57 lines
1.2 KiB
PHP
57 lines
1.2 KiB
PHP
<?php
|
|
require_once(realpath(dirname(__FILE__) . "/../../../bootstrap.php"));
|
|
|
|
use Backend\Models\Group;
|
|
use Backend\Models\Password;
|
|
|
|
session_start();
|
|
|
|
|
|
/**
|
|
* @param string $token
|
|
* @return Group|null ;
|
|
*/
|
|
|
|
function groupViaToken(string $token): ?Group
|
|
{
|
|
|
|
if ($password = Password::firstWhere('remember_token', $token)) {
|
|
return Group::find($password->group_id);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
function isLogin(): bool
|
|
{
|
|
return isset($_SESSION["token"]);
|
|
}
|
|
|
|
/**
|
|
* @param string $password1
|
|
* @return bool
|
|
*/
|
|
function passwordValidate(string $password1): bool
|
|
{
|
|
$uppercase = preg_match('@[A-Z]@', $password1);
|
|
$lowercase = preg_match('@[a-z]@', $password1);
|
|
$number = preg_match('@[0-9]@', $password1);
|
|
$specialChars = preg_match('@[^\w]@', $password1);
|
|
|
|
if (!$uppercase || !$lowercase || !$number || !$specialChars || (strlen($password1) >= 8 && strlen($password1) <= 255)) {
|
|
return true;
|
|
} else return false;
|
|
}
|
|
|
|
function makeLogin(string $groupName, int $groupId)
|
|
{
|
|
$cookieCon = array(
|
|
'expires' => 0,
|
|
'samesite' => 'Strict',
|
|
'path' => '/'
|
|
);
|
|
setcookie("groupName", $groupName, $cookieCon);
|
|
setcookie("groupId", $groupId, $cookieCon);
|
|
} |