<?php namespace App\Helpers; use App\Constants\Themes; class Cookies { static public function get(string $name, string $default_value = ''): string { if (isset($_COOKIE[$name]) && !empty($_COOKIE[$name])) { return $_COOKIE[$name]; } return $default_value; } static public function theme(): string { $theme = self::get('theme'); $ref = new \ReflectionClass(Themes::class); $themes = $ref->getConstants(); if ($theme && in_array($theme, $themes)) { return $theme; } return 'default'; } static public function downloader(): string { $downloader = self::get('api-downloader', 'default'); return $downloader; } static public function exists(string $name): bool { return isset($_COOKIE[$name]); } static public function check(string $name, string $value): bool { return self::exists($name) && $_COOKIE[$name] === $value; } static public function set(string $name, string $value) { setcookie($name, $value, time()+60*60*24*30, '/', '', isset($_SERVER['HTTPS']), true); } };