X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/264a28a3b4684eef9a89b56a090b8728ec0e3bee..ff5d52b0d2dc025cedadb3b9d06f46e8954d7a38:/IkiWiki/Plugin/poll.pm diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm index 654d46247..bc1e3501e 100644 --- a/IkiWiki/Plugin/poll.pm +++ b/IkiWiki/Plugin/poll.pm @@ -3,25 +3,30 @@ package IkiWiki::Plugin::poll; use warnings; use strict; -use IkiWiki; +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); -} # }}} + hook(type => "sessioncgi", id => "poll", call => \&sessioncgi); +} -sub yesno ($) { #{{{ - my $val=shift; - return (defined $val && lc($val) eq "yes"); -} #}}} +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => undef, + }, +} 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; @@ -45,7 +50,8 @@ sub preprocess (@) { #{{{ my $ret=""; foreach my $choice (@choices) { if ($open && exists $config{cgiurl}) { - $ret.="