--- trunk/lib/BackupPC/SearchLib.pm 2005/06/23 09:47:59 6 +++ trunk/lib/BackupPC/SearchLib.pm 2005/06/23 12:36:22 9 @@ -117,9 +117,10 @@ return $retSQL; } -sub getFiles($) +sub getFiles($$) { - my ($where) = @_; + my ($where, $offset) = @_; + my $dbh = DBI->connect( "dbi:SQLite:dbname=${TopDir}/$Conf{SearchDB}", "", "", { RaiseError => 1, AutoCommit => 1 } ); @@ -143,7 +144,7 @@ INNER JOIN hosts ON hosts.ID = shares.hostID INNER JOIN backups ON backups.hostID = hosts.ID LEFT JOIN dvds ON dvds.ID = files.dvdid - + }; if (defined($where) && $where ne "") @@ -151,11 +152,26 @@ $sql .= " WHERE ". $where; } + $sql .= + q{ + ORDER BY files.id + LIMIT 100 + OFFSET ? * 100 + 1 + }; + + my $st = $dbh->prepare( $sql ); - + if (!defined($offset) && $offset ne "") + { + $st->bind_param(1, $offset); + } + else + { + $st->bind_param(1,0); + } $st->execute; my @ret = (); @@ -307,59 +323,23 @@ } -sub displayGrid($$) +sub displayGrid($$$) { - my ($where, $addForm) = @_; + my ($where, $addForm, $offset) = @_; my $retHTML = ""; if ($addForm) { - $retHTML .= < - - -EOF3 - $retHTML .= q{
}; + $retHTML .= q{}; $retHTML .= q{}; } $retHTML .= ""; $retHTML .= " "; - if ($addForm) - { - $retHTML .= ""; - } $retHTML .= ""; - my @files = getFiles($where); + my @files = getFiles($where, $offset); my $file; - if ($addForm) - { - $retHTML .= ""; - $retHTML .= ""; - $retHTML .= ""; - - } foreach $file(@files) { my $ftype = ""; @@ -373,13 +353,6 @@ $ftype = "file"; } $retHTML .= ""; - if ($addForm) - { - $retHTML .= ""; - } - $retHTML .= ""; $retHTML .= ""; $retHTML .= ""; @@ -390,7 +363,21 @@ $retHTML .= ""; } $retHTML .= "
Host Name Type backup no. size date Media
"; - $retHTML .= ""; - $retHTML .= "
{'id'} - ."\" value=\"".$file->{'id'}."\"> " . $file->{'hname'} ."" . $file->{'fname'} . "" . $ftype . "
"; - if ($addForm) + + + + $retHTML .= ""; + for (my $ii = 1; $ii <= $#files; $ii++) + { + $retHTML .= "$ii"; + if ($ii < $#files) + { + $retHTML .= " | "; + } + } + + + if ($addForm) { $retHTML .= "
"; }