function upgrade15_usernameupdate() { global $db, $output, $mybb; $output->print_header("Performing Queries"); echo "<p>Performing username updates..</p>"; flush(); require_once MYBB_ROOT . "inc/datahandler.php"; require_once MYBB_ROOT . "inc/datahandlers/user.php"; $not_renameable = array(); // Because commas can cause some problems with private message sending in usernames we have to remove them $query = $db->simple_select("users", "uid, username", "username LIKE '%,%'"); while ($user = $db->fetch_array($query)) { $userhandler = new UserDataHandler('update'); $updated_user = array("uid" => $user['uid'], "username" => str_replace(',', '', $user['username'])); $userhandler->set_data($updated_user); if (!$userhandler->validate_user()) { $not_renameable[] = htmlspecialchars_uni($user['username']); } else { $userhandler->update_user(); } } if (!empty($not_renameable)) { echo "<span style=\"color: red;\">NOTICE:</span> The following users could not be renamed automatically. Please rename these users in the Admin CP manually after the upgrade process has finished completing:<br />\n\t\t<ul>\n\t\t<li>"; echo implode('</li>\\n<li>', $not_renameable); echo "</li>\n\t\t</ul>"; } $contents .= "Click next to continue with the upgrade process.</p>"; $output->print_contents($contents); $output->print_footer("15_done"); }
// New suspension for this user... bad user! $extra_user_updates[$option['update_field']] = 1; if ($suspend_length == "-1") { $extra_user_updates[$option['update_length']] = 0; } else { $extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length; } } } } } if ($extra_user_updates['moderateposts'] && $extra_user_updates['suspendposting']) { $errors[] = $lang->suspendmoderate_error; } if (!$errors) { $user_info = $userhandler->update_user(); $db->update_query("users", $extra_user_updates, "uid='{$user['uid']}'"); // if we're updating the user's signature preferences, do so now if ($mybb->input['update_posts'] == 'enable' || $mybb->input['update_posts'] == 'disable') { $update_signature = array('includesig' => $mybb->input['update_posts'] == 'enable' ? 1 : 0); $db->update_query("posts", $update_signature, "uid='{$user['uid']}'"); } $plugins->run_hooks("admin_user_users_edit_commit"); // Log admin action log_admin_action($user['uid'], $mybb->input['username']); flash_message($lang->success_user_updated, 'success'); admin_redirect("index.php?module=user-users"); } } } if (!$errors) {
} } } if (count($errors) > 0) { error($errors[0]); } } if ($mybb->input['action'] == "do_password" && $mybb->request_method == "post") { $errors = array(); $plugins->run_hooks("usercp_do_password_start"); if (!$verify_result && !validate_password_from_uid($mybb->user['uid'], $mybb->input['oldpassword'])) { $errors[] = $lang->error_invalidpassword; } else { // Set up user handler. require_once "inc/datahandlers/user.php"; $userhandler = new UserDataHandler("update"); $user = array("uid" => $mybb->user['uid'], "password" => $mybb->input['password'], "password2" => $mybb->input['password2']); $userhandler->set_data($user); if (!$userhandler->validate_user()) { $errors = $userhandler->get_friendly_errors(); } else { $userhandler->update_user(); my_setcookie("mybbuser", $mybb->user['uid'] . "_" . $userhandler->data['loginkey']); $plugins->run_hooks("usercp_do_password_end"); $verify_result = true; } } if (count($errors) > 0) { error($errors[0]); } }
/** * Updates userdata * * @param array $userdata Data of the User (uid is required as index) * @param boolean Return errors as MyBB array or nicely formated? * @return boolean|array */ function updateUser($userdata = array(), $inline_error = true) { // Userdata Array needs to contain the UserID if (!isset($userdata['uid'])) { $this->_errorAndDie('A UserID (Array-Key: <i>uid</i>) is required to update a user'); } require_once MYBB_ROOT . 'inc/functions_user.php'; require_once MYBB_ROOT . 'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('update'); $userhandler->set_data($userdata); if (!$userhandler->validate_user()) { $errors = $userhandler->get_friendly_errors(); return $inline_error === true ? inline_error($errors) : $errors; } $userhandler->update_user(); return true; }