Example #1
0
 function mvcActionPhase()
 {
     $dispatcher =& CSR::get('dispatcher');
     $parsed = $dispatcher->getParsedParams();
     list($targetController, $targetAction) = explode('/', $parsed['target']);
     CSR::set('controllerName', $targetController);
     CSR::set('actionName', $targetAction);
     $arguments = isset($parsed['arguments']) ? $parsed['arguments'] : null;
     if (!($controllerClassName = CSR_Controller::loadController($targetController))) {
         return CSR_Controller::_missingController();
     }
     // Private action
     if ($targetAction[0] === '_') {
         return CSR_Controller::_privateAction();
     }
     $view =& CSR::set('view', new CSR_View());
     $controller =& CSR::set('controller', new $controllerClassName());
     CSR::addEvent(EVENT_BEFORE_ACTION, array(&$controller, 'beforeAction'));
     CSR::addEvent(EVENT_AFTER_ACTION, array(&$controller, 'afterAction'));
     CSR::addEvent(EVENT_BEFORE_RENDER, array(&$controller, 'beforeRender'));
     CSR::addEvent(EVENT_AFTER_RENDER, array(&$controller, 'afterRender'));
     $controller->_beforeActionResults = CSR::triggerEvent(EVENT_BEFORE_ACTION);
     if ($controller->_isExecutable() && !$controller->_executeAction($targetAction, $arguments)) {
         return CSR_Controller::_undefinedAction();
     }
     CSR::triggerEvent(EVENT_AFTER_ACTION);
 }
 function __construct()
 {
     parent::__construct();
 }