X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fapplications%2Fclass_applicationManagement.inc;h=26cb834c5e3b797ea7623a32d59889381ee7a6ad;hb=969b5c3e6fb3643d2b9b77bcb92b7c329f22512b;hp=e52646bd9ed7524b9af7ee8864234dafdfe202ff;hpb=721c5fa0836cba0f00488aaeaa6e0cd8f48385ea;p=gosa.git
diff --git a/plugins/admin/applications/class_applicationManagement.inc b/plugins/admin/applications/class_applicationManagement.inc
index e52646bd9..26cb834c5 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 */
@@ -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,65 +323,77 @@ class applicationManagement extends plugin
// Managment
$listhead = "";
- $actions = "";
- $actions.= "";
+ $actions = "";
+ $actions.= "";
// Defining Links
$linkopen = "%s";
// image Buttons
$editlink = "%s";
- $userimg = "
";
+ $userimg = "
";
// Extension images
- $applimg = "
";
+ $applimg = "
";
// 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" => "
");
- $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" => "
", "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));
}
foreach($this->applications as $key => $val){
- $title = "title='gid : ".$key." - dn : ".$val['dn']."'";
+ $title = "title='dn : ".$val['dn']."'";
if(!isset($val['description'][0])){
$desc = "";
}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,23 +445,46 @@ 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){
- if($value["description"][0]!=".."){
- $this->departments[$value['dn']]= convert_department_dn2($value['dn'])." - [".$value["description"][0]."]";
+ $tmp[strtolower($value['dn']).$value['dn']]=$value;
+ }
+ ksort($tmp);
+ foreach($tmp as $value){
+ 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];
}
}
+
/* END NEW LIST MANAGMENT
*/
+ $tmp=array();
+ foreach($this->applications as $tkey => $val ){
+ $tmp[strtolower($val['cn'][0]).$val['cn'][0]]=$val;
+ }
+ ksort($tmp);
+ $this->applications=array();
+ foreach($tmp as $val){
+ $this->applications[]=$val;
+ }
+ reset ($this->applications);
+
}