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, 5 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

# User Rev Content
1 pjm2 1.1 <?php
2    
3 tdb 1.34 #
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 pjm2 1.1 # 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 pjm2 1.2 function getValue($value, $alert) {
40     preg_match("/$value=([^\,\}]*)[\,\}]/", $alert, $matches);
41     return $matches[1];
42     }
43    
44 pjm2 1.14 function printAlert($machine, $alert, $small="") {
45 pjm2 1.5
46 pjm2 1.26 global $fontsize;
47    
48 pjm2 1.5 include("alerts_config.inc.php");
49    
50 pjm2 1.20 $alertLevelNum = getValue("alertLevel", $alert);
51 pjm2 1.2 $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 pjm2 1.4
60 pjm2 1.25 if ($thresholdLevel == "1") {
61     $thresholdLevel = "Lower";
62     }
63     else if ($thresholdLevel == "2") {
64     $thresholdLevel = "Upper";
65     }
66     else {
67     $thresholdLevel = "Normal";
68     }
69    
70 pjm2 1.20 $alertColour = $alertLevelColours[$alertLevelNum];
71     $alertLevel = $alertLevelNames[$alertLevelNum];
72 pjm2 1.6 $initialAlertTime = strftime("%x %X", intval($initialAlertTime / 1000));
73 pjm2 1.5
74 pjm2 1.27 if ($small == "on") {
75 pjm2 1.16 echo <<<EOT
76     <tr>
77 pjm2 1.17 <td width="50">
78     &nbsp;
79     </td>
80 pjm2 1.30 <td>
81 pjm2 1.20 <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
82     </td>
83 pjm2 1.30 <td>
84 pjm2 1.26 <font size="$fontsize" color="$alertColour"><b>$alertLevel</b></font>
85 pjm2 1.17 </td>
86 pjm2 1.30 <td>
87 tdb 1.33 <font size="$fontsize">$attributeName (c:$value t:$thresholdValue)</font>
88 pjm2 1.17 </td>
89 pjm2 1.16 <td>
90 pjm2 1.17 &nbsp;
91 pjm2 1.16 </td>
92     </tr>
93     EOT;
94 pjm2 1.13 }
95     else {
96     echo <<<EOT
97    
98 pjm2 1.22 <table border="0" cellspacing="5" width="100%">
99 pjm2 1.13 <tr>
100 pjm2 1.23 <td align="left" width="40%">
101 pjm2 1.21 <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 pjm2 1.23 <td align="right" width="60%">
105 pjm2 1.22 <b>$attributeName</b>
106     </td>
107     </tr>
108     <tr>
109     <td align="right"><font size="2">Threshold:</font></td>
110 pjm2 1.25 <td align="left">$thresholdValue ($thresholdLevel)</td>
111 pjm2 1.13 </tr>
112     <tr>
113 pjm2 1.22 <td align="right"><font size="2">Alert value:</font></td>
114     <td align="left"><b>$value</b></td>
115 pjm2 1.13 </tr>
116     <tr>
117 pjm2 1.22 <td align="right"><font size="2">Initially raised:</font></td>
118     <td align="left">$initialAlertTime</td>
119 pjm2 1.13 </tr>
120     </table>
121    
122 pjm2 1.4 EOT;
123 pjm2 1.13 printLine("");
124     }
125 pjm2 1.4
126 pjm2 1.1 }
127    
128 pjm2 1.14 function printReports($machine, $small="") {
129 pjm2 1.26 global $fontsize;
130    
131 pjm2 1.7 # 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 pjm2 1.27 if ($small == "on") {
136 pjm2 1.15 echo <<<EOT
137 pjm2 1.30 <table border="0" cellpadding="2" cellspacing="6">
138 pjm2 1.15 <tr>
139 pjm2 1.20 <td colspan="5">
140 pjm2 1.26 <font size="$fontsize"><b><a href="alerts.php?machine=$machine" style="color: black; text-decoration: none;">$machine</a></b></font>
141 pjm2 1.15 </td>
142     </tr>
143     EOT;
144 pjm2 1.14 }
145     else {
146     echo <<<EOT
147     <p>&nbsp;</p>
148     <table border="0" cellpadding="3" cellspacing="2" bgcolor="#000066" width="100%">
149 pjm2 1.30 <tr>
150 pjm2 1.14 <td>
151     <font color="white">
152     <b>
153 pjm2 1.24 Current alerts for <a href="latest.php?machine=$machine" style="color: white">$machine</a>
154 pjm2 1.14 </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 pjm2 1.7
164     EOT;
165    
166 pjm2 1.14 printLine("");
167     }
168 pjm2 1.7
169 pjm2 1.8 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 pjm2 1.14 printAlert($machine, $alert, $small);
179 pjm2 1.8 }
180 pjm2 1.7 }
181 pjm2 1.8 else {
182 pjm2 1.27 if ($small != "on") {
183 pjm2 1.21 echo "There are currently no alerts held about <b>$machine</b>";
184     printLine("");
185     }
186 pjm2 1.7 }
187 pjm2 1.10
188 pjm2 1.27 if ($small == "on") {
189 pjm2 1.31 echo <<<EOT
190     <tr>
191     <td colspan="5">&nbsp;</td>
192     </tr>
193     </table>
194     EOT;
195 pjm2 1.14 }
196     else {
197     echo <<<EOT
198     </td>
199     </tr>
200     </table>
201 pjm2 1.10 EOT;
202 pjm2 1.14 }
203 pjm2 1.4 }
204    
205    
206 pjm2 1.1 ?>
207    
208     <? include($titleHTML); ?>
209    
210 pjm2 1.28 <? if ($hideform != "on") { ?>
211 pjm2 1.18
212 pjm2 1.16 <? printLine("Latest alerts for hosts"); ?>
213 pjm2 1.1
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 pjm2 1.9 foreach ($file_array as $file_name) {
224 pjm2 1.1 #if (is_dir($file_name)) {
225     print "<option value=\"$file_name\">$file_name</option>";
226     #}
227     }
228     print "</select>";
229    
230     ?>
231 pjm2 1.14 <input type="hidden" name="small" value="<?=$small?>">
232 pjm2 1.1 <input type="submit" name="submit" value="Display">
233     </form>
234 pjm2 1.16
235     <? } ?>
236 pjm2 1.1
237     <? if ($machine) {
238 pjm2 1.3
239     printLine("");
240 pjm2 1.1
241 pjm2 1.32 $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 pjm2 1.9 if ($machine == "ALL") {
253     $machine_array = getdirArray($alertDirectory, 'asort');
254 pjm2 1.12 if ($machine_array != FALSE) {
255     foreach ($machine_array as $machine) {
256 pjm2 1.14 printReports($machine, $small);
257 pjm2 1.12 }
258 tdb 1.33 }
259     else {
260     print "<font size='$fontsize'><b>There are currently no alerts</b></font>";
261 pjm2 1.9 }
262     }
263     else {
264 pjm2 1.14 printReports($machine, $small);
265 pjm2 1.9 }
266 pjm2 1.1
267 pjm2 1.32 echo <<<EOT
268     </td>
269     </tr>
270     </table>
271     EOT;
272 pjm2 1.5 }
273     else {
274     printLine("");
275 pjm2 1.1 }
276    
277     ?>
278    
279     <? include($bottomHTML); ?>