X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Ffai%2Fclass_faiManagement.inc;h=55e8499b1ef067f51692e48c21cb6685af0ca6ba;hb=8e89e901eb67f63011a49553de75353330a3871e;hp=900d1bd2b838fba4d94b53c7ad900e996edb71fb;hpb=4de2e0be0340d6b5cb62e164429a143cff7ef261;p=gosa.git diff --git a/plugins/admin/fai/class_faiManagement.inc b/plugins/admin/fai/class_faiManagement.inc index 900d1bd2b..55e8499b1 100644 --- a/plugins/admin/fai/class_faiManagement.inc +++ b/plugins/admin/fai/class_faiManagement.inc @@ -25,7 +25,6 @@ require "tabsScript.inc"; require "tabsProfile.inc"; require "tabsPackage.inc"; - class faiManagement extends plugin { /* Definitions */ @@ -84,6 +83,10 @@ class faiManagement extends plugin function execute() { + + /* Call parent execute */ + plugin::execute(); + $display = ""; $smarty = get_smarty(); $s_action = ""; @@ -259,10 +262,12 @@ class faiManagement extends plugin $a_setup = ($this->get_type($entry)); $this->dn = $entry['dn']; + add_lock ($this->dn, $this->ui->dn); $this->dialog= new $a_setup[0]($this->config, $this->config->data['TABS'][$a_setup[2]],$this->dn); $this->is_dialog = true; + $_SESSION['objectinfo'] = $this->dn; } @@ -319,7 +324,7 @@ class faiManagement extends plugin $name = $this->dialog->save(); $this->dialog = new $a_setup[0]($this->config, - $this->config->data['TABS'][$a_setup[2]],$this->dn); + $this->config->data['TABS'][$a_setup[2]],$this->dn,$name); $this->dialog->by_object[$a_setup[1]]->cn = $name; $this->is_dialog = true; } @@ -331,6 +336,11 @@ class faiManagement extends plugin $faifilter['regex']=$_GET['search']."*"; } + /* Department select */ + if((isset($_POST['base']))&&($s_action=="")){ + $faifilter['base']=$_POST['base']; + } + /* remove double asterisks and save new filter */ $faifilter['regex'] = preg_replace("/\*\*/","*",$faifilter['regex']); $_SESSION['faifilter']= $faifilter; @@ -342,9 +352,10 @@ class faiManagement extends plugin unset($this->dialog); $this->dialog=NULL; $this->is_dialog = false; + unset($_SESSION['objectinfo']); + del_lock ($this->dn); } - /* This check if the given tab could be saved * If it was possible to save it, remove dialog object. * If it wasn't possible, show errors and keep dialog. @@ -356,14 +367,15 @@ class faiManagement extends plugin print_red($msg); } }else{ + del_lock ($this->dn); $this->dialog->save(); unset($this->dialog); $this->dialog=NULL; $this->is_dialog=false; + unset($_SESSION['objectinfo']); } } - /* If dialog is set, but $this->is_dialog==false, then * only the "abort" button is shown, this are dialogs that must not be saved. * If is_dialog == true, we are currently editing tab objects. @@ -377,14 +389,14 @@ class faiManagement extends plugin }elseif(((isset($this->dialog->current))&&(!$this->dialog->by_object[$this->dialog->current]->is_dialog))){ $display.= "

\n"; - $display.= "\n"; + $display.= "\n"; $display.= " \n"; - $display.= "\n"; + $display.= "\n"; $display.= "

"; }elseif(!isset($this->dialog->current)){ $display.= "

\n"; - $display.= " "; - $display.= "\n"; + $display.= " "; + $display.= "\n"; $display.= "

"; } return($display); @@ -396,45 +408,60 @@ class faiManagement extends plugin * Assign all reguired vars to template engine */ + /* Prepare departments */ + $options= ""; + foreach ($this->config->idepartments as $key => $value){ + if ($faifilter['base'] == $key){ + $options.= ""; + } else { + $options.= ""; + } + } + /* Create listhead, it will be shown on top of the divlist. * It provides general navigation and object creation */ $faihead = "
 ". - " ". - " ". - " ". - "\"\" ". + "\"\" ". - "  ". - "\"\" ". + "\"\" ". - "  ". - "  ". - "  ". - "  ". - "  ". - "  ". + + "  ". + + _("Current base")." ". + "  ". "
"; @@ -442,20 +469,20 @@ class faiManagement extends plugin /* Create list with objects */ $divlist = new divlist("faiManagement"); - $divlist->SetEntriesPerPage(20); + $divlist->SetEntriesPerPage(0); $divlist->SetSummary(_("This table displays all systems, in the selected tree.")); $divlist->SetHeader(array( - array("string" => " "), - array("string" => _("Name of FAI class")), - array("string" => _("Class type")), - array("string" => _("Actions"), "attach"=>"style='border-right:none;width:40px;'"))); + array("string" => " ", "attach" => "style='text-align:center;width:20px;'"), + array("string" => _("Name of FAI class"), "attach" => "style=''"), + array("string" => _("Class type"), "attach" => "style='width:200px;'"), + array("string" => _("Actions"), "attach" => "style='width:60px;border-right:0px;text-align:right;'"))); - $action = ""; - $action .= ""; + $action = ""; + $action .= ""; - $editlink ="%NAME%"; + $editlink ="%NAME%"; $linkopen = "%s"; foreach($this->departments as $key => $val) { @@ -473,10 +500,10 @@ class faiManagement extends plugin $title = $this->config->departments[$key]; - $field0 = array("string" => "department", "attach"=>"style='width:20px;'"); - $field1 = array("string" => sprintf($linkopen,base64_encode($key),$val), "attach" => "title='".$title."'"); - $field2 = array("string" => ""); - $field3 = array("string" => "","attach"=>"style='text-align:right;border-right:none;'"); + $field0 = array("string" => "department", "attach" => "style='text-align:center;width:20px;'"); + $field1 = array("string" => sprintf($linkopen,base64_encode($key),$val), "attach" => "style='' title='".$title."'"); + $field2 = array("string" => " ", "attach" => "style='width:200px;'"); + $field3 = array("string" => " ", "attach" => "style='width:60px;border-right:0px;text-align:right;'"); $divlist->AddEntry( array($field0,$field1,$field2,$field3)); @@ -495,53 +522,53 @@ class faiManagement extends plugin if(!$faifilter['ShowPartitions']){ $abort = true; } - $img="PT"; + $img="PT"; $info = _("Partition table"); break; case "FAIpackageList" : if(!$faifilter['ShowPackages']){ $abort = true; } - $img="PL"; + $img="PL"; $info = _("Package list"); break; case "FAIscript" : if(!$faifilter['ShowScripts']){ $abort = true; } - $img="S"; + $img="S"; $info = _("Scripts"); break; case "FAIvariable" : if(!$faifilter['ShowVariables']){ $abort = true; } - $img="V"; + $img="V"; $info = _("Variables"); break; case "FAIhook" : if(!$faifilter['ShowHooks']){ $abort = true; } - $img="H"; + $img="H"; $info = _("Hooks"); break; case "FAIprofile" : if(!$faifilter['ShowProfiles']){ $abort = true; } - $img="P"; + $img="P"; $info = _("Profile"); break; case "FAItemplate" : if(!$faifilter['ShowTemplates']){ $abort = true; } - $img="T"; + $img="T"; $info = _("Templates"); break; default : - $img="";$info = "";break; + $img="";$info = "";break; } @@ -552,10 +579,10 @@ class faiManagement extends plugin $desc= ""; } - $field1 = array("string" => $img , "attach" => "style='height:26px;width=20px;'"); - $field2 = array("string" => preg_replace(array("/%KEY%/","/%NAME%/"),array($key,$value['cn'].$desc),$editlink) , "attach" => ""); - $field3 = array("string" => $info, "attach" => ""); - $field4 = array("string" => preg_replace("/%KEY%/",$key,$action) , "attach"=>"style='text-align:right;border:none'"); + $field1 = array("string" => $img , "attach" => "style='text-align:center;width:20px;'"); + $field2 = array("string" => preg_replace(array("/%KEY%/","/%NAME%/"),array($key,$value['cn'].$desc),$editlink) , "attach" => "style=''"); + $field3 = array("string" => $info, "attach" => "style='width:200px;'"); + $field4 = array("string" => preg_replace("/%KEY%/",$key,$action) , "attach" => "style='width:60px;border-right:0px;text-align:right;'"); $divlist->AddEntry(array($field1,$field2,$field3,$field4)); } @@ -578,6 +605,7 @@ class faiManagement extends plugin $smarty->assign("alphabet" , generate_alphabet()); $smarty->assign("apply" , apply_filter()); $smarty->assign("search_image" , get_template_path('images/search.png')); + $smarty->assign("hint", print_sizelimit_warning()); $display = $smarty->fetch(get_template_path('headpage.tpl', TRUE, dirname(__FILE__))); return ($display); @@ -618,10 +646,10 @@ class faiManagement extends plugin } ksort($tmp); foreach($tmp as $value){ - if($value["description"][0]!=".."){ + if(isset($value["description"][0])){ $this->departments[$value['dn']]=convert_department_dn2($value['dn'])." - [".$value["description"][0]."]"; }else{ - $this->departments[$value['dn']]=$value["description"][0]; + $this->departments[$value['dn']]=convert_department_dn2($value['dn']);//$value["description"][0]; } } @@ -671,6 +699,15 @@ class faiManagement extends plugin } ksort($this->objects); reset ($this->objects); + + /* use numeric index, thats a bit more secure */ + $tmp0 = array(); + foreach($this->objects as $obj){ + $tmp0[]= $obj; + } + $this->objects = array(); + $this->objects = $tmp0; + } function remove_lock()