X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/912521ef0711204965aa2319d41c7741bd3f4f4c..99e644967c88a006117c629f275614741a82cb41:/IkiWiki/Plugin/poll.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm index a3321a32e..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; +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, + 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.="