diff --git a/add b/add
index b9c761e..e791881 100755
--- a/add
+++ b/add
@@ -10,24 +10,21 @@
# /cgi/$user/add.html
IFS=/ read garbage garbage webuser garbage <<<"$REQUEST_URI"
-cat <<-EOHead
- Content-type: text/plain
- Last-Modified: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
- Expires: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
- refresh: 0,url=/cgi/$webuser/
-
-EOHead
-
-if [[ $webuser == $AUTH_USER || $webuser == dev ]]
+if [[ $REQUEST_METHOD != POST ]]
then
- echo "Welcome agent $webuser"$'!\n\n'
-else
- echo 'Nice try!'
+ cat <<-EOHead
+ Content-type: text/plain
+ Last-Modified: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
+ Expires: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
+ refresh: 0,url=/cgi/$webuser/add.html
+
+ EOHead
exit
fi
+
declare -A POST
exprdsname='^[[:upper:][:lower:]_]+$'
-exprvalue='^[[:digit:]]+$'
+exprvalue='^-?[[:digit:]]+$'
while read dsname value
do
if [[ $dsname =~ $exprdsname ]] \
@@ -38,6 +35,21 @@ do
done < <(
sed 's/&/\n/g;s/=/ /g'
)
+cat <<-EOHead
+ Content-type: text/plain
+ Last-Modified: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
+ Expires: $(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z')
+ refresh: 0,url=/cgi/$webuser/?start=${POST["start"]}&end=${POST["end"]}
+
+EOHead
+
+if [[ $webuser == $AUTH_USER || $webuser == dev ]]
+then
+ echo "Welcome agent $webuser"$'!\n\n'
+else
+ echo 'Nice try!'
+ exit
+fi
dsnames=(
AP
diff --git a/add.html b/add.html
index 2ab517a..8881f28 100755
--- a/add.html
+++ b/add.html
@@ -1,5 +1,23 @@
#!/bin/bash
-exec 2>&1
+
+if [ -n "$QUERY_STRING" ]
+then
+ query_data="${QUERY_STRING//&/
+}"
+ exprtime='[[:alnum:]-]+'
+ exprgraph='[[:alpha:]_]+'
+ while read name value
+ do
+ case $name in
+ start)
+ [[ $value =~ $exprtime ]] && start=$value
+ ;;
+ end)
+ [[ $value =~ $exprtime ]] && end=$value
+ ;;
+ esac
+ done <<<"${query_data//=/ }"
+fi
uinames=(
AP
@@ -108,6 +126,8 @@ done
cat <<-EOHTML
+
+