Доработка сессий
This commit is contained in:
@@ -196,7 +196,7 @@ class Account extends BaseEntity {
|
||||
];
|
||||
}
|
||||
|
||||
// Удаление всех сессий пользователя (logout)
|
||||
// Удаление только текущей сессии (logout)
|
||||
public function logout($keycookies) {
|
||||
// Проверяем, что сессия не пустая
|
||||
if (!$keycookies) {
|
||||
@@ -204,6 +204,28 @@ class Account extends BaseEntity {
|
||||
return $this->getErrors();
|
||||
}
|
||||
|
||||
// Удаляем только текущую сессию
|
||||
Database::delete($this->db_name_session, [
|
||||
'keycookies' => $keycookies
|
||||
]);
|
||||
|
||||
// Удаляем cookie
|
||||
setcookie('session', '', [
|
||||
'expires' => time() - 3600,
|
||||
'path' => '/'
|
||||
]);
|
||||
|
||||
return ['success' => true];
|
||||
}
|
||||
|
||||
// Удаление всех сессий пользователя (logout со всех устройств)
|
||||
public function logout_all($keycookies) {
|
||||
// Проверяем, что сессия не пустая
|
||||
if (!$keycookies) {
|
||||
$this->addError('session', 'Сессия не указана');
|
||||
return $this->getErrors();
|
||||
}
|
||||
|
||||
// Получаем сессию чтобы узнать id пользователя
|
||||
$session = Database::get($this->db_name_session, ['id_accounts'], [
|
||||
'keycookies' => $keycookies
|
||||
|
||||
Reference in New Issue
Block a user