summaryrefslogtreecommitdiffstats
path: root/frontends/php
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/php')
-rw-r--r--frontends/php/charts.php2
-rw-r--r--frontends/php/include/copt.lib.php2
-rw-r--r--frontends/php/include/reports.inc.php78
-rw-r--r--frontends/php/report2.php46
4 files changed, 67 insertions, 61 deletions
diff --git a/frontends/php/charts.php b/frontends/php/charts.php
index 37fc6926..d7f0986c 100644
--- a/frontends/php/charts.php
+++ b/frontends/php/charts.php
@@ -53,7 +53,7 @@ include_once 'include/page_header.php';
'stime'=> array(T_ZBX_STR, O_OPT, P_SYS, NULL,NULL),
'action'=> array(T_ZBX_STR, O_OPT, P_SYS, IN("'go'"),NULL),
'reset'=> array(T_ZBX_STR, O_OPT, P_SYS, IN("'reset'"),NULL),
- 'fullscreen'=> array(T_ZBX_INT, O_OPT, P_SYS, IN("1"), NULL)
+ 'fullscreen'=> array(T_ZBX_INT, O_OPT, P_SYS, IN("1"),NULL)
);
check_fields($fields);
diff --git a/frontends/php/include/copt.lib.php b/frontends/php/include/copt.lib.php
index ae0d97eb..bde47dc4 100644
--- a/frontends/php/include/copt.lib.php
+++ b/frontends/php/include/copt.lib.php
@@ -304,7 +304,7 @@ if(defined('USE_PROFILING')){
}
}
- COpt::set_memory_limit('320M');
+ COpt::set_memory_limit('32M');
COpt::profiling_start('script');
}
else{
diff --git a/frontends/php/include/reports.inc.php b/frontends/php/include/reports.inc.php
index 2553ab52..066071c3 100644
--- a/frontends/php/include/reports.inc.php
+++ b/frontends/php/include/reports.inc.php
@@ -34,15 +34,13 @@ function show_report2_header($config,$available_hosts){
$cmbGroup = new CComboBox('groupid',$_REQUEST['groupid'],'submit()');
$cmbGroup->AddItem(0,S_ALL_SMALL);
- $status_filter = ' AND h.status='.HOST_STATUS_MONITORED;
- if($config==1)
- $status_filter = ' AND h.status='.HOST_STATUS_TEMPLATE;
-
+ $status_filter=($config==1)?' AND h.status='.HOST_STATUS_TEMPLATE:' AND h.status='.HOST_STATUS_MONITORED;
$sql = 'SELECT DISTINCT g.groupid,g.name '.
' FROM groups g,hosts_groups hg,hosts h'.
' WHERE h.hostid in ('.$available_hosts.') '.
' AND g.groupid=hg.groupid '.
- ' AND h.hostid=hg.hostid'.$status_filter.
+ ' AND h.hostid=hg.hostid'.
+ $status_filter.
' ORDER BY g.name';
$result=DBselect($sql);
@@ -58,8 +56,10 @@ function show_report2_header($config,$available_hosts){
else{
$cmbTpls = new CComboBox('hostid',$_REQUEST['hostid'],'submit()');
$cmbTrigs = new CComboBox('tpl_triggerid',get_request('tpl_triggerid',0),'submit()');
-
+ $cmbHGrps = new CComboBox('hostgroupid',get_request('hostgroupid',0),'submit()');
+
$cmbTrigs->AddItem(0,S_ALL_SMALL);
+ $cmbHGrps->AddItem(0,S_ALL_SMALL);
$sql_cond = ' AND h.status='.HOST_STATUS_TEMPLATE;
}
@@ -111,32 +111,46 @@ function show_report2_header($config,$available_hosts){
}
else{
$r_form->AddItem(array(SPACE.S_TEMPLATE.SPACE,$cmbTpls));
- if($_REQUEST['hostid'] > 0){
- $sql = 'SELECT DISTINCT t.triggerid,t.description '.
- ' FROM triggers t,hosts h,items i,functions f '.
- ' WHERE f.itemid=i.itemid '.
- ' AND h.hostid=i.hostid '.
- ' AND t.status='.TRIGGER_STATUS_ENABLED.
- ' AND t.triggerid=f.triggerid '.
- ' AND h.hostid='.$_REQUEST['hostid'].
- ' AND h.status='.HOST_STATUS_TEMPLATE.
- ' AND '.DBin_node('t.triggerid').
- ' AND i.status='.ITEM_STATUS_ACTIVE.
- ' ORDER BY t.description';
- }
- else{
- $sql = 'SELECT DISTINCT t.triggerid,t.description '.
- ' FROM triggers t,hosts h,items i,functions f '.
- ' WHERE f.itemid=i.itemid '.
- ' AND h.hostid=i.hostid '.
- ' AND t.status='.TRIGGER_STATUS_ENABLED.
- ' AND t.triggerid=f.triggerid '.
- ' AND h.status='.HOST_STATUS_TEMPLATE.
- ' AND h.hostid in ('.$available_hosts.')'.
- ' AND '.DBin_node('t.triggerid').
- ' AND i.status='.ITEM_STATUS_ACTIVE.
- ' ORDER BY t.description';
+
+ $sql_cond = ' AND h.hostid=ht.hostid ';
+ if($_REQUEST['hostid'] > 0) $sql_cond.=' AND ht.templateid='.$_REQUEST['hostid'];
+
+ if(isset($_REQUEST['tpl_triggerid']) && ($_REQUEST['tpl_triggerid'] > 0))
+ $sql_cond.= ' AND t.templateid='.$_REQUEST['tpl_triggerid'];
+
+ $result = DBselect('SELECT DISTINCT g.groupid,g.name '.
+ ' FROM triggers t,hosts h,items i,functions f, hosts_templates ht, groups g, hosts_groups hg '.
+ ' WHERE f.itemid=i.itemid '.
+ ' AND h.hostid=i.hostid '.
+ ' AND hg.hostid=h.hostid'.
+ ' AND g.groupid=hg.groupid '.
+ ' AND h.hostid in ('.$available_hosts.')'.
+ ' AND t.status='.TRIGGER_STATUS_ENABLED.
+ ' AND t.triggerid=f.triggerid '.
+ ' AND '.DBin_node('t.triggerid').
+ ' AND i.status='.ITEM_STATUS_ACTIVE.
+ ' AND h.status='.HOST_STATUS_MONITORED.
+ $sql_cond.
+ ' ORDER BY h.host, t.description');
+ while($row=DBfetch($result)){
+ $cmbHGrps->AddItem(
+ $row['groupid'],
+ get_node_name_by_elid($row['groupid']).$row['name']
+ );
}
+
+ $sql_cond=($_REQUEST['hostid'] > 0)?' AND h.hostid='.$_REQUEST['hostid']:' AND h.hostid in ('.$available_hosts.')';
+ $sql = 'SELECT DISTINCT t.triggerid,t.description '.
+ ' FROM triggers t,hosts h,items i,functions f '.
+ ' WHERE f.itemid=i.itemid '.
+ ' AND h.hostid=i.hostid '.
+ ' AND t.status='.TRIGGER_STATUS_ENABLED.
+ ' AND t.triggerid=f.triggerid '.
+ ' AND h.status='.HOST_STATUS_TEMPLATE.
+ ' AND '.DBin_node('t.triggerid').
+ ' AND i.status='.ITEM_STATUS_ACTIVE.
+ $sql_cond.
+ ' ORDER BY t.description';
$result=DBselect($sql);
while($row=DBfetch($result)){
@@ -151,7 +165,7 @@ function show_report2_header($config,$available_hosts){
$rr_form->AddVar('groupid',$_REQUEST['groupid']);
$rr_form->AddVar('hostid',$_REQUEST['hostid']);
- $rr_form->AddItem(array(S_TRIGGER.SPACE,$cmbTrigs));
+ $rr_form->AddItem(array(S_TRIGGER.SPACE,$cmbTrigs,BR(),S_FILTER,SPACE,S_HOST_GROUP.SPACE,$cmbHGrps));
show_table_header(S_AVAILABILITY_REPORT_BIG, array($r_form,$rr_form));
}
diff --git a/frontends/php/report2.php b/frontends/php/report2.php
index 78c33491..e5bc8203 100644
--- a/frontends/php/report2.php
+++ b/frontends/php/report2.php
@@ -35,6 +35,7 @@ include_once 'include/page_header.php';
$fields=array(
'config'=> array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1'), NULL),
'groupid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL),
+ 'hostgroupid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL),
'hostid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL),
'tpl_triggerid'=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL),
@@ -95,6 +96,8 @@ show_report2_header($config,$available_hosts);
}
else{
$sql_cond = ' AND h.hostid=ht.hostid ';
+ $sql_cond.=(isset($_REQUEST['hostgroupid']) && ($_REQUEST['hostgroupid']>0))?' AND g.groupid ='.$_REQUEST['hostgroupid']:'';
+
if($_REQUEST['hostid'] > 0) $sql_cond.=' AND ht.templateid='.$_REQUEST['hostid'];
if(isset($_REQUEST['tpl_triggerid']) && ($_REQUEST['tpl_triggerid'] > 0))
@@ -104,39 +107,28 @@ show_report2_header($config,$available_hosts);
if($_REQUEST['hostid'] > 0){
$row = DBfetch(DBselect('SELECT host FROM hosts WHERE hostid='.$_REQUEST['hostid']));
show_table_header($row['host']);
-
- $result = DBselect('SELECT DISTINCT h.hostid,h.host,t.triggerid,t.expression,t.description,t.value '.
- ' FROM triggers t,hosts h,items i,functions f, hosts_templates ht '.
- ' WHERE f.itemid=i.itemid '.
- ' AND h.hostid=i.hostid '.
- ' AND h.hostid in ('.$available_hosts.') '.
- ' AND t.status='.TRIGGER_STATUS_ENABLED.
- ' AND t.triggerid=f.triggerid '.
- ' AND '.DBin_node('t.triggerid').
- ' AND i.status='.ITEM_STATUS_ACTIVE.
- ' AND h.status='.HOST_STATUS_MONITORED.
- $sql_cond.
- ' ORDER BY h.host, t.description');
}
else{
if(isset($_REQUEST['tpl_triggerid']) && ($_REQUEST['tpl_triggerid'] > 0))
show_table_header(expand_trigger_description($_REQUEST['tpl_triggerid']));
else
- show_table_header(S_ALL_HOSTS_BIG);
-
- $result = DBselect('SELECT DISTINCT h.hostid,h.host,t.triggerid,t.expression,t.description,t.value '.
- ' FROM triggers t,hosts h,items i,functions f, hosts_templates ht '.
- ' WHERE f.itemid=i.itemid '.
- ' AND h.hostid=i.hostid '.
- ' AND t.status='.TRIGGER_STATUS_ENABLED.
- ' AND t.triggerid=f.triggerid '.
- ' AND h.hostid in ('.$available_hosts.')'.
- ' AND '.DBin_node('t.triggerid').
- ' AND i.status='.ITEM_STATUS_ACTIVE.
- ' AND h.status='.HOST_STATUS_MONITORED.
- $sql_cond.
- ' ORDER BY h.host, t.description');
+ show_table_header(S_ALL_HOSTS_BIG);
}
+ $result = DBselect('SELECT DISTINCT h.hostid,h.host,t.triggerid,t.expression,t.description,t.value '.
+ ' FROM triggers t,hosts h,items i,functions f, hosts_templates ht, groups g, hosts_groups hg '.
+ ' WHERE f.itemid=i.itemid '.
+ ' AND hg.hostid=h.hostid'.
+ ' AND g.groupid=hg.groupid '.
+ ' AND h.hostid=i.hostid '.
+ ' AND h.hostid in ('.$available_hosts.')'.
+ ' AND t.status='.TRIGGER_STATUS_ENABLED.
+ ' AND t.triggerid=f.triggerid '.
+ ' AND '.DBin_node('t.triggerid').
+ ' AND i.status='.ITEM_STATUS_ACTIVE.
+ ' AND h.status='.HOST_STATUS_MONITORED.
+ $sql_cond.
+ ' ORDER BY h.host, t.description');
+
$accessible_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY);