X-Git-Url: https://git.p6c8.net/selfforum.git/blobdiff_plain/aaff267fdddc495df3bfa2fc0eb0d20a76b6d220..bca3eed65c50f585248ae3a1cc8bb6a74e4e8bb8:/selfforum-cgi/shared/Template/_query.pm?ds=sidebyside diff --git a/selfforum-cgi/shared/Template/_query.pm b/selfforum-cgi/shared/Template/_query.pm index 66be8fc..8d1d8ec 100644 --- a/selfforum-cgi/shared/Template/_query.pm +++ b/selfforum-cgi/shared/Template/_query.pm @@ -1,68 +1,76 @@ -# Template/_query.pm +package Template::_query; -# ==================================================== -# Autor: n.d.p. / 2000-12-30 -# lm : n.d.p. / 2001-02-04 -# ==================================================== -# Funktion: -# Erzeugen eines Querystrings -# ==================================================== +################################################################################ +# # +# File: shared/Template/_query.pm # +# # +# Authors: André Malo , 2001-06-16 # +# # +# Description: compose a query string # +# # +################################################################################ use strict; +use vars qw( + @EXPORT + $VERSION +); -package Template::_query; - -# ==================================================== -# Funktionsexport -# ==================================================== +################################################################################ +# +# Version check +# +$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; +################################################################################ +# +# Export +# use base qw(Exporter); -@Template::_query::EXPORT = qw(query_string); +@EXPORT = qw(query_string); -################################ -# sub query_string +### url_encode () ############################################################## # -# Querystring erzeugen -################################ - -sub query_string ($) { - my $parlist=shift; - - my $string = '?'.join ('&', - map {(ref)?map{&url_encode ($_).'='.&url_encode ($parlist -> {$_})} @{$parlist -> {$_}}: - &url_encode ($_).'='.&url_encode ($parlist -> {$_})} - keys %$parlist); +# urlsafe encoding +# (more or less from CGI.pm) +# +# Params: $string - string to encode +# +# Return: encoded string +# +sub url_encode ($) { + my $string = shift; + $string=~s/([^a-zA-Z\d_.-])/uc sprintf('%%%02x',ord($1))/eg; - # return $string; } -# ==================================================== -# Private Funktionen -# ==================================================== - -################################ -# sub url_encode +### query_string () ############################################################ +# +# compose a query string # -# URL-Codierung -# (mehr oder weniger aus -# CGI.pm geklaut...) -################################ +# Params: $parlist - hashref +# +# Return: scalar: query string +# +sub query_string ($) { + my $parlist=shift; -sub url_encode ($) { - my $string = shift; - $string=~s/([^a-zA-Z\d_.-])/uc sprintf('%%%02x',ord($1))/eg; + my $string = '?'.join ('&' => + map { + (ref) + ? map{url_encode ($_).'='.url_encode ($parlist -> {$_})} @{$parlist -> {$_}} + : url_encode ($_).'='.url_encode ($parlist -> {$_}) + } keys %$parlist + ); + # return $string; } -# ==================================================== -# Modulinitialisierung -# ==================================================== - -# making require happy +# keep 'require' happy 1; -# ==================================================== -# end of Template::_query -# ==================================================== \ No newline at end of file +# +# +### end of Template::_query ####################################################