From: hickert Date: Thu, 29 Jul 2010 13:19:53 +0000 (+0000) Subject: Updated post handling X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=0cdf00bcb2c361b7c22044dd47fc69f645b51e5f;p=gosa.git Updated post handling git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19246 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/gosa-core/include/class_releaseSelector.inc b/gosa-core/include/class_releaseSelector.inc index 28f86dec8..fa5f35ea4 100644 --- a/gosa-core/include/class_releaseSelector.inc +++ b/gosa-core/include/class_releaseSelector.inc @@ -22,258 +22,258 @@ class releaseSelector { - public $base; - public $pid; - public $action; - public $height= 500; - public $submitButton= true; - public $tree; - public $pathMapping; - public $lastState; - public $releaseInfo; - public $releaseBase; - - function __construct($bases, $base, $releaseBase) - { - // Initialize pid - $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE)); - - // Transfer data - $this->releaseBase = $releaseBase; - $this->setBases($bases); - $this->setBase($base); - } - - - function setSubmitButton($flag) - { - $this->submitButton= $flag; - } - - - function setHeight($value) - { - $this->height= $value; - } - - - function setBase($base) - { - $this->base= $base; - if (isset($this->pathMapping[$base])) { - $this->update(true); + public $base; + public $pid; + public $action; + public $height= 500; + public $submitButton= true; + public $tree; + public $pathMapping; + public $lastState; + public $releaseInfo; + public $releaseBase; + + function __construct($bases, $base, $releaseBase) + { + // Initialize pid + $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE)); + + // Transfer data + $this->releaseBase = $releaseBase; + $this->setBases($bases); + $this->setBase($base); } - } - function checkBase($base) - { - return isset($this->pathMapping[$base]); - } + function setSubmitButton($flag) + { + $this->submitButton= $flag; + } + + function setHeight($value) + { + $this->height= $value; + } - function checkLastBaseUpdate() - { - return $this->lastState; - } + function setBase($base) + { + $this->base= $base; + if (isset($this->pathMapping[$base])) { + $this->update(true); + } + } - function setBases($bases) - { - global $config; - $this->releaseInfo = array(); - $this->pathMapping= array(); - $selected= $this->base == $this->releaseBase?"Selected":""; - $first= true; - $last_indent= 2; - foreach ($bases as $base => $dummy) { + function checkBase($base) + { + return isset($this->pathMapping[$base]); + } - // Build path style display - $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; + function checkLastBaseUpdate() + { + return $this->lastState; } - // Save bases to session for autocompletion - session::global_set('pathMapping', $this->pathMapping); - session::global_set('department_info', $this->releaseInfo); - } - - - function update($force= false) - { - global $config; - - // Analyze for base changes if needed - $this->action= null; - $last_base= $this->base; - 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'; - } else { - $this->lastState= false; - return false; - } - }else{ - // Input field set? - if (isset($_POST['bs_input_'.$this->pid])) { - - // Take over input field base - if ($this->submitButton && isset($_POST['submit_base_'.$this->pid]) || !$this->submitButton) { - - // 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])) { - $this->base= $key; - $this->lastState= true; - break; - } - } - } + + function setBases($bases) + { + global $config; + $this->releaseInfo = array(); + $this->pathMapping= array(); + $selected= $this->base == $this->releaseBase?"Selected":""; + $first= true; + $last_indent= 2; + + foreach ($bases as $base => $dummy) { + + // Build path style display + $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); } - /* Skip if there's no change */ - if (($this->tree && $this->base == $last_base) && !$force) { - return true; - } - $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($this->releaseBase)."'; - $('submit_tree_base_".$this->pid."').click();\""; - - $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.= "
". - ""; - - $selected= $this->base == $this->releaseBase?"Selected":""; - $this->tree.= "\n"; + /* Skip if there's no change */ + if (($this->tree && $this->base == $last_base) && !$force) { + return true; + } - // Draw submitter if required - if ($this->submitButton) { - $this->tree.= image('images/lists/submit.png', "submit_base_".$this->pid, _("Submit")); - } - $this->tree.= ""; - $this->tree.= ""; - $this->tree.= ""; + $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($this->releaseBase)."'; + $('submit_tree_base_".$this->pid."').click();\""; + + $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.= "
". + ""; - $this->lastState= true; - return true; - } + $selected= $this->base == $this->releaseBase?"Selected":""; + $this->tree.= "\n"; - function getAction() - { - // Do not do anything if this is not our BPID, or there's even no BPID available... - if(!isset($_REQUEST['BPID']) || $_REQUEST['BPID'] != $this->pid) { - return; + // Draw submitter if required + if ($this->submitButton) { + $this->tree.= image('images/lists/submit.png', "submit_base_".$this->pid, _("Submit")); + } + $this->tree.= ""; + $this->tree.= ""; + $this->tree.= ""; + + $this->lastState= true; + return true; } - if ($this->action) { - return array("targets" => array($this->base), "action" => $this->action); + + function gennonbreaks($string) + { + return str_replace('-', '‑', str_replace(' ', ' ', $string)); } - return null; - } + + function render() + { + return $this->tree; + } + + + function getBase() + { + return $this->base; + } + + + function getAction() + { + // Do not do anything if this is not our BPID, or there's even no BPID available... + if(!isset($_REQUEST['BPID']) || $_REQUEST['BPID'] != $this->pid) { + return; + } + + if ($this->action) { + return array("targets" => array($this->base), "action" => $this->action); + } + + return null; + } }