- $plugins = array();
- if($dh = opendir($this->path("mw_dir")."plugins/")){
- $OK = true;
- while($OK && ($plugin_name = readdir($dh)) !== false){
- if(substr($plugin_name, 0 ,1) !== "." && is_dir($this->path("mw_dir")."plugins/".$plugin_name)){
- if(!isset($plugins[$plugin_name])){
- if(($plugin = $this->plugin_data($plugin_name)) !== false){
- $MAJ = false;
- if(!isset($plugin["installed"]) || !isset($plugin["enabled"])){
- $plugin["installed"] = false;
- $plugin["enabled"] = false;
- $plugin["priorite"] = 0;
- $MAJ = true;
- }
- if(!$plugin["installed"] && $plugin["enabled"]){
- $plugin["enabled"] = false;
- $MAJ = true;
- }
- if($MAJ) $OK = $this->set_plugin_data($plugin_name, $plugin);
- if($OK){
- if(($plugin["impl"] = $this->plugin_impl($plugin_name)) !== false){
- $plugin["title"] = ($plugin_title = $this->plugin_call($plugin["impl"], "title")) ? $plugin_title : "";
- $plugin["description"] = ($plugin_description = $this->plugin_call($plugin["impl"], "description")) ? $plugin_description : "";
- $plugin["name"] = $plugin_name;
- $plugins[$plugin_name] = $plugin;
- }
- }
- }
- else $OK = false;
- }
+ closedir($dh);
+ if(!$OK){
+ return false;
+ }
+ if(($plugins = $this->plugins()) === false){
+ return false;
+ }
+ if(file_exists($this->plugins_data_dir()) && is_dir($this->plugins_data_dir())){
+ if(!($dh = opendir($this->plugins_data_dir()))){
+ return false;
+ }
+ while(($plugin_name = readdir($dh)) !== false){
+ if(substr($plugin_name, 0 ,1) != "." && !is_dir($this->plugin_data_file($plugin_name))){
+ if(!isset($plugins[$plugin_name])) $this->del_plugin_data($plugin_name);