public function start()
 {
     \org\equinox\utils\debug\DebugBarFactory::init();
     //$this->request->analyseAskedRequest();
     $controller = $this->getController($this->request->getModule(), $this->request->getController());
     try {
         try {
             $action = $controller->doActionRequested($this->request->action, 'main');
         } catch (\org\equinox\exception\AccessDeniedException $e) {
             if ($controller->getReturnType() == \org\equinox\controller\Controller::RETURN_TYPE_HTML) {
                 $controller = $this->getController($this->request->accessDeniedModule, $this->request->accessDeniedController);
                 $controller->doActionRequested($this->request->accessDeniedAction, 'main');
             } else {
                 echo $this->getJsonException($e);
             }
         }
     } catch (\Exception $e) {
         if ($controller->getReturnType() == \org\equinox\controller\Controller::RETURN_TYPE_HTML) {
             $this->request->exception = $e;
             $controller = $this->getController($this->request->errorModule, $this->request->errorController);
             $controller->doActionRequested($this->request->errorAction, 'main');
         } else {
             echo $this->getJsonException($e);
         }
     }
     if ($controller->getReturnType() == \org\equinox\controller\Controller::RETURN_TYPE_HTML) {
         $layout = $this->getController($this->request->layoutModule, $this->request->layoutController);
         echo $layout->genereLayout();
     } else {
         echo json_encode($action->getAllAssigns());
     }
     return true;
 }
Example #2
0
 public static function buildPath(Request $peticion)
 {
     $module = $peticion->getModule();
     $controller = $peticion->getController();
     $path = CONTROLLER_PATH . $module . DS . $controller . '.php';
     return $path;
 }
Example #3
0
 public function execute()
 {
     if (Request::getModule() == 'user' and Request::getAction() == 'login' || strtolower(Request::getAction()) == 'loginsubmit') {
     } else {
         if ($_SESSION['user_id'] == '') {
             Zee::redirect(Zee::url("user", "login"));
         }
     }
     View::setLayout('default.tpl.php');
 }
 /**
  * Return path of the layout file. File dnx throw exception
  *
  * @param void
  * @return string
  * @throws FileDnxError
  */
 function getLayoutPath()
 {
     $layout = $this->getLayout();
     if (is_array($layout)) {
         $path = get_layout_path($layout['layout'], $layout['module']);
     } elseif ($layout) {
         $path = get_layout_path($layout, $this->request->getModule());
     } else {
         $path = get_layout_path($this->getControllerName(), $this->request->getModule());
     }
     // if
     return is_file($path) ? $path : new FileDnxError($path);
 }
Example #5
0
 public function __construct(\Request $request, \Http\ErrorResponse $response)
 {
     $vars = array();
     $vars['url'] = $request->getUrl();
     $vars['method'] = $request->getMethod();
     $vars['module'] = $request->getModule();
     $vars['code'] = $response->getCode();
     $vars['phrase'] = $response->getPhrase();
     $vars['backtrace'] = $response->getBacktrace();
     $vars['exception'] = $response->getException();
     $this->code = $vars['code'];
     parent::__construct($vars, PHPWS_SOURCE_DIR . 'Global/Templates/Http/HtmlError.html', false);
 }
Example #6
0
 public final function init()
 {
     $spaceAllModule = '*';
     $oneModule = Request::getModule();
     //exclude modules
     if (in_array($oneModule, $this->_excludeModuleList)) {
         return;
     }
     //excute modules
     if (in_array($spaceAllModule, $this->_moduleList) || in_array($oneModule, $this->_moduleList)) {
         $this->execute();
     }
 }
Example #7
0
 public function dispatch()
 {
     $request = new Request($_SERVER['QUERY_STRING']);
     $this->_module = $request->getModule();
     $this->_controller = $request->getController();
     $this->_action = $request->getAction();
     foreach ($this->pre_request as $pre_request) {
         $result = Module::run($pre_request);
         if ($result) {
             $request = $result;
             break;
         }
     }
     while ($request) {
         $request = Module::run($request);
     }
 }
 public function __construct(\Request $request, \Http\ErrorResponse $response)
 {
     $json = array();
     $json['url'] = $request->getUrl();
     $json['method'] = $request->getMethod();
     $json['module'] = $request->getModule();
     $json['code'] = $response->getCode();
     $json['phrase'] = $response->getPhrase();
     $json['backtrace'] = $response->getBacktrace();
     $json['exception'] = $response->getException();
     if (is_a($json['exception'], '\\Exception')) {
         $json['exception_code'] = $response->getException()->getCode();
         $json['exception_file'] = $response->getException()->getFile();
         $json['exception_line'] = $response->getException()->getLine();
         $json['exception_message'] = $response->getException()->getMessage();
     }
     parent::__construct(array('error' => $json));
 }
/**
 * Contruct controller and execute specific action
 *
 * @param Request $request
 * @return null
 * @throws ControllerDnxError
 * @throws InvalidControllerActionError
 */
function execute_action($request)
{
    $controller_name = $request->getController();
    // we'll use this a lot
    $use_controller = use_controller($controller_name, $request->getModule());
    if (is_error($use_controller)) {
        return $use_controller;
    }
    // if
    $controller_class = get_controller_class($controller_name);
    if (!class_exists($controller_class)) {
        use_error('ControllerDnxError');
        return new ControllerDnxError($controller_name);
    }
    // if
    $controller = new $controller_class($request);
    if (!instance_of($controller, 'Controller')) {
        use_error('ControllerDnxError');
        return new ControllerDnxError($controller_name);
    }
    // if
    return $controller->execute($request->getAction());
}
Example #10
0
File: init.php Project: happyxlq/pd
require_once 'zee/message/Errors.class.php';
require_once 'zee/message/Messages.class.php';
require_once 'zee/lang/Language.class.php';
require_once 'zee/lang/LanguageContentValue.class.php';
require_once 'zee/lang/LanguageValue.class.php';
require_once 'zee/lang/LanguageService.class.php';
require_once 'zee/lang/LanguageContentService.class.php';
//==================
// Request
//==================
Request::init($_REQUEST);
//==================
// DB
//==================
Zee::register('DB', new DB());
//==================
// Language
//==================
//==================
// Exec Pre Filters
//==================
FilterHelper::execFilters(FilterHelper::PRE_FILTER);
//==================
// Do Module
//==================
$controller = Dispatch::getController(Request::getModule());
$controller->execute(Request::getAction());
//==================
// Exec Post Filters
//==================
FilterHelper::execFilters(FilterHelper::POST_FILTER);
Example #11
0
 /**
  * Executes the action corresponding to the current request
  *
  * @param Framework\Request $request
  */
 public function execute(Request &$request, Response &$response)
 {
     $this->_request = $request;
     $this->_response = $response;
     if ($this->isInternal && $this->_request->getState() == \framework\core\Request::FIRST_REQUEST) {
         $this->_response->setStatus(\framework\core\Response::OUTSIDE_ACCESS_FORBIDDEN);
     } else {
         // check if the module's dependencies are not unsatisfied (they can be SCHRODINGER !)
         if ($this->getConfig()->get('modules.' . $request->getModule() . '.dependenciesSatisfied') !== \framework\libs\ConfigBuilder::DEPENDENCIES_UNSATISFIED) {
             //Preparation to "before" and "after" events lauching
             //$classPath = 'application\\modules\\' . $request->getModule() . '\\controllers\\' . $request->getAction();
             $beforeName = 'before' . ucfirst($request->getAction());
             $afterName = 'after' . ucfirst($request->getAction());
             //Launch Before event
             $this->raiseEvent($beforeName);
             if ($this->_before() !== false && call_user_func_array(array($this, 'processAction'), $this->_request->getParams()) !== false && $this->_after() !== false) {
                 //Lauch After event
                 $this->raiseEvent($afterName);
                 if ($this->usesView) {
                     if ($this->usesLayout == false) {
                         $this->setLayout(false);
                     }
                     if ($this->_view === null) {
                         $this->setView($this->_request->getAction());
                     }
                     $this->_response->set($this->createView($this->_request->getModule(), $this->_view, $this->_vars));
                 }
                 $this->_response->setStatus(\framework\core\Response::SUCCESS);
             } else {
                 $this->_response->setStatus(\framework\core\Response::ERROR);
             }
         } else {
             throw new \framework\core\ControllerDependencyException($request->getModule(), $this->getConfig('modules'));
         }
     }
     return $this->_response;
 }