summaryrefslogtreecommitdiff
path: root/actions/newnotice.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-05-17 10:46:42 -0400
committerEvan Prodromou <evan@prodromou.name>2008-05-17 10:46:42 -0400
commit2d581992668b411020cc1dad16d8c05858c31a65 (patch)
tree126ca685b14a08429617e08f939edc83d8b0747f /actions/newnotice.php
parent047412861921706fcf8e01431b5bc1fbe63d8586 (diff)
more twiddling
Placeholder for broadcasting notice updates. Fixup the local url function to include server and path. Add server and path to configuration array. Make new notice 303 redirect to shownotice. Make redirects work. Add link in streams to notices. darcs-hash:20080517144642-84dde-c267a6e3bb0717ad5a3a819a7cf65fdd5817ea8e.gz
Diffstat (limited to 'actions/newnotice.php')
-rw-r--r--actions/newnotice.php15
1 files changed, 6 insertions, 9 deletions
diff --git a/actions/newnotice.php b/actions/newnotice.php
index a4cc7d3ae..40a196a23 100644
--- a/actions/newnotice.php
+++ b/actions/newnotice.php
@@ -28,15 +28,12 @@ class NewnoticeAction extends Action {
if (!common_logged_in()) {
common_user_error(_t('Not logged in.'));
} else if ($this->arg('METHOD') == 'POST') {
- if ($this->save_new_notice()) {
- # XXX: smarter redirects
- $user = common_current_user();
- assert(!is_null($user)); # see if... above
- # XXX: redirect to source
- # XXX: use Ajax instead of a redirect
- common_redirect(common_local_url('all',
- array('nickname' =>
- $user->nickname)));
+ $id = $this->save_new_notice();
+
+ if ($id) {
+ common_broadcast_notices($id);
+ common_redirect(common_local_url('shownotice',
+ array('notice' => $id)), 303);
} else {
common_server_error(_t('Problem saving notice.'));
}