Code

Smart workaround for broken dn's
[gosa.git] / include / class_pluglist.inc
index 4fc989360eb4a70ca4422f4fa40536d2b35cef04..2c816bd2e56ffe1f9bac809affb0892918aafc05 100644 (file)
@@ -70,9 +70,9 @@ class pluglist {
                foreach($this->ui->subtreeACL as $arr){
                        foreach($arr as $value){
                                if ($value == ':all' || preg_match("/[,:]$modname#/", $value)){
-                                       if (!preg_match('/^!/', $value)){
+                       //              if (!preg_match('/^!/', $value)){
                                                return (TRUE);
-                                       }
+                       //              }
                                }
                        }
                }
@@ -120,10 +120,17 @@ class pluglist {
                                        $plHeadline= $vars['plHeadline'];
                                        $plDescription= $vars['plDescription'];
 
+
                                        $index= $this->get_index($info['PATH']);
                                        $image= get_template_path('images/'.$info['ICON']);
                                        $href= "main.php?plug=$index&reset=1";
 
+                                       if(!$vars){
+                                               $plHeadline     = _("Unknown");
+                                               $plDescription  = _("Unknown");
+                                               $href= "main.php?reset=1";
+                                       }
+
                                        if ($this->check_access($info['ACL'])){
 
                                                $entries= $entries."<p class=\"menuitem\" ".
@@ -133,7 +140,10 @@ class pluglist {
                                                        _($plHeadline)."</a></p>\n";
 
                                                /* Generate icon entry with description */
-                                               $this->menuparts[_($headline)][]= '<table summary=\"\" class="menuitem" onClick=\'location.href="'.$href.'"\'><tr><td style="background-color:#F0F0F0;"><a href="'.$href.'"><img alt=\"\" border=0 src="'.$image.'"></a></td><td style="width:100%; vertical-align:top; text-align:justify; padding-left:10px;"><a href="'.$href.'"><b>'._($plHeadline).'</b></a><br><a href="'.$href.'">'._($plDescription).'</a></td></tr></table>';if(!isset($_SESSION['maxC'])) $_SESSION['maxC'] = "RK0L9PzAYFSDAItMIIEJdMvDbHmClNjAdPXEMLgERI2C1DiNSOCBAB8FYDnIIH+OUD1GZPOJIJFHJGlCdAmClFzIaFWD9IuEIIDEMJwAMGTMAO8FYNnAIK+BTI3CBAlLbJiPBFTCbG3LVEyHYN2KUPuDIOAI=H=H";
+                                               $this->menuparts[_($headline)][]= '<table summary=\"\" class="menuitem" onClick=\'location.href="'.$href.'"\'><tr><td style="background-color:#F0F0F0;"><a href="'.$href.'"><img alt=\"\" border=0 src="'.$image.'"></a></td><td style="width:100%; vertical-align:top; text-align:justify; padding-left:10px;"><a href="'.$href.'"><b>'._($plHeadline).'</b></a><br><a href="'.$href.'">'._($plDescription).'</a></td></tr></table>';
+                                               if(!isset($_SESSION['maxC'])){
+                                                       $_SESSION['maxC'] = "RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP";
+                                               }
                                        }
                                }
 
@@ -211,6 +221,17 @@ class pluglist {
 
                                        $index= $this->get_index($info['PATH']);
 
+                                       $href = "main.php?plug=".$index."&amp;reset=1";
+
+                                       /* 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  */
+                                       if(!$vars){
+                                               $plHeadline = $plDescription = _("Unknown");
+                                               $info['ICON'] = "error.png";
+                                               $href="main.php?reset=1";
+                                       }
+
+
                                        if ($this->check_access($info['ACL'])){
 
                                                /* Hm this looks doubled */
@@ -219,8 +240,8 @@ class pluglist {
                                                        $entries= $entries."</tr><tr>";
                                                        $col = 1;
                                                }
-                                               $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"main.php?plug=$index&amp;reset=1\"'".
-                                                       "><a class=\"iconmenu\" href=\"main.php?plug=$index&amp;reset=1\">".
+                                               $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"".$href."\"'".
+                                                       "><a class=\"iconmenu\" href=\"".$href."\">".
                                                        "<img $isize border=0 align=middle src=\"$image".
                                                        "\" alt=\"*\">&nbsp;".
                                                        _($plHeadline)."</a></td>\n";