/** * 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 { if ($this->_before($this->_request, $this->_response) !== false && call_user_func_array(array($this, 'processAction'), $this->_request->getParams()) !== false && $this->_after($this->_request, $this->_response) !== false) { 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); } } return $this->_response; }
/** * 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; }
/** * Main website function * * This function determines the request being made, and routes * the request to particular module. */ function main() { // Start the session manager session_start(); // Create request object from query $requestString = isset($_GET['ri']) ? $_GET['ri'] : ''; $request = new \Framework\Request($requestString); // Get page name from request $page = $request->get_page(); // Declare page object $page_object = null; if ($page === "" || $page === "index") { $page_object = new \Pages\LandingPage($request); } else { if ($page === "login") { $page_object = new \Pages\LoginPage($request); } else { if ($page === "register") { $page_object = new \Pages\RegisterPage($request); } else { if ($page === "register_submit") { $page_object = new \Pages\RegisterSubmit($request); } else { if ($page === "login_submit") { $page_object = new \Pages\LoginSubmit($request); } else { if ($page === "UpDownCode") { $page_object = new \Pages\UpDownCode(); } else { if ($page === "create_group") { $page_object = new \Pages\NewGroupSubmit($request); } else { if ($page === "create_project") { $page_object = new \Pages\NewProjectSubmit($request); } else { if ($page === "user") { $page_object = new \Pages\UserPage($request); } else { if ($page === "group") { $page_object = new \Pages\GroupPage($request); } else { if ($page === "logout") { $page_object = new \Pages\LogoutSubmit($request); } else { if ($page === "folder") { $page_object = new \Pages\FolderPage($request); } else { $page_object = new \Pages\TemplateTestPage($request); } } } } } } } } } } } } $page_object->run(); }