summaryrefslogtreecommitdiffstats
path: root/frontends/php/chart6.php
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-07-16 10:01:08 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-07-16 10:01:08 +0000
commit4e4aa7eb198963720b377cd568825309616dce8a (patch)
treee1c0bb863be19aeb630bf5ef77fb8c3c8e27731f /frontends/php/chart6.php
parentbac3a136113548551ad7320cc8a8ed7ecbb2e11a (diff)
downloadzabbix-4e4aa7eb198963720b377cd568825309616dce8a.tar.gz
zabbix-4e4aa7eb198963720b377cd568825309616dce8a.tar.xz
zabbix-4e4aa7eb198963720b377cd568825309616dce8a.zip
- added pie graphs (Artem)
- added subclasses chart.inc.php and pie.inc.php, extending graph.inc.php (Artem) git-svn-id: svn://svn.zabbix.com/trunk@4458 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/chart6.php')
-rw-r--r--frontends/php/chart6.php107
1 files changed, 107 insertions, 0 deletions
diff --git a/frontends/php/chart6.php b/frontends/php/chart6.php
new file mode 100644
index 00000000..eb866c20
--- /dev/null
+++ b/frontends/php/chart6.php
@@ -0,0 +1,107 @@
+<?php
+/*
+** ZABBIX
+** Copyright (C) 2000-2005 SIA Zabbix
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+**/
+?>
+<?php
+ require_once "include/config.inc.php";
+ require_once "include/graphs.inc.php";
+ require_once "include/classes/pie.inc.php";
+
+ $page["file"] = "chart2.php";
+ $page["title"] = "S_CHART";
+ $page["type"] = PAGE_TYPE_IMAGE;
+
+include_once "include/page_header.php";
+
+?>
+<?php
+// VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION
+ $fields=array(
+ "graphid"=> array(T_ZBX_INT, O_MAND, P_SYS, DB_ID, null),
+ "period"=> array(T_ZBX_INT, O_OPT, P_NZERO, BETWEEN(ZBX_MIN_PERIOD,ZBX_MAX_PERIOD), null),
+ "from"=> array(T_ZBX_INT, O_OPT, P_NZERO, null, null),
+ "stime"=> array(T_ZBX_STR, O_OPT, P_SYS, null, null),
+ "border"=> array(T_ZBX_INT, O_OPT, P_NZERO, IN('0,1'), null),
+ "width"=> array(T_ZBX_INT, O_OPT, P_NZERO, '{}>0', null),
+ "height"=> array(T_ZBX_INT, O_OPT, P_NZERO, '{}>0', null),
+ "graph3d"=> array(T_ZBX_INT, O_OPT, P_NZERO, IN('0,1'), null),
+ "legend"=> array(T_ZBX_INT, O_OPT, P_NZERO, IN('0,1'), null)
+ );
+
+ check_fields($fields);
+?>
+<?php
+ $denyed_hosts = get_accessible_hosts_by_user($USER_DETAILS, PERM_READ_ONLY, PERM_MODE_LT);
+
+ if( !($db_data = DBfetch(DBselect(
+ 'SELECT g.*,h.host,h.hostid '.
+ ' FROM graphs g '.
+ ' LEFT JOIN graphs_items gi ON g.graphid=gi.graphid '.
+ ' LEFT JOIN items i ON gi.itemid=i.itemid '.
+ ' LEFT JOIN hosts h ON i.hostid=h.hostid '.
+ ' WHERE g.graphid='.$_REQUEST["graphid"].
+ /* " AND '.DBid2nodeid("g.graphid").'='.$ZBX_CURNODEID. */ /* NOTE: the chart can display any accesiable graph! */
+ ' AND ( h.hostid NOT IN('.$denyed_hosts.') '.
+ ' OR h.hostid IS NULL) '))))
+ {
+ access_deny();
+ }
+
+ $graph = new Pie($db_data["graphtype"]);
+
+ if(isset($_REQUEST["period"])) $graph->SetPeriod($_REQUEST["period"]);
+ if(isset($_REQUEST["from"])) $graph->SetFrom($_REQUEST["from"]);
+ if(isset($_REQUEST["stime"])) $graph->SetSTime($_REQUEST["stime"]);
+ if(isset($_REQUEST["border"])) $graph->SetBorder(0);
+
+ $width = get_request("width", 0);
+
+ if($width <= 0) $width = $db_data["width"];
+
+ $height = get_request("height", 0);
+ if($height <= 0) $height = $db_data["height"];
+
+ $graph->SetWidth($width);
+ $graph->SetHeight($height);
+ $graph->SetHeader($db_data["host"].":".$db_data['name']);
+
+ if($db_data['show_3d'] == 1) $graph->SwitchPie3D();
+ $graph->SwitchLegend($db_data['show_legend']);
+
+ $result = DBselect("select gi.* from graphs_items gi ".
+ " where gi.graphid=".$db_data["graphid"].
+ " order by gi.sortorder, gi.itemid desc");
+
+ while($db_data=DBfetch($result))
+ {
+ $graph->AddItem(
+ $db_data["itemid"],
+ $db_data["calc_fnc"],
+ $db_data["color"],
+ $db_data["type"],
+ $db_data["periods_cnt"]
+ );
+ }
+ $graph->draw();
+?>
+<?php
+
+include_once "include/page_footer.php";
+
+?>