X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fgroups%2Fclass_divListGroup.inc;h=06c9b5b4750696e56dea2ebe2ccd50b5e4450e88;hb=d00c540f49a26a2d62e481c4823cf775bdff0d43;hp=d1e60e06dfb16c1055202a0d5161e6621ba5f69e;hpb=0587163ffaf6b80a3682150cb43bb2d1de841e3a;p=gosa.git diff --git a/plugins/admin/groups/class_divListGroup.inc b/plugins/admin/groups/class_divListGroup.inc index d1e60e06d..06c9b5b47 100644 --- a/plugins/admin/groups/class_divListGroup.inc +++ b/plugins/admin/groups/class_divListGroup.inc @@ -11,12 +11,12 @@ class divListGroup extends MultiSelectWindow var $Regex = "*"; var $UserRegex = "*"; - /* CheckBoxes */ - var $ShowPrimaryGroups = true; - var $ShowSambaGroups = true; - var $ShowApplicationGroups = true; - var $ShowMailGroups = true; - var $ShowFunctionalGroups = true; + /* CheckBoxes, to change default values modify $this->AddCheckBox */ + var $ShowPrimaryGroups; + var $ShowSambaGroups; + var $ShowApplicationGroups; + var $ShowMailGroups; + var $ShowFunctionalGroups; /* Subsearch checkbox */ var $SubSearch = false; @@ -31,12 +31,6 @@ class divListGroup extends MultiSelectWindow $this->parent = $parent; $this->ui = get_userinfo(); - /* Set default base */ - if(!isset($_SESSION['CurrentMainBase'])){ - $_SESSION['CurrentMainBase'] = $this->config->current['BASE']; - } - $this->selectedBase = $_SESSION['CurrentMainBase']; - /* Set list strings */ $this->SetTitle(_("List of groups")); $this->SetSummary(_("List of groups")); @@ -44,18 +38,23 @@ class divListGroup extends MultiSelectWindow /* Result page will look like a headpage */ $this->SetHeadpageMode(); - $this->SetInformation(_("This menu allows you to add, edit and remove selected groups. ". - "You may want to use the range selector on top of the group listbox, when working with a large number of groups.")); + $this->SetInformation(_("This menu allows you to add, edit and remove selected groups. You may want to use the range selector on top of the group listbox, when working with a large number of groups.")); /* Disable buttonsm */ $this->EnableCloseButton(false); $this->EnableSaveButton (false); + /* Dynamic action col, depending on snapshot icons */ + $action_col_size = 70; + if($this->parent->snapshotEnabled()){ + $action_col_size += 38; + } + /* set Page header */ $this->AddHeader(array("string"=>" ","attach"=>"style='width:20px;'")); $this->AddHeader(array("string"=>_("Groupname / Department"))); $this->AddHeader(array("string"=>_("Properties"),"attach"=>"style='width:136px;'")); - $this->AddHeader(array("string"=>_("Actions"),"attach"=>"style='width:80px;border-right:0px;'")); + $this->AddHeader(array("string"=>_("Actions"),"attach"=>"style='width:".$action_col_size."px;border-right:0px;'")); /* Text ,Value ,Name ,Is selected */ $this->AddCheckBox("ShowPrimaryGroups", _("Select to see groups that are primary groups of users"), _("Show primary groups"), true); @@ -66,7 +65,7 @@ class divListGroup extends MultiSelectWindow $this->AddCheckBox(SEPERATOR); /* Add SubSearch checkbox */ - $this->AddCheckBox("SubSearch", _("Select to search within subtrees"), _("Ignore subtrees"), true); + $this->AddCheckBox("SubSearch", _("Select to search within subtrees"), _("Ignore subtrees"), false); /* Name ,Text ,Default , Connect with alphabet */ $this->AddRegex ("Regex", _("Regular expression for matching group names"), "*" , true); @@ -101,13 +100,21 @@ class divListGroup extends MultiSelectWindow "  ". "  ". "  ". - "  ". - "  ". + "  "; + + + if($this->parent->snapshotEnabled()){ + $listhead .= " ". + "  "; + } + + $listhead.="  ". $Copy_Paste. "  ". _("Base")." ". - "  ". + "  ". ""; $this->SetListHeader($listhead); @@ -128,6 +135,12 @@ class divListGroup extends MultiSelectWindow $editlink = "%s"; $userimg = "User"; + /* Dynamic action col, depending on snapshot icons */ + $action_col_size = 70; + if($this->parent->snapshotEnabled()){ + $action_col_size += 38; + } + /* Assign extension images */ $posiximg = ""; @@ -145,25 +158,26 @@ class divListGroup extends MultiSelectWindow // Space $empty = ""; - /* Create action icons - copy & paste icons */ - $actions = ""; - if($this->parent->CopyPasteHandler){ - $actions.= " "; - $actions.= " "; - } - $actions.= ""; - $actions.= ""; - - // User and Template Images $editlink = "%s"; // Test Every Entry and generate divlist Array foreach($groups as $key => $val){ + + /* Create action icons - copy & paste icons */ + $actions= ""; + if($this->parent->CopyPasteHandler){ + $actions.= " "; + $actions.= " "; + } + $actions.= ""; + $actions.= $this->GetSnapShotActions($val['dn']); + $actions.= ""; + $posix=$mail=$samba=$appl=$phone=$enviro=$empty; @@ -176,7 +190,7 @@ class divListGroup extends MultiSelectWindow if(in_array("gotoEnvironment", $val['objectClass'])) $enviro= $envimg; } - $title = "title='dn: ".@LDAP::fix($val['dn'])."'"; + $title = "title='".preg_replace('/ /', ' ', @LDAP::fix($val['dn']))."'"; if(!isset($val['description'][0])){ $desc = ""; @@ -192,7 +206,7 @@ class divListGroup extends MultiSelectWindow $field1 = array("string" => sprintf($userimg,$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, $posix." ".$enviro." ".$mail." ".$samba." ".$appl." ".$phone), "attach" => "style='width:136px;'"); - $field4 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:80px;border-right:0px;text-align:right;'"); + $field4 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:".$action_col_size."px;border-right:0px;text-align:right;'"); $this->AddElement(array($field1,$field2,$field3,$field4)); } @@ -207,54 +221,6 @@ class divListGroup extends MultiSelectWindow { /* Save automatic created POSTs like regex, checkboxes */ MultiSelectWindow::save_object(); - - $s_action =""; - foreach($_POST as $key => $value){ - if(preg_match("/^dep_back.*/i",$key)){ - $s_action="back"; - }elseif(preg_match("/^dep_root.*/",$key)){ - $s_action="root"; - }elseif(preg_match("/^dep_home.*/i",$key)){ - $s_action="home"; - } - } - - /* Save base selection from headpage selectbox*/ - if(isset($_POST['CurrentMainBase'])){ - $this->selectedBase = $_POST['CurrentMainBase']; - } - - /* Homebutton is posted */ - if($s_action=="home"){ - $ui= get_userinfo(); - $this->selectedBase=(preg_replace("/^[^,]+,/","",$ui->dn)); - $this->selectedBase=(preg_replace("/^[^,]+,/","",$this->selectedBase)); - } - - /* Open selected department - this is posted by the parent class MultiSelectWindow */ - if(isset($_GET['act'])&& ($_GET['act'] == "dep_open")){ - $s_entry = base64_decode($_GET['dep_id']); - $this->selectedBase = $this->config->departments[trim($s_entry)]; - } - - /* back to the roots ^^ */ - if($s_action=="root"){ - $this->selectedBase=($this->config->current['BASE']); - } - - /* If Backbutton is Posted */ - if($s_action=="back"){ - $base_back = preg_replace("/^[^,]+,/","",$this->selectedBase); - $base_back = convert_department_dn($base_back); - if(isset($this->config->departments[trim($base_back)])){ - $this->selectedBase= $this->config->departments[trim($base_back)]; - }else{ - $this->selectedBase= $this->config->departments["/"]; - } - } - - $_SESSION['CurrentMainBase'] = $this->selectedBase; } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: