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'); }
/** * Metodo para ejecutar la aplicacion. * * Permite iniciar la aplicacion, analiza el objeto Request. * Valida que el controlador y la accion solicitada se puedan cargar de lo contrario genera * un error que luego es enviado al usuario. * * @param Request $request * @throws Exception */ public static function Run(Request $request) { $controllerName = '\\application\\controllers\\' . $request->getController() . 'Controller'; $action = $request->getAction(); $parameters = $request->getParameters(); if (class_exists($controllerName)) { $controller = new $controllerName(); if (is_callable(array($controller, $action))) { $action = $request->getAction(); } else { throw new \core\AppException("Ruta no valida", 1002); } if (isset($parameters)) { call_user_func_array(array($controller, $action), $parameters); } else { call_user_func(array($controller, $action)); } } else { throw new \core\AppException("Controlador solicitada no es valido.", 1002); } }
/** * Run the application * @param type $appBasePath */ public function run($appBasePath) { /** * Define application base path */ defined('APP_BASE_PATH') or define('APP_BASE_PATH', $appBasePath); /** * get controller and action from from url */ $controller = Request::getController(); $action = Request::getAction(); /** * prepare controller class and path according to convention */ $controllerClass = $controller . 'Controller'; $controllerPath = APP_BASE_PATH . '/controllers/' . $controllerClass . '.php'; /** * check if requested controller file and class exists * @todo use error controller and action to display errors */ if (file_exists($controllerPath)) { /** * Include requested controller */ include_once $controllerPath; if (class_exists($controllerClass)) { $Controller = new $controllerClass(); } else { $msg = $controllerClass . ' class not found!'; exit($msg); } } else { $msg = $controllerPath . ' not found!'; exit($msg); } /** * prepare method */ $methodName = $action . 'Action'; if (!method_exists($Controller, $methodName)) { $msg = " Method {$methodName} not found on {$controllerClass} Class "; exit($msg); } /** * execute appropriate contoller's action method */ try { $Controller->{$methodName}(); } catch (Exception $exc) { Debug::r($exc->getMessage(), 'application-exception.txt'); } }
/** * Overriding parent * * @param string $name * @return mixed */ public function __get($name) { if ($name == 'session') { if ($this->_session === null) { $req = $this->request; Loader::load('Session', 'core'); $ns = $req->getController(); $subdir = str_replace('/', '_', $req->getControllerSubDirectory()); if ($subdir != '') { $ns = $subdir . '_' . $ns; } $this->_session = new Session($ns); } return $this->_session; } if ($name == 'post') { if (!array_key_exists($name, $this->_caches)) { $this->_caches[$name] = $this->request->getPost(); } return $this->_caches[$name]; } if ($name == 'query') { if (!array_key_exists($name, $this->_caches)) { $this->_caches[$name] = $this->request->getQuery(); } return $this->_caches[$name]; } if ($name == 'params') { if (!array_key_exists($name, $this->_caches)) { $this->_caches[$name] = $this->request->getParams(); } return $this->_caches[$name]; } if ($name == 'controller') { if (!array_key_exists($name, $this->_caches)) { $this->_caches[$name] = $this->request->getController(); } return $this->_caches[$name]; } if ($name == 'action') { if (!array_key_exists($name, $this->_caches)) { $this->_caches[$name] = $this->request->getAction(); } return $this->_caches[$name]; } return parent::__get($name); }
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); } }
/** * Return path of the template. If template dnx throw exception * * @param void * @return string * @throws FileDnxError */ function getTemplatePath() { $module = $this->request->getModule(); if (is_array($this->getTemplate())) { $template = array_var($this->getTemplate(), 'template'); $controller = array_var($this->getTemplate(), 'controller'); $module = array_var($this->getTemplate(), 'module', $this->request->getModule()); } elseif (is_string($this->getTemplate())) { $template = $this->getTemplate(); $controller = $this->getControllerName(); } else { $template = $this->request->getAction(); $controller = $this->getControllerName(); } // if $path = get_template_path($template, $controller, $module); return is_file($path) ? $path : new FileDnxError($path); }
/** * @param Request $request * @return string * @throws Exception * @throws NotFoundException */ public function run($request) { $controller = $request->getController(); $action = $request->getAction(); if (empty($controller) || empty($action)) { throw new Exception("Invalid request."); } // Sanitize $controller_class before autoloading. $controller_class = ucfirst($controller) . 'Controller'; if (!in_array($controller_class, $this->_allowed_controllers)) { throw new NotFoundException("Controller not defined."); } ob_start(); $controller_obj = new $controller_class($request); if (method_exists($controller_obj, 'init')) { $controller_obj->init(); } $controller_obj->do_action($action); $output = ob_get_clean(); return $output; }
public static function run(Request $request) { $nameController = $request->getController() . "Controller"; $action = $request->getAction() . "Action"; $filePath = "src/controller" . $nameController . "php"; $className = $nameController; if (file_exists($filePath)) { require_once $filePath; if (class_exists($className)) { $controller = new $nameController(); if (method_exists($controller, $action)) { call_user_func(array($controller, $action)); } else { var_dump("Не существует экшена" . $action); } } else { var_dump("Структура не соответствует framework"); } } else { die("Controller doesn't exist"); } }
public static function Dispatch() { $moduleClassName = "Module_" . ucfirst(Request::getResource()); $actionFunctionName = Request::getAction() . "Action"; if (!method_exists($moduleClassName, $actionFunctionName)) { throw new Exception('Resource not found'); } $module = new $moduleClassName(); $module->init(); $module->preDispatch(); $retval = $module->{$actionFunctionName}(); $module->postDispatch(); $module->close(); if (!is_array($retval) && !is_object($retval)) { if (is_null($retval)) { $retval = true; } $retval = array("data" => $retval); } header(Response_Status::getHeader(self::getStatus()), true, self::getStatus()); header('Content-Type: application/json; Charset: UTF-8'); echo json_encode($retval); }
public static function run(Request $request) { $nameController = $request->getController() . "Controller"; $action = $request->getAction() . "Action"; $filePath = "src\\controller\\" . $nameController . ".php"; var_dump($filePath); $className = $nameController; if (file_exists($filePath)) { require_once $filePath; if (class_exists($className)) { $controller = new $nameController(); if (method_exists($controller, $action)) { call_user_func(array($controller, $action)); } else { var_dump("Action doesn't exist " . $action); } } else { var_dump("Site map doesn't correspond to framefork"); } } else { die("Controller doesn't exist"); } }
/** * @param Request $request * @param Response $response * @return string * @throws RuntimeException */ public function render(Request $request, Response $response) { $view = $response->getView(); if (!$view instanceof View) { throw new RuntimeException('No View object set; unable to render view'); } $response->setContentTypeHeader('html'); $dir = strtolower($request->getController()); if (null !== $view->getScriptDir()) { $dir = $view->getScriptDir(); } $filename = strtolower($request->getAction()); if (null !== $view->getScript()) { $filename = $view->getScript(); } $scriptFile = sprintf('%s/views/%s/%s.phtml', APP_DIR, $dir, $filename); $scriptFile = str_replace('/', DIRECTORY_SEPARATOR, $scriptFile); if (!file_exists($scriptFile)) { throw new RuntimeException('View script not found: ' . $scriptFile); } unset($dir, $filename); ob_start(); include $scriptFile; $body = ob_get_clean(); if (null !== $view->getLayout()) { $layoutFile = sprintf('%s/views/layout/%s.phtml', APP_DIR, $view->getLayout()->getScript()); $layoutFile = str_replace('/', DIRECTORY_SEPARATOR, $layoutFile); if (file_exists($layoutFile)) { $view->layout()->content = $body; unset($viewScript, $body); ob_start(); include $layoutFile; $body = ob_get_clean(); } } return $body; }
/** * @param Request $request */ function update_action($request) { if (!($request->isAction() && $request->getAction() === 'update')) { return; } set_time_limit(0); global $tellets; $tellets->Update(); }
/** * Returns either a View or Response object. * * @route GET /?method=example.mixed * @route GET /example/mixed * * @param Request $request * @return View|Response */ public function mixedAction($request) { // accept HTML, JSON and XML $request->acceptContentTypes(array('html', 'json', 'xml')); if ('html' === $request->getContentType()) { $response = new View(); $response->setLayout('main'); } else { $response = new Response(); } $response->method = $request->getMethod(); $response->controller = $request->getController(); $response->action = $request->getAction(); return $response; }
/** * 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()); }
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);
public function testGetAction() { $request = new Request($this->getHttpClient(), $this->getHttpRequest()); $request->setAction('http://example.com/'); $this->assertEquals($request->getAction(), 'http://example.com/'); }
/** * @param Request $request * @param mixed $result * @return RPCResponse */ public static function fromRequest(Request $request, $result = null) { return new self($request->getTid(), $request->getAction(), $request->getMethod(), $result); }
if ($request->isError()) { $page = new Page(); $debugger = new Debugger(); $database = new Database(); $page = new Page(); $page->title = "Ilmomasiina"; $page->addContent("<p>Virheellinen url</p>"); $page->printPage(); } else { if ($request->isAdmin()) { $passwordProtector = new AdminPasswordProtector(); if ($passwordProtector->authenticate() !== true) { // Needs authentication die("You failed to authenticate."); } switch ($request->getAction()) { case "showanswers": require_once 'admin/answers/show.php'; break; case "editanswer": require_once 'admin/answers/edit.php'; break; case "updateanswer": require_once 'admin/answers/save.php'; break; case "new": require_once 'admin/new.php'; break; case "save": require_once 'admin/save.php'; break;
<?php require_once '/nak/webapp/bootstrap.php'; if (!session_id()) { session_start(); } $cur_stage = NetAidManager::get_stage(); $request = new Request($_GET['query']); $dispatcher = new Dispatcher(); $controller = $request->getController(); $action = $request->getAction(); $updater = new Updater(); if ($cur_stage >= STAGE_ONLINE && $_SESSION['logged_in'] == 1 && $updater->updateAvailable()) { if ($controller != 'update') { $request->setController('update'); $request->setAction('index'); } } else { if ($cur_stage != STAGE_ONLINE && $_SERVER['SERVER_NAME'] != '192.168.101.1') { header('Location: http://192.168.101.1/' . $controller . '/' . $action); die; } } $page_html = ''; try { $page_html = $dispatcher->run($request); } catch (NotFoundException $e) { if ($cur_stage != STAGE_ONLINE) { header('Location: http://192.168.101.1/index/index'); die; }
/** * 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; }