Code

Updated Icon Menu
[gosa.git] / gosa-core / include / class_pluglist.inc
index 989a54338b84102f49003b34eed05313a45f527a..b246cb322aed1dc404afe636e23ee9ef448dc62e 100644 (file)
@@ -240,72 +240,61 @@ class pluglist {
   {
     global $class_mapping;
 
-    $this->iconmenu = "";
+    $add_hr =FALSE;
     if ($this->iconmenu == ""){
       $cfg= $this->config->data['MENU'];
-
-
       foreach ($cfg as $headline => $plug){
-        $col= 1;
+        $col= 0;
 
-       $this->iconmenu .= "\n  <div class='clear'></div>\n";
-       $this->iconmenu .= "\n  <h3>". _($headline)."</h3>\n";
+        if($add_hr){
+          $add_hr = FALSE;
+          $this->iconmenu .= "\n  <hr>\n";
+        }
+        $this->iconmenu .= "\n  <div class='clear'></div>\n";
+        $this->iconmenu .= "\n  <h3 class='icon-menu-title'>". _($headline)."</h3>\n";
 
         foreach ($plug as $info){
 
-
-          /* Read information from class variable */
+          // Get Plugin info
           $vars= get_class_vars($info['CLASS']);
           $plHeadline= $vars['plHeadline'];
           $plDescription= $vars['plDescription'];
-          if (isset($vars['plIcon'])){
-            $plIcon= $vars['plIcon'];
-          } else {
-            $plIcon= "plugin.png";
-          }
-
+          $plIcon = (isset($vars['plIcon'])) ? $vars['plIcon']: "plugin.png";
           $index= $this->get_index($info['CLASS']);
 
           /* Check if class is available. If the class doesn't exists display error symbol 
-             to avoid that a user clicks on a non existing plugin  */
+           *  to avoid that a user clicks on a non existing plugin  
+           */
           if(!$vars){
             $plHeadline = $plDescription = _("Unknown");
             $info['ICON'] = "error.png";
-            $href="main.php?reset=1";
+            $index = '';
           }
 
-
-          /* Load icon */
-          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; 
-            }
+          // Detect the correct position of the plugin icon
+          if(!preg_match("/\//",$plIcon)){
+            $image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', 
+                  $class_mapping[$info['CLASS']])."/images/$plIcon");
+          }else{
+            $image = $plIcon; 
           }
-          if (($col % 5) == 0){
+
+          // Add a seperating row
+          if (($col % 4) == 0){ 
             $this->iconmenu .= "\n  <div class='clear'></div>\n";
-            $col = 1;
           }
 
-
-          $this->iconmenu.= 
-"
-  <div class='container-element' style='width: 25%;' onclick='alert('clicked')'> 
-   <div class='icon-menu-item' style='background-image: url(".$image.");'>
-    <h1>".$plHeadline."</h1>
-    <p>".$plDescription."</p>
-   </div>
-  </div>
-";
+          $this->iconmenu.= "\n  <div class='container-element' style='width: 25%;' onclick='openPlugin({$index})'> ";
+          $this->iconmenu.= "\n   <div class='icon-menu-item' style='background-image: url({$image});'>";
+          $this->iconmenu.= "\n    <h1>{$plHeadline}</h1>";
+          $this->iconmenu.= "\n    <p>{$plDescription}</p>";
+          $this->iconmenu.= "\n   </div>";
+          $this->iconmenu.= "\n  </div>\n";
           $col++ ;
         }
+        $add_hr = TRUE;
       }
     }
-
-    /* Write menu output */
     return ($this->iconmenu);
   }