summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-11-26 20:50:46 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-11-26 20:50:46 +0000
commitfc11e4ad8106ffe9e2e27aeae72055e1f371e755 (patch)
tree3a7410d076b127a48ef9de5f0c3e75dca4e15121
parentb1a0a59212731913108930a6466b5bfc9b392805 (diff)
bugfixes
-rw-r--r--IkiWiki/Plugin/poll.pm26
-rw-r--r--doc/news/openid.mdwn2
2 files changed, 7 insertions, 21 deletions
diff --git a/IkiWiki/Plugin/poll.pm b/IkiWiki/Plugin/poll.pm
index e92d0292f..bca8f5d54 100644
--- a/IkiWiki/Plugin/poll.pm
+++ b/IkiWiki/Plugin/poll.pm
@@ -94,6 +94,7 @@ sub cgi ($) { #{{{
if (defined $oldchoice && $oldchoice eq $choice) {
# Same vote; no-op.
IkiWiki::redirect($cgi, "$config{url}/".htmlpage($page));
+ exit;
}
my $content=readfile(srcfile($pagesources{$page}));
@@ -104,28 +105,13 @@ sub cgi ($) { #{{{
my $escape=shift;
my $params=shift;
return "\\[[poll $params]]" if $escape;
- return $params unless --$num == 0;
- my @bits=split(' ', $params);
- my @ret;
- while (@bits) {
- my $n=shift @bits;
- if ($n=~/=/) {
- # val=param setting
- push @ret, $n;
- next;
+ if (--$num == 0) {
+ $params=~s/(^|\s+)(\d+)\s+"?\Q$choice\E"?(\s+|$)/$1.($2+1)." \"$choice\"".$3/se;
+ if (defined $oldchoice) {
+ $params=~s/(^|\s+)(\d+)\s+"?\Q$oldchoice\E"?(\s+|$)/$1.($2-1)." \"$oldchoice\"".$3/se;
}
- my $c=shift @bits;
- $c=~s/^"(.*)"/$1/g;
- next unless defined $n && defined $c;
- if ($c eq $choice) {
- $n++;
- }
- if (defined $oldchoice && $c eq $oldchoice) {
- $n--;
- }
- push @ret, $n, "\"$c\"";
}
- return "[[poll ".join(" ", @ret)."]]";
+ return "[[poll $params]]";
};
$content =~ s{(\\?)\[\[poll\s+([^]]+)\s*\]\]}{$edit->($1, $2)}seg;
diff --git a/doc/news/openid.mdwn b/doc/news/openid.mdwn
index 1c20ae89a..f657718f7 100644
--- a/doc/news/openid.mdwn
+++ b/doc/news/openid.mdwn
@@ -10,6 +10,6 @@ log back in, try out the OpenID signup process if you don't already have an
OpenID, and see how OpenID works for you. And let me know your feelings about
making such a switch.
-[[poll 0 ""Accept" only "OpenID" for "logins"" 0 ""Accept" only "password" logins" "0" "Accept "both""]]
+[[poll 0 "Accept only OpenID for logins" 0 "Accept only password logins" 0 "Accept both"]]
--[[Joey]]