diff options
author | Evan Prodromou <evan@status.net> | 2010-08-13 11:21:07 -0700 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-08-13 11:21:07 -0700 |
commit | 7dd46222a86a54be9d268a36291b795087fbd5c8 (patch) | |
tree | c468a55c4aeebbabb89ce931a9070aa4d51a1a4b | |
parent | 79b5f1cea5ffadf18d3680ddeb1f8bd4d974b059 (diff) |
add StartNoticeSaveWeb and EndNoticeSaveWeb to hook web-based UI for notices
-rw-r--r-- | EVENTS.txt | 11 | ||||
-rw-r--r-- | actions/newnotice.php | 14 |
2 files changed, 22 insertions, 3 deletions
diff --git a/EVENTS.txt b/EVENTS.txt index 7784e7d42..f34fcc3da 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -1045,3 +1045,14 @@ StartActivityEnd: before the closing </entry> in a notice activity entry (last c EndActivityEnd: after the closing </entry> in a notice activity entry - &$notice: notice being output - &$xs: XMLStringer for output + +StartNoticeSaveWeb: before saving a notice through the Web interface +- $action: action being executed (instance of NewNoticeAction) +- &$authorId: integer ID of the author +- &$text: text of the notice +- &$options: additional options (location, replies, etc.) + +EndNoticeSaveWeb: after saving a notice through the Web interface +- $action: action being executed (instance of NewNoticeAction) +- $notice: notice that was saved + diff --git a/actions/newnotice.php b/actions/newnotice.php index 748d104ff..ca6355cbf 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -203,10 +203,18 @@ class NewnoticeAction extends Action $options = array_merge($options, $locOptions); } - $notice = Notice::saveNew($user->id, $content_shortened, 'web', $options); + $author_id = $user->id; + $text = $content_shortened; - if (isset($upload)) { - $upload->attachToNotice($notice); + if (Event::handle('StartNoticeSaveWeb', array($this, &$author_id, &$text, &$options))) { + + $notice = Notice::saveNew($user->id, $content_shortened, 'web', $options); + + if (isset($upload)) { + $upload->attachToNotice($notice); + } + + Event::handle('EndNoticeSaveWeb', array($this, $notice)); } if ($this->boolean('ajax')) { |