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.29
Committed: Fri Mar 2 10:13:56 2001 UTC (23 years, 8 months ago) by pjm2
Branch: MAIN
Changes since 1.28: +3 -3 lines
Log Message:
Fixed the problem of minFileSize being out of scope in a call to a
function.  Fixed this by passing it in the function call, rather than
making an icky global variable.

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     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 pjm2 1.16 if ($i >= $maxDaysShown) {
97 pjm2 1.11 break;
98     }
99     }
100     print "</select>";
101    
102     ?>
103     <input type="submit" name="submit" value="Go">
104     </form>
105    
106 pjm2 1.19 <hr weight="1" color="<? echo $lineColor ?>">
107 pjm2 1.11
108     <? if ($day) { ?>
109    
110     <b>Available reports for <? echo $day ?></b>
111    
112 pjm2 1.26 <form method="<? echo $formMethod ?>" action="<? echo $thisPage ?>">
113 pjm2 1.6 <select size="1" name="machine_name">
114 pjm2 1.13 <? 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 pjm2 1.22 <? include("$day/$machineNameHTML"); ?>
121 pjm2 1.6 </select>
122    
123     <select size="1" name="report">
124 pjm2 1.13 <? 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 pjm2 1.22 <? include("$day/$reportHTML"); ?>
131 pjm2 1.6 </select>
132 pjm2 1.1
133 pjm2 1.11 <input type="hidden" name="day" value="<? echo $day ?>">
134 pjm2 1.8 <input type="submit" name="submit" value="Show">
135 pjm2 1.6 </form>
136 pjm2 1.11
137 pjm2 1.19 <hr weight="1" color="<? echo $lineColor ?>">
138 pjm2 1.11
139     <? } ?>
140 pjm2 1.1
141 pjm2 1.6 </p>
142 pjm2 1.1
143 pjm2 1.2
144     <?
145 pjm2 1.8 if ($submit == "Show" && $machine_name && $report) {
146 pjm2 1.11
147 pjm2 1.23 include("$day/$machine_name/$report/$reportLimitsFile");
148 pjm2 1.11
149 pjm2 1.24 $url = escapeshellcmd("$day/$machine_name/$report/$reportChartFile");
150 pjm2 1.29 if (isReportEmpty("$day/$machine_name/$report/$reportChartDataFile", $minFileSize)) {
151 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.";
152     }
153     else if (file_exists($url)) { ?>
154 pjm2 1.11
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 pjm2 1.18 <td><img src="<? echo $scaleImage ?>" width="500" height="39"></td>
174 pjm2 1.11 </tr>
175     </table>
176    
177 pjm2 1.19 <hr weigth="1" color="<? echo $lineColor ?>">
178 pjm2 1.11
179     <b>Extra data</b>
180     <p>
181 pjm2 1.25 <a href="<? echo "$day/$machine_name/$report/$reportChartDataFile" ?>">Raw plot data</a><br>
182 pjm2 1.24 <a href="<? echo "$day/$machine_name/$report/$reportChartFile" ?>">GIF chart</a><br>
183 pjm2 1.23 <a href="<? echo "$day/$machine_name/$report/$reportLimitsFile" ?>">PHP y-axis limits include</a>
184 pjm2 1.11
185     <? }
186 pjm2 1.2 else {
187 pjm2 1.15 echo "<p>The report could not be found. Somebody must have deleted it!</p>";
188 pjm2 1.2 }
189 pjm2 1.19 echo "<hr weight=\"1\" color=\"$lineColor\">";
190 pjm2 1.2 }
191    
192 pjm2 1.1 ?>
193 pjm2 1.6
194 pjm2 1.21 <? include($bottomHTML); ?>