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.13
Committed: Wed Mar 21 11:58:26 2001 UTC (23 years, 8 months ago) by pjm2
Branch: MAIN
Changes since 1.12: +28 -24 lines
Log Message:
If an attribute called "small" is specified on the query string, the
reports are not shown.

File Contents

# Content
1 <?php
2
3 # Navigation for the i-scream alerts.
4 # pjm2@ukc.ac.uk
5 #
6 # CONFIGURABLE CONSTANTS: -
7
8 include("alerts_config.inc.php");
9
10 #
11 # END CONFIGURATION
12
13 include("iutils.inc.php");
14
15 function printLine($title) {
16 echo "<hr style=\"color:#9999ff;\">";
17 echo "<b>$title</b>";
18 }
19
20 function getValue($value, $alert) {
21 preg_match("/$value=([^\,\}]*)[\,\}]/", $alert, $matches);
22 return $matches[1];
23 }
24
25 function printAlert($machine, $alert) {
26
27 include("alerts_config.inc.php");
28
29 $alertLevel = getValue("alertLevel", $alert);
30 $lastAlert = getValue("lastAlert", $alert);
31 $thresholdLevel = getValue("thresholdLevel", $alert);
32 $source = getValue("source", $alert);
33 $thresholdValue = getValue("thresholdValue", $alert);
34 $value = getValue("value", $alert);
35 $attributeName = getValue("attributeName", $alert);
36 $timeTillNextAlert = getValue("timeTillNextAlert", $alert);
37 $initialAlertTime = getValue("initialAlertTime", $alert);
38
39 $alertColour = $alertLevelColours[$alertLevel];
40 $alertLevel = $alertLevelNames[$alertLevel];
41 $initialAlertTime = strftime("%x %X", intval($initialAlertTime / 1000));
42
43 if ($small) {
44
45 }
46 else {
47 echo <<<EOT
48
49 <table border="0" cellspacing="5">
50 <tr>
51 <td><b>$attributeName</b></td>
52 <td>&nbsp;</td>
53 <td><font color="$alertColour" size="2"><b>$alertLevel</b></font></td>
54 <td>&nbsp;</td>
55 </tr>
56 <tr>
57 <td><font size="2">Threshold:</font></td>
58 <td>$thresholdValue</td>
59 <td><font size="2">Initially raised:</font></td>
60 <td>$initialAlertTime</td>
61 </tr>
62 <tr>
63 <td><font size="2">Alert value:</font></td>
64 <td><b>$value</b></td>
65 <td><!--Next alert time:--> </td>
66 <td><!--$timeTillNextAlert--> </td>
67 </tr>
68 </table>
69
70 EOT;
71 printLine("");
72 }
73
74 }
75
76 function printReports($machine) {
77 # Get a list of all files in the machine's directory.
78 include("alerts_config.inc.php");
79 $alertArray = getdirArray("$alertDirectory/$machine", 'rsort');
80
81 echo <<<EOT
82 <p>&nbsp;</p>
83 <table border="0" cellpadding="3" cellspacing="2" bgcolor="#000066" width="100%">
84 <tr>
85 <td>
86 <font color="white">
87 <b>
88 Current alerts for $machine
89 </b>
90 <font size="2">
91 <br>Sorted by time, latest first.
92 </font>
93 </font>
94 </td>
95 </tr>
96 <tr>
97 <td bgcolor="white">
98
99 EOT;
100
101 printLine("");
102
103 if ($alertArray != FALSE) {
104
105 foreach($alertArray as $file_name) {
106 $input = file("$alertDirectory/$machine/$file_name");
107 $input = $input[0];
108 $alerts[] = $input;
109 }
110
111 foreach ($alerts as $alert) {
112 printAlert($machine, $alert);
113 }
114 }
115 else {
116 echo "There are currently no alerts held about <b>$machine</b>";
117 printLine("");
118 }
119
120 echo <<<EOT
121 </td>
122 </tr>
123 </table>
124 EOT;
125 }
126
127
128 ?>
129
130 <? include($titleHTML); ?>
131
132 <? printLine("Display the latest alerts for a host"); ?>
133
134 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
135 <?
136
137 $file_array = getdirArray($alertDirectory,'asort');
138 print "<select size=\"1\" name=\"machine\">";
139 if ($machine) { ?>
140 <option selected value="<? echo $machine ?>"><? echo $machine ?></option>
141 <option value="">----------------</option>
142 <? }
143 foreach ($file_array as $file_name) {
144 #if (is_dir($file_name)) {
145 print "<option value=\"$file_name\">$file_name</option>";
146 #}
147 }
148 print "</select>";
149
150 ?>
151 <input type="submit" name="submit" value="Display">
152 </form>
153
154 <? if ($machine) {
155
156 printLine("");
157
158 if ($machine == "ALL") {
159 $machine_array = getdirArray($alertDirectory, 'asort');
160 if ($machine_array != FALSE) {
161 foreach ($machine_array as $machine) {
162 printReports($machine);
163 }
164 }
165 }
166 else {
167 printReports($machine);
168 }
169
170 }
171 else {
172 printLine("");
173 }
174
175 ?>
176
177 <? include($bottomHTML); ?>