ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/reports/php/alerts/alerts.php
(Generate patch)

Comparing projects/cms/source/reports/php/alerts/alerts.php (file contents):
Revision 1.1 by pjm2, Thu Mar 15 10:36:50 2001 UTC vs.
Revision 1.34 by tdb, Sat May 18 18:15:57 2002 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines