public function init()
    {
        $request =& $this->request;
        $route = '/:controller/:action';
        $opts = array('controller' => 'Home', 'action' => 'index');

        // Inlined as a closure to fix "using $this when not in object context" on 5.3
        $validateSession = function () {
            if (!empty($_SESSION['phpci_user_id'])) {
                $user = b8\Store\Factory::getStore('User')->getByPrimaryKey($_SESSION['phpci_user_id']);

                if ($user) {
                    $_SESSION['phpci_user'] = $user;
                    return true;
                }

                unset($_SESSION['phpci_user_id']);
            }

            return false;
        };

        $skipAuth = array($this, 'shouldSkipAuth');

        // Handler for the route we're about to register, checks for a valid session where necessary:
        $routeHandler = function (&$route, Response &$response) use (&$request, $validateSession, $skipAuth) {
            $skipValidation = in_array($route['controller'], array('session', 'webhook', 'build-status'));

            if (!$skipValidation && !$validateSession() && (!is_callable($skipAuth) || !$skipAuth())) {
                if ($request->isAjax()) {
                    $response->setResponseCode(401);
                    $response->setContent('');
                } else {
                    $_SESSION['phpci_login_redirect'] = substr($request->getPath(), 1);
                    $response = new RedirectResponse($response);
                    $response->setHeader('Location', PHPCI_URL.'session/login');
                }

                return false;
            }

            return true;
        };

        $this->router->clearRoutes();
        $this->router->register($route, $opts, $routeHandler);
    }
public function init()
    {
        $request =& $this->request;
        $route = '/:controller/:action';
        $opts = array('controller' => 'Home', 'action' => 'index');

        // Inlined as a closure to fix "using $this when not in object context" on 5.3
        $validateSession = function () {
            if (!empty($_SESSION['phpci_user_id'])) {
                $user = b8\Store\Factory::getStore('User')->getByPrimaryKey($_SESSION['phpci_user_id']);

                if ($user) {
                    $_SESSION['phpci_user'] = $user;
                    return true;
                }

                unset($_SESSION['phpci_user_id']);
            }

            return false;
        };

        $skipAuth = array($this, 'shouldSkipAuth');

        // Handler for the route we're about to register, checks for a valid session where necessary:
        $routeHandler = function (&$route, Response &$response) use (&$request, $validateSession, $skipAuth) {
            $skipValidation = in_array($route['controller'], array('session', 'webhook', 'build-status'));

            if (!$skipValidation && !$validateSession() && (!is_callable($skipAuth) || !$skipAuth())) {
                if ($request->isAjax()) {
                    $response->setResponseCode(401);
                    $response->setContent('');
                } else {
                    $_SESSION['phpci_login_redirect'] = substr($request->getPath(), 1);
                    $response = new RedirectResponse($response);
                    $response->setHeader('Location', PHPCI_URL.'session/login');
                }

                return false;
            }

            return true;
        };

        $this->router->clearRoutes();
        $this->router->register($route, $opts, $routeHandler);
    }
public function init ( ) { $ request = & $ this -> request ; $ route = '/:controller/:action' ; $ opts = array ( 'controller' => 'Home' , 'action' => 'index' ) ; // Inlined as a closure to fix "using $this when not in object context" on 5.3 $ validateSession = function ( ) { if ( ! empty ( $ _SESSION [ 'phpci_user_id' ] ) ) { $ user = b8 \ Store \ Factory :: getStore ( 'User' ) -> getByPrimaryKey ( $ _SESSION [ 'phpci_user_id' ] ) ; if ( $ user ) { $ _SESSION [ 'phpci_user' ] = $ user ; return true ; } unset ( $ _SESSION [ 'phpci_user_id' ] ) ; } return false ; } ; $ skipAuth = array ( $ this , 'shouldSkipAuth' ) ; // Handler for the route we're about to register, checks for a valid session where necessary: $ routeHandler = function ( & $ route , Response & $ response ) use ( & $ request , $ validateSession , $ skipAuth ) { $ skipValidation = in_array ( $ route [ 'controller' ] , array ( 'session' , 'webhook' , 'build-status' ) ) ; if ( ! $ skipValidation && ! $ validateSession ( ) && ( ! is_callable ( $ skipAuth ) || ! $ skipAuth ( ) ) ) { if ( $ request -> isAjax ( ) ) { $ response -> setResponseCode ( 401 ) ; $ response -> setContent ( '' ) ; } else { $ _SESSION [ 'phpci_login_redirect' ] = substr ( $ request -> getPath ( ) , 1 ) ; $ response = new RedirectResponse ( $ response ) ; $ response -> setHeader ( 'Location' , PHPCI_URL . 'session/login' ) ; } return false ; } return true ; } ; $ this -> router -> clearRoutes ( ) ; $ this -> router -> register ( $ route , $ opts , $ routeHandler ) ; }
Initialise PHPCI - Handles session verification, routing, etc.
Initialise PHPCI - Handles session verification routing etc .