* Use POST for poll to avoid some robots.
parent
172596b998
commit
c269d5c789
|
@ -4,7 +4,6 @@ package IkiWiki::Plugin::poll;
|
||||||
use warnings;
|
use warnings;
|
||||||
use strict;
|
use strict;
|
||||||
use IkiWiki;
|
use IkiWiki;
|
||||||
use URI;
|
|
||||||
|
|
||||||
sub import { #{{{
|
sub import { #{{{
|
||||||
hook(type => "preprocess", id => "poll", call => \&preprocess);
|
hook(type => "preprocess", id => "poll", call => \&preprocess);
|
||||||
|
@ -45,24 +44,28 @@ sub preprocess (@) { #{{{
|
||||||
|
|
||||||
my $ret="";
|
my $ret="";
|
||||||
foreach my $choice (@choices) {
|
foreach my $choice (@choices) {
|
||||||
|
if ($open && exists $config{cgiurl}) {
|
||||||
|
$ret.="<form action=\"$config{cgiurl}\">\n";
|
||||||
|
}
|
||||||
my $percent=$total > 0 ? int($choices{$choice} / $total * 100) : 0;
|
my $percent=$total > 0 ? int($choices{$choice} / $total * 100) : 0;
|
||||||
|
$ret.="<p>\n";
|
||||||
if ($showpercent) {
|
if ($showpercent) {
|
||||||
$ret.="$choice ($percent%) ";
|
$ret.="$choice ($percent%)\n";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$ret.="$choice ($choices{$choice}) ";
|
$ret.="$choice ($choices{$choice})\n";
|
||||||
}
|
}
|
||||||
if ($open && exists $config{cgiurl}) {
|
if ($open && exists $config{cgiurl}) {
|
||||||
my $url=URI->new($config{cgiurl});
|
$ret.="<input type=\"hidden\" name=\"do\" value=\"poll\" />\n";
|
||||||
$url->query_form(
|
$ret.="<input type=\"hidden\" name=\"num\" value=\"$pagenum{$params{page}}\" />\n";
|
||||||
"do" => "poll",
|
$ret.="<input type=\"hidden\" name=\"page\" value=\"$params{page}\" />\n";
|
||||||
"num" => $pagenum{$params{page}},
|
$ret.="<input type=\"hidden\" name=\"choice\" value=\"$choice\" />\n";
|
||||||
"page" => $params{page},
|
$ret.="<input type=\"submit\" value=\"vote\" />\n";
|
||||||
"choice" => $choice,
|
}
|
||||||
);
|
$ret.="</p>\n<hr class=poll align=left width=\"$percent%\"/>\n";
|
||||||
$ret.="<a class=pollbutton href=\"$url\">vote</a>";
|
if ($open && exists $config{cgiurl}) {
|
||||||
|
$ret.="</form>\n";
|
||||||
}
|
}
|
||||||
$ret.="<br />\n<hr class=poll align=left width=\"$percent%\"/>\n";
|
|
||||||
}
|
}
|
||||||
if ($showtotal) {
|
if ($showtotal) {
|
||||||
$ret.="<span>Total votes: $total</span>\n";
|
$ret.="<span>Total votes: $total</span>\n";
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
ikiwiki (1.36) UNRELEASED; urgency=low
|
ikiwiki (1.36) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Fix various links on the hyperestradier pages.
|
* Fix various links on the hyperestradier pages.
|
||||||
|
* Use POST for poll to avoid some robots.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Mon, 4 Dec 2006 11:50:27 +0100
|
-- Joey Hess <joeyh@debian.org> Thu, 14 Dec 2006 14:04:25 -0500
|
||||||
|
|
||||||
ikiwiki (1.35) unstable; urgency=low
|
ikiwiki (1.35) unstable; urgency=low
|
||||||
|
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
The [[plugins/poll]] plugin uses GET for the vote links. As a result, the [[news/openid]] poll has a number of votes from Google. :)
|
The [[plugins/poll]] plugin uses GET for the vote links. As a result, the
|
||||||
|
[[news/openid]] poll has a number of votes from Google. :)
|
||||||
|
|
||||||
|
[[bugs/done]] -- [[Joey]]
|
||||||
|
|
Loading…
Reference in New Issue