alecpl
2010-04-01 7fdb9da98e080ad623e3099c05eab17041013cab
program/include/rcube_user.php
@@ -111,19 +111,22 @@
      if (!isset($old_prefs[$key]) && ($value == $config->get($key)))
        unset($save_prefs[$key]);
    }
    $save_prefs = serialize($save_prefs);
    $this->db->query(
      "UPDATE ".get_table_name('users')."
       SET    preferences=?,
              language=?
       WHERE  user_id=?",
      serialize($save_prefs),
      $save_prefs,
      $_SESSION['language'],
      $this->ID);
    $this->language = $_SESSION['language'];
    if ($this->db->affected_rows()) {
      $config->set_user_prefs($a_user_prefs);
      $this->data['preferences'] = $save_prefs;
      return true;
    }
@@ -359,7 +362,7 @@
    // try to resolve user in virtuser table and file
    if ($email_list = self::user2email($user, false, true)) {
      $user_email = is_array($email_list[0]) ? $email_list[0][0] : $email_list[0];
      $user_email = is_array($email_list[0]) ? $email_list[0]['email'] : $email_list[0];
    }
    $data = $rcmail->plugins->exec_hook('create_user',
@@ -407,24 +410,23 @@
      // create new identities records
      $standard = 1;
      foreach ($email_list as $row) {
   $record = array();
        if (is_array($row)) {
          $email = $row[0];
          $name = $row[1] ? $row[1] : $user_name;
     $record = $row;
        }
        else {
          $email = $row;
          $name = $user_name;
          $record['email'] = $row;
        }
        $plugin = $rcmail->plugins->exec_hook('create_identity', array(
          'login' => true,
          'record' => array(
            'user_id' => $user_id,
            'name' => strip_newlines($name),
            'email' => $email,
            'standard' => $standard,
          ),
        ));
   if (empty($record['name']))
     $record['name'] = $user_name;
        $record['name'] = strip_newlines($record['name']);
        $record['user_id'] = $user_id;
        $record['standard'] = $standard;
        $plugin = $rcmail->plugins->exec_hook('create_identity',
     array('login' => true, 'record' => $record));
          
        if (!$plugin['abort'] && $plugin['record']['email']) {
          $rcmail->user->insert_identity($plugin['record']);