public attr / function, constructeurs __construct
[mtweb] / mw / env / modules / mw_env_versions.php
1 <?php
2
3   class mw_env_versions extends mw_env{
4
5     public $xml_parser;
6     public $versions;
7
8     public function version($application){
9       return isset($this->versions[$application]) ? $this->versions[$application] : false;
10     }
11
12     public function load_versions(){
13       $this->xml_parser = new sxml();
14       $app_config_file = $this->path("mw_dir")."app/config.xml";
15       if(file_exists($app_config_file)){
16         $this->_load_version("mtweb", $app_config_file);
17       }
18       if(($plugins = $this->plugins()) !== false){
19         foreach($plugins as $plugin_name => $plugin){
20           $this->load_plugin_version($plugin_name);
21         }
22       }
23       else $this->erreur("impossible de lire les fichiers de configuration pour les plugins", true);
24     }
25
26     public function _load_version($app_name, $app_config_file){
27       $this->xml_parser->parse(file_get_contents($app_config_file));
28       $app_config = $this->xml_parser->data["config"][0];
29       if(isset($app_config["subs"]["version"][0]["data"])){
30         $this->versions[$app_name] = $app_config["subs"]["version"][0]["data"];
31       }
32     }
33
34     public function load_plugin_version($plugin_name){
35       $app_config_file = $this->path("mw_dir")."plugins/".$plugin_name."/app/config.xml";
36       if(file_exists($app_config_file)){
37         $this->_load_version($plugin_name, $app_config_file);
38       }
39     }
40
41   }