Ejemplo n.º 1
0
 public static function logout()
 {
     \Routerunner\User::logout();
 }
 public function middleware($routerunner_object, $arguments = array())
 {
     self::cache_connect();
     \Routerunner\Routerunner::$slim->flashKeep();
     \Routerunner\User::initialize();
     if ($uid = \Routerunner\User::me($email, $name, $gid)) {
         /*
         $this->uid = $uid;
         $this->gid = $gid;
         */
     }
     if (isset($routerunner_object->container['settings']['log.writer'])) {
         $log_class = $routerunner_object->container['settings']['log.writer'];
         $app = \Routerunner\Routerunner::$slim;
         $app->log->setWriter(new $log_class());
         $app->error(function (\Exception $e) use($app, $log_class) {
             new $log_class($e);
         });
     }
     if (!isset($arguments["bootstrap"]) || $arguments["bootstrap"] !== false) {
         \Routerunner\Bootstrap::initialize($routerunner_object->settings);
         $history = \Routerunner\Routerunner::$slim->flash('history');
         if (!is_array($history)) {
             $history = array();
         }
         if (count($history) > 20) {
             $history = array_slice($history, -20, 20);
         }
         if (!count($history) || count($history) && $history[count($history) - 1] != \Routerunner\Bootstrap::$fullUri) {
             $history[] = \Routerunner\Bootstrap::$fullUri;
         }
         \Routerunner\Bootstrap::$history = $history;
         \Routerunner\Routerunner::$slim->flash('history', \Routerunner\Bootstrap::$history);
         if (count($history) > 1) {
             \Routerunner\Routerunner::$slim->now('history.back', $history[count($history) - 2]);
         }
     }
     if (!isset($arguments["skip_route"]) || !$arguments["skip_redirect"]) {
         \Routerunner\Routerunner::route();
     }
     if (\Routerunner\Routerunner::$slim->now('redirect_url') && (!isset($arguments["skip_redirect"]) || !$arguments["skip_redirect"])) {
         \Routerunner\Routerunner::$slim->redirect(\Routerunner\Routerunner::$slim->now('redirect_url'));
     }
 }