svn: /web/php-wiki/trunk/ dokuwiki/lib/plugins/doodle/syntax.php systems/doodle-voting.diff
| From: | Philip Olson | Date: | Mon, 11 Jul 2011 16:11:49 +0000 |
| Subject: | svn: /web/php-wiki/trunk/ dokuwiki/lib/plugins/doodle/syntax.php systems/doodle-voting.diff | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-11568@lists.php.net to get a copy of this message | ||
philip Mon, 11 Jul 2011 16:11:49 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=313140
Log:
Added voting restriction to 'PHP SVN users' and 'voting' groups. Almost
implements rfc/voting. Patch by Ferenc Kovács (untested)
Changed paths:
U web/php-wiki/trunk/dokuwiki/lib/plugins/doodle/syntax.php
A web/php-wiki/trunk/systems/doodle-voting.diff
Modified: web/php-wiki/trunk/dokuwiki/lib/plugins/doodle/syntax.php
===================================================================
--- web/php-wiki/trunk/dokuwiki/lib/plugins/doodle/syntax.php 2011-07-11 16:00:02 UTC (rev 313139)
+++ web/php-wiki/trunk/dokuwiki/lib/plugins/doodle/syntax.php 2011-07-11 16:11:49 UTC (rev 313140)
@@ -199,9 +199,14 @@
}
//FIXME: count($choices) may be different from number of choices in $doodle data!
+ $can_vote = false;
+ if (count(array_intersect(array('admin', 'phpcvs', 'voting'),
$INFO['userinfo']['grps'])) > 0) {
+ $can_vote = true;
+ }
+
// ----- FORM ACTIONS (only allowed when showing the page, not when editing) -----
$formId = 'doodle__form__'.cleanID($this->params['title']);
- if ($ACT == 'show' && $_REQUEST['formId'] == $formId ) {
+ if ($ACT == 'show' && $_REQUEST['formId'] == $formId &&
$can_vote) {
// ---- cast new vote
if (!empty($_REQUEST['cast__vote'])) {
$this->castVote();
@@ -291,7 +296,7 @@
}
// ---- calculates if user is allowed to vote
- $this->template['inputTR'] = $this->getInputTR();
+ $this->template['inputTR'] = ($can_vote?$this->getInputTR():'');
// ----- I am using PHP as a templating enginge here.
//debout("Template", $this->template);
Added: web/php-wiki/trunk/systems/doodle-voting.diff
===================================================================
--- web/php-wiki/trunk/systems/doodle-voting.diff (rev 0)
+++ web/php-wiki/trunk/systems/doodle-voting.diff 2011-07-11 16:11:49 UTC (rev 313140)
@@ -0,0 +1,29 @@
+Index: dokuwiki/lib/plugins/doodle/syntax.php
+===================================================================
+--- dokuwiki/lib/plugins/doodle/syntax.php (revision 313139)
++++ dokuwiki/lib/plugins/doodle/syntax.php (working copy)
+@@ -199,9 +199,14 @@
+ }
+ //FIXME: count($choices) may be different from number of choices in $doodle data!
+
++ $can_vote = false;
++ if (count(array_intersect(array('admin', 'phpcvs',
'voting'), $INFO['userinfo']['grps'])) > 0) {
++ $can_vote = true;
++ }
++
+ // ----- FORM ACTIONS (only allowed when showing the page, not when editing) -----
+ $formId = 'doodle__form__'.cleanID($this->params['title']);
+- if ($ACT == 'show' && $_REQUEST['formId'] == $formId ) {
++ if ($ACT == 'show' && $_REQUEST['formId'] == $formId
&& $can_vote) {
+ // ---- cast new vote
+ if (!empty($_REQUEST['cast__vote'])) {
+ $this->castVote();
+@@ -291,7 +296,7 @@
+ }
+
+ // ---- calculates if user is allowed to vote
+- $this->template['inputTR'] = $this->getInputTR();
++ $this->template['inputTR'] = ($can_vote?$this->getInputTR():'');
+
+ // ----- I am using PHP as a templating enginge here.
+ //debout("Template", $this->template);