Code

Added initial base
[gosa.git] / plugins / admin / fai / class_faiPackageEntry.inc
index 860b6707a4c637383b4e36ccf8fb00ac097753f9..a8c78aeb39310843101f8bf0606c40f84ca6aab6 100644 (file)
@@ -49,8 +49,8 @@ class faiPackageEntry extends plugin
     $divlist->SetEntriesPerPage(0);
     $divlist->SetHeight("650px;");
     $divlist->SetHeader(array(array("string" => " ", "attach" => "style='text-align:center;width:20px;'"),
-                              array("string" => "Name", "attach" => "style=''"),
-                              array("string" => "Version", "attach" => "style='width:100px;'"),
+                              array("string" => "Name", "attach" => "style='width:180px;'"),
+                              array("string" => "Version", "attach" ),
                               array("string" => "Description", "attach" => "style='width:240px;border-right:0px;text-align:left;'")));
 
     if(isset($_GET['search'])){
@@ -77,10 +77,16 @@ class faiPackageEntry extends plugin
       } 
     }
 
-    ksort($this->categories);
+    $this->searchStrPKG = preg_replace("/^\+/","",$this->searchStrPKG);
+    if(empty($this->searchStrPKG)){
+      $this->searchStrPKG = "*";
+    }
+
+    @ksort($this->categories);
 
-    $CHKS = "<table><tr><input type='hidden' value='chkchange' name='chkchange'>";
-    $i = 0; 
+$CHKS = "<input type='hidden' value='chkchange' name='chkchange'><table summary=''><tr>";
+    $i = 0;
+    if(is_array($this->categories)) 
     foreach($this->categories as $cat => $selected){
       if($i == 3){
         $CHKS .="</tr><tr>";
@@ -93,7 +99,7 @@ class faiPackageEntry extends plugin
         $CHKS .="<td><input type='checkbox' value='1' name='CAT".$cat."' onclick='document.mainform.submit()'>&nbsp;".$cat."&nbsp;</td>";
       }
     }
-    $CHKS .= "</td></tr></table>";
+    $CHKS .= "</tr></table>";
 
 
     foreach($_POST as $name => $value){
@@ -114,6 +120,10 @@ class faiPackageEntry extends plugin
 
     $cnt = 0; 
     foreach($pkgs as $pkg){
+      if($cnt > 200) {
+        print_red(sprintf(_("Your specified search string '%s' returned too many results. Only the first 200 entries are shown, to keep the memory usage low."),$this->searchStrPKG));
+        break;
+      }
       if((preg_match("/^".str_replace("*",".*",$this->searchStrPKG)."/i",$pkg[0]))||
          (preg_match("/^".str_replace("*",".*",$this->searchStrPKG)."/i",$pkg[3]))){
         if($this->categories[$pkg[2]]){
@@ -123,12 +133,12 @@ class faiPackageEntry extends plugin
             $check = "";
           }
           $cnt ++ ;
-          $chkbox = "<input type='checkbox' value='1' name='use_".base64_encode($pkg[0])."' ".$check." onclick='document.mainform.submit()'>
+          $chkbox = "<input type='checkbox' value='1' name='use_".base64_encode($pkg[0])."' ".$check.">
                    <input type='hidden' value='1' name='wasonpage_".base64_encode($pkg[0])."'>";
           $divlist->AddEntry(array(array("string"=>$chkbox, "attach" => "style='text-align:center;width:20px;'"),
-                               array("string"=>$pkg[0], "attach" => "style=''"),
-                               array("string"=>$pkg[1], "attach" => "style='width:100px;'"),
-                               array("string"=>$pkg[3], "attach" => "style='width:240px;border-right:0px;text-align:left;'")));
+                               array("string"=>$pkg[0], "attach" => "style='width:180px;'"),
+                               array("string"=>htmlentities($pkg[1])),
+                               array("string"=>htmlentities($pkg[3]), "attach" => "style='width:221px;border-right:0px;text-align:left;'")));
         }
       }
     }
@@ -171,7 +181,9 @@ class faiPackageEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+        
     return ($message);
   }