Browse Source

gitweb: Allow for href() to be used for links without project param

Make it possible to use href() subroutine to generate link with
query string which does not include project ('p') parameter.
href() used to add project=$project to its parameters, if it
was not set (to be more exact if $params{'project'} was false).
Now you can pass "project => undef" if you don't want for href()
to add project parameter to query string in the generated link.

Links to "project_list", "project_index" and "opml" (all related
to list of all projects/all git repositories) doesn't need project
parameter. Moreover "project_list" is default view (action) if
project ('p') parameter is not set, just like "summary" is default
view (action) if project is set; project list served as a kind
of "home" page for gitweb instalation, and links to "project_list"
view were done without specyfying it as an action.

Convert remaining links (except $home_link and anchor links)
to use href(); this required adding 'order => "o"' to @mapping
in href(). This finishes consolidation of URL generation.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Jakub Narebski 19 years ago committed by Junio C Hamano
parent
commit
a1565c447d
  1. 17
      gitweb/gitweb.perl

17
gitweb/gitweb.perl

@ -326,11 +326,12 @@ sub href(%) { @@ -326,11 +326,12 @@ sub href(%) {
hash_base => "hb",
hash_parent_base => "hpb",
page => "pg",
order => "o",
searchtext => "s",
);
my %mapping = @mapping;

$params{"project"} ||= $project;
$params{'project'} = $project unless exists $params{'project'};

my @result = ();
for (my $i = 0; $i < @mapping; $i += 2) {
@ -1304,9 +1305,11 @@ sub git_footer_html { @@ -1304,9 +1305,11 @@ sub git_footer_html {
if (defined $descr) {
print "<div class=\"page_footer_text\">" . esc_html($descr) . "</div>\n";
}
print $cgi->a({-href => href(action=>"rss"), -class => "rss_logo"}, "RSS") . "\n";
print $cgi->a({-href => href(action=>"rss"),
-class => "rss_logo"}, "RSS") . "\n";
} else {
print $cgi->a({-href => href(action=>"opml"), -class => "rss_logo"}, "OPML") . "\n";
print $cgi->a({-href => href(project=>undef, action=>"opml"),
-class => "rss_logo"}, "OPML") . "\n";
}
print "</div>\n" .
"</body>\n" .
@ -2153,7 +2156,7 @@ sub git_project_list { @@ -2153,7 +2156,7 @@ sub git_project_list {
print "<th>Project</th>\n";
} else {
print "<th>" .
$cgi->a({-href => "$my_uri?" . esc_param("o=project"),
$cgi->a({-href => href(project=>undef, order=>'project'),
-class => "header"}, "Project") .
"</th>\n";
}
@ -2162,7 +2165,7 @@ sub git_project_list { @@ -2162,7 +2165,7 @@ sub git_project_list {
print "<th>Description</th>\n";
} else {
print "<th>" .
$cgi->a({-href => "$my_uri?" . esc_param("o=descr"),
$cgi->a({-href => href(project=>undef, order=>'descr'),
-class => "header"}, "Description") .
"</th>\n";
}
@ -2171,7 +2174,7 @@ sub git_project_list { @@ -2171,7 +2174,7 @@ sub git_project_list {
print "<th>Owner</th>\n";
} else {
print "<th>" .
$cgi->a({-href => "$my_uri?" . esc_param("o=owner"),
$cgi->a({-href => href(project=>undef, order=>'owner'),
-class => "header"}, "Owner") .
"</th>\n";
}
@ -2180,7 +2183,7 @@ sub git_project_list { @@ -2180,7 +2183,7 @@ sub git_project_list {
print "<th>Last Change</th>\n";
} else {
print "<th>" .
$cgi->a({-href => "$my_uri?" . esc_param("o=age"),
$cgi->a({-href => href(project=>undef, order=>'age'),
-class => "header"}, "Last Change") .
"</th>\n";
}

Loading…
Cancel
Save