diff options
author | Martin Waitz <tali@admingilde.org> | 2006-08-16 00:23:50 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-08-15 21:55:17 -0700 |
commit | 06a9d86b49b826562e2b12b5c7e831e20b8f7dce (patch) | |
tree | 93eb4d2bca6128dd8e1851eb72c7a2056bb738f0 /gitweb | |
parent | 19a8721ef8f82153fee93c62bd050659cf718d6d (diff) | |
download | git-06a9d86b49b826562e2b12b5c7e831e20b8f7dce.tar.gz git-06a9d86b49b826562e2b12b5c7e831e20b8f7dce.tar.xz |
gitweb: provide function to format the URL for an action link.
Provide a new function which can be used to generate an URL for the CGI.
This makes it possible to consolidate the URL generation in order to make
it easier to change the encoding of actions into URLs.
Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'gitweb')
-rwxr-xr-x | gitweb/gitweb.perl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 0e1de297e..1471d4dad 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -185,6 +185,33 @@ $actions{$action}->(); exit; ## ====================================================================== +## action links + +sub href(%) { + my %mapping = ( + action => "a", + project => "p", + file_name => "f", + hash => "h", + hash_parent => "hp", + hash_base => "hb", + page => "pg", + searchtext => "s", + ); + + my %params = @_; + $params{"project"} ||= $project; + + my $href = "$my_uri?"; + $href .= esc_param( join(";", + map { "$mapping{$_}=$params{$_}" } keys %params + ) ); + + return $href; +} + + +## ====================================================================== ## validation, quoting/unquoting and escaping sub validate_input { |