diff --git a/plugins/admin/applications/class_applicationManagement.inc b/plugins/admin/applications/class_applicationManagement.inc
index 90df8771ec6017281a28bfa00545f8bc98f56823..26cb834c5e3b797ea7623a32d59889381ee7a6ad 100644 (file)
function execute()
{
function execute()
{
+ /* Call parent execute */
+ plugin::execute();
+
/* Save data */
$appfilter = get_global("appfilter");
$smarty = get_smarty(); // Smarty instance
/* Save data */
$appfilter = get_global("appfilter");
$smarty = get_smarty(); // Smarty instance
$s_action="open";
$s_entry = base64_decode($_GET['dep_id']);
$appfilter['depselect']= "".$this->config->departments[trim($s_entry)];
$s_action="open";
$s_entry = base64_decode($_GET['dep_id']);
$appfilter['depselect']= "".$this->config->departments[trim($s_entry)];
- $this->reload();
}
/* Test Posts */
}
/* Test Posts */
/* Department changed? */
if(isset($_POST['depselect']) && $_POST['depselect']){
$appfilter['depselect']= $_POST['depselect'];
/* 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']));
}
/* 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']);
}
if($s_action=="root"){
$appfilter['depselect']=($this->config->current['BASE']);
- $this->reload();
}
/* If Backbutton is Posted */
}
/* If Backbutton is Posted */
}else{
$appfilter['depselect']= $this->config->departments["/"];
}
}else{
$appfilter['depselect']= $this->config->departments["/"];
}
- $this->reload();
}
if (isset($_POST['regex'])){
}
if (isset($_POST['regex'])){
register_global("appfilter", $appfilter);
/* Check sorting variable */
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 */
$smarty= get_smarty();
/* Check for exeeded sizelimit */
/* Don't show buttons if tab dialog requests this */
if (!$this->apptabs->by_object[$this->apptabs->current]->dialog){
$display.= "<p style=\"text-align:right\">\n";
/* Don't show buttons if tab dialog requests this */
if (!$this->apptabs->by_object[$this->apptabs->current]->dialog){
$display.= "<p style=\"text-align:right\">\n";
- $display.= "<input type=submit name=\"edit_finish\" value=\""._("Finish")."\">\n";
+ $display.= "<input type=\"submit\" name=\"edit_finish\" value=\""._("Finish")."\">\n";
$display.= " \n";
$display.= " \n";
- $display.= "<input type=submit name=\"edit_cancel\" value=\""._("Cancel")."\">\n";
+ $display.= "<input type=\"submit\" name=\"edit_cancel\" value=\""._("Cancel")."\">\n";
$display.= "</p>";
}
return ($display);
$display.= "</p>";
}
return ($display);
$options= "";
foreach ($this->config->idepartments as $key => $value){
if ($appfilter['depselect'] == $key){
$options= "";
foreach ($this->config->idepartments as $key => $value){
if ($appfilter['depselect'] == $key){
- $options.= "<option selected value='$key'>$value</option>";
+ $options.= "<option selected='selected' value='$key'>$value</option>";
} else {
$options.= "<option value='$key'>$value</option>";
}
} else {
$options.= "<option value='$key'>$value</option>";
}
// Managment
$listhead = "<div style='background:#F0F0F9;padding:5px;'>".
// Managment
$listhead = "<div style='background:#F0F0F9;padding:5px;'>".
- " <input type='image' align='middle' src='images/list_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'> ".
- " <input type='image' src='images/list_root.png' align='middle' title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'> ".
- " <input type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'> ".
- " <img src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
- " <input type='image' align='middle' src='images/list_new_app.png' alt='"._("new")."' title='"._("Create new application")."' name='appl_new'> ".
- " <img src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
- _("Current base")." <select name='depselect' onChange='mainform.submit()'>$options</select>".
- " <input type='image' src='images/list_submit.png' align='middle' title='"._("Submit department")."' name='submit_department' alt='"._("Submit")."'> ".
+ " <input class='center' type='image' align='middle' src='images/list_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'> ".
+ " <input class='center' type='image' src='images/list_root.png' align='middle' title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'> ".
+ " <input class='center' type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'> ".
+ " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
+ " <input class='center' type='image' align='middle' src='images/list_new_app.png' alt='"._("new")."' title='"._("Create new application")."' name='appl_new'> ".
+ " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
+ _("Current base")." <select name='depselect' onChange='mainform.submit()' class='center'>$options</select>".
+ " <input class='center' type='image' src='images/list_submit.png' align='middle' title='"._("Submit department")."' name='submit_department' alt='"._("Submit")."'> ".
"</div>";
"</div>";
- $actions = "<input type='image' src='images/edit.png' alt='"._("edit")."' name='appl_edit_%KEY%' title='"._("Edit this entry")."'>";
- $actions.= "<input type='image' src='images/edittrash.png' alt='"._("delete")."' name='appl_del_%KEY%' title='"._("Delete this entry")."'>";
+ $actions = "<input class='center' type='image' src='images/edit.png' alt='"._("edit")."' name='appl_edit_%KEY%' title='"._("Edit this entry")."'>";
+ $actions.= "<input class='center' type='image' src='images/edittrash.png' alt='"._("delete")."' name='appl_del_%KEY%' title='"._("Delete this entry")."'>";
// Defining Links
$linkopen = "<a href='?plug=".$_GET['plug']."&act=dep_open&dep_id=%s'>%s</a>";
// image Buttons
$editlink = "<a href='?plug=".$_GET['plug']."&id=%s&act=edit_entry'>%s</a>";
// Defining Links
$linkopen = "<a href='?plug=".$_GET['plug']."&act=dep_open&dep_id=%s'>%s</a>";
// image Buttons
$editlink = "<a href='?plug=".$_GET['plug']."&id=%s&act=edit_entry'>%s</a>";
- $userimg = "<img src='images/select_groups.png' alt='User' title='%s'>";
+ $userimg = "<img class='center' src='images/select_groups.png' alt='User' title='%s'>";
// Extension images
// Extension images
- $applimg = "<img src='images/select_application.png' alt='A' title='"._("Application")."'>";
+ $applimg = "<img class='center' src='images/select_application.png' alt='A' title='"._("Application")."'>";
// Space
// Space
- $empty = "<img src='images/empty.png' style='width:16px;height:16px;' alt=''>";
+ $empty = "<img class='center' src='images/empty.png' style='width:16px;height:16px;' alt=''>";
- $divlist = new divlist();
+ $divlist = new divlist("applicationtabs");
$divlist->SetHeader(array(
$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->SetSummary(_("This table displays all groups, in the selected tree."));
- $divlist->SetEntriesPerPage(20);
+ $divlist->SetEntriesPerPage(0);
foreach($this->departments as $key=> $val){
foreach($this->departments as $key=> $val){
- $field1 = array("string" => "<img src='images/folder.png' alt='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" => "<img src='images/".$non_empty."folder.png' alt='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));
}
$divlist->AddEntry(array($field1,$field2,$field3));
}
}else{
$desc = " - [ ".$val['description'][0]." ]";
}
}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));
}
$divlist->AddEntry(array($field1,$field2,$field3));
}
} else {
$regex= "*";
}
} else {
$regex= "*";
}
-
+
/* Generate application list */
/* 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;
$this->applications= array();
foreach ($res as $value){
$this->applications[]= $value;
* We also need to search for the departments
* So we are able to navigate like in konquerer
*/
* 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();
$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){
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{
}else{
- $this->departments[$value['dn']]=$value["description"][0];
+ $this->departments[$value['dn']]=convert_department_dn2($value['dn']);//$value["description"][0];
}
}
}
}
+
/* END NEW LIST MANAGMENT
*/
/* 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);
+
}
}