X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=cgi.sh;h=39172ba9ecdd7bb8abc3997d182b97fe114085c3;hp=bde75d668fbfb429e1ed50d9809ba37911c8bd72;hb=25a24a7d834757e006b46b863453d5f79780a63f;hpb=91b5294e622198de6d3efaa2bb1ad9c7c3cfe1a7 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 +}