public function distribute()
    {
        $this
            ->_processSessionValues()
            ->_processQueryArguments()
            ;

        // if kernerl has booting errors, treat them first
        if (CarteBlanche::getContainer()->get('kernel')->hasBootErrors()) {
            $routing = array(CarteBlanche::getContainer()->get('kernel')->getBootErrors());
            if (CarteBlanche::getContainer()->get('request')->isCli()) {
                $routing['controller'] = CarteBlanche::getConfig('routing.cli.default_controller');
                $routing['action'] = CarteBlanche::getConfig('routing.cli.booterrors_action');
            } elseif (CarteBlanche::getContainer()->get('request')->isAjax()) {
                $routing['controller'] = CarteBlanche::getConfig('routing.ajax.default_controller');
                $routing['action'] = CarteBlanche::getConfig('routing.ajax.booterrors_action');
            } else {
                $routing['controller'] = CarteBlanche::getConfig('routing.mvc.default_controller');
                $routing['action'] = CarteBlanche::getConfig('routing.mvc.booterrors_action');
            }
        } else {
            $routing = CarteBlanche::getContainer()->get('router')
                ->distribute()
                ->getRouteParsed();

            // controller
            if (empty($routing['controller'])) {
                if (CarteBlanche::getContainer()->get('request')->isCli()) {
                    $routing['controller'] = CarteBlanche::getConfig('routing.cli.default_controller');
                } elseif (CarteBlanche::getContainer()->get('request')->isAjax()) {
                    $routing['controller'] = CarteBlanche::getConfig('routing.ajax.default_controller');
                } else {
                    $routing['controller'] = CarteBlanche::getConfig('routing.mvc.default_controller');
                }
            }

            // action
            if (empty($routing['action'])) {
                if (CarteBlanche::getContainer()->get('request')->isCli()) {
                    $routing['action'] = CarteBlanche::getConfig('routing.cli.default_action');
                } elseif (CarteBlanche::getContainer()->get('request')->isAjax()) {
                    $routing['action'] = CarteBlanche::getConfig('routing.ajax.default_action');
                } else {
                    $routing['action'] = CarteBlanche::getConfig('routing.mvc.default_action');
                }
            }
        }

        // arguments
        $primary_args = $routing;
        unset($primary_args['all']);
        $args = isset($routing['all']) ? array_merge($primary_args, $routing['all']) : $primary_args;

        // dispatch
        return $this->dispatch(
            $routing['controller'], $routing['action'], $args
        );
    }
public function distribute()
    {
        $this
            ->_processSessionValues()
            ->_processQueryArguments()
            ;

        // if kernerl has booting errors, treat them first
        if (CarteBlanche::getContainer()->get('kernel')->hasBootErrors()) {
            $routing = array(CarteBlanche::getContainer()->get('kernel')->getBootErrors());
            if (CarteBlanche::getContainer()->get('request')->isCli()) {
                $routing['controller'] = CarteBlanche::getConfig('routing.cli.default_controller');
                $routing['action'] = CarteBlanche::getConfig('routing.cli.booterrors_action');
            } elseif (CarteBlanche::getContainer()->get('request')->isAjax()) {
                $routing['controller'] = CarteBlanche::getConfig('routing.ajax.default_controller');
                $routing['action'] = CarteBlanche::getConfig('routing.ajax.booterrors_action');
            } else {
                $routing['controller'] = CarteBlanche::getConfig('routing.mvc.default_controller');
                $routing['action'] = CarteBlanche::getConfig('routing.mvc.booterrors_action');
            }
        } else {
            $routing = CarteBlanche::getContainer()->get('router')
                ->distribute()
                ->getRouteParsed();

            // controller
            if (empty($routing['controller'])) {
                if (CarteBlanche::getContainer()->get('request')->isCli()) {
                    $routing['controller'] = CarteBlanche::getConfig('routing.cli.default_controller');
                } elseif (CarteBlanche::getContainer()->get('request')->isAjax()) {
                    $routing['controller'] = CarteBlanche::getConfig('routing.ajax.default_controller');
                } else {
                    $routing['controller'] = CarteBlanche::getConfig('routing.mvc.default_controller');
                }
            }

            // action
            if (empty($routing['action'])) {
                if (CarteBlanche::getContainer()->get('request')->isCli()) {
                    $routing['action'] = CarteBlanche::getConfig('routing.cli.default_action');
                } elseif (CarteBlanche::getContainer()->get('request')->isAjax()) {
                    $routing['action'] = CarteBlanche::getConfig('routing.ajax.default_action');
                } else {
                    $routing['action'] = CarteBlanche::getConfig('routing.mvc.default_action');
                }
            }
        }

        // arguments
        $primary_args = $routing;
        unset($primary_args['all']);
        $args = isset($routing['all']) ? array_merge($primary_args, $routing['all']) : $primary_args;

        // dispatch
        return $this->dispatch(
            $routing['controller'], $routing['action'], $args
        );
    }
public function distribute ( ) { $ this -> _processSessionValues ( ) -> _processQueryArguments ( ) ; // if kernerl has booting errors, treat them first if ( CarteBlanche :: getContainer ( ) -> get ( 'kernel' ) -> hasBootErrors ( ) ) { $ routing = array ( CarteBlanche :: getContainer ( ) -> get ( 'kernel' ) -> getBootErrors ( ) ) ; if ( CarteBlanche :: getContainer ( ) -> get ( 'request' ) -> isCli ( ) ) { $ routing [ 'controller' ] = CarteBlanche :: getConfig ( 'routing.cli.default_controller' ) ; $ routing [ 'action' ] = CarteBlanche :: getConfig ( 'routing.cli.booterrors_action' ) ; } elseif ( CarteBlanche :: getContainer ( ) -> get ( 'request' ) -> isAjax ( ) ) { $ routing [ 'controller' ] = CarteBlanche :: getConfig ( 'routing.ajax.default_controller' ) ; $ routing [ 'action' ] = CarteBlanche :: getConfig ( 'routing.ajax.booterrors_action' ) ; } else { $ routing [ 'controller' ] = CarteBlanche :: getConfig ( 'routing.mvc.default_controller' ) ; $ routing [ 'action' ] = CarteBlanche :: getConfig ( 'routing.mvc.booterrors_action' ) ; } } else { $ routing = CarteBlanche :: getContainer ( ) -> get ( 'router' ) -> distribute ( ) -> getRouteParsed ( ) ; // controller if ( empty ( $ routing [ 'controller' ] ) ) { if ( CarteBlanche :: getContainer ( ) -> get ( 'request' ) -> isCli ( ) ) { $ routing [ 'controller' ] = CarteBlanche :: getConfig ( 'routing.cli.default_controller' ) ; } elseif ( CarteBlanche :: getContainer ( ) -> get ( 'request' ) -> isAjax ( ) ) { $ routing [ 'controller' ] = CarteBlanche :: getConfig ( 'routing.ajax.default_controller' ) ; } else { $ routing [ 'controller' ] = CarteBlanche :: getConfig ( 'routing.mvc.default_controller' ) ; } } // action if ( empty ( $ routing [ 'action' ] ) ) { if ( CarteBlanche :: getContainer ( ) -> get ( 'request' ) -> isCli ( ) ) { $ routing [ 'action' ] = CarteBlanche :: getConfig ( 'routing.cli.default_action' ) ; } elseif ( CarteBlanche :: getContainer ( ) -> get ( 'request' ) -> isAjax ( ) ) { $ routing [ 'action' ] = CarteBlanche :: getConfig ( 'routing.ajax.default_action' ) ; } else { $ routing [ 'action' ] = CarteBlanche :: getConfig ( 'routing.mvc.default_action' ) ; } } } // arguments $ primary_args = $ routing ; unset ( $ primary_args [ 'all' ] ) ; $ args = isset ( $ routing [ 'all' ] ) ? array_merge ( $ primary_args , $ routing [ 'all' ] ) : $ primary_args ; // dispatch return $ this -> dispatch ( $ routing [ 'controller' ] , $ routing [ 'action' ] , $ args ) ; }
Distribute the current request route

@return void
Distribute the current request route