X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_MultiSelectWindow.inc;h=00d49d6d57c74d175f18172fc0a8df16cf8f8a19;hb=b130a469e86d937a382fac5864219c190f2a6e36;hp=8e9f0feda64735c37b1cb5c1104530083c0d712e;hpb=8d527cf6ab2f24691e1da60bfaab49574cb60207;p=gosa.git diff --git a/include/class_MultiSelectWindow.inc b/include/class_MultiSelectWindow.inc index 8e9f0feda..00d49d6d5 100644 --- a/include/class_MultiSelectWindow.inc +++ b/include/class_MultiSelectWindow.inc @@ -29,14 +29,26 @@ class MultiSelectWindow{ var $DepartmentsAdded = false; var $selectedBase = ""; - var $SaveAdditionalVars = array(); // Additional Post vars to store + var $DivHeight = ""; + + var $HideFilterPart = false; + var $SaveAdditionalVars = array(); // Additional Post vars to store function ClearElementsList() { $this->array_Elements = array(); } + function HideFilterPart($bool = true) + { + $this->HideFilterPart = $bool; + } + + 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") @@ -67,10 +79,6 @@ class MultiSelectWindow{ $this->CloseButtonString = _("Close"); $this->filterName = $filterName; - /* Set default base */ - if(!isset($_SESSION['CurrentMainBase'])){ - $_SESSION['CurrentMainBase'] = $this->config->current['BASE']; - } $this->selectedBase = $_SESSION['CurrentMainBase']; /* Check default values for SaveAdditionalVars */ @@ -227,6 +235,10 @@ class MultiSelectWindow{ $divlist = new divlist($this->string_Title); $divlist->SetSummary($this->string_Summary); $divlist->SetEntriesPerPage(0); // 0 for scrollable list + + if($this->DivHeight != ""){ + $divlist->SetHeight($this->DivHeight); + } /* set Header informations */ @@ -286,6 +298,13 @@ class MultiSelectWindow{ } $smarty->assign("regexes" , $regexes ); + /* Hide Filter Part if Requested or empty */ + if((empty($boxes)) && (empty($regexes)) || ($this->HideFilterPart)){ + $smarty->assign("Skip_Filter_Part", true); + }else{ + $smarty->assign("Skip_Filter_Part", false); + } + /* Assign alphabet and display it */ $smarty->assign("Display_alphabet", $this->bool_DisplayAlpahabet); @@ -361,16 +380,20 @@ class MultiSelectWindow{ /* Homebutton is posted */ if($s_action=="home"){ - $ui= get_userinfo(); - $this->selectedBase=(preg_replace("/^[^,]+,/","",$ui->dn)); - $this->selectedBase=(preg_replace("/^[^,]+,/","",$this->selectedBase)); + $ui= get_userinfo(); + $base = get_base_from_people($ui->dn); + $this->selectedBase= $base; } /* 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)]; + if (!isset($this->config->departments[$s_entry])){ + print_red(_("Error: The requested subtree has an inconsistent DN encoding, check your LDAP!")); + } else { + $this->selectedBase = $this->config->departments[$s_entry]; + } } /* back to the roots ^^ */ @@ -453,6 +476,7 @@ class MultiSelectWindow{ $val = preg_replace("/\*\**/","*",$val); $this->array_Regexes[$key]['value'] = $val; $this->$box['name'] = $val; + $_SESSION['MultiDialogFilters'][$this->filterName][$box['name']] = $val; } } }