/[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 121 by iklaric, Thu Sep 15 13:54:29 2005 UTC revision 165 by dpavlin, Mon Oct 10 13:57:29 2005 UTC
# Line 15  sub action() { Line 15  sub action() {
15          my $subtitle;          my $subtitle;
16          my @files;          my @files;
17    
18          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 0 } );
19    
20          BackupPC::CGI::Lib::NewRequest();          BackupPC::CGI::Lib::NewRequest();
21  #       $cont = Dumper(%In);  #       $cont = Dumper(%In);
# Line 35  EOF Line 35  EOF
35                            
36          } else {          } else {
37    
38                  my @selectedBackups;                  my @selected_backup_ids;
39    
40                  foreach my $key(keys(%In))                  my $total_size = 0;
41                  {                  
42                          if ($key =~ m/fcb([0-9]+)_([0-9]+)/gi)                  foreach my $key(keys(%In)) {
43                          {                          if ($key =~ m/^fcb([0-9]+)_([0-9]+)_([0-9]+)$/gi) {
44                                  my $hostID = $1;                                  my ($host_id, $backup_num, $backup_id) = ($1,$2,$3);
45                                  my $backupnum = $2;                                  push @selected_backup_ids, $backup_id;
46                                  push(@selectedBackups, ($hostID, $backupnum));                                  $total_size += BackupPC::SearchLib::getGzipSize($host_id, $backup_num);
47                          }                          }
48                  }                  }
49    
50                  # kreiraj arhivu                  if (($total_size / 1024) > $Conf{MaxArchiveSize}) {
51                  my $kveri = q{                          $cont .= eval( q{ ${h2(Error)}});
52                                                  INSERT INTO archive                          $cont .= "Selected backups size $total_size exceed max archive size $Conf{MaxArchiveSize}.";
53                                                  (id, dvd_nr, note, username, date)                  } else {
54                                                  VALUES}  
55                                                  .                          # create new archive
56                                                  "(nextVal('archive_id_seq'), nextVal('dvd_nr'), '".%In->{'note'}."', 'dummy', NOW());";                          my $sth = $dbh->prepare(q{
57                                                            INSERT INTO archive (
58                                                                    id,
59                  $dbh->do($kveri);                                                                                                          dvd_nr,
60                                                                    note,
61                  for (my $i = 0; $i <= @selectedBackups /2; $i++)                                                                  username,
62                  {                                                                  date,
63                          my $host = $selectedBackups[$i*2];                                                                  total_size
64                          my $backup = $selectedBackups[$i*2+1];                                                          ) VALUES (
65                          last if ($host == undef && $backup == undef);                                                                  nextVal('archive_id_seq'),
66                                                                    nextVal('dvd_nr'),
67                          # insertaj u archive_backup                                                                  ?,
68                                                                                            ?,
69                                                                    NOW(),
70                          my $kveri = q{                                                                  ?
71                                                          INSERT INTO archive_backup                                                          )
72                                                          SELECT                                                  });
73                                                                  (SELECT last_value FROM archive_id_seq),}.  
74                                                                  $backup.',\'ok\';';                          $sth->execute($In{'note'}, $User, $total_size);
75    
76                            foreach my $backup_id (@selected_backup_ids) {
77    
78                                    # link backups with archive
79                                    my $sth = $dbh->prepare(q{
80                                            INSERT INTO archive_backup (
81                                                    archive_id, backup_id
82                                            ) VALUES (
83                                                    (SELECT last_value FROM archive_id_seq), ?
84                                            )
85                                    });
86    
87                          $dbh->do($kveri);                                  $sth->execute($backup_id);
88                  }  
89                                    $dbh->commit();
90    
91                            }
92    
93                  # insertaj u workflows                          my ($dvd_nr) = $dbh->selectrow_array(qq{
94                  my $kveri = q{                                  select last_value from dvd_nr
95                                                  INSERT INTO workflows                          });
96                                                  SELECT  
97                                                          (SELECT step_id FROM workflow_step WHERE code='start' LIMIT 1),                          $dvd_nr ||= 'error';
98                                                          NOW(),  
99                                                          NULL,                          $dbh->commit();
100                                                          'dummy',  
101                                                          (SELECT last_value FROM archive_id_seq),                          $cont .= q{
102                                                          true                                  Archived following backups:
103                                          };                          } . join(", ", @selected_backup_ids) . q{
104                                    <br/>with total size of
105                            <b>} . sprintf("%1.2f Mb", $total_size / 1024 / 1024) . q{</b>
106                                    to media <b>} . $dvd_nr . q{</b>
107                                    with following message:
108                                    <div style="background-color: #e0e0e0; display: inline; padding: 2px;">
109                            } . $In{'note'} . q{
110                                    </div>
111                            };
112                    }
113          }          }
114          
115          Header($Lang->{Burn_media}, "", 1, "", $cont);          Header($Lang->{Burn_media}, "", 1, "", $cont);
116    
117          Trailer();          Trailer();
118          $dbh->disconnect();          $dbh->disconnect();
119  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.26