From f5121b5639992fc9e51fd551bac2254429b638fa Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sat, 04 Mar 2006 08:43:25 -0500
Subject: [PATCH] Updated localizations

---
 program/include/main.inc |   68 +++++++++++++++++++++++++++------
 1 files changed, 55 insertions(+), 13 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 628866f..515de03 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -24,6 +24,12 @@
 require_once('lib/utf8.class.php');
 
 
+// define constannts for input reading
+define('RCUBE_INPUT_GET', 0x0101);
+define('RCUBE_INPUT_POST', 0x0102);
+define('RCUBE_INPUT_GPC', 0x0103);
+
+
 // register session and connect to server
 function rcmail_startup($task='mail')
   {
@@ -79,7 +85,6 @@
   session_start();
   $sess_id = session_id();
   
-    $_SESSION['user_lang'] = rcube_language_prop($CONFIG['locale_string']);
   // create session and set session vars
   if (!$_SESSION['client_id'])
     {
@@ -377,6 +382,8 @@
     $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? TRUE : FALSE;
     $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : $CONFIG['default_port']);
     }
+  else
+    $imap_port = $CONFIG['default_port'];
 
   // query if user already registered
   $sql_result = $DB->query("SELECT user_id, username, language, preferences
@@ -471,10 +478,10 @@
 
   if ($user_id = $DB->insert_id(get_sequence_name('users')))
     {
-    if (is_string($CONFIG['mail_domain']))
-      $mail_domain = $CONFIG['mail_domain'];
-    else if (is_array($CONFIG['mail_domain']) && isset($CONFIG['mail_domain'][$host]))
+    if (is_array($CONFIG['mail_domain']) && isset($CONFIG['mail_domain'][$host]))
       $mail_domain = $CONFIG['mail_domain'][$host];
+    else if (!empty($CONFIG['mail_domain']))
+      $mail_domain = $CONFIG['mail_domain'];
     else
       $mail_domain = $host;
    
@@ -502,14 +509,6 @@
                        
     // get existing mailboxes
     $a_mailboxes = $IMAP->list_mailboxes();
-    
-    // check if the configured mailbox for sent messages exists
-    if ($CONFIG['sent_mbox'] && !in_array_nocase($CONFIG['sent_mbox'], $a_mailboxes))
-      $IMAP->create_mailbox($CONFIG['sent_mbox'], TRUE);
-
-    // check if the configured mailbox for sent messages exists
-    if ($CONFIG['trash_mbox'] && !in_array_nocase($CONFIG['trash_mbox'], $a_mailboxes))
-      $IMAP->create_mailbox($CONFIG['trash_mbox'], TRUE);
     }
   else
     {
@@ -904,6 +903,49 @@
   // no encoding given -> return original string
   return $str;
   }
+
+
+/**
+ * Read input value and convert it for internal use
+ * Performs stripslashes() and charset conversion if necessary
+ * 
+ * @param  string   Field name to read
+ * @param  int      Source to get value from (GPC)
+ * @param  boolean  Allow HTML tags in field value
+ * @param  string   Charset to convert into
+ * @return string   Field value or NULL if not available
+ */
+function get_input_value($fname, $source, $allow_html=FALSE, $charset=NULL)
+  {
+  global $OUTPUT;
+  $value = NULL;
+  
+  if ($source==RCUBE_INPUT_GET && isset($_GET[$fname]))
+    $value = $_GET[$fname];
+  else if ($source==RCUBE_INPUT_POST && isset($_POST[$fname]))
+    $value = $_POST[$fname];
+  else if ($source==RCUBE_INPUT_GPC)
+    {
+    if (isset($_GET[$fname]))
+      $value = $_GET[$fname];
+    else if (isset($_POST[$fname]))
+      $value = $_POST[$fname];
+    else if (isset($_COOKIE[$fname]))
+      $value = $_COOKIE[$fname];
+    }
+  
+  // strip slashes if magic_quotes enabled
+  if ((bool)get_magic_quotes_gpc())
+    $value = stripslashes($value);
+
+  // remove HTML tags if not allowed    
+  if (!$allow_html)
+    $value = strip_tags($value);
+  
+  // convert to internal charset
+  return rcube_charset_convert($value, $OUTPUT->get_charset(), $charset);
+  }
+
 
 
 
@@ -1491,7 +1533,7 @@
   $input_action = new hiddenfield(array('name' => '_action', 'value' => 'login'));
     
   $fields = array();
-  $fields['user'] = $input_user->show($_POST['_user']);
+  $fields['user'] = $input_user->show(get_input_value('_user', RCUBE_INPUT_POST));
   $fields['pass'] = $input_pass->show();
   $fields['action'] = $input_action->show();
   

--
Gitblit v1.9.1