/[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 137 by iklaric, Thu Sep 29 08:46:13 2005 UTC revision 258 by dpavlin, Mon Dec 12 20:59:57 2005 UTC
# Line 31  sub action() { Line 31  sub action() {
31  EOF  EOF
32                                
33                  $cont .= "Backups that have not been archived:<br>";                  $cont .= "Backups that have not been archived:<br>";
34                  $cont .= BackupPC::SearchLib::displayBackupsGrid();                  $cont .= BackupPC::SearchLib::displayBackupsGrid( \%In );
35                            
36          } else {          } else {
37    
38                  my @selectedBackups;                  my @selected_backup_ids;
39    
40                  foreach my $key(keys(%In))                  my $total_size = 0;
41                  {                  my $selected = 0;
42                          if ($key =~ m/fcb([0-9]+)_([0-9]+)/gi)  
43                          {                  foreach my $key(keys(%In)) {
44                                  my $hostID = $1;                          if ($key =~ m/^fcb([0-9]+)_([0-9]+)_([0-9]+)$/gi) {
45                                  my $backupnum = $2;                                  my ($host_id, $backup_num, $backup_id) = ($1,$2,$3);
46                                  push(@selectedBackups, ($hostID, $backupnum));                                  push @selected_backup_ids, $backup_id;
47                                    $total_size += BackupPC::SearchLib::getGzipSize($host_id, $backup_num);
48                                    $selected++;
49                          }                          }
50                  }                  }
51    
52                    # and now a little magic to check multi-volume increments
53                    my $parts = 1;
54                    if ($#selected_backup_ids == 0) {
55                            ($parts) = $dbh->selectrow_array("select parts from backups where id = ?", undef, $selected_backup_ids[0]);
56                    }
57    
58                  # kreiraj arhivu                  if ($total_size > ($Conf{MaxArchiveSize} * $parts)) {
59                  my $kveri = q{                          $cont .= eval( q{ ${h2(Error)}});
60                                                  INSERT INTO archive                          $cont .= "Selected backups size $total_size Kb exceed max archive size $Conf{MaxArchiveSize} Kb.";
61                                                  (id, dvd_nr, note, username, date)                  } elsif ($total_size == 0) {
62                                                  VALUES}                          $cont .= eval( q{ ${h2(Error)}});
63                                                  .                          $cont .= "No backups selected.";
64                                                  "(nextVal('archive_id_seq'), nextVal('dvd_nr'), '".%In->{'note'}."', 'dummy', NOW());";                  } else {
65    
66                            # create new archive
67                  $dbh->do($kveri);                                                                  my $sth = $dbh->prepare(q{
68                                                                            INSERT INTO archive (
69                  for (my $i = 0; $i <= @selectedBackups /2; $i++)                                                                  id,
70                  {                                                                  dvd_nr,
71                          my $host = $selectedBackups[$i*2];                                                                  note,
72                          my $backup = $selectedBackups[$i*2+1];                                                                  username,
73                          last if ($host == undef && $backup == undef);                                                                  date,
74                                                                    total_size
75                          # insertaj u archive_backup                                                          ) VALUES (
76                                                                                            nextVal('archive_id_seq'),
77                                                                    nextVal('dvd_nr'),
78                          my $kveri = q{                                                                  ?,
79                                                          INSERT INTO archive_backup                                                                  ?,
80                                                          SELECT                                                                  NOW(),
81                                                                  (SELECT last_value FROM archive_id_seq),}.                                                                  ?
82                                                                  $backup.',\'ok\';';                                                          )
83                                                    });
84    
85                            $sth->execute($In{'note'}, $User, $total_size);
86    
87                            foreach my $backup_id (@selected_backup_ids) {
88    
89                                    # link backups with archive
90                                    my $sth = $dbh->prepare(q{
91                                            INSERT INTO archive_backup (
92                                                    archive_id, backup_id
93                                            ) VALUES (
94                                                    (SELECT last_value FROM archive_id_seq), ?
95                                            )
96                                    });
97    
98                          $dbh->do($kveri);                                  $sth->execute($backup_id);
                 }  
99    
100                  my $kveri = q{                                  $dbh->commit();
101                                                  INSERT INTO workflow_step(step_id, code, next_step, stop)  
102                                                  VALUES                          }
103                                                  (  
104                                                          nextVal('workflow_step_id_seq'),                          my ($dvd_nr) = $dbh->selectrow_array(qq{
105                                                          'start',                                  select last_value from dvd_nr
106                                                          NULL,                          });
107                                                          false  
108                                                  );                                                                        $dvd_nr ||= 'error';
109                                           };  
110                  $dbh->do($kveri);                          $dbh->commit();
111    
112                            $cont .= q{
113                  # insertaj u workflows                                  Archived following backups:
114                  my $kveri = q{                          } . join(", ", @selected_backup_ids) . q{
115                                                  INSERT INTO workflows( id, step_id, start, stop, username, archive_id   , running)                                  <br/>with total size of
116                                                  SELECT                          <b>} . sprintf("%1.2f Mb", $total_size / 1024 / 1024) . q{</b>
117                                                          nextVal('workflows_id_seq'),                                  to media <b>} . $dvd_nr . q{</b>
118                                                          (SELECT currVal('workflow_step_id_seq')),                                  with following message:
119                                                          NOW(),                                  <div style="background-color: #e0e0e0; display: inline; padding: 2px;">
120                                                          NULL,                          } . $In{'note'} . q{
121                                                          'dummy',                                  </div>
122                                                          (SELECT last_value FROM archive_id_seq),                          };
123                                                          true;                  }
                                         };  
                 $dbh->do($kveri);  
           
                 $dbh->commit();  
124          }          }
125          
126          Header($Lang->{Burn_media}, "", 1, "", $cont);          Header($Lang->{Burn_media}, "", 1, "", $cont);
127    
128          Trailer();          Trailer();
129          $dbh->disconnect();          $dbh->disconnect();
130  }  }

Legend:
Removed from v.137  
changed lines
  Added in v.258

  ViewVC Help
Powered by ViewVC 1.1.26