Code

Moved more values
[gosa.git] / gosa-core / include / class_pluglist.inc
index 114ab5ddd21fe3cbf8b58558f1fcbee4e1c429ee..00645846710cde63a7b0fbe7482a64c2c5f7afb5 100644 (file)
@@ -47,7 +47,7 @@ class pluglist {
                                foreach ($classes as $cname){
                                        $cmethods = get_class_methods($cname);
                                        if (in_array_ics('plInfo',$cmethods)){
-                                               $this->info[$cname]= @call_user_func(array($cname, 'plInfo'));
+                                               $this->info[$cname]= call_user_func(array($cname, 'plInfo'));
                                        }
                                }
 
@@ -142,19 +142,6 @@ class pluglist {
 
        function gen_menu()
        {
-    /* Check if class_location.inc has changed, this is the case 
-        if we have installed or removed plugins. 
-     */
-    if(!session::is_set("class_location.inc:timestamp")){
-      $tmp = stat("../include/class_location.inc");
-      session::set("class_location.inc:timestamp",$tmp['mtime']);
-    }else{
-      $tmp = stat("../include/class_location.inc");
-      if($tmp['mtime'] != session::get("class_location.inc:timestamp")){
-        $this->menu = "";
-      }
-    }
-
                if ($this->menu == ""){
                        $first= TRUE;
                        $cfg= $this->config->data['MENU'];
@@ -266,25 +253,11 @@ class pluglist {
        function show_iconmenu()
        {
                global $class_mapping;
-
-    /* Check if class_location.inc has changed, this is the case 
-        if we have installed or removed plugins. 
-     */
-    if(!session::is_set("class_location.inc:timestamp")){
-      $tmp = stat("../include/class_location.inc");
-      session::set("class_location.inc:timestamp",$tmp['mtime']);
-    }else{
-      $tmp = stat("../include/class_location.inc");
-      if($tmp['mtime'] != session::get("class_location.inc:timestamp")){
-        $this->iconmenu = "";
-      }
-    }
-
                if ($this->iconmenu == ""){
                        $cfg= $this->config->data['MENU'];
 
                        if (isset($this->config->current['ICONSIZE'])){
-                               list($x, $y)= split("x", $this->config->current['ICONSIZE']);
+                               list($x, $y)= split("x", $this->config->get_cfg_value("iconsize"));
                                $isize= "width=\"$x\" height=\"$y\"";
                        } else {
                                $isize= "";
@@ -333,7 +306,11 @@ class pluglist {
                                                if (isset($info['ICON'])){
                                                        $image= get_template_path('images/'.$info['ICON']);
                                                } else {
+              if(!preg_match("/\//",$plIcon)){
                                                        $image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', $class_mapping[$info['CLASS']])."/images/$plIcon");
+              }else{
+                $image = $plIcon; 
+              }
                                                }
                                                if ($col > 5){
                                                        $entries= $entries."</tr><tr>";
@@ -415,6 +392,16 @@ class pluglist {
   {
     return(isset($this->allowed_plugins[$plug_id]));
   }
+
+
+  /*! \brief  Force the menu to be recreated 
+   */
+  function reset_menus()
+  {
+    $this->menu = "";
+    $this->iconmenu ="";
+  }
+
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>