function __construct(Databases $databases, Route $route) { if (!$route->branchLevelId()) { throw new \RuntimeException('Try to access BranchDb with undefined branch context'); } $this->db = $databases[$route->branchLevelId()]; }
function __invoke(Route $route, Sessions $sessions) { $this->authResponse = $this->logout(); $this->handleAuthResponse(); if ($route->branchLevelId() == $sessions[0]->id) { unset($sessions[0]); } }
function __construct(Route $route, User $user, $file = null, $vars = null, $devTemplate = true, $devJs = true, $devCss = true, $devImg = false, Di $di, $httpMtime = false, $httpEtag = false, $httpExpireTime = false) { parent::__construct($file, $vars, $devTemplate, $devJs, $devCss, $devImg, $di, $httpMtime, $httpEtag, $httpExpireTime); $this['route'] = $route; $this['user'] = $user; $this->onCompile(function ($tml) use($route) { $tml('body')->attr(['data-route--root' => $route->rootUrl(), 'data-route--branch' => '<?=$route->branchUrl()?>', 'data-route--id' => '<?=$route->branchLevelId()?>', 'data-user--id' => '<?=$user->id?>']); $tml('a')->each(function ($a) use($route) { $a->href = $route->resolveRoute($a->href); }); $tml('form')->each(function ($a) use($route) { $a->action = $route->resolveRoute($a->action); }); }); }
function __invoke(Request $request, Url $url, Route $route, Di $di) { if (count($request)) { $this->authResponse = $this->login(); } if ($this->connected()) { if (isset($request['redirect']) && $request['redirect'] && isset($_SERVER['HTTP_REFERER'])) { $redirect = $_SERVER['HTTP_REFERER']; } else { $redirect = $route->resolveRoute('${branch}/admin'); } $route->redirect($redirect); } $this->handleAuthResponse(); $data = []; $data['action'] = $request['action']; return $data; }
function __invoke(Di $di, Request $request, Url $url, Route $route) { if ($request['action'] == 'login') { $this->authResponse = $this->login(); } $redirect = '${root}/branch'; if ($this->connected()) { $route->redirect($redirect, true); exit; } if ($request['action'] == 'register') { $this->authResponse = $this->register(); } $this->handleAuthResponse(); $data = []; $data['action'] = $request['action']; $data['redirect'] = isset($request['redirect']) && $request['redirect'] && isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $route->resolveRoute($redirect); return $data; }
protected function getSession(Sessions $sessions, Route $route) { return $sessions[$route->branchLevelId()]; }