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 |   64 ++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 24 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 02f5b57..da449c6 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -365,7 +365,7 @@
   
   // add common javascripts
   $javascript = "var $JS_OBJECT_NAME = new rcube_webmail();\n";
-  $javascript .= "$JS_OBJECT_NAME.set_env('comm_path', '$COMM_PATH');\n";
+  $javascript .= sprintf("%s.set_env('comm_path', '%s');\n", $JS_OBJECT_NAME, str_replace('&amp;', '&', $COMM_PATH));
 
   if (isset($CONFIG['javascript_config'] )){
     foreach ($CONFIG['javascript_config'] as $js_config_var){
@@ -375,7 +375,7 @@
 
   // don't wait for page onload. Call init at the bottom of the page (delayed)
   $javascript_foot = "if (window.call_init)\n call_init('$JS_OBJECT_NAME');";
-  
+
   if (!empty($GLOBALS['_framed']))
     $javascript .= "$JS_OBJECT_NAME.set_env('framed', true);\n";
     
@@ -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();
@@ -893,7 +900,7 @@
 
   // convert string to UTF-8
   if ($from=='UTF-7')
-    $str = rcube_charset_convert(UTF7DecodeString($str), 'ISO-8859-1');
+    $str = utf7_to_utf8($str);
   else if (($from=='ISO-8859-1') && function_exists('utf8_encode'))
     $str = utf8_encode($str);
   else if ($from!='UTF-8')
@@ -904,7 +911,7 @@
 
   // encode string for output
   if ($to=='UTF-7')
-    return UTF7EncodeString(rcube_charset_convert($str, 'UTF-8', 'ISO-8859-1'));
+    return utf8_to_utf7($str);
   else if ($to=='ISO-8859-1' && function_exists('utf8_decode'))
     return utf8_decode($str);
   else if ($to!='UTF-8')
@@ -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;
     }
@@ -1197,6 +1205,7 @@
         'composeattachment' => 'rcmail_compose_attachment_field',
         'priorityselector' => 'rcmail_priority_selector',
         'charsetselector' => 'rcmail_charset_selector',
+        'editorselector' => 'rcmail_editor_selector',
         'searchform' => 'rcmail_search_form',
         'receiptcheckbox' => 'rcmail_receipt_checkbox',
         
@@ -1279,8 +1288,7 @@
   if ($attrib['type'])
     $attrib['type'] = strtolower($attrib['type']);
   else
-    $attrib['type'] = ($attrib['image'] || $attrib['imagepas'] || $arg['imageact']) ? 'image' : 'link';
-  
+    $attrib['type'] = ($attrib['image'] || $attrib['imagepas'] || $attrib['imageact']) ? 'image' : 'link';
   
   $command = $attrib['command'];
   
@@ -1289,7 +1297,7 @@
     $attrib = $sa_buttons[$attrib['name']];
 
   // add button to button stack
-  else if($attrib['image'] || $arg['imageact'] || $attrib['imagepas'] || $attrib['class'])
+  else if($attrib['image'] || $attrib['imageact'] || $attrib['imagepas'] || $attrib['class'])
     {
     if(!$attrib['name'])
       $attrib['name'] = $command;
@@ -1487,7 +1495,15 @@
   }
 
 
-
+/**
+ * Create an edit field for inclusion on a form
+ * 
+ * @param string col field name
+ * @param string value field value
+ * @param array attrib HTML element attributes for field
+ * @param string type HTML element type (default 'text')
+ * @return string HTML field definition
+ */
 function rcmail_get_edit_field($col, $value, $attrib, $type='text')
   {
   $fname = '_'.$col;

--
Gitblit v1.9.1