X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;ds=sidebyside;f=web%2Fapp%2Fenv%2Fmodules%2Fmw_env_run.php;fp=web%2Fapp%2Fenv%2Fmodules%2Fmw_env_run.php;h=0000000000000000000000000000000000000000;hb=36ed114046cbe3d72a3589230e9f306a54fcc79d;hp=69360c2bf9f8d838a09594d717c672ea140409f8;hpb=281c96e95451269f2614684b8de5be25862c8374;p=mtweb diff --git a/web/app/env/modules/mw_env_run.php b/web/app/env/modules/mw_env_run.php deleted file mode 100644 index 69360c2..0000000 --- a/web/app/env/modules/mw_env_run.php +++ /dev/null @@ -1,179 +0,0 @@ -data(); - return $data->get_session_user(); - } - - function set_etat($etat, $valid_status = true){ - if(($this->etat = $this->valid_etat($etat)) !== false){ - if(!$valid_status || $this->status_ok($this->etat, false)){ - return $this->etat; - } - else $this->erreur("Vous n'avez pas le statut requis pour effectuer cette action"); - } - else $this->erreur("etat invalide"); - return false; - } - - function valid_etat($etat){ - $_etat = array(); - $_etat["mod"] = ""; - $_etat["controller"] = ""; - $_etat["action"] = ""; - if(is_array($etat)){ - $_etat["mod"] = isset($etat["mod"]) ? $etat["mod"] : ""; - $_etat["controller"] = isset($etat["controller"]) ? $etat["controller"] : ""; - $_etat["action"] = isset($etat["action"]) ? $etat["action"] : ""; - } - else{ - $etat = explode("/", $etat); - foreach($etat as $etat_item){ - if($etat_item){ - if(!$_etat["mod"]) $_etat["mod"] = $etat_item; - else{ - if(!$_etat["controller"]) $_etat["controller"] = $etat_item; - else{ - if(!$_etat["action"]) $_etat["action"] = $etat_item; - break; - } - } - } - } - } - if(!$_etat["mod"]){ - $_etat["mod"] = "index"; - $_etat["controller"] = "index"; - $_etat["action"] = "index"; - } - else{ - if(!$_etat["controller"]){ - $_etat["controller"] = "index"; - $_etat["action"] = "index"; - } - else{ - if(!$_etat["action"]) $_etat["action"] = "index"; - } - } - if( - is_array($_etat) - && count($_etat) == 3 - && isset($_etat["mod"]) && preg_match("/^[a-zA-Z0-9_]+$/", $_etat["mod"]) - && isset($_etat["controller"]) && preg_match("/^[a-zA-Z0-9_]+$/", $_etat["controller"]) - && isset($_etat["action"]) && preg_match("/^[a-zA-Z0-9_]+$/", $_etat["action"]) - ){ - return $_etat; - } - return false; - } - - function etat_is_valid(){ - return $this->valid_etat($this->etat); - } - - function status_ok($etat, $CHECK_FORMAT = true){ - $OK = $this->config("default_allow"); - $data = $this->data(); - if($CHECK_FORMAT) $etat = $this->valid_etat($etat); - if($etat !== false){ - if(($user_status = $data->get_user_status()) !== false){ - if( - ( - $action_status = $data->get_action_status( - $etat["mod"], - $etat["controller"], - $etat["action"] - ) - ) !== false - ){ - $action = $etat["mod"]."/".$etat["controller"]."/".$etat["action"]; - if(isset($action_status[$action])){ - $OK = $action_status[$action][0] || (isset($action_status[$action][$user_status]) && $action_status[$action][$user_status]); - } - else{ - $action = $etat["mod"]."/".$etat["controller"]; - if(isset($action_status[$action])){ - $OK = $action_status[$action][0] || (isset($action_status[$action][$user_status]) && $action_status[$action][$user_status]); - } - else{ - $action = $etat["mod"]; - if(isset($action_status[$action])){ - $OK = $action_status[$action][0] || (isset($action_status[$action][$user_status]) && $action_status[$action][$user_status]); - } - } - } - } - else $this->erreur("Impossible de lire les status des actions en base"); - } - else $this->erreur("Impossible de lire le statut de l'utilisateur courant"); - } - else $this->erreur("etat invalide"); - return $OK; - } - - function run($etat, $valid_status = true, $params = array(), $method = "GET"){ - if($this->set_etat($etat, $valid_status)){ - $controller_file = "mods/".$this->etat("mod")."/".$this->etat("controller").".php"; - if($this->app_file_exists($controller_file = "mods/".$this->etat("mod")."/".$this->etat("controller").".php", "DESC")){ - if(!class_exists("mw_mod")) require $this->app_file("mods/mw_mod.php"); - if(!class_exists($controller_class = "mw_".$this->etat("mod")."_".$this->etat("controller"))){ - require $this->app_file($controller_file, "DESC"); - } - if(class_exists($controller_class)){ - $controller = new $controller_class(); - $action_method = $this->etat("action"); - if(method_exists($controller, $action_method)){ - foreach($params as $key => $value){ - switch(strtolower($method)){ - case "get": $_GET[$this->param($key)] = $value; break; - case "post": $_POST[$key] = $value; break; - default: break; - } - } - if(($controller_validate = $controller->validate($this)) === true){ - if(($controller_prepare_inputs = $controller->prepare_inputs($this)) === true){ - $controller->$action_method($this); - } - else $this->erreur($controller_prepare_inputs); - } - else $this->erreur($controller_validate); - } - else $this->erreur("Impossible de trouver l'action ".$this->etat("action")); - } - else $this->erreur("Impossible d'instancier le controleur ".$this->etat("controller")); - } - else $this->erreur("Impossible de trouver le controleur ".$this->etat("controller")." pour le module ".$this->etat("mod")); - } - else $this->erreur("Impossible d'effectuer cette action"); - } - - function etat($name){ - return $this->etat[$name]; - } - - function check_stop(){ - return $this->etat("mod") == "reponses"; - } - - function get_mod($mod_name){ - if($etat = $this->valid_etat($mod_name)){ - if($this->app_file_exists($controller_file = "mods/".$etat["mod"]."/".$etat["controller"].".php")){ - if(!class_exists("mw_mod")) require $this->app_file("mods/mw_mod.php"); - if(!class_exists($controller_class = "mw_".$etat["mod"]."_".$etat["controller"])){ - require $this->app_file($controller_file); - } - if(class_exists($controller_class)){ - return new $controller_class(); - } - } - } - return false; - } - - } - -?> \ No newline at end of file