| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | |
| | | // 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', |
| | |
| | | // 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']); |