# | Line 1 | Line 1 | |
---|---|---|
1 | <?php | |
2 | ||
3 | < | // A test navigation thingy. |
4 | < | // pjm2@ukc.ac.uk |
3 | > | # Navigation for the i-scream reports. |
4 | > | # pjm2@ukc.ac.uk |
5 | > | # |
6 | > | # CONFIGURABLE CONSTANTS |
7 | > | # |
8 | ||
9 | + | # The report directory, and the number of days to display. |
10 | + | $reportDirectory = "/home/cut/pjm2/webpages/reports"; |
11 | + | $maxDaysShown = 7; |
12 | ||
13 | + | # Page appearance. |
14 | + | $scaleImage = "24hour.gif"; |
15 | + | $lineColor = "#9999ff"; |
16 | + | |
17 | + | # Files to include |
18 | + | $titleHTML = "title.inc"; |
19 | + | $bottomHTML = "bottom.inc"; |
20 | + | $machineNameHTML = "machine_name.inc"; |
21 | + | $reportHTML = "report.inc"; |
22 | + | |
23 | + | # What are the names of the report files? |
24 | + | $reportLimitsFile = "i-maxmin.txt"; |
25 | + | $reportChartFile = "i-chart.gif"; |
26 | + | $reportChartDataFile = "i-data.txt"; |
27 | + | |
28 | + | # Submission details. |
29 | + | $formMethod = "GET"; |
30 | + | $thisPage = "browser.php"; |
31 | + | |
32 | + | # Leave this alone unless you know what you're doing ;) |
33 | + | $minFileSize = 33; |
34 | + | |
35 | + | # |
36 | + | # END CONFIGURATION |
37 | + | |
38 | + | |
39 | + | |
40 | + | |
41 | + | |
42 | + | # Used to return whether or not a report data file is empty. |
43 | + | function isReportEmpty($filename, $minFileSize) { |
44 | + | if (filesize($filename) < $minFileSize) { |
45 | + | return TRUE; |
46 | + | } |
47 | + | return FALSE; |
48 | + | } |
49 | + | |
50 | + | |
51 | + | # return an array of subdirectories in the current directory. |
52 | function getdirArray($dir='./',$sort='asort') { | |
53 | global $dir_file_count; | |
54 | if ( is_dir($dir) ) { | |
# | Line 11 | Line 56 | function getdirArray($dir='./',$sort='asort') { | |
56 | while ( ($part = @readdir($fd)) == TRUE ) { | |
57 | clearstatcache(); | |
58 | if ($part != "." && $part != "..") { | |
59 | < | $dir_array[] = $part; |
59 | > | if (preg_match("/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$/", $part)) { |
60 | > | $dir_array[] = $part; |
61 | > | } |
62 | } | |
63 | } | |
64 | if($fd == TRUE) { | |
# | Line 29 | Line 76 | function getdirArray($dir='./',$sort='asort') { | |
76 | } | |
77 | } | |
78 | ||
32 | – | include("day.inc"); |
33 | – | |
79 | ?> | |
80 | ||
81 | < | <html> |
37 | < | <body bgcolor="#ffffff"> |
81 | > | <? include($titleHTML); ?> |
82 | ||
83 | < | <table border="0" align="center" cellpadding="2" cellspacing="5"> |
40 | < | <tr> |
41 | < | <td valign="top"> |
42 | < | <? include("left.inc"); ?> |
43 | < | </td> |
44 | < | <td> |
45 | < | <? include("title.inc"); ?> |
83 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
84 | ||
85 | + | <b>Most recent reports available</b> |
86 | + | <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>"> |
87 | + | <? |
88 | ||
89 | < | <font face="arial, sans-serif" size="2"> |
90 | < | <b>View reports for <? echo "$day" ?></b> |
91 | < | </font> |
89 | > | $file_array = getdirArray($reportDirectory,'rsort'); |
90 | > | print "<select size=\"1\" name=\"day\">"; |
91 | > | foreach($file_array as $file_name) { |
92 | > | if (is_dir($file_name)) { |
93 | > | $i++; |
94 | > | print "<option value=\"$file_name\">$file_name</option>"; |
95 | > | } |
96 | > | if ($i >= $maxDaysShown) { |
97 | > | break; |
98 | > | } |
99 | > | } |
100 | > | print "</select>"; |
101 | ||
102 | < | <p> |
102 | > | ?> |
103 | > | <input type="submit" name="submit" value="Go"> |
104 | > | </form> |
105 | ||
106 | < | <form method="GET" action=""> |
106 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
107 | > | |
108 | > | <? if ($day) { ?> |
109 | > | |
110 | > | <b>Available reports for <? echo $day ?></b> |
111 | > | |
112 | > | <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>"> |
113 | <select size="1" name="machine_name"> | |
114 | < | <option selected value=""></option> |
115 | < | <? include("machine_name.inc"); ?> |
114 | > | <? if ($machine_name) { ?> |
115 | > | <option selected value="<? echo $machine_name ?>"><? echo $machine_name ?></option> |
116 | > | <option value="">----------------</option> |
117 | > | <? } else { ?> |
118 | > | <option selected value="">[select machine]</option> |
119 | > | <? } ?> |
120 | > | <? include("$day/$machineNameHTML"); ?> |
121 | </select> | |
122 | ||
123 | <select size="1" name="report"> | |
124 | < | <option selected value=""></option> |
125 | < | <? include("report.inc"); ?> |
124 | > | <? if ($report) { ?> |
125 | > | <option selected value="<? echo $report ?>"><? echo $report ?></option> |
126 | > | <option value="">----------------</option> |
127 | > | <? } else { ?> |
128 | > | <option selected value="">[select report]</option> |
129 | > | <? } ?> |
130 | > | <? include("$day/$reportHTML"); ?> |
131 | </select> | |
132 | ||
133 | < | <input type="submit" name="submit" value="bung"> |
133 | > | <input type="hidden" name="day" value="<? echo $day ?>"> |
134 | > | <input type="submit" name="submit" value="Show"> |
135 | </form> | |
136 | + | |
137 | + | <hr weight="1" color="<? echo $lineColor ?>"> |
138 | + | |
139 | + | <? } ?> |
140 | ||
141 | </p> | |
142 | ||
143 | ||
144 | <? | |
145 | < | if ($submit == "bung") { |
146 | < | $url = escapeshellcmd("$day/$machine_name/$report/chart.gif"); |
147 | < | if (file_exists($url)) { |
148 | < | echo "<p><b>[$machine_name] - $report</b><br><img src=\"$url\" width=\"500\" height=\"250\"><br><img src=\"24hour.gif\" width=\"500\" height=\"39\"></p>"; |
145 | > | if ($submit == "Show" && $machine_name && $report) { |
146 | > | |
147 | > | include("$day/$machine_name/$report/$reportLimitsFile"); |
148 | > | |
149 | > | $url = escapeshellcmd("$day/$machine_name/$report/$reportChartFile"); |
150 | > | if (isReportEmpty("$day/$machine_name/$report/$reportChartDataFile", $minFileSize)) { |
151 | > | echo "Host <b>$machine_name</b> did not send any information about <b>$report</b> on <b>$day</b>. Please select another report."; |
152 | } | |
153 | + | else if (file_exists($url)) { ?> |
154 | + | |
155 | + | <center><b>[<? echo $machine_name; ?>] - <? echo $report; ?></b></center> |
156 | + | |
157 | + | <table border="0" cellpadding="0" cellspacing="0"> |
158 | + | <tr> |
159 | + | <td align="right" valign="top"> |
160 | + | <font size="2"><? printf("%.1f", $max_value); ?></font> |
161 | + | </td> |
162 | + | <td rowspan="2"> |
163 | + | <img src="<? echo $url; ?>" width="500" height="250"> |
164 | + | </td> |
165 | + | </tr> |
166 | + | <tr> |
167 | + | <td align="right" valign="bottom"> |
168 | + | <font size="2"><? echo $min_value; ?></font> |
169 | + | </td> |
170 | + | </tr> |
171 | + | <tr> |
172 | + | <td> </td> |
173 | + | <td><img src="<? echo $scaleImage ?>" width="500" height="39"></td> |
174 | + | </tr> |
175 | + | </table> |
176 | + | |
177 | + | <hr weigth="1" color="<? echo $lineColor ?>"> |
178 | + | |
179 | + | <b>Extra data</b> |
180 | + | <p> |
181 | + | <a href="<? echo "$day/$machine_name/$report/$reportChartDataFile" ?>">Raw plot data</a><br> |
182 | + | <a href="<? echo "$day/$machine_name/$report/$reportChartFile" ?>">GIF chart</a><br> |
183 | + | <a href="<? echo "$day/$machine_name/$report/$reportLimitsFile" ?>">PHP y-axis limits include</a> |
184 | + | |
185 | + | <? } |
186 | else { | |
187 | < | echo "<p>The report could not be found.</p>"; |
187 | > | echo "<p>The report could not be found. Somebody must have deleted it!</p>"; |
188 | } | |
189 | + | echo "<hr weight=\"1\" color=\"$lineColor\">"; |
190 | } | |
191 | ||
192 | ?> | |
193 | ||
194 | < | <hr> |
85 | < | |
86 | < | <p> |
87 | < | <font face="arial, sans-serif" size="2"> |
88 | < | <b>Or browse all dates</b> |
89 | < | </font> |
90 | < | </p> |
91 | < | |
92 | < | <? |
93 | < | |
94 | < | $file_array = getdirArray('/home/cut/pjm2/webpages/reports','asort'); |
95 | < | print "<ul>"; |
96 | < | foreach($file_array as $file_name) { |
97 | < | if (is_dir($file_name)) { |
98 | < | print "<li><a href=\"$file_name\">$file_name</a>"; |
99 | < | } |
100 | < | } |
101 | < | print "</ul>"; |
102 | < | |
103 | < | ?> |
104 | < | |
105 | < | <? include("bottom.inc"); ?> |
106 | < | |
107 | < | </body> |
108 | < | </html> |
194 | > | <? include($bottomHTML); ?> |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |