From 2362e78c8fe8dd53881cf3803d1e706a3a7f1882 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 15 Jan 2017 09:07:57 +0000 Subject: [PATCH 1/2] Issue 3011 (and others): OStatus: Don't fetch liked contents --- include/ostatus.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/ostatus.php b/include/ostatus.php index ba64f493db..2c4b677a53 100644 --- a/include/ostatus.php +++ b/include/ostatus.php @@ -523,7 +523,9 @@ class ostatus { $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s'", intval($importer["uid"]), dbesc($item["parent-uri"])); - if (!$r AND ($related != "")) { + // Only fetch missing stuff if it is a comment or reshare. + if (in_array($item["verb"], array(ACTIVITY_POST, ACTIVITY_SHARE)) AND + !dbm::is_result($r) AND ($related != "")) { $reply_path = str_replace("/notice/", "/api/statuses/show/", $related).".atom"; if ($reply_path != $related) { From e63e241f8f1c738b566d1d6e9612d3ed0aff48f0 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 15 Jan 2017 19:46:04 +0000 Subject: [PATCH 2/2] Hubzilla doesn't send a width attribute in the avatar picure in the hcard --- include/Probe.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/Probe.php b/include/Probe.php index 6145daaaae..0b3c664129 100644 --- a/include/Probe.php +++ b/include/Probe.php @@ -715,11 +715,19 @@ class Probe { $photos = $xpath->query("//*[contains(concat(' ', @class, ' '), ' photo ') or contains(concat(' ', @class, ' '), ' avatar ')]", $vcard); // */ foreach ($photos AS $photo) { $attr = array(); - foreach ($photo->attributes as $attribute) + foreach ($photo->attributes as $attribute) { $attr[$attribute->name] = trim($attribute->value); + } - if (isset($attr["src"]) AND isset($attr["width"])) + if (isset($attr["src"]) AND isset($attr["width"])) { $avatar[$attr["width"]] = $attr["src"]; + } + + // We don't have a width. So we just take everything that we got. + // This is a Hubzilla workaround which doesn't send a width. + if ((sizeof($avatar) == 0) AND isset($attr["src"])) { + $avatar[] = $attr["src"]; + } } if (sizeof($avatar)) {