| <?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 = $this->App->useSession('required'); |
| $Friend = $this->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'> </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'> </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"; |
| |
| ?> |