summaryrefslogtreecommitdiff
path: root/classes/Notice.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-09-01 16:15:51 -0400
committerEvan Prodromou <evan@status.net>2010-09-01 16:15:51 -0400
commita2de30b767e23ae848d15a3ce1d3ed9d16fd1df9 (patch)
treee795fc797a48ee3910a186c65ae9dc0a3f6581f7 /classes/Notice.php
parent7bec455a2120607a0aacb8be03cd60372cc5d0c1 (diff)
Notice::saveReplies() uses Profile::fromURI() to handle remote profiles too
Diffstat (limited to 'classes/Notice.php')
-rw-r--r--classes/Notice.php28
1 files changed, 17 insertions, 11 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index 0eeebfadf..93456011a 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -1014,25 +1014,31 @@ class Notice extends Memcached_DataObject
if (empty($uris)) {
return;
}
+
$sender = Profile::staticGet($this->profile_id);
foreach (array_unique($uris) as $uri) {
- $user = User::staticGet('uri', $uri);
+ $profile = Profile::fromURI($uri);
- if (!empty($user)) {
- if ($user->hasBlocked($sender)) {
- continue;
- }
+ if (empty($profile)) {
+ common_log(LOG_WARNING, "Unable to determine profile for URI '$uri'");
+ continue;
+ }
- $reply = new Reply();
+ if ($profile->hasBlocked($sender)) {
+ common_log(LOG_INFO, "Not saving reply to profile {$profile->id} ($uri) from sender {$sender->id} because of a block.");
+ continue;
+ }
- $reply->notice_id = $this->id;
- $reply->profile_id = $user->id;
- common_log(LOG_INFO, __METHOD__ . ": saving reply: notice $this->id to profile $user->id");
+ $reply = new Reply();
- $id = $reply->insert();
- }
+ $reply->notice_id = $this->id;
+ $reply->profile_id = $profile->id;
+
+ common_log(LOG_INFO, __METHOD__ . ": saving reply: notice $this->id to profile $profile->id");
+
+ $id = $reply->insert();
}
return;