From 0d1dd7c80c5ab8a3879294e6e6bb4c20f7054241 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 05 Sep 2007 15:50:05 -0400
Subject: [PATCH] Fix message list selection + new pngbehavior + use strpos() instead of strstr()

---
 program/include/main.inc |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index ccbc579..ae00752 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -532,7 +532,6 @@
   {
   global $CONFIG, $IMAP, $DB, $sess_user_lang;
   $user_id = NULL;
-  $user    = strtolower($user); // fix case: #1484473
   
   if (!$host)
     $host = $CONFIG['default_host'];
@@ -573,7 +572,7 @@
      Inspired by Marco <P0L0_notspam_binware.org>
   */
   // Check if we need to add domain
-  if (!empty($CONFIG['username_domain']) && !strstr($user, '@'))
+  if (!empty($CONFIG['username_domain']) && !strpos($user, '@'))
     {
     if (is_array($CONFIG['username_domain']) && isset($CONFIG['username_domain'][$host]))
       $user .= '@'.$CONFIG['username_domain'][$host];
@@ -581,6 +580,9 @@
       $user .= '@'.$CONFIG['username_domain'];
     }
 
+  // lowercase username if it's an e-mail address (#1484473)
+  if (strpos($user, '@'))
+    $user = strtolower($user);
 
   // query if user already registered
   $sql_result = $DB->query("SELECT user_id, username, language, preferences
@@ -598,7 +600,7 @@
     }
 
   // try to resolve email address from virtuser table    
-  if (!empty($CONFIG['virtuser_file']) && strstr($user, '@'))
+  if (!empty($CONFIG['virtuser_file']) && strpos($user, '@'))
     $user = rcmail_email2user($user);
 
 
@@ -671,7 +673,7 @@
   $user_email = '';
 
   // try to resolve user in virtusertable
-  if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')==FALSE)
+  if (!empty($CONFIG['virtuser_file']) && !strpos($user, '@'))
     $user_email = rcmail_user2email($user);
 
   $DB->query("INSERT INTO ".get_table_name('users')."
@@ -687,7 +689,7 @@
     $mail_domain = rcmail_mail_domain($host);
    
     if ($user_email=='')
-      $user_email = strstr($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain);
+      $user_email = strpos($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain);
 
     $user_name = $user!=$user_email ? $user : '';
 

--
Gitblit v1.9.1