-$smarty->assign('pools',$dbSql->GetVolumeList() );
-
-// Last job status (default is last 24 hours)
-$smarty->assign( 'lastjobs', $dbSql->GetLastJobs() );
-
-// last_run_report.tpl
-if ( $mode == "Lite" && $_GET['Full_popup'] == "yes" ) {
- $tmp = array();
- switch( $dbSql->driver )
- {
- case 'mysql':
- $query = "SELECT JobId, Name, EndTime, JobStatus ";
- $query .= "FROM Job ";
- $query .= "WHERE EndTime <= NOW() and UNIX_TIMESTAMP(EndTime) > UNIX_TIMESTAMP(NOW())-86400 and JobStatus!='T'";
- break;
- case 'pgsql':
- $query = "SELECT JobId, Name, EndTime, JobStatus ";
- $query .= "FROM Job ";
- $query .= "WHERE EndTime <= NOW() and EndTime >NOW() - 86400 * interval '1 second' and JobStatus!= 'T'";
- break;
- }
-
- $status = $dbSql->db_link->query( $query );
-
- if (PEAR::isError( $status ) )
- die( "Unable to get last job status from catalog<br />" . $status->getMessage() );
-
- /*
- if ( $dbSql->driver == "mysql" )
- $status = $dbSql->db_link->query("select JobId,Name,EndTime,JobStatus from Job where EndTime <= NOW() and UNIX_TIMESTAMP(EndTime) >UNIX_TIMESTAMP(NOW())-86400 and JobStatus!='T'" )
- or die ("Error: query at row 95");
- if ( $dbSql->driver == "pgsql" )
- $status = $dbSql->db_link->query("select JobId,Name,EndTime,JobStatus from Job where EndTime <= NOW() and EndTime >NOW() - 86400 * interval '1 second' and JobStatus!= 'T'")
- or die ( "Error: query at row 98" );
- */
- $smarty->assign('status', $status->numRows() );
-
- if ( $status->numRows() ) {
- echo "status nomrow -> " . $status->numRows() . "<br />";
- while ( $res = $status->fetchRow() ) {
- array_push($tmp, $res);
- }
-
- $smarty->assign('errors_array',$tmp);
- }else {
- //echo "status pas marche ...<br />";
- }
- $status->free();
-
- // Total Elapsed Time. Only for single Job.
- if ( $dbSql->driver == "mysql" )
- $ret = $dbSql->db_link->query("select UNIX_TIMESTAMP(EndTime)-UNIX_TIMESTAMP(StartTime) as elapsed from Job where EndTime <= NOW() and UNIX_TIMESTAMP(EndTime) > UNIX_TIMESTAMP(NOW())-84600")
- or die ("Error at row 110");
- if ( $dbSql->driver == "pgsql" )
- $ret = $dbSql->db_link->query("select EndTime - StartTime as elapsed from Job where EndTime <= NOW() and EndTime > NOW() - 84600 * interval '1 second'")
- or die ("Error at row 113");
- while ( $res = $ret->fetchRow() ) {
- if ( $TotalElapsed < 1000000000 ) // Temporal "workaround" ;) Fix later
- $TotalElapsed += $res[0];
- }
- if ($TotalElapsed > 86400) // More than 1 day!
- $TotalElapsed = gmstrftime("%d days %H:%M:%S", $TotalElapsed);
- else
- $TotalElapsed = gmstrftime("%H:%M:%S", $TotalElapsed);
- $smarty->assign('TotalElapsed',$TotalElapsed);
- $ret->free();
+$dbSql->tpl->assign('pools', $dbSql->GetVolumeList() );
+
+// Last 24 hours completed jobs number
+$dbSql->tpl->assign( 'completed_jobs', $dbSql->CountJobs( LAST_DAY, 'completed' ) );
+
+// Last 24 hours failed jobs number
+$dbSql->tpl->assign( 'failed_jobs', $dbSql->CountJobs( LAST_DAY, 'failed' ) );
+
+// Last 24 hours waiting jobs number
+$dbSql->tpl->assign( 'waiting_jobs', $dbSql->CountJobs( LAST_DAY, 'waiting' ) );
+
+// Last 24 hours elapsed time (last_run_report.tpl)
+//$smarty->assign( 'elapsed_jobs', $dbSql->Get_ElapsedTime_Job() );
+
+// Last 24 hours Job Levels
+$dbSql->tpl->assign( 'incr_jobs', $dbSql->CountJobsbyLevel( LAST_DAY, 'I') );
+$dbSql->tpl->assign( 'diff_jobs', $dbSql->CountJobsbyLevel( LAST_DAY, 'D') );
+$dbSql->tpl->assign( 'full_jobs', $dbSql->CountJobsbyLevel( LAST_DAY, 'F') );
+
+// Last 24 hours Job status graph
+$data = array();
+$status = array( 'completed', 'terminated_errors', 'failed', 'waiting', 'created', 'running', 'error' );
+
+foreach( $status as $job_status ) {
+ array_push( $data, $dbSql->GetJobsStatistics( $job_status ) );