| 1 |  | <?php | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 2 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 3 | < | // A test navigation thingy. | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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) ) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 76 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 77 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 78 |  |  | 
 
 
 
 
 
 
 
 
 | 32 | – | include("day.inc"); | 
 
 
 
 
 
 
 
 
 | 33 | – |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 79 |  | ?> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 80 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 81 | < | <html> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 37 | < | <body bgcolor="#ffffff"> | 
 
 
 
 
 
 
 
 
 | 81 | > | <? include($titleHTML); ?> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 82 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 83 | < | <table border="0" align="center" cellpadding="2" cellspacing="5"> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 40 | < | <tr> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 41 | < | <td valign="top"> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 42 | < | <? include("left.inc"); ?> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 43 | < | </td> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 44 | < | <td> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 45 | < | <? include("title.inc"); ?> | 
 
 
 
 
 
 
 
 
 | 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 | < | <font face="arial, sans-serif" size="2"> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 90 | < | <b>View reports for <? echo "$day" ?></b> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 91 | < | </font> | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | < | <p> | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 102 | > | ?> | 
 
 
 
 
 | 103 | > | <input type="submit" name="submit" value="Go"> | 
 
 
 
 
 | 104 | > | </form> | 
 
 
 
 
 
 
 
 
 
 
 | 105 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 106 | < | <form method="GET" action=""> | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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 | < | <option selected value="">[select machine]</option> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 115 | < | <? include("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("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="<? echo $lineColor ?>"> | 
 
 
 
 
 
 
 
 | 138 | + |  | 
 
 
 
 
 
 
 
 | 139 | + | <? } ?> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 140 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 141 |  | </p> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 142 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 143 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 144 |  | <? | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 145 |  | if ($submit == "Show" && $machine_name && $report) { | 
 
 
 
 
 
 
 
 
 
 
 | 146 | < | $url = escapeshellcmd("$day/$machine_name/$report/chart.gif"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 147 | < | if (file_exists($url)) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 148 | < | echo "<p><b>[$machine_name] - $report</b><br><img src=\"$url\" width=\"500\" height=\"250\"><br><img src=\"24hour.gif\" width=\"500\" height=\"39\"></p>"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 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> </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.</p>"; | 
 
 
 
 
 
 
 
 
 | 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 | < | <hr> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 85 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 86 | < | <p> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 87 | < | <font face="arial, sans-serif" size="2"> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 88 | < | <b>Or browse all dates</b> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 89 | < | </font> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 90 | < | </p> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 91 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 92 | < | <? | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 93 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 94 | < | $file_array = getdirArray('/home/cut/pjm2/webpages/reports','rsort'); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 95 | < | print "<ul>"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 96 | < | foreach($file_array as $file_name) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 97 | < | if (is_dir($file_name)) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 98 | < | print "<li><a href=\"$file_name\">$file_name</a>"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 99 | < | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 100 | < | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 101 | < | print "</ul>"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 102 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 103 | < | ?> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 104 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 105 | < | <? include("bottom.inc"); ?> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 106 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 107 | < | </body> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 108 | < | </html> | 
 
 
 
 
 
 
 
 
 | 194 | > | <? include($bottomHTML); ?> |