Game-Jaming/Backend/Controllers/Group/Group.php

57 lines
1.2 KiB
PHP
Raw Normal View History

2021-03-09 12:29:49 +00:00
<?php
2021-04-19 07:15:15 +00:00
require_once(realpath(dirname(__FILE__) . "/../../../bootstrap.php"));
2021-03-09 12:29:49 +00:00
use Backend\Models\Group;
use Backend\Models\Password;
2021-04-19 07:15:15 +00:00
2021-03-11 12:21:16 +00:00
session_start();
2021-03-09 12:29:49 +00:00
2021-03-25 09:28:56 +00:00
2021-03-09 12:29:49 +00:00
/**
* @param string $token
* @return Group|null ;
2021-03-09 12:29:49 +00:00
*/
function groupViaToken(string $token): ?Group
{
2021-03-09 12:29:49 +00:00
2021-04-19 07:15:15 +00:00
if ($password = Password::firstWhere('remember_token', $token)) {
2021-03-09 13:43:39 +00:00
return Group::find($password->group_id);
}
return null;
}
/**
* @return bool
*/
2021-03-12 10:10:14 +00:00
function isLogin(): bool
{
2021-03-09 13:43:39 +00:00
return isset($_SESSION["token"]);
}
/**
* @param string $password1
* @return bool
*/
2021-03-12 10:10:14 +00:00
function passwordValidate(string $password1): bool
{
2021-04-19 07:15:15 +00:00
$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)
{
2021-03-25 09:28:56 +00:00
$cookieCon = array(
'expires' => 0,
'samesite' => 'Strict',
'path' => '/'
);
setcookie("groupName", $groupName, $cookieCon);
setcookie("groupId", $groupId, $cookieCon);
2021-03-09 12:29:49 +00:00
}