| 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 | function isReportEmpty($filename) { | 
 
 
 
 
 | 40 | if (filesize($filename) < minFileSize) { | 
 
 
 
 
 | 41 | return TRUE; | 
 
 
 
 
 | 42 | } | 
 
 
 
 
 | 43 | return FALSE; | 
 
 
 
 
 | 44 | } | 
 
 
 
 
 | 45 |  | 
 
 
 
 
 | 46 | function getdirArray($dir='./',$sort='asort') { | 
 
 
 
 
 | 47 | global $dir_file_count; | 
 
 
 
 
 | 48 | if ( is_dir($dir) ) { | 
 
 
 
 
 | 49 | $fd = @opendir($dir); | 
 
 
 
 
 | 50 | while ( ($part = @readdir($fd)) == TRUE ) { | 
 
 
 
 
 | 51 | clearstatcache(); | 
 
 
 
 
 | 52 | if ($part != "." && $part != "..") { | 
 
 
 
 
 | 53 | $dir_array[] = $part; | 
 
 
 
 
 | 54 | } | 
 
 
 
 
 | 55 | } | 
 
 
 
 
 | 56 | if($fd == TRUE) { | 
 
 
 
 
 | 57 | closedir($fd); | 
 
 
 
 
 | 58 | } | 
 
 
 
 
 | 59 | if (is_array($dir_array)) { | 
 
 
 
 
 | 60 | $sort($dir_array); | 
 
 
 
 
 | 61 | $dir_file_count = count($dir_array); | 
 
 
 
 
 | 62 | Return $dir_array; | 
 
 
 
 
 | 63 | } else { | 
 
 
 
 
 | 64 | Return FALSE; | 
 
 
 
 
 | 65 | } | 
 
 
 
 
 | 66 | } else { | 
 
 
 
 
 | 67 | Return FALSE; | 
 
 
 
 
 | 68 | } | 
 
 
 
 
 | 69 | } | 
 
 
 
 
 | 70 |  | 
 
 
 
 
 | 71 | ?> | 
 
 
 
 
 | 72 |  | 
 
 
 
 
 | 73 | <? include($titleHTML); ?> | 
 
 
 
 
 | 74 |  | 
 
 
 
 
 | 75 | <hr weight="1" color="<? echo $lineColor ?>"> | 
 
 
 
 
 | 76 |  | 
 
 
 
 
 | 77 | <b>Most recent reports available</b> | 
 
 
 
 
 | 78 | <form method="GET" action="browser.php"> | 
 
 
 
 
 | 79 | <? | 
 
 
 
 
 | 80 |  | 
 
 
 
 
 | 81 | $file_array = getdirArray($reportDirectory,'rsort'); | 
 
 
 
 
 | 82 | print "<select size=\"1\" name=\"day\">"; | 
 
 
 
 
 | 83 | foreach($file_array as $file_name) { | 
 
 
 
 
 | 84 | if (is_dir($file_name)) { | 
 
 
 
 
 | 85 | $i++; | 
 
 
 
 
 | 86 | print "<option value=\"$file_name\">$file_name</option>"; | 
 
 
 
 
 | 87 | } | 
 
 
 
 
 | 88 | if ($i >= $maxDaysShown) { | 
 
 
 
 
 | 89 | break; | 
 
 
 
 
 | 90 | } | 
 
 
 
 
 | 91 | } | 
 
 
 
 
 | 92 | print "</select>"; | 
 
 
 
 
 | 93 |  | 
 
 
 
 
 | 94 | ?> | 
 
 
 
 
 | 95 | <input type="submit" name="submit" value="Go"> | 
 
 
 
 
 | 96 | </form> | 
 
 
 
 
 | 97 |  | 
 
 
 
 
 | 98 | <hr weight="1" color="<? echo $lineColor ?>"> | 
 
 
 
 
 | 99 |  | 
 
 
 
 
 | 100 | <? if ($day) { ?> | 
 
 
 
 
 | 101 |  | 
 
 
 
 
 | 102 | <b>Available reports for <? echo $day ?></b> | 
 
 
 
 
 | 103 |  | 
 
 
 
 
 | 104 | <form method="GET" action="browser.php"> | 
 
 
 
 
 | 105 | <select size="1" name="machine_name"> | 
 
 
 
 
 | 106 | <? if ($machine_name) { ?> | 
 
 
 
 
 | 107 | <option selected value="<? echo $machine_name ?>"><? echo $machine_name ?></option> | 
 
 
 
 
 | 108 | <option value="">----------------</option> | 
 
 
 
 
 | 109 | <? } else { ?> | 
 
 
 
 
 | 110 | <option selected value="">[select machine]</option> | 
 
 
 
 
 | 111 | <? } ?> | 
 
 
 
 
 | 112 | <? include("$day/machine_name.inc"); ?> | 
 
 
 
 
 | 113 | </select> | 
 
 
 
 
 | 114 |  | 
 
 
 
 
 | 115 | <select size="1" name="report"> | 
 
 
 
 
 | 116 | <? if ($report) { ?> | 
 
 
 
 
 | 117 | <option selected value="<? echo $report ?>"><? echo $report ?></option> | 
 
 
 
 
 | 118 | <option value="">----------------</option> | 
 
 
 
 
 | 119 | <? } else { ?> | 
 
 
 
 
 | 120 | <option selected value="">[select report]</option> | 
 
 
 
 
 | 121 | <? } ?> | 
 
 
 
 
 | 122 | <? include("$day/report.inc"); ?> | 
 
 
 
 
 | 123 | </select> | 
 
 
 
 
 | 124 |  | 
 
 
 
 
 | 125 | <input type="hidden" name="day" value="<? echo $day ?>"> | 
 
 
 
 
 | 126 | <input type="submit" name="submit" value="Show"> | 
 
 
 
 
 | 127 | </form> | 
 
 
 
 
 | 128 |  | 
 
 
 
 
 | 129 | <hr weight="1" color="<? echo $lineColor ?>"> | 
 
 
 
 
 | 130 |  | 
 
 
 
 
 | 131 | <? } ?> | 
 
 
 
 
 | 132 |  | 
 
 
 
 
 | 133 | </p> | 
 
 
 
 
 | 134 |  | 
 
 
 
 
 | 135 |  | 
 
 
 
 
 | 136 | <? | 
 
 
 
 
 | 137 | if ($submit == "Show" && $machine_name && $report) { | 
 
 
 
 
 | 138 |  | 
 
 
 
 
 | 139 | include("$day/$machine_name/$report/i-maxmin.txt"); | 
 
 
 
 
 | 140 |  | 
 
 
 
 
 | 141 | $url = escapeshellcmd("$day/$machine_name/$report/i-chart.gif"); | 
 
 
 
 
 | 142 | if (isReportEmpty("$day/$machine_name/$report/i-data.txt")) { | 
 
 
 
 
 | 143 | echo "Host <b>$machine_name</b> did not send any information about <b>$report</b> on <b>$day</b>.  Please select another report."; | 
 
 
 
 
 | 144 | } | 
 
 
 
 
 | 145 | else if (file_exists($url)) {  ?> | 
 
 
 
 
 | 146 |  | 
 
 
 
 
 | 147 | <center><b>[<? echo $machine_name; ?>] - <? echo $report; ?></b></center> | 
 
 
 
 
 | 148 |  | 
 
 
 
 
 | 149 | <table border="0" cellpadding="0" cellspacing="0"> | 
 
 
 
 
 | 150 | <tr> | 
 
 
 
 
 | 151 | <td align="right" valign="top"> | 
 
 
 
 
 | 152 | <font size="2"><? printf("%.1f", $max_value);  ?></font> | 
 
 
 
 
 | 153 | </td> | 
 
 
 
 
 | 154 | <td rowspan="2"> | 
 
 
 
 
 | 155 | <img src="<? echo $url; ?>" width="500" height="250"> | 
 
 
 
 
 | 156 | </td> | 
 
 
 
 
 | 157 | </tr> | 
 
 
 
 
 | 158 | <tr> | 
 
 
 
 
 | 159 | <td align="right" valign="bottom"> | 
 
 
 
 
 | 160 | <font size="2"><? echo $min_value; ?></font> | 
 
 
 
 
 | 161 | </td> | 
 
 
 
 
 | 162 | </tr> | 
 
 
 
 
 | 163 | <tr> | 
 
 
 
 
 | 164 | <td> </td> | 
 
 
 
 
 | 165 | <td><img src="<? echo $scaleImage ?>" width="500" height="39"></td> | 
 
 
 
 
 | 166 | </tr> | 
 
 
 
 
 | 167 | </table> | 
 
 
 
 
 | 168 |  | 
 
 
 
 
 | 169 | <hr weigth="1" color="<? echo $lineColor ?>"> | 
 
 
 
 
 | 170 |  | 
 
 
 
 
 | 171 | <b>Extra data</b> | 
 
 
 
 
 | 172 | <p> | 
 
 
 
 
 | 173 | <a href="<? echo "$day/$machine_name/$report/i-data.txt" ?>">Raw plot data</a><br> | 
 
 
 
 
 | 174 | <a href="<? echo "$day/$machine_name/$report/i-chart.gif" ?>">GIF chart</a><br> | 
 
 
 
 
 | 175 | <a href="<? echo "$day/$machine_name/$report/i-maxmin.txt" ?>">PHP y-axis limits include</a> | 
 
 
 
 
 | 176 |  | 
 
 
 
 
 | 177 | <? } | 
 
 
 
 
 | 178 | else { | 
 
 
 
 
 | 179 | echo "<p>The report could not be found.  Somebody must have deleted it!</p>"; | 
 
 
 
 
 | 180 | } | 
 
 
 
 
 | 181 | echo "<hr weight=\"1\" color=\"$lineColor\">"; | 
 
 
 
 
 | 182 | } | 
 
 
 
 
 | 183 |  | 
 
 
 
 
 | 184 | ?> | 
 
 
 
 
 | 185 |  | 
 
 
 
 
 | 186 | <? include("bottom.inc"); ?> |