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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines