]> git.sur5r.net Git - bacula/bacula/blob - gui/bacula-web/report.php
bacula-web: new icons file in style/images folder
[bacula/bacula] / gui / bacula-web / report.php
1 <?php
2 session_start();
3 include_once( 'config.inc.php' );
4
5 $dbSql = new Bweb();
6
7 if ( $_GET['default'] == 1) {                                                                                                   // Default params, 1 month
8         $dbSql->StartDate = strftime("%Y-%m-%d %H:%M:%S",time()-2678400);
9         $dbSql->EndDate = strftime("%Y-%m-%d %H:%M:%S",time());
10 }
11 else                                                                                                                                            // With params
12         $dbSql->PrepareDate($_GET['StartDateMonth'],$_GET['StartDateDay'],$_GET['StartDateYear'],$_GET['EndDateMonth'],$_GET['EndDateDay'],$_GET['EndDateYear']);
13         
14 $bytes = $dbSql->CalculateBytesPeriod($_GET['server'],$dbSql->StartDate,$dbSql->EndDate);
15 $files = $dbSql->CalculateFilesPeriod($_GET['server'],$dbSql->StartDate,$dbSql->EndDate);
16 $smarty->assign('startperiod',$dbSql->StartDate);
17 $smarty->assign('endperiod',$dbSql->EndDate); 
18 $smarty->assign('bytesperiod',$dbSql->human_file_size( $bytes ) );
19 $smarty->assign('filesperiod',$files);
20
21 // Array with jobs data
22 $a_jobs = array();
23 if ($dbSql->driver == "mysql")
24         $res_jobs = $dbSql->db_link->query("select *,SEC_TO_TIME( UNIX_TIMESTAMP(Job.EndTime)-UNIX_TIMESTAMP(Job.StartTime) ) as elapsed from Job where EndTime < '$dbSql->EndDate' and EndTime > '$dbSql->StartDate' and Name='$_GET[server]' order by EndTime")
25                 or die("Error query row 50");
26 else if ($dbSql->driver == "pgsql")
27         $res_jobs = $dbSql->db_link->query("select jobid as \"JobId\",job as \"Job\",name as \"Name\",type as \"Type\",level as \"Level\",clientid as \"ClientId\",jobstatus as \"JobStatus\",schedtime as \"SchedTime\",starttime as \"StartTime\",endtime as \"EndTime\",jobtdate as \"JobtDate\",volsessionid as \"VolSessionId\",volsessiontime as \"VolSessionTime\",jobfiles as \"JobFiles\",jobbytes as \"JobBytes\",joberrors as \"JobErrors\",jobmissingfiles as \"JobMissingFiles\",poolid as \"PoolId\",filesetid as \"FilesetId\",purgedfiles as \"PurgedFiles\",hasbase,Job.EndTime::timestamp-Job.StartTime::timestamp as elapsed from Job where EndTime < '$dbSql->EndDate' and EndTime > '$dbSql->StartDate' and Name='$_GET[server]' order by EndTime")
28                 or die("Error query row 56");
29
30 while ( $tmp = $res_jobs->fetchRow(DB_FETCHMODE_ASSOC) ) {
31         $tdate = explode (":",$tmp['elapsed']);         // Temporal "workaround" ;) Fix later
32         if ( $tdate[0] > 300000 )
33                 $tmp['elapsed'] = "00:00:00";
34                 $tmp['JobBytes'] = $dbSql->human_file_size( $tmp['JobBytes'] );
35         array_push($a_jobs,$tmp);
36 }
37 $smarty->assign('jobs',$a_jobs);
38
39 // report_select.tpl
40 $res = $dbSql->db_link->query("select Name from Job group by Name");
41 $a_jobs = array();
42 while ( $tmp = $res->fetchRow() )
43         array_push($a_jobs, $tmp[0]);
44 $smarty->assign('total_name_jobs',$a_jobs);
45 $res->free();
46 $smarty->assign('time2',( (time())-2678400) );                                  // Current time - 1 month. <select> date
47
48
49
50 $dbSql->tpl->display('report.tpl');
51 ?>