Code

Added initial base
[gosa.git] / plugins / admin / fai / class_faiPackageEntry.inc
index 614ea9dd3f41fb21a8d03965f672e1f79cb04fa9..a8c78aeb39310843101f8bf0606c40f84ca6aab6 100644 (file)
@@ -46,7 +46,7 @@ class faiPackageEntry extends plugin
 
     $divlist = new divlist("PackageEntry");
     $divlist->SetSummary(_("This list displays all assigned package names for this repository settings."));
-    $divlist->SetEntriesPerPage(20);
+    $divlist->SetEntriesPerPage(0);
     $divlist->SetHeight("650px;");
     $divlist->SetHeader(array(array("string" => " ", "attach" => "style='text-align:center;width:20px;'"),
                               array("string" => "Name", "attach" => "style='width:180px;'"),
@@ -77,7 +77,12 @@ class faiPackageEntry extends plugin
       } 
     }
 
-        @ksort($this->categories);
+    $this->searchStrPKG = preg_replace("/^\+/","",$this->searchStrPKG);
+    if(empty($this->searchStrPKG)){
+      $this->searchStrPKG = "*";
+    }
+
+    @ksort($this->categories);
 
 $CHKS = "<input type='hidden' value='chkchange' name='chkchange'><table summary=''><tr>";
     $i = 0;
@@ -115,6 +120,10 @@ $CHKS = "<input type='hidden' value='chkchange' name='chkchange'><table summary=
 
     $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]]){
@@ -124,12 +133,12 @@ $CHKS = "<input type='hidden' value='chkchange' name='chkchange'><table summary=
             $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='width:180px;'"),
-                               array("string"=>$pkg[1]),
-                               array("string"=>$pkg[3], "attach" => "style='width:221px;border-right:0px;text-align:left;'")));
+                               array("string"=>htmlentities($pkg[1])),
+                               array("string"=>htmlentities($pkg[3]), "attach" => "style='width:221px;border-right:0px;text-align:left;'")));
         }
       }
     }
@@ -172,7 +181,9 @@ $CHKS = "<input type='hidden' value='chkchange' name='chkchange'><table summary=
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+        
     return ($message);
   }