gitweb: provide function to format the URL for an action link.
[gitweb.git] / gitweb / gitweb.perl
index 0e1de297e926cf03564de75a81f80187ad594a8f..1471d4dadb23e27e4db0d97a4f1edc3f3b4949fc 100755 (executable)
 $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