fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2011-05-16 01:51 pm

[dw-free] show # of participants in poll before voting

[commit: http://hg.dwscoalition.org/dw-free/rev/1ed4c51bc408]

http://bugs.dwscoalition.org/show_bug.cgi?id=3250

Always show the number of participants in the poll.

Patch by [personal profile] fu.

Files modified:
  • cgi-bin/LJ/Poll.pm
--------------------------------------------------------------------------------
diff -r bf8281e97826 -r 1ed4c51bc408 cgi-bin/LJ/Poll.pm
--- a/cgi-bin/LJ/Poll.pm	Mon May 16 21:32:45 2011 +0800
+++ b/cgi-bin/LJ/Poll.pm	Mon May 16 21:50:56 2011 +0800
@@ -925,17 +925,13 @@
     $ret .= LJ::Lang::ml('poll.security2', { 'whovote' => LJ::Lang::ml('poll.security.'.$self->whovote),
                                        'whoview' => LJ::Lang::ml('poll.security.'.$whoview) });
 
+    $ret .= LJ::Lang::ml('poll.participants', { 'total' => $self->num_participants });
     if ( $mode eq 'enter' && $self->can_view( $remote ) ) {
         $ret .= "<br />\n";
         $ret .= "[ <a href='$LJ::SITEROOT/poll/?id=$pollid&amp;mode=results'>" . LJ::Lang::ml( 'poll.seeresults' ) . "</a> ]  ";
         $ret .= "&nbsp&nbsp;[ <a href='$LJ::SITEROOT/poll/?id=$pollid&amp;mode=clear' 
             class='LJ_PollClearLink' id='LJ_PollClearLink_${pollid}' lj_pollid='$pollid'>  " . BML::ml('poll.clear') ."</a> ]";
     } elsif ( $mode eq 'results' ) {
-        #include number of participants
-        my $sth = $self->journal->prepare( "SELECT count(DISTINCT userid) FROM pollresult2 WHERE pollid=? AND journalid=?" );
-        $sth->execute( $pollid, $self->journalid );
-        my ( $participants ) = $sth->fetchrow_array;
-        $ret .= LJ::Lang::ml('poll.participants', { 'total' => $participants });
         $ret .= "<br />\n";
         # change vote link
         $ret .= "[ <a href='$LJ::SITEROOT/poll/?id=$pollid&amp;mode=enter'>" . LJ::Lang::ml( 'poll.changevote' ) . "</a> ]" if $self->can_vote( $remote ) && !$self->is_closed;
@@ -1231,6 +1227,15 @@
     return 0;
 }
 
+sub num_participants {
+    my ( $self ) = @_;
+
+    my $sth = $self->journal->prepare( "SELECT count(DISTINCT userid) FROM pollresult2 WHERE pollid=? AND journalid=?" );
+    $sth->execute( $self->pollid, $self->journalid );
+    my ( $participants ) = $sth->fetchrow_array;
+
+    return $participants;
+}
 
 ########## Questions
 # returns list of LJ::Poll::Question objects associated with this poll
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org