# | 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) { |
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 | 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 >= 20) { |
96 | > | if ($i >= $maxDaysShown) { |
97 | break; | |
98 | } | |
99 | } | |
# | Line 56 | Line 103 | function getdirArray($dir='./',$sort='asort') { | |
103 | <input type="submit" name="submit" value="Go"> | |
104 | </form> | |
105 | ||
106 | < | <hr weight="1" color="#9999ff"> |
106 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
107 | ||
108 | <? if ($day) { ?> | |
109 | ||
110 | <b>Available reports for <? echo $day ?></b> | |
111 | ||
112 | < | <form method="GET" action="browser.php"> |
112 | > | <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>"> |
113 | <select size="1" name="machine_name"> | |
114 | < | <option selected value="">[select machine]</option> |
115 | < | <? include("$day/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="">[select report]</option> |
125 | < | <? include("$day/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="hidden" name="day" value="<? echo $day ?>"> | |
134 | <input type="submit" name="submit" value="Show"> | |
135 | </form> | |
136 | ||
137 | < | <hr weight="1" color="#9999ff"> |
137 | > | <hr weight="1" color="<? echo $lineColor ?>"> |
138 | ||
139 | <? } ?> | |
140 | ||
# | Line 87 | Line 144 | function getdirArray($dir='./',$sort='asort') { | |
144 | <? | |
145 | if ($submit == "Show" && $machine_name && $report) { | |
146 | ||
147 | < | include("$day/$machine_name/$report/i-maxmin.txt"); |
147 | > | include("$day/$machine_name/$report/$reportLimitsFile"); |
148 | ||
149 | < | $url = escapeshellcmd("$day/$machine_name/$report/i-chart.gif"); |
150 | < | if (file_exists($url)) { ?> |
149 | > | $url = escapeshellcmd("$day/$machine_name/$report/$reportChartFile"); |
150 | > | if (isReportEmpty("$day/$machine_name/$report/$reportChartDataFile")) { |
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 | ||
# | Line 110 | Line 170 | function getdirArray($dir='./',$sort='asort') { | |
170 | </tr> | |
171 | <tr> | |
172 | <td> </td> | |
173 | < | <td><img src="24hour.gif" width="500" height="39"></td> |
173 | > | <td><img src="<? echo $scaleImage ?>" width="500" height="39"></td> |
174 | </tr> | |
175 | </table> | |
176 | ||
177 | < | <hr weigth="1" color="#9999ff"> |
177 | > | <hr weigth="1" color="<? echo $lineColor ?>"> |
178 | ||
179 | <b>Extra data</b> | |
180 | <p> | |
181 | < | <a href="<? echo "$day/$machine_name/$report/i-data.txt" ?>">Raw plot data</a><br> |
182 | < | <a href="<? echo "$day/$machine_name/$report/i-chart.gif" ?>">GIF chart</a><br> |
183 | < | <a href="<? echo "$day/$machine_name/$report/i-maxmin.txt" ?>">PHP y-axis limits include</a> |
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=\"#9999ff\">"; |
189 | > | echo "<hr weight=\"1\" color=\"$lineColor\">"; |
190 | } | |
191 | ||
192 | ?> | |
193 | ||
194 | < | <? include("bottom.inc"); ?> |
194 | > | <? include($bottomHTML); ?> |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |