X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FNoticeTitle%2FNoticeTitlePlugin.php;h=e512cf5abe87645a410e9e448203d54eacc0accc;hb=7f4b4997c563074319d50fe46797b0091a386617;hp=39df2621acacd1b90923ebd4db352578474d68ee;hpb=59043dca7fb6f974b11797c4d0f20e5b78b0611d;p=quix0rs-gnu-social.git diff --git a/plugins/NoticeTitle/NoticeTitlePlugin.php b/plugins/NoticeTitle/NoticeTitlePlugin.php index 39df2621ac..e512cf5abe 100644 --- a/plugins/NoticeTitle/NoticeTitlePlugin.php +++ b/plugins/NoticeTitle/NoticeTitlePlugin.php @@ -71,42 +71,10 @@ class NoticeTitlePlugin extends Plugin $schema = Schema::get(); // For storing titles for notices - - $schema->ensureTable('notice_title', - array(new ColumnDef('notice_id', - 'integer', - null, - true, - 'PRI'), - new ColumnDef('title', - 'varchar', - Notice_title::MAXCHARS, - false))); - + $schema->ensureTable('notice_title', Notice_title::schemaDef()); return true; } - /** - * Load related modules when needed - * - * @param string $cls Name of the class to be loaded - * - * @return boolean hook value; true means continue processing, false means stop. - */ - function onAutoload($cls) - { - $dir = dirname(__FILE__); - - switch ($cls) - { - case 'Notice_title': - include_once $dir . '/'.$cls.'.php'; - return false; - default: - return true; - } - } - /** * Provide plugin version information. * @@ -116,7 +84,7 @@ class NoticeTitlePlugin extends Plugin * * @return boolean hook value */ - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $url = 'http://status.net/wiki/Plugin:NoticeTitle'; @@ -156,13 +124,13 @@ class NoticeTitlePlugin extends Plugin * Validate notice title before saving * * @param Action $action NewNoticeAction being executed - * @param integer &$authorId Author ID + * @param Profile $author Profile object for the author of the notice being saved * @param string &$text Text of the notice * @param array &$options Options array * * @return boolean hook value */ - function onStartNoticeSaveWeb($action, &$authorId, &$text, &$options) + function onStartNoticeSaveWeb(Action $action, Profile $author, &$content, &$options) { $title = $action->trimmed('notice_title'); if (!empty($title) && $this->isAllowedRichEdit()) { @@ -186,7 +154,7 @@ class NoticeTitlePlugin extends Plugin * * @return boolean hook value */ - function onEndNoticeSaveWeb($action, $notice) + function onEndNoticeSaveWeb(Action $action, Notice $notice) { if (!empty($notice)) { @@ -213,14 +181,15 @@ class NoticeTitlePlugin extends Plugin * * @return boolean hook value */ - function onStartShowNoticeItem($nli) + function onStartShowNoticeTitle(NoticeListItem $nli) { $title = Notice_title::fromNotice($nli->notice); if (!empty($title)) { - $nli->out->elementStart('h4', array('class' => 'notice_title')); - $nli->out->element('a', array('href' => $nli->notice->bestUrl()), $title); - $nli->out->elementEnd('h4'); + $nli->elementStart('h4', array('class' => 'p-name')); + $nli->element('a', array('href' => $nli->notice->getUrl()), $title); + $nli->elementEnd('h4'); + return false; } return true; @@ -248,19 +217,19 @@ class NoticeTitlePlugin extends Plugin /** * Show the notice title in Atom output * - * @param Notice &$notice Notice being shown - * @param XMLStringer &$xs output context - * @param string &$output string to be output as title + * @param Notice $notice Notice being shown + * @param Activity $act Activity object to be modified + * @param Profile $scoped Currently logged in/scoped profile * * @return boolean hook value */ - function onEndNoticeAsActivity($notice, &$activity) + function onEndNoticeAsActivity(Notice $stored, Activity $act, Profile $scoped=null) { - $title = Notice_title::fromNotice($notice); + $title = Notice_title::fromNotice($stored); if (!empty($title)) { - foreach ($activity->objects as $obj) { - if ($obj->id == $notice->uri) { + foreach ($act->objects as $obj) { + if ($obj->id == $stored->getUri()) { $obj->title = $title; break; } @@ -277,9 +246,9 @@ class NoticeTitlePlugin extends Plugin * * @return boolean hook value */ - function onNoticeDeleteRelated($notice) + function onNoticeDeleteRelated(Notice $notice) { - $nt = Notice_title::staticGet('notice_id', $notice->id); + $nt = Notice_title::getKV('notice_id', $notice->id); if (!empty($nt)) { $nt->delete(); @@ -295,7 +264,7 @@ class NoticeTitlePlugin extends Plugin * * @return boolean hook value */ - function onStartShowHeadTitle($action) + function onStartShowHeadTitle(Action $action) { $actionName = $action->trimmed('action'); @@ -316,20 +285,16 @@ class NoticeTitlePlugin extends Plugin /** * If a notice has a title, show it in the

element * - * @param Action $action Action being executed + * @param Notice $notice Notice we're getting the title for + * @param string $title Reference to the variable which we set to the notice's title * * @return boolean hook value */ - function onStartShowPageTitle($action) + function onGetNoticeTitle(Notice $notice, &$title) { - $actionName = $action->trimmed('action'); - - if ($actionName == 'shownotice') { - $title = Notice_title::fromNotice($action->notice); - if (!empty($title)) { - $action->element('h1', null, $title); - return false; - } + $title = Notice_title::fromNotice($notice); + if (!is_null($title)) { + return false; } return true;