blob: 8442b480dc651ee8b543f9c80154e323b8206640 [file] [log] [blame]
<?php
require_once($_SERVER['DOCUMENT_ROOT'] ."/eclipse.org-common/system/app.class.php");
require_once("/home/data/httpd/eclipse-php-classes/menu/menu.class.php");
#*****************************************************************************
#
# loadstats.php
#
# Author: M. Ward
# Date: 2006-05-08
#
# Description: show the load stats for the last month on the given server.
#
#
#
#
# HISTORY:
#
#****************************************************************************
//set the default debug level nice and low
define('DEBUG',0);
//define('BASEPATH','/tmp/')
$App = new App();
$App->preventCaching();
$Session = $App->useSession('required');
$Friend = $Session->getFriend();
if (!$Friend->getIsCommitter()){
header("HTTP/1.1 403 Forbidden");
exit;
}
include "../html/header.php";
//do menu stuff
$Menu = new Menu("en");
$Menu->addMenuItem("Main stats page", "dailyloadstats.php", "_self");
include("../modules/menu.php");
//build a calendar
//get the passed values, if they haven't been passed, then use the current values
//start with the month
if( isset($_REQUEST['day']) && $_REQUEST['day'] != '' && is_numeric($_REQUEST['day']) && $_REQUEST['day'] >= 0 && $_REQUEST['day'] <= 31 ){
if( $_REQUEST['day'] < 10 )
$today = "0" . $_REQUEST['day'];
else
$today = $_REQUEST['day'];
}else{ //if whatever the passed failed the above get the current day so that we can open the files.
$today = date ( 'd' );
}
//check to see if someone passed in a request for a specific month
if( isset($_REQUEST['month']) && $_REQUEST['month'] != '' && is_numeric($_REQUEST['month']) && $_REQUEST['month'] >= 0 && $_REQUEST['month'] <= 12 ){
$month = $_REQUEST['month'];
}else{ //if whatever the passed failed the above get the current month so that we can open the files.
$month = date ('n');
}
//check to see if someone passed in a request for a specific year
if( isset($_REQUEST['year']) && $_REQUEST['year'] != '' && is_numeric($_REQUEST['year']) && $_REQUEST['year'] >= 2007 && $_REQUEST['year'] <= 3000 ){
$year = $_REQUEST['year'];
}else{ //if whatever the passed failed the above get the current year so that we can open the files.
$year = date ('Y');
}
//pre set the previous and next month and make sure they wrap around.
$prevyear = $nextyear = $year;
$prevmonth = $month-1;
if ( $prevmonth <= 0 ) {
$prevmonth = 12;
$prevyear -= 1;
}
$nextmonth = $month+1;
if ( $nextmonth > 12){
$nextmonth = 1;
$nextyear += 1;
}
//get the Current month 3 letter short form
$month_name = date( 'M', mktime( 0,0,0,$month,1,$year));
//get the servername
$server= $_REQUEST['server'];
//use showmonth to adjust the image
if( isset($_REQUEST['showmonth']) && is_numeric($_REQUEST['showmonth']) && $_REQUEST['showmonth'] >= 1 ){
$html = "<img src='drawmonthstats.php?server=$server&month=$month&year=$year'></br></br></br>";
} else {
$html = "<img src='drawstats.php?server=$server&year=$year&month=$month&day=$today'></br></br></br>";
}
//now build the calendar(borrowed from a tutorial at zend.net)
$daysOfWeek = array('Su','Mo','Tu','We','Th','Fr','Sa');
$firstday = mktime(0,0,0,$month,1,$year);
$numberofdays = date('t',$firstday);
$dateComponents = getdate($firstday);
$dayOfWeek = $dateComponents['wday'];
//$calendar = "<table align=center><caption> $month_name, $year</caption><tr>\n\r";
$calendar = "<table align=center><td><a href=\"showmonthstats.php?server=$server&year=$prevyear&month=$prevmonth&showmonth=1\">Prev</href></td><td colspan=5 align=center><a href=\"showmonthstats.php?server=$server&month=$month&showmonth=1\">$month_name, $year</a></td><td><a href=\"showmonthstats.php?server=$server&year=$nextyear&month=$nextmonth&showmonth=1\">Next</href></td><tr>\n\r";
foreach($daysOfWeek as $day) {
$calendar .= "<th>$day</th>\n\r";
}
$currentDay = 1;
$calendar .= "</tr><tr>\n\r";
if ($dayOfWeek > 0) {
$calendar .= "<td colspan='$dayOfWeek'>&nbsp;</td>\n\r";
}
while ($currentDay <= $numberofdays) {
if ($dayOfWeek == 7) {
$dayOfWeek = 0;
$calendar .= "</tr><tr>";
}
$day_code = date( 'd', mktime( 0,0,0,$month,$currentDay,$year));
if( is_file($server ."/" .$year . "/" . $month_name . "/loadavgfor." . $day_code) == true) {
$calendar .= "<td><a href=\"showmonthstats.php?server=$server&year=$year&month=$month&day=$currentDay\">$currentDay</a></td>\n\r";
} else {
$calendar .= "<td>$currentDay</td>\n\r";
}
$currentDay++;
$dayOfWeek++;
}
if ($dayOfWeek != 7) {
$remainingDays = 7 - $dayOfWeek;
$calendar .= "<td colspan='$remainingDays'>&nbsp;</td>\n\r";
}
$calendar .= "<tr><td colspan=7><a href=\"showyearlystats.php?server=$server\">Yearly Summaries</a></td></tr>\n\r";
$calendar .= "</table>\n\r";
echo $html;
echo $calendar;
$html = "</br></br><img src='drawyearstats.php?server=$server&year=$year'></br></br></br>";
echo $html;
include "../html/footer.php";