diff --git a/gosa-core/include/class_releaseSelector.inc b/gosa-core/include/class_releaseSelector.inc
index dc98422c4ae11b0b9fb78a850dbdc8bf1d8213ed..28f86dec83beca007ac4f5ce1d5b597a5b23b4c8 100644 (file)
// Transfer data
$this->releaseBase = $releaseBase;
- $this->releaseInfo = $bases;
$this->setBases($bases);
$this->setBase($base);
}
function setBase($base)
{
+ $this->base= $base;
if (isset($this->pathMapping[$base])) {
- $this->base= $base;
$this->update(true);
}
}
function setBases($bases)
{
global $config;
-
+ $this->releaseInfo = array();
$this->pathMapping= array();
$selected= $this->base == $this->releaseBase?"Selected":"";
$first= true;
$elements= explode(',', substr($base, 0, strlen($base) - strlen($this->releaseBase)));
$elements= array_reverse($elements, true);
$this->pathMapping[$base]= $base == $this->releaseBase? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements)));
+
+ $this->releaseInfo[$base]['name'] = ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '', $elements[0]));
+ $this->releaseInfo[$base]['description'] = $dummy;
}
// Save bases to session for autocompletion
session::global_set('pathMapping', $this->pathMapping);
+ session::global_set('department_info', $this->releaseInfo);
}
if (isset($_POST['bs_input_'.$this->pid])) {
// Take over input field base
- if ($this->submitButton && isset($_POST['submit_base_'.$this->pid.'_x']) || !$this->submitButton) {
+ if ($this->submitButton && isset($_POST['submit_base_'.$this->pid]) || !$this->submitButton) {
// Check if base is available
$this->lastState= false;
/* Skip if there's no change */
if (($this->tree && $this->base == $last_base) && !$force) {
- return true;
+ return true;
}
- $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($this->releaseBase)."'; $('submit_tree_base_".$this->pid."').click();\"";
- $this->tree= "<input type='text' size='35' name='bs_input_".$this->pid."' id='bs_input_".$this->pid."' onkeydown=\"\$('bs_".$this->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])."\">";
+ $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($this->releaseBase)."';
+ $('submit_tree_base_".$this->pid."').click();\"";
+
+ $this->tree= "<input style='width:160px' type='text' size='35'
+ name='bs_input_{$this->pid}' id='bs_input_{$this->pid}'
+
+ onkeydown=\" \$('bs_{$this->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.= "<div id='autocomplete_".$this->pid."' class='autocomplete'></div>".
"<script type='text/javascript'>".
+ "var mouseIsStillOver = false;".
"new Ajax.Autocompleter('bs_input_".$this->pid."', 'autocomplete_".$this->pid."', 'autocomplete.php?type=base', { minChars: 3, frequency: 0.5 });";
if ($this->submitButton) {
$this->tree.= "$('bs_input_".$this->pid."').observe('keypress', function(event) { if(event.keyCode == Event.KEY_RETURN) { $('submit_base_".$this->pid."').click(); } });";
}
$selected= $this->base == $base?" class='treeListSelected'":"";
$link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($base)."';$('submit_tree_base_".$this->pid."').click();\"";
+
$this->tree.= "<li>".
"<a$selected $link>".
- $this->gennonbreaks($this->releaseInfo[$base]).
+ $this->gennonbreaks($this->releaseInfo[$base]['name']).
+ ($this->releaseInfo[$base]['description']==''?'':' <span class="informal">['.$this->gennonbreaks($this->releaseInfo[$base]['description']).']</span>').
"</a>";
$last_indent= $indent;