special-case Posterous author element for activity actor
This commit is contained in:
parent
99454be38c
commit
323ff31fbd
@ -238,17 +238,17 @@ class Activity
|
|||||||
$this->time = strtotime($pubDateEl->textContent);
|
$this->time = strtotime($pubDateEl->textContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
$authorEl = $this->_child($item, self::AUTHOR, self::RSS);
|
if ($authorEl = $this->_child($item, self::AUTHOR, self::RSS)) {
|
||||||
|
|
||||||
if (!empty($authorEl)) {
|
|
||||||
$this->actor = ActivityObject::fromRssAuthor($authorEl);
|
$this->actor = ActivityObject::fromRssAuthor($authorEl);
|
||||||
} else {
|
} else if ($dcCreatorEl = $this->_child($item, self::CREATOR, self::DC)) {
|
||||||
$dcCreatorEl = $this->_child($item, self::CREATOR, self::DC);
|
|
||||||
if (!empty($dcCreatorEl)) {
|
|
||||||
$this->actor = ActivityObject::fromDcCreator($dcCreatorEl);
|
$this->actor = ActivityObject::fromDcCreator($dcCreatorEl);
|
||||||
|
} else if ($posterousEl = $this->_child($item, ActivityObject::AUTHOR, ActivityObject::POSTEROUS)) {
|
||||||
|
// Special case for Posterous.com
|
||||||
|
$this->actor = ActivityObject::fromPosterousAuthor($posterousEl);
|
||||||
} else if (!empty($channel)) {
|
} else if (!empty($channel)) {
|
||||||
$this->actor = ActivityObject::fromRssChannel($channel);
|
$this->actor = ActivityObject::fromRssChannel($channel);
|
||||||
}
|
} else {
|
||||||
|
// No actor!
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->title = ActivityUtils::childContent($item, ActivityObject::TITLE, self::RSS);
|
$this->title = ActivityUtils::childContent($item, ActivityObject::TITLE, self::RSS);
|
||||||
|
@ -80,6 +80,13 @@ class ActivityObject
|
|||||||
const URI = 'uri';
|
const URI = 'uri';
|
||||||
const EMAIL = 'email';
|
const EMAIL = 'email';
|
||||||
|
|
||||||
|
const POSTEROUS = 'http://posterous.com/help/rss/1.0';
|
||||||
|
const AUTHOR = 'author';
|
||||||
|
const USERIMAGE = 'userImage';
|
||||||
|
const PROFILEURL = 'profileUrl';
|
||||||
|
const NICKNAME = 'nickName';
|
||||||
|
const DISPLAYNAME = 'displayName';
|
||||||
|
|
||||||
public $element;
|
public $element;
|
||||||
public $type;
|
public $type;
|
||||||
public $id;
|
public $id;
|
||||||
@ -296,6 +303,31 @@ class ActivityObject
|
|||||||
return $obj;
|
return $obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function fromPosterousAuthor($el)
|
||||||
|
{
|
||||||
|
$obj = new ActivityObject();
|
||||||
|
|
||||||
|
$obj->type = ActivityObject::PERSON; // @fixme any others...?
|
||||||
|
|
||||||
|
$userImage = ActivityUtils::childContent($el, self::USERIMAGE, self::POSTEROUS);
|
||||||
|
|
||||||
|
if (!empty($userImage)) {
|
||||||
|
$obj->avatarLinks[] = $userImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
$obj->link = ActivityUtils::childContent($el, self::PROFILEURL, self::POSTEROUS);
|
||||||
|
$obj->id = $obj->link;
|
||||||
|
|
||||||
|
$obj->poco = new PoCo();
|
||||||
|
|
||||||
|
$obj->poco->preferredUsername = ActivityUtils::childContent($el, self::NICKNAME, self::POSTEROUS);
|
||||||
|
$obj->poco->displayName = ActivityUtils::childContent($el, self::DISPLAYNAME, self::POSTEROUS);
|
||||||
|
|
||||||
|
$obj->title = $obj->poco->displayName;
|
||||||
|
|
||||||
|
return $obj;
|
||||||
|
}
|
||||||
|
|
||||||
private function _childContent($element, $tag, $namespace=ActivityUtils::ATOM)
|
private function _childContent($element, $tag, $namespace=ActivityUtils::ATOM)
|
||||||
{
|
{
|
||||||
return ActivityUtils::childContent($element, $tag, $namespace);
|
return ActivityUtils::childContent($element, $tag, $namespace);
|
||||||
|
Loading…
Reference in New Issue
Block a user