<?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);
}