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.12
Committed: Wed Mar 21 11:54:18 2001 UTC (23 years, 8 months ago) by pjm2
Branch: MAIN
Changes since 1.11: +4 -2 lines
Log Message:
When the list of ALL reports is being viewed, we now no longer try to go
through the directory listing if it is empty (as this causes an error
message to be echoed to the client)

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 echo <<<EOT
44
45 <table border="0" cellspacing="5">
46 <tr>
47 <td><b>$attributeName</b></td>
48 <td>&nbsp;</td>
49 <td><font color="$alertColour" size="2"><b>$alertLevel</b></font></td>
50 <td>&nbsp;</td>
51 </tr>
52 <tr>
53 <td><font size="2">Threshold:</font></td>
54 <td>$thresholdValue</td>
55 <td><font size="2">Initially raised:</font></td>
56 <td>$initialAlertTime</td>
57 </tr>
58 <tr>
59 <td><font size="2">Alert value:</font></td>
60 <td><b>$value</b></td>
61 <td><!--Next alert time:--> </td>
62 <td><!--$timeTillNextAlert--> </td>
63 </tr>
64 </table>
65
66 EOT;
67
68 printLine("");
69
70 }
71
72 function printReports($machine) {
73 # Get a list of all files in the machine's directory.
74 include("alerts_config.inc.php");
75 $alertArray = getdirArray("$alertDirectory/$machine", 'rsort');
76
77 echo <<<EOT
78 <p>&nbsp;</p>
79 <table border="0" cellpadding="3" cellspacing="2" bgcolor="#000066" width="100%">
80 <tr>
81 <td>
82 <font color="white">
83 <b>
84 Current alerts for $machine
85 </b>
86 <font size="2">
87 <br>Sorted by time, latest first.
88 </font>
89 </font>
90 </td>
91 </tr>
92 <tr>
93 <td bgcolor="white">
94
95 EOT;
96
97 printLine("");
98
99 if ($alertArray != FALSE) {
100
101 foreach($alertArray as $file_name) {
102 $input = file("$alertDirectory/$machine/$file_name");
103 $input = $input[0];
104 $alerts[] = $input;
105 }
106
107 foreach ($alerts as $alert) {
108 printAlert($machine, $alert);
109 }
110 }
111 else {
112 echo "There are currently no alerts held about <b>$machine</b>";
113 printLine("");
114 }
115
116 echo <<<EOT
117 </td>
118 </tr>
119 </table>
120 EOT;
121 }
122
123
124 ?>
125
126 <? include($titleHTML); ?>
127
128 <? printLine("Display the latest alerts for a host"); ?>
129
130 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
131 <?
132
133 $file_array = getdirArray($alertDirectory,'asort');
134 print "<select size=\"1\" name=\"machine\">";
135 if ($machine) { ?>
136 <option selected value="<? echo $machine ?>"><? echo $machine ?></option>
137 <option value="">----------------</option>
138 <? }
139 foreach ($file_array as $file_name) {
140 #if (is_dir($file_name)) {
141 print "<option value=\"$file_name\">$file_name</option>";
142 #}
143 }
144 print "</select>";
145
146 ?>
147 <input type="submit" name="submit" value="Display">
148 </form>
149
150 <? if ($machine) {
151
152 printLine("");
153
154 if ($machine == "ALL") {
155 $machine_array = getdirArray($alertDirectory, 'asort');
156 if ($machine_array != FALSE) {
157 foreach ($machine_array as $machine) {
158 printReports($machine);
159 }
160 }
161 }
162 else {
163 printReports($machine);
164 }
165
166 }
167 else {
168 printLine("");
169 }
170
171 ?>
172
173 <? include($bottomHTML); ?>