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.30
Committed: Fri Mar 2 10:49:54 2001 UTC (23 years, 2 months ago) by pjm2
Branch: MAIN
Changes since 1.29: +4 -0 lines
Log Message:
Thought it was bad HCI to get the date to reset to the first one each
time.  So when you select a date, the same date is selected when you look
at the list again.

File Contents

# User Rev Content
1 pjm2 1.1 <?php
2    
3 pjm2 1.16 # 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 pjm2 1.1
32 pjm2 1.16 # Leave this alone unless you know what you're doing ;)
33     $minFileSize = 33;
34 pjm2 1.15
35 pjm2 1.16 #
36     # END CONFIGURATION
37 pjm2 1.15
38 pjm2 1.1
39 pjm2 1.27
40    
41    
42     # Used to return whether or not a report data file is empty.
43 pjm2 1.29 function isReportEmpty($filename, $minFileSize) {
44     if (filesize($filename) < $minFileSize) {
45 pjm2 1.14 return TRUE;
46     }
47     return FALSE;
48     }
49    
50 pjm2 1.27
51     # return an array of subdirectories in the current directory.
52 pjm2 1.1 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 pjm2 1.28 if (preg_match("/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$/", $part)) {
60     $dir_array[] = $part;
61     }
62 pjm2 1.1 }
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 pjm2 1.20 <? include($titleHTML); ?>
82 pjm2 1.6
83 pjm2 1.19 <hr weight="1" color="<? echo $lineColor ?>">
84 pjm2 1.11
85     <b>Most recent reports available</b>
86 pjm2 1.26 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
87 pjm2 1.11 <?
88    
89 pjm2 1.17 $file_array = getdirArray($reportDirectory,'rsort');
90 pjm2 1.11 print "<select size=\"1\" name=\"day\">";
91 pjm2 1.30 if ($day) { ?>
92     <option selected value="<? echo $day ?>"><? echo $day ?></option>
93     <option value="">----------------</option>
94     <? }
95 pjm2 1.11 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 pjm2 1.16 if ($i >= $maxDaysShown) {
101 pjm2 1.11 break;
102     }
103     }
104     print "</select>";
105    
106     ?>
107     <input type="submit" name="submit" value="Go">
108     </form>
109    
110 pjm2 1.19 <hr weight="1" color="<? echo $lineColor ?>">
111 pjm2 1.11
112     <? if ($day) { ?>
113    
114     <b>Available reports for <? echo $day ?></b>
115    
116 pjm2 1.26 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
117 pjm2 1.6 <select size="1" name="machine_name">
118 pjm2 1.13 <? if ($machine_name) { ?>
119     <option selected value="<? echo $machine_name ?>"><? echo $machine_name ?></option>
120     <option value="">----------------</option>
121     <? } else { ?>
122     <option selected value="">[select machine]</option>
123     <? } ?>
124 pjm2 1.22 <? include("$day/$machineNameHTML"); ?>
125 pjm2 1.6 </select>
126    
127     <select size="1" name="report">
128 pjm2 1.13 <? if ($report) { ?>
129     <option selected value="<? echo $report ?>"><? echo $report ?></option>
130     <option value="">----------------</option>
131     <? } else { ?>
132     <option selected value="">[select report]</option>
133     <? } ?>
134 pjm2 1.22 <? include("$day/$reportHTML"); ?>
135 pjm2 1.6 </select>
136 pjm2 1.1
137 pjm2 1.11 <input type="hidden" name="day" value="<? echo $day ?>">
138 pjm2 1.8 <input type="submit" name="submit" value="Show">
139 pjm2 1.6 </form>
140 pjm2 1.11
141 pjm2 1.19 <hr weight="1" color="<? echo $lineColor ?>">
142 pjm2 1.11
143     <? } ?>
144 pjm2 1.1
145 pjm2 1.6 </p>
146 pjm2 1.1
147 pjm2 1.2
148     <?
149 pjm2 1.8 if ($submit == "Show" && $machine_name && $report) {
150 pjm2 1.11
151 pjm2 1.23 include("$day/$machine_name/$report/$reportLimitsFile");
152 pjm2 1.11
153 pjm2 1.24 $url = escapeshellcmd("$day/$machine_name/$report/$reportChartFile");
154 pjm2 1.29 if (isReportEmpty("$day/$machine_name/$report/$reportChartDataFile", $minFileSize)) {
155 pjm2 1.14 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 pjm2 1.11
159     <center><b>[<? echo $machine_name; ?>] - <? echo $report; ?></b></center>
160    
161     <table border="0" cellpadding="0" cellspacing="0">
162     <tr>
163     <td align="right" valign="top">
164     <font size="2"><? printf("%.1f", $max_value); ?></font>
165     </td>
166     <td rowspan="2">
167     <img src="<? echo $url; ?>" width="500" height="250">
168     </td>
169     </tr>
170     <tr>
171     <td align="right" valign="bottom">
172     <font size="2"><? echo $min_value; ?></font>
173     </td>
174     </tr>
175     <tr>
176     <td>&nbsp;</td>
177 pjm2 1.18 <td><img src="<? echo $scaleImage ?>" width="500" height="39"></td>
178 pjm2 1.11 </tr>
179     </table>
180    
181 pjm2 1.19 <hr weigth="1" color="<? echo $lineColor ?>">
182 pjm2 1.11
183     <b>Extra data</b>
184     <p>
185 pjm2 1.25 <a href="<? echo "$day/$machine_name/$report/$reportChartDataFile" ?>">Raw plot data</a><br>
186 pjm2 1.24 <a href="<? echo "$day/$machine_name/$report/$reportChartFile" ?>">GIF chart</a><br>
187 pjm2 1.23 <a href="<? echo "$day/$machine_name/$report/$reportLimitsFile" ?>">PHP y-axis limits include</a>
188 pjm2 1.11
189     <? }
190 pjm2 1.2 else {
191 pjm2 1.15 echo "<p>The report could not be found. Somebody must have deleted it!</p>";
192 pjm2 1.2 }
193 pjm2 1.19 echo "<hr weight=\"1\" color=\"$lineColor\">";
194 pjm2 1.2 }
195    
196 pjm2 1.1 ?>
197 pjm2 1.6
198 pjm2 1.21 <? include($bottomHTML); ?>