Index: work/feature_poll/pcb-rnd-poll.cgi =================================================================== --- work/feature_poll/pcb-rnd-poll.cgi (revision 1611) +++ work/feature_poll/pcb-rnd-poll.cgi (revision 1612) @@ -76,6 +76,11 @@ sed "s//\>/g" } +back_link() +{ + echo "back to the main page" +} + error() { echo "Content-type: text/html" @@ -82,6 +87,8 @@ echo "" echo "

Error

" echo "$@" + echo "
" + back_link exit 0 } @@ -123,10 +130,10 @@ do key=${n%%,*} val=${n##*,} - echo "V: key=$key val=$val" >&2 +# echo "V: key=$key val=$val" >&2 if test "$key" = "$bn" then - echo "JO" >&2 +# echo "JO" >&2 vote=$val fi done @@ -210,9 +217,16 @@ echo "
"
 	$spiral -n 35 -aalib "$SES_CAPTCHA" | fix_ltgt | sed "s/ *$//" | grep -v "^$"
 	echo "
" - echo " " + echo " " } +cmd_captcha_jpg() +{ + echo "Content-Type: image/jpeg" + echo "" + $spiral -n 35 -jpg "$SES_CAPTCHA" +} + render_userinfo() { if test -z "$SES_EMAIL" @@ -311,6 +325,7 @@ export QS_SID=`echo $QS_SID | tr -d -c "a-fA-F0-9"` if test ! -f "$sesdir/$QS_SID" then + export QS_SID="" error "invalid SID (session id)" fi while read key val @@ -317,7 +332,7 @@ do case "$key" in - SES_*) export "$key"="$val" + SES_*) export "$key"="$val"; echo "$key=$val">&2 ;; esac done < "$sesdir/$QS_SID" } @@ -416,7 +431,9 @@ export SES_EMAIL="$email" - cmd_list + echo "Content-Type: text/html" + echo "" + echo "Login accepted proceed." } cmd_list() @@ -435,15 +452,21 @@ cmd_logout() { + echo "Content-Type: text/html" + echo "" if test ! -z "$QS_SID" then if test -f "$sesdir/$QS_SID" then rm $sesdir/$QS_SID + export QS_SID="" echo "Logged out. Thank you for voting." + echo "
" + back_link exit fi fi + error "You are not logged in." } ########## main ############ @@ -464,6 +487,8 @@ ses_load fi +now=`date "+%m-%d %H:%M:%S.%N"` +echo "$now|$QS_SID|$SES_EMAIL|$QUERY_STRING" >> $db/MASTER.log collect_votes old_votes="`load_votes`" @@ -473,6 +498,7 @@ enter) cmd_enter ;; try_enter) cmd_try_enter ;; logout) cmd_logout ;; + captcha) cmd_captcha_jpg;; *) cmd_list ;; esac