# | Line 1 | Line 1 | |
---|---|---|
1 | <?php | |
2 | ||
3 | < | // Navigation for the i-scream reports. |
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 31 | Line 78 | function getdirArray($dir='./',$sort='asort') { | |
78 | ||
79 | ?> | |
80 | ||
81 | < | <? include("title.inc"); ?> |
81 | > | <? include($titleHTML); ?> |
82 | ||
83 | < | <hr weight="1" color="#9999ff"> |
83 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
84 | ||
85 | <b>Most recent reports available</b> | |
86 | < | <form method="GET" action="browser.php"> |
86 | > | <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>"> |
87 | <? | |
88 | ||
89 | < | $file_array = getdirArray('/home/cut/pjm2/webpages/reports','rsort'); |
89 | > | $file_array = getdirArray($reportDirectory,'rsort'); |
90 | print "<select size=\"1\" name=\"day\">"; | |
91 | + | if ($day) { ?> |
92 | + | <option selected value="<? echo $day ?>"><? echo $day ?></option> |
93 | + | <option value="">----------------</option> |
94 | + | <? } |
95 | foreach($file_array as $file_name) { | |
96 | if (is_dir($file_name)) { | |
97 | $i++; | |
98 | print "<option value=\"$file_name\">$file_name</option>"; | |
99 | } | |
100 | < | if ($i >= 20) { |
100 | > | if ($i >= $maxDaysShown) { |
101 | break; | |
102 | } | |
103 | } | |
# | Line 56 | Line 107 | function getdirArray($dir='./',$sort='asort') { | |
107 | <input type="submit" name="submit" value="Go"> | |
108 | </form> | |
109 | ||
110 | < | <hr weight="1" color="#9999ff"> |
110 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
111 | ||
112 | <? if ($day) { ?> | |
113 | ||
114 | <b>Available reports for <? echo $day ?></b> | |
115 | ||
116 | < | <form method="GET" action="browser.php"> |
116 | > | <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>"> |
117 | <select size="1" name="machine_name"> | |
118 | <? if ($machine_name) { ?> | |
119 | <option selected value="<? echo $machine_name ?>"><? echo $machine_name ?></option> | |
# | Line 70 | Line 121 | function getdirArray($dir='./',$sort='asort') { | |
121 | <? } else { ?> | |
122 | <option selected value="">[select machine]</option> | |
123 | <? } ?> | |
124 | < | <? include("$day/machine_name.inc"); ?> |
124 | > | <? include("$day/$machineNameHTML"); ?> |
125 | </select> | |
126 | ||
127 | <select size="1" name="report"> | |
# | Line 80 | Line 131 | function getdirArray($dir='./',$sort='asort') { | |
131 | <? } else { ?> | |
132 | <option selected value="">[select report]</option> | |
133 | <? } ?> | |
134 | < | <? include("$day/report.inc"); ?> |
134 | > | <? include("$day/$reportHTML"); ?> |
135 | </select> | |
136 | ||
137 | <input type="hidden" name="day" value="<? echo $day ?>"> | |
138 | <input type="submit" name="submit" value="Show"> | |
139 | </form> | |
140 | ||
141 | < | <hr weight="1" color="#9999ff"> |
141 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
142 | ||
143 | <? } ?> | |
144 | ||
# | Line 97 | Line 148 | function getdirArray($dir='./',$sort='asort') { | |
148 | <? | |
149 | if ($submit == "Show" && $machine_name && $report) { | |
150 | ||
151 | < | include("$day/$machine_name/$report/i-maxmin.txt"); |
151 | > | include("$day/$machine_name/$report/$reportLimitsFile"); |
152 | ||
153 | < | $url = escapeshellcmd("$day/$machine_name/$report/i-chart.gif"); |
154 | < | if (file_exists($url)) { ?> |
153 | > | $url = escapeshellcmd("$day/$machine_name/$report/$reportChartFile"); |
154 | > | if (isReportEmpty("$day/$machine_name/$report/$reportChartDataFile", $minFileSize)) { |
155 | > | echo "Host <b>$machine_name</b> did not send any information about <b>$report</b> on <b>$day</b>. Please select another report."; |
156 | > | } |
157 | > | else if (file_exists($url)) { ?> |
158 | ||
159 | <center><b>[<? echo $machine_name; ?>] - <? echo $report; ?></b></center> | |
160 | ||
# | Line 120 | Line 174 | function getdirArray($dir='./',$sort='asort') { | |
174 | </tr> | |
175 | <tr> | |
176 | <td> </td> | |
177 | < | <td><img src="24hour.gif" width="500" height="39"></td> |
177 | > | <td><img src="<? echo $scaleImage ?>" width="500" height="39"></td> |
178 | </tr> | |
179 | </table> | |
180 | ||
181 | < | <hr weigth="1" color="#9999ff"> |
181 | > | <hr weigth="1" color="<? echo $lineColor ?>"> |
182 | ||
183 | <b>Extra data</b> | |
184 | <p> | |
185 | < | <a href="<? echo "$day/$machine_name/$report/i-data.txt" ?>">Raw plot data</a><br> |
186 | < | <a href="<? echo "$day/$machine_name/$report/i-chart.gif" ?>">GIF chart</a><br> |
187 | < | <a href="<? echo "$day/$machine_name/$report/i-maxmin.txt" ?>">PHP y-axis limits include</a> |
185 | > | <a href="<? echo "$day/$machine_name/$report/$reportChartDataFile" ?>">Raw plot data</a><br> |
186 | > | <a href="<? echo "$day/$machine_name/$report/$reportChartFile" ?>">GIF chart</a><br> |
187 | > | <a href="<? echo "$day/$machine_name/$report/$reportLimitsFile" ?>">PHP y-axis limits include</a> |
188 | ||
189 | <? } | |
190 | else { | |
191 | < | echo "<p>The report could not be found.</p>"; |
191 | > | echo "<p>The report could not be found. Somebody must have deleted it!</p>"; |
192 | } | |
193 | < | echo "<hr weight=\"1\" color=\"#9999ff\">"; |
193 | > | echo "<hr weight=\"1\" color=\"$lineColor\">"; |
194 | } | |
195 | ||
196 | ?> | |
197 | ||
198 | < | <? include("bottom.inc"); ?> |
198 | > | <? include($bottomHTML); ?> |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |