summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-08-13 11:21:07 -0700
committerEvan Prodromou <evan@status.net>2010-08-13 11:21:07 -0700
commit7dd46222a86a54be9d268a36291b795087fbd5c8 (patch)
treec468a55c4aeebbabb89ce931a9070aa4d51a1a4b
parent79b5f1cea5ffadf18d3680ddeb1f8bd4d974b059 (diff)
add StartNoticeSaveWeb and EndNoticeSaveWeb to hook web-based UI for notices
-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')) {