/[BackupPC]/trunk/lib/BackupPC/CGI/BurnMedia.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/BackupPC/CGI/BurnMedia.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 120 by dpavlin, Sat Aug 20 17:19:48 2005 UTC revision 121 by iklaric, Thu Sep 15 13:54:29 2005 UTC
# Line 18  sub action() { Line 18  sub action() {
18          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );
19    
20          BackupPC::CGI::Lib::NewRequest();          BackupPC::CGI::Lib::NewRequest();
21          $cont = Dumper(%In);  #       $cont = Dumper(%In);
22          if (!defined($In{submitBurner})) {          if (!defined($In{submitBurner})) {
23                  $title = eval(q{ ${h1($Lang->{Burn_media})}});                  $title = eval(q{ ${h1($Lang->{Burn_media})}});
24                  $cont = Dumper(%In);                  $cont = Dumper(%In);
# Line 30  sub action() { Line 30  sub action() {
30                    
31  EOF  EOF
32                                
33                  $cont .= "Backups that have files not archived:<br>";                  $cont .= "Backups that have not been archived:<br>";
34                  $cont .= BackupPC::SearchLib::displayBackupsGrid();                  $cont .= BackupPC::SearchLib::displayBackupsGrid();
35                            
36          } else {          } else {
37    
38                  my $mediumName = "DVD";                  my @selectedBackups;
39    
40                  $title = eval(q{ ${h1($Lang->{Burn_media})}});                  foreach my $key(keys(%In))
41                  $subtitle = eval(q{ ${h2($Lang->{Burn_media_assign})}});                  {
42                  $cont = <<EOF;                          if ($key =~ m/fcb([0-9]+)_([0-9]+)/gi)
43                            {
44          $title                                  my $hostID = $1;
45          $subtitle                                  my $backupnum = $2;
46                                    push(@selectedBackups, ($hostID, $backupnum));
47  EOF                          }
48                                }
                 # insert DVD first,  
                 my $sql = q{ SELECT MAX(num)+1 AS maxNum FROM dvds; };  
   
                 my $sth = $dbh->prepare($sql);  
                 $sth->execute();  
   
                 my ($mediumNum) = $sth->fetchrow_array();  
                 $mediumNum ||= '0';  
49    
50                  $mediumName = "DVD".$mediumNum;                  # kreiraj arhivu
51                  $sth = $dbh->prepare (q{                  my $kveri = q{
52                                  INSERT INTO dvds (num, name)                                                  INSERT INTO archive
53                                  VALUES                                                  (id, dvd_nr, note, username, date)
54                                  (?,?)                                                                                    VALUES}
55                  });                                                  .
56                                                    "(nextVal('archive_id_seq'), nextVal('dvd_nr'), '".%In->{'note'}."', 'dummy', NOW());";
57    
58    
59                    $dbh->do($kveri);                                        
60    
61                    for (my $i = 0; $i <= @selectedBackups /2; $i++)
62                    {
63                            my $host = $selectedBackups[$i*2];
64                            my $backup = $selectedBackups[$i*2+1];
65                            last if ($host == undef && $backup == undef);
66    
67                            # insertaj u archive_backup
68                            
69    
70                            my $kveri = q{
71                                                            INSERT INTO archive_backup
72                                                            SELECT
73                                                                    (SELECT last_value FROM archive_id_seq),}.
74                                                                    $backup.',\'ok\';';
75    
76                  $sth->execute($mediumNum, $mediumName);                          $dbh->do($kveri);
77                    }
78    
                 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=?  
                 };  
79    
80                  my $update_sth = $dbh->prepare($updateSQL);                  # insertaj u workflows
81                  my $orQuery = "";                  my $kveri = q{
82                                                                INSERT INTO workflows
83                  # then, assign dvdid to files                                                  SELECT
84                  foreach my $key (keys(%In)) {                                                          (SELECT step_id FROM workflow_step WHERE code='start' LIMIT 1),
85                          if ($key =~ /fcb/) {                                                                              NOW(),
86                                  my ($hID, $bNo) = split(/_/, $In{$key});                                                          NULL,
87                                  $update_sth->execute($dvdid, $hID, $bNo);                                                          'dummy',
88                          }                                                          (SELECT last_value FROM archive_id_seq),
89                  }                                                          true
90                  $cont .= "Backups assigned to media ".$mediumName;                                          };
91          }          }
92                
93          Header($Lang->{Burn_media}, "", 1, "", $cont);          Header($Lang->{Burn_media}, "", 1, "", $cont);

Legend:
Removed from v.120  
changed lines
  Added in v.121

  ViewVC Help
Powered by ViewVC 1.1.26