# HG changeset patch # User Matti Hamalainen # Date 1493209211 -10800 # Node ID ac66900fd066850c8496227d2e9f7faab2640ca4 # Parent a17b7fdd03c09fc5d2204b183451b59675a07bbe quotedb: Add display of current quote rating when voting for it. diff -r a17b7fdd03c0 -r ac66900fd066 config.quotedb.example --- a/config.quotedb.example Tue Feb 07 10:35:11 2017 +0200 +++ b/config.quotedb.example Wed Apr 26 15:20:11 2017 +0300 @@ -59,8 +59,8 @@ set qdb_msg_no_matches "Ei löydy!" -set qdb_msg_you_voted "Äänestit %1 -> %2" -set qdb_msg_vote_updated "Ääni päivitetty #%1 -> %2" +set qdb_msg_you_voted "Äänestit #%1 -> %2, nyt yhteensä %3" +set qdb_msg_vote_updated "Äänesi #%1 päivitetty -> %2, nyt yhteensä %3" set qdb_msg_sql_error "Virhe sörkittäessä tietokantaa. uliskaa." set qdb_msg_add_success "Tietokantaa %1 sörkitty (#%2), kiitos." @@ -78,7 +78,7 @@ set qdb_msg_not_found "%1 #%2 ei löydy, tai se ei kuulu käyttäjälle '%3'." -set qdb_msg_help "%1 add |update |del |find |vote|top3" +set qdb_msg_help "%1 add |update |del |find |vote \[ <1|-1>\]|top3" ### diff -r a17b7fdd03c0 -r ac66900fd066 quotedb.tcl --- a/quotedb.tcl Tue Feb 07 10:35:11 2017 +0200 +++ b/quotedb.tcl Wed Apr 26 15:20:11 2017 +0300 @@ -226,6 +226,15 @@ #------------------------------------------------------------------------- +proc qdb_get_rating_for_id {utable uid} { + set usql "SELECT total(${utable}_votes.vote) AS qrating FROM ${utable}_votes WHERE urlid=${uid}" + set qrating 0 + qdb_handle eval $usql { set urating $qrating } + return $qrating +} + + +#------------------------------------------------------------------------- proc qdb_vote {ucmd utable unick uhand uchan utext upublic} { global qdb_handle qdb_msg_you_voted qdb_msg_quote_does_not_exist qdb_msg_vote_updated @@ -259,8 +268,9 @@ # Yes, update the previous vote set usql "UPDATE ${utable}_votes SET vote=$uvote WHERE id=$qid" if {[qdb_sql_exec $upublic $unick $uchan $usql]} { - qdb_log "$uhand changed vote to $uvote on #$uid / $utable" - qdb_msg $upublic $unick $uchan $qdb_msg_vote_updated [list $uid $uvote] + set urating [qdb_get_rating_for_id $utable $uid] + qdb_log "$uhand changed vote to $uvote on #$uid / $utable, total $urating" + qdb_msg $upublic $unick $uchan $qdb_msg_vote_updated [list $uid $uvote $urating] return 1 } else { return 0 @@ -270,8 +280,9 @@ # No previous votes, insert new set usql "INSERT INTO ${utable}_votes (user,urlid,vote) VALUES ('[utl_escape $uhand]',$uid,$uvote)" if {[qdb_sql_exec $upublic $unick $uchan $usql]} { - qdb_log "$uhand voted $uvote on #$uid / $utable" - qdb_msg $upublic $unick $uchan $qdb_msg_you_voted [list $uid $uvote] + set urating [qdb_get_rating_for_id $utable $uid] + qdb_log "$uhand voted $uvote on #$uid / $utable, total $urating" + qdb_msg $upublic $unick $uchan $qdb_msg_you_voted [list $uid $uvote $urating] } }