static function start() { // default action and controller $controller_name = 'index'; $action_name = 'index'; $permissionActionName = ucfirst($action_name); $loggedUser = Route::isUserLogged(); $routes = explode('/', $_SERVER['REQUEST_URI']); //echo "Route[0]: $routes[0] </br>"; //echo "Route[1]: $routes[1] </br>"; //echo "Route[2]: $routes[2] </br>"; //echo $routes[2]; // controller name if (!empty($routes[1])) { $controller_name = $routes[1]; $defaultModelName = $routes[1]; } // action name if (!empty($routes[2])) { $action_name = $routes[2]; $permissionActionName = ucfirst($action_name); } // add prefix $model_name = 'model' . ucfirst($controller_name); $controller_name = 'controller' . ucfirst($controller_name); $action_name = 'action' . ucfirst($action_name); // echo "Model: $model_name </br>"; // echo "Controller: $controller_name </br>"; // echo "Action: $action_name </br>"; // catch model file $model_file = $model_name . '.php'; $model_path = "../models/" . $model_file; //echo $loggedUser; if (file_exists($model_path)) { //include "../models/".$model_file; if ($loggedUser == true) { //$model = new $defaultModelName; $user = new ModelUser(); $userRole = $user->getUserByLogin($_SESSION['userID']); //echo $model->getResourceModel(); echo "create model"; } else { //echo "can't create model"; } } else { //echo "Can't find model</br>"; } // catch controller file $controller_file = $controller_name . '.php'; $controller_path = "../controllers/" . $controller_file; if (file_exists($controller_path)) { include "../controllers/" . $controller_file; } else { echo "Can't find controller</br>"; Route::ErrorPage404(); } // create controller $controller = new $controller_name(); $action = $action_name; //echo $controller_name; if (method_exists($controller, $action)) { if ($loggedUser == false) { $role = 1; //anon } else { $role = $userRole[0]; } //echo $permissionActionName; echo $role; if ($controller->allowedAction($permissionActionName, $role) || $controller_name == "controllerError") { $controller->{$action}(); } else { //echo "Forbidden"; Route::ErrorPage403(); } } else { //echo "Can't find actions"; Route::ErrorPage404(); } }