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.11
Committed: Fri Mar 16 20:09:16 2001 UTC (23 years, 2 months ago) by pjm2
Branch: MAIN
Changes since 1.10: +2 -0 lines
Log Message:
Put a spacer between each report (when all are viewed) and added a line
beneath the output when there are no reports available for a particular
machine.

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 foreach ($machine_array as $machine) {
157 printReports($machine);
158 }
159 }
160 else {
161 printReports($machine);
162 }
163
164 }
165 else {
166 printLine("");
167 }
168
169 ?>
170
171 <? include($bottomHTML); ?>