verification de la version
[mtweb] / mw / env / modules / mw_env_config.php
index 64da6d3..5f14e35 100644 (file)
@@ -8,6 +8,7 @@
     var $PARAMS;
     var $CONFIG;
     var $bdd;
+    var $actions;
 
     function load_config($bdd, $CONFIG){
       if(true){
       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(){
       $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(!$this->version("mtweb")) return "impossible de lire la version de mtweb";
+      if($data->version("mtweb") != $this->version("mtweb")) return "la version de la base et du code sont diffĂ©rentes";
+      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;
       return false;
     }
 
+    function get_actions(){
+      return isset($this->actions) ? $this->actions : array();
+    }
+
   }
 
 ?>
\ No newline at end of file