/[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 83 by dpavlin, Sun Aug 28 10:14:48 2005 UTC revision 85 by dpavlin, Sun Aug 28 10:45:51 2005 UTC
# Line 15  my $pager_pages = 10; Line 15  my $pager_pages = 10;
15  my $dsn = $Conf{SearchDSN};  my $dsn = $Conf{SearchDSN};
16  my $db_user = $Conf{SearchUser} || '';  my $db_user = $Conf{SearchUser} || '';
17    
18    my $dbh;
19    
20    sub get_dbh {
21            $dbh ||= DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );
22            return $dbh;
23    }
24    
25  sub getUnits() {  sub getUnits() {
26          my @ret;          my @ret;
27    
28          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );          my $dbh = get_dbh();
29          my $sth = $dbh->prepare(qq{ SELECT id, share FROM shares ORDER BY share} );          my $sth = $dbh->prepare(qq{ SELECT id, share FROM shares ORDER BY share} );
30          $sth->execute();          $sth->execute();
31          push @ret, { 'id' => '', 'share' => '-'};       # dummy any          push @ret, { 'id' => '', 'share' => '-'};       # dummy any
# Line 26  sub getUnits() { Line 33  sub getUnits() {
33          while ( my $row = $sth->fetchrow_hashref() ) {          while ( my $row = $sth->fetchrow_hashref() ) {
34                  push @ret, $row;                  push @ret, $row;
35          }          }
         $dbh->disconnect();  
36          return @ret;          return @ret;
37  }  }
38    
# Line 88  sub getWhere($) { Line 94  sub getWhere($) {
94  sub getFiles($$) {  sub getFiles($$) {
95          my ($param, $offset) = @_;          my ($param, $offset) = @_;
96    
97          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );          my $dbh = get_dbh();
98    
99          my $sql_cols = qq{          my $sql_cols = qq{
100                  files.id                        AS fid,                  files.id                        AS fid,
# Line 165  sub getFiles($$) { Line 171  sub getFiles($$) {
171          }          }
172            
173          $sth->finish();          $sth->finish();
         $dbh->disconnect();  
174          return ($results, \@ret);          return ($results, \@ret);
175  }  }
176    
177  sub getBackupsNotBurned() {  sub getBackupsNotBurned() {
178    
179          my $dbh = DBI->connect($dsn, $db_user, "", { RaiseError => 1, AutoCommit => 1 } );          my $dbh = get_dbh();
180          my $sql = q{          my $sql = q{
181          SELECT          SELECT
182                  backups.hostID          AS hostid,                  backups.hostID          AS hostid,
# Line 385  sub displayGrid($$) { Line 390  sub displayGrid($$) {
390          my $max_page = int( $results / $on_page );          my $max_page = int( $results / $on_page );
391          my $page = 0;          my $page = 0;
392    
393          my $link_fmt = '<a href = "#" onclick="document.forma.offset.value=%d;document.forma.submit();">%s</a>';          sub page_link($$$) {
394                    my ($param,$page,$display) = @_;
395    
396                    $param->{'offset'} = $page;
397    
398                    my $html = '<a href = "' . $MyURL;
399                    my $del = '?';
400                    foreach my $k (keys %{ $param }) {
401                            if ($param->{$k}) {
402                                    $html .= $del . $k . '=' . ${EscURI( $param->{$k} )};
403                                    $del = '&';
404                            }
405                    }
406                    $html .= '">' . $display . '</a>';
407            }
408    
409          $retHTML .= '<div style="text-align: center;">';          $retHTML .= '<div style="text-align: center;">';
410    
411          if ($offset > 0) {          if ($offset > 0) {
412                  $retHTML .= sprintf($link_fmt, $offset - 1, '&lt;&lt;') . ' ';                  $retHTML .= page_link($param, $offset - 1, '&lt;&lt;') . ' ';
413          }          }
414    
415          while ($page <= $max_page) {          while ($page <= $max_page) {
416                  if ($page == $offset) {                  if ($page == $offset) {
417                          $retHTML .= $del . '<b>' . ($page + 1) . '</b>';                          $retHTML .= $del . '<b>' . ($page + 1) . '</b>';
418                  } else {                  } else {
419                          $retHTML .= $del . sprintf($link_fmt, $page, $page + 1);                          $retHTML .= $del . page_link($param, $page, $page + 1);
420                  }                  }
421    
422                  if ($page < $offset - $pager_pages && $page != 0) {                  if ($page < $offset - $pager_pages && $page != 0) {
# Line 415  sub displayGrid($$) { Line 434  sub displayGrid($$) {
434          }          }
435    
436          if ($offset < $max_page) {          if ($offset < $max_page) {
437                  $retHTML .= ' ' . sprintf($link_fmt, $offset + 1, '&gt;&gt;');                  $retHTML .= ' ' . page_link($param, $offset + 1, '&gt;&gt;');
438          }          }
439    
440          $retHTML .= "</div>";          $retHTML .= "</div>";

Legend:
Removed from v.83  
changed lines
  Added in v.85

  ViewVC Help
Powered by ViewVC 1.1.26