示例#1
0
 private function _setUserDataUpdate()
 {
     global $locale;
     $user_info = array();
     $quantum = new QuantumFields();
     $quantum->setCategoryDb(DB_USER_FIELD_CATS);
     $quantum->setFieldDb(DB_USER_FIELDS);
     $quantum->setPluginFolder(INCLUDES . "user_fields/");
     $quantum->setPluginLocaleFolder(LOCALE . LOCALESET . "user_fields/");
     $quantum->set_Fields();
     $quantum->load_field_cats();
     $quantum->setCallbackData($this->data);
     $fields_input = $quantum->return_fields_input(DB_USERS, 'user_id');
     $user_info += $this->_setEmptyFields();
     if (!empty($fields_input)) {
         foreach ($fields_input as $table_name => $fields_array) {
             $user_info += $fields_array;
         }
     }
     if (\defender::safe()) {
         if ($this->_userName != $this->userData['user_name']) {
             save_user_log($this->userData['user_id'], "user_name", $this->_userName, $this->userData['user_name']);
         }
         if ($this->_userEmail != $this->userData['user_email']) {
             save_user_log($this->userData['user_id'], "user_email", $this->_userEmail, $this->userData['user_email']);
         }
     }
     $quantum->log_user_action(DB_USERS, "user_id");
     // @todo: now that updates doesn't override unspecified column, i think can remove this line. confirm later.
     if (iADMIN) {
         $user_info['user_admin_algo'] = $this->data['user_admin_algo'];
         $user_info['user_admin_salt'] = $this->data['user_admin_salt'];
         $user_info['user_admin_password'] = $this->data['user_admin_password'];
     }
     dbquery_insert(DB_USERS, $user_info, 'update');
     $this->_completeMessage = $locale['u163'];
 }