コード例 #1
0
ファイル: DbBranch.php プロジェクト: redcatphp/baobab
 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()];
 }
コード例 #2
0
ファイル: Logout.php プロジェクト: redcatphp/baobab
 function __invoke(Route $route, Sessions $sessions)
 {
     $this->authResponse = $this->logout();
     $this->handleAuthResponse();
     if ($route->branchLevelId() == $sessions[0]->id) {
         unset($sessions[0]);
     }
 }
コード例 #3
0
ファイル: Templix.php プロジェクト: redcatphp/baobab
 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);
         });
     });
 }
コード例 #4
0
ファイル: Login.php プロジェクト: redcatphp/baobab
 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;
 }
コード例 #5
0
ファイル: Connect.php プロジェクト: redcatphp/baobab
 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;
 }
コード例 #6
0
ファイル: AuthBranch.php プロジェクト: redcatphp/baobab
 protected function getSession(Sessions $sessions, Route $route)
 {
     return $sessions[$route->branchLevelId()];
 }