X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=mw%2Fenv%2Fmodules%2Fmw_env_config.php;h=fcb85f268220d039315bcdae4c6264c13f6b4317;hb=e038560c5eed39411ef5a761fe32ad8de69982bb;hp=64da6d33eac1e51e3607f7868a333867efbae7e2;hpb=36ed114046cbe3d72a3589230e9f306a54fcc79d;p=mtweb diff --git a/mw/env/modules/mw_env_config.php b/mw/env/modules/mw_env_config.php index 64da6d3..fcb85f2 100644 --- a/mw/env/modules/mw_env_config.php +++ b/mw/env/modules/mw_env_config.php @@ -8,6 +8,7 @@ var $PARAMS; var $CONFIG; var $bdd; + var $actions; function load_config($bdd, $CONFIG){ if(true){ @@ -50,10 +51,50 @@ if(isset($app_config["subs"]["bdd"][0]["subs"]["table_prefix_code"])){ $this->add_table_prefix( array( - $app_config["subs"]["bdd"][0]["subs"]["table_prefix_code"][0]["data"] => $bdd["table_prefix"] + $app_config["subs"]["bdd"][0]["subs"]["table_prefix_code"][0]["data"] => isset($bdd["table_prefix"]) ? $bdd["table_prefix"] : "" ) ); } + if(isset($app_config["subs"]["actions"][0]["subs"]["module"])){ + foreach($app_config["subs"]["actions"][0]["subs"]["module"] as $module_elt){ + $module_name = $module_elt["attrs"]["name"]; + if(!isset($this->actions[$module_name])) $this->actions[$module_name] = array( + "controleurs" => array(), + "module_allowed" => false, + "is_public" => false + ); + if(isset($module_elt["subs"]["controleur"])){ + foreach($module_elt["subs"]["controleur"] as $controleur_elt){ + $controleur_name = $controleur_elt["attrs"]["name"]; + if(!isset($this->actions[$module_name]["controleurs"][$controleur_name])) $this->actions[$module_name]["controleurs"][$controleur_name] = array( + "als" => array(), + "controleur_allowed" => false, + "is_public" => false + ); + if(isset($controleur_elt["subs"]["al"])){ + $al_index = 0; + foreach($controleur_elt["subs"]["al"] as $al_elt){ + $action_title = $al_elt["attrs"]["title"]; + if(isset($al_elt["subs"]["action"])){ + foreach($al_elt["subs"]["action"] as $action_elt){ + if(!isset($this->actions[$module_name]["controleurs"][$controleur_name]["als"][$al_index])){ + $this->actions[$module_name]["controleurs"][$controleur_name]["als"][$al_index] = array( + "title" => $action_title, + "action_allowed" => false, + "is_public" => false, + "actions" => array() + ); + } + $this->actions[$module_name]["controleurs"][$controleur_name]["als"][$al_index]["actions"][] = $action_elt["attrs"]["name"]; + } + } + $al_index++; + } + } + } + } + } + } } function get_config_file(){ @@ -115,6 +156,19 @@ $this->bdd[$key] = $value; } + function bdd_ready(){ + if(!$this->bdd("sgbd")) return "aucun sgbd defini"; + $data = $this->data(); + if(!$data) return "objet data non defini"; + if(($res = $this->data_upgrade_required()) !== false){ + if($res === true){ + return "la base de donnees doit etre mise a jour"; + } + else return $res; + } + return true; + } + function add_table_prefix($table_prefix){ if(is_array($table_prefix)){ foreach($table_prefix as $prefix_code => $prefix) $this->bdd["table_prefix"][$prefix_code] = $prefix; @@ -123,6 +177,10 @@ return false; } + function get_actions(){ + return isset($this->actions) ? $this->actions : array(); + } + } ?> \ No newline at end of file