public static function remove() { if (!empty($_COOKIE['resume'])) { DB::getInstance(Users::getDB())->query("DELETE FROM `user_session` WHERE `session`=?", [$_COOKIE['resume']]); Cookies::getInstance()->remove('resume'); } }
public function setField($name, $value) { DB::getInstance(Users::getDB())->query('REPLACE INTO `user_field` SET `user`=:user,`name`=:name,`value`=:value', ['user' => $this->getId(), 'name' => $name, 'value' => $value]); }
/** * Flag password change code as used * @param string $key * @throws UsersException */ public static function setUsed($key) { if (!$key) { throw new UsersException(self::RECOVER_INVALID); } DB::getInstance(Users::getDB())->query('UPDATE `user_recover` SET `used`=1 WHERE `recover`=?', [(string) $key]); }
/** * Activate user * @param $key * @return bool * @throws Exception */ public static function activate($key) { $key = trim((string) $key); if (!$key) { throw new UsersException(self::ACTIVATE_NOTFOUND); } $db = DB::getInstance(Users::getDB()); $data = $db->fetchRow('SELECT * FROM `user` WHERE `activation`=? LIMIT 1', [(string) $key]); if (empty($data)) { throw new UsersException(self::ACTIVATE_NOTFOUND); } if ($data['active']) { throw new UsersException(self::ACTIVATE_USED); } // if ($data['registered'] < date('Y-m-d H:i:s', time() - Users::ACTIVATE_TTL)) { // throw new UsersException(self::ACTIVATE_TIMEOUT); // } $db->query("UPDATE `user` SET `active`='1',`activation`=NULL WHERE `activation`=?", [$key]); if (Config::getInstance()->getValue('auth', 'login_on_activate')) { $user = User::getById($data['id']); $user->login(); } return true; }
/** * After success actions * @param $redirect */ protected function afterSuccess($redirect = false) { if ($redirect) { Cookies::getInstance()->notify(Locales::get('auth/register/complete-' . Users::getActivationMethod())); View::redirect('/'); } else { Ajaxer::notify(Locales::get('auth/register/complete-' . Users::getActivationMethod())); Ajaxer::close(); } }