File: snmp.php

package info (click to toggle)
cacti 0.6.7-2.2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,000 kB
  • ctags: 1,120
  • sloc: php: 5,059; sql: 922; sh: 302; perl: 81; makefile: 56
file content (110 lines) | stat: -rw-r--r-- 4,880 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?/*
+-------------------------------------------------------------------------+
| Copyright (C) 2002 Ian Berry                                            |
|                                                                         |
| 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.                            |
+-------------------------------------------------------------------------+
| cacti: the rrdtool frontend [php-auth, php-tree, php-form]              |
+-------------------------------------------------------------------------+
| This code is currently maintained and debugged by Ian Berry, any        |
| questions or comments regarding this code should be directed to:        |
| - iberry@raxnet.net                                                     |
+-------------------------------------------------------------------------+
| - raXnet - http://www.raxnet.net/                                       |
+-------------------------------------------------------------------------+
*/?>
<? 	$section = "Add/Edit Data Sources"; include ('auth/include/auth.php');
	header("Cache-control: no-cache");
	include ('include/database.php');
	include ('include/config.php');
	include_once ('include/form.php');

switch ($action) {
	case 'remove':
		mysql_query("delete from snmp_hosts where id=$id",$cnn_id);
		mysql_query("delete from snmp_hosts_interfaces where hostid=$id",$cnn_id);
		
		header ("Location: snmp.php");
		break;
	case 'save':
		include_once ("include/snmp_functions.php");
		
		$sql_id = mysql_query("replace into snmp_hosts (id,hostname,community) values 
			($id,\"$hostname\",\"$community\")",$cnn_id);
		$sql_id = mysql_query("select LAST_INSERT_ID()",$cnn_id);
		$hostid = mysql_result($sql_id,"",0);
		
		get_snmp_interfaces($hostname,$community,$hostid);
		
		header ("Location: snmp.php");
		break;
	case 'refresh':
		include_once ("include/snmp_functions.php");
		
		$sql_id = mysql_query("select * from snmp_hosts where id=$id", $cnn_id);
		get_snmp_interfaces(mysql_result($sql_id, 0, "hostname"),mysql_result($sql_id, 0, "community"),$id);
		
		header ("Location: snmp.php");
		break;
	case 'edit':
		include_once ('include/top_header.php');
		
		DrawFormHeader("SNMP Host Configuration","",false);
		
		DrawFormItem("Hostname","The hostname of the system you want to gather SNMP data from.");
		DrawFormItemTextBox("hostname",$sql_id,"","");
		
		DrawFormItem("Community","The community to use when gathering data (default is public).");
		DrawFormItemTextBox("community",$sql_id,"","");
		
		DrawFormSaveButton();
		DrawFormItemHiddenIDField("id",$id);
		DrawFormFooter();
		
		include_once ("include/bottom_footer.php");
		
		break;
	default:
		include_once ('include/top_header.php');
		
		DrawMatrixTableBegin("97%");
		DrawMatrixRowBegin();
			DrawMatrixHeaderTop("Current SNMP Hosts",$color_dark_bar,"","4");
			DrawMatrixHeaderAdd($color_dark_bar,"","snmp.php?action=edit");
		DrawMatrixRowEnd();
		
		DrawMatrixRowBegin();
			DrawMatrixHeaderItem("Hostname",$color_panel,$color_panel_text);
			DrawMatrixHeaderItem("Community",$color_panel,$color_panel_text);
			DrawMatrixHeaderItem("Interfaces",$color_panel,$color_panel_text);
			DrawMatrixHeaderItem("Refresh SNMP Data",$color_panel,$color_panel_text);
			DrawMatrixHeaderItem("",$color_panel,$color_panel_text);
		DrawMatrixRowEnd();
		
		$sql_id = mysql_query("select * from snmp_hosts order by hostname", $cnn_id);
		$rows = mysql_num_rows($sql_id); $i = 0;
		
		while ($i < $rows) { 
			DrawMatrixRowAlternateColorBegin($color_alternate,$color_light,$i);
				DrawMatrixLoopItem($sql_id,"hostname",$i,false,"");
				DrawMatrixLoopItem($sql_id,"community",$i,false,"");
				DrawMatrixLoopItem("View Gathered Interfaces","","",false,"snmp_interfaces.php?id=" . mysql_result($sql_id, $i, "id"));
				DrawMatrixLoopItem("Refresh Interface","","",false,"snmp.php?action=refresh&id=" . mysql_result($sql_id, $i, "id"));
				DrawMatrixLoopItemAction("Remove",$color_panel,"",false,"snmp.php?action=remove&id=" . mysql_result($sql_id, $i, "id"));
			DrawMatrixRowEnd();
			$i++;
		}
		
		DrawMatrixTableEnd();
		include_once ("include/bottom_footer.php");
		
		break;
} ?>