Files
Admin Nasledstvo ac168868ee Initial import
2026-05-01 20:52:04 +03:00

58 lines
1.4 KiB
PHP

<?php
namespace app\services;
use app\models\UserPublic;
class Auth
{
/**
* @return \app\models\UserPublic|null
*/
public static function getUser()
{
if (isset($_SESSION['public_user']))
return UserPublic::find()->where(['email' => $_SESSION['public_user']])->one();
return null;
}
public static function checkUserExists($user)
{
$exists = UserPublic::find()->where(['email' => $user])->one();
if (!$exists) {
header('Location: ' . \Yii::$app->params['portal']);
exit;
}
}
public static function setUser($username = null)
{
if ($username) {
$_SESSION['public_user'] = $username;
} else {
if (!empty($_SESSION['public_user'])) {
unset($_SESSION['public_user']);
}
}
}
public static function getUserByToken($get_token = null)
{
if ($get_token) {
$token = $get_token;
} else {
$headers = getallheaders();
$token = !empty($headers['Auth']) && $headers['Auth'] != 'undefined' ? $headers['Auth'] : null;
}
if ($token) {
$decode = JWT::decode($token, JWT::SECRET_KEY);
if ($decode->id) {
return UserPublic::findOne($decode->id);
}
}
return null;
}
}