예제 #1
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 {
         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;
 }
예제 #2
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;
 }
예제 #3
0
/**
 * 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();
}