/[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 144 by iklaric, Fri Oct 7 10:28:55 2005 UTC revision 147 by iklaric, Fri Oct 7 12:03:56 2005 UTC
# Line 3  package BackupPC::CGI::BurnMedia; Line 3  package BackupPC::CGI::BurnMedia;
3  use strict;  use strict;
4  use BackupPC::CGI::Lib qw(:all);  use BackupPC::CGI::Lib qw(:all);
5  use BackupPC::SearchLib;  use BackupPC::SearchLib;
 use BackupPC::Workflow::Create;  
6  use Data::Dumper;  use Data::Dumper;
7  use vars qw($Cgi %In $MyURL $User %Conf $TopDir $BinDir $bpc);  use vars qw($Cgi %In $MyURL $User %Conf $TopDir $BinDir $bpc);
8    
# Line 36  EOF Line 35  EOF
35                            
36          } else {          } else {
37    
38                  my @selectedBackups;                  my @selected_backup_ids;
39    
40                  my $total_size = 0;                  my $total_size = 0;
41                                    
42                  foreach my $key(keys(%In))                  foreach my $key(keys(%In)) {
43                  {                          if ($key =~ m/^fcb([0-9]+)_([0-9]+)_([0-9]+)$/gi) {
44                          if ($key =~ m/fcb([0-9]+)_([0-9]+)/gi)                                  my ($host_id, $backup_num, $backup_id) = ($1,$2,$3);
45                          {                                  push @selected_backup_ids, $backup_id;
46                                  my $hostID = $1;                                  $total_size += BackupPC::SearchLib::getGzipSize($host_id, $backup_num);
                                 my $backupnum = $2;  
                                 push(@selectedBackups, ($hostID, $backupnum));  
                                 $total_size += getGzipSize($hostID, $backupnum);  
47                          }                          }
48                  }                  }
49    
50                  if ($total_size > $Conf{MaxArchiveSize})                  # create new archive
51                  {                  my $sth = $dbh->prepare(q{
52                                    INSERT INTO archive (
53                                            id,
54                                            dvd_nr,
55                                            note,
56                                            username,
57                                            date
58                                    ) VALUES (
59                                            nextVal('archive_id_seq'),
60                                            nextVal('dvd_nr'),
61                                            ?,
62                                            ?,
63                                            NOW()
64                                    )
65                    });
66    
67                    # FIXME insert user here
68                    $sth->execute($In{'note'}, 'dummy_user');
69    
70                    if ($total_size > $Conf{MaxArchiveSize}) {
71                          $cont .= eval( q{ ${h2(Error)}});                          $cont .= eval( q{ ${h2(Error)}});
72                          $cont .= "Selected backups exceed max archive size.";                                            $cont .= "Selected backups exceed max archive size.";
73                  }                  } else {
                 else  
                 {  
                         # 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());";  
74    
75    
76                          $dbh->do($kveri);                                                                  foreach my $backup_id (@selected_backup_ids) {
77                    
78                          for (my $i = 0; $i <= @selectedBackups /2; $i++)                                  # link backups with archive
79                          {                                  my $sth = $dbh->prepare(q{
80                                  my $host = $selectedBackups[$i*2];                                          INSERT INTO archive_backup (
81                                  my $backup = $selectedBackups[$i*2+1];                                                  archive_id, backup_id, status
82                                  last if ($host == undef && $backup == undef);                                          ) VALUES (
83                                                            (SELECT last_value FROM archive_id_seq), ?, ?
84                                  # insertaj u archive_backup                                          )
85                                                                    });
86            
87                                  my $kveri = q{                                  $sth->execute($backup_id, 'ok');
88                                                                  INSERT INTO archive_backup  
89                                                                  SELECT                                  $dbh->commit();
90                                                                          (SELECT last_value FROM archive_id_seq),}.  
91                                                                          $backup.',\'ok\';';                                  $cont .= qq{
92                                                    Archived following backups:
93                                  $dbh->do($kveri);                                  } . join(",", @selected_backup_ids) . qq{
94                                            <br/>with following message:
95                                            <div style="border: 1px solid #e0e0e0">
96                                    } . $In{'note'} . qq{
97                                            </div>
98                                    };
99                          }                          }
           
                         my $kveri = q{  
                                                         INSERT INTO workflow_step(step_id, code, next_step, stop)  
                                                         VALUES  
                                                         (  
                                                                 nextVal('workflow_step_id_seq'),  
                                                                 'start',  
                                                                 NULL,  
                                                                 false  
                                                         );                                                
                                                  };  
                         $dbh->do($kveri);  
           
           
                         # insertaj u workflows  
                         my $kveri = q{  
                                                         INSERT INTO workflows( id, step_id, start, stop, username, archive_id   , running)  
                                                         SELECT  
                                                                 nextVal('workflows_id_seq'),  
                                                                 (SELECT currVal('workflow_step_id_seq')),  
                                                                 NOW(),  
                                                                 NULL,  
                                                                 'dummy',  
                                                                 (SELECT last_value FROM archive_id_seq),  
                                                                 true;  
                                                 };  
                         $dbh->do($kveri);  
                   
100                          $dbh->commit();                          $dbh->commit();
101                  }                  }
102          }          }
103                          
104          Header($Lang->{Burn_media}, "", 1, "", $cont);          Header($Lang->{Burn_media}, "", 1, "", $cont);
105    
106          Trailer();          Trailer();
107          $dbh->disconnect();          $dbh->disconnect();
108  }  }

Legend:
Removed from v.144  
changed lines
  Added in v.147

  ViewVC Help
Powered by ViewVC 1.1.26