use DBI;
use POSIX qw/strftime/;
-our $bpath="/usr/local/bacula";
-our $bconsole="$bpath/sbin/bconsole -c $bpath/etc/bconsole.conf";
-
our $cur_id=0;
=head1 VARIABLE
=cut
our %sql_func = (
- Pg => {
- UNIX_TIMESTAMP => '',
- FROM_UNIXTIME => '',
- TO_SEC => " interval '1 second' * ",
- SEC_TO_INT => "SEC_TO_INT",
- SEC_TO_TIME => '',
- MATCH => " ~ ",
- },
- mysql => {
- UNIX_TIMESTAMP => 'UNIX_TIMESTAMP',
- FROM_UNIXTIME => 'FROM_UNIXTIME',
- SEC_TO_INT => '',
- TO_SEC => '',
- SEC_TO_TIME => 'SEC_TO_TIME',
- MATCH => " REGEXP ",
- },
- );
+ Pg => {
+ UNIX_TIMESTAMP => '',
+ FROM_UNIXTIME => '',
+ TO_SEC => " interval '1 second' * ",
+ SEC_TO_INT => "SEC_TO_INT",
+ SEC_TO_TIME => '',
+ MATCH => " ~ ",
+ STARTTIME_DAY => " date_trunc('day', Job.StartTime) ",
+ STARTTIME_HOUR => " date_trunc('hour', Job.StartTime) ",
+ STARTTIME_MONTH => " date_trunc('month', Job.StartTime) ",
+ STARTTIME_PHOUR=> " date_part('hour', Job.StartTime) ",
+ STARTTIME_PDAY => " date_part('day', Job.StartTime) ",
+ STARTTIME_PMONTH => " date_part('month', Job.StartTime) ",
+ },
+ mysql => {
+ UNIX_TIMESTAMP => 'UNIX_TIMESTAMP',
+ FROM_UNIXTIME => 'FROM_UNIXTIME',
+ SEC_TO_INT => '',
+ TO_SEC => '',
+ SEC_TO_TIME => 'SEC_TO_TIME',
+ MATCH => " REGEXP ",
+ STARTTIME_DAY => " DATE_FORMAT(StartTime, '%Y-%m-%d') ",
+ STARTTIME_HOUR => " DATE_FORMAT(StartTime, '%Y-%m-%d %H') ",
+ STARTTIME_MONTH => " DATE_FORMAT(StartTime, '%Y-%m') ",
+ STARTTIME_PHOUR=> " DATE_FORMAT(StartTime, '%H') ",
+ STARTTIME_PDAY => " DATE_FORMAT(StartTime, '%d') ",
+ STARTTIME_PMONTH => " DATE_FORMAT(StartTime, '%m') ",
+ },
+ );
sub dbh_selectall_arrayref
{
$label = "last " . human_sec($arg{age});
}
+ if ($arg{groupby}) {
+ $limit .= " GROUP BY $arg{groupby} ";
+ }
+
if ($arg{order}) {
$limit .= " ORDER BY $arg{order} ";
}
media => 1,
ach => 1,
jobtype=> 1,
+ graph => 1,
+ gtype => 1,
+ type => 1,
);
my %opt_p = ( # option with path
mtxcmd => 1,
{
my ($self) = @_;
- my $fields = $self->get_form(qw/age level status clients filesets
+ my $fields = $self->get_form(qw/age level status clients filesets graph gtype type
db_clients limit db_filesets width height
qclients qfilesets qjobnames db_jobnames/);
-query => 1);
$url =~ s/^.+?\?//; # http://path/to/bweb.pl?arg => arg
- my $type = CGI::param('graph') || '';
- if ($type =~ /^(\w+)$/) {
- $fields->{graph} = $1;
- }
-
- my $gtype = CGI::param('gtype') || '';
- if ($gtype =~ /^(\w+)$/) {
- $fields->{gtype} = $1;
- }
-
# this organisation is to keep user choice between 2 click
# TODO : fileset and client selection doesn't work
my $b = new Bconsole(pref => $self->{info});
if ($arg->{jobid}) {
- my $ret = $b->send_cmd("delete jobid=\"$arg->{jobid}\"");
$self->display({
content => $b->send_cmd("delete jobid=\"$arg->{jobid}\""),
title => "Delete a job ",