Allow PuSH posts without author information

Superfeedr (sp.?) posts entries without author information. We can
assume that this is intended to be by the original author.
Re-structured the checks for entries that come in by PuSH so they can
either have no author or an empty author, but not a different author.
This commit is contained in:
Evan Prodromou 2010-03-20 08:25:56 -05:00
parent f558508784
commit 25cb917523
1 changed files with 8 additions and 9 deletions

View File

@ -468,17 +468,16 @@ class Ostatus_profile extends Memcached_DataObject
return false;
}
} else {
// Individual user feeds may contain only posts from themselves.
// Authorship is validated against the profile URI on upper layers,
// through PuSH setup or Salmon signature checks.
$actorUri = self::getActorProfileURI($activity);
if ($actorUri == $this->uri) {
// Check if profile info has changed and update it
$this->updateFromActivityObject($activity->actor);
$actor = $activity->actor;
if (empty($actor)) {
// OK here! assume the default
} else if ($actor->id == $this->uri || $actor->link == $this->uri) {
$this->updateFromActivityObject($actor);
} else {
common_log(LOG_WARNING, "OStatus: skipping post with bad author: got $actorUri expected $this->uri");
return false;
throw new Exception("Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for {$this->uri}");
}
$oprofile = $this;
}