X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=cgi.sh;h=39172ba9ecdd7bb8abc3997d182b97fe114085c3;hp=676dbc581abcccf9a4da74c979b227e176fd5624;hb=debd0bd0d774c6151a8fbf6759778e2e0757c8bd;hpb=9da739230659371a860e93dcaf3765b977e30de7 diff --git a/cgi.sh b/cgi.sh index 676dbc5..39172ba 100755 --- a/cgi.sh +++ b/cgi.sh @@ -2,6 +2,7 @@ declare -A _GET declare -A _POST +declare -A _REF cgi_get() { # parse HTTP GET string echo "$QUERY_STRING" |tr '&' '\n' |while read query; do @@ -9,7 +10,6 @@ cgi_get() { # parse HTTP GET string val="$(echo "$query" |sed -r 's:^([a-zA-Z0-9_-]*)=(.*)$:\2:')" _GET["$key"]="$(echo -e "$(echo "$val" |sed 's:+: :g;s:%:\\x:g')")" done - debug "$_GET" } cgi_post() { # parse HTTP POST string @@ -24,7 +24,13 @@ cgi_post() { # parse HTTP POST string else _POST["$key"]="$value" fi - debug "post($key$n) => $value" done - debug "$_POST" +} + +cgi_refdata() { # Parse GET data from referer + echo "$HTTP_REFERER" |cut -d'?' -f2- |tr '&' '\n' |while read query; do + key="$(echo "$query" |sed -r 's:^([a-zA-Z0-9_-]*)=(.*)$:\1:')" + val="$(echo "$query" |sed -r 's:^([a-zA-Z0-9_-]*)=(.*)$:\2:')" + _REF["$key"]="$(echo -e "$(echo "$val" |sed 's:+: :g;s:%:\\x:g')")" + done }