From e901f948f25db35a2639130a4d95df34dba58db2 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Tue, 21 Nov 2006 07:34:28 -0500
Subject: [PATCH] Updated Russian localization

---
 program/include/main.inc |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index b2e83b7..da449c6 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -550,21 +550,28 @@
     $user_name = $user!=$user_email ? $user : '';
 
     // try to resolve the e-mail address from the virtuser table
-	if (!empty($CONFIG['virtuser_query']))
-	  {
-      $sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query']));
-      if ($sql_arr = $DB->fetch_array($sql_result))
-        $user_email = $sql_arr[0];
+	if (!empty($CONFIG['virtuser_query']) &&
+        ($sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query']))) &&
+        ($DB->num_rows()>0))
+      while ($sql_arr = $DB->fetch_array($sql_result))
+        {
+        $DB->query("INSERT INTO ".get_table_name('identities')."
+                   (user_id, del, standard, name, email)
+                   VALUES (?, 0, 1, ?, ?)",
+                   $user_id,
+                   $user_name,
+                   preg_replace('/^@/', $user . '@', $sql_arr[0]));
+        }
+    else
+      {
+      // also create new identity records
+      $DB->query("INSERT INTO ".get_table_name('identities')."
+                  (user_id, del, standard, name, email)
+                  VALUES (?, 0, 1, ?, ?)",
+                  $user_id,
+                  $user_name,
+                  $user_email);
       }
-
-    // also create new identity records
-    $DB->query("INSERT INTO ".get_table_name('identities')."
-                (user_id, del, standard, name, email)
-                VALUES (?, 0, 1, ?, ?)",
-                $user_id,
-                $user_name,
-                $user_email);
-
                        
     // get existing mailboxes
     $a_mailboxes = $IMAP->list_mailboxes();
@@ -958,8 +965,9 @@
       }
     else if ($mode=='remove')
       $str = strip_tags($str);
-      
-    $out = strtr($str, $encode_arr);
+    
+    // avoid douple quotation of &
+    $out = preg_replace('/&amp;([a-z]{2,5});/', '&\\1;', strtr($str, $encode_arr));
       
     return $newlines ? nl2br($out) : $out;
     }

--
Gitblit v1.9.1