X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_baseSelector.inc;h=0b26ffe0bbdda9f530448fe31c623eb7d1c6a110;hb=226580d683c1bebd09e732b0ce8af02935fd7e31;hp=b11c8364965bee62595c759d33ac643427497c0c;hpb=91d21d3282a7f9245ec7d7f02dbb88c955d4d732;p=gosa.git diff --git a/gosa-core/include/class_baseSelector.inc b/gosa-core/include/class_baseSelector.inc index b11c83649..0b26ffe0b 100644 --- a/gosa-core/include/class_baseSelector.inc +++ b/gosa-core/include/class_baseSelector.inc @@ -57,7 +57,6 @@ class baseSelector { function setBase($base) { - $base = LDAP::fix($base); if (isset($this->pathMapping[$base])) { $this->base= $base; $this->update(true); @@ -92,7 +91,8 @@ class baseSelector { $elements= explode(',', substr($base, 0, strlen($base) - strlen($config->current['BASE']))); $elements= array_reverse($elements, true); - $this->pathMapping[LDAP::fix($base)]= $base == $config->current['BASE']? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements))); + $this->pathMapping[$base]= $base == $config->current['BASE']? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements))); + $this->pathMapping[$base]= stripslashes( $this->pathMapping[$base]); } // Save bases to session for autocompletion @@ -111,6 +111,7 @@ class baseSelector { if(isset($_REQUEST['BPID']) && $_REQUEST['BPID'] == $this->pid) { if (isset($_POST['bs_rebase_'.$this->pid]) && !empty($_POST['bs_rebase_'.$this->pid])) { $new_base= base64_decode($_POST['bs_rebase_'.$this->pid]); + if (isset($this->pathMapping[$new_base])) { $this->base= $new_base; $this->action= 'rebase'; @@ -119,6 +120,7 @@ class baseSelector { return false; } }else{ + // Input field set? if (isset($_POST['bs_input_'.$this->pid])) { @@ -128,7 +130,7 @@ class baseSelector { // Check if base is available $this->lastState= false; foreach ($this->pathMapping as $key => $path) { - if (mb_strtolower($path) == mb_strtolower($_POST['bs_input_'.$this->pid])) { + if (mb_strtolower($path) == mb_strtolower(get_post('bs_input_'.$this->pid))) { $this->base= $key; $this->lastState= true; break; @@ -146,7 +148,30 @@ class baseSelector { } $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($config->current['BASE'])."'; $('submit_tree_base_".$this->pid."').click();\""; - $this->tree= "pid."').hide()\" onfocus=\"\$('bs_".$this->pid."').hide()\" onmouseover=\"Element.clonePosition(\$('bs_".$this->pid."'), 'bs_input_".$this->pid."', {setHeight: false, setWidth: false, offsetTop:(Element.getHeight('bs_input_".$this->pid."'))});\$('bs_".$this->pid."').show();\" onmouseout=\"rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\" value=\"".preg_replace('/"/', '"',$this->pathMapping[$this->base])."\">"; + + + $this->tree= "pid}').hide(); \" + onfocus=\" \$('bs_{$this->pid}').hide(); \" + onmouseover=\" mouseIsStillOver = true; + function showIt() + { + if(mouseIsStillOver){ + \$('bs_".$this->pid."').show(); + } + }; + Element.clonePosition(\$('bs_".$this->pid."'), + 'bs_input_".$this->pid."', + {setHeight: false, setWidth: false, offsetTop:(Element.getHeight('bs_input_".$this->pid."'))}); + rtimer=showIt.delay(0.25); \" + + onmouseout=\" mouseIsStillOver=false; + rtimer=Element.hide.delay(0.25,'bs_".$this->pid."')\" + + value=\"".preg_replace('/"/','"',$this->pathMapping[$this->base])."\">"; + // Autocompleter $this->tree.= "
". @@ -189,8 +214,8 @@ class baseSelector { $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($base)."';$('submit_tree_base_".$this->pid."').click();\""; $this->tree.= "
  • ". image($config->department_info[$base]['img'])." ". - ($this->gennonbreaks($config->department_info[LDAP::fix($base)]['name'])). - ($config->department_info[LDAP::fix($base)]['description']==''?'':' ['.$this->gennonbreaks($config->department_info[LDAP::fix($base)]['description']).']'). + $this->gennonbreaks($config->department_info[$base]['name']). + ($config->department_info[$base]['description']==''?'':' ['.$this->gennonbreaks($config->department_info[$base]['description']).']'). ""; $last_indent= $indent;