/[BackupPC]/trunk/lib/BackupPC/SearchLib.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/SearchLib.pm

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

revision 88 by dpavlin, Sun Aug 28 14:15:01 2005 UTC revision 109 by dpavlin, Thu Sep 1 18:30:51 2005 UTC
# Line 196  sub getFilesHyperEstraier($) { Line 196  sub getFilesHyperEstraier($) {
196          my $shareid = $param->{'search_share'};          my $shareid = $param->{'search_share'};
197    
198          if (length($q) > 0) {          if (length($q) > 0) {
199                  $q =~ s/(.)/$1 /g;                  # exact match
200                    $cond->add_attr("filepath ISTRINC $q");
201    
202                    $q =~ s/(.)/$1 /g;
203                  # set the search phrase to the search condition object                  # set the search phrase to the search condition object
204                  $cond->set_phrase($q);                  $cond->set_phrase($q);
205          }          }
# Line 239  sub getFilesHyperEstraier($) { Line 241  sub getFilesHyperEstraier($) {
241          return ($hits, \@res);          return ($hits, \@res);
242  }  }
243    
244    sub getGzipName($$$)
245    {
246            my ($host, $share, $backupnum) = @_;
247            my $ret = $Conf{GzipSchema};
248            
249            $share =~ s/\//_/g;
250            $ret =~ s/\\h/$host/ge;
251            $ret =~ s/\\s/$share/ge;
252            $ret =~ s/\\n/$backupnum/ge;
253            
254            return $ret;
255            
256    }
257    
258  sub getBackupsNotBurned() {  sub getBackupsNotBurned() {
259    
260          my $dbh = get_dbh();          my $dbh = get_dbh();
# Line 246  sub getBackupsNotBurned() { Line 262  sub getBackupsNotBurned() {
262          SELECT          SELECT
263                  backups.hostID          AS hostid,                  backups.hostID          AS hostid,
264                  min(hosts.name)         AS host,                  min(hosts.name)         AS host,
265                    min(shares.name)        AS share,
266                  backups.num             AS backupnum,                  backups.num             AS backupnum,
267                  min(backups.type)       AS type,                  min(backups.type)       AS type,
268                  min(backups.date)       AS date,                  min(backups.date)       AS date,
# Line 255  sub getBackupsNotBurned() { Line 272  sub getBackupsNotBurned() {
272                  INNER JOIN hosts        ON hosts.ID = shares.hostID                  INNER JOIN hosts        ON hosts.ID = shares.hostID
273                  INNER JOIN backups      ON backups.num = files.backupnum and backups.hostID = hosts.ID AND backups.shareID = shares.ID                  INNER JOIN backups      ON backups.num = files.backupnum and backups.hostID = hosts.ID AND backups.shareID = shares.ID
274          GROUP BY          GROUP BY
275                  backups.hostID, backups.num                  backups.hostID, backups.num, backups.shareid
276          ORDER BY min(backups.date)          ORDER BY min(backups.date)
277          };          };
278          my $sth = $dbh->prepare( $sql );          my $sth = $dbh->prepare( $sql );
# Line 265  sub getBackupsNotBurned() { Line 282  sub getBackupsNotBurned() {
282          while ( my $row = $sth->fetchrow_hashref() ) {          while ( my $row = $sth->fetchrow_hashref() ) {
283                  $row->{'age'} = sprintf("%0.1f", ( (time() - $row->{'date'}) / 86400 ) );                  $row->{'age'} = sprintf("%0.1f", ( (time() - $row->{'date'}) / 86400 ) );
284                  $row->{'size'} = sprintf("%0.2f", $row->{'size'} / 1024 / 1024);                  $row->{'size'} = sprintf("%0.2f", $row->{'size'} / 1024 / 1024);
285                    my (undef,undef,undef,undef,undef,undef,undef,$fs_size,undef,undef,undef,undef,undef) =
286                            stat( $Conf{InstallDir}.'/'.$Conf{GzipTempDir}.'/'.
287                                    getGzipName($row->{'host'}, $row->{share}, $row->{'backupnum'}));
288                    $row->{'fs_size'} = $fs_size;
289                  push @ret, $row;                  push @ret, $row;
290          }          }
291                
# Line 274  sub getBackupsNotBurned() { Line 295  sub getBackupsNotBurned() {
295  sub displayBackupsGrid()  sub displayBackupsGrid()
296    {    {
297        my $retHTML = "";        my $retHTML = "";
       my $addForm = 1;  
298                
299        if ($addForm) {          $retHTML .= <<EOF3;
   
             $retHTML .= <<EOF3;  
300  <script language="javascript" type="text/javascript">  <script language="javascript" type="text/javascript">
301  <!--  <!--
302    
# Line 299  sub displayBackupsGrid() Line 317  sub displayBackupsGrid()
317  //-->  //-->
318  </script>        </script>      
319  EOF3  EOF3
320                $retHTML .= q{<form name="forma" method="GET" action="}."$MyURL"."?action=burn\"";          $retHTML .= q{
321                $retHTML.= q{<input type="hidden" value="burn" name="action">};                  <form name="forma" method="GET" action="$MyURL?action=burn">
322                $retHTML .= q{<input type="hidden" value="results" name="search_results">};                  <input type="hidden" value="burn" name="action">
323          }                  <input type="hidden" value="results" name="search_results">
324          $retHTML .= qq{                  <table style="fview" border="0" cellspacing="0" cellpadding="2">
                 <table style="fview" border="1" cellspacing="0" cellpadding="3">  
325                  <tr class="tableheader">                  <tr class="tableheader">
326          };                  <td class="tableheader">
327                            <input type="checkbox" name="allFiles" onClick="checkAll('allFiles');">
328          if ($addForm) {                  </td>
329              $retHTML .= "<td class=\"tableheader\"><input type=\"checkbox\" name=\"allFiles\" onClick=\"checkAll('allFiles');\"></td>";                  <td align="center">Share</td>
         }  
         $retHTML .=  qq{  
                 <td align="center">Host</td>  
330                  <td align="center">Backup no</td>                  <td align="center">Backup no</td>
331                  <td align="center">Type</td>                  <td align="center">Type</td>
332                  <td align="center">date</td>                  <td align="center">date</td>
333                  <td align="center">age/days</td>                  <td align="center">age/days</td>
334                  <td align="center">size/MB</td>                  <td align="center">size/MB</td>
335                    <td align="center">gzip size</td>
336                  </tr>                  </tr>
337    
338                    <tr><td colspan=7 style="tableheader">
339                    <input type="submit" value="Burn selected backups on medium" name="submitBurner">
340                    </td></tr>
341          };          };
342    
343          my @backups = getBackupsNotBurned();          my @color = (' bgcolor="#e0e0e0"', '');
         my $backup;  
344    
345          if ($addForm) {          my $i = 0;
346                  $retHTML .= qq{          my $host = '';
                         <tr><td colspan=7 style="tableheader">  
                         <input type="submit" value="Burn selected backups on medium" name="submitBurner">  
                         </td></tr>  
                 };  
         }  
347    
348          foreach $backup(@backups) {          foreach my $backup ( getBackupsNotBurned() ) {
349    
350                    if ($host ne $backup->{'host'}) {
351                            $i++;
352                            $host = $backup->{'host'};
353                    }
354                  my $ftype = "";                  my $ftype = "";
355                            
356                  $retHTML .= "<tr>";                  $retHTML .= "<tr" . $color[$i %2 ] . ">";
357                  if ($addForm) {                  $retHTML .= '<td class="fview"><input type="checkbox" name="fcb' .
                         $retHTML .= '<td class="fview"><input type="checkbox" name="fcb' .  
358                                  $backup->{'hostid'}.'_'.$backup->{'backupnum'} .                                  $backup->{'hostid'}.'_'.$backup->{'backupnum'} .
359                                  '" value="' . $backup->{'hostid'}.'_'.$backup->{'backupnum'} .                                  '" value="' . $backup->{'hostid'}.'_'.$backup->{'backupnum'} .
360                                  '"></td>';                                  '"></td>';
                 }            
361                            
362                  $retHTML .= '<td class="fviewborder">' . $backup->{'host'} . '</td>' .                  $retHTML .=
363                          '<td class="fviewborder">' . $backup->{'backupnum'} . '</td>' .                          '<td align="right">' . $backup->{'host'} . ':' . $backup->{'share'} . '</td>' .
364                          '<td class="fviewborder">' . $backup->{'type'} . '</td>' .                          '<td align="center">' . $backup->{'backupnum'} . '</td>' .
365                          '<td class="fviewborder">' . epoch_to_iso( $backup->{'date'} ) . '</td>' .                          '<td align="center">' . $backup->{'type'} . '</td>' .
366                          '<td class="fviewborder">' . $backup->{'age'} . '</td>' .                          '<td align="center">' . epoch_to_iso( $backup->{'date'} ) . '</td>' .
367                          '<td class="fviewborder">' . $backup->{'size'} . '</td>' .                          '<td align="center">' . $backup->{'age'} . '</td>' .
368                          '</tr>';                          '<td align="right">' . $backup->{'size'} . '</td>' .
369          }                          '<td align="right">' . $backup->{'fs_size'} .'</td>' .
370                            "</tr>\n";
371    
         $retHTML .= "</table>";  
372    
         if ($addForm) {  
                 $retHTML .= "</form>";  
373          }          }
374    
375            $retHTML .= "</table>";
376            $retHTML .= "</form>";
377                
378          return $retHTML;          return $retHTML;
379  }        }      

Legend:
Removed from v.88  
changed lines
  Added in v.109

  ViewVC Help
Powered by ViewVC 1.1.26