alecpl
2008-08-20 6f488bb55f08d64bbdd5255079a24501e55e6851
program/include/rcube_user.php
@@ -326,16 +326,18 @@
  {
    $dbh = rcmail::get_instance()->get_dbh();
    
    // query if user already registered
    $sql_result = $dbh->query(
      "SELECT * FROM ".get_table_name('users')."
       WHERE  mail_host=? AND (username=? OR alias=?)",
      $host,
      $user,
      $user);
    // query for matching user name
    $query = "SELECT * FROM ".get_table_name('users')." WHERE mail_host=? AND %s=?";
    $sql_result = $dbh->query(sprintf($query, 'username'), $host, $user);
    // query for matching alias
    if (!($sql_arr = $dbh->fetch_assoc($sql_result))) {
      $sql_result = $dbh->query(sprintf($query, 'alias'), $host, $user);
      $sql_arr = $dbh->fetch_assoc($sql_result);
    }
    // user already registered -> overwrite username
    if ($sql_arr = $dbh->fetch_assoc($sql_result))
    if ($sql_arr)
      return new rcube_user($sql_arr['user_id'], $sql_arr);
    else
      return false;
@@ -428,7 +430,7 @@
  static function email2user($email)
  {
    $user = $email;
    $r = self::findinvirtual("^$email\s");
    $r = self::findinvirtual('^' . quotemeta($email) . '[[:space:]]');
    for ($i=0; $i<count($r); $i++)
    {
@@ -453,8 +455,8 @@
   */
  static function user2email($user)
  {
    $email = "";
    $r = self::findinvirtual("\s$user\s*$");
    $email = '';
    $r = self::findinvirtual('[[:space:]]' . quotemeta($user) . '[[:space:]]*$');
    for ($i=0; $i<count($r); $i++)
    {