adaptations pour pludieurs instances d'applications
[mtweb] / mw / mw_app.php
1 <?php
2
3   class mw_app{
4
5     var $env;
6
7     function set_env(&$env){
8       $this->env =& $env;
9     }
10
11     function env(){
12       return $this->env;
13     }
14
15     function init($config_file){
16       require $config_file;
17       $PATHES["mw_dir"] .= $PATHES["mw_dir"] && substr($PATHES["mw_dir"], -1) != "/" ? "/" : "";
18       $PATHES["mw_path"] .= $PATHES["mw_path"] && substr($PATHES["mw_path"], -1) != "/" ? "/" : "";
19       if(!isset($CONFIG)) $CONFIG = array();
20       $env = false;
21       $this->set_env($env);
22       if(
23             ($sxml_class_file = (file_exists($PATHES["mw_dir"]."libs/sxml.php") ? $PATHES["mw_dir"]."libs/sxml.php" : ""))
24         &&  ($empty_class_file = (file_exists($PATHES["mw_dir"]."libs/empty_class.php") ? $PATHES["mw_dir"]."libs/empty_class.php" : ""))
25         &&  ($env_class_file = (file_exists($PATHES["mw_dir"]."env/mw_env.php") ? $PATHES["mw_dir"]."env/mw_env.php" : ""))
26       ){
27         if(!class_exists("sxml")) require_once $sxml_class_file;
28         if(!class_exists("empty_class")) require_once $empty_class_file;
29         if(!class_exists("mw_env")) require_once $env_class_file;
30         if(
31               class_exists("sxml")
32           &&  class_exists("empty_class")
33           &&  class_exists("mw_env")
34         ){
35           $env = new mw_env(true);
36           $this->set_env($env);
37           $env->load_modules($PATHES["mw_dir"], "env/modules/");
38           $env->set_config_file($config_file);
39           $env->set_PATHES($PATHES);
40           $env->init_plugins();
41           $env->load_config($bdd, $CONFIG);
42           $env->init();
43         }
44       }
45       return $this->env();
46     }
47
48     function run($etat = "", $params = array(), $valid_role = true){
49       $env = $this->env();
50       $etat = ($etat === false ? false : ($etat ? $etat : (isset($_GET[$env->param("e")]) ? $_GET[$env->param("e")] : "")));
51       if($etat !== false) $env->run($etat, $params, $valid_role);
52     }
53   
54     function display(){
55       $env = $this->env();
56       if($env->etat_is_valid()){
57         $template = $env->get_template();
58         $layout = $env->init_layout();
59         $template->render_layout($layout);
60       }
61     }
62
63   }
64
65 ?>