Hello list,<br>
<br>
Here is a fast solution to avoid writing of "@domain" after username when your server hosted virtual domains.<br>
<br>
With this patch is enought to write only "john" in login form instead of "<a href="mailto:john@virtualdomain.test">john@virtualdomaintest</a>"<br>
If $rcmail_config['add_domain2username']  is true RoundCube will
strip domain name from web addresses like:
<a href="http://webmail.virtualdomain.test/">http://webmail.virtualdomaintest/</a> or
<a href="http://www.virtualdomain.test/RoundCube/">http://www.virtualdomain.test/RoundCube/</a> and add it  to username.<br>
<br>
Changes in config/main.inc.php:<br>
===================================================================<br>
// If this is true will use hostname to get domain name<br>
$rcmail_config['add_domain2username'] = true;<br>
<br>
Changes in program/include/main.inc<br>
<br>
--- start diff ---<br>
Index: program/include/main.inc<br>
===================================================================<br>
RCS file: /cvsroot/roundcubemail/roundcubemail/program/include/main.inc,v<br>
retrieving revision 1.48<br>
diff -u -p -r1.48 main.inc<br>
--- program/include/main.inc    23 Mar 2006 22:32:32 -0000      1.48<br>
+++ program/include/main.inc    11 May 2006 14:51:57 -0000<br>
@@ -366,6 +366,19 @@ function rcmail_set_locale($lang)<br>
   $OUTPUT->set_charset(rcube_language_prop($lang, 'charset'));<br>
   }<br>
<br>
+function  parse_domain($url) {<br>
+  $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)';<br>
+  // Followed by one or max 63 domain characters (dot separated).<br>
+  // Must be followed by one set consisting a period of two<br>
+  $regex = '^(' . $domain . '\.)+((' . $domain . '{1,63}\.)'.<br>
+    $domain . '{2,63}'.<br>
+    ')$';<br>
+  if (ereg( $regex, strtolower($url), $regs)) {<br>
+    return $regs[4];<br>
+  }<br>
+  return false;<br>
+}<br>
+<br>
<br>
 // perfom login to the IMAP server and to the webmail service<br>
 function rcmail_login($user, $pass, $host=NULL)<br>
@@ -376,6 +389,14 @@ function rcmail_login($user, $pass, $hos<br>
   if (!$host)<br>
     $host = $CONFIG['default_host'];<br>
<br>
+  // parse username for syntax like username@domain<br>
+  $have_at = explode("@", $user);<br>
+  if ($CONFIG['add_domain2username'] && sizeof($have_at) == 1) {<br>
+    if ($domain = parse_domain($_SERVER[HTTP_HOST])) {<br>
+      $user = $user . '@' . $domain; // add domain from hostname<br>
+    }<br>
+  }<br>
+<br>
   // parse $host URL<br>
   $a_host = parse_url($host);<br>
   if ($a_host['host'])<br>
@@ -1586,13 +1607,18 @@ function rcmail_login_form($attrib)<br>
 EOF;<br>
<br>
   $OUTPUT->add_script("$JS_OBJECT_NAME.gui_object('loginform', '$form_name');");<br>
-<br>
+  $domain = strtoupper (parse_domain($_SERVER[HTTP_HOST])) ;<br>
   $out = <<<EOF<br>
 $form_start<br>
 $SESS_HIDDEN_FIELD<br>
 $fields[action]<br>
 <table><tr><br>
<br>
+<td class="title">Domain</td><br>
+<td class="title">$domain</td><br>
+<br>
+</tr><tr><br>
+<br>
 <td class="title">$labels[user]</td><br>
 <td>$fields[user]</td><br>
<br>
--- end of diff<br>
<br>
<br>
-- <br>There are no answers, only cross references