const POLL_OBJECT = 'http://activityschema.org/object/poll';
const POLL_RESPONSE_OBJECT = 'http://activityschema.org/object/poll-response';
+ var $oldSaveNew = true;
+
/**
* Database schema setup
*
*/
function onEndShowStyles($action)
{
- $action->cssLink($this->path('poll.css'));
+ $action->cssLink($this->path('css/poll.css'));
return true;
}
*
* @return value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Poll',
'version' => self::VERSION,
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
*
*
* @return boolean hook value
*/
- function deleteRelated($notice)
+ function deleteRelated(Notice $notice)
{
$p = Poll::getByNotice($notice);
*
* @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));
}
}
- function activityObjectFromNotice($notice)
+ function activityObjectFromNotice(Notice $notice)
{
assert($this->isMyNotice($notice));
}
}
- function activityObjectFromNoticePollResponse($notice)
+ function activityObjectFromNoticePollResponse(Notice $notice)
{
$object = new ActivityObject();
$object->id = $notice->uri;
return $object;
}
- function activityObjectFromNoticePoll($notice)
+ function activityObjectFromNoticePoll(Notice $notice)
{
$object = new ActivityObject();
$object->id = $notice->uri;
}
}
-
- /**
- * @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);