diff --git a/plugins/admin/ogroups/class_ogroupManagement.inc b/plugins/admin/ogroups/class_ogroupManagement.inc
index 4539967ef724b96680d02d0bf8bf4147a5d96a86..300683b890f4bb3274bfc5ea93ccc614e530b1a5 100644 (file)
function execute()
{
- /* Call parent execute */
- plugin::execute();
+ /* Call parent execute */
+ plugin::execute();
+
+ $_SESSION['LOCK_VARS_TO_USE'] = array("/^act$/","/^id$/","/^group_edit_/","/^group_del_/");
/* Prepare template */
$smarty= get_smarty();
/* Test Posts */
foreach($_POST as $key => $val){
// Post for delete
- if(preg_match("/group_del.*/",$key)){
+ if(preg_match("/^group_del.*/",$key)){
$s_action = "del";
- $s_entry = preg_replace("/group_".$s_action."_/i","",$key);
+ $s_entry = preg_replace("/^group_".$s_action."_/i","",$key);
// Post for edit
- }elseif(preg_match("/group_edit_.*/",$key)){
+ }elseif(preg_match("/^group_edit_.*/",$key)){
$s_action="edit";
- $s_entry = preg_replace("/group_".$s_action."_/i","",$key);
+ $s_entry = preg_replace("/^group_".$s_action."_/i","",$key);
// Post for new
- }elseif(preg_match("/dep_back.*/i",$key)){
+ }elseif(preg_match("/^dep_back.*/i",$key)){
$s_action="back";
- }elseif(preg_match("/group_new.*/",$key)){
+ }elseif(preg_match("/^group_new.*/",$key)){
$s_action="new";
- }elseif(preg_match("/dep_home.*/i",$key)){
+ }elseif(preg_match("/^dep_home.*/i",$key)){
$s_action="home";
- }elseif(preg_match("/group_tplnew.*/i",$key)){
+ }elseif(preg_match("/^group_tplnew.*/i",$key)){
$s_action="new_tpl";
- }elseif(preg_match("/group_chgpw.*/i",$key)){
+ }elseif(preg_match("/^group_chgpw.*/i",$key)){
$s_action="change_pw";
$s_entry = preg_replace("/group_chgpw_/i","",$key);
- }elseif(preg_match("/dep_root.*/i",$key)){
+ }elseif(preg_match("/^dep_root.*/i",$key)){
$s_action="root";
+ }elseif(preg_match("/_group_edit_/",$key)){
+ $type = preg_replace("/_group_edit_.*$/","",$key);
+ $s_action="edit";
+ $s_entry = preg_replace("/".$type."_group_edit_/i","",$key);
+ $_POST['arg'] = $type;
}
+
}
$s_entry = preg_replace("/_.$/","",$s_entry);
/* Create new usertab object */
$this->ogroup= new ogrouptabs($this->config,
- $this->config->data['TABS']['OGROUPTABS'], $this->dn);
- $this->ogroup->set_acl(array(':all'));
+ $this->config->data['TABS']['OGROUPTABS'], $this->dn);
}
if ($s_action=="del"){
/* Lock the current entry, so nobody will edit it during deletion */
add_lock ($this->dn, $this->ui->dn);
- $smarty->assign("info", sprintf(_("You're about to delete the object group '%s'."), $this->dn));
+ $smarty->assign("info", sprintf(_("You're about to delete the object group '%s'."), LDAP::fix($this->dn)));
return($smarty->fetch(get_template_path('remove.tpl', TRUE)));
} else {
/* Delete request is permitted, perform LDAP action */
$this->ogroup= new ogrouptabs($this->config,
- $this->config->data['TABS']['OGROUPTABS'], $this->dn);
+ $this->config->data['TABS']['OGROUPTABS'], $this->dn);
$this->ogroup->set_acl(array($this->acl));
$this->ogroup->delete ();
gosa_log ("Object group'".$this->dn."' has been removed");
// 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")."'
+ " <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 type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."'
+ " <input class='center' 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_ogroup.png' title='"._("Create new object group")."' alt='"._("new")."' name='group_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")."'> ".
+ " <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_ogroup.png' title='"._("Create new object group")."' alt='"._("new")."' name='group_new'>".
+ " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
+ _("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>";
- $actions = "<input type='image' src='images/edit.png' alt='"._("edit")."' name='group_edit_%KEY%' title='"._("Edit this entry")."'>";
- $actions.= "<input type='image' src='images/edittrash.png' alt='"._("delete")."' name='group_del_%KEY%' title='"._("Delete this entry")."'>";
+ $actions = "<input class='center' type='image' src='images/edit.png' alt='"._("edit")."' name='group_edit_%KEY%' title='"._("Edit this entry")."'>";
+ $actions.= "<input class='center' type='image' src='images/edittrash.png' alt='"._("delete")."' name='group_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>";
- $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
- $mailimg = "<img src='images/mailto.png' alt='M' title='"._("Mail") ."'>";
+ $mailimg = "<img class='center' src='images/mailto.png' alt='M' title='"._("Mail") ."'>";
// 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=''>";
// List Setup
$divlist = new divlist("ogroubstab");
$divlist->SetHeader(array(
- array("string" => " ","attach"=>"style='width:20px;'"),
- array("string" => _("Name of object groups")." / "._("Departments")),
- array("string" => _("Properties") ,"attach"=>"style='width:50px;'"),
- array("string" => _("Actions") ,"attach"=>"style='width:50px;border:none;'")
+ array("string" => " ", "attach" => "style='text-align:center;width:20px;'"),
+ array("string" => _("Name of object groups")." / "._("Departments"), "attach" => "style=''"),
+ array("string" => _("Properties"), "attach" => "style='width:136px;'"),
+ array("string" => _("Actions"), "attach" => "style='width:60px;border-right:0px;text-align:right;'")
));
- $field1 = array("string" => "<img src='images/".$non_empty."folder.png' alt='"._("Department")."'>");
- $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val));
- $field3 = array("string" => " ");
- $field4 = array("string" => " ","attach"=>"style='text-align:right;border:none'");
+ $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:136px;'");
+ $field4 = array("string" => " ", "attach" => "style='width:60px;border-right:0px;text-align:right;'");
$divlist->AddEntry(array($field1,$field2,$field3,$field4));
}
}else{
$desc = " - [ ".$val['description'][0]." ]";
}
- $field1 = array("string" => "<img src='images/list_ogroup.png' alt='"._("Object group")."' ".$title.">");
- $field2 = array("string" => sprintf($editlink,$key,($val['cn']['0'].$desc)),"attach"=>$title);
- $field3 = array("string" => $this->convert_list($val)." ".$mail);
- $field4 = array("string" => preg_replace("/%KEY%/", $key, $actions),"attach"=>"style='text-align:right;border:none'");
+ $field1 = array("string" => "<img src='images/list_ogroup.png' alt='"._("Object group")."' ".$title.">", "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, $this->convert_list($val))." ".$mail, "attach" => "style='width:136px;'");
+ $field4 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:60px;border-right:0px;text-align:right;'");
$divlist->AddEntry(array($field1,$field2,$field3,$field4));
}
$conv= array(
- "U" => array("select_user.png",_("User")),
- "G" => array("select_groups.png",_("Group")),
- "A" => array("select_application.png",_("Application")),
- "D" => array("select_department.png",_("Department")),
- "S" => array("select_server.png",_("Server")),
- "F" => array("select_phone.png",_("Phone")),
- "W" => array("select_workstation.png",_("Workstation")),
- "T" => array("select_terminal.png",_("Terminal")),
- "P" => array("select_printer.png",_("Printer")));
+ "U" => array("select_user.png" ,_("User") , "ogroup"),
+ "G" => array("select_groups.png" ,_("Group") , "ogroup"),
+ "A" => array("select_application.png" ,_("Application") , "ogroup"),
+ "D" => array("select_department.png" ,_("Department") , "ogroup"),
+ "S" => array("select_server.png" ,_("Server") , "ogroup"),
+ "F" => array("select_phone.png" ,_("Phone") , "phonequeue"),
+ "W" => array("select_workstation.png" ,_("Workstation") , "workstartup"),
+ "T" => array("select_terminal.png" ,_("Terminal") , "termgroup"),
+ "P" => array("select_printer.png" ,_("Printer") , "ogroup"));
/* Assemble picture */
$type= $input['gosaGroupObjects'][0];
$p1['pic']= $conv[$type[0]][0];
$p1['tit']= $conv[$type[0]][1];
$p1['alt']= $type[0];
+ $p1['lnk']= $conv[$type[0]][2];
} else {
$p1['pic']= "empty.png";
$p1['tit']= "";
$p1['alt']= "";
+ $p1['lnk']= "";//$conv[$type[0]][2];
}
+
if (isset($type[1])){
$p2['pic']= $conv[$type[1]][0];
$p2['alt']= $type[1];
$p2['tit']= $conv[$type[1]][1];
+ $p2['lnk']= $conv[$type[1]][2];
} else {
$p2['pic']= "empty.png";
$p2['alt']= "";
$p2['tit']= "";
+ $p2['lnk']= ""; //$conv[$type[0]][2];
}
- $temp = "<img src='images/".$p1['pic']."' alt='".$p1['alt']."' title='".$p1['tit']."'>";
- $temp.= "<img src='images/".$p2['pic']."' alt='".$p2['alt']."' title='".$p2['tit']."'>";
+ $temp = "<input type='image' name='".$p1['lnk']."_group_edit_%KEY' class='center'
+ src='images/".$p1['pic']."' alt='".$p1['alt']."' title='".$p1['tit']."'>";
+ $temp.= "<input type='image' name='".$p2['lnk']."_group_edit_%KEY'class='center'
+ src='images/".$p2['pic']."' alt='".$p2['alt']."' title='".$p2['tit']."'>";
return ($temp);
}
if ($ogroupfilter['fongroups'] == "checked"){
$filter.= "(gosaGroupObjects=*F*)";
}
+ $filter.= "(gosaGroupObjects=[])";
if ($filter != ""){
$filter= "(&(cn=$regex)(objectClass=gosaGroupOfNames)(|$filter))";
* 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);
}
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];
}
}
/* END NEW LIST MANAGMENT