]> sipb.mit.edu Git - ikiwiki.git/commitdiff
* poll: This plugin turns out to have edited pages w/o doing any locking.
authorJoey Hess <joey@kodama.kitenet.net>
Sun, 3 Feb 2008 05:26:00 +0000 (00:26 -0500)
committerJoey Hess <joey@kodama.kitenet.net>
Sun, 3 Feb 2008 05:26:00 +0000 (00:26 -0500)
  Oops. Convert it from a cgi to a sessioncgi hook, which will work
  much better.

IkiWiki/Plugin/poll.pm
debian/changelog

index 63c93c62d9380fedbfa2954ee24ea9eac7f9c76d..a5727fc8ed420e2b2ecba778c311d749bccc653e 100644 (file)
@@ -7,7 +7,7 @@ use IkiWiki 2.00;
 
 sub import { #{{{
        hook(type => "preprocess", id => "poll", call => \&preprocess);
-       hook(type => "cgi", id => "poll", call => \&cgi);
+       hook(type => "sessioncgi", id => "poll", call => \&sessioncgi);
 } # }}}
 
 sub yesno ($) { #{{{
@@ -74,8 +74,9 @@ sub preprocess (@) { #{{{
        return "<div class=poll>$ret</div>";
 } # }}}
 
-sub cgi ($) { #{{{
+sub sessioncgi ($) { #{{{
        my $cgi=shift;
+       my $session=shift;
        if (defined $cgi->param('do') && $cgi->param('do') eq "poll") {
                my $choice=$cgi->param('choice');
                if (! defined $choice) {
@@ -92,7 +93,6 @@ sub cgi ($) { #{{{
 
                # Did they vote before? If so, let them change their vote,
                # and check for dups.
-               my $session=IkiWiki::cgi_getsession();
                my $choice_param="poll_choice_${page}_$num";
                my $oldchoice=$session->param($choice_param);
                if (defined $oldchoice && $oldchoice eq $choice) {
index ceaf3cf7136b03bcc3302ed0c57f1594fbc22c42..b4ff54d9f5d61c09b23381ebf1d5c24e071cae34 100644 (file)
@@ -11,6 +11,9 @@ ikiwiki (2.31) UNRELEASED; urgency=low
   * cgi hooks are now run before ikiwiki state is loaded.
   * This allows locking the wiki before loading state, which avoids some
     tricky locking code when saving a web edit.
+  * poll: This plugin turns out to have edited pages w/o doing any locking.
+    Oops. Convert it from a cgi to a sessioncgi hook, which will work
+    much better.
 
  -- Joey Hess <joeyh@debian.org>  Sat, 02 Feb 2008 23:36:31 -0500