/** * Снимает бан с пользователя. * * @param int $uid UID пользователя. * @param int $ban_where какой бан снимаем: 0 - на всем сайте, 1 - в блогах. * * @return string сообщение об ошибке или пестая строка. */ public function unsetUserBan($uid, $ban_where) { $user = new self(); if ($ban_where) { // в блогах $GLOBALS['DB']->query('UPDATE users_ban SET "to" = NULL WHERE uid = ?i AND "where" = ?i', $uid, $ban_where); $sError = $GLOBALS['DB']->error; if (!$sError) { $user->ban_where = 0; $sError = $user->Update($uid, $res); } } else { // на всем сайте $user->is_banned = 0; $user->self_deleted = 'FALSE'; // флаг АККАУНТ УДАЛЕН САМОСТОЯТЕЛЬНО $sError = $user->Update($uid, $res); if (!$sError) { self::approveSuspiciousUser($uid); } } $memBuff = new memBuff(); $memBuff->touchTag('msgsCnt'); // восстанавливаем данные о разблокированном пользователе в сессию его антиюзера /*require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/session_Memcached.php"); $user->GetUserByUID($uid); $antiUid = $user->anti_uid; $antiUser = new users; $antiUser->GetUserByUID($antiUid); $session = new session; $session->UpdateAntiuser($antiUser->login, $user);*/ return $sError; }
/** * Login a user * @param string $username Username of user to login * @param string $password Password of user to login * @return boolean User is logged in, returns true if login succeeded, false otherwise */ static function Login($username, $password) { $id = self::Exist(array('username' => $username, 'password' => md5($password), 'status' => 'active')); if ($id) { $_SESSION['user_id'] = $id; $user = new self($id); $user->Update(array('last_login' => date('Y-m-d H:i:s'))); Plugin::Trigger('user.login'); return true; } else { return false; } }