X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_MultiSelectWindow.inc;h=226e1344e545882793864dc4a136437f0f829227;hb=d304d276784b0675372dcdb402a61bfdd3f8488d;hp=f2be830346eab428ba3064d51f5c76ae3e72bcd6;hpb=894aa86d1d4d57416d43052ea7b781ff680f03c9;p=gosa.git diff --git a/gosa-core/include/class_MultiSelectWindow.inc b/gosa-core/include/class_MultiSelectWindow.inc index f2be83034..226e1344e 100644 --- a/gosa-core/include/class_MultiSelectWindow.inc +++ b/gosa-core/include/class_MultiSelectWindow.inc @@ -1,4 +1,24 @@ filterName][$name])){ - $arr['value'] = $_SESSION['MultiDialogFilters'][$this->filterName][$name]; + $MultiDialogFilters = session::get('MultiDialogFilters'); + if(isset($MultiDialogFilters[$this->filterName][$name])){ + $arr['value'] = $MultiDialogFilters[$this->filterName][$name]; $this->$name = $arr['value']; }else{ $arr['value'] = $value; @@ -88,7 +109,7 @@ class MultiSelectWindow{ $mid = new LayersMenu(6, 7, 2, 1); $mid->setImgwww("./images/"); $mid->setIcondir("./images/"); - $mid->setDirroot("../include/php_layers_menu/"); + $mid->setDirroot("../include/utils/layer-menu/"); $mid->setHorizontalMenuTpl("../ihtml/".get_template_path("",FALSE).'GOsa_MultiSelectHeader.ihtml'); $mid->setSubMenuTpl("../ihtml/".get_template_path("",FALSE).'GOsa_MultiSelectHeaderSubEntry.ihtml'); $mid->setMenuStructureString($this->string_ListDropDown); @@ -113,12 +134,13 @@ class MultiSelectWindow{ $this->CloseButtonString = _("Close"); $this->filterName = $filterName; $this->ui = get_userinfo(); - $this->selectedBase = $_SESSION['CurrentMainBase']; + $this->selectedBase = session::get('CurrentMainBase'); /* Check default values for SaveAdditionalVars */ + $MultiDialogFilters = session::get('MultiDialogFilters'); foreach($this->SaveAdditionalVars as $name){ - if(isset($_SESSION['MultiDialogFilters'][$this->filterName][$name])){ - $this->$name = $_SESSION['MultiDialogFilters'][$this->filterName][$name]; + if(isset($MultiDialogFilters[$this->filterName][$name])){ + $this->$name = $MultiDialogFilters[$this->filterName][$name]; } } @@ -254,8 +276,9 @@ class MultiSelectWindow{ }else{ /* Check if there was already a variable for this dialog which we should use instead of the default*/ - if(isset($_SESSION['MultiDialogFilters'][$this->filterName][$name])){ - $arr['default'] = $_SESSION['MultiDialogFilters'][$this->filterName][$name]; + $MultiDialogFilters = session::get('MultiDialogFilters'); + if(isset($MultiDialogFilters[$this->filterName][$name])){ + $arr['default'] = $MultiDialogFilters[$this->filterName][$name]; $this->$name = $arr['default']; }else{ $arr['default'] = $default; @@ -497,7 +520,7 @@ class MultiSelectWindow{ if(isset($_GET['act'])&& ($_GET['act'] == "dep_open")){ $s_entry = base64_decode($_GET['dep_id']); if (!isset($this->config->departments[$s_entry])){ - print_red(_("Error: The requested subtree has an inconsistent DN encoding, check your LDAP!")); + msg_dialog::display(_("LDAP error"), sprintf(_("Inconsistent DN encoding detected: '%s'"), LDAP::fix($s_entry)), ERROR_DIALOG); } else { $this->selectedBase = $this->config->departments[$s_entry]; } @@ -517,7 +540,7 @@ class MultiSelectWindow{ if($s_action=="back"){ /* Get parent deprtment and check if we are allowed to step in it */ - $base_back= preg_replace("/^[^,]+,/", "", $_SESSION['CurrentMainBase']); + $base_back= preg_replace("/^[^,]+,/", "", session::get('CurrentMainBase')); $dep_id = $this->ui->get_module_departments($this->module); if(in_array_ics($base_back,$dep_id)){ @@ -533,19 +556,21 @@ class MultiSelectWindow{ } } } - $_SESSION['CurrentMainBase'] = $this->selectedBase; + session::set('CurrentMainBase',$this->selectedBase); if(isset($_POST['MultiSelectWindow'.$this->filterName])){ /* Save some additional vars */ + $MultiDialogFilters = session::get('MultiDialogFilters'); foreach($this->SaveAdditionalVars as $name){ if(isset($_POST[$name])){ if(isset($this->$name)){ $this->$name = $_POST[$name]; - $_SESSION['MultiDialogFilters'][$this->filterName][$name] = $_POST[$name]; + $MultiDialogFilters[$this->filterName][$name] = $_POST[$name]; } } } + session::set('MultiDialogFilters',$MultiDialogFilters); /* Check posts from checkboxes */ @@ -557,15 +582,20 @@ class MultiSelectWindow{ $this->array_Checkboxes[$key]['default'] = false; $this->$box['name'] = false; } + /* Save settings in out session */ - $_SESSION['MultiDialogFilters'][$this->filterName][$box['name']] = $this->$box['name']; + $MultiDialogFilters = session::get('MultiDialogFilters'); + $MultiDialogFilters[$this->filterName][$box['name']] = $this->$box['name']; + session::set('MultiDialogFilters',$MultiDialogFilters); } /* Check regex posts */ foreach($this->array_Regexes as $key => $box){ $this->array_Regexes[$key]['value'] = $_POST[$box['name']]; $this->$box['name'] = $_POST[$box['name']]; - $_SESSION['MultiDialogFilters'][$this->filterName][$box['name']] = $this->$box['name']; + $MultiDialogFilters = session::get('MultiDialogFilters'); + $MultiDialogFilters[$this->filterName][$box['name']] = $this->$box['name']; + session::set('MultiDialogFilters',$MultiDialogFilters); } /* call close/save if buttons are pressed */ @@ -589,7 +619,9 @@ class MultiSelectWindow{ $val = preg_replace("/\*\**/","*",$val); $this->array_Regexes[$key]['value'] = $val; $this->$box['name'] = $val; - $_SESSION['MultiDialogFilters'][$this->filterName][$box['name']] = $val; + $MultiDialogFilters = session::get('MultiDialogFilters'); + $MultiDialogFilters[$this->filterName][$box['name']] = $val; + session::set('MultiDialogFilters',$MultiDialogFilters); } } } @@ -654,10 +686,10 @@ class MultiSelectWindow{ /* check for a valid base */ if(!$base){ - if(!isset($_SESSION['CurrentMainBase'])){ - $_SESSION['CurrentMainBase'] = $this->config->current['BASE']; + if(!session::is_set('CurrentMainBase')){ + session::set('CurrentMainBase',$this->config->current['BASE']); } - $base = $_SESSION['CurrentMainBase']; + $base = session::get('CurrentMainBase'); } /* Create ldap obj and switch into base*/