diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-01-30 15:58:48 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-01-30 15:58:48 +0000 |
| commit | e3693c12ab9e2bf934e1cb8194c1be5fe3650d86 (patch) | |
| tree | 6d3ce9d0adf5ff71f0d4f4415a4a9854651840d8 /frontends/php/include/classes | |
| parent | 042eb9179036479789a63b7eda13c84734a741e7 (diff) | |
| download | zabbix-e3693c12ab9e2bf934e1cb8194c1be5fe3650d86.tar.gz zabbix-e3693c12ab9e2bf934e1cb8194c1be5fe3650d86.tar.xz zabbix-e3693c12ab9e2bf934e1cb8194c1be5fe3650d86.zip | |
- fixed permissions for triggers (Eugene)
- developed 'mass update' functionality for items (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@3772 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include/classes')
| -rw-r--r-- | frontends/php/include/classes/ccheckbox.inc.php | 104 | ||||
| -rw-r--r-- | frontends/php/include/classes/cformtable.inc.php | 4 | ||||
| -rw-r--r-- | frontends/php/include/classes/ctextbox.inc.php | 5 |
3 files changed, 109 insertions, 4 deletions
diff --git a/frontends/php/include/classes/ccheckbox.inc.php b/frontends/php/include/classes/ccheckbox.inc.php index 2b0a7874..526ceedf 100644 --- a/frontends/php/include/classes/ccheckbox.inc.php +++ b/frontends/php/include/classes/ccheckbox.inc.php @@ -22,7 +22,7 @@ class CCheckBox extends CTag { /* public */ - function CCheckBox($name='checkbox',$checked='no',$action=NULL,$value='yes') + function CCheckBox($name='checkbox',$checked='no',$action=null,$value='yes') { parent::CTag('input','no'); $this->tag_body_start = ''; @@ -52,4 +52,106 @@ $this->options[$event] = $value; } } + + class CVisibilityBox extends CCheckBox + { + function CVisibilityBox($name='visibilitybox', $value='yes', $object_name=null, $replace_to=null) + { + $action = ''; + if(!is_array($object_name)) $object_name = array($object_name); + + $this->object_name = $object_name; + $this->replace_to = unpack_object($replace_to); + + foreach($this->object_name as $obj_name) + { + if(empty($obj_name)) continue; + $action .= 'visibility_status_changeds(this.checked, \''.$obj_name.'\','. + ' \''.zbx_jsstr($this->replace_to).'\'); '; + } + + parent::CCheckBox($name, $value, $action, '1'); + + $this->ShowJavascript(); + } + + function ToString($destroy=true) + { + global $ZBX_PAGE_POST_JS; + + if(!isset($this->options['checked'])) + { + foreach($this->object_name as $obj_name) + { + if(empty($obj_name)) continue; + zbx_add_post_js('visibility_status_changeds(false, "'.$obj_name.'", "'. + zbx_jsstr($this->replace_to).'");'); + } + } + + return parent::ToString($destroy); + } + + function ShowJavascript() + { + if(defined('CVISIBILITYBOX_JAVASCRIPT_INSERTED')) return; + define('CVISIBILITYBOX_JAVASCRIPT_INSERTED', 1); + +?> +<script language="JavaScript" type="text/javascript"> +<!-- + function visibility_status_changeds(value, obj_name, replace_to) + { + var obj = document.getElementsByName(obj_name); + + if(obj.length <= 0) throw "Can't find objects with name [" + obj_name +"]"; + + for(i = obj.length-1; i>=0; i--) + { + if(replace_to && replace_to != "") + { + if(obj[i].originalObject) + { + var old_obj = obj[i].originalObject; + old_obj.originalObject = obj[i]; + obj[i].parentNode.replaceChild(old_obj, obj[i]); + } + else if(!value) + { + var new_obj = null; + try { + new_obj = document.createElement("<a name='" + obj[i].name + "'>"); + } + catch(err) + { + new_obj = document.createElement("a"); + new_obj.name = obj[i].name; + } + + if(!new_obj) throw "Can't create new element"; + + new_obj.style.textDecoration = "none"; + new_obj.innerHTML = replace_to; + new_obj.originalObject = obj[i]; + obj[i].parentNode.replaceChild(new_obj, obj[i]); + } + else + { + throw "Missed originalObject for restoring"; + } + } + else + { + value = value ? 'visible' : 'hidden'; + obj[i].style.visibility = value; + } + } + + + } +--> +</script> +<?php + } + } ?> diff --git a/frontends/php/include/classes/cformtable.inc.php b/frontends/php/include/classes/cformtable.inc.php index cf203ef6..256ba583 100644 --- a/frontends/php/include/classes/cformtable.inc.php +++ b/frontends/php/include/classes/cformtable.inc.php @@ -96,11 +96,13 @@ unset($this->title); return 0; } - elseif(!is_string($value)) +/* elseif(!is_string($value)) { return $this->error("Incorrect value for SetTitle [$value]"); } $this->title = nbsp($value); + */ + $this->title = unpack_object($value); } function SetHelp($value=NULL) { diff --git a/frontends/php/include/classes/ctextbox.inc.php b/frontends/php/include/classes/ctextbox.inc.php index a61e4364..c1bd3134 100644 --- a/frontends/php/include/classes/ctextbox.inc.php +++ b/frontends/php/include/classes/ctextbox.inc.php @@ -65,7 +65,7 @@ class CNumericBox extends CTextBox { - function CNumericBox($name='password',$value='',$size=20,$readonly="no") + function CNumericBox($name='number',$value='0',$size=20,$readonly="no",$allowempty=false) { parent::CTextBox($name,$value,$size,$readonly); $this->AddOption('MaxLength', $size); @@ -74,7 +74,8 @@ ' var c = (window.event) ? event.keyCode : event.which;'. ' if(event.ctrlKey || c <= 31 || (c >= 48 && c <= 57)) return true; else return false; '); $this->AddOption('OnChange', - 'if(isNaN(parseInt(this.value))) this.value = 0; '. + ($allowempty ? ' if(this.value.length==0 || this.value==null) this.value = \'\'; else ' : ''). + ' if(isNaN(parseInt(this.value))) this.value = 0; '. ' else this.value = parseInt(this.value);' ); } |
