X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ee1ad53c4c2710aa7ded61bdc56f3a8cce514f22..1d46ebef52412b3b93e547ce124d813cf34e3b56:/IkiWiki/Plugin/poll.pm diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm index 63c93c62d..2773486a6 100644 --- a/IkiWiki/Plugin/poll.pm +++ b/IkiWiki/Plugin/poll.pm @@ -3,25 +3,31 @@ 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 => "cgi", id => "poll", call => \&cgi); -} # }}} - -sub yesno ($) { #{{{ - my $val=shift; - return (defined $val && lc($val) eq "yes"); -} #}}} + hook(type => "sessioncgi", id => "poll", call => \&sessioncgi); +} + +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=yesno($params{open}); - my $showtotal=yesno($params{total}); - my $showpercent=yesno($params{percent}); + my $open=IkiWiki::yesno($params{open}); + my $showtotal=IkiWiki::yesno($params{total}); + my $showpercent=IkiWiki::yesno($params{percent}); $pagenum{$params{page}}++; my %choices; @@ -46,7 +52,7 @@ sub preprocess (@) { #{{{ foreach my $choice (@choices) { if ($open && exists $config{cgiurl}) { # use POST to avoid robots - $ret.="