#!/bin/bash read_query_string() { local \ exprgraph \ exprtime \ name \ query_data \ value \ if [ -n "$QUERY_STRING" ] then query_data="${QUERY_STRING//&/ }" exprtime='[[:alnum:]-]+' exprgraph='[[:alpha:]_]+' exprprev='[[:digit:]]+[(d(ay)?)(w(eek)?)(month)(y(ear)?)]' while read name value do case $name in start) [[ $value =~ $exprtime ]] && start=$value ;; end) [[ $value =~ $exprtime ]] && end=$value ;; hist|trend) show_graphs=1 ;; graph) [[ $value =~ $exprgraph ]] && graph=$value ;; show) [[ $value == all ]] && show_all=1 ;; prevperiod) [[ $value =~ $exprprev ]] && prevperiod=$value ;; esac done <<<"${query_data//=/ }" fi }