public function func()
 {
     $model = Model::getModel("User");
     if ($model->save($this->input)) {
         $this->redirect("/foo/login");
         return;
     } else {
         list($foo, $control, $method) = explode("/", "/foo/bar");
         MVC::executeController($control, $method, array(), "/foo/bar", array(), "", array("MVC_CURRENT_MODEL" => $model));
         exit;
     }
 }
Beispiel #2
0
 /**
  * Parse the request URL and execute the controller, or call callback with parsed details
  */
 public static final function parseRequest($callback = null)
 {
     /*
      * Parse the request
      */
     // Parse query string
     if (strpos($_SERVER['QUERY_STRING'], "?") !== false) {
         list($requestURI, $params) = explode("?", $_GET['url']);
         $params = substr($_SERVER['QUERY_STRING'], strpos($_SERVER['QUERY_STRING'], "?") + 1);
     } else {
         $requestURI = $_GET['url'];
     }
     if (property_exists("AppConfiguration", "APP_PATH")) {
         $path = AppConfiguration::$APP_PATH;
         $requestURI = preg_replace("#^{$path}#", "", $requestURI);
     }
     // Parse controller parameters
     $controllerParams = array();
     if (strpos($requestURI, ";") !== false) {
         list($requestURI, $paramSegment) = explode(";", $requestURI);
         $paramParts = explode("/", $paramSegment);
         foreach ($paramParts as $part) {
             list($key, $value) = explode(":", $part);
             $controllerParams[$key] = $value;
         }
     }
     // Parse the URL
     $urlParts = explode("/", $requestURI);
     $controllerScript = $urlParts[0];
     if (empty($controllerScript)) {
         $controllerScript = "index";
     }
     // Function is $urlParts[1]
     $controllerFunction = $urlParts[1] == null ? "index" : $urlParts[1];
     if (empty($callback)) {
         MVC::executeController($controllerScript, $controllerFunction, $controllerParams, $requestURI, array_slice($urlParts, 2), $params);
     } else {
         call_user_func_array($callback, array($controllerScript, $controllerFunction, $controllerParams, $requestURI, array_slice($urlParts, 2), $params));
     }
 }