X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FAPContact.php;h=5e992075e8d3c8999dcb1f22b67fadf2f30fa8e6;hb=2e05dac7dae0a3d028b442a2d5afbd4176a32e99;hp=d0a0d0d3f6b7eb4eea5045a5f9ddc7ca4f7544eb;hpb=f89cc6bd4548374bb797bf8d8365c6787be1845a;p=friendica.git diff --git a/src/Model/APContact.php b/src/Model/APContact.php index d0a0d0d3f6..5e992075e8 100644 --- a/src/Model/APContact.php +++ b/src/Model/APContact.php @@ -22,7 +22,7 @@ namespace Friendica\Model; use Friendica\Content\Text\HTML; -use Friendica\Core\Cache\Duration; +use Friendica\Core\Cache\Enum\Duration; use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Database\DBA; @@ -119,7 +119,8 @@ class APContact */ public static function getByURL($url, $update = null) { - if (empty($url)) { + if (empty($url) || Network::isUrlBlocked($url)) { + Logger::info('Domain is blocked', ['url' => $url]); return []; } @@ -239,6 +240,18 @@ class APContact $apcontact['about'] = HTML::toBBCode(JsonLD::fetchElement($compacted, 'as:summary', '@value')); + $ims = JsonLD::fetchElementArray($compacted, 'vcard:hasInstantMessage'); + if (!empty($ims)) { + foreach ($ims as $link) { + if (substr($link, 0, 5) == 'xmpp:') { + $apcontact['xmpp'] = substr($link, 5); + } + if (substr($link, 0, 7) == 'matrix:') { + $apcontact['matrix'] = substr($link, 7); + } + } + } + $apcontact['photo'] = JsonLD::fetchElement($compacted, 'as:icon', '@id'); if (is_array($apcontact['photo']) || !empty($compacted['as:icon']['as:url']['@id'])) { $apcontact['photo'] = JsonLD::fetchElement($compacted['as:icon'], 'as:url', '@id');