diff options
Diffstat (limited to 'actions/newnotice.php')
-rw-r--r-- | actions/newnotice.php | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/actions/newnotice.php b/actions/newnotice.php index 535b1a512..b2c513733 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -55,13 +55,22 @@ class NewnoticeAction extends Action { $id = $notice->insert(); - if ($id) { - common_broadcast_notices($id); - common_redirect(common_local_url('shownotice', - array('notice' => $id)), 303); - } else { + if (!$id) { + common_server_error(_t('Problem saving notice.')); + return; + } + + $orig = clone($notice); + $notice->uri = common_mint_tag('notice:' . $id); + + if (!$notice->update($orig)) { common_server_error(_t('Problem saving notice.')); + return; } + + common_broadcast_notice($notice); + common_redirect(common_local_url('shownotice', + array('notice' => $id)), 303); } function show_form($msg=NULL) { |