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;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
|