]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
[Poll] Refactoring and minor bug fixes
authorDiogo Cordeiro <diogo@fc.up.pt>
Sat, 22 Jun 2019 23:55:40 +0000 (00:55 +0100)
committerDiogo Cordeiro <diogo@fc.up.pt>
Sun, 23 Jun 2019 22:06:04 +0000 (23:06 +0100)
14 files changed:
lib/formaction.php
lib/managedaction.php
lib/widget.php
plugins/Poll/PollPlugin.php
plugins/Poll/actions/newpoll.php
plugins/Poll/actions/pollsettings.php
plugins/Poll/actions/respondpoll.php
plugins/Poll/actions/showpoll.php
plugins/Poll/classes/Poll.php
plugins/Poll/classes/Poll_response.php
plugins/Poll/forms/newpoll.php
plugins/Poll/forms/pollprefs.php
plugins/Poll/forms/pollresponse.php
plugins/Poll/forms/pollresult.php

index 7d74fc47130eaf20f6bb23b116e21eab8f9d6664..0eb52ddde56ad3b5768330dc48b4313b6aa70c5f 100644 (file)
@@ -47,7 +47,7 @@ class FormAction extends ManagedAction
     protected $needLogin = true;
     protected $canPost = true;
 
-    protected function prepare(array $args=array()) {
+    protected function prepare(array $args = []) {
         parent::prepare($args);
 
         $this->form = $this->form ?: ucfirst($this->action);
index 808c4af7cce02266b9be9d87be12ac4689e25899..e630925e8ffaa865c302465fa9a17a97d0c7f83d 100644 (file)
@@ -32,7 +32,7 @@ if (!defined('GNUSOCIAL')) { exit(1); }
 
 class ManagedAction extends Action
 {
-    protected function prepare(array $args=array())
+    protected function prepare(array $args = [])
     {
         if (!parent::prepare($args)) {
             return false;
index 227fe0ccee2d0fb6c1d70d4f04ae6ce5898605ec..8f06add134485186f0ef34e468dbb65ebffdc542 100644 (file)
@@ -63,7 +63,7 @@ class Widget
      * @param Action $out output helper, defaults to null
      */
 
-    function __construct(Action $out=null, array $widgetOpts=array())
+    function __construct(Action $out = null, array $widgetOpts = [])
     {
         $this->out = $out;
         if (!array_key_exists('scoped', $widgetOpts)) {
index 48ef15b280f3e9eaaebda1ff034b2ba37dd0ba7c..47a30823e1dd6410f009f823a1e9ecf009466dfd 100644 (file)
@@ -45,23 +45,23 @@ if (!defined('STATUSNET')) {
  */
 class PollPlugin extends MicroAppPlugin
 {
-    const PLUGIN_VERSION = '0.1.0';
+    const PLUGIN_VERSION = '0.1.1';
 
     // @fixme which domain should we use for these namespaces?
-    const POLL_OBJECT          = 'http://activityschema.org/object/poll';
+    const POLL_OBJECT = 'http://activityschema.org/object/poll';
     const POLL_RESPONSE_OBJECT = 'http://activityschema.org/object/poll-response';
 
-    var $oldSaveNew = true;
+    public $oldSaveNew = true;
 
     /**
      * Database schema setup
      *
-     * @see Schema
+     * @return boolean hook value; true means continue processing, false means stop.
      * @see ColumnDef
      *
-     * @return boolean hook value; true means continue processing, false means stop.
+     * @see Schema
      */
-    function onCheckSchema()
+    public function onCheckSchema()
     {
         $schema = Schema::get();
         $schema->ensureTable('poll', Poll::schemaDef());
@@ -77,7 +77,7 @@ class PollPlugin extends MicroAppPlugin
      *
      * @return boolean hook value
      */
-    function onEndShowStyles($action)
+    public function onEndShowStyles($action)
     {
         $action->cssLink($this->path('css/poll.css'));
         return true;
@@ -92,23 +92,33 @@ class PollPlugin extends MicroAppPlugin
      */
     public function onRouterInitialized(URLMapper $m)
     {
-        $m->connect('main/poll/new',
-                    array('action' => 'newpoll'));
-
-        $m->connect('main/poll/:id',
-                    array('action' => 'showpoll'),
-                    array('id' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'));
-
-        $m->connect('main/poll/response/:id',
-                    array('action' => 'showpollresponse'),
-                    array('id' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'));
-
-        $m->connect('main/poll/:id/respond',
-                    array('action' => 'respondpoll'),
-                    array('id' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'));
-
-        $m->connect('settings/poll',
-                    array('action' => 'pollsettings'));
+        $m->connect(
+            'main/poll/new',
+            array('action' => 'newpoll')
+        );
+
+        $m->connect(
+            'main/poll/:id',
+            array('action' => 'showpoll'),
+            array('id' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
+        );
+
+        $m->connect(
+            'main/poll/response/:id',
+            array('action' => 'showpollresponse'),
+            array('id' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
+        );
+
+        $m->connect(
+            'main/poll/:id/respond',
+            array('action' => 'respondpoll'),
+            array('id' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
+        );
+
+        $m->connect(
+            'settings/poll',
+            array('action' => 'pollsettings')
+        );
 
         return true;
     }
@@ -118,21 +128,22 @@ class PollPlugin extends MicroAppPlugin
      *
      * @param array &$versions array of version data
      *
-     * @return value
+     * @return bool true hook value
+     * @throws Exception
      */
-    function onPluginVersion(array &$versions)
+    public function onPluginVersion(array &$versions)
     {
         $versions[] = array('name' => 'Poll',
-                            'version' => self::PLUGIN_VERSION,
-                            'author' => 'Brion Vibber',
-                            'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/Poll',
-                            'rawdescription' =>
-                            // TRANS: Plugin description.
-                            _m('Simple extension for supporting basic polls.'));
+            'version' => self::PLUGIN_VERSION,
+            'author' => 'Brion Vibber',
+            'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/Poll',
+            'rawdescription' =>
+            // TRANS: Plugin description.
+                _m('Simple extension for supporting basic polls.'));
         return true;
     }
 
-    function types()
+    public function types()
     {
         return array(self::POLL_OBJECT, self::POLL_RESPONSE_OBJECT);
     }
@@ -144,7 +155,7 @@ class PollPlugin extends MicroAppPlugin
      *
      * @return boolean hook value
      */
-    function deleteRelated(Notice $notice)
+    public function deleteRelated(Notice $notice)
     {
         $p = Poll::getByNotice($notice);
 
@@ -158,13 +169,14 @@ class PollPlugin extends MicroAppPlugin
     /**
      * Save a poll from an activity
      *
-     * @param Profile  $profile  Profile to use as author
      * @param Activity $activity Activity to save
-     * @param array    $options  Options to pass to bookmark-saving code
+     * @param Profile $profile Profile to use as author
+     * @param array $options Options to pass to bookmark-saving code
      *
      * @return Notice resulting notice
+     * @throws Exception if it failed
      */
-    function saveNoticeFromActivity(Activity $activity, Profile $profile, array $options=array())
+    public function saveNoticeFromActivity(Activity $activity, Profile $profile, array $options = array())
     {
         // @fixme
         common_log(LOG_DEBUG, "XXX activity: " . var_export($activity, true));
@@ -178,7 +190,7 @@ class PollPlugin extends MicroAppPlugin
             $responseElements = $activity->entry->getElementsByTagNameNS(self::POLL_OBJECT, 'response');
             if ($pollElements->length) {
                 $question = '';
-                $opts = array();
+                $opts = [];
 
                 $data = $pollElements->item(0);
                 foreach ($data->getElementsByTagNameNS(self::POLL_OBJECT, 'question') as $node) {
@@ -194,7 +206,7 @@ class PollPlugin extends MicroAppPlugin
                 } catch (Exception $e) {
                     common_log(LOG_DEBUG, "Poll save from ActivityStream data failed: " . $e->getMessage());
                 }
-            } else if ($responseElements->length) {
+            } elseif ($responseElements->length) {
                 $data = $responseElements->item(0);
                 $pollUri = $data->getAttribute('poll');
                 $selection = intval($data->getAttribute('selection'));
@@ -213,38 +225,41 @@ class PollPlugin extends MicroAppPlugin
                     common_log(LOG_DEBUG, "Saved Poll_response ok, notice id: " . $notice->id);
                     return $notice;
                 } catch (Exception $e) {
-                    common_log(LOG_DEBUG, "Poll response  save fail: " . $e->getMessage());
+                    common_log(LOG_DEBUG, "Poll response save fail: " . $e->getMessage());
+                    // TRANS: Exception thrown trying to respond to a non-existing poll.
                 }
             } else {
                 common_log(LOG_DEBUG, "YYY no poll data");
             }
         }
+        // If it didn't return before
+        throw new ServerException(_m('Failed to save Poll response.'));
     }
 
-    function activityObjectFromNotice(Notice $notice)
+    public function activityObjectFromNotice(Notice $notice)
     {
         assert($this->isMyNotice($notice));
 
         switch ($notice->object_type) {
-        case self::POLL_OBJECT:
-            return $this->activityObjectFromNoticePoll($notice);
-        case self::POLL_RESPONSE_OBJECT:
-            return $this->activityObjectFromNoticePollResponse($notice);
-        default:
-            // TRANS: Exception thrown when performing an unexpected action on a poll.
-            // TRANS: %s is the unexpected object type.
-            throw new Exception(sprintf(_m('Unexpected type for poll plugin: %s.'), $notice->object_type));
+            case self::POLL_OBJECT:
+                return $this->activityObjectFromNoticePoll($notice);
+            case self::POLL_RESPONSE_OBJECT:
+                return $this->activityObjectFromNoticePollResponse($notice);
+            default:
+                // TRANS: Exception thrown when performing an unexpected action on a poll.
+                // TRANS: %s is the unexpected object type.
+                throw new Exception(sprintf(_m('Unexpected type for poll plugin: %s.'), $notice->object_type));
         }
     }
 
-    function activityObjectFromNoticePollResponse(Notice $notice)
+    public function activityObjectFromNoticePollResponse(Notice $notice)
     {
         $object = new ActivityObject();
-        $object->id      = $notice->uri;
-        $object->type    = self::POLL_RESPONSE_OBJECT;
-        $object->title   = $notice->content;
+        $object->id = $notice->uri;
+        $object->type = self::POLL_RESPONSE_OBJECT;
+        $object->title = $notice->content;
         $object->summary = $notice->content;
-        $object->link    = $notice->getUrl();
+        $object->link = $notice->getUrl();
 
         $response = Poll_response::getByNotice($notice);
         if ($response) {
@@ -260,14 +275,14 @@ class PollPlugin extends MicroAppPlugin
         return $object;
     }
 
-    function activityObjectFromNoticePoll(Notice $notice)
+    public function activityObjectFromNoticePoll(Notice $notice)
     {
         $object = new ActivityObject();
-        $object->id      = $notice->uri;
-        $object->type    = self::POLL_OBJECT;
-        $object->title   = $notice->content;
+        $object->id = $notice->uri;
+        $object->type = self::POLL_OBJECT;
+        $object->title = $notice->content;
         $object->summary = $notice->content;
-        $object->link    = $notice->getUrl();
+        $object->link = $notice->getUrl();
 
         $poll = Poll::getByNotice($notice);
         if ($poll) {
@@ -295,7 +310,7 @@ class PollPlugin extends MicroAppPlugin
      * @param ActivityObject $obj
      * @param XMLOutputter $out to add elements at end of object
      */
-    function activityObjectOutputAtom(ActivityObject $obj, XMLOutputter $out)
+    public function activityObjectOutputAtom(ActivityObject $obj, XMLOutputter $out)
     {
         if (isset($obj->pollQuestion)) {
             /**
@@ -321,8 +336,8 @@ class PollPlugin extends MicroAppPlugin
              *                selection="3" />
              */
             $data = array('xmlns:poll' => self::POLL_OBJECT,
-                          'poll'       => $obj->pollUri,
-                          'selection'  => $obj->pollSelection);
+                'poll' => $obj->pollUri,
+                'selection' => $obj->pollSelection);
             $out->element('poll:response', $data, '');
         }
     }
@@ -356,7 +371,7 @@ class PollPlugin extends MicroAppPlugin
              * }
              */
             $data = array('question' => $obj->pollQuestion,
-                          'options' => array());
+                'options' => array());
             foreach ($obj->pollOptions as $opt) {
                 $data['options'][] = $opt;
             }
@@ -369,30 +384,30 @@ class PollPlugin extends MicroAppPlugin
              *   "selection": 3
              * }
              */
-            $data = array('poll'       => $obj->pollUri,
-                          'selection'  => $obj->pollSelection);
+            $data = array('poll' => $obj->pollUri,
+                'selection' => $obj->pollSelection);
             $out['pollResponse'] = $data;
         }
     }
 
-    function entryForm($out)
+    public function entryForm($out)
     {
         return new NewPollForm($out);
     }
 
     // @fixme is this from parent?
-    function tag()
+    public function tag()
     {
         return 'poll';
     }
 
-    function appTitle()
+    public function appTitle()
     {
         // TRANS: Application title.
-        return _m('APPTITLE','Poll');
+        return _m('APPTITLE', 'Poll');
     }
 
-    function onStartAddNoticeReply($nli, $parent, $child)
+    public function onStartAddNoticeReply($nli, $parent, $child)
     {
         // Filter out any poll responses
         if ($parent->object_type == self::POLL_OBJECT &&
@@ -404,7 +419,8 @@ class PollPlugin extends MicroAppPlugin
 
     // Hide poll responses for @chuck
 
-    function onEndNoticeWhoGets($notice, &$ni) {
+    public function onEndNoticeWhoGets($notice, &$ni)
+    {
         if ($notice->object_type == self::POLL_RESPONSE_OBJECT) {
             foreach ($ni as $id => $source) {
                 $user = User::getKV('id', $id);
@@ -427,21 +443,23 @@ class PollPlugin extends MicroAppPlugin
      * @return boolean hook return
      */
 
-    function onEndAccountSettingsNav($action)
+    public function onEndAccountSettingsNav($action)
     {
         $action_name = $action->trimmed('action');
 
-        $action->menuItem(common_local_url('pollsettings'),
-                          // TRANS: Poll plugin menu item on user settings page.
-                          _m('MENU', 'Polls'),
-                          // TRANS: Poll plugin tooltip for user settings menu item.
-                          _m('Configure poll behavior'),
-                          $action_name === 'pollsettings');
+        $action->menuItem(
+            common_local_url('pollsettings'),
+            // TRANS: Poll plugin menu item on user settings page.
+            _m('MENU', 'Polls'),
+            // TRANS: Poll plugin tooltip for user settings menu item.
+            _m('Configure poll behavior'),
+            $action_name === 'pollsettings'
+        );
 
         return true;
     }
 
-    protected function showNoticeContent(Notice $stored, HTMLOutputter $out, Profile $scoped=null)
+    protected function showNoticeContent(Notice $stored, HTMLOutputter $out, Profile $scoped = null)
     {
         if ($stored->object_type == self::POLL_RESPONSE_OBJECT) {
             parent::showNoticeContent($stored, $out, $scoped);
index 045b895e294589fa9d541057e02a5fafdef895a3..eaf87c16d46694e25c91ca014f8af2c4568f5614 100644 (file)
@@ -45,19 +45,20 @@ if (!defined('STATUSNET')) {
  */
 class NewPollAction extends Action
 {
-    protected $user        = null;
-    protected $error       = null;
-    protected $complete    = null;
+    protected $user = null;
+    protected $error = null;
+    protected $complete = null;
 
-    protected $question    = null;
-    protected $options     = array();
+    protected $question = null;
+    protected $options = array();
 
     /**
      * Returns the title of the action
      *
      * @return string Action title
+     * @throws Exception
      */
-    function title()
+    public function title()
     {
         // TRANS: Title for poll page.
         return _m('New poll');
@@ -71,7 +72,7 @@ class NewPollAction extends Action
      * @return boolean true
      * @throws ClientException
      */
-    function prepare(array $args = [])
+    public function prepare(array $args = [])
     {
         parent::prepare($args);
 
@@ -79,8 +80,10 @@ class NewPollAction extends Action
 
         if (empty($this->user)) {
             // TRANS: Client exception thrown trying to create a poll while not logged in.
-            throw new ClientException(_m('You must be logged in to post a poll.'),
-                                      403);
+            throw new ClientException(
+                _m('You must be logged in to post a poll.'),
+                403
+            );
         }
 
         if ($this->isPost()) {
@@ -102,8 +105,12 @@ class NewPollAction extends Action
      * Handler method
      *
      * @return void
+     * @throws ClientException
+     * @throws InvalidUrlException
+     * @throws ReflectionException
+     * @throws ServerException
      */
-    function handle()
+    public function handle()
     {
         parent::handle();
 
@@ -120,15 +127,19 @@ class NewPollAction extends Action
      * Add a new Poll
      *
      * @return void
+     * @throws ClientException
+     * @throws InvalidUrlException
+     * @throws ReflectionException
+     * @throws ServerException
      */
-    function newPoll()
+    public function newPoll()
     {
         if ($this->boolean('ajax')) {
             GNUsocial::setApi(true);
         }
         try {
             if (empty($this->question)) {
-            // TRANS: Client exception thrown trying to create a poll without a question.
+                // TRANS: Client exception thrown trying to create a poll without a question.
                 throw new ClientException(_m('Poll must have a question.'));
             }
 
@@ -145,11 +156,12 @@ class NewPollAction extends Action
 
             ToSelector::fillOptions($this, $options);
 
-            $saved = Poll::saveNew($this->user->getProfile(),
-                                   $this->question,
-                                   $this->options,
-                                   $options);
-
+            $saved = Poll::saveNew(
+                $this->user->getProfile(),
+                $this->question,
+                $this->options,
+                $options
+            );
         } catch (ClientException $ce) {
             $this->error = $ce->getMessage();
             $this->showPage();
@@ -180,7 +192,7 @@ class NewPollAction extends Action
      *
      * @return void
      */
-    function showNotice(Notice $notice)
+    public function showNotice(Notice $notice)
     {
         class_exists('NoticeList'); // @fixme hack for autoloader
         $nli = new NoticeListItem($notice, $this);
@@ -192,15 +204,17 @@ class NewPollAction extends Action
      *
      * @return void
      */
-    function showContent()
+    public function showContent()
     {
         if (!empty($this->error)) {
             $this->element('p', 'error', $this->error);
         }
 
-        $form = new NewPollForm($this,
-                                 $this->question,
-                                 $this->options);
+        $form = new NewPollForm(
+            $this,
+            $this->question,
+            $this->options
+        );
 
         $form->show();
 
@@ -216,7 +230,7 @@ class NewPollAction extends Action
      *
      * @return boolean is read only action?
      */
-    function isReadOnly($args)
+    public function isReadOnly($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'GET' ||
             $_SERVER['REQUEST_METHOD'] == 'HEAD') {
index b95465d8d6e0e99b3a57cf3149ff2664a99e6279..e8595bed5eb46a7a99b39839982d3dac8c2f6a11 100644 (file)
@@ -27,7 +27,9 @@
  * @link      http://status.net/
  */
 
-if (!defined('GNUSOCIAL')) { exit(1); }
+if (!defined('GNUSOCIAL')) {
+    exit(1);
+}
 
 class PollSettingsAction extends SettingsAction
 {
@@ -36,7 +38,7 @@ class PollSettingsAction extends SettingsAction
      *
      * @return string Page title
      */
-    function title()
+    public function title()
     {
         // TRANS: Page title.
         return _m('Poll settings');
@@ -48,7 +50,7 @@ class PollSettingsAction extends SettingsAction
      * @return string Instructions for use
      */
 
-    function getInstructions()
+    public function getInstructions()
     {
         // TRANS: Page instructions.
         return _m('Set your poll preferences');
@@ -57,7 +59,7 @@ class PollSettingsAction extends SettingsAction
     protected function getForm()
     {
         $prefs = User_poll_prefs::getKV('user_id', $this->scoped->getID());
-        $form = new PollPrefsForm($this, $prefs);
+        $form = new PollPrefsForm($this, $prefs ? $prefs : null);
         return $form;
     }
 
@@ -75,7 +77,7 @@ class PollSettingsAction extends SettingsAction
         }
 
         $upp->hide_responses = $this->boolean('hide_responses');
-        $upp->modified       = common_sql_now();
+        $upp->modified = common_sql_now();
 
         if ($orig instanceof User_poll_prefs) {
             $upp->update($orig);
index a93e71fc8274ae57685227bda0ceb78c164f9de5..7748b1afc32b5049145d060592b8e6efed7a0f20 100644 (file)
@@ -56,8 +56,9 @@ class RespondPollAction extends Action
      * Returns the title of the action
      *
      * @return string Action title
+     * @throws Exception
      */
-    function title()
+    public function title()
     {
         // TRANS: Page title for poll response.
         return _m('Poll response');
@@ -70,8 +71,10 @@ class RespondPollAction extends Action
      *
      * @return boolean true
      * @throws ClientException
+     * @throws Exception
+     * @throws Exception
      */
-    function prepare(array $args = [])
+    public function prepare(array $args = [])
     {
         parent::prepare($args);
         if ($this->boolean('ajax')) {
@@ -82,8 +85,10 @@ class RespondPollAction extends Action
 
         if (empty($this->user)) {
             // TRANS: Client exception thrown trying to respond to a poll while not logged in.
-            throw new ClientException(_m('You must be logged in to respond to a poll.'),
-                403);
+            throw new ClientException(
+                _m('You must be logged in to respond to a poll.'),
+                403
+            );
         }
 
         if ($this->isPost()) {
@@ -111,8 +116,11 @@ class RespondPollAction extends Action
      * Handler method
      *
      * @return void
+     * @throws ClientException
+     * @throws ReflectionException
+     * @throws ServerException
      */
-    function handle()
+    public function handle()
     {
         parent::handle();
 
@@ -129,13 +137,18 @@ class RespondPollAction extends Action
      * Add a new Poll
      *
      * @return void
+     * @throws ClientException
+     * @throws ReflectionException
+     * @throws ServerException
      */
-    function respondPoll()
+    public function respondPoll()
     {
         try {
-            $notice = Poll_response::saveNew($this->user->getProfile(),
+            Poll_response::saveNew(
+                $this->user->getProfile(),
                 $this->poll,
-                $this->selection);
+                $this->selection
+            );
         } catch (ClientException $ce) {
             $this->error = $ce->getMessage();
             $this->showPage();
@@ -163,7 +176,7 @@ class RespondPollAction extends Action
      *
      * @return void
      */
-    function showContent()
+    public function showContent()
     {
         if (!empty($this->error)) {
             $this->element('p', 'error', $this->error);
@@ -185,7 +198,7 @@ class RespondPollAction extends Action
      *
      * @return boolean is read only action?
      */
-    function isReadOnly($args)
+    public function isReadOnly($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'GET' ||
             $_SERVER['REQUEST_METHOD'] == 'HEAD') {
index 91f661edd26e1b896d8b93a3c0c237f2c6a25c8b..735d4e0e28ab0033184b211af580bbdb09f05b71 100644 (file)
@@ -48,7 +48,7 @@ class ShowPollAction extends ShownoticeAction
 {
     protected $poll = null;
 
-    function getNotice()
+    public function getNotice()
     {
         $this->id = $this->trimmed('id');
 
@@ -77,19 +77,21 @@ class ShowPollAction extends ShownoticeAction
      *
      * @return string page tile
      */
-    function title()
+    public function title()
     {
         // TRANS: Page title for a poll.
         // TRANS: %1$s is the nickname of the user that created the poll, %2$s is the poll question.
-        return sprintf(_m('%1$s\'s poll: %2$s'),
-                       $this->user->nickname,
-                       $this->poll->question);
+        return sprintf(
+            _m('%1$s\'s poll: %2$s'),
+            $this->user->nickname,
+            $this->poll->question
+        );
     }
 
     /**
      * @fixme combine the notice time with poll update time
      */
-    function lastModified()
+    public function lastModified()
     {
         return Action::lastModified();
     }
@@ -98,7 +100,7 @@ class ShowPollAction extends ShownoticeAction
     /**
      * @fixme combine the notice time with poll update time
      */
-    function etag()
+    public function etag()
     {
         return Action::etag();
     }
index 59161704a9dd1def3e7c8d88323bd98fbce636ed..6a97a52441a79640b326de70d137e52b42e64147 100644 (file)
@@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
  *
  * @see      DB_DataObject
  */
-
 class Poll extends Managed_DataObject
 {
     public $__table = 'poll'; // table name
@@ -80,14 +79,14 @@ class Poll extends Managed_DataObject
      *
      * @param Notice $notice Notice to check for
      *
-     * @return Poll found poll or null
+     * @return get_called_class found poll or null
      */
-    static function getByNotice($notice)
+    public static function getByNotice($notice)
     {
         return self::getKV('uri', $notice->uri);
     }
 
-    function getOptions()
+    public function getOptions()
     {
         return explode("\n", $this->options);
     }
@@ -95,10 +94,10 @@ class Poll extends Managed_DataObject
     /**
      * Is this a valid selection index?
      *
-     * @param numeric $selection (1-based)
+     * @param int $selection (1-based)
      * @return boolean
      */
-    function isValidSelection($selection)
+    public function isValidSelection($selection)
     {
         if ($selection != intval($selection)) {
             return false;
@@ -109,12 +108,12 @@ class Poll extends Managed_DataObject
         return true;
     }
 
-    function getNotice()
+    public function getNotice()
     {
         return Notice::getKV('uri', $this->uri);
     }
 
-    function getUrl()
+    public function getUrl()
     {
         return $this->getNotice()->getUrl();
     }
@@ -123,16 +122,16 @@ class Poll extends Managed_DataObject
      * Get the response of a particular user to this poll, if any.
      *
      * @param Profile $profile
-     * @return Poll_response object or null
+     * @return get_called_class object or null
      */
-    function getResponse(Profile $profile)
+    public function getResponse(Profile $profile)
     {
-       $pr = Poll_response::pkeyGet(array('poll_id' => $this->id,
-                                                                          'profile_id' => $profile->id));
-       return $pr;
+        $pr = Poll_response::pkeyGet(array('poll_id' => $this->id,
+            'profile_id' => $profile->id));
+        return $pr;
     }
 
-    function countResponses()
+    public function countResponses()
     {
         $pr = new Poll_response();
         $pr->poll_id = $this->id;
@@ -162,12 +161,14 @@ class Poll extends Managed_DataObject
      * Save a new poll notice
      *
      * @param Profile $profile
-     * @param string  $question
-     * @param array   $opts (poll responses)
+     * @param string $question
+     * @param array $opts (poll responses)
      *
+     * @param null $options
      * @return Notice saved notice
+     * @throws ClientException
      */
-    static function saveNew($profile, $question, $opts, $options=null)
+    public static function saveNew($profile, $question, $opts, $options = null)
     {
         if (empty($options)) {
             $options = array();
@@ -175,10 +176,10 @@ class Poll extends Managed_DataObject
 
         $p = new Poll();
 
-        $p->id          = UUID::gen();
-        $p->profile_id  = $profile->id;
-        $p->question    = $question;
-        $p->options     = implode("\n", $opts);
+        $p->id = UUID::gen();
+        $p->profile_id = $profile->id;
+        $p->question = $question;
+        $p->options = implode("\n", $opts);
 
         if (array_key_exists('created', $options)) {
             $p->created = $options['created'];
@@ -189,8 +190,10 @@ class Poll extends Managed_DataObject
         if (array_key_exists('uri', $options)) {
             $p->uri = $options['uri'];
         } else {
-            $p->uri = common_local_url('showpoll',
-                                        array('id' => $p->id));
+            $p->uri = common_local_url(
+                'showpoll',
+                array('id' => $p->id)
+            );
         }
 
         common_log(LOG_DEBUG, "Saving poll: $p->id $p->uri");
@@ -198,33 +201,39 @@ class Poll extends Managed_DataObject
 
         // TRANS: Notice content creating a poll.
         // TRANS: %1$s is the poll question, %2$s is a link to the poll.
-        $content  = sprintf(_m('Poll: %1$s %2$s'),
-                            $question,
-                            $p->uri);
+        $content = sprintf(
+            _m('Poll: %1$s %2$s'),
+            $question,
+            $p->uri
+        );
         $link = '<a href="' . htmlspecialchars($p->uri) . '">' . htmlspecialchars($question) . '</a>';
         // TRANS: Rendered version of the notice content creating a poll.
         // TRANS: %s is a link to the poll with the question as link description.
         $rendered = sprintf(_m('Poll: %s'), $link);
 
-        $tags    = array('poll');
+        $tags = array('poll');
         $replies = array();
 
-        $options = array_merge(array('urls' => array(),
-                                     'rendered' => $rendered,
-                                     'tags' => $tags,
-                                     'replies' => $replies,
-                                     'object_type' => PollPlugin::POLL_OBJECT),
-                               $options);
+        $options = array_merge(
+            array('urls' => array(),
+                'rendered' => $rendered,
+                'tags' => $tags,
+                'replies' => $replies,
+                'object_type' => PollPlugin::POLL_OBJECT),
+            $options
+        );
 
         if (!array_key_exists('uri', $options)) {
             $options['uri'] = $p->uri;
         }
 
-        $saved = Notice::saveNew($profile->id,
-                                 $content,
-                                 array_key_exists('source', $options) ?
-                                 $options['source'] : 'web',
-                                 $options);
+        $saved = Notice::saveNew(
+            $profile->id,
+            $content,
+            array_key_exists('source', $options) ?
+                $options['source'] : 'web',
+            $options
+        );
 
         return $saved;
     }
index 78aec7ea0513c5818c6c0b570522edd1464a7805..1997f4b64fa8d2101704f246a301d9a27876e914 100644 (file)
@@ -83,9 +83,9 @@ class Poll_response extends Managed_DataObject
      *
      * @param Notice $notice Notice to check for
      *
-     * @return Poll_response found response or null
+     * @return get_called_class found response or null
      */
-    static function getByNotice($notice)
+    public static function getByNotice($notice)
     {
         return self::getKV('uri', $notice->uri);
     }
@@ -93,40 +93,41 @@ class Poll_response extends Managed_DataObject
     /**
      * Get the notice that belongs to this response...
      *
-     * @return Notice
+     * @return get_called_class
      */
-    function getNotice()
+    public function getNotice()
     {
         return Notice::getKV('uri', $this->uri);
     }
 
-    function getUrl()
+    public function getUrl()
     {
         return $this->getNotice()->getUrl();
     }
 
     /**
      *
-     * @return Poll
+     * @return get_called_class
      */
-    function getPoll()
+    public function getPoll()
     {
         return Poll::getKV('id', $this->poll_id);
     }
+
     /**
      * Save a new poll notice
      *
      * @param Profile $profile
-     * @param Poll    $poll the poll being responded to
-     * @param int     $selection (1-based)
-     * @param array   $opts (poll responses)
-     *
+     * @param Poll $poll the poll being responded to
+     * @param int $selection (1-based)
+     * @param null $options
      * @return Notice saved notice
+     * @throws ClientException
      */
-    static function saveNew($profile, $poll, $selection, $options=null)
+    public static function saveNew($profile, $poll, $selection, $options = null)
     {
         if (empty($options)) {
-            $options = array();
+            $options = [];
         }
 
         if (!$poll->isValidSelection($selection)) {
@@ -137,10 +138,10 @@ class Poll_response extends Managed_DataObject
         $answer = $opts[$selection - 1];
 
         $pr = new Poll_response();
-        $pr->id          = UUID::gen();
-        $pr->profile_id  = $profile->id;
-        $pr->poll_id     = $poll->id;
-        $pr->selection   = $selection;
+        $pr->id = UUID::gen();
+        $pr->profile_id = $profile->id;
+        $pr->poll_id = $poll->id;
+        $pr->selection = $selection;
 
         if (array_key_exists('created', $options)) {
             $pr->created = $options['created'];
@@ -151,8 +152,10 @@ class Poll_response extends Managed_DataObject
         if (array_key_exists('uri', $options)) {
             $pr->uri = $options['uri'];
         } else {
-            $pr->uri = common_local_url('showpollresponse',
-                                        array('id' => $pr->id));
+            $pr->uri = common_local_url(
+                'showpollresponse',
+                array('id' => $pr->id)
+            );
         }
 
         common_log(LOG_DEBUG, "Saving poll response: $pr->id $pr->uri");
@@ -160,31 +163,37 @@ class Poll_response extends Managed_DataObject
 
         // TRANS: Notice content voting for a poll.
         // TRANS: %s is the chosen option in the poll.
-        $content  = sprintf(_m('voted for "%s"'),
-                            $answer);
+        $content = sprintf(
+            _m('voted for "%s"'),
+            $answer
+        );
         $link = '<a href="' . htmlspecialchars($poll->uri) . '">' . htmlspecialchars($answer) . '</a>';
         // TRANS: Rendered version of the notice content voting for a poll.
         // TRANS: %s a link to the poll with the chosen option as link description.
         $rendered = sprintf(_m('voted for "%s"'), $link);
 
-        $tags    = array();
+        $tags = array();
 
-        $options = array_merge(array('urls' => array(),
-                                     'rendered' => $rendered,
-                                     'tags' => $tags,
-                                     'reply_to' => $poll->getNotice()->id,
-                                     'object_type' => PollPlugin::POLL_RESPONSE_OBJECT),
-                               $options);
+        $options = array_merge(
+            array('urls' => array(),
+                'rendered' => $rendered,
+                'tags' => $tags,
+                'reply_to' => $poll->getNotice()->id,
+                'object_type' => PollPlugin::POLL_RESPONSE_OBJECT),
+            $options
+        );
 
         if (!array_key_exists('uri', $options)) {
             $options['uri'] = $pr->uri;
         }
 
-        $saved = Notice::saveNew($profile->id,
-                                 $content,
-                                 array_key_exists('source', $options) ?
-                                 $options['source'] : 'web',
-                                 $options);
+        $saved = Notice::saveNew(
+            $profile->id,
+            $content,
+            array_key_exists('source', $options) ?
+                $options['source'] : 'web',
+            $options
+        );
 
         return $saved;
     }
index 5c527c5cd24debd1db7f73bfb2bfad3c204e684b..3a2e60fbb76aeb0902f728f05651618ca2c9bb52 100644 (file)
@@ -52,11 +52,12 @@ class NewpollForm extends Form
     /**
      * Construct a new poll form
      *
-     * @param HTMLOutputter $out         output channel
+     * @param HTMLOutputter $out output channel
      *
-     * @return void
+     * @param null $question
+     * @param null $options
      */
-    function __construct($out=null, $question=null, $options=null)
+    public function __construct(HTMLOutputter $out = null, $question = null, $options = null)
     {
         parent::__construct($out);
     }
@@ -66,7 +67,7 @@ class NewpollForm extends Form
      *
      * @return int ID of the form
      */
-    function id()
+    public function id()
     {
         return 'newpoll-form';
     }
@@ -76,7 +77,7 @@ class NewpollForm extends Form
      *
      * @return string class of the form
      */
-    function formClass()
+    public function formClass()
     {
         return 'form_settings ajax-notice';
     }
@@ -86,7 +87,7 @@ class NewpollForm extends Form
      *
      * @return string URL of the action
      */
-    function action()
+    public function action()
     {
         return common_local_url('newpoll');
     }
@@ -96,20 +97,22 @@ class NewpollForm extends Form
      *
      * @return void
      */
-    function formData()
+    public function formData()
     {
         $this->out->elementStart('fieldset', array('id' => 'newpoll-data'));
         $this->out->elementStart('ul', 'form_data');
 
         $this->li();
-        $this->out->input('question',
-                          // TRANS: Field label on the page to create a poll.
-                          _m('Question'),
-                          $this->question,
-                          // TRANS: Field title on the page to create a poll.
-                          _m('What question are people answering?'),
-                          'question',
-                          true);    // HTML5 "required" attribute
+        $this->out->input(
+            'question',
+            // TRANS: Field label on the page to create a poll.
+            _m('Question'),
+            $this->question,
+            // TRANS: Field title on the page to create a poll.
+            _m('What question are people answering?'),
+            'question',
+            true
+        );    // HTML5 "required" attribute
         $this->unli();
 
         $max = 5;
@@ -124,22 +127,26 @@ class NewpollForm extends Form
                 $default = '';
             }
             $this->li();
-            $this->out->input('poll-option' . ($i + 1),
-                              // TRANS: Field label for an answer option on the page to create a poll.
-                              // TRANS: %d is the option number.
-                              sprintf(_m('Option %d'), $i + 1),
-                              $default,
-                              null,
-                              'option' . ($i + 1),
-                              $i<2);   // HTML5 "required" attribute for 2 options
+            $this->out->input(
+                'poll-option' . ($i + 1),
+                // TRANS: Field label for an answer option on the page to create a poll.
+                // TRANS: %d is the option number.
+                sprintf(_m('Option %d'), $i + 1),
+                $default,
+                null,
+                'option' . ($i + 1),
+                $i < 2
+            );   // HTML5 "required" attribute for 2 options
             $this->unli();
         }
 
         $this->out->elementEnd('ul');
 
-        $toWidget = new ToSelector($this->out,
-                                   common_current_user(),
-                                   null);
+        $toWidget = new ToSelector(
+            $this->out,
+            common_current_user(),
+            null
+        );
         $toWidget->show();
 
         $this->out->elementEnd('fieldset');
@@ -150,7 +157,7 @@ class NewpollForm extends Form
      *
      * @return void
      */
-    function formActions()
+    public function formActions()
     {
         // TRANS: Button text for saving a new poll.
         $this->out->submit('poll-submit', _m('BUTTON', 'Save'), 'submit', 'submit');
index 627b77d948fc8fc08f0b50212a1c2a6f80abcb55..ff0dbd80745406c541376e88b7ae5bcb7d5ccdaa 100644 (file)
@@ -1,10 +1,12 @@
 <?php
 
-if (!defined('GNUSOCIAL')) { exit(1); }
+if (!defined('GNUSOCIAL')) {
+    exit(1);
+}
 
 class PollPrefsForm extends Form
 {
-    function __construct(Action $out, User_poll_prefs $prefs=null)
+    public function __construct(Action $out, User_poll_prefs $prefs = null)
     {
         parent::__construct($out);
         $this->prefs = $prefs;
@@ -19,14 +21,16 @@ class PollPrefsForm extends Form
      * @return void
      */
 
-    function formData()
+    public function formData()
     {
         $this->elementStart('fieldset');
         $this->elementStart('ul', 'form_data');
         $this->elementStart('li');
-        $this->checkbox('hide_responses',
-                        _('Do not deliver poll responses to my home timeline'),
-                        ($this->prefs instanceof User_poll_prefs && $this->prefs->hide_responses));
+        $this->checkbox(
+            'hide_responses',
+            _('Do not deliver poll responses to my home timeline'),
+            ($this->prefs instanceof User_poll_prefs && $this->prefs->hide_responses)
+        );
         $this->elementEnd('li');
         $this->elementEnd('ul');
         $this->elementEnd('fieldset');
@@ -41,7 +45,7 @@ class PollPrefsForm extends Form
      * @return void
      */
 
-    function formActions()
+    public function formActions()
     {
         $this->submit('submit', _('Save'));
     }
@@ -55,7 +59,7 @@ class PollPrefsForm extends Form
      * @return int ID of the form
      */
 
-    function id()
+    public function id()
     {
         return 'form_poll_prefs';
     }
@@ -69,7 +73,7 @@ class PollPrefsForm extends Form
      * @return string URL to post to
      */
 
-    function action()
+    public function action()
     {
         return common_local_url('pollsettings');
     }
@@ -80,7 +84,7 @@ class PollPrefsForm extends Form
      * @return string the form's class
      */
 
-    function formClass()
+    public function formClass()
     {
         return 'form_settings';
     }
index 31e8db94148bfc84fe10d1c8cac4f3fc3b652fad..9d6397655f648c8cc11e35561498cd983feb439b 100644 (file)
@@ -52,11 +52,11 @@ class PollResponseForm extends Form
      * Construct a new poll form
      *
      * @param Poll $poll
-     * @param HTMLOutputter $out         output channel
+     * @param HTMLOutputter $out output channel
      *
      * @return void
      */
-    function __construct(Poll $poll, HTMLOutputter $out)
+    public function __construct(Poll $poll, HTMLOutputter $out)
     {
         parent::__construct($out);
         $this->poll = $poll;
@@ -67,7 +67,7 @@ class PollResponseForm extends Form
      *
      * @return int ID of the form
      */
-    function id()
+    public function id()
     {
         return 'pollresponse-form';
     }
@@ -77,7 +77,7 @@ class PollResponseForm extends Form
      *
      * @return string class of the form
      */
-    function formClass()
+    public function formClass()
     {
         return 'form_settings ajax';
     }
@@ -87,7 +87,7 @@ class PollResponseForm extends Form
      *
      * @return string URL of the action
      */
-    function action()
+    public function action()
     {
         return common_local_url('respondpoll', array('id' => $this->poll->id));
     }
@@ -97,18 +97,17 @@ class PollResponseForm extends Form
      *
      * @return void
      */
-    function formData()
+    public function formData()
     {
         $poll = $this->poll;
         $out = $this->out;
-        $id = "poll-" . $poll->id;
 
         $out->element('p', 'poll-question', $poll->question);
         $out->elementStart('ul', 'poll-options');
         foreach ($poll->getOptions() as $i => $opt) {
             $out->elementStart('li');
             $out->elementStart('label');
-            $out->element('input', array('type' => 'radio', 'name' => 'pollselection', 'value' => $i + 1), '');
+            $out->element('input', ['type' => 'radio', 'name' => 'pollselection', 'value' => $i + 1], '');
             $out->text(' ' . $opt);
             $out->elementEnd('label');
             $out->elementEnd('li');
@@ -121,7 +120,7 @@ class PollResponseForm extends Form
      *
      * @return void
      */
-    function formActions()
+    public function formActions()
     {
         // TRANS: Button text for submitting a poll response.
         $this->out->submit('poll-response-submit', _m('BUTTON', 'Submit'), 'submit', 'submit');
index 0701482e6840f6b194270b275c34e4f703649d4c..7305a1036e8dffb631f84261415fffbe9db3f247 100644 (file)
@@ -52,11 +52,11 @@ class PollResultForm extends Form
      * Construct a new poll form
      *
      * @param Poll $poll
-     * @param HTMLOutputter $out         output channel
+     * @param HTMLOutputter $out output channel
      *
      * @return void
      */
-    function __construct(Poll $poll, HTMLOutputter $out)
+    public function __construct(Poll $poll, HTMLOutputter $out)
     {
         parent::__construct($out);
         $this->poll = $poll;
@@ -67,7 +67,7 @@ class PollResultForm extends Form
      *
      * @return int ID of the form
      */
-    function id()
+    public function id()
     {
         return 'pollresult-form';
     }
@@ -77,7 +77,7 @@ class PollResultForm extends Form
      *
      * @return string class of the form
      */
-    function formClass()
+    public function formClass()
     {
         return 'form_settings ajax';
     }
@@ -87,7 +87,7 @@ class PollResultForm extends Form
      *
      * @return string URL of the action
      */
-    function action()
+    public function action()
     {
         return common_local_url('respondpoll', array('id' => $this->poll->id));
     }
@@ -97,7 +97,7 @@ class PollResultForm extends Form
      *
      * @return void
      */
-    function formData()
+    public function formData()
     {
         $poll = $this->poll;
         $out = $this->out;
@@ -121,9 +121,12 @@ class PollResultForm extends Form
             $out->elementEnd('td');
 
             $out->elementStart('td');
-            $out->element('span', array('class' => 'poll-block',
-                                       'style' => "width: {$w}px"),
-                                  "\xc2\xa0"); // nbsp
+            $out->element(
+                'span',
+                array('class' => 'poll-block',
+                    'style' => "width: {$w}px"),
+                "\xc2\xa0"
+            ); // nbsp
             $out->text($counts[$i]);
             $out->elementEnd('td');
 
@@ -137,7 +140,7 @@ class PollResultForm extends Form
      *
      * @return void
      */
-    function formActions()
+    public function formActions()
     {
     }
 }