<?php
	
	require_once($_SERVER['DOCUMENT_ROOT'] ."/eclipse.org-common/system/app.class.php");
	require_once("/home/data/httpd/eclipse-php-classes/people/ldapperson.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 24 hours on the servers.
	#
	# 
	#
	#
	# HISTORY:
	#
	#****************************************************************************

    //set the default debug level nice and low
    define('DEBUG',0);
    define('BASEPATH','/home/data/common/monitor/loadstats/');

	$App = new App();
	$App->runStdWebAppCacheable();
	
	//connect to ldap
	$LDAPPerson = new LDAPPerson();
	$LDAPPerson = $LDAPPerson->redirectIfNotLoggedIn();
	
	include "../html/header.php";
	$Menu = new Menu("en");
    include("../modules/menu.php");	
	//var_dump(gd_info());
	
	//current date info
	$today=date('d');
	$month = date ('n');
	$year = date('Y');
	
    //now the main processing loop.
    //get all of the directory entries
    foreach( glob(BASEPATH . "*") as $server ){
      if ( DEBUG == 1)
        echo "Gathering data for $server \n\r ";
      //check that the name is acutally a dir. TRUE if it is
      if( is_dir( $server ) == TRUE ) {
        echo "<a href=\"showmonthstats.php?server=$server&month=$month&year=$year\"><img src='drawstats.php?server=$server&month=$month&year=$year'></a></br>";
      }
    }
    include "../html/footer.php";
 
?>
