1
1
Fork 0

Merge pull request #3094 from annando/1701-hubzilla-probe

Fixing avatar problems when probing Hubzilla contacts
This commit is contained in:
Tobias Diekershoff 2017-01-16 07:27:03 +01:00 committed by GitHub
commit e7966171dd

View file

@ -715,13 +715,21 @@ class Probe {
$photos = $xpath->query("//*[contains(concat(' ', @class, ' '), ' photo ') or contains(concat(' ', @class, ' '), ' avatar ')]", $vcard); // */ $photos = $xpath->query("//*[contains(concat(' ', @class, ' '), ' photo ') or contains(concat(' ', @class, ' '), ' avatar ')]", $vcard); // */
foreach ($photos AS $photo) { foreach ($photos AS $photo) {
$attr = array(); $attr = array();
foreach ($photo->attributes as $attribute) foreach ($photo->attributes as $attribute) {
$attr[$attribute->name] = trim($attribute->value); $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"]; $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)) { if (sizeof($avatar)) {
ksort($avatar); ksort($avatar);
$data["photo"] = array_pop($avatar); $data["photo"] = array_pop($avatar);