summaryrefslogtreecommitdiffstats
path: root/frontends
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-07-08 14:48:04 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-07-08 14:48:04 +0000
commit616715ae783f353d07b1cfa1f48a7631c165a2f8 (patch)
treefc116283f045e60c3fa4d4c62c0e10dc6bdf457c /frontends
parent0218e165825ef10e034b1784777c1d53cf789104 (diff)
downloadzabbix-616715ae783f353d07b1cfa1f48a7631c165a2f8.tar.gz
zabbix-616715ae783f353d07b1cfa1f48a7631c165a2f8.tar.xz
zabbix-616715ae783f353d07b1cfa1f48a7631c165a2f8.zip
- [DEV-144] added mass-update for triggers (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@5819 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends')
-rw-r--r--frontends/php/hosts.php15
-rw-r--r--frontends/php/include/forms.inc.php549
-rw-r--r--frontends/php/include/locales/en_gb.inc.php4
-rw-r--r--frontends/php/include/triggers.inc.php390
-rw-r--r--frontends/php/index.php12
-rw-r--r--frontends/php/popup.php20
-rw-r--r--frontends/php/report5.php30
-rw-r--r--frontends/php/triggers.php106
8 files changed, 543 insertions, 583 deletions
diff --git a/frontends/php/hosts.php b/frontends/php/hosts.php
index 6df5e12d..de4694e6 100644
--- a/frontends/php/hosts.php
+++ b/frontends/php/hosts.php
@@ -292,24 +292,29 @@ include_once 'include/page_header.php';
$host_profile['location'],$host_profile['notes']);
}
}
+
+ if($result){
+ add_audit(
+ AUDIT_ACTION_UPDATE,
+ AUDIT_RESOURCE_HOST,
+ 'Host ['.$db_host['host'].'] IP ['.$db_host['ip'].'] '.'Status ['.$db_host['status'].']'
+ );
+ }
}
$result = DBend($result);
$msg_ok = S_HOSTS.SPACE.S_UPDATED;
$msg_fail = S_CANNOT_UPDATE.SPACE.S_HOSTS;
- $audit_action = AUDIT_ACTION_UPDATE;
show_messages($result, $msg_ok, $msg_fail);
- if($result){
- add_audit($audit_action,AUDIT_RESOURCE_HOST,
- 'Host ['.$db_host['host'].'] IP ['.$db_host['ip'].'] '.
- 'Status ['.$db_host['status'].']');
+ if($result){
unset($_REQUEST['massupdate']);
unset($_REQUEST['form']);
unset($_REQUEST['hosts']);
}
+
unset($_REQUEST['save']);
}
/* SAVE HOST */
diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php
index 71f0c653..080b62b7 100644
--- a/frontends/php/include/forms.inc.php
+++ b/frontends/php/include/forms.inc.php
@@ -133,8 +133,7 @@
}
$form->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST['slideshowid']))
- {
+ if(isset($_REQUEST['slideshowid'])){
$form->AddItemToBottomRow(SPACE);
$form->AddItemToBottomRow(new CButton('clone',S_CLONE));
$form->AddItemToBottomRow(SPACE);
@@ -147,14 +146,12 @@
$form->Show();
}
- function insert_drule_form()
- {
- global $_REQUEST;
+ function insert_drule_form(){
+
$frm_title = S_DISCOVERY_RULE;
- if(isset($_REQUEST['druleid']))
- {
+ if(isset($_REQUEST['druleid'])){
if( ($rule_data = DBfetch(DBselect("SELECT * FROM drules WHERE druleid=".$_REQUEST["druleid"]))))
$frm_title = S_DISCOVERY_RULE." \"".$rule_data["name"]."\"";
}
@@ -162,13 +159,11 @@
$form = new CFormTable($frm_title, null, 'post');
$form->SetHelp("web.discovery.rule.php");
- if(isset($_REQUEST['druleid']))
- {
+ if(isset($_REQUEST['druleid'])){
$form->AddVar('druleid', $_REQUEST['druleid']);
}
- if(isset($_REQUEST['druleid']) && $rule_data && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"])))
- {
+ if(isset($_REQUEST['druleid']) && $rule_data && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"]))){
$proxy_hostid = $rule_data['proxy_hostid'];
$name = $rule_data['name'];
$iprange = $rule_data['iprange'];
@@ -184,8 +179,7 @@
'key' => $check_data['key_'], 'snmp_community' => $check_data['snmp_community']);
}
}
- else
- {
+ else{
$proxy_hostid = get_request("proxy_hostid",0);
$name = get_request('name','');
$iprange = get_request('iprange','192.168.0.1-255');
@@ -216,8 +210,7 @@
$form->AddVar('dchecks', $dchecks);
- foreach($dchecks as $id => $data)
- {
+ foreach($dchecks as $id => $data){
switch($data['type'])
{
case SVC_SNMPv1:
@@ -240,8 +233,7 @@
);
}
- if(count($dchecks))
- {
+ if(count($dchecks)){
$dchecks[] = new CButton('delete_ckecks', S_DELETE_SELECTED);
$form->AddRow(S_CHECKS, $dchecks);
}
@@ -252,13 +244,11 @@
foreach(array(SVC_SSH, SVC_LDAP, SVC_SMTP, SVC_FTP, SVC_HTTP, SVC_POP, SVC_NNTP, SVC_IMAP, SVC_TCP, SVC_AGENT, SVC_SNMPv1, SVC_SNMPv2, SVC_ICMPPING) as $type_int)
$cmbChkType->AddItem($type_int, discovery_check_type2str($type_int));
- if(isset($_REQUEST['type_changed']))
- {
+ if(isset($_REQUEST['type_changed'])){
$new_check_ports = svc_default_port($new_check_type);
}
$external_param = array();
- switch($new_check_type)
- {
+ switch($new_check_type){
case SVC_SNMPv1:
case SVC_SNMPv2:
$external_param = array_merge($external_param, array(BR(), S_SNMP_COMMUNITY, SPACE, new CTextBox('new_check_snmp_community', $new_check_snmp_community)));
@@ -290,8 +280,7 @@
$form->AddRow(S_STATUS,$cmbStatus);
$form->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["druleid"]))
- {
+ if(isset($_REQUEST["druleid"])){
$form->AddItemToBottomRow(SPACE);
$form->AddItemToBottomRow(new CButton("clone",S_CLONE));
$form->AddItemToBottomRow(SPACE);
@@ -337,7 +326,7 @@
function insert_httptest_form()
{
- global $_REQUEST;
+
$form = new CFormTable(S_SCENARIO, null, 'post');
$form->SetHelp("web.webmon.httpconf.php");
@@ -347,8 +336,7 @@
$form->AddVar("hostid",$_REQUEST["hostid"]);
- if(isset($_REQUEST["httptestid"]))
- {
+ if(isset($_REQUEST["httptestid"])){
$form->AddVar("httptestid",$_REQUEST["httptestid"]);
}
@@ -360,8 +348,7 @@
$macros = get_request('macros', array());
$steps = get_request('steps', array());
- if((isset($_REQUEST["httptestid"]) && !isset($_REQUEST["form_refresh"])) || isset($limited))
- {
+ if((isset($_REQUEST["httptestid"]) && !isset($_REQUEST["form_refresh"])) || isset($limited)){
$httptest_data = DBfetch(DBselect("SELECT wt.*, a.name as application ".
" FROM httptest wt,applications a WHERE wt.httptestid=".$_REQUEST["httptestid"].
" AND a.applicationid=wt.applicationid"));
@@ -420,13 +407,11 @@
$tblSteps = new CTableInfo();
$tblSteps->SetHeader(array(S_NAME,S_TIMEOUT,S_URL,S_REQUIRED,S_STATUS,SPACE));
- if(count($steps) > 0)
- {
+ if(count($steps) > 0){
$first = min(array_keys($steps));
$last = max(array_keys($steps));
}
- foreach($steps as $sid => $s)
- {
+ foreach($steps as $sid => $s){
if(!isset($s['name'])) $s['name'] = '';
if(!isset($s['timeout'])) $s['timeout'] = 15;
if(!isset($s['url'])) $s['url'] = '';
@@ -485,8 +470,7 @@
));
$form->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["httptestid"]))
- {
+ if(isset($_REQUEST["httptestid"])){
$form->AddItemToBottomRow(SPACE);
$form->AddItemToBottomRow(new CButton("clone",S_CLONE));
$form->AddItemToBottomRow(SPACE);
@@ -528,14 +512,13 @@
function insert_node_form()
{
- global $_REQUEST;
+
global $ZBX_CURMASTERID;
$frm_title = S_NODE;
- if(isset($_REQUEST['nodeid']))
- {
+ if(isset($_REQUEST['nodeid'])){
$node_data = get_node_by_nodeid($_REQUEST['nodeid']);
$node_type = detect_node_type($node_data);
@@ -548,13 +531,11 @@
$frmNode= new CFormTable($frm_title);
$frmNode->SetHelp("node.php");
- if(isset($_REQUEST['nodeid']))
- {
+ if(isset($_REQUEST['nodeid'])){
$frmNode->AddVar('nodeid', $_REQUEST['nodeid']);
}
- if(isset($_REQUEST['nodeid']) && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"])))
- {
+ if(isset($_REQUEST['nodeid']) && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"]))){
$new_nodeid = $node_data['nodeid'];
$name = $node_data['name'];
$timezone = $node_data['timezone'];
@@ -563,8 +544,7 @@
$slave_history = $node_data['slave_history'];
$slave_trends = $node_data['slave_trends'];
}
- else
- {
+ else{
$new_nodeid = get_request('new_nodeid',0);
$name = get_request('name','');
$timezone = get_request('timezone', 0);
@@ -583,8 +563,7 @@
$frmNode->AddRow(S_ID, new CNumericBox('new_nodeid', $new_nodeid, 10));
- if(!isset($_REQUEST['nodeid']))
- {
+ if(!isset($_REQUEST['nodeid'])){
$cmbNodeType = new CComboBox('node_type', $node_type, 'submit()');
$cmbNodeType->AddItem(ZBX_NODE_REMOTE, S_REMOTE);
if($ZBX_CURMASTERID == 0)
@@ -592,20 +571,17 @@
$cmbNodeType->AddItem(ZBX_NODE_MASTER, S_MASTER);
}
}
- else
- {
+ else{
$cmbNodeType = new CTextBox('node_type_name', node_type2str($node_type), null, 'yes');
}
$frmNode->AddRow(S_TYPE, $cmbNodeType);
- if($node_type == ZBX_NODE_REMOTE)
- {
+ if($node_type == ZBX_NODE_REMOTE){
$frmNode->AddRow(S_MASTER_NODE, new CTextBox('master_name', $master_node['name'], 40, 'yes'));
}
$cmbTimeZone = new CComboBox('timezone', $timezone);
- for($i = -12; $i <= 13; $i++)
- {
+ for($i = -12; $i <= 13; $i++){
$cmbTimeZone->AddItem($i, "GMT".sprintf("%+03d:00", $i));
}
$frmNode->AddRow(S_TIME_ZONE, $cmbTimeZone);
@@ -616,8 +592,7 @@
$frmNode->AddItemToBottomRow(new CButton('save',S_SAVE));
- if(isset($_REQUEST['nodeid']) && $node_type != ZBX_NODE_LOCAL)
- {
+ if(isset($_REQUEST['nodeid']) && $node_type != ZBX_NODE_LOCAL){
$frmNode->AddItemToBottomRow(SPACE);
$frmNode->AddItemToBottomRow(new CButtonDelete("Delete selected node?",
url_param("form").url_param("nodeid")));
@@ -630,7 +605,7 @@
function insert_new_message_form($events,$bulk)
{
global $USER_DETAILS;
- global $_REQUEST;
+
if($bulk){
$title = S_ACKNOWLEDGE_ALARM_BY;
@@ -945,8 +920,7 @@
}
$frmUser->AddItemToBottomRow(new CButton('save',S_SAVE));
- if(isset($userid) && $profile == 0)
- {
+ if(isset($userid) && $profile == 0){
$frmUser->AddItemToBottomRow(SPACE);
$delete_b = new CButtonDelete("Delete selected user?",url_param("form").url_param("config").url_param("userid"));
if(bccomp($USER_DETAILS['userid'],$userid) == 0){
@@ -1127,14 +1101,12 @@
);
$frmUserG->AddSpanRow($resources_list,'right_header');
- if($perm_details)
- {
+ if($perm_details){
$frmUserG->AddSpanRow(get_rights_of_elements_table($group_rights));
}
$frmUserG->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["usrgrpid"]))
- {
+ if(isset($_REQUEST["usrgrpid"])){
$frmUserG->AddItemToBottomRow(SPACE);
$frmUserG->AddItemToBottomRow(new CButtonDelete("Delete selected group?",
url_param("form").url_param("config").url_param("usrgrpid")));
@@ -1466,8 +1438,7 @@
$host = $host_info["host"];
}
- if(isset($_REQUEST["itemid"]))
- {
+ if(isset($_REQUEST["itemid"])){
$frmItem->AddVar("itemid",$_REQUEST["itemid"]);
$item_data = DBfetch(DBselect("SELECT i.*, h.host, h.hostid".
@@ -1477,8 +1448,7 @@
$limited = ($item_data['templateid'] == 0 && $item_data['type'] != ITEM_TYPE_HTTPTEST) ? null : 'yes';
}
- if((isset($_REQUEST["itemid"]) && !isset($_REQUEST["form_refresh"])) || isset($limited))
- {
+ if((isset($_REQUEST["itemid"]) && !isset($_REQUEST["form_refresh"])) || isset($limited)){
$description = $item_data["description"];
$key = $item_data["key_"];
$host = $item_data["host"];
@@ -1529,8 +1499,7 @@
$delay_flex_el = array();
- if($type != ITEM_TYPE_TRAPPER && $type != ITEM_TYPE_HTTPTEST)
- {
+ if($type != ITEM_TYPE_TRAPPER && $type != ITEM_TYPE_HTTPTEST){
$i = 0;
foreach($delay_flex as $val)
{
@@ -1569,13 +1538,11 @@
$frmItem->AddRow(S_DESCRIPTION, new CTextBox("description",$description,40, $limited));
- if(isset($limited))
- {
+ if(isset($limited)){
$frmItem->AddRow(S_TYPE, new CTextBox("typename", item_type2str($type), 40, 'yes'));
$frmItem->AddVar('type', $type);
}
- else
- {
+ else{
$cmbType = new CComboBox("type",$type,"submit()");
foreach(array(ITEM_TYPE_ZABBIX,ITEM_TYPE_ZABBIX_ACTIVE,ITEM_TYPE_SIMPLE,
ITEM_TYPE_SNMPV1,ITEM_TYPE_SNMPV2C,ITEM_TYPE_SNMPV3,ITEM_TYPE_TRAPPER,
@@ -1584,8 +1551,7 @@
$frmItem->AddRow(S_TYPE, $cmbType);
}
- if(($type==ITEM_TYPE_SNMPV1)||($type==ITEM_TYPE_SNMPV2C))
- {
+ if(($type==ITEM_TYPE_SNMPV1)||($type==ITEM_TYPE_SNMPV2C)){
$frmItem->AddVar("snmpv3_securityname",$snmpv3_securityname);
$frmItem->AddVar("snmpv3_securitylevel",$snmpv3_securitylevel);
$frmItem->AddVar("snmpv3_authpassphrase",$snmpv3_authpassphrase);
@@ -1595,8 +1561,7 @@
$frmItem->AddRow(S_SNMP_OID, new CTextBox("snmp_oid",$snmp_oid,40,$limited));
$frmItem->AddRow(S_SNMP_PORT, new CNumericBox("snmp_port",$snmp_port,5,$limited));
}
- else if($type==ITEM_TYPE_SNMPV3)
- {
+ else if($type==ITEM_TYPE_SNMPV3){
$frmItem->AddVar("snmp_community",$snmp_community);
$frmItem->AddRow(S_SNMP_OID, new CTextBox("snmp_oid",$snmp_oid,40,$limited));
@@ -1632,8 +1597,7 @@
$frmItem->AddRow(S_SNMP_PORT, new CNumericBox("snmp_port",$snmp_port,5,$limited));
}
- else
- {
+ else{
$frmItem->AddVar("snmp_community",$snmp_community);
$frmItem->AddVar("snmp_oid",$snmp_oid);
$frmItem->AddVar("snmp_port",$snmp_port);
@@ -1643,12 +1607,10 @@
$frmItem->AddVar("snmpv3_privpassphrase",$snmpv3_privpassphrase);
}
- if(isset($limited))
- {
+ if(isset($limited)){
$btnSelect = null;
}
- else
- {
+ else{
$btnSelect = new CButton('btn1',S_SELECT,
"return PopUp('popup.php?dstfrm=".$frmItem->GetName().
"&dstfld1=key&srctbl=help_items&srcfld1=key_&itemtype=".$type."');",
@@ -1657,22 +1619,18 @@
$frmItem->AddRow(S_KEY, array(new CTextBox("key",$key,40,$limited), $btnSelect));
- if( ITEM_TYPE_DB_MONITOR == $type )
- {
+ if( ITEM_TYPE_DB_MONITOR == $type ){
$frmItem->AddRow(S_PARAMS, new CTextArea("params",$params,60,4));
}
- else
- {
+ else{
$frmItem->AddVar("params",$params);
}
- if(isset($limited))
- {
+ if(isset($limited)){
$frmItem->AddVar("value_type", $value_type);
$cmbValType = new CTextBox('value_type_name', item_value_type2str($value_type), 40, 'yes');
}
- else
- {
+ else{
$cmbValType = new CComboBox("value_type",$value_type,"submit()");
$cmbValType->AddItem(ITEM_VALUE_TYPE_UINT64, S_NUMERIC_UINT64);
$cmbValType->AddItem(ITEM_VALUE_TYPE_FLOAT, S_NUMERIC_FLOAT);
@@ -1682,8 +1640,7 @@
}
$frmItem->AddRow(S_TYPE_OF_INFORMATION,$cmbValType);
- if( ($value_type==ITEM_VALUE_TYPE_FLOAT) || ($value_type==ITEM_VALUE_TYPE_UINT64))
- {
+ if( ($value_type==ITEM_VALUE_TYPE_FLOAT) || ($value_type==ITEM_VALUE_TYPE_UINT64)){
$frmItem->AddRow(S_UNITS, new CTextBox("units",$units,40, $limited));
if(isset($limited))
@@ -1700,23 +1657,19 @@
$frmItem->AddRow(S_USE_MULTIPLIER, $cmbMultipler);
}
- else
- {
+ else{
$frmItem->AddVar("units",$units);
$frmItem->AddVar("multiplier",$multiplier);
}
if( !is_numeric($formula)) $formula = 1;
- if($multiplier == 1)
- {
+ if($multiplier == 1){
$frmItem->AddRow(S_CUSTOM_MULTIPLIER, new CTextBox("formula",$formula,40,$limited));
}
- else
- {
+ else{
$frmItem->AddVar("formula",$formula);
}
- if($type != ITEM_TYPE_TRAPPER && $type != ITEM_TYPE_HTTPTEST)
- {
+ if($type != ITEM_TYPE_TRAPPER && $type != ITEM_TYPE_HTTPTEST){
$frmItem->AddRow(S_UPDATE_INTERVAL_IN_SEC, new CNumericBox("delay",$delay,5));
$frmItem->AddRow(S_FLEXIBLE_INTERVALS, $delay_flex_el);
$frmItem->AddRow(S_NEW_FLEXIBLE_INTERVAL,
@@ -1728,8 +1681,7 @@
new CButton("add_delay_flex",S_ADD)
),'new');
}
- else
- {
+ else{
$frmItem->AddVar("delay",$delay);
$frmItem->AddVar("delay_flex",null);
}
@@ -1746,30 +1698,25 @@
$cmbStatus->AddItem($st,item_status2str($st));
$frmItem->AddRow(S_STATUS,$cmbStatus);
- if($value_type==ITEM_VALUE_TYPE_LOG)
- {
+ if($value_type==ITEM_VALUE_TYPE_LOG){
$frmItem->AddRow(S_LOG_TIME_FORMAT, new CTextBox("logtimefmt",$logtimefmt,16,$limited));
}
- else
- {
+ else{
$frmItem->AddVar("logtimefmt",$logtimefmt);
}
- if( ($value_type==ITEM_VALUE_TYPE_FLOAT) || ($value_type==ITEM_VALUE_TYPE_UINT64))
- {
+ if( ($value_type==ITEM_VALUE_TYPE_FLOAT) || ($value_type==ITEM_VALUE_TYPE_UINT64)){
$cmbDelta= new CComboBox("delta",$delta);
$cmbDelta->AddItem(0,S_AS_IS);
$cmbDelta->AddItem(1,S_DELTA_SPEED_PER_SECOND);
$cmbDelta->AddItem(2,S_DELTA_SIMPLE_CHANGE);
$frmItem->AddRow(S_STORE_VALUE,$cmbDelta);
}
- else
- {
+ else{
$frmItem->AddVar("delta",0);
}
- if(($value_type==ITEM_VALUE_TYPE_UINT64) || ($value_type == ITEM_VALUE_TYPE_STR))
- {
+ if(($value_type==ITEM_VALUE_TYPE_UINT64) || ($value_type == ITEM_VALUE_TYPE_STR)){
if(isset($limited) && $type != ITEM_TYPE_HTTPTEST)
{
$frmItem->AddVar("valuemapid", $valuemapid);
@@ -1797,29 +1744,24 @@
$frmItem->AddRow(array(S_SHOW_VALUE.SPACE,$link),$cmbMap);
}
- else
- {
+ else{
$frmItem->AddVar("valuemapid",0);
}
- if($type==ITEM_TYPE_TRAPPER)
- {
+ if($type==ITEM_TYPE_TRAPPER){
$frmItem->AddRow(S_ALLOWED_HOSTS, new CTextBox("trapper_hosts",$trapper_hosts,40,$limited));
}
- else
- {
+ else{
$frmItem->AddVar("trapper_hosts",$trapper_hosts);
}
- if($type==ITEM_TYPE_HTTPTEST)
- {
+ if($type==ITEM_TYPE_HTTPTEST){
$app_names = get_applications_by_itemid($_REQUEST["itemid"], 'name');
$frmItem->AddRow(S_APPLICATIONS, new CTextBox("application_name",
isset($app_names[0]) ? $app_names[0] : '', 20, $limited));
$frmItem->AddVar("applications",$applications,6);
}
- else
- {
+ else{
$cmbApps = new CListBox("applications[]",$applications,6);
$cmbApps->AddItem(0,"-".S_NONE."-");
$db_applications = DBselect("SELECT DISTINCT applicationid,name FROM applications".
@@ -1832,8 +1774,7 @@
}
$frmRow = array(new CButton("save",S_SAVE));
- if(isset($_REQUEST["itemid"]))
- {
+ if(isset($_REQUEST["itemid"])){
array_push($frmRow,
SPACE,
new CButton("clone",S_CLONE));
@@ -1870,8 +1811,7 @@
$cmbAction = new CComboBox("action");
$cmbAction->AddItem("add to group",S_ADD_TO_GROUP);
- if(isset($_REQUEST["itemid"]))
- {
+ if(isset($_REQUEST["itemid"])){
$cmbAction->AddItem("update in group",S_UPDATE_IN_GROUP);
$cmbAction->AddItem("delete FROM group",S_DELETE_FROM_GROUP);
}
@@ -1930,8 +1870,7 @@
$delay_flex_el = array();
$i = 0;
- foreach($delay_flex as $val)
- {
+ foreach($delay_flex as $val){
if(!isset($val["delay"]) && !isset($val["period"])) continue;
array_push($delay_flex_el,
@@ -2066,8 +2005,7 @@
$cmbApps->AddItem(0,"-".S_NONE."-");
$db_applications = DBselect("SELECT DISTINCT applicationid,name FROM applications".
" WHERE hostid=".$_REQUEST["hostid"]." order by name");
- while($db_app = DBfetch($db_applications))
- {
+ while($db_app = DBfetch($db_applications)){
$cmbApps->AddItem($db_app["applicationid"],$db_app["name"]);
}
$frmItem->AddRow(array( new CVisibilityBox('applications_visible', get_request('applications_visible'), 'applications[]',
@@ -2088,8 +2026,7 @@
$group_itemid = get_request($elements_array_name, array());
$copy_targetid = get_request("copy_targetid", array());
- if(!is_array($group_itemid) || (is_array($group_itemid) && count($group_itemid) < 1))
- {
+ if(!is_array($group_itemid) || (is_array($group_itemid) && count($group_itemid) < 1)){
error("Incorrect list of items.");
return;
}
@@ -2107,8 +2044,7 @@
' FROM groups g, hosts_groups hg'.
' WHERE hg.groupid=g.groupid';
- if(0 == $copy_type)
- {
+ if(0 == $copy_type){
$cmbGroup = new CComboBox('filter_groupid',$filter_groupid,'submit()');
$cmbGroup->AddItem(0,S_ALL_SMALL);
$groups = DBselect($target_sql);
@@ -2127,8 +2063,7 @@
$db_targets = DBselect($target_sql.' order by target_name');
$target_list = array();
- while($target = DBfetch($db_targets))
- {
+ while($target = DBfetch($db_targets)){
array_push($target_list,array(
new CCheckBox('copy_targetid[]',
uint_in_array($target['target_id'], $copy_targetid),
@@ -2155,34 +2090,93 @@
$frmCopy->Show();
}
+// TRIGGERS
+ function insert_mass_update_trigger_form(){//$elements_array_name){
+ global $USER_DETAILS;
+SDI($_REQUEST);
+ $visible = get_request('visible',array());
+
+
+ $priority = get_request('priority', '');
+ $dependencies = get_request('dependencies',array());
- function insert_login_form(){
-// author: Aly
-// description:
-// konqueror bug #138024; adding useless param(login=1) to the form's action path to avoid bug!!
+ $frm_title = S_TRIGGERS_MASSUPDATE;
- $frmLogin = new CFormTable('Login','index.php?login=1',"post","multipart/form-data");
- $frmLogin->SetHelp('web.index.login');
- $frmLogin->AddRow('Login name', new CTextBox('name'));
- $frmLogin->AddRow('Password', new CPassBox('password'));
- $frmLogin->AddItemToBottomRow(new CButton('enter','Enter'));
- $frmLogin->Show(false);
+ $original_templates = array();
+
+ asort($dependencies);
- SetFocus($frmLogin->GetName(),"name");
+ $frmMTrig = new CFormTable($frm_title,'triggers.php');
+ $frmMTrig->AddVar('massupdate',get_request('massupdate',1));
- $frmLogin->Destroy();
- }
+ $triggers = $_REQUEST['g_triggerid'];
+ foreach($triggers as $id => $triggerid){
+ $frmMTrig->AddVar('g_triggerid['.$triggerid.']',$triggerid);
+ }
-// Insert form for Trigger
- function insert_trigger_form()
- {
- global $_REQUEST;
+ $cmbPrior = new CComboBox("priority",$priority);
+ for($i = 0; $i <= 5; $i++){
+ $cmbPrior->AddItem($i,get_severity_description($i));
+ }
+ $frmMTrig->AddRow(array(new CVisibilityBox('visible[priority]', isset($visible['priority']), 'priority', S_ORIGINAL), S_SEVERITY),
+ $cmbPrior
+ );
+/* fependencies */
+ $dep_el = array();
+ foreach($dependencies as $val){
+ array_push($dep_el,
+ array(
+ new CCheckBox("rem_dependence[]", 'no', null, strval($val)),
+ expand_trigger_description($val)
+ ),
+ BR());
+ $frmMTrig->AddVar("dependencies[]",strval($val));
+ }
+
+ if(count($dep_el)==0)
+ $dep_el[] = S_NO_DEPENDENCES_DEFINED;
+ else
+ $dep_el[] = new CButton('del_dependence','delete selected');
+
+// $frmMTrig->AddRow(S_THE_TRIGGER_DEPENDS_ON,$dep_el);
+/* end dependencies */
+/* new dependence */
+ $frmMTrig->AddVar('new_dependence','0');
+
+ $txtCondVal = new CTextBox('trigger','',75,'yes');
+
+ $btnSelect = new CButton('btn1', S_SELECT,
+ "return PopUp('popup.php?dstfrm=".S_TRIGGERS_MASSUPDATE.
+ "&dstfld1=new_dependence&dstfld2=trigger&srctbl=triggers".
+ "&srcfld1=triggerid&srcfld2=description',600,450);",
+ 'T');
+
+ array_push($dep_el, array(br(),$txtCondVal,$btnSelect,br(),new CButton("add_dependence",S_ADD)));
+
+ $dep_div = new CDiv($dep_el);
+ $dep_div->AddOption('id','dependency_box');
+
+ $frmMTrig->AddRow(array(new CVisibilityBox('visible[dependencies]', isset($visible['dependencies']), 'dependency_box', S_ORIGINAL),S_TRIGGER_DEPENDENCIES),
+ $dep_div
+ );
+/* end new dependence */
+
+
+ $frmMTrig->AddItemToBottomRow(new CButton('mass_save',S_SAVE));
+ $frmMTrig->AddItemToBottomRow(SPACE);
+ $frmMTrig->AddItemToBottomRow(new CButtonCancel(url_param('config').url_param('groupid')));
+ $frmMTrig->Show();
+ }
+
+// Insert form for Trigger
+ function insert_trigger_form(){
+ global $USER_DETAILS;
+
$frmTrig = new CFormTable(S_TRIGGER,"triggers.php");
$frmTrig->SetHelp("config_triggers.php");
- if(isset($_REQUEST["hostid"]))
- {
+ if(isset($_REQUEST["hostid"])){
$frmTrig->AddVar("hostid",$_REQUEST["hostid"]);
}
@@ -2191,8 +2185,7 @@
$limited = null;
- if(isset($_REQUEST["triggerid"]))
- {
+ if(isset($_REQUEST["triggerid"])){
$frmTrig->AddVar("triggerid",$_REQUEST["triggerid"]);
$trigger=get_trigger_by_triggerid($_REQUEST["triggerid"]);
@@ -2201,21 +2194,19 @@
$limited = $trigger['templateid'] ? 'yes' : null;
}
- $expression = get_request("expression" ,"");
+ $expression = get_request("expression" ,"");
$description = get_request("description" ,"");
- $type = get_request('type', 0);
- $priority = get_request("priority" ,0);
- $status = get_request("status" ,0);
- $comments = get_request("comments" ,"");
- $url = get_request("url" ,"");
+ $type = get_request('type', 0);
+ $priority = get_request("priority" ,0);
+ $status = get_request("status" ,0);
+ $comments = get_request("comments" ,"");
+ $url = get_request("url" ,"");
- if((isset($_REQUEST["triggerid"]) && !isset($_REQUEST["form_refresh"])) || isset($limited))
- {
+ if((isset($_REQUEST["triggerid"]) && !isset($_REQUEST["form_refresh"])) || isset($limited)){
$description = $trigger["description"];
$expression = explode_exp($trigger["expression"],0);
- if(!isset($limited) || !isset($_REQUEST["form_refresh"]))
- {
+ if(!isset($limited) || !isset($_REQUEST["form_refresh"])){
$type = $trigger['type'];
$priority = $trigger["priority"];
$status = $trigger["status"];
@@ -2233,7 +2224,7 @@
}
}
}
-
+
$frmTrig->AddRow(S_NAME, new CTextBox("description",$description,90, $limited));
$frmTrig->AddRow(S_EXPRESSION, array(
new CTextBox("expression",$expression,75, $limited),
@@ -2242,7 +2233,6 @@
"&dstfld1=expression&srctbl=expression".
"&srcfld1=expression&expression=' + escape(GetSelectedText(this.form.elements['expression'])),700,200);"))
));
-
/* dependencies */
foreach($dependencies as $val){
array_push($dep_el,
@@ -2261,7 +2251,6 @@
$frmTrig->AddRow(S_THE_TRIGGER_DEPENDS_ON,$dep_el);
/* end dependencies */
- global $USER_DETAILS;
/* new dependence */
$frmTrig->AddVar('new_dependence','0');
@@ -2273,6 +2262,7 @@
"&srcfld1=triggerid&srcfld2=description',600,450);",
'T');
+
$frmTrig->AddRow(S_NEW_DEPENDENCY,array($txtCondVal,
$btnSelect, BR(),
new CButton("add_dependence",S_ADD)
@@ -2340,8 +2330,7 @@
$items = get_request('items', array());
- if(isset($_REQUEST["graphid"]))
- {
+ if(isset($_REQUEST["graphid"])){
$frmGraph->AddVar("graphid",$_REQUEST["graphid"]);
$result=DBselect("SELECT * FROM graphs WHERE graphid=".$_REQUEST["graphid"]);
@@ -2349,8 +2338,7 @@
$frmGraph->SetTitle(S_GRAPH." \"".$row["name"]."\"");
}
- if(isset($_REQUEST['graphid']) && !isset($_REQUEST['form_refresh']))
- {
+ if(isset($_REQUEST['graphid']) && !isset($_REQUEST['form_refresh'])){
$name =$row['name'];
$width =$row['width'];
$height =$row['height'];
@@ -2415,8 +2403,7 @@
$_REQUEST['graph3d'] = $graph3d;
/********************/
- if($graphtype != GRAPH_TYPE_NORMAL)
- {
+ if($graphtype != GRAPH_TYPE_NORMAL){
foreach($items as $gid => $gitem)
{
if($gitem['type'] != GRAPH_ITEM_AGGREGATED) continue;
@@ -2532,8 +2519,7 @@
}
$dedlete_button = new CButton('delete_item', S_DELETE_SELECTED);
}
- else
- {
+ else{
$items_table = $dedlete_button = null;
}
$frmGraph->AddRow(S_ITEMS,
@@ -2550,8 +2536,7 @@
unset($items_table, $dedlete_button);
$frmGraph->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["graphid"]))
- {
+ if(isset($_REQUEST["graphid"])){
$frmGraph->AddItemToBottomRow(SPACE);
$frmGraph->AddItemToBottomRow(new CButton("clone",S_CLONE));
$frmGraph->AddItemToBottomRow(SPACE);
@@ -2566,7 +2551,7 @@
function insert_graphitem_form()
{
- global $_REQUEST;
+
$frmGItem = new CFormTable(S_NEW_ITEM_FOR_THE_GRAPH);
$frmGItem->SetName('graph_item');
@@ -2590,8 +2575,7 @@
$monitored_hosts = get_request('monitored_hosts', null);
$description = '';
- if($itemid > 0)
- {
+ if($itemid > 0){
$description = DBfetch(DBselect("select * FROM items WHERE itemid=".$itemid));
$description = item_description($description['description'],$description['key_']);
}
@@ -2606,12 +2590,10 @@
$txtCondVal = new CTextBox('description',$description,50,'yes');
$host_condition = "";
- if(isset($only_hostid))
- {// graph for template must use only one host
+ if(isset($only_hostid)){// graph for template must use only one host
$host_condition = "&only_hostid=".$only_hostid;
}
- else if(isset($monitored_hosts))
- {
+ else if(isset($monitored_hosts)){
$host_condition = "&monitored_hosts=1";
}
@@ -2707,14 +2689,13 @@
function insert_value_mapping_form()
{
- global $_REQUEST;
+
$frmValmap = new CFormTable(S_VALUE_MAP);
$frmValmap->SetHelp("web.mapping.php");
$frmValmap->AddVar("config",get_request("config",6));
- if(isset($_REQUEST["valuemapid"]))
- {
+ if(isset($_REQUEST["valuemapid"])){
$frmValmap->AddVar("valuemapid",$_REQUEST["valuemapid"]);
$db_valuemaps = DBselect("select * FROM valuemaps".
" WHERE valuemapid=".$_REQUEST["valuemapid"]);
@@ -2724,8 +2705,7 @@
$frmValmap->SetTitle(S_VALUE_MAP." \"".$db_valuemap["name"]."\"");
}
- if(isset($_REQUEST["valuemapid"]) && !isset($_REQUEST["form_refresh"]))
- {
+ if(isset($_REQUEST["valuemapid"]) && !isset($_REQUEST["form_refresh"])){
$valuemap = array();
$mapname = $db_valuemap["name"];
$mappings = DBselect("select * FROM mappings WHERE valuemapid=".$_REQUEST["valuemapid"]);
@@ -2738,8 +2718,7 @@
array_push($valuemap, $value);
}
}
- else
- {
+ else{
$mapname = get_request("mapname","");
$valuemap = get_request("valuemap",array());
}
@@ -2748,8 +2727,7 @@
$i = 0;
$valuemap_el = array();
- foreach($valuemap as $value)
- {
+ foreach($valuemap as $value){
array_push($valuemap_el,
array(
new CCheckBox("rem_value[]", 'no', null, $i),
@@ -3793,8 +3771,7 @@
$cmbType->AddItem(MEDIA_TYPE_EXEC,S_SCRIPT);
$frmMeadia->AddRow(S_TYPE,$cmbType);
- switch($type)
- {
+ switch($type){
case MEDIA_TYPE_EMAIL:
$frmMeadia->AddRow(S_SMTP_SERVER,new CTextBox("smtp_server",$smtp_server,30));
$frmMeadia->AddRow(S_SMTP_HELO,new CTextBox("smtp_helo",$smtp_helo,30));
@@ -3812,8 +3789,7 @@
}
$frmMeadia->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["mediatypeid"]))
- {
+ if(isset($_REQUEST["mediatypeid"])){
$frmMeadia->AddItemToBottomRow(SPACE);
$frmMeadia->AddItemToBottomRow(new CButtonDelete(S_DELETE_SELECTED_MEDIA,
url_param("form").url_param("mediatypeid")));
@@ -3825,14 +3801,13 @@
function insert_image_form()
{
- global $_REQUEST;
+
$frmImages = new CFormTable(S_IMAGE,"config.php","post","multipart/form-data");
$frmImages->SetHelp("web.config.images.php");
$frmImages->AddVar("config",get_request("config",3));
- if(isset($_REQUEST["imageid"]))
- {
+ if(isset($_REQUEST["imageid"])){
$result=DBselect("select imageid,imagetype,name FROM images".
" WHERE imageid=".$_REQUEST["imageid"]);
@@ -3841,14 +3816,12 @@
$frmImages->AddVar("imageid",$_REQUEST["imageid"]);
}
- if(isset($_REQUEST["imageid"]) && !isset($_REQUEST["form_refresh"]))
- {
+ if(isset($_REQUEST["imageid"]) && !isset($_REQUEST["form_refresh"])){
$name = $row["name"];
$imagetype = $row["imagetype"];
$imageid = $row["imageid"];
}
- else
- {
+ else{
$name = get_request("name","");
$imagetype = get_request("imagetype",1);
$imageid = get_request("imageid",0);
@@ -3863,16 +3836,14 @@
$frmImages->AddRow(S_UPLOAD,new CFile("image"));
- if($imageid > 0)
- {
+ if($imageid > 0){
$frmImages->AddRow(S_IMAGE,new CLink(
new CImg("image.php?width=640&height=480&imageid=".$imageid,"no image",null),
"image.php?imageid=".$row["imageid"]));
}
$frmImages->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["imageid"]))
- {
+ if(isset($_REQUEST["imageid"])){
$frmImages->AddItemToBottomRow(SPACE);
$frmImages->AddItemToBottomRow(new CButtonDelete(S_DELETE_SELECTED_IMAGE,
url_param("form").url_param("config").url_param("imageid")));
@@ -3884,24 +3855,21 @@
function insert_screen_form()
{
- global $_REQUEST;
+
$frm_title = S_SCREEN;
- if(isset($_REQUEST["screenid"]))
- {
+ if(isset($_REQUEST["screenid"])){
$result=DBselect("select screenid,name,hsize,vsize FROM screens g".
" WHERE screenid=".$_REQUEST["screenid"]);
$row=DBfetch($result);
$frm_title = S_SCREEN." \"".$row["name"]."\"";
}
- if(isset($_REQUEST["screenid"]) && !isset($_REQUEST["form_refresh"]))
- {
+ if(isset($_REQUEST["screenid"]) && !isset($_REQUEST["form_refresh"])){
$name=$row["name"];
$hsize=$row["hsize"];
$vsize=$row["vsize"];
}
- else
- {
+ else{
$name=get_request("name","");
$hsize=get_request("hsize",1);
$vsize=get_request("bsize",1);
@@ -3911,8 +3879,7 @@
$frmScr->AddVar('config', 0);
- if(isset($_REQUEST["screenid"]))
- {
+ if(isset($_REQUEST["screenid"])){
$frmScr->AddVar("screenid",$_REQUEST["screenid"]);
}
$frmScr->AddRow(S_NAME, new CTextBox("name",$name,32));
@@ -3920,8 +3887,7 @@
$frmScr->AddRow(S_ROWS, new CNumericBox("vsize",$vsize,3));
$frmScr->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["screenid"]))
- {
+ if(isset($_REQUEST["screenid"])){
/* $frmScr->AddItemToBottomRow(SPACE);
$frmScr->AddItemToBottomRow(new CButton('clone',S_CLONE)); !!! TODO */
$frmScr->AddItemToBottomRow(SPACE);
@@ -4035,8 +4001,7 @@
$form->AddRow(S_GRAPH_NAME,array($textfield,SPACE,$selectbtn));
}
- elseif($resourcetype == SCREEN_RESOURCE_SIMPLE_GRAPH)
- {
+ else if($resourcetype == SCREEN_RESOURCE_SIMPLE_GRAPH){
// Simple graph
$caption = '';
$id=0;
@@ -4068,8 +4033,7 @@
$form->AddRow(S_PARAMETER,array($textfield,SPACE,$selectbtn));
}
- elseif($resourcetype == SCREEN_RESOURCE_MAP)
- {
+ else if($resourcetype == SCREEN_RESOURCE_MAP){
// Map
$caption = '';
$id=0;
@@ -4131,19 +4095,17 @@
$form->AddRow(S_PARAMETER,array($textfield,SPACE,$selectbtn));
$form->AddRow(S_SHOW_LINES, new CNumericBox('elements',$elements,2));
}
- elseif($resourcetype == SCREEN_RESOURCE_ACTIONS)
- {
+ else if($resourcetype == SCREEN_RESOURCE_ACTIONS){
// History of actions
$form->AddRow(S_SHOW_LINES, new CNumericBox('elements',$elements,2));
$form->AddVar('resourceid',0);
}
- elseif($resourcetype == SCREEN_RESOURCE_EVENTS)
- {
+ else if($resourcetype == SCREEN_RESOURCE_EVENTS){
// History of events
$form->AddRow(S_SHOW_LINES, new CNumericBox('elements',$elements,2));
$form->AddVar('resourceid',0);
}
- elseif(uint_in_array($resourcetype,array(SCREEN_RESOURCE_TRIGGERS_OVERVIEW,SCREEN_RESOURCE_DATA_OVERVIEW))){
+ else if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_TRIGGERS_OVERVIEW,SCREEN_RESOURCE_DATA_OVERVIEW))){
// Overiews
$caption = '';
$id=0;
@@ -4174,7 +4136,7 @@
$form->AddRow(S_GROUP,array($textfield,SPACE,$selectbtn));
}
- elseif($resourcetype == SCREEN_RESOURCE_SCREEN){
+ else if($resourcetype == SCREEN_RESOURCE_SCREEN){
// Screens
$caption = '';
$id=0;
@@ -4246,63 +4208,53 @@
$form->AddVar("resourceid",0);
}
- if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_HOSTS_INFO,SCREEN_RESOURCE_TRIGGERS_INFO)))
- {
+ if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_HOSTS_INFO,SCREEN_RESOURCE_TRIGGERS_INFO))){
$cmbStyle = new CComboBox("style", $style);
$cmbStyle->AddItem(STYLE_HORISONTAL, S_HORISONTAL);
$cmbStyle->AddItem(STYLE_VERTICAL, S_VERTICAL);
$form->AddRow(S_STYLE, $cmbStyle);
}
- else if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_TRIGGERS_OVERVIEW,SCREEN_RESOURCE_DATA_OVERVIEW)))
- {
+ else if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_TRIGGERS_OVERVIEW,SCREEN_RESOURCE_DATA_OVERVIEW))){
$cmbStyle = new CComboBox('style', $style);
$cmbStyle->AddItem(STYLE_LEFT, S_LEFT);
$cmbStyle->AddItem(STYLE_TOP, S_TOP);
$form->AddRow(S_HOSTS_LOCATION, $cmbStyle);
}
- else if($resourcetype == SCREEN_RESOURCE_CLOCK)
- {
+ else if($resourcetype == SCREEN_RESOURCE_CLOCK){
$cmbStyle = new CComboBox("style", $style);
$cmbStyle->AddItem(TIME_TYPE_LOCAL, S_LOCAL_TIME);
$cmbStyle->AddItem(TIME_TYPE_SERVER, S_SERVER_TIME);
$form->AddRow(S_TIME_TYPE, $cmbStyle);
}
- else
- {
+ else{
$form->AddVar("style", 0);
}
- if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_URL)))
- {
+ if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_URL))){
$form->AddRow(S_URL, new CTextBox("url",$url,60));
}
- else
- {
+ else{
$form->AddVar("url", "");
}
- if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_GRAPH,SCREEN_RESOURCE_SIMPLE_GRAPH,SCREEN_RESOURCE_CLOCK,SCREEN_RESOURCE_URL)))
- {
+ if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_GRAPH,SCREEN_RESOURCE_SIMPLE_GRAPH,SCREEN_RESOURCE_CLOCK,SCREEN_RESOURCE_URL))){
$form->AddRow(S_WIDTH, new CNumericBox("width",$width,5));
$form->AddRow(S_HEIGHT, new CNumericBox("height",$height,5));
}
- else
- {
+ else{
$form->AddVar("width", 0);
$form->AddVar("height", 0);
}
if(uint_in_array($resourcetype,array(SCREEN_RESOURCE_GRAPH,SCREEN_RESOURCE_SIMPLE_GRAPH,SCREEN_RESOURCE_MAP,
- SCREEN_RESOURCE_CLOCK,SCREEN_RESOURCE_URL)))
- {
+ SCREEN_RESOURCE_CLOCK,SCREEN_RESOURCE_URL))){
$cmbHalign = new CComboBox("halign",$halign);
$cmbHalign->AddItem(HALIGN_CENTER, S_CENTER);
$cmbHalign->AddItem(HALIGN_LEFT, S_LEFT);
$cmbHalign->AddItem(HALIGN_RIGHT, S_RIGHT);
$form->AddRow(S_HORISONTAL_ALIGN, $cmbHalign);
}
- else
- {
+ else{
$form->AddVar("halign", 0);
}
@@ -4429,7 +4381,8 @@
$frmHouseKeep->AddItemToBottomRow(new CButton('save',S_SAVE));
$frmHouseKeep->Show();
}
-
+
+
// HOSTS
function insert_mass_update_host_form(){//$elements_array_name){
global $USER_DETAILS;
@@ -4509,7 +4462,9 @@
);
// onchange does not work on some browsers: MacOS, KDE browser
- $frmHost->AddRow(array(new CVisibilityBox('visible[dns]', isset($visible['dns']), 'dns', S_ORIGINAL),S_DNS_NAME),new CTextBox('dns',$dns,'40'));
+ $frmHost->AddRow(array(new CVisibilityBox('visible[dns]', isset($visible['dns']), 'dns', S_ORIGINAL),S_DNS_NAME),
+ new CTextBox('dns',$dns,'40')
+ );
$frmHost->AddRow(array(new CVisibilityBox('visible[ip]', isset($visible['ip']), 'ip', S_ORIGINAL),S_IP_ADDRESS),
new CTextBox('ip',$ip,defined('ZBX_HAVE_IPV6')?39:15)
@@ -4531,12 +4486,18 @@
$cmbProxy = new CComboBox('proxy_hostid', $proxy_hostid);
$cmbProxy->AddItem(0, S_NO_PROXY);
- $db_proxies = DBselect('SELECT hostid,host FROM hosts'.
- ' where status in ('.HOST_STATUS_PROXY.') and '.DBin_node('hostid'));
+
+ $sql = 'SELECT hostid,host '.
+ ' FROM hosts '.
+ ' WHERE status IN ('.HOST_STATUS_PROXY.') '.
+ ' AND '.DBin_node('hostid');
+ $db_proxies = DBselect($sql);
while ($db_proxy = DBfetch($db_proxies))
$cmbProxy->AddItem($db_proxy['hostid'], $db_proxy['host']);
- $frmHost->AddRow(array(new CVisibilityBox('visible[proxy_hostid]', isset($visible['proxy_hostid']), 'proxy_hostid', S_ORIGINAL),S_MONITORED_BY_PROXY),
+ $frmHost->AddRow(array(
+ new CVisibilityBox('visible[proxy_hostid]', isset($visible['proxy_hostid']), 'proxy_hostid', S_ORIGINAL),
+ S_MONITORED_BY_PROXY),
$cmbProxy
);
//----------
@@ -4613,6 +4574,7 @@
$frmHost->Show();
}
+
function insert_host_form($show_only_tmp=0){
global $USER_DETAILS;
@@ -4756,8 +4718,7 @@
$frmHost->AddVar('port',$port);
$frmHost->AddVar('status',$status);
}
- else
- {
+ else{
$frmHost->AddRow(S_PORT,new CNumericBox('port',$port,5));
//Proxy
@@ -4782,8 +4743,7 @@
$template_table->SetCellPadding(0);
$template_table->SetCellSpacing(0);
- foreach($templates as $id => $temp_name)
- {
+ foreach($templates as $id => $temp_name){
$frmHost->AddVar('templates['.$id.']',$temp_name);
$template_table->AddRow(array(
$temp_name,
@@ -4801,17 +4761,14 @@
'T')
));
- if($show_only_tmp)
- {
+ if($show_only_tmp){
$useprofile = "no";
$frmHost->AddVar("useprofile",$useprofile);
}
- else
- {
+ else{
$frmHost->AddRow(S_USE_PROFILE,new CCheckBox("useprofile",$useprofile,"submit()"));
}
- if($useprofile=="yes")
- {
+ if($useprofile=="yes"){
$frmHost->AddRow(S_DEVICE_TYPE,new CTextBox("devicetype",$devicetype,61));
$frmHost->AddRow(S_NAME,new CTextBox("name",$name,61));
$frmHost->AddRow(S_OS,new CTextBox("os",$os,61));
@@ -4824,8 +4781,7 @@
$frmHost->AddRow(S_LOCATION,new CTextArea("location",$location,60,4));
$frmHost->AddRow(S_NOTES,new CTextArea("notes",$notes,60,4));
}
- else
- {
+ else{
$frmHost->AddVar("devicetype", $devicetype);
$frmHost->AddVar("name", $name);
$frmHost->AddVar("os", $os);
@@ -4840,8 +4796,7 @@
}
$frmHost->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["hostid"]))
- {
+ if(isset($_REQUEST["hostid"])){
$frmHost->AddItemToBottomRow(SPACE);
$frmHost->AddItemToBottomRow(new CButton("clone",S_CLONE));
$frmHost->AddItemToBottomRow(SPACE);
@@ -4871,7 +4826,7 @@
}
# Insert form for Host Groups
- function insert_hostgroups_form(){
+ function insert_hostgroups_form(){
global $USER_DETAILS;
$hosts = get_request("hosts",array());
@@ -4924,8 +4879,7 @@
$frmHostG->AddRow(S_HOSTS,$cmbHosts->Get(S_HOSTS.SPACE.S_IN,S_OTHER.SPACE.S_HOSTS));
$frmHostG->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["groupid"]))
- {
+ if(isset($_REQUEST["groupid"])){
$frmHostG->AddItemToBottomRow(SPACE);
$frmHostG->AddItemToBottomRow(new CButton("clone",S_CLONE));
$frmHostG->AddItemToBottomRow(SPACE);
@@ -5147,8 +5101,8 @@
$frmApp->AddVar("apphostid",$apphostid);
- if(!isset($_REQUEST["applicationid"]))
- { // anly new application can SELECT host
+ if(!isset($_REQUEST["applicationid"])){
+// anly new application can SELECT host
$frmApp->AddRow(S_HOST,array(
new CTextBox("apphost",$apphost,32,'yes'),
new CButton("btn1",S_SELECT,
@@ -5159,13 +5113,13 @@
}
$frmApp->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["applicationid"]))
- {
+ if(isset($_REQUEST["applicationid"])){
$frmApp->AddItemToBottomRow(SPACE);
$frmApp->AddItemToBottomRow(new CButtonDelete("Delete this application?",
url_param("config").url_param("hostid").url_param("groupid").
url_param("form").url_param("applicationid")));
}
+
$frmApp->AddItemToBottomRow(SPACE);
$frmApp->AddItemToBottomRow(new CButtonCancel(url_param("config").url_param("hostid").url_param("groupid")));
@@ -5173,20 +5127,16 @@
}
- function insert_map_form()
- {
- global $_REQUEST;
-
+ function insert_map_form(){
$frm_title = "New system map";
- if(isset($_REQUEST["sysmapid"]))
- {
+ if(isset($_REQUEST["sysmapid"])){
$result=DBselect("SELECT * FROM sysmaps WHERE sysmapid=".$_REQUEST["sysmapid"]);
$row=DBfetch($result);
$frm_title = "System map: \"".$row["name"]."\"";
}
- if(isset($_REQUEST["sysmapid"]) && !isset($_REQUEST["form_refresh"]))
- {
+
+ if(isset($_REQUEST["sysmapid"]) && !isset($_REQUEST["form_refresh"])){
$name = $row["name"];
$width = $row["width"];
$height = $row["height"];
@@ -5194,8 +5144,7 @@
$label_type = $row["label_type"];
$label_location = $row["label_location"];
}
- else
- {
+ else{
$name = get_request("name","");
$width = get_request("width",800);
$height = get_request("height",600);
@@ -5217,14 +5166,15 @@
$cmbImg = new CComboBox("backgroundid",$backgroundid);
$cmbImg->AddItem(0,"No image...");
+
$result=DBselect('SELECT * FROM images WHERE imagetype=2 AND '.DBin_node('imageid').' order by name');
- while($row=DBfetch($result))
- {
+ while($row=DBfetch($result)){
$cmbImg->AddItem(
$row["imageid"],
get_node_name_by_elid($row["imageid"]).$row["name"]
);
}
+
$frmMap->AddRow(S_BACKGROUND_IMAGE,$cmbImg);
$cmbLabel = new CComboBox("label_type",$label_type);
@@ -5244,12 +5194,13 @@
$frmMap->AddRow(S_ICON_LABEL_LOCATION,$cmbLocation);
$frmMap->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["sysmapid"]))
- {
+
+ if(isset($_REQUEST["sysmapid"])){
$frmMap->AddItemToBottomRow(SPACE);
$frmMap->AddItemToBottomRow(new CButtonDelete("Delete system map?",
url_param("form").url_param("sysmapid")));
}
+
$frmMap->AddItemToBottomRow(SPACE);
$frmMap->AddItemToBottomRow(new CButtonCancel());
@@ -5257,8 +5208,7 @@
}
- function insert_map_element_form()
- {
+ function insert_map_element_form(){
global $USER_DETAILS;
$frmEl = new CFormTable("New map element","sysmap.php");
@@ -5435,15 +5385,16 @@
$cmbIconOff = new CComboBox("iconid_off",$iconid_off);
$cmbIconOn = new CComboBox("iconid_on",$iconid_on);
$cmbIconUnknown = new CComboBox("iconid_unknown",$iconid_unknown);
+
$result = DBselect('SELECT * FROM images WHERE imagetype=1 AND '.DBin_node('imageid').' order by name');
- while($row=DBfetch($result))
- {
+ while($row=DBfetch($result)){
$row["name"] = get_node_name_by_elid($row["imageid"]).$row["name"];
$cmbIconOff->AddItem($row["imageid"],$row["name"]);
$cmbIconOn->AddItem($row["imageid"],$row["name"]);
$cmbIconUnknown->AddItem($row["imageid"],$row["name"]);
}
+
$frmEl->AddRow(S_ICON_OFF,$cmbIconOff);
$frmEl->AddRow(S_ICON_ON,$cmbIconOn);
$frmEl->AddRow(S_ICON_UNKNOWN,$cmbIconUnknown);
@@ -5453,8 +5404,7 @@
$frmEl->AddRow(S_URL, new CTextBox("url", $url, 64));
$frmEl->AddItemToBottomRow(new CButton("save",S_SAVE));
- if(isset($_REQUEST["selementid"]))
- {
+ if(isset($_REQUEST["selementid"])){
$frmEl->AddItemToBottomRow(SPACE);
$frmEl->AddItemToBottomRow(new CButtonDelete("Delete element?",url_param("form").
url_param("selementid").url_param("sysmapid")));
@@ -5465,9 +5415,7 @@
$frmEl->Show();
}
- function insert_map_link_form()
- {
- global $_REQUEST;
+ function insert_map_link_form(){
$frmCnct = new CFormTable("New connector","sysmap.php");
$frmCnct->SetHelp("web.sysmap.connector.php");
@@ -5614,8 +5562,7 @@
$frmCnct->AddRow(S_COLOR.' ('.S_OFF.')',new CColor('color',$color));
$frmCnct->AddItemToBottomRow(new CButton("save_link",S_SAVE));
- if(isset($_REQUEST["linkid"]))
- {
+ if(isset($_REQUEST["linkid"])){
$frmCnct->AddItemToBottomRow(SPACE);
$frmCnct->AddItemToBottomRow(new CButtonDelete("Delete link?",
url_param("linkid").url_param("sysmapid")));
diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php
index 1b2feaf5..d152a714 100644
--- a/frontends/php/include/locales/en_gb.inc.php
+++ b/frontends/php/include/locales/en_gb.inc.php
@@ -1358,6 +1358,10 @@
'S_MULTIPLE_EVENTS'=> 'Multiple events',
'S_EVENT_GENERATION'=> 'Event generation',
+
+ 'S_TRIGGERS_MASSUPDATE'=> 'Triggers massupdate',
+ 'S_TRIGGER_DEPENDENCIES'=> 'Trigger dependencies',
+ 'S_INCORRECT_DEPENDENCY'=> 'Incorrect dependency',
// tr_comments.php
'S_TRIGGER_COMMENTS'=> 'Trigger comments',
diff --git a/frontends/php/include/triggers.inc.php b/frontends/php/include/triggers.inc.php
index 3ecb20c9..f9a35473 100644
--- a/frontends/php/include/triggers.inc.php
+++ b/frontends/php/include/triggers.inc.php
@@ -35,8 +35,7 @@
* Comments:
*
*/
- function INIT_TRIGGER_EXPRESSION_STRUCTURES()
- {
+ function INIT_TRIGGER_EXPRESSION_STRUCTURES(){
if ( defined('TRIGGER_EXPRESSION_STRUCTURES_OK') ) return;
define('TRIGGER_EXPRESSION_STRUCTURES_OK', 1);
@@ -311,8 +310,7 @@
* Comments:
*
*/
- function get_severity_description($severity)
- {
+ function get_severity_description($severity){
if($severity == TRIGGER_SEVERITY_NOT_CLASSIFIED) return S_NOT_CLASSIFIED;
else if($severity == TRIGGER_SEVERITY_INFORMATION) return S_INFORMATION;
else if($severity == TRIGGER_SEVERITY_WARNING) return S_WARNING;
@@ -335,8 +333,7 @@
* Comments:
*
*/
- function get_trigger_value_style($value)
- {
+ function get_trigger_value_style($value){
$str_val[TRIGGER_VALUE_FALSE] = 'off';
$str_val[TRIGGER_VALUE_TRUE] = 'on';
$str_val[TRIGGER_VALUE_UNKNOWN] = 'unknown';
@@ -359,8 +356,7 @@
* Comments:
*
*/
- function trigger_value2str($value)
- {
+ function trigger_value2str($value){
$str_val[TRIGGER_VALUE_FALSE] = S_FALSE_BIG;
$str_val[TRIGGER_VALUE_TRUE] = S_TRUE_BIG;
$str_val[TRIGGER_VALUE_UNKNOWN] = S_UNKNOWN_BIG;
@@ -383,8 +379,7 @@
* Comments:
*
*/
- function get_realhosts_by_triggerid($triggerid)
- {
+ function get_realhosts_by_triggerid($triggerid){
$trigger = get_trigger_by_triggerid($triggerid);
if($trigger['templateid'] > 0)
return get_realhosts_by_triggerid($trigger['templateid']);
@@ -392,21 +387,18 @@
return get_hosts_by_triggerid($triggerid);
}
- function get_trigger_by_triggerid($triggerid)
- {
+ function get_trigger_by_triggerid($triggerid){
$sql="select * from triggers where triggerid=$triggerid";
$result=DBselect($sql);
$row=DBfetch($result);
- if($row)
- {
+ if($row){
return $row;
}
error("No trigger with triggerid=[$triggerid]");
return FALSE;
}
- function get_hosts_by_triggerid($triggerid)
- {
+ function get_hosts_by_triggerid($triggerid){
return DBselect('SELECT DISTINCT h.* '.
' FROM hosts h, functions f, items i '.
' WHERE i.itemid=f.itemid '.
@@ -414,8 +406,7 @@
' and f.triggerid='.$triggerid);
}
- function get_functions_by_triggerid($triggerid)
- {
+ function get_functions_by_triggerid($triggerid){
return DBselect('select * from functions where triggerid='.$triggerid);
}
@@ -485,8 +476,7 @@
* Comments:
*
*/
- function get_hosts_by_expression($expression)
- {
+ function get_hosts_by_expression($expression){
global $ZBX_TR_EXPR_ALLOWED_MACROS, $ZBX_TR_EXPR_REPLACE_TO;
$expr = $expression;
@@ -494,15 +484,12 @@
$hosts = array();
/* Replace all {server:key.function(param)} and {MACRO} with '$ZBX_TR_EXPR_REPLACE_TO' */
- while(ereg(ZBX_EREG_EXPRESSION_TOKEN_FORMAT, $expr, $arr))
- {
- if ( $arr[ZBX_EXPRESSION_MACRO_ID] && !isset($ZBX_TR_EXPR_ALLOWED_MACROS[$arr[ZBX_EXPRESSION_MACRO_ID]]) )
- {
+ while(ereg(ZBX_EREG_EXPRESSION_TOKEN_FORMAT, $expr, $arr)){
+ if($arr[ZBX_EXPRESSION_MACRO_ID] && !isset($ZBX_TR_EXPR_ALLOWED_MACROS[$arr[ZBX_EXPRESSION_MACRO_ID]]) ){
$hosts = array('0');
break;
}
- else if( !$arr[ZBX_EXPRESSION_MACRO_ID] )
- {
+ else if( !$arr[ZBX_EXPRESSION_MACRO_ID] ) {
$hosts[] = zbx_dbstr($arr[ZBX_EXPRESSION_SIMPLE_EXPRESSION_ID + ZBX_SIMPLE_EXPRESSION_HOST_ID]);
}
$expr = $arr[ZBX_EXPRESSION_LEFT_ID].$ZBX_TR_EXPR_REPLACE_TO.$arr[ZBX_EXPRESSION_RIGHT_ID];
@@ -529,16 +516,14 @@
* Unescape only '\\' and '\"' combination
*
*/
- function zbx_unquote_param($value)
- {
+ function zbx_unquote_param($value){
$value = trim($value);
- if ( !empty($value) && '"' == $value[0] )
- { /* open quotes and unescape chars */
+ if ( !empty($value) && '"' == $value[0] ){
+/* open quotes and unescape chars */
$value = substr($value, 1, strlen($value)-2);
$new_val = '';
- for ( $i=0, $max=strlen($value); $i < $max; $i++)
- {
+ for ( $i=0, $max=strlen($value); $i < $max; $i++){
if ( $i+1 < $max && $value[$i] == '\\' && ($value[$i+1] == '\\' || $value[$i+1] == '"') )
$new_val .= $value[++$i];
else
@@ -546,37 +531,33 @@
}
$value = $new_val;
}
- return $value;
+ return $value;
}
- /*
- * Function: zbx_get_params
- *
- * Description:
- * parse list of quoted parameters
- *
- * Author:
- * Eugene Grigorjev (eugene.grigorjev@zabbix.com)
- *
- * Comments:
- * Double quotes used only.
- *
- */
- function zbx_get_params($string)
- {
+/*
+ * Function: zbx_get_params
+ *
+ * Description:
+ * parse list of quoted parameters
+ *
+ * Author:
+ * Eugene Grigorjev (eugene.grigorjev@zabbix.com)
+ *
+ * Comments:
+ * Double quotes used only.
+ *
+ */
+ function zbx_get_params($string){
$params = array();
$quoted = false;
- for( $param_s = $i = 0, $len = strlen($string); $i < $len; $i++)
- {
- switch ( $string[$i] )
- {
+ for( $param_s = $i = 0, $len = strlen($string); $i < $len; $i++){
+ switch ( $string[$i] ){
case '"':
$quoted = !$quoted;
break;
case ',':
- if ( !$quoted )
- {
+ if ( !$quoted ){
$params[] = zbx_unquote_param(substr($string, $param_s, $i - $param_s));
$param_s = $i+1;
}
@@ -588,18 +569,16 @@
}
}
- if( $quoted )
- {
+ if( $quoted ){
error('Incorrect usage of quotes. ['.$string.']');
return null;
}
- if( $i > $param_s )
- {
+ if($i > $param_s){
$params[] = zbx_unquote_param(substr($string, $param_s, $i - $param_s));
}
- return $params;
+ return $params;
}
/*
@@ -614,12 +593,10 @@
* Comments:
*
*/
- function validate_expression($expression)
- {
+ function validate_expression($expression){
global $ZBX_TR_EXPR_ALLOWED_MACROS, $ZBX_TR_EXPR_REPLACE_TO, $ZBX_TR_EXPR_ALLOWED_FUNCTIONS;
- if( empty($expression) )
- {
+ if( empty($expression) ){
error('Expression can\'t be empty');
}
@@ -627,15 +604,12 @@
$h_status = array();
/* Replace all {server:key.function(param)} and {MACRO} with '$ZBX_TR_EXPR_REPLACE_TO' */
- while(ereg(ZBX_EREG_EXPRESSION_TOKEN_FORMAT, $expr, $arr))
- {
- if ( $arr[ZBX_EXPRESSION_MACRO_ID] && !isset($ZBX_TR_EXPR_ALLOWED_MACROS[$arr[ZBX_EXPRESSION_MACRO_ID]]) )
- {
+ while(ereg(ZBX_EREG_EXPRESSION_TOKEN_FORMAT, $expr, $arr)){
+ if ( $arr[ZBX_EXPRESSION_MACRO_ID] && !isset($ZBX_TR_EXPR_ALLOWED_MACROS[$arr[ZBX_EXPRESSION_MACRO_ID]]) ){
error('Unknown macro ['.$arr[ZBX_EXPRESSION_MACRO_ID].']');
return false;
}
- else if( !$arr[ZBX_EXPRESSION_MACRO_ID] )
- {
+ else if( !$arr[ZBX_EXPRESSION_MACRO_ID] ) {
$host = &$arr[ZBX_EXPRESSION_SIMPLE_EXPRESSION_ID + ZBX_SIMPLE_EXPRESSION_HOST_ID];
$key = &$arr[ZBX_EXPRESSION_SIMPLE_EXPRESSION_ID + ZBX_SIMPLE_EXPRESSION_KEY_ID];
$function = &$arr[ZBX_EXPRESSION_SIMPLE_EXPRESSION_ID + ZBX_SIMPLE_EXPRESSION_FUNCTION_NAME_ID];
@@ -645,13 +619,11 @@
$row=DBfetch(DBselect('select count(*) as cnt,min(status) as status,min(hostid) as hostid from hosts h where h.host='.zbx_dbstr($host).
' and '.DBin_node('h.hostid', get_current_nodeid(false))
));
- if($row['cnt']==0)
- {
+ if($row['cnt']==0){
error('No such host ('.$host.')');
return false;
}
- elseif($row['cnt']!=1)
- {
+ else if($row['cnt']!=1){
error('Too many hosts ('.$host.')');
return false;
}
@@ -669,8 +641,7 @@
}
/* Check function */
- if( !isset($ZBX_TR_EXPR_ALLOWED_FUNCTIONS[$function]) )
- {
+ if( !isset($ZBX_TR_EXPR_ALLOWED_FUNCTIONS[$function]) ){
error('Unknown function ['.$function.']');
return false;
}
@@ -678,8 +649,7 @@
$fnc_valid = &$ZBX_TR_EXPR_ALLOWED_FUNCTIONS[$function];
if ( is_array($fnc_valid['item_types']) &&
- !uint_in_array($item['value_type'], $fnc_valid['item_types']))
- {
+ !uint_in_array($item['value_type'], $fnc_valid['item_types'])){
$allowed_types = array();
foreach($fnc_valid['item_types'] as $type)
$allowed_types[] = item_value_type2str($type);
@@ -688,38 +658,31 @@
return false;
}
- if( !is_null($fnc_valid['args']) )
- {
+ if( !is_null($fnc_valid['args']) ){
$parameter = zbx_get_params($parameter);
if( !is_array($fnc_valid['args']) )
$fnc_valid['args'] = array($fnc_valid['args']);
- foreach($fnc_valid['args'] as $pid => $params)
- {
- if(!isset($parameter[$pid]))
- {
- if( !isset($params['mandat']) )
- {
+ foreach($fnc_valid['args'] as $pid => $params){
+ if(!isset($parameter[$pid])){
+ if( !isset($params['mandat']) ){
continue;
}
- else
- {
+ else{
error('Missed mandatory parameter for function ('.$function.')');
return false;
}
}
if( 'sec' == $params['type']
- && (validate_float($parameter[$pid])!=0) )
- {
+ && (validate_float($parameter[$pid])!=0) ){
error('['.$parameter[$pid].'] is not a float for function ('.$function.')');
return false;
}
if( 'sec_num' == $params['type']
- && (validate_ticks($parameter[$pid])!=0) )
- {
+ && (validate_ticks($parameter[$pid])!=0) ){
error('['.$parameter[$pid].'] is not a float or counter for function ('.$function.')');
return false;
}
@@ -729,8 +692,7 @@
$expr = $arr[ZBX_EXPRESSION_LEFT_ID].$ZBX_TR_EXPR_REPLACE_TO.$arr[ZBX_EXPRESSION_RIGHT_ID];
}
- if ( isset($h_status[HOST_STATUS_TEMPLATE]) && ( count($h_status) > 1 || count($h_status[HOST_STATUS_TEMPLATE]) > 1 ))
- {
+ if ( isset($h_status[HOST_STATUS_TEMPLATE]) && ( count($h_status) > 1 || count($h_status[HOST_STATUS_TEMPLATE]) > 1 )){
error("Incorrect trigger expression. You can't use template hosts".
" in mixed expressions.");
return false;
@@ -742,13 +704,11 @@
$expr_format = '(('.$expt_term.ZBX_EREG_SPACES.ZBX_EREG_SIGN.ZBX_EREG_SPACES.$expt_term.')|(\('.$expt_term.'\)))';
$expr_full_format = '((\('.$expr_format.'\))|('.$expr_format.'))';
- while($res = ereg($expr_full_format.'([[:print:]]*)$', $expr, $arr))
- {
+ while($res = ereg($expr_full_format.'([[:print:]]*)$', $expr, $arr)){
$expr = substr($expr, 0, strpos($expr, $arr[1])).$ZBX_TR_EXPR_REPLACE_TO.$arr[58];
}
- if ( $ZBX_TR_EXPR_REPLACE_TO != $expr )
- {
+ if ( $ZBX_TR_EXPR_REPLACE_TO != $expr ){
error('Incorrect trigger expression. ['.str_replace($ZBX_TR_EXPR_REPLACE_TO, ' ... ', $expr).']');
return false;
}
@@ -783,8 +743,11 @@
reset_items_nextcheck($triggerid);
- foreach($deps as $val){
- $result = add_trigger_dependency($triggerid, $val);
+ foreach($deps as $id => $triggerid_up){
+ if(!$result2=add_trigger_dependency($triggerid, $triggerid_up)){
+ error(S_INCORRECT_DEPENDENCY.' ['.expand_trigger_description($triggerid_up).']');
+ }
+ $result &= $result2;
}
}
@@ -1048,7 +1011,7 @@
* Comments: !!! Don't forget sync code with C !!!
*
*/
- function implode_exp ($expression, $triggerid){
+ function implode_exp($expression, $triggerid){
global $ZBX_TR_EXPR_ALLOWED_MACROS, $ZBX_TR_EXPR_REPLACE_TO;
$expr = $expression;
$short_exp = $expression;
@@ -1291,19 +1254,21 @@
' values('.$eventid.','.EVENT_SOURCE_TRIGGERS.','.EVENT_OBJECT_TRIGGER.','.$triggerid.','.$time.','.$value.')');
if($value == TRIGGER_VALUE_FALSE || $value == TRIGGER_VALUE_TRUE){
- DBexesute('update alerts set retries=3,error=\'Trigger changed its status. Will not send repeats.\''.
+ DBexecute('update alerts set retries=3,error=\'Trigger changed its status. Will not send repeats.\''.
' where eventid='.$eventid.' and repeats>0 and status='.ALERT_STATUS_NOT_SENT);
}
return true;
}
function add_trigger_dependency($triggerid,$depid){
- $result=insert_dependency($triggerid,$depid);;
- if(!$result){
- return $result;
+ $result = false;
+
+ if(check_dependency_by_triggerid($triggerid,$depid)){
+ $result=insert_dependency($triggerid,$depid);
}
+
//add_additional_dependencies($triggerid,$depid);
- return $result;
+ return $result;
}
/******************************************************************************
@@ -1316,8 +1281,7 @@
function delete_trigger($triggerid){
// first delete child triggers
$db_triggers= get_triggers_by_templateid($triggerid);
- while($db_trigger = DBfetch($db_triggers))
- {// recursion
+ while($db_trigger = DBfetch($db_triggers)){// recursion
$result = delete_trigger($db_trigger["triggerid"]);
if(!$result) return $result;
}
@@ -1347,8 +1311,7 @@
// disable actions
$db_actions = DBselect('select distinct actionid from conditions '.
" where conditiontype=".CONDITION_TYPE_TRIGGER." and value=".zbx_dbstr($triggerid));
- while($db_action = DBfetch($db_actions))
- {
+ while($db_action = DBfetch($db_actions)){
DBexecute("update actions set status=".ACTION_STATUS_DISABLED.
" where actionid=".$db_action["actionid"]);
}
@@ -1359,8 +1322,7 @@
$result = DBexecute("delete from triggers where triggerid=$triggerid");
- if($result)
- {
+ if($result){
$msg = "Trigger '".$trigger["description"]."' deleted";
$trig_host = DBfetch($trig_hosts);
if($trig_host)
@@ -1380,8 +1342,7 @@
* *
******************************************************************************/
function update_trigger($triggerid,$expression=NULL,$description=NULL,$type=NULL,$priority=NULL,$status=NULL,
- $comments=NULL,$url=NULL,$deps=array(),$templateid=0)
- {
+ $comments=NULL,$url=NULL,$deps=array(),$templateid=0){
$trigger = get_trigger_by_triggerid($triggerid);
$trig_hosts = get_hosts_by_triggerid($triggerid);
$trig_host = DBfetch($trig_hosts);
@@ -1458,23 +1419,24 @@
delete_dependencies_by_triggerid($triggerid);
- foreach($deps as $val)
- {
- $result=add_trigger_dependency($triggerid, $val);
- }
- if($result)
- {
+ foreach($deps as $id => $triggerid_up){
+ if(!$result2=add_trigger_dependency($triggerid, $triggerid_up)){
+ error(S_INCORRECT_DEPENDENCY.' ['.expand_trigger_description($triggerid_up).']');
+ }
+ $result &= $result2;
+ }
+
+ if($result){
$trig_hosts = get_hosts_by_triggerid($triggerid);
$msg = "Trigger '".$trigger["description"]."' updated";
$trig_host = DBfetch($trig_hosts);
- if($trig_host)
- {
+ if($trig_host){
$msg .= " for host '".$trig_host["host"]."'";
}
info($msg);
}
- return $result;
+ return $result;
}
function check_right_on_trigger_by_triggerid($permission,$triggerid){
@@ -1528,36 +1490,51 @@
if(!$result){
return $result;
}
- return DBexecute("update triggers set dep_level=dep_level+1 where triggerid=$triggerid_up");
+ return DBexecute("update triggers set dep_level=dep_level+1 where triggerid=$triggerid_up");
}
- /* INCORRECT LOGIC: If 1 depends on 2, and 2 depends on 3, then add dependency 1->3
+
+ function check_dependency_by_triggerid($triggerid,$triggerid_up,$level=0){
+ if(bccomp($triggerid,$triggerid_up) == 0) return false;
+ if($level > 32) return true;
+
+ $level++;
+ $result = true;
+
+ $sql = 'SELECT triggerid_up FROM trigger_depends WHERE triggerid_down='.$triggerid_up;
+ $res = DBselect($sql);
+ while(($trig = DBfetch($res)) && $result){
+ $result &= check_dependency_by_triggerid($triggerid,$trig['triggerid_up'],$level);
+ }
+
+ return $result;
+ }
+/* INCORRECT LOGIC: If 1 depends on 2, and 2 depends on 3, then add dependency 1->3
- function add_additional_dependencies($triggerid_down,$triggerid_up)
- {
- $result=DBselect("select triggerid_down from trigger_depends".
- " where triggerid_up=$triggerid_down");
- while($row=DBfetch($result))
- {
- insert_dependency($row["triggerid_down"],$triggerid_up);
+ function add_additional_dependencies($triggerid_down,$triggerid_up){
+ $result=DBselect('SELECT triggerid_down '.
+ ' FROM trigger_depends '.
+ ' WHERE triggerid_up='.$triggerid_down);
+
+ while($row=DBfetch($result)){
+ insert_dependency($row['triggerid_down'],$triggerid_up);
add_additional_dependencies($row["triggerid_down"],$triggerid_up);
}
+
$result=DBselect("select triggerid_up from trigger_depends where triggerid_down=$triggerid_up");
- while($row=DBfetch($result))
- {
+
+ while($row=DBfetch($result)){
insert_dependency($triggerid_down,$row["triggerid_up"]);
add_additional_dependencies($triggerid_down,$row["triggerid_up"]);
}
}
- */
+//*/
- function delete_function_by_triggerid($triggerid)
- {
+ function delete_function_by_triggerid($triggerid){
return DBexecute("delete from functions where triggerid=$triggerid");
}
- function delete_events_by_triggerid($triggerid)
- {
+ function delete_events_by_triggerid($triggerid){
return DBexecute('delete from events where objectid='.$triggerid.' and object='.EVENT_OBJECT_TRIGGER);
}
@@ -1566,13 +1543,10 @@
* Comments: !!! Don't forget sync code with C !!! *
* *
******************************************************************************/
- function delete_triggers_by_itemid($itemid)
- {
+ function delete_triggers_by_itemid($itemid){
$result=DBselect("select triggerid from functions where itemid=$itemid");
- while($row=DBfetch($result))
- {
- if(!delete_trigger($row["triggerid"]))
- {
+ while($row=DBfetch($result)){
+ if(!delete_trigger($row["triggerid"])){
return FALSE;
}
}
@@ -1586,11 +1560,9 @@
* Comments: !!! Don't forget sync code with C !!! *
* *
******************************************************************************/
- function delete_services_by_triggerid($triggerid)
- {
+ function delete_services_by_triggerid($triggerid){
$result = DBselect("select serviceid from services where triggerid=$triggerid");
- while($row = DBfetch($result))
- {
+ while($row = DBfetch($result)){
delete_service($row["serviceid"]);
}
return TRUE;
@@ -1608,8 +1580,8 @@
* Comments:
*
*/
- function cmp_triggers_exressions($triggerid1, $triggerid2) // compare EXPRESSION !!!
- {
+ function cmp_triggers_exressions($triggerid1, $triggerid2){
+// compare EXPRESSION !!!
$trig1 = get_trigger_by_triggerid($triggerid1);
$trig2 = get_trigger_by_triggerid($triggerid2);
@@ -1625,7 +1597,7 @@
break;
}
}
- return strcmp($expr1,$trig2["expression"]);
+ return strcmp($expr1,$trig2["expression"]);
}
/*
@@ -1640,16 +1612,15 @@
* Comments: !!! Don't forget sync code with C !!!
*
*/
- function cmp_triggers($triggerid1, $triggerid2) // compare EXPRESSION !!!
- {
+ function cmp_triggers($triggerid1, $triggerid2){
+// compare EXPRESSION !!!
$trig1 = get_trigger_by_triggerid($triggerid1);
$trig2 = get_trigger_by_triggerid($triggerid2);
$trig_fnc1 = get_functions_by_triggerid($triggerid1);
$expr1 = $trig1["expression"];
- while($fnc1 = DBfetch($trig_fnc1))
- {
+ while($fnc1 = DBfetch($trig_fnc1)){
$trig_fnc2 = get_functions_by_triggerid($triggerid2);
while($fnc2 = DBfetch($trig_fnc2)){
if(strcmp($fnc1["function"],$fnc2["function"])) continue;
@@ -1682,11 +1653,9 @@
* Comments: !!! Don't forget sync code with C !!!
*
*/
- function delete_template_triggers($hostid, $templateid = null, $unlink_mode = false)
- {
+ function delete_template_triggers($hostid, $templateid = null, $unlink_mode = false){
$triggers = get_triggers_by_hostid($hostid);
- while($trigger = DBfetch($triggers))
- {
+ while($trigger = DBfetch($triggers)){
if($trigger["templateid"]==0) continue;
if($templateid != null)
@@ -1729,23 +1698,19 @@
* Comments: !!! Don't forget sync code with C !!!
*
*/
- function copy_template_triggers($hostid, $templateid = null, $copy_mode = false)
- {
- if(null == $templateid)
- {
+ function copy_template_triggers($hostid, $templateid = null, $copy_mode = false){
+ if(null == $templateid){
$templateid = array_keys(get_templates_by_hostid($hostid));
}
- if(is_array($templateid))
- {
+ if(is_array($templateid)){
foreach($templateid as $id)
copy_template_triggers($hostid, $id, $copy_mode); // attention recursion
return;
}
$triggers = get_triggers_by_hostid($templateid);
- while($trigger = DBfetch($triggers))
- {
+ while($trigger = DBfetch($triggers)){
copy_trigger_to_host($trigger["triggerid"], $hostid, $copy_mode);
}
@@ -1764,13 +1729,14 @@
* Comments: !!! Don't forget sync code with C !!!
*
*/
- function update_template_dependencies_for_host($hostid)
- {
+ function update_template_dependencies_for_host($hostid){
+
$db_triggers = get_triggers_by_hostid($hostid);
- while($trigger_data = DBfetch($db_triggers))
- {
+
+ while($trigger_data = DBfetch($db_triggers)){
$db_chd_triggers = get_triggers_by_templateid($trigger_data['triggerid']);
- while($chd_trigger_data = DBfetch($db_chd_triggers))
+
+ while($chd_trigger_data = DBfetch($db_chd_triggers)){
update_trigger($chd_trigger_data['triggerid'],
/*$expression*/ NULL,
/*$description*/ NULL,
@@ -1783,6 +1749,7 @@
get_trigger_dependencies_by_triggerid($trigger_data['triggerid']),
$hostid),
$trigger_data['triggerid']);
+ }
}
}
@@ -1799,7 +1766,7 @@
* Comments: !!! Don't forget sync code with C !!!
*
*/
- function get_triggers_overview($groupid,$view_style=null){
+ function get_triggers_overview($groupid,$view_style=null){
global $USER_DETAILS;
if(is_null($view_style)) $view_style = get_profile('web.overview.view.style',STYLE_TOP);
@@ -1927,7 +1894,7 @@
$style .= 'background-image: url(images/gradients/blink1.gif); '.
'background-position: top left; '.
'background-repeat: repeat;';
- elseif((time(NULL)-$trhosts[$hostname]['lastchange'])<900)
+ else if((time(NULL)-$trhosts[$hostname]['lastchange'])<900)
$style .= 'background-image: url(images/gradients/blink2.gif); '.
'background-position: top left; '.
'background-repeat: repeat;';
@@ -2004,23 +1971,19 @@
return $table_row;
}
- function get_function_by_functionid($functionid)
- {
+ function get_function_by_functionid($functionid){
$result=DBselect("select * from functions where functionid=$functionid");
$row=DBfetch($result);
- if($row)
- {
+ if($row){
return $row;
}
- else
- {
+ else{
error("No function with functionid=[$functionid]");
}
return $item;
}
- function calculate_availability($triggerid,$period_start,$period_end)
- {
+ function calculate_availability($triggerid,$period_start,$period_end){
$sql='select count(*) as cnt,min(clock) as minn,max(clock) as maxx from events '.
' where objectid='.$triggerid.' and object='.EVENT_OBJECT_TRIGGER;
@@ -2028,13 +1991,11 @@
if($period_end!=0) $sql .= ' and clock<='.$period_end;
$row=DBfetch(DBselect($sql));
- if($row["cnt"]>0)
- {
+ if($row["cnt"]>0){
$min=$row["minn"];
$max=$row["maxx"];
}
- else
- {
+ else{
if(($period_start==0)&&($period_end==0))
{
$max=time();
@@ -2066,13 +2027,11 @@
$unknown_time = 0;
$time = $min;
- if(($period_start==0)&&($period_end==0))
- {
+ if(($period_start==0)&&($period_end==0)){
$max=time();
}
$rows=0;
- while($row=DBfetch($result))
- {
+ while($row=DBfetch($result)){
$clock=$row["clock"];
$value=$row["value"];
@@ -2082,16 +2041,13 @@
if($state==-1)
{
$state=$value;
- if($state == 0)
- {
+ if($state == 0){
$false_time+=$diff;
}
- if($state == 1)
- {
+ if($state == 1){
$true_time+=$diff;
}
- if($state == 2)
- {
+ if($state == 2){
$unknown_time+=$diff;
}
}
@@ -2113,28 +2069,23 @@
$rows++;
}
- if($rows==0)
- {
+ if($rows==0){
$trigger = get_trigger_by_triggerid($triggerid);
$state = $trigger['value'];
}
- if($state==0)
- {
+ if($state==0){
$false_time=$false_time+$max-$time;
}
- elseif($state==1)
- {
+ else if($state==1){
$true_time=$true_time+$max-$time;
}
- elseif($state==3)
- {
+ else if($state==3){
$unknown_time=$unknown_time+$max-$time;
}
$total_time=$true_time+$false_time+$unknown_time;
- if($total_time==0)
- {
+ if($total_time==0){
$ret["true_time"] = 0;
$ret["false_time"] = 0;
$ret["unknown_time"] = 0;
@@ -2142,8 +2093,7 @@
$ret["false"] = 0;
$ret["unknown"] = 100;
}
- else
- {
+ else{
$ret["true_time"] = $true_time;
$ret["false_time"] = $false_time;
$ret["unknown_time"] = $unknown_time;
@@ -2166,8 +2116,7 @@
* Comments: Recursive function
*
*/
- function trigger_dependent_rec($triggerid,&$level)
- {
+ function trigger_dependent_rec($triggerid,&$level){
$ret = FALSE;
$level++;
@@ -2176,8 +2125,7 @@
if($level > 32) return $ret;
$result = DBselect("select t.triggerid, t.value from trigger_depends d,triggers t where d.triggerid_down=$triggerid and d.triggerid_up=t.triggerid");
- while($row = DBfetch($result))
- {
+ while($row = DBfetch($result)){
$triggerid_tmp = $row["triggerid"];
$value_tmp = $row["value"];
if(TRIGGER_VALUE_TRUE == $value_tmp || trigger_dependent_rec($triggerid_tmp, $level))
@@ -2202,8 +2150,7 @@
* Comments:
*
*/
- function trigger_dependent($triggerid)
- {
+ function trigger_dependent($triggerid){
$level = 0;
return trigger_dependent_rec($triggerid, $level);
}
@@ -2220,18 +2167,15 @@
* Comments:
*
*/
- function trigger_get_N_functionid($expression, $function)
- {
+ function trigger_get_N_functionid($expression, $function){
$result = NULL;
$arr=split('[\{\}]',$expression);
$num=1;
- foreach($arr as $id)
- {
+ foreach($arr as $id){
if(is_numeric($id))
{
- if($num == $function)
- {
+ if($num == $function){
$result = $id;
break;
}
@@ -2256,13 +2200,11 @@
* Comments:
*
*/
- function trigger_get_func_value($expression, $flag, $function, $param)
- {
+ function trigger_get_func_value($expression, $flag, $function, $param){
$result = NULL;
$functionid=trigger_get_N_functionid($expression,$function);
- if(isset($functionid))
- {
+ if(isset($functionid)){
$row=DBfetch(DBselect('select i.* from items i, functions f '.
' where i.itemid=f.itemid and f.functionid='.$functionid));
if($row)
diff --git a/frontends/php/index.php b/frontends/php/index.php
index eb4bf878..97da7afa 100644
--- a/frontends/php/index.php
+++ b/frontends/php/index.php
@@ -187,7 +187,17 @@ include_once "include/page_header.php";
case ZBX_AUTH_LDAP:
case ZBX_AUTH_INTERNAL:
default:
- insert_login_form();
+// konqueror bug #138024; adding useless param(login=1) to the form's action path to avoid bug!!
+ $frmLogin = new CFormTable('Login','index.php?login=1',"post","multipart/form-data");
+ $frmLogin->SetHelp('web.index.login');
+ $frmLogin->AddRow('Login name', new CTextBox('name'));
+ $frmLogin->AddRow('Password', new CPassBox('password'));
+ $frmLogin->AddItemToBottomRow(new CButton('enter','Enter'));
+ $frmLogin->Show(false);
+
+ SetFocus($frmLogin->GetName(),"name");
+
+ $frmLogin->Destroy();
}
}
diff --git a/frontends/php/popup.php b/frontends/php/popup.php
index 5153eb10..74d0d161 100644
--- a/frontends/php/popup.php
+++ b/frontends/php/popup.php
@@ -109,8 +109,7 @@
$min_user_type = USER_TYPE_ZABBIX_ADMIN;
break;
case 'nodes':
- if(ZBX_DISTRIBUTED)
- {
+ if(ZBX_DISTRIBUTED){
$page["title"] = "S_NODES_BIG";
$min_user_type = USER_TYPE_ZABBIX_USER;
break;
@@ -445,8 +444,7 @@ include_once "include/page_header.php";
}
else if(isset($_REQUEST['select'])){
$new_templates = array_diff($templates, $existed_templates);
- if(count($new_templates) > 0)
- {
+ if(count($new_templates) > 0) {
foreach($new_templates as $id => $name)
{
?>
@@ -702,7 +700,7 @@ include_once "include/page_header.php";
' ORDER BY h.host,t.description';
$result=DBselect($sql);
- while($row=DBfetch($result)){
+ while($row=DBfetch($result)){
$exp_desc = expand_trigger_description_by_data($row);
$description = new CLink($exp_desc,"#","action");
@@ -718,8 +716,7 @@ include_once "include/page_header.php";
$description->SetAction($action." close_window(); return false;");
- if($row['dep_count'] > 0)
- {
+ if($row['dep_count'] > 0){
$description = array(
$description,
BR(),BR(),
@@ -732,16 +729,13 @@ include_once "include/page_header.php";
$description[] = array(expand_trigger_description($val),BR());
}
- if($row["status"] == TRIGGER_STATUS_DISABLED)
- {
+ if($row["status"] == TRIGGER_STATUS_DISABLED){
$status= new CSpan(S_DISABLED, 'disabled');
}
- else if($row["status"] == TRIGGER_STATUS_UNKNOWN)
- {
+ else if($row["status"] == TRIGGER_STATUS_UNKNOWN){
$status= new CSpan(S_UNKNOWN, 'unknown');
}
- else if($row["status"] == TRIGGER_STATUS_ENABLED)
- {
+ else if($row["status"] == TRIGGER_STATUS_ENABLED){
$status= new CSpan(S_ENABLED, 'enabled');
}
diff --git a/frontends/php/report5.php b/frontends/php/report5.php
index 24b9ee49..e21a1c81 100644
--- a/frontends/php/report5.php
+++ b/frontends/php/report5.php
@@ -63,8 +63,7 @@ include_once "include/page_header.php";
S_NUMBER_OF_STATUS_CHANGES
));
- switch($_REQUEST["period"])
- {
+ switch($_REQUEST["period"]){
case "week": $time_dif=7*24*3600; break;
case "month": $time_dif=10*24*3600; break;
case "year": $time_dif=365*24*3600; break;
@@ -73,8 +72,7 @@ include_once "include/page_header.php";
}
$accessible_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY);
-
- $result=DBselect('SELECT h.host, t.triggerid, t.description, t.expression, t.priority, count(distinct e.eventid) as count '.
+ $sql = 'SELECT h.host, t.triggerid, t.description, t.expression, t.priority, count(distinct e.eventid) as cnt_event '.
' FROM hosts h, triggers t, functions f, items i, events e'.
' WHERE h.hostid = i.hostid '.
' and i.itemid = f.itemid '.
@@ -85,20 +83,20 @@ include_once "include/page_header.php";
' and h.hostid in ('.$accessible_hosts.') '.
' and '.DBin_node('t.triggerid').
' GROUP BY h.host,t.triggerid,t.description,t.expression,t.priority '.
- ' ORDER BY count desc, h.host, t.description, t.triggerid'
- , 100);
+ ' ORDER BY cnt_event desc, h.host, t.description, t.triggerid';
+
+ $result=DBselect($sql, 100);
- while($row=DBfetch($result))
- {
- if(!check_right_on_trigger_by_triggerid(null, $row['triggerid'], $accessible_hosts))
- continue;
+ while($row=DBfetch($result)){
+ if(!check_right_on_trigger_by_triggerid(null, $row['triggerid'], $accessible_hosts))
+ continue;
- $table->addRow(array(
- get_node_name_by_elid($row['triggerid']),
- $row["host"],
- expand_trigger_description_by_data($row),
- new CCol(get_severity_description($row["priority"]),get_severity_style($row["priority"])),
- $row["count"],
+ $table->addRow(array(
+ get_node_name_by_elid($row['triggerid']),
+ $row["host"],
+ expand_trigger_description_by_data($row),
+ new CCol(get_severity_description($row["priority"]),get_severity_style($row["priority"])),
+ $row["cnt_event"],
));
}
$table->show();
diff --git a/frontends/php/triggers.php b/frontends/php/triggers.php
index 764eb4ee..03db6519 100644
--- a/frontends/php/triggers.php
+++ b/frontends/php/triggers.php
@@ -36,45 +36,50 @@ include_once "include/page_header.php";
// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION
$fields=array(
- 'groupid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL),
- 'hostid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,'isset({save})'),
+ 'groupid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,NULL),
+ 'hostid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,'isset({save})'),
- 'triggerid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,'(isset({form})&&({form}=="update"))'),
+ 'triggerid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID,'(isset({form})&&({form}=="update"))'),
- 'copy_type' =>array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'),'isset({copy})'),
- 'copy_mode' =>array(T_ZBX_INT, O_OPT, P_SYS, IN('0'),NULL),
+ 'copy_type' => array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'),'isset({copy})'),
+ 'copy_mode' => array(T_ZBX_INT, O_OPT, P_SYS, IN('0'),NULL),
- 'type'=> array(T_ZBX_INT, O_OPT, NULL, IN('0,1'), 'isset({save})'),
- 'description'=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY,'isset({save})'),
- 'expression'=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY,'isset({save})'),
- 'priority'=> array(T_ZBX_INT, O_OPT, NULL, IN('0,1,2,3,4,5'),'isset({save})'),
- 'comments'=> array(T_ZBX_STR, O_OPT, NULL, NULL,'isset({save})'),
- 'url'=> array(T_ZBX_STR, O_OPT, NULL, NULL,'isset({save})'),
- 'status'=> array(T_ZBX_STR, O_OPT, NULL, NULL,NULL),
+ 'type'=> array(T_ZBX_INT, O_OPT, NULL, IN('0,1'), 'isset({save})'),
+ 'description'=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY,'isset({save})'),
+ 'expression'=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY,'isset({save})'),
+ 'priority'=> array(T_ZBX_INT, O_OPT, NULL, IN('0,1,2,3,4,5'),'isset({save})'),
+ 'comments'=> array(T_ZBX_STR, O_OPT, NULL, NULL,'isset({save})'),
+ 'url'=> array(T_ZBX_STR, O_OPT, NULL, NULL,'isset({save})'),
+ 'status'=> array(T_ZBX_STR, O_OPT, NULL, NULL,NULL),
- 'dependencies'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID, NULL),
+ 'dependencies'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID, NULL),
'new_dependence'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID.'{}>0','isset({add_dependence})'),
'rem_dependence'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID, NULL),
- 'g_triggerid'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID, NULL),
+ 'g_triggerid'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID, NULL),
'copy_targetid'=> array(T_ZBX_INT, O_OPT, NULL, DB_ID, NULL),
'filter_groupid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, 'isset({copy})&&(isset({copy_type})&&({copy_type}==0))'),
'showdisabled'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL),
+/* mass update*/
+ 'massupdate'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL),
+ 'visible'=> array(T_ZBX_STR, O_OPT, null, null, null),
+
/* actions */
'add_dependence'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
'del_dependence'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
'group_enable'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
'group_disable'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
'group_delete'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
- 'copy'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
- 'clone'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
- 'save'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
- 'delete'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
- 'cancel'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL),
+ 'copy'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
+ 'clone'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
+ 'save'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
+ 'mass_save'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
+ 'delete'=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL),
+ 'cancel'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL),
/* other */
- 'form'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL),
+ 'form'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL),
'form_copy_to'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL),
'form_refresh'=> array(T_ZBX_INT, O_OPT, NULL, NULL, NULL)
);
@@ -82,6 +87,7 @@ include_once "include/page_header.php";
$_REQUEST['showdisabled'] = get_request('showdisabled', get_profile('web.triggers.showdisabled', 0));
check_fields($fields);
+
validate_sort_and_sortorder('t.description',ZBX_SORT_UP);
if(isset($_REQUEST['triggerid']))
@@ -104,13 +110,60 @@ include_once "include/page_header.php";
unset($_REQUEST['triggerid']);
$_REQUEST['form'] = 'clone';
}
+ else if(isset($_REQUEST['mass_save']) && isset($_REQUEST['g_triggerid'])){
+ show_messages();
+
+ $result = false;
+ $available_triggers = get_accessible_triggers(PERM_READ_WRITE, PERM_RES_IDS_ARRAY);
+
+ $visible = $_REQUEST['visible'];
+ $dependencies = get_request('dependencies',array());
+
+ $triggers = $_REQUEST['g_triggerid'];
+ $triggers = array_intersect($triggers, $available_triggers);
+
+ DBstart();
+ foreach($triggers as $id => $triggerid){
+ $db_trig = get_trigger_by_triggerid($triggerid);
+ $db_trig['dependencies'] = get_trigger_dependencies_by_triggerid($triggerid);
+
+ foreach($db_trig as $key => $value){
+ if(isset($visible[$key])){
+ $db_trig[$key] = $_REQUEST[$key];
+ }
+ }
+
+ $result2=update_trigger($db_trig['triggerid'],
+ null,null,null,
+ $db_trig['priority'],null,null,null,
+ $db_trig['dependencies']);
+
+ $result |= $result2;
+
+ if($result2){
+ add_audit(
+ AUDIT_ACTION_UPDATE,
+ AUDIT_RESOURCE_TRIGGER,
+ S_TRIGGER.' ['.$db_trig['triggerid'].'] ['.expand_trigger_description($db_trig['triggerid']).'] '
+ );
+ }
+ }
+ $result = DBend($result);
+
+ show_messages($result, S_TRIGGER_UPDATED, S_CANNOT_UPDATE_TRIGGER);
+ if($result){
+ unset($_REQUEST['massupdate']);
+ unset($_REQUEST['form']);
+ }
+ }
else if(isset($_REQUEST['save'])){
show_messages();
+
if(!check_right_on_trigger_by_expression(PERM_READ_WRITE, $_REQUEST['expression']))
access_deny();
$now=time();
- if(isset($_REQUEST['status'])) { $status=TRIGGER_STATUS_DISABLED; }
+ if(isset($_REQUEST['status'])){ $status=TRIGGER_STATUS_DISABLED; }
else{ $status=TRIGGER_STATUS_ENABLED; }
$type = $_REQUEST['type'];
@@ -367,10 +420,15 @@ include_once "include/page_header.php";
show_table_header(S_TRIGGERS_BIG, $r_form);
?>
<?php
- if(isset($_REQUEST["form"])){
+ if(isset($_REQUEST['massupdate']) && isset($_REQUEST['g_triggerid'])){
+ echo SBR;
+ insert_mass_update_trigger_form();
+ }
+ else if(isset($_REQUEST["form"])){
/* FORM */
echo SBR;
insert_trigger_form();
+
}
else if(isset($_REQUEST["form_copy_to"]) && isset($_REQUEST["g_triggerid"])){
echo SBR;
@@ -502,7 +560,9 @@ include_once "include/page_header.php";
SPACE,
new CButtonQMessage('group_delete',S_DELETE_SELECTED,S_DELETE_SELECTED_TRIGGERS_Q),
SPACE,
- new CButton('form_copy_to',S_COPY_SELECTED_TO)
+ new CButton('form_copy_to',S_COPY_SELECTED_TO),
+ SPACE,
+ new CButton('massupdate',S_TRIGGERS_MASSUPDATE)
)));
$form->AddItem($table);