diff --git a/actions/newnotice.php b/actions/newnotice.php index 535b1a512d..b2c513733d 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) { diff --git a/actions/register.php b/actions/register.php index c67235f9d8..fc729a29bf 100644 --- a/actions/register.php +++ b/actions/register.php @@ -103,7 +103,8 @@ class RegisterAction extends Action { $user->password = common_munge_password($password, $id); $user->email = $email; $user->created = DB_DataObject_Cast::dateTime(); # current time - + $user->uri = common_mint_tag('user:'.$id); + $result = $user->insert(); if (!$result) { # Try to clean up... diff --git a/lib/util.php b/lib/util.php index 9057382dba..64fa230d20 100644 --- a/lib/util.php +++ b/lib/util.php @@ -411,7 +411,7 @@ function common_redirect($url, $code=307) { common_element('a', array('href' => $url), $url); } -function common_broadcast_notices($id) { +function common_broadcast_notice($notice) { // XXX: broadcast notices to remote subscribers // XXX: broadcast notices to SMS // XXX: broadcast notices to Jabber