gitweb: Allow for multivalued parameters passed to href subroutine
Make it possible to generate URLs with multivalued parameters in the href() subroutine, via passing reference to array of values. Example: href(action=>"log", extra_options=>["--no-merges", "--first-parent"]) Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
8b4aee015e
commit
f22cca44ba
|
@ -629,7 +629,13 @@ sub href(%) {
|
||||||
for (my $i = 0; $i < @mapping; $i += 2) {
|
for (my $i = 0; $i < @mapping; $i += 2) {
|
||||||
my ($name, $symbol) = ($mapping[$i], $mapping[$i+1]);
|
my ($name, $symbol) = ($mapping[$i], $mapping[$i+1]);
|
||||||
if (defined $params{$name}) {
|
if (defined $params{$name}) {
|
||||||
push @result, $symbol . "=" . esc_param($params{$name});
|
if (ref($params{$name}) eq "ARRAY") {
|
||||||
|
foreach my $par (@{$params{$name}}) {
|
||||||
|
push @result, $symbol . "=" . esc_param($par);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
push @result, $symbol . "=" . esc_param($params{$name});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$href .= "?" . join(';', @result) if scalar @result;
|
$href .= "?" . join(';', @result) if scalar @result;
|
||||||
|
|
Loading…
Reference in New Issue