X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Ffai%2Fclass_faiPackageEntry.inc;h=a8c78aeb39310843101f8bf0606c40f84ca6aab6;hb=90cb0cbd940168e234d506e42644e52fc7af5c4d;hp=f57ec2e140bfd3bdaae945f3a8e9df153f714b7d;hpb=0b5894a23ae1fc3e91166e8614d28be65f429080;p=gosa.git diff --git a/plugins/admin/fai/class_faiPackageEntry.inc b/plugins/admin/fai/class_faiPackageEntry.inc index f57ec2e14..a8c78aeb3 100644 --- a/plugins/admin/fai/class_faiPackageEntry.inc +++ b/plugins/admin/fai/class_faiPackageEntry.inc @@ -15,7 +15,7 @@ class faiPackageEntry extends plugin var $buffer = array(); var $categories = array(); - var $searchStrPKG = "Please enter your search string here"; + var $searchStrPKG = ""; var $selected = array(); /* Array with available class names */ @@ -31,21 +31,27 @@ class faiPackageEntry extends plugin $this->searchStrPKG=$_SESSION['searchStrPKG']; } $this->selected=$selected; + + $this->searchStrPKG= _("Please enter your search string here"); } function execute() { + /* Call parent execute */ + plugin::execute(); + /* Fill templating stuff */ $smarty = get_smarty(); $display = ""; $divlist = new divlist("PackageEntry"); $divlist->SetSummary(_("This list displays all assigned package names for this repository settings.")); - $divlist->SetEntriesPerPage(20); - $divlist->SetHeader(array(array("string"=>" "), - array("string"=>"Name"), - array("string"=>"Version"), - array("string"=>"Description","attach"=>"style='border-right:0px;'"))); + $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;'"), + array("string" => "Version", "attach" ), + array("string" => "Description", "attach" => "style='width:240px;border-right:0px;text-align:left;'"))); if(isset($_GET['search'])){ $this->searchStrPKG= $_GET['search']."*"; @@ -71,10 +77,16 @@ class faiPackageEntry extends plugin } } - ksort($this->categories); + $this->searchStrPKG = preg_replace("/^\+/","",$this->searchStrPKG); + if(empty($this->searchStrPKG)){ + $this->searchStrPKG = "*"; + } - $CHKS = ""; - $i = 0; + @ksort($this->categories); + +$CHKS = "
"; + $i = 0; + if(is_array($this->categories)) foreach($this->categories as $cat => $selected){ if($i == 3){ $CHKS .=""; @@ -87,7 +99,7 @@ class faiPackageEntry extends plugin $CHKS .=""; } } - $CHKS .= "
 ".$cat." 
"; + $CHKS .= ""; foreach($_POST as $name => $value){ @@ -106,20 +118,27 @@ class faiPackageEntry extends plugin } } + $cnt = 0; foreach($pkgs as $pkg){ - if(preg_match("/^".str_replace("*",".*",$this->searchStrPKG)."/i",$pkg[0])){ + 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]]){ if(in_array($pkg[0],$this->selected)){ $check = " checked "; }else{ $check = ""; } - $chkbox = " + $cnt ++ ; + $chkbox = " "; - $divlist->AddEntry(array(array("string"=>$chkbox), - array("string"=>$pkg[0]), - array("string"=>$pkg[1]), - array("string"=>$pkg[3],"attach"=>"style='border-right:0px'"))); + $divlist->AddEntry(array(array("string"=>$chkbox, "attach" => "style='text-align:center;width:20px;'"), + 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;'"))); } } } @@ -162,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); }