proxitok/app/Helpers/Cookies.php

41 lines
1.1 KiB
PHP
Raw Permalink Normal View History

<?php
2022-01-30 23:02:52 +00:00
namespace App\Helpers;
2022-09-25 17:53:00 +00:00
use App\Constants\Themes;
2022-09-25 17:53:00 +00:00
class Cookies {
2023-04-27 18:23:23 +00:00
public static function get(string $name, string $default_value = ''): string {
if (isset($_COOKIE[$name]) && !empty($_COOKIE[$name])) {
return $_COOKIE[$name];
}
return $default_value;
}
2023-04-27 18:23:23 +00:00
public static function theme(): string {
$theme = self::get('theme');
2022-09-25 17:53:00 +00:00
$ref = new \ReflectionClass(Themes::class);
$themes = $ref->getConstants();
if ($theme && in_array($theme, $themes)) {
return $theme;
}
return 'default';
}
2023-04-27 18:23:23 +00:00
public static function downloader(): string {
2022-09-25 17:53:00 +00:00
$downloader = self::get('api-downloader', 'default');
return $downloader;
}
2023-04-27 18:23:23 +00:00
public static function exists(string $name): bool {
return isset($_COOKIE[$name]);
}
2023-04-27 18:23:23 +00:00
public static function check(string $name, string $value): bool {
2022-06-28 18:41:51 +00:00
return self::exists($name) && $_COOKIE[$name] === $value;
}
2023-04-27 18:23:23 +00:00
public static function set(string $name, string $value) {
2022-01-28 14:54:09 +00:00
setcookie($name, $value, time()+60*60*24*30, '/', '', isset($_SERVER['HTTPS']), true);
}
};