Index: pcb-rnd-poll.cgi =================================================================== --- pcb-rnd-poll.cgi (revision 1590) +++ pcb-rnd-poll.cgi (revision 1591) @@ -114,16 +114,34 @@ render_vote_section() { - local old_ifs val n + local old_ifs val n bn=$1 vote key selected # echo " $n" + if test "$val" = "$vote" + then + selected="checked=\"checked\"" + else + selected="" + fi + echo "
$n" val=$(($val+1)) done # echo "" @@ -130,6 +148,7 @@ echo "
None of the above (remove my vote)" IFS="$old_ifs" # echo "" + } do_list() @@ -305,8 +324,7 @@ collect_votes() { - local all vt bn - all=`find_all` + local vt bn if test -z "$SES_EMAIL" then @@ -313,7 +331,9 @@ return fi - for n in $all + export all_features=`find_all` + + for n in $all_features do bn=`basename $n` vt=`eval echo "\\$QS_vote_$bn"` @@ -324,6 +344,29 @@ done } +load_votes() +{ + local n bn + + declare -a -x VOTE + for n in $all_features + do + bn=`basename $n` + echo "@|$bn" + cat $db/votes/$bn 2>/dev/null + done | awk -v "email=$SES_EMAIL" -F "[|]" ' + ($1 == "@") { name=$2; next } + ($2 == email) { print name "," $1 } + ' + +# | while read name val +# do +# VOTE[$name]=$val +# echo "VOTE[$name]=$val and ${VOTE[windows]}" >&2 +# done +# echo "LAST: ${VOTE[windows]}" >&2 +} + cmd_enter() { export subs_current="enter voting" @@ -421,9 +464,10 @@ ses_load fi + collect_votes +old_votes="`load_votes`" - case "$QS_cmd" in enter) cmd_enter ;;