. // }}} /** * Wrapper around Symfony's Security service, for static access * * @package GNUsocial * @category Security * * @author Hugo Sales * @copyright 2020 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ namespace App\Core; use HtmlSanitizer\SanitizerInterface; use Symfony\Component\Security\Core\Security as SSecurity; abstract class Security { private static ?SSecurity $security; private static ?SanitizerInterface $sanitizer; public static function setHelper($sec, $san): void { self::$security = $sec; self::$sanitizer = $san; } public static function __callStatic(string $name, array $args) { if (method_exists(self::$security, $name)) { return self::$security->{$name}(...$args); } else { return self::$sanitizer->{$name}(...$args); } } }