ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/reports/php/alerts/alerts.php
Revision: 1.38
Committed: Fri Mar 11 12:23:31 2005 UTC (19 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.37: +7 -10 lines
Log Message:
Updates from skel (Daniel Piddock):

 - Fix undefined variable warnings
 - Comment out auto-scroll code since it doesn't really work
 - Fix some minor formatting problems

Also various other updates to the main page and comments.

File Contents

# Content
1 <?php
2
3 #
4 # i-scream central monitoring system
5 # http://www.i-scream.org
6 # Copyright (C) 2000-2002 i-scream
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License
10 # as published by the Free Software Foundation; either version 2
11 # of the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 #
22
23 # CONFIGURABLE CONSTANTS: -
24
25 include("alerts_config.inc.php");
26
27 #
28 # END CONFIGURATION
29
30 include("iutils.inc.php");
31
32 if ($formMethod == "GET") {
33 # in order of public.php
34 $machine = isset($_GET['machine']) ? $_GET['machine'] : "";
35 $fontsize = isset($_GET['fontsize']) ? $_GET['fontsize'] : "";
36 $refresh = isset($_GET['refresh']) ? $_GET['refresh'] : "";
37 $hideform = isset($_GET['hideform']) ? $_GET['hideform'] : "";
38 $pagewidth = isset($_GET['pagewidth']) ? $_GET['pagewidth'] : "";
39 $small = isset($_GET['small']) ? $_GET['small'] : "";
40 $submit = isset($_GET['submut']) ? $_GET['submit'] : "";
41 }
42
43 function printLine($title) {
44 echo "<hr style=\"color:#9999ff;\">";
45 echo "<b>$title</b>";
46 }
47
48 function getValue($value, $alert) {
49 preg_match("/$value=([^\,\}]*)[\,\}]/", $alert, $matches);
50 return $matches[1];
51 }
52
53 function printAlert($machine, $alert, $small="") {
54
55 global $fontsize;
56
57 include("alerts_config.inc.php");
58
59 $alertLevelNum = getValue("alertLevel", $alert);
60 $lastAlert = getValue("lastAlert", $alert);
61 $thresholdLevel = getValue("thresholdLevel", $alert);
62 $source = getValue("source", $alert);
63 $thresholdValue = getValue("thresholdValue", $alert);
64 $value = getValue("value", $alert);
65 $attributeName = getValue("attributeName", $alert);
66 $timeTillNextAlert = getValue("timeTillNextAlert", $alert);
67 $initialAlertTime = getValue("initialAlertTime", $alert);
68
69 if ($thresholdLevel == "1") {
70 $thresholdLevel = "Lower";
71 }
72 else if ($thresholdLevel == "2") {
73 $thresholdLevel = "Upper";
74 }
75 else {
76 $thresholdLevel = "Normal";
77 }
78
79 $alertColour = $alertLevelColours[$alertLevelNum];
80 $alertLevel = $alertLevelNames[$alertLevelNum];
81 $initialAlertTime = strftime("%x %X", intval($initialAlertTime / 1000));
82
83 if ($small == "on") {
84 echo <<<EOT
85 <tr>
86 <td width="50">
87 &nbsp;
88 </td>
89 <td>
90 <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
91 </td>
92 <td>
93 <font size="$fontsize" color="$alertColour"><b>$alertLevel</b></font>
94 </td>
95 <td>
96 <font size="$fontsize">$attributeName (c:$value t:$thresholdValue)</font>
97 </td>
98 <td>
99 &nbsp;
100 </td>
101 </tr>
102 EOT;
103 }
104 else {
105 echo <<<EOT
106
107 <table border="0" cellspacing="5" width="100%">
108 <tr>
109 <td align="left" width="40%">
110 <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
111 <font color="$alertColour" size="2"><b>$alertLevel</b></font>
112 </td>
113 <td align="right" width="60%">
114 <b>$attributeName</b>
115 </td>
116 </tr>
117 <tr>
118 <td align="right"><font size="2">Threshold:</font></td>
119 <td align="left">$thresholdValue ($thresholdLevel)</td>
120 </tr>
121 <tr>
122 <td align="right"><font size="2">Alert value:</font></td>
123 <td align="left"><b>$value</b></td>
124 </tr>
125 <tr>
126 <td align="right"><font size="2">Initially raised:</font></td>
127 <td align="left">$initialAlertTime</td>
128 </tr>
129 </table>
130
131 EOT;
132 printLine("");
133 }
134
135 }
136
137 function printReports($machine, $small="") {
138 global $fontsize;
139
140 # Get a list of all files in the machine's directory.
141 include("alerts_config.inc.php");
142 $alertArray = getdirArray("$alertDirectory/$machine", 'rsort');
143
144 if ($small == "on") {
145 echo <<<EOT
146 <table border="0" cellpadding="2" cellspacing="6">
147 <tr>
148 <td colspan="5">
149 <font size="$fontsize"><b><a href="alerts.php?machine=$machine" style="color: black; text-decoration: none;">$machine</a></b></font>
150 </td>
151 </tr>
152 EOT;
153 }
154 else {
155 echo <<<EOT
156 <p>&nbsp;</p>
157 <table border="0" cellpadding="3" cellspacing="2" bgcolor="#000066" width="100%">
158 <tr>
159 <td>
160 <font color="white">
161 <b>
162 Current alerts for <a href="latest.php?machine=$machine" style="color: white">$machine</a>
163 </b>
164 <font size="2">
165 <br>Sorted by time, latest first.
166 </font>
167 </font>
168 </td>
169 </tr>
170 <tr>
171 <td bgcolor="white">
172
173 EOT;
174
175 printLine("");
176 }
177
178 if ($alertArray != FALSE) {
179
180 foreach($alertArray as $file_name) {
181 $input = file("$alertDirectory/$machine/$file_name");
182 $input = $input[0];
183 $alerts[] = $input;
184 }
185
186 foreach ($alerts as $alert) {
187 printAlert($machine, $alert, $small);
188 }
189 }
190 else {
191 if ($small != "on") {
192 echo "There are currently no alerts held about <b>$machine</b>";
193 printLine("");
194 }
195 }
196
197 if ($small == "on") {
198 echo <<<EOT
199 <tr>
200 <td colspan="5">&nbsp;</td>
201 </tr>
202 </table>
203 EOT;
204 }
205 else {
206 echo <<<EOT
207 </td>
208 </tr>
209 </table>
210 EOT;
211 }
212 }
213
214
215 ?>
216
217 <? include($titleHTML); ?>
218
219 <? if ($hideform != "on") { ?>
220
221 <? printLine("Latest alerts for hosts"); ?>
222
223 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
224 <?
225
226 $file_array = getdirArray($alertDirectory,'asort');
227 print "<select size=\"1\" name=\"machine\">";
228 if ($machine) { ?>
229 <option selected value="<? echo $machine ?>"><? echo $machine ?></option>
230 <option value="">----------------</option>
231 <? }
232 foreach ($file_array as $file_name) {
233 #if (is_dir($file_name)) {
234 print "<option value=\"$file_name\">$file_name</option>";
235 #}
236 }
237 print "</select>";
238
239 ?>
240 <input type="hidden" name="small" value="<?=$small?>">
241 <input type="submit" name="submit" value="Display">
242 </form>
243
244 <? } ?>
245
246 <? if ($machine) {
247
248 printLine("");
249
250 $masterwidth = "";
251 if ($small != "on") {
252 $masterwidth = ' width="100%"';
253 }
254
255 echo <<<EOT
256 <table border="0" align="center"$masterwidth>
257 <tr>
258 <td>
259 EOT;
260
261 if ($machine == "ALL") {
262 $machine_array = getdirArray($alertDirectory, 'asort');
263 if ($machine_array != FALSE) {
264 foreach ($machine_array as $machine) {
265 printReports($machine, $small);
266 }
267 }
268 else {
269 print "<font size='$fontsize'><b>There are currently no alerts</b></font>";
270 }
271 }
272 else {
273 printReports($machine, $small);
274 }
275
276 echo <<<EOT
277 </td>
278 </tr>
279 </table>
280 EOT;
281 }
282 else {
283 printLine("");
284 }
285
286 ?>
287
288 <? include($bottomHTML); ?>