From 43ffc06d98e944670b71869ba7126003597a2fa0 Mon Sep 17 00:00:00 2001 From: Jakub Narebski Date: Sun, 30 Jul 2006 17:49:00 +0200 Subject: [PATCH] gitweb: Pager refactoring - use git_get_paging_nav for pagination Add git_get_paging_nav subroutine which returns string with pager (paging nav) for shortlog and log actions. Signed-off-by: Jakub Narebski Signed-off-by: Junio C Hamano --- gitweb/gitweb.cgi | 68 ++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi index 03002f04f..8e5e4c83c 100755 --- a/gitweb/gitweb.cgi +++ b/gitweb/gitweb.cgi @@ -420,6 +420,36 @@ sub git_page_nav { "\n"; } +sub git_get_paging_nav { + my ($project, $action, $hash, $head, $page, $nrevs) = @_; + my $paging_nav; + + + if ($hash ne $head || $page) { + $paging_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action")}, "HEAD"); + } else { + $paging_nav .= "HEAD"; + } + + if ($page > 0) { + $paging_nav .= " ⋅ " . + $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action;h=$hash;pg=" . ($page-1)), + -accesskey => "p", -title => "Alt-p"}, "prev"); + } else { + $paging_nav .= " ⋅ prev"; + } + + if ($nrevs >= (100 * ($page+1)-1)) { + $paging_nav .= " ⋅ " . + $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action;h=$hash;pg=" . ($page+1)), + -accesskey => "n", -title => "Alt-n"}, "next"); + } else { + $paging_nav .= " ⋅ next"; + } + + return $paging_nav; +} + sub git_get_type { my $hash = shift; @@ -1873,24 +1903,7 @@ sub git_log { my @revlist = map { chomp; $_ } <$fd>; close $fd; - my $paging_nav = ''; - if ($hash ne $head || $page) { - $paging_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=log")}, "HEAD"); - } else { - $paging_nav .= "HEAD"; - } - if ($page > 0) { - $paging_nav .= " ⋅ " . - $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=log;h=$hash;pg=" . ($page-1)), -accesskey => "p", -title => "Alt-p"}, "prev"); - } else { - $paging_nav .= " ⋅ prev"; - } - if ($#revlist >= (100 * ($page+1)-1)) { - $paging_nav .= " ⋅ " . - $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=log;h=$hash;pg=" . ($page+1)), -accesskey => "n", -title => "Alt-n"}, "next"); - } else { - $paging_nav .= " ⋅ next"; - } + my $paging_nav = git_get_paging_nav($project, 'log', $hash, $head, $page, $#revlist); git_header_html(); git_page_nav('log','', $hash,undef,undef, $paging_nav); @@ -2553,24 +2566,7 @@ sub git_shortlog { my @revlist = map { chomp; $_ } <$fd>; close $fd; - my $paging_nav = ''; - if ($hash ne $head || $page) { - $paging_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog")}, "HEAD"); - } else { - $paging_nav .= "HEAD"; - } - if ($page > 0) { - $paging_nav .= " ⋅ " . - $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog;h=$hash;pg=" . ($page-1)), -accesskey => "p", -title => "Alt-p"}, "prev"); - } else { - $paging_nav .= " ⋅ prev"; - } - if ($#revlist >= (100 * ($page+1)-1)) { - $paging_nav .= " ⋅ " . - $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog;h=$hash;pg=" . ($page+1)), -accesskey => "n", -title => "Alt-n"}, "next"); - } else { - $paging_nav .= " ⋅ next"; - } + my $paging_nav = git_get_paging_nav($project, 'shortlog', $hash, $head, $page, $#revlist); git_header_html(); git_page_nav('shortlog','', $hash,$hash,$hash, $paging_nav); -- 2.26.2