$this->actor = new ActivityObject($actorEl);
+ // Cliqset has bad actor IDs (just nickname of user). We
+ // work around it by getting the author data and using its
+ // id instead
+
+ if (!preg_match('/^\w+:/', $this->actor->id)) {
+ $authorEl = ActivityUtils::child($entry, 'author');
+ if (!empty($authorEl)) {
+ $authorObj = new ActivityObject($authorEl);
+ $this->actor->id = $authorObj->id;
+ }
+ }
} else if (!empty($feed) &&
$subjectEl = $this->_child($feed, self::SUBJECT)) {
$this->type = self::PERSON; // XXX: is this fair?
$this->title = $this->_childContent($element, self::NAME);
- $id = $this->_childContent($element, self::URI);
- if (ActivityUtils::validateUri($id)) {
- $this->id = $id;
- }
+ $this->id = $this->_childContent($element, self::URI);
if (empty($this->id)) {
$email = $this->_childContent($element, self::EMAIL);
private function _fromAtomEntry($element)
{
- if ($element->localName == 'actor') {
- // Old-fashioned <activity:actor>...
- // First pull anything from <author>, then we'll add on top.
- $author = ActivityUtils::child($element->parentNode, 'author');
- if ($author) {
- $this->_fromAuthor($author);
- }
- }
-
$this->type = $this->_childContent($element, Activity::OBJECTTYPE,
Activity::SPEC);
$this->type = ActivityObject::NOTE;
}
- $id = $this->_childContent($element, self::ID);
- if (ActivityUtils::validateUri($id)) {
- $this->id = $id;
- }
-
$this->summary = ActivityUtils::childHtmlContent($element, self::SUMMARY);
$this->content = ActivityUtils::getContent($element);
$this->source = $this->_getSource($element);
$this->link = ActivityUtils::getPermalink($element);
+
+ $this->id = $this->_childContent($element, self::ID);
+
+ if (empty($this->id) && !empty($this->link)) { // fallback if there's no ID
+ $this->id = $this->link;
+ }
}
// @fixme rationalize with Activity::_fromRssItem()