-//$smarty->compile_check = true;
-//$smarty->debugging = true;
-$smarty->template_dir = "./templates";
-$smarty->compile_dir = "./templates_c";
-$smarty->config_dir = "./configs";
-$smarty->config_load("bacula.conf"); // Load config file
-$mode = $smarty->get_config_vars("mode"); // Lite o Extend?
-
-require("lang.php");
-
-
-// generaldata.tpl & last_run_report.tpl (last24bytes)
-$client = $dbSql->link->query("select count(*) from Client")
- or die ("Error query: 1");
-$totalfiles = $dbSql->link->query("select count(FilenameId) from Filename")
- or die ("Error query: 2");
-$last24bytes = $dbSql->link->query("select sum(JobBytes),count(*) from Job where Endtime <= NOW() and UNIX_TIMESTAMP(EndTime) > UNIX_TIMESTAMP(NOW())-86400")
- or die ("Error query: 3");
-$bytes_stored =& $dbSql->link->getOne("select SUM(VolBytes) from Media")
- or die ("Error query: 4");
-
-$smarty->assign('database_size', $dbSql->GetDbSize());
-$smarty->assign('bytes_stored',$bytes_stored);
-
-$tmp = $client->fetchRow();
-$smarty->assign('clientes_totales',$tmp[0]);
-
-$tmp = $last24bytes->fetchRow();
-if ( empty($tmp[0]) ) { // No data for last 24, search last 48
- $last24bytes = $dbSql->link->query("select sum(JobBytes) from Job where Endtime <= NOW() and UNIX_TIMESTAMP(EndTime) > UNIX_TIMESTAMP(NOW())-172800" );
- $smarty->assign('when',"yesterday");
+$mode = "";
+
+/*
+// Getting mode from config file
+$mode = $dbSql->get_config_param("mode");
+if( $mode == false )
+ $mode = "Lite";
+
+$smarty->assign( "mode", $mode );
+*/
+
+// Assign to template catalogs number
+$dbSql->tpl->assign( "dbs", $dbSql->Get_Nb_Catalogs() );
+
+//Assign dbs
+/*
+if ( count($dbSql->dbs) >1 ) {
+ $smarty->assign("dbs", $dbSql->dbs);
+ $smarty->assign("dbs_now", $_SESSION['DATABASE']);
+}
+*/
+
+// Stored files number
+$totalfiles = $dbSql->GetStoredFiles( ALL );
+$dbSql->tpl->assign('stored_files',$totalfiles);
+
+// Database size
+$dbSql->tpl->assign('database_size', $dbSql->GetDbSize());
+
+// Overall stored bytes
+$result = $dbSql->GetStoredBytes( ALL );
+$dbSql->tpl->assign('stored_bytes', $dbSql->human_file_size($result['stored_bytes']) );
+
+// Total stored bytes since last 24 hours
+$result = $dbSql->GetStoredBytes( LAST_DAY );
+$dbSql->tpl->assign('bytes_last', $dbSql->human_file_size($result['stored_bytes']) );
+
+// Total stored files since last 24 hours
+$files_last = $dbSql->GetStoredFiles( LAST_DAY );
+$dbSql->tpl->assign('files_last', $files_last );
+
+
+// Number of clients
+$nb_clients = $dbSql->Get_Nb_Clients();
+$dbSql->tpl->assign('clientes_totales',$nb_clients["nb_client"] );
+
+// Backup Job list for report.tpl and last_run_report.tpl
+$dbSql->tpl->assign( 'jobs_list', $dbSql->Get_BackupJob_Names() );
+
+// Get volumes list (volumes.tpl)
+$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 ) );