X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FPoll%2FPollPlugin.php;h=5b3ed3dc452e05ad5303492f57e2bba740ea2326;hb=546a03b5eac5f172d543a889625e2f4de446e8b7;hp=c6b4099756c16b55556ac57ceb7c6f2831c656de;hpb=7d191f8062e5d117ac234737bc7ab838859dc4d6;p=quix0rs-gnu-social.git diff --git a/plugins/Poll/PollPlugin.php b/plugins/Poll/PollPlugin.php index c6b4099756..5b3ed3dc45 100644 --- a/plugins/Poll/PollPlugin.php +++ b/plugins/Poll/PollPlugin.php @@ -51,6 +51,8 @@ class PollPlugin extends MicroAppPlugin const POLL_OBJECT = 'http://activityschema.org/object/poll'; const POLL_RESPONSE_OBJECT = 'http://activityschema.org/object/poll-response'; + var $oldSaveNew = true; + /** * Database schema setup * @@ -77,7 +79,7 @@ class PollPlugin extends MicroAppPlugin */ function onEndShowStyles($action) { - $action->cssLink($this->path('poll.css')); + $action->cssLink($this->path('css/poll.css')); return true; } @@ -118,7 +120,7 @@ class PollPlugin extends MicroAppPlugin * * @return value */ - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'Poll', 'version' => self::VERSION, @@ -135,6 +137,11 @@ class PollPlugin extends MicroAppPlugin return array(self::POLL_OBJECT, self::POLL_RESPONSE_OBJECT); } + + function adaptNoticeListItem($nli) { + return new PollListItem($nli); + } + /** * When a notice is deleted, delete the related Poll * @@ -142,7 +149,7 @@ class PollPlugin extends MicroAppPlugin * * @return boolean hook value */ - function deleteRelated($notice) + function deleteRelated(Notice $notice) { $p = Poll::getByNotice($notice); @@ -162,7 +169,7 @@ class PollPlugin extends MicroAppPlugin * * @return Notice resulting notice */ - function saveNoticeFromActivity($activity, $profile, $options=array()) + function saveNoticeFromActivity(Activity $activity, Profile $profile, array $options=array()) { // @fixme common_log(LOG_DEBUG, "XXX activity: " . var_export($activity, true)); @@ -219,7 +226,7 @@ class PollPlugin extends MicroAppPlugin } } - function activityObjectFromNotice($notice) + function activityObjectFromNotice(Notice $notice) { assert($this->isMyNotice($notice)); @@ -235,7 +242,7 @@ class PollPlugin extends MicroAppPlugin } } - function activityObjectFromNoticePollResponse($notice) + function activityObjectFromNoticePollResponse(Notice $notice) { $object = new ActivityObject(); $object->id = $notice->uri; @@ -258,7 +265,7 @@ class PollPlugin extends MicroAppPlugin return $object; } - function activityObjectFromNoticePoll($notice) + function activityObjectFromNoticePoll(Notice $notice) { $object = new ActivityObject(); $object->id = $notice->uri; @@ -373,70 +380,6 @@ class PollPlugin extends MicroAppPlugin } } - - /** - * @fixme WARNING WARNING WARNING parent class closes the final div that we - * open here, but we probably shouldn't open it here. Check parent class - * and Bookmark plugin for if that's right. - */ - function showNotice($notice, $out) - { - switch ($notice->object_type) { - case self::POLL_OBJECT: - return $this->showNoticePoll($notice, $out); - case self::POLL_RESPONSE_OBJECT: - return $this->showNoticePollResponse($notice, $out); - 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 showNoticePoll($notice, $out) - { - $user = common_current_user(); - - // @hack we want regular rendering, then just add stuff after that - $nli = new NoticeListItem($notice, $out); - $nli->showNotice(); - - $out->elementStart('div', array('class' => 'entry-content poll-content')); - $poll = Poll::getByNotice($notice); - if ($poll) { - if ($user) { - $profile = $user->getProfile(); - $response = $poll->getResponse($profile); - if ($response) { - // User has already responded; show the results. - $form = new PollResultForm($poll, $out); - } else { - $form = new PollResponseForm($poll, $out); - } - $form->show(); - } - } else { - // TRANS: Error text displayed if no poll data could be found. - $out->text(_m('Poll data is missing')); - } - $out->elementEnd('div'); - - // @fixme - $out->elementStart('div', array('class' => 'entry-content')); - } - - function showNoticePollResponse($notice, $out) - { - $user = common_current_user(); - - // @hack we want regular rendering, then just add stuff after that - $nli = new NoticeListItem($notice, $out); - $nli->showNotice(); - - // @fixme - $out->elementStart('div', array('class' => 'entry-content')); - } - function entryForm($out) { return new NewPollForm($out);