GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — TrayDigita-Users-Module/Users.php at master · ArrayAccess/TrayDigita-Users-Module Expand file tree/ Copy pathUsers.phpMore file actions 127 lines (113 loc) · 4.36 KB / Copy pathUsers.phpFile metadata and controls127 lines (113 loc) · 4.36 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 <?php declare(strict_types=1); namespace ArrayAccess\TrayDigita\App\Modules\Users; use ArrayAccess\TrayDigita\App\Modules\Users\Traits\UserModuleAuthTrait; use ArrayAccess\TrayDigita\App\Modules\Users\Traits\UserModuleDependsTrait; use ArrayAccess\TrayDigita\App\Modules\Users\Traits\UserModuleEventTrait; use ArrayAccess\TrayDigita\App\Modules\Users\Traits\UserModulePermissiveTrait; use ArrayAccess\TrayDigita\App\Modules\Users\Traits\UserModuleSite; use ArrayAccess\TrayDigita\App\Modules\Users\TwigExtensions\UrlExtension; use ArrayAccess\TrayDigita\Container\Interfaces\SystemContainerInterface; use ArrayAccess\TrayDigita\Http\ServerRequest; use ArrayAccess\TrayDigita\Middleware\AbstractMiddleware; use ArrayAccess\TrayDigita\Module\AbstractModule; use ArrayAccess\TrayDigita\Traits\Database\ConnectionTrait; use ArrayAccess\TrayDigita\Traits\Service\TranslatorTrait; use ArrayAccess\TrayDigita\Traits\View\ViewTrait; use ArrayAccess\TrayDigita\Util\Filter\Consolidation; use ArrayAccess\TrayDigita\Util\Filter\ContainerHelper; use ArrayAccess\TrayDigita\View\Engines\TwigEngine; use Psr\Container\ContainerInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestFactoryInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\StreamFactoryInterface; use const PHP_INT_MAX; use const PHP_INT_MIN; /** * @method SystemContainerInterface getContainer() */ final class Users extends AbstractModule { use TranslatorTrait, ViewTrait, UserModuleDependsTrait, ConnectionTrait, UserModuleEventTrait, UserModuleAuthTrait, UserModulePermissiveTrait; protected string $name = 'Users & Auth'; /** * @var int -> very important */ protected int $priority = PHP_INT_MIN + 1; private bool $didInit = false; private ?ServerRequestInterface $request = null; public function getName(): string { return $this->translateContext( 'Users & Auth', 'users-module', 'module' ); } public function getDescription(): string { return $this->translateContext( 'Module that support users & authentication', 'users-module', 'module' ); } protected function doInit(): void { /** @noinspection DuplicatedCode */ if ($this->didInit) { return; } $this->didInit = true; Consolidation::registerAutoloader(__NAMESPACE__, __DIR__); $kernel = $this->getKernel(); $kernel->registerControllerDirectory(__DIR__ .'/Controllers'); $this->getTranslator()?->registerDirectory('module', __DIR__ . '/Languages'); $this->getConnection()->registerEntityDirectory(__DIR__.'/Entities'); $twig = $this->getView()->getEngine('twig'); ($twig instanceof TwigEngine ? $twig : null) ->addExtension(new UrlExtension($twig)); unset($twig); // stop here if config error if ($kernel->getConfigError()) { return; } $manager = $this->getManager(); $manager->attachOnce('view.beforeRender', [$this, 'eventViewBeforeRender']); $manager->attachOnce('view.bodyAttributes', [$this, 'eventViewBodyAttributes']); $kernel ->getHttpKernel() ->addMiddleware(new class($this->getContainer(), $this) extends AbstractMiddleware { protected int $priority = PHP_INT_MAX - 10; public function __construct( ContainerInterface $container, private readonly Users $auth ) { parent::__construct($container); } protected function doProcess(ServerRequestInterface $request): ServerRequestInterface|ResponseInterface { $this->auth->setRequest($request); return $request; } }); } public function getRequest(): ServerRequestInterface { return $this->request ??= ServerRequest::fromGlobals( ContainerHelper::use(ServerRequestFactoryInterface::class, $this->getContainer()), ContainerHelper::use(StreamFactoryInterface::class, $this->getContainer()) ); } public function setRequest(ServerRequestInterface $request): void { $this->request = $request; } } |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |