Code

Updated smarty image function
[gosa.git] / gosa-core / include / class_pluglist.inc
index a680868dbe83ee199d11ce637b978ae1778d507e..2709997ed86b1e780e023d74c366e7a45125bff9 100644 (file)
 
 class pluglist 
 {
+  // The id of the last registered plugin id 
   var $index= 0;
+
   var $config= NULL;
-  var $dirlist= array();
   var $ui= NULL;
-  var $info= array();
+
+  // Contains a list of the paths for all registered plugins.
+  var $dirlist= array();
+
+  // Seems to be used in the help menu to generate an overview.
   var $headlines = array();
+  // Remember stuff in here.
   var $silly_cache= array();
 
+  // The pluglist keeps track of all registered plugins.
+  // (Registered plugins are those we are able to access)
   var $pluginList = array();
 
+  // Some cache vars to avoid regenration of the menus.   
   var $pathMenu = "";
   var $menu= "";
   var $iconmenu= "";
 
+  // Classes plInfo list
+  var $info = array();
+
   function pluglist(&$config, &$ui)
   {
     $this->ui= &$ui;
@@ -47,6 +59,21 @@ class pluglist
   {
     $this->pluginList = array();
 
+               /* Fill info part of pluglist */
+               $classes= get_declared_classes();
+               foreach ($classes as $cname){
+                       $cmethods = get_class_methods($cname);
+                       if (in_array_ics('plInfo',$cmethods)){
+                               $this->info[$cname]= call_user_func(array($cname, 'plInfo'));
+                       }
+               }
+
+               /* Provide field for 'all' */
+               $this->info['all']= array();
+               $this->info['all']['plProvidedAcls']= array();
+               $this->info['all']['plDescription']= _("All objects in this category");
+               $this->info['all']['plSelfModify']= FALSE;
+
     // First load the menu plugins and try to register them in the pluglist
     //  if this fails for some reason, then remove the plugin from the menu.
     if(isset($this->config->data['MENU'])){
@@ -190,9 +217,9 @@ class pluglist
           $menu .=  "\n            <li id='plugMenuId_{$index}' $class onClick='return openPlugin({$index});'>".$title."</li>";
         }
         $menu.= "\n          </ul>";
-        $menu.= "\n          <div></div>";
+        $menu.= "\n          <div style='font-size:0'>&nbsp;</div>";
         $menu.= "\n        </div>\n";
-        $menu.= "\n        <div></div>";
+        $menu.= "\n        <div style='font-size:0'>&nbsp;</div>";
         $menu.= "\n        <div class='v-spacer'></div>\n";
       }
       $menu.= "\n      </div>\n";