X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=cgi.sh;h=39172ba9ecdd7bb8abc3997d182b97fe114085c3;hp=bde75d668fbfb429e1ed50d9809ba37911c8bd72;hb=debd0bd0d774c6151a8fbf6759778e2e0757c8bd;hpb=3badbe5f34b9a481f43f83d07d4cd28a3aa7798b diff --git a/cgi.sh b/cgi.sh index bde75d6..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 @@ -25,3 +26,11 @@ cgi_post() { # parse HTTP POST string fi done } + +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 +}