aboutsummaryrefslogtreecommitdiff
path: root/gitweb
diff options
context:
space:
mode:
authorJakub Narebski <jnareb@gmail.com>2006-07-30 17:49:00 +0200
committerJunio C Hamano <junkio@cox.net>2006-07-30 18:41:26 -0700
commit43ffc06d98e944670b71869ba7126003597a2fa0 (patch)
treedd7d04029cb3610a6e6217ca34f9e190e3d540d8 /gitweb
parent898a893fc9bd6510022e6248af39ca4f521e40d6 (diff)
downloadgit-43ffc06d98e944670b71869ba7126003597a2fa0.tar.gz
git-43ffc06d98e944670b71869ba7126003597a2fa0.tar.xz
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 <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'gitweb')
-rwxr-xr-xgitweb/gitweb.cgi68
1 files 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 {
"</div>\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 .= " &sdot; " .
+ $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 .= " &sdot; prev";
+ }
+
+ if ($nrevs >= (100 * ($page+1)-1)) {
+ $paging_nav .= " &sdot; " .
+ $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 .= " &sdot; 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 .= " &sdot; " .
- $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 .= " &sdot; prev";
- }
- if ($#revlist >= (100 * ($page+1)-1)) {
- $paging_nav .= " &sdot; " .
- $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 .= " &sdot; 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 .= " &sdot; " .
- $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 .= " &sdot; prev";
- }
- if ($#revlist >= (100 * ($page+1)-1)) {
- $paging_nav .= " &sdot; " .
- $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 .= " &sdot; 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);