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.37 by tdb, Fri Feb 11 14:05:29 2005 UTC

# Line 1 | Line 1
1   <?php
2  
3 + #
4 + # i-scream central monitoring system
5 + # http://www.i-scream.org
6 + # Copyright (C) 2000-2002 i-scream
7 + #
8 + # This program is free software; you can redistribute it and/or
9 + # modify it under the terms of the GNU General Public License
10 + # as published by the Free Software Foundation; either version 2
11 + # of the License, or (at your option) any later version.
12 + #
13 + # This program is distributed in the hope that it will be useful,
14 + # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 + # GNU General Public License for more details.
17 + #
18 + # You should have received a copy of the GNU General Public License
19 + # along with this program; if not, write to the Free Software
20 + # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 + #
22 +
23   # Navigation for the i-scream alerts.
24   # pjm2@ukc.ac.uk
25   #
# Line 12 | Line 32 | include("alerts_config.inc.php");
32  
33   include("iutils.inc.php");
34  
35 + if ($formMethod == "GET") {
36 +    # in order of public.php
37 +    $machine = $_GET['machine'];
38 +    $fontsize = $_GET['fontsize'];
39 +    $refresh = $_GET['refresh'];
40 +    $hideform = $_GET['hideform'];
41 +    $pagewidth = $_GET['pagewidth'];
42 +    $small = $_GET['small'];
43 +    $submit = $_GET['submit'];
44 + }
45 +
46   function printLine($title) {
47      echo "<hr style=\"color:#9999ff;\">";
48      echo "<b>$title</b>";
49   }
50  
51 < function printAlert($machine, $alert) {
52 <    echo "$alert<br>";
51 > function getValue($value, $alert) {
52 >    preg_match("/$value=([^\,\}]*)[\,\}]/", $alert, $matches);
53 >    return $matches[1];
54   }
55  
56 + function printAlert($machine, $alert, $small="") {
57 +
58 +    global $fontsize;
59 +
60 +    include("alerts_config.inc.php");
61 +
62 +    $alertLevelNum = getValue("alertLevel", $alert);
63 +    $lastAlert = getValue("lastAlert", $alert);
64 +    $thresholdLevel = getValue("thresholdLevel", $alert);
65 +    $source = getValue("source", $alert);
66 +    $thresholdValue = getValue("thresholdValue", $alert);
67 +    $value = getValue("value", $alert);
68 +    $attributeName = getValue("attributeName", $alert);
69 +    $timeTillNextAlert = getValue("timeTillNextAlert", $alert);
70 +    $initialAlertTime = getValue("initialAlertTime", $alert);
71 +
72 +    if ($thresholdLevel == "1") {
73 +        $thresholdLevel = "Lower";
74 +    }
75 +    else if ($thresholdLevel == "2") {
76 +        $thresholdLevel = "Upper";
77 +    }
78 +    else {
79 +        $thresholdLevel = "Normal";
80 +    }
81 +
82 +    $alertColour = $alertLevelColours[$alertLevelNum];
83 +    $alertLevel = $alertLevelNames[$alertLevelNum];
84 +    $initialAlertTime = strftime("%x %X", intval($initialAlertTime / 1000));
85 +
86 +    if ($small == "on") {
87 +        echo <<<EOT
88 +            <tr>
89 +             <td width="50">
90 +              &nbsp;
91 +             </td>
92 +             <td>
93 +              <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
94 +             </td>
95 +             <td>
96 +              <font size="$fontsize" color="$alertColour"><b>$alertLevel</b></font>
97 +             </td>
98 +             <td>
99 +              <font size="$fontsize">$attributeName (c:$value t:$thresholdValue)</font>
100 +             </td>
101 +             <td>
102 +              &nbsp;
103 +             </td>
104 +            </tr>
105 + EOT;
106 +    }
107 +    else {
108 +        echo <<<EOT
109 +        
110 +        <table border="0" cellspacing="5" width="100%">
111 +          <tr>
112 +            <td align="left" width="40%">
113 +              <img src="level$alertLevelNum.gif" width="41" height="9" border="0" alt="$alertLevel">
114 +              <font color="$alertColour" size="2"><b>$alertLevel</b></font>
115 +            </td>
116 +            <td align="right" width="60%">
117 +              <b>$attributeName</b>
118 +            </td>
119 +          </tr>
120 +          <tr>
121 +            <td align="right"><font size="2">Threshold:</font></td>
122 +            <td align="left">$thresholdValue ($thresholdLevel)</td>
123 +          </tr>
124 +          <tr>
125 +            <td align="right"><font size="2">Alert value:</font></td>
126 +            <td align="left"><b>$value</b></td>
127 +          </tr>
128 +          <tr>
129 +            <td align="right"><font size="2">Initially raised:</font></td>
130 +            <td align="left">$initialAlertTime</td>
131 +          </tr>
132 +        </table>
133 +            
134 + EOT;
135 +        printLine("");
136 +    }
137 +
138 + }
139 +
140 + function printReports($machine, $small="") {
141 +    global $fontsize;
142 +
143 +    # Get a list of all files in the machine's directory.
144 +    include("alerts_config.inc.php");
145 +    $alertArray = getdirArray("$alertDirectory/$machine", 'rsort');
146 +  
147 +    if ($small == "on") {
148 +        echo <<<EOT
149 +           <table border="0" cellpadding="2" cellspacing="6">
150 +            <tr>
151 +             <td colspan="5">
152 +              <font size="$fontsize"><b><a href="alerts.php?machine=$machine" style="color: black; text-decoration: none;">$machine</a></b></font>
153 +             </td>
154 +            </tr>
155 + EOT;
156 +    }
157 +    else {
158 +        echo <<<EOT
159 +             <p>&nbsp;</p>
160 +             <table border="0" cellpadding="3" cellspacing="2" bgcolor="#000066" width="100%">
161 +              <tr>
162 +               <td>
163 +                <font color="white">
164 +                 <b>
165 +                  Current alerts for <a href="latest.php?machine=$machine" style="color: white">$machine</a>
166 +                 </b>
167 +                 <font size="2">
168 +                  <br>Sorted by time, latest first.
169 +                 </font>
170 +                </font>
171 +               </td>
172 +              </tr>
173 +              <tr>
174 +               <td bgcolor="white">
175 +    
176 + EOT;
177 +
178 +        printLine("");
179 +    }
180 +  
181 +    if ($alertArray != FALSE) {
182 +
183 +        foreach($alertArray as $file_name) {
184 +            $input = file("$alertDirectory/$machine/$file_name");
185 +            $input = $input[0];
186 +            $alerts[] = $input;
187 +        }
188 +      
189 +        foreach ($alerts as $alert) {
190 +            printAlert($machine, $alert, $small);
191 +        }
192 +    }
193 +    else {
194 +        if ($small != "on") {
195 +            echo "There are currently no alerts held about <b>$machine</b>";
196 +            printLine("");
197 +        }
198 +    }
199 +
200 +    if ($small == "on") {
201 +        echo <<<EOT
202 +            <tr>
203 +             <td colspan="5">&nbsp;</td>
204 +            </tr>
205 +           </table>
206 + EOT;
207 +    }
208 +    else {
209 +        echo <<<EOT
210 +             </td>
211 +            </tr>
212 +           </table>
213 + EOT;
214 +    }
215 + }
216 +
217 +
218   ?>
219  
220   <? include($titleHTML); ?>
221  
222 < <? printLine("Display alerts about all hosts, or a host"); ?>
222 > <? if ($hideform != "on") { ?>
223  
224 + <? printLine("Latest alerts for hosts"); ?>
225 +
226   <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
227   <?
228  
# Line 36 | Line 232 | function printAlert($machine, $alert) {
232          <option selected value="<? echo $machine ?>"><? echo $machine ?></option>
233          <option value="">----------------</option>
234      <? }
235 <    foreach($file_array as $file_name) {
235 >    foreach ($file_array as $file_name) {
236          #if (is_dir($file_name)) {
237              print "<option value=\"$file_name\">$file_name</option>";
238          #}
# Line 44 | Line 240 | function printAlert($machine, $alert) {
240      print "</select>";
241  
242   ?>
243 + <input type="hidden" name="small" value="<?=$small?>">
244   <input type="submit" name="submit" value="Display">
245   </form>
246  
247 + <? } ?>
248 +
249   <? if ($machine) {
250  
251 <       # Get a list of all files in the machine's directory.
252 <       $alertArray = getdirArray("$alertDirectory/$machine", 'rsort');
253 <      
254 <       foreach($file_array as $file_name) {
255 <           $input = file("$alertDirectory/$machine/$file_name");
57 <           $input = $input[0];
58 <           $alerts[] = $input;
251 >       printLine("");
252 >
253 >       $masterwidth = "";
254 >       if ($small != "on") {
255 >           $masterwidth = ' width="100%"';
256         }
60      
61       foreach ($alerts as $alert) {
62           printAlert($machine, $alert);
63       }
257  
258 +       echo <<<EOT
259 +        <table border="0" align="center"$masterwidth>
260 +         <tr>
261 +          <td>
262 + EOT;
263 +
264 +       if ($machine == "ALL") {
265 +           $machine_array = getdirArray($alertDirectory, 'asort');
266 +           if ($machine_array != FALSE) {
267 +               foreach ($machine_array as $machine) {
268 +                   printReports($machine, $small);
269 +               }
270 +           }
271 +           else {
272 +               print "<font size='$fontsize'><b>There are currently no alerts</b></font>";
273 +           }
274 +       }
275 +       else {
276 +           printReports($machine, $small);
277 +       }
278 +      
279 +       echo <<<EOT
280 +         </td>
281 +        </tr>
282 +       </table>
283 + EOT;
284     }
285 +   else {
286 +       printLine("");
287 +   }
288  
289   ?>
68
69 <? printLine(""); ?>
290  
291   <? include($bottomHTML); ?>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines