diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/NoticeTitle/NoticeTitlePlugin.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/plugins/NoticeTitle/NoticeTitlePlugin.php b/plugins/NoticeTitle/NoticeTitlePlugin.php index f7fb1e4d0..9f53173db 100644 --- a/plugins/NoticeTitle/NoticeTitlePlugin.php +++ b/plugins/NoticeTitle/NoticeTitlePlugin.php @@ -278,5 +278,54 @@ class NoticeTitlePlugin extends Plugin return true; } + + /** + * If a notice has a title, show it in the <title> element + * + * @param Action $action Action being executed + * + * @return boolean hook value + */ + + function onStartShowHeadTitle($action) + { + $actionName = $action->trimmed('action'); + + if ($actionName == 'shownotice') { + $title = Notice_title::fromNotice($action->notice); + if (!empty($title)) { + $action->element('title', null, + // TRANS: Page title. %1$s is the title, %2$s is the site name. + sprintf(_("%1\$s - %2\$s"), + $title, + common_config('site', 'name'))); + } + } + + return true; + } + + /** + * If a notice has a title, show it in the <h1> element + * + * @param Action $action Action being executed + * + * @return boolean hook value + */ + + function onStartShowPageTitle($action) + { + $actionName = $action->trimmed('action'); + + if ($actionName == 'shownotice') { + $title = Notice_title::fromNotice($action->notice); + if (!empty($title)) { + $action->element('h1', null, $title); + return false; + } + } + + return true; + } } |