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.39
Committed: Fri Mar 11 16:54:04 2005 UTC (19 years, 8 months ago) by tdb
Branch: MAIN
Changes since 1.38: +0 -2 lines
Log Message:
Minor fixes - thanks Skel :-)

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 $hideform = isset($_GET['hideform']) ? $_GET['hideform'] : "";
37 $pagewidth = isset($_GET['pagewidth']) ? $_GET['pagewidth'] : "";
38 $small = isset($_GET['small']) ? $_GET['small'] : "";
39 }
40
41 function printLine($title) {
42 echo "<hr style=\"color:#9999ff;\">";
43 echo "<b>$title</b>";
44 }
45
46 function getValue($value, $alert) {
47 preg_match("/$value=([^\,\}]*)[\,\}]/", $alert, $matches);
48 return $matches[1];
49 }
50
51 function printAlert($machine, $alert, $small="") {
52
53 global $fontsize;
54
55 include("alerts_config.inc.php");
56
57 $alertLevelNum = getValue("alertLevel", $alert);
58 $lastAlert = getValue("lastAlert", $alert);
59 $thresholdLevel = getValue("thresholdLevel", $alert);
60 $source = getValue("source", $alert);
61 $thresholdValue = getValue("thresholdValue", $alert);
62 $value = getValue("value", $alert);
63 $attributeName = getValue("attributeName", $alert);
64 $timeTillNextAlert = getValue("timeTillNextAlert", $alert);
65 $initialAlertTime = getValue("initialAlertTime", $alert);
66
67 if ($thresholdLevel == "1") {
68 $thresholdLevel = "Lower";
69 }
70 else if ($thresholdLevel == "2") {
71 $thresholdLevel = "Upper";
72 }
73 else {
74 $thresholdLevel = "Normal";
75 }
76
77 $alertColour = $alertLevelColours[$alertLevelNum];
78 $alertLevel = $alertLevelNames[$alertLevelNum];
79 $initialAlertTime = strftime("%x %X", intval($initialAlertTime / 1000));
80
81 if ($small == "on") {
82 echo <<<EOT
83 <tr>
84 <td width="50">
85 &nbsp;
86 </td>
87 <td>
88 <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
89 </td>
90 <td>
91 <font size="$fontsize" color="$alertColour"><b>$alertLevel</b></font>
92 </td>
93 <td>
94 <font size="$fontsize">$attributeName (c:$value t:$thresholdValue)</font>
95 </td>
96 <td>
97 &nbsp;
98 </td>
99 </tr>
100 EOT;
101 }
102 else {
103 echo <<<EOT
104
105 <table border="0" cellspacing="5" width="100%">
106 <tr>
107 <td align="left" width="40%">
108 <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
109 <font color="$alertColour" size="2"><b>$alertLevel</b></font>
110 </td>
111 <td align="right" width="60%">
112 <b>$attributeName</b>
113 </td>
114 </tr>
115 <tr>
116 <td align="right"><font size="2">Threshold:</font></td>
117 <td align="left">$thresholdValue ($thresholdLevel)</td>
118 </tr>
119 <tr>
120 <td align="right"><font size="2">Alert value:</font></td>
121 <td align="left"><b>$value</b></td>
122 </tr>
123 <tr>
124 <td align="right"><font size="2">Initially raised:</font></td>
125 <td align="left">$initialAlertTime</td>
126 </tr>
127 </table>
128
129 EOT;
130 printLine("");
131 }
132
133 }
134
135 function printReports($machine, $small="") {
136 global $fontsize;
137
138 # Get a list of all files in the machine's directory.
139 include("alerts_config.inc.php");
140 $alertArray = getdirArray("$alertDirectory/$machine", 'rsort');
141
142 if ($small == "on") {
143 echo <<<EOT
144 <table border="0" cellpadding="2" cellspacing="6">
145 <tr>
146 <td colspan="5">
147 <font size="$fontsize"><b><a href="alerts.php?machine=$machine" style="color: black; text-decoration: none;">$machine</a></b></font>
148 </td>
149 </tr>
150 EOT;
151 }
152 else {
153 echo <<<EOT
154 <p>&nbsp;</p>
155 <table border="0" cellpadding="3" cellspacing="2" bgcolor="#000066" width="100%">
156 <tr>
157 <td>
158 <font color="white">
159 <b>
160 Current alerts for <a href="latest.php?machine=$machine" style="color: white">$machine</a>
161 </b>
162 <font size="2">
163 <br>Sorted by time, latest first.
164 </font>
165 </font>
166 </td>
167 </tr>
168 <tr>
169 <td bgcolor="white">
170
171 EOT;
172
173 printLine("");
174 }
175
176 if ($alertArray != FALSE) {
177
178 foreach($alertArray as $file_name) {
179 $input = file("$alertDirectory/$machine/$file_name");
180 $input = $input[0];
181 $alerts[] = $input;
182 }
183
184 foreach ($alerts as $alert) {
185 printAlert($machine, $alert, $small);
186 }
187 }
188 else {
189 if ($small != "on") {
190 echo "There are currently no alerts held about <b>$machine</b>";
191 printLine("");
192 }
193 }
194
195 if ($small == "on") {
196 echo <<<EOT
197 <tr>
198 <td colspan="5">&nbsp;</td>
199 </tr>
200 </table>
201 EOT;
202 }
203 else {
204 echo <<<EOT
205 </td>
206 </tr>
207 </table>
208 EOT;
209 }
210 }
211
212
213 ?>
214
215 <? include($titleHTML); ?>
216
217 <? if ($hideform != "on") { ?>
218
219 <? printLine("Latest alerts for hosts"); ?>
220
221 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
222 <?
223
224 $file_array = getdirArray($alertDirectory,'asort');
225 print "<select size=\"1\" name=\"machine\">";
226 if ($machine) { ?>
227 <option selected value="<? echo $machine ?>"><? echo $machine ?></option>
228 <option value="">----------------</option>
229 <? }
230 foreach ($file_array as $file_name) {
231 #if (is_dir($file_name)) {
232 print "<option value=\"$file_name\">$file_name</option>";
233 #}
234 }
235 print "</select>";
236
237 ?>
238 <input type="hidden" name="small" value="<?=$small?>">
239 <input type="submit" name="submit" value="Display">
240 </form>
241
242 <? } ?>
243
244 <? if ($machine) {
245
246 printLine("");
247
248 $masterwidth = "";
249 if ($small != "on") {
250 $masterwidth = ' width="100%"';
251 }
252
253 echo <<<EOT
254 <table border="0" align="center"$masterwidth>
255 <tr>
256 <td>
257 EOT;
258
259 if ($machine == "ALL") {
260 $machine_array = getdirArray($alertDirectory, 'asort');
261 if ($machine_array != FALSE) {
262 foreach ($machine_array as $machine) {
263 printReports($machine, $small);
264 }
265 }
266 else {
267 print "<font size='$fontsize'><b>There are currently no alerts</b></font>";
268 }
269 }
270 else {
271 printReports($machine, $small);
272 }
273
274 echo <<<EOT
275 </td>
276 </tr>
277 </table>
278 EOT;
279 }
280 else {
281 printLine("");
282 }
283
284 ?>
285
286 <? include($bottomHTML); ?>