diff options
-rw-r--r-- | actions/postnotice.php | 2 | ||||
-rw-r--r-- | classes/Notice.php | 12 | ||||
-rw-r--r-- | lib/stream.php | 4 |
3 files changed, 12 insertions, 6 deletions
diff --git a/actions/postnotice.php b/actions/postnotice.php index 261593c86..e5a3919ad 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -74,7 +74,7 @@ class PostnoticeAction extends Action { } $notice = Notice::staticGet('uri', $notice_uri); if (!$notice) { - $notice = Notice::saveNew($remote_profile->id, $content, 'omb', 0); + $notice = Notice::saveNew($remote_profile->id, $content, 'omb', 0, $notice_uri); if (is_string($notice)) { common_server_serror($notice, 500); return false; diff --git a/classes/Notice.php b/classes/Notice.php index 57adb7ef8..8c2097589 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -75,8 +75,8 @@ class Notice extends DB_DataObject } return true; } - - static function saveNew($profile_id, $content, $source=NULL, $is_local=1, $reply_to=NULL) { + + static function saveNew($profile_id, $content, $source=NULL, $is_local=1, $reply_to=NULL, $uri=NULL) { $notice = new Notice(); $notice->profile_id = $profile_id; @@ -96,12 +96,18 @@ class Notice extends DB_DataObject } $orig = clone($notice); - $notice->uri = common_notice_uri($notice); + if ($uri) { + $notice->uri = $uri; + } else { + $notice->uri = common_notice_uri($notice); + } if (!$notice->update($orig)) { return _('Problem saving notice.'); } + # XXX: do we need to change this for remote users? + common_save_replies($notice); $notice->saveTags(); diff --git a/lib/stream.php b/lib/stream.php index b94033d6a..fbdba91c9 100644 --- a/lib/stream.php +++ b/lib/stream.php @@ -96,8 +96,8 @@ class StreamAction extends Action { } common_element_end('p'); $noticeurl = common_local_url('shownotice', array('notice' => $notice->id)); - # XXX: we need to figure this out better - if ($notice->uri != $noticeurl && preg_match('/^http/', $notice->uri)) { + # XXX: we need to figure this out better. Is this right? + if (strcmp($notice->uri, $noticeurl) != 0 && preg_match('/^http/', $notice->uri)) { $noticeurl = $notice->uri; } common_element_start('p', 'time'); |