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.34
Committed: Sat May 18 18:15:57 2002 UTC (22 years, 6 months ago) by tdb
Branch: MAIN
Changes since 1.33: +19 -0 lines
Log Message:
i-scream is now licensed under the GPL. I've added the GPL headers to every
source file, and put a full copy of the license in the appropriate places.
I think I've covered everything. This is going to be a mad commit ;)

File Contents

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