X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_MultiSelectWindow.inc;h=cf90a8d01284605c60424d83be2aa24e1a46d768;hb=d2a7f50083180fccb855c116a0f16cbca2636f62;hp=f201660a64c7d8f98059b6bd2bec98d8d9f7760f;hpb=5d6d08f1480ac389e3d91ee54899420b174c06e5;p=gosa.git diff --git a/include/class_MultiSelectWindow.inc b/include/class_MultiSelectWindow.inc index f201660a6..cf90a8d01 100644 --- a/include/class_MultiSelectWindow.inc +++ b/include/class_MultiSelectWindow.inc @@ -34,8 +34,7 @@ class MultiSelectWindow{ var $HideFilterPart = false; var $SaveAdditionalVars = array(); // Additional Post vars to store - - var $force_height = false; + var $module= ""; function ClearElementsList() { @@ -47,18 +46,11 @@ class MultiSelectWindow{ $this->HideFilterPart = $bool; } - function ForceMaximumDivHeight($height = "") - { - $this->DivHeight = $height; - if(!empty($height)){ - $this->force_height = true; - }else{ - $this->force_height = false; - } + function SetHeight($height) + { + $this->DivHeight=$height; } - - /* Adds a regex input field to the current dialog */ function AddRegex($name,$string,$value,$conn,$image="images/search.png") { @@ -81,19 +73,14 @@ class MultiSelectWindow{ } /* Contrucktion */ - function MultiSelectWindow($config,$filterName) + function MultiSelectWindow($config, $filterName, $module) { $this->config = $config; + $this->module = $module; $this->SaveButtonString = _("Save"); $this->CloseButtonString = _("Close"); $this->filterName = $filterName; - /* Set default base, to users base */ - $ui = get_userinfo(); - $base = get_base_from_people($ui->dn); - if(!isset($_SESSION['CurrentMainBase'])){ - $_SESSION['CurrentMainBase'] = $base; - } $this->selectedBase = $_SESSION['CurrentMainBase']; /* Check default values for SaveAdditionalVars */ @@ -286,9 +273,9 @@ class MultiSelectWindow{ /* Check if box is checked */ if($box['default'] == true){ - $boxes .=" ".$box['string']."
"; + $boxes .=" ".$box['string']."
"; }else{ - $boxes .=" ".$box['string']."
"; + $boxes .=" ".$box['string']."
"; } } $smarty->assign("CheckBoxes", $boxes); @@ -305,8 +292,8 @@ class MultiSelectWindow{ - + "; @@ -356,8 +343,6 @@ class MultiSelectWindow{ $smarty->assign("filterName" , $this->filterName); $smarty->assign("is_headpage" , $this->is_headpage); - $smarty->assign("force_height",$this->force_height); - $display = $smarty->fetch(get_template_path("MultiSelectWindow.tpl")); return($display); } @@ -377,6 +362,11 @@ class MultiSelectWindow{ Store data also into a session var, to keep the checkboxes check after reload */ function save_object() { + /* Get up to date config */ + if(isset($this->parent->config)){ + $this->config = $this->parent->config; + } + /* Update current base */ if($this->DepartmentsAdded){ $s_action =""; @@ -493,12 +483,56 @@ class MultiSelectWindow{ $val = preg_replace("/\*\**/","*",$val); $this->array_Regexes[$key]['value'] = $val; $this->$box['name'] = $val; + $_SESSION['MultiDialogFilters'][$this->filterName][$box['name']] = $val; } } } - } + + /* Create header snapshot value */ + function get_snapshot_header() + { + $str = " "; + if($this->parent->snapshotEnabled()){ + $ok = false; + foreach($this->parent->get_used_snapshot_bases() as $base){ + $ok |= count($this->parent->getAllDeletedSnapshots($base)) >= 1 ; + } + if($ok){ + $str = " "; + }else{ + $str = " "; + } + +# $str .= " "; + } + return($str); + } + + + function GetSnapShotActions($dn) + { + $str= ""; + if($this->parent->snapshotEnabled()){ + + if(count($this->parent->Available_SnapsShots($dn))){ + $str.= " "; + } else { + $str = " "; + } + + $str.= " "; + } + + return($str); + } + + /* this function adds the sub-departments of the current tree to the list */ function AddDepartments($base = false,$numtabs = 3) { @@ -520,8 +554,8 @@ class MultiSelectWindow{ $this->departments = array(); /* Get all departments within this subtree */ - $deps= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->ui->subtreeACL, - $base, array("ou", "description"), GL_SIZELIMIT | GL_CONVERT); + $deps= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->module, $base, + array("ou", "description"), GL_SIZELIMIT | GL_CONVERT); /* Edit delete link for system types */ @@ -540,6 +574,7 @@ class MultiSelectWindow{ /* Add deps to this dialog object list */ foreach($this->departments as $key=> $val){ + /* Add missing entries ... */ if(!isset($this->config->departments[trim($key)])){ $this->config->departments[trim($key)]="";