installation automatique des plugins
[mtweb] / mw / env / modules / mw_env_plugins.php
index 70a9ec8..fefbd04 100644 (file)
@@ -16,8 +16,8 @@
     #                                                                              init
     #
 
-    function init_plugins($PRIORITE = "ASC"){
-      if(isset($this->plugins_asc) || isset($this->plugins_desc)){
+    function init_plugins($PRIORITE = "ASC", $RELOAD = false){
+      if(!$RELOAD && (isset($this->plugins_asc) || isset($this->plugins_desc))){
         if($PRIORITE == "ASC"){
           if(!isset($this->plugins_asc)) $this->plugins_asc = $this->ordonne_plugins($this->plugins_desc, $PRIORITE);
         }
       if(file_exists($this->path("mw_dir")."plugins")){
         if(substr($plugin_name, 0 ,1) !== "." && is_dir($this->path("mw_dir")."plugins/".$plugin_name)){
           if(file_exists($this->path("mw_dir")."plugins/".$plugin_name."/".$plugin_name.".php")){
-            require $this->path("mw_dir")."plugins/".$plugin_name."/".$plugin_name.".php";
+            if(!class_exists($plugin_name)){
+              require_once $this->path("mw_dir")."plugins/".$plugin_name."/".$plugin_name.".php";
+            }
             if(class_exists($plugin_name)){
               $plugin = new $plugin_name();
             }
     }
 
     function set_plugin_data($plugin_name, $data){
+      if(!is_dir($this->plugins_data_dir())) @mkdir($this->plugins_data_dir());
+      if(!is_dir($this->plugins_data_dir())) return false;
       $data_file = $this->plugin_data_file($plugin_name);
       $content = serialize($data);
       $OK = false;