X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/122f6df3259e8ca1dd96554d08cebce4b5c55acc..aee84387713a6a3f122b478b2fae3b5b87c76c9f:/IkiWiki/Plugin/poll.pm

diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm
index 82e862c59..b8d14ad3e 100644
--- a/IkiWiki/Plugin/poll.pm
+++ b/IkiWiki/Plugin/poll.pm
@@ -4,24 +4,29 @@ package IkiWiki::Plugin::poll;
 use warnings;
 use strict;
 use IkiWiki 2.00;
+use Encode;
 
 sub import { #{{{
+	hook(type => "getsetup", id => "poll", call => \&getsetup);
 	hook(type => "preprocess", id => "poll", call => \&preprocess);
 	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 (@) { #{{{
 	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;
@@ -78,7 +83,7 @@ sub sessioncgi ($$) { #{{{
 	my $cgi=shift;
 	my $session=shift;
 	if (defined $cgi->param('do') && $cgi->param('do') eq "poll") {
-		my $choice=$cgi->param('choice');
+		my $choice=decode_utf8($cgi->param('choice'));
 		if (! defined $choice) {
 			error("no choice specified");
 		}