]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/poll.pm
fix rcs_prepedit implementation to match spec
[ikiwiki.git] / IkiWiki / Plugin / poll.pm
index fadc1773e66a61758d0012991e32da66d5ae0209..b333e2cdcff485edd81f4df426e1865c261a1199 100644 (file)
@@ -3,25 +3,26 @@ package IkiWiki::Plugin::poll;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 use Encode;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "poll", call => \&getsetup);
        hook(type => "preprocess", id => "poll", call => \&preprocess);
        hook(type => "sessioncgi", id => "poll", call => \&sessioncgi);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
+                       section => "widget",
                },
-} #}}}
+}
 
 my %pagenum;
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=(open => "yes", total => "yes", percent => "yes", @_);
 
        my $open=IkiWiki::yesno($params{open});
@@ -77,9 +78,9 @@ sub preprocess (@) { #{{{
                $ret.="<span>".gettext("Total votes:")." $total</span>\n";
        }
        return "<div class=poll>$ret</div>";
-} # }}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $cgi=shift;
        my $session=shift;
        if (defined $cgi->param('do') && $cgi->param('do') eq "poll") {
@@ -133,9 +134,12 @@ sub sessioncgi ($$) { #{{{
                $oldchoice=$session->param($choice_param);
                if ($config{rcs}) {
                        IkiWiki::disable_commit_hook();
-                       IkiWiki::rcs_commit($pagesources{$page}, "poll vote ($choice)",
-                               IkiWiki::rcs_prepedit($pagesources{$page}),
-                               $session->param("name"), $ENV{REMOTE_ADDR});
+                       IkiWiki::rcs_commit(
+                               file => $pagesources{$page},
+                               message => "poll vote ($choice)",
+                               token => IkiWiki::rcs_prepedit($pagesources{$page}),
+                               session => $session,
+                       );
                        IkiWiki::enable_commit_hook();
                        IkiWiki::rcs_update();
                }
@@ -152,6 +156,6 @@ sub sessioncgi ($$) { #{{{
                        -url => urlto($page, undef, 1));
                exit;
        }
-} #}}}
+}
 
 1