thomascube
2009-05-14 f879f4e2f8c81f67b0a0c471c94ebed686939c49
program/include/rcube_user.php
@@ -353,6 +353,10 @@
    $data = $rcmail->plugins->exec_hook('create_user', array('user'=>$user, 'user_name'=>$user_name, 'user_email'=>$user_email));
    $user_name = $data['user_name'];
    $user_email = $data['user_email'];
    // plugin aborted this operation
    if ($data['abort'])
      return false;
    $dbh = $rcmail->get_dbh();
@@ -392,14 +396,23 @@
      // create new identities records
      $standard = 1;
      foreach ($email_list as $email) {
        $dbh->query(
            "INSERT INTO ".get_table_name('identities')."
              (user_id, del, standard, name, email)
             VALUES (?, 0, ?, ?, ?)",
            $user_id,
            $standard,
            strip_newlines($user_name),
            preg_replace('/^@/', $user . '@', $email));
        $plugin = $RCMAIL->plugins->exec_hook('create_identity', array('record' => array(
          'login' => true,
          'user_id' => $user_id,
          'name' => strip_newlines($user_name),
          'email' => $email,
          'standard' => $standard)));
        if (!$plugin['abort'] && $plugin['record']['name'] && $plugin['record']['email']) {
          $dbh->query(
              "INSERT INTO ".get_table_name('identities')."
                (user_id, del, standard, name, email)
               VALUES (?, 0, ?, ?, ?)",
              $user_id,
              $plugin['record']['standard'],
              $plugin['record']['name'],
              $plugin['record']['email']);
        }
        $standard = 0;
      }
    }
@@ -425,7 +438,7 @@
   */
  static function email2user($email)
  {
    $r = self::findinvirtual('^' . quotemeta($email) . '[[:space:]]');
    $r = self::findinvirtual('/^' . preg_quote($email, '/') . '\s/');
    for ($i=0; $i<count($r); $i++)
    {
@@ -463,7 +476,7 @@
        }
    }
    // File lookup
    $r = self::findinvirtual('[[:space:]]' . quotemeta($user) . '[[:space:]]*$');
    $r = self::findinvirtual('/\s' . preg_quote($user, '/') . '\s*$/');
    for ($i=0; $i<count($r); $i++)
    {
      $data = $r[$i];
@@ -505,7 +518,7 @@
      if (empty($line) || $line{0}=='#')
        continue;
        
      if (eregi($pattern, $line))
      if (preg_match($pattern, $line))
        $result[] = $line;
    }