ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/reports/php/historical/browser.php
Revision: 1.28
Committed: Fri Mar 2 10:06:59 2001 UTC (23 years, 8 months ago) by pjm2
Branch: MAIN
Changes since 1.27: +3 -1 lines
Log Message:
Added a preg_match so that only directories that match a short date format
of YYYY-MM-DD are added to the dropdown date list.

File Contents

# Content
1 <?php
2
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) ) {
55 $fd = @opendir($dir);
56 while ( ($part = @readdir($fd)) == TRUE ) {
57 clearstatcache();
58 if ($part != "." && $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) {
65 closedir($fd);
66 }
67 if (is_array($dir_array)) {
68 $sort($dir_array);
69 $dir_file_count = count($dir_array);
70 Return $dir_array;
71 } else {
72 Return FALSE;
73 }
74 } else {
75 Return FALSE;
76 }
77 }
78
79 ?>
80
81 <? include($titleHTML); ?>
82
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 $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 ?>
103 <input type="submit" name="submit" value="Go">
104 </form>
105
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 <? 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 <? 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="<? echo $lineColor ?>">
138
139 <? } ?>
140
141 </p>
142
143
144 <?
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")) {
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>&nbsp;</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. Somebody must have deleted it!</p>";
188 }
189 echo "<hr weight=\"1\" color=\"$lineColor\">";
190 }
191
192 ?>
193
194 <? include($bottomHTML); ?>