示例#1
0
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");
}
示例#2
0
文件: users.php 项目: GeorgeLVP/mybb
                         // 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) {
示例#3
0
            }
        }
    }
    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]);
    }
}
示例#4
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;
 }