X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fapplications%2Fclass_applicationManagement.inc;h=261b19617f614da68115c5b7f14f0cf29721c093;hb=2c0515a09cbb244ec32757b8372f7e55830a67e3;hp=fb4d3f98d939e1233926c77a08caceab1682ebb4;hpb=317f1e4c9f590ddfacb40f5d8f7f92283c92e1ba;p=gosa.git diff --git a/plugins/admin/applications/class_applicationManagement.inc b/plugins/admin/applications/class_applicationManagement.inc index fb4d3f98d..261b19617 100644 --- a/plugins/admin/applications/class_applicationManagement.inc +++ b/plugins/admin/applications/class_applicationManagement.inc @@ -48,6 +48,9 @@ class applicationManagement extends plugin function execute() { + /* Call parent execute */ + plugin::execute(); + /* Save data */ $appfilter = get_global("appfilter"); $smarty = get_smarty(); // Smarty instance @@ -60,7 +63,6 @@ class applicationManagement extends plugin $s_action="open"; $s_entry = base64_decode($_GET['dep_id']); $appfilter['depselect']= "".$this->config->departments[trim($s_entry)]; - $this->reload(); } /* Test Posts */ @@ -95,19 +97,16 @@ class applicationManagement extends plugin /* Department changed? */ if(isset($_POST['depselect']) && $_POST['depselect']){ $appfilter['depselect']= $_POST['depselect']; - $this->reload(); } /* Homebutton is posted */ if($s_action=="home"){ $appfilter['depselect']=(preg_replace("/^[^,]+,/","",$this->ui->dn)); $appfilter['depselect']=(preg_replace("/^[^,]+,/","",$appfilter['depselect'])); - $this->reload(); } if($s_action=="root"){ $appfilter['depselect']=($this->config->current['BASE']); - $this->reload(); } /* If Backbutton is Posted */ @@ -120,7 +119,6 @@ class applicationManagement extends plugin }else{ $appfilter['depselect']= $this->config->departments["/"]; } - $this->reload(); } if (isset($_POST['regex'])){ @@ -136,12 +134,7 @@ class applicationManagement extends plugin register_global("appfilter", $appfilter); /* Check sorting variable */ - if (!isset($this->apptabs) && - !isset($_POST['new_app']) && - !isset($_POST['delete_app']) && - !isset($_POST['select_app'])){ - $this->reload(); - } + $this->reload(); $smarty= get_smarty(); /* Check for exeeded sizelimit */ @@ -254,7 +247,7 @@ class applicationManagement extends plugin /* Lock the current entry, so nobody will edit it during deletion */ add_lock ($this->dn, $this->ui->dn); $smarty= get_smarty(); - $smarty->assign("intro", sprintf(_("You're about to delete the application '%s'."), $this->dn)); + $smarty->assign("intro", sprintf(_("You're about to delete the application '%s'."), LDAP::fix($this->dn))); return($smarty->fetch (get_template_path('remove.tpl', TRUE))); } else { @@ -308,9 +301,9 @@ class applicationManagement extends plugin /* Don't show buttons if tab dialog requests this */ if (!$this->apptabs->by_object[$this->apptabs->current]->dialog){ $display.= "

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

"; } return ($display); @@ -322,7 +315,7 @@ class applicationManagement extends plugin $options= ""; foreach ($this->config->idepartments as $key => $value){ if ($appfilter['depselect'] == $key){ - $options.= ""; + $options.= ""; } else { $options.= ""; } @@ -330,50 +323,62 @@ class applicationManagement extends plugin // Managment $listhead = "
". - "  ". - "  ". - "  ". - "  ". - "  ". - "  ". - _("Current base")." ". - "  ". + "  ". + "  ". + "  ". + "  ". + "  ". + "  ". + _("Base")." ". + "  ". "
"; - $actions = ""; - $actions.= ""; + $actions = ""; + $actions.= ""; // Defining Links $linkopen = "%s"; // image Buttons $editlink = "%s"; - $userimg = "User"; + $userimg = "User"; // Extension images - $applimg = "A"; + $applimg = "A"; // Space - $empty = ""; + $empty = ""; - $divlist = new divlist(); + $divlist = new divlist("applicationtabs"); $divlist->SetHeader(array( - array("string" => ""), - array("string" => _("Application name")." / "._("Department")), - array("string" => _("Actions") ,"attach"=>"style='border:none;width:40px;'") + array("string" => " ", "attach" => "style='text-align:center;width:20px;'"), + array("string" => _("Application name")." / "._("Department"), "attach" => "style=''"), + array("string" => _("Actions"), "attach" => "style='width:60px;border-right:0px;text-align:right;'") )); $divlist->SetSummary(_("This table displays all groups, in the selected tree.")); - $divlist->SetEntriesPerPage(20); + $divlist->SetEntriesPerPage(0); foreach($this->departments as $key=> $val){ - $field1 = array("string" => "department"); - $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val)); - $field3 = array("string" => " ","attach"=>"style='text-align:right;border:none'"); + if(!isset($this->config->departments[trim($key)])){ + $this->config->departments[trim($key)]=""; + } + + $non_empty=""; + $keys= str_replace("/","\/",$key); + foreach($this->config->departments as $keyd=>$vald ){ + if(preg_match("/".$keys."\/.*/",$keyd)){ + $non_empty="full"; + } + } + + $field1 = array("string" => "department", "attach" => "style='text-align:center;width:20px;'"); + $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val), "attach" => "style=''"); + $field3 = array("string" => " ", "attach" => "style='width:60px;border-right:0px;text-align:right;'"); $divlist->AddEntry(array($field1,$field2,$field3)); } @@ -386,9 +391,9 @@ class applicationManagement extends plugin }else{ $desc = " - [ ".$val['description'][0]." ]"; } - $field1 = array("string" => sprintf($applimg,$val['dn']),"attach"=>"style='width:20px;align:middle;'"); - $field2 = array("string" => sprintf($editlink,$key,($val['cn']['0'].$desc)),"attach"=>$title); - $field3 = array("string" => preg_replace("/%KEY%/", $key, $actions),"attach"=>"style='text-align:right;border:none'"); + $field1 = array("string" => sprintf($applimg,$val['dn']), "attach" => "style='text-align:center;width:20px;'"); + $field2 = array("string" => sprintf($editlink,$key,($val['cn']['0'].$desc)), "attach" => "style='' ".$title); + $field3 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:60px;border-right:0px;text-align:right;'"); $divlist->AddEntry(array($field1,$field2,$field3)); } @@ -425,9 +430,9 @@ class applicationManagement extends plugin } else { $regex= "*"; } - + /* Generate application list */ - $res= get_list($this->ui->subtreeACL, "(&(cn=$regex)(objectClass=gosaApplication))", TRUE, $base, array("*"), TRUE); + $res= get_list($this->ui->subtreeACL, "(&(cn=$regex)(objectClass=gosaApplication))", FALSE, "ou=apps,".$base, array("*"), TRUE); $this->applications= array(); foreach ($res as $value){ $this->applications[]= $value; @@ -440,13 +445,17 @@ class applicationManagement extends plugin * We also need to search for the departments * So we are able to navigate like in konquerer */ - $base2 = preg_replace("/ou=people,/i","",$base); + $peopleOU = get_people_ou(); + + if(empty($peopleOU)){ + $base2 = $base; + }else{ + $base2 = preg_replace("/".$peopleOU."/i","",$base); + } $res3 = get_list2($this->ui->subtreeACL, "(&(|(ou=$regex)(description=$regex))(objectClass=gosaDepartment))", TRUE, $base2, array("ou", "description"), TRUE); - - $this->departments= array(); $tmp = array(); foreach ($res3 as $value){ @@ -454,10 +463,10 @@ class applicationManagement 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]; } }