summaryrefslogtreecommitdiffstats
path: root/frontends/php/include/classes
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-01-30 15:58:48 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-01-30 15:58:48 +0000
commite3693c12ab9e2bf934e1cb8194c1be5fe3650d86 (patch)
tree6d3ce9d0adf5ff71f0d4f4415a4a9854651840d8 /frontends/php/include/classes
parent042eb9179036479789a63b7eda13c84734a741e7 (diff)
downloadzabbix-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.php104
-rw-r--r--frontends/php/include/classes/cformtable.inc.php4
-rw-r--r--frontends/php/include/classes/ctextbox.inc.php5
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);'
);
}