summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EVENTS.txt11
-rw-r--r--actions/newnotice.php14
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')) {