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(($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;
return false;
}
+ function get_actions(){
+ return isset($this->actions) ? $this->actions : array();
+ }
+
}
?>
\ No newline at end of file