X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/c60477228c6b4d5e00c7bdb3b895e9f30d00ea97..0cd67c515fad03797fa7792c10b507a0abb77c28:/IkiWiki/Plugin/poll.pm diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm index 4eae6a349..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); -} # }}} - -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.="