rewrite pager to transfer all parametars via URL instead of form POST
authordpavlin <dpavlin@8392b6e1-25fa-0310-8288-cc32f8e212ea>
Sun, 28 Aug 2005 10:45:51 +0000 (10:45 +0000)
committerdpavlin <dpavlin@8392b6e1-25fa-0310-8288-cc32f8e212ea>
Sun, 28 Aug 2005 10:45:51 +0000 (10:45 +0000)
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/BackupPC/trunk@85 8392b6e1-25fa-0310-8288-cc32f8e212ea

BUGS
lib/BackupPC/SearchLib.pm

diff --git a/BUGS b/BUGS
index e27efe6..a2617d0 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
-- fix URL in pager not to use JavaScript
-- share isn't transfered within pager
++ fix URL in pager not to use JavaScript
++ share isn't transfered within pager
 + plus (+) in filenames isn't escaped when creating restore link
 + sort share-ova u drop-downu
 + fixed found_in_db
index e4a7ed7..852fb91 100644 (file)
@@ -390,19 +390,33 @@ sub displayGrid($$) {
        my $max_page = int( $results / $on_page );
        my $page = 0;
 
-       my $link_fmt = '<a href = "#" onclick="document.forma.offset.value=%d;document.forma.submit();">%s</a>';
+       sub page_link($$$) {
+               my ($param,$page,$display) = @_;
+
+               $param->{'offset'} = $page;
+
+               my $html = '<a href = "' . $MyURL;
+               my $del = '?';
+               foreach my $k (keys %{ $param }) {
+                       if ($param->{$k}) {
+                               $html .= $del . $k . '=' . ${EscURI( $param->{$k} )};
+                               $del = '&';
+                       }
+               }
+               $html .= '">' . $display . '</a>';
+       }
 
        $retHTML .= '<div style="text-align: center;">';
 
        if ($offset > 0) {
-               $retHTML .= sprintf($link_fmt, $offset - 1, '&lt;&lt;') . ' ';
+               $retHTML .= page_link($param, $offset - 1, '&lt;&lt;') . ' ';
        }
 
        while ($page <= $max_page) {
                if ($page == $offset) {
                        $retHTML .= $del . '<b>' . ($page + 1) . '</b>';
                } else {
-                       $retHTML .= $del . sprintf($link_fmt, $page, $page + 1);
+                       $retHTML .= $del . page_link($param, $page, $page + 1);
                }
 
                if ($page < $offset - $pager_pages && $page != 0) {
@@ -420,7 +434,7 @@ sub displayGrid($$) {
        }
 
        if ($offset < $max_page) {
-               $retHTML .= ' ' . sprintf($link_fmt, $offset + 1, '&gt;&gt;');
+               $retHTML .= ' ' . page_link($param, $offset + 1, '&gt;&gt;');
        }
 
        $retHTML .= "</div>";