my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );
BackupPC::CGI::Lib::NewRequest();
- $cont = Dumper(%In);
+# $cont = Dumper(%In);
if (!defined($In{submitBurner})) {
$title = eval(q{ ${h1($Lang->{Burn_media})}});
$cont = Dumper(%In);
EOF
- $cont .= "Backups that have files not archived:<br>";
+ $cont .= "Backups that have not been archived:<br>";
$cont .= BackupPC::SearchLib::displayBackupsGrid();
} else {
- my $mediumName = "DVD";
+ my @selectedBackups;
- $title = eval(q{ ${h1($Lang->{Burn_media})}});
- $subtitle = eval(q{ ${h2($Lang->{Burn_media_assign})}});
- $cont = <<EOF;
+ foreach my $key(keys(%In))
+ {
+ if ($key =~ m/fcb([0-9]+)_([0-9]+)/gi)
+ {
+ my $hostID = $1;
+ my $backupnum = $2;
+ push(@selectedBackups, ($hostID, $backupnum));
+ }
+ }
- $title
- $subtitle
+ # kreiraj arhivu
+ my $kveri = q{
+ INSERT INTO archive
+ (id, dvd_nr, note, username, date)
+ VALUES}
+ .
+ "(nextVal('archive_id_seq'), nextVal('dvd_nr'), '".%In->{'note'}."', 'dummy', NOW());";
-EOF
-
- # insert DVD first,
- my $sql = q{ SELECT MAX(num)+1 AS maxNum FROM dvds; };
- my $sth = $dbh->prepare($sql);
- $sth->execute();
+ $dbh->do($kveri);
- my ($mediumNum) = $sth->fetchrow_array();
- $mediumNum ||= '0';
+ for (my $i = 0; $i <= @selectedBackups /2; $i++)
+ {
+ my $host = $selectedBackups[$i*2];
+ my $backup = $selectedBackups[$i*2+1];
+ last if ($host == undef && $backup == undef);
- $mediumName = "DVD".$mediumNum;
- $sth = $dbh->prepare (q{
- INSERT INTO dvds (num, name)
- VALUES
- (?,?)
- });
+ # insertaj u archive_backup
+
- $sth->execute($mediumNum, $mediumName);
+ my $kveri = q{
+ INSERT INTO archive_backup
+ SELECT
+ (SELECT last_value FROM archive_id_seq),}.
+ $backup.',\'ok\';';
- my $dvdid = $dbh->last_insert_id(undef,undef,'dvds',undef);
-
- my $updateSQL = q{
- UPDATE files
- SET dvdid=?
- WHERE files.shareID IN (
- SELECT ID FROM shares WHERE hostID=?
- ) AND
- files.backupNum=?
- };
-
- my $update_sth = $dbh->prepare($updateSQL);
- my $orQuery = "";
-
- # then, assign dvdid to files
- foreach my $key (keys(%In)) {
- if ($key =~ /fcb/) {
- my ($hID, $bNo) = split(/_/, $In{$key});
- $update_sth->execute($dvdid, $hID, $bNo);
- }
+ $dbh->do($kveri);
}
- $cont .= "Backups assigned to media ".$mediumName;
+
+
+ # insertaj u workflows
+ my $kveri = q{
+ INSERT INTO workflows
+ SELECT
+ (SELECT step_id FROM workflow_step WHERE code='start' LIMIT 1),
+ NOW(),
+ NULL,
+ 'dummy',
+ (SELECT last_value FROM archive_id_seq),
+ true
+ };
}
Header($Lang->{Burn_media}, "", 1, "", $cont);