|
From: <var...@us...> - 2021-10-13 07:46:46
|
Revision: 10630
http://sourceforge.net/p/phpwiki/code/10630
Author: vargenau
Date: 2021-10-13 07:46:45 +0000 (Wed, 13 Oct 2021)
Log Message:
-----------
lib/plugin/WikiPoll.php:avoid failure with admin argument
Modified Paths:
--------------
trunk/lib/plugin/WikiPoll.php
Modified: trunk/lib/plugin/WikiPoll.php
===================================================================
--- trunk/lib/plugin/WikiPoll.php 2021-10-12 17:14:07 UTC (rev 10629)
+++ trunk/lib/plugin/WikiPoll.php 2021-10-13 07:46:45 UTC (rev 10630)
@@ -46,9 +46,9 @@
function getDefaultArguments()
{
return array('page' => '[pagename]',
- 'admin' => false,
- 'require_all' => 1, // 1 if all questions must be answered
- 'require_least' => 0, // how many at least
+ 'admin' => false, // boolean: view and reset statistics
+ 'require_all' => true, // boolean: if all questions must be answered
+ 'require_least' => 0, // how many at least
);
}
@@ -142,8 +142,7 @@
if (!$args['page']) {
return $this->error(sprintf(_("A required argument “%s” is missing."), 'page'));
}
- if (!empty($args['admin']) and $request->_user->isAdmin()) {
- // reset statistics
+ if (!empty($args['admin'])) {
return $this->doPollAdmin($dbi, $request, $page);
}
extract($this->_args);
@@ -155,7 +154,7 @@
if (isset($poll['ip'][$ip]) and ((time() - $poll['ip'][$ip]) < 20 * 60)) {
//view at least the result or disable the Go button
$html = HTML::div();
- $html->pushContent(HTML::div(array('class' => 'warning'),
+ $html->pushContent(HTML::p(array('class' => 'warning'),
_("Sorry! You must wait at least 20 minutes until you can vote again!")));
$html->pushContent($this->doPoll($page, $request, $request->getArg('answer'), true));
return $html;
@@ -334,4 +333,14 @@
return array($percent, $poll['data']['count'][$i][$j], $poll['data']['all'][$i]);
}
+ // view and reset statistics
+ private function doPollAdmin($dbi, $request, $page)
+ {
+ if ($request->_user->isAdmin()) {
+ return HTML::p(array('class' => 'error'), _("Sorry, poll administration not yet implemented"));
+ } else {
+ return HTML::p(array('class' => 'error'),
+ _("You must be an administrator to reset statistics."));
+ }
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|