X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FBackupPC%2FSearch.pm;h=a0e19c307e33d49ae8f2cdfe17c0bdfea941f0fe;hb=796b15687f42564a63e80496b2c0daa641e7567d;hp=5e45f35b5a79ca6fb6f8670b19a8cde9a9273a27;hpb=71e7c4f845cb4cfb0c81391d0dab71f2d634796d;p=BackupPC.git diff --git a/lib/BackupPC/Search.pm b/lib/BackupPC/Search.pm index 5e45f35..a0e19c3 100644 --- a/lib/BackupPC/Search.pm +++ b/lib/BackupPC/Search.pm @@ -398,6 +398,13 @@ print STDERR "## sort=". ($param->{'sort'} || 'no sort param') . " burn sql orde LEFT OUTER JOIN archive_parts ap ON ap.backup_part_id = p.id LEFT OUTER JOIN archive_burned ab ON ab.archive_id = ap.archive_id GROUP BY p.id,filename,b.date,age,p.size,p.part_nr + }; + + $sql .= qq{ + HAVING count(ap.*) = 0 + } unless $param->{scheduled}; + + $sql .= qq{ ORDER BY b.date,p.part_nr }; my $sth = $dbh->prepare( $sql ); @@ -418,487 +425,162 @@ sub displayBackupsGrid($) { my $param = shift; my $max_archive_size = $Conf{ArchiveMediaSize} || die "no ArchiveMediaSize"; - my $max_archive_file_size = $Conf{ArchiveChunkSize} || die "no MaxFileInSize"; - my $retHTML .= q{ -
"; - - return $retHTML; -} - -sub displayGrid($) { - my ($param) = @_; - - my $offset = $param->{'offset'}; - my $hilite = $param->{'search_filename'}; - - my $retHTML = ""; - - my $start_t = time(); - - my ($results, $files); - if ($param->{'use_hest'} && length($hilite) > 0) { - ($results, $files) = getFilesHyperEstraier($param); - } else { - ($results, $files) = getFiles($param); - } - - my $dur_t = time() - $start_t; - my $dur = sprintf("%0.4fs", $dur_t); - - my ($from, $to) = (($offset * $on_page) + 1, ($offset * $on_page) + $on_page); - - if ($results <= 0) { - $retHTML .= qq{ -No results found...
- }; - return $retHTML; - } else { - # DEBUG - #use Data::Dumper; - #$retHTML .= '' . Dumper($files) . ''; - } - - - $retHTML .= qq{ -
- }; - - sub sort_header($$$$) { - my ($param, $display, $name, $align) = @_; - - my ($sort_what, $sort_direction) = split(/_/,$param->{'sort'},2); - - my $old_sort = $param->{'sort'}; - - my $html = qq{ | {'sort'} = $name . '_' . $direction; - $html .= ' style="border: 1px solid #808080;"'; - - # add unicode arrow for direction - $arrow .= ' '; - $arrow .= $direction eq 'a' ? '▲' - : $direction eq 'd' ? '▼' - : '' - ; - - } else { - $param->{'sort'} = $name . '_a'; - } - - $html .= '>' . $display . '' . $arrow . ' | '; - $param->{'sort'} = $old_sort; - - return $html; - } - - $retHTML .= - sort_header($param, 'Share', 'sname', 'center') . - sort_header($param, 'Type and Name', 'filepath', 'center') . - sort_header($param, '#', 'backupnum', 'center') . - sort_header($param, 'Size', 'size', 'center') . - sort_header($param, 'Date', 'date', 'center'); - - $retHTML .= qq{ -Media | -Media | + + }; my $file; @@ -955,113 +637,442 @@ sub displayGrid($) { return $html; } - my $i = $offset * $on_page; + my $i = $offset * $on_page; + + foreach $file (@{ $files }) { + $i++; + + my $typeStr = BackupPC::Attrib::fileType2Text(undef, $file->{'type'}); + $retHTML .= qq{|||
$i | }; + + $retHTML .= + qq{} . $file->{'hname'} . ':' . $file->{'sname'} . qq{ | } . + qq{} . hilite_html( $file->{'filepath'}, $hilite ) . qq{ | } . + qq{} . restore_link( $typeStr, ${EscURI( $file->{'hname'} )}, $file->{'backupnum'}, ${EscURI( $file->{'sname'})}, ${EscURI( $file->{'filepath'} )}, $file->{'backupnum'} ) . qq{ | } . + qq{} . $file->{'size'} . qq{ | } . + qq{} . epoch_to_iso( $file->{'date'} ) . qq{ | } . + qq{} . check_archived( $file->{'hname'}, $file->{'sname'}, $file->{'backupnum'} ) . qq{ | }; + + $retHTML .= "