From 9f8761f709d29329e608368abc16d673c123bdc0 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Sun, 26 Oct 2014 21:41:04 +0100 Subject: [PATCH] Adding event StartShowNoticeItemNotice with corresponding End Runs just before outputting the "top" part of a NoticeListItem to HTML so plugins can jump in and do their thing. --- EVENTS.txt | 16 ++++++++++++++++ lib/noticelistitem.php | 11 +++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/EVENTS.txt b/EVENTS.txt index 255869afda..e70dae6930 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -257,6 +257,22 @@ StartShowNoticeItem: just before showing the notice item EndShowNoticeItem: just after showing the notice item - $item: the NoticeListItem object being shown +StartShowNoticeItemNotice: just before outputting the "top" notice part of a NoticeListItem to HTML +- $item: The NoticeListItem object being shown + +EndShowNoticeItemNotice: just after outputting the "top" notice part of a NoticeListItem to HTML +- $item: The NoticeListItem object being shown + +StartShowNoticeContent: just before outputting the content part of a Notice +- $stored: The Notice object +- $out: HTMLOutputter for writing to +- $scoped: optional Profile object for permission scoping + +EndShowNoticeContent: just after outputting the content part of a Notice, plugins must call this manually +- $stored: The Notice object +- $out: HTMLOutputter for writing to +- $scoped: optional Profile object for permission scoping + StartShowNoticeInfo: just before showing notice info - $item: The NoticeListItem object being shown diff --git a/lib/noticelistitem.php b/lib/noticelistitem.php index 57207339a9..5ba4a5d683 100644 --- a/lib/noticelistitem.php +++ b/lib/noticelistitem.php @@ -113,10 +113,13 @@ class NoticeListItem extends Widget function showNotice() { - $this->showNoticeTitle(); - $this->showAuthor(); - $this->showAddressees(); - $this->showContent(); + if (Event::handle('StartShowNoticeItemNotice', array($this))) { + $this->showNoticeTitle(); + $this->showAuthor(); + $this->showAddressees(); + $this->showContent(); + Event::handle('EndShowNoticeItemNotice', array($this-)); + } } function showNoticeTitle()