Fix for regression with OStatus mention processing (duplicated new and old style lead to trying to save a reply entry twice).
This commit is contained in:
parent
4fdfc6b1ce
commit
08fc6053ec
|
@ -485,7 +485,7 @@ class Notice extends Memcached_DataObject
|
||||||
function saveKnownUrls($urls)
|
function saveKnownUrls($urls)
|
||||||
{
|
{
|
||||||
// @fixme validation?
|
// @fixme validation?
|
||||||
foreach ($urls as $url) {
|
foreach (array_unique($urls) as $url) {
|
||||||
File::processNew($url, $this->id);
|
File::processNew($url, $this->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -893,7 +893,7 @@ class Notice extends Memcached_DataObject
|
||||||
}
|
}
|
||||||
|
|
||||||
$groups = array();
|
$groups = array();
|
||||||
foreach ($group_ids as $id) {
|
foreach (array_unique($group_ids) as $id) {
|
||||||
$group = User_group::staticGet('id', $id);
|
$group = User_group::staticGet('id', $id);
|
||||||
if ($group) {
|
if ($group) {
|
||||||
common_log(LOG_ERR, "Local delivery to group id $id, $group->nickname");
|
common_log(LOG_ERR, "Local delivery to group id $id, $group->nickname");
|
||||||
|
@ -1016,7 +1016,7 @@ class Notice extends Memcached_DataObject
|
||||||
}
|
}
|
||||||
$sender = Profile::staticGet($this->profile_id);
|
$sender = Profile::staticGet($this->profile_id);
|
||||||
|
|
||||||
foreach ($uris as $uri) {
|
foreach (array_unique($uris) as $uri) {
|
||||||
|
|
||||||
$user = User::staticGet('uri', $uri);
|
$user = User::staticGet('uri', $uri);
|
||||||
|
|
||||||
|
@ -1029,6 +1029,7 @@ class Notice extends Memcached_DataObject
|
||||||
|
|
||||||
$reply->notice_id = $this->id;
|
$reply->notice_id = $this->id;
|
||||||
$reply->profile_id = $user->id;
|
$reply->profile_id = $user->id;
|
||||||
|
common_log(LOG_INFO, __METHOD__ . ": saving reply: notice $this->id to profile $user->id");
|
||||||
|
|
||||||
$id = $reply->insert();
|
$id = $reply->insert();
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,7 @@ class ActivityContext
|
||||||
|
|
||||||
$links = $element->getElementsByTagNameNS(ActivityUtils::ATOM, ActivityUtils::LINK);
|
$links = $element->getElementsByTagNameNS(ActivityUtils::ATOM, ActivityUtils::LINK);
|
||||||
|
|
||||||
|
$attention = array();
|
||||||
for ($i = 0; $i < $links->length; $i++) {
|
for ($i = 0; $i < $links->length; $i++) {
|
||||||
|
|
||||||
$link = $links->item($i);
|
$link = $links->item($i);
|
||||||
|
@ -80,11 +81,12 @@ class ActivityContext
|
||||||
// XXX: Deprecate this in favour of "mentioned" from Salmon spec
|
// XXX: Deprecate this in favour of "mentioned" from Salmon spec
|
||||||
// http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#SALR
|
// http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#SALR
|
||||||
if ($linkRel == self::ATTENTION) {
|
if ($linkRel == self::ATTENTION) {
|
||||||
$this->attention[] = $link->getAttribute(self::HREF);
|
$attention[] = $link->getAttribute(self::HREF);
|
||||||
} elseif ($linkRel == self::MENTIONED) {
|
} elseif ($linkRel == self::MENTIONED) {
|
||||||
$this->attention[] = $link->getAttribute(self::HREF);
|
$attention[] = $link->getAttribute(self::HREF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$this->attention = array_unique($attention);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -681,7 +681,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||||
common_log(LOG_DEBUG, "Original reply recipients: " . implode(', ', $attention_uris));
|
common_log(LOG_DEBUG, "Original reply recipients: " . implode(', ', $attention_uris));
|
||||||
$groups = array();
|
$groups = array();
|
||||||
$replies = array();
|
$replies = array();
|
||||||
foreach ($attention_uris as $recipient) {
|
foreach (array_unique($attention_uris) as $recipient) {
|
||||||
// Is the recipient a local user?
|
// Is the recipient a local user?
|
||||||
$user = User::staticGet('uri', $recipient);
|
$user = User::staticGet('uri', $recipient);
|
||||||
if ($user) {
|
if ($user) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user