use Exception;
use Friendica\Content\Text\HTML;
use Friendica\Core\Hook;
-use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\DI;
$data['photo'] = Network::addBasePath($data['photo'], $data['url']);
if (!Network::isValidHttpUrl($data['photo'])) {
- Logger::warning('Invalid URL for photo', ['url' => $data['url'], 'photo' => $data['photo']]);
+ DI::logger()->warning('Invalid URL for photo', ['url' => $data['url'], 'photo' => $data['photo']]);
unset($data['photo']);
}
}
$xrd_timeout = DI::config()->get('system', 'xrd_timeout', 20);
- Logger::info('Probing', ['host' => $host, 'ssl_url' => $ssl_url, 'url' => $url]);
+ DI::logger()->info('Probing', ['host' => $host, 'ssl_url' => $ssl_url, 'url' => $url]);
$xrd = null;
try {
$curlResult = DI::httpClient()->get($ssl_url, HttpClientAccept::XRD_XML, [HttpClientOptions::TIMEOUT => $xrd_timeout, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return [];
}
$host_url = 'https://' . $host;
}
} elseif ($curlResult->isTimeout()) {
- Logger::info('Probing timeout', ['url' => $ssl_url]);
+ DI::logger()->info('Probing timeout', ['url' => $ssl_url]);
self::$isTimeout = true;
return [];
}
try {
$curlResult = DI::httpClient()->get($url, HttpClientAccept::XRD_XML, [HttpClientOptions::TIMEOUT => $xrd_timeout, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return [];
}
$connection_error = ($curlResult->getErrorNumber() == CURLE_COULDNT_CONNECT) || ($curlResult->getReturnCode() == 0);
if ($curlResult->isTimeout()) {
- Logger::info('Probing timeout', ['url' => $url]);
+ DI::logger()->info('Probing timeout', ['url' => $url]);
self::$isTimeout = true;
return [];
} elseif ($connection_error && $ssl_connection_error) {
$host_url = 'http://' . $host;
}
if (!is_object($xrd)) {
- Logger::info('No xrd object found', ['host' => $host]);
+ DI::logger()->info('No xrd object found', ['host' => $host]);
return [];
}
$links = XML::elementToArray($xrd);
if (!isset($links['xrd']['link'])) {
- Logger::info('No xrd data found', ['host' => $host]);
+ DI::logger()->info('No xrd data found', ['host' => $host]);
return [];
}
}
if (Network::isUrlBlocked($host_url)) {
- Logger::info('Domain is blocked', ['url' => $host]);
+ DI::logger()->info('Domain is blocked', ['url' => $host]);
return [];
}
self::$baseurl = $host_url;
- Logger::info('Probing successful', ['host' => $host]);
+ DI::logger()->info('Probing successful', ['host' => $host]);
return $lrdd;
}
$webfinger = $data['webfinger'];
if (empty($webfinger['links'])) {
- Logger::info('No webfinger links found', ['uri' => $uri]);
+ DI::logger()->info('No webfinger links found', ['uri' => $uri]);
return [];
}
try {
$curlResult = DI::httpClient()->get($url, HttpClientAccept::HTML, [HttpClientOptions::CONTENT_LENGTH => 1000000, HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return false;
}
if (!$curlResult->isSuccess()) {
$baseurl = self::$baseurl;
}
} else {
- Logger::info('URI was not detectable', ['uri' => $uri]);
+ DI::logger()->info('URI was not detectable', ['uri' => $uri]);
return [];
}
private static function getWebfinger(string $template, string $type, string $uri, string $addr): ?array
{
if (Network::isUrlBlocked($template)) {
- Logger::info('Domain is blocked', ['url' => $template]);
+ DI::logger()->info('Domain is blocked', ['url' => $template]);
return null;
}
$parts = parse_url($uri);
if (empty($parts['scheme']) && empty($parts['host']) && (empty($parts['path']) || strpos($parts['path'], '@') === false)) {
- Logger::info('URI was not detectable, probe for AT Protocol now', ['uri' => $uri]);
+ DI::logger()->info('URI was not detectable, probe for AT Protocol now', ['uri' => $uri]);
return self::atProtocol($uri);
}
return self::mail($uri, $uid);
}
- Logger::info('Probing start', ['uri' => $uri]);
+ DI::logger()->info('Probing start', ['uri' => $uri]);
if (!empty($ap_profile['addr']) && ($ap_profile['addr'] != $uri)) {
$data = self::getWebfingerArray($ap_profile['addr']);
$result['url'] = $uri;
}
- Logger::info('Probing done', ['uri' => $uri, 'network' => $result['network']]);
+ DI::logger()->info('Probing done', ['uri' => $uri, 'network' => $result['network']]);
return $result;
}
try {
$curlResult = DI::httpClient()->get($url, 'application/x-zot+json', [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return $data;
}
if ($curlResult->isTimeout()) {
[HttpClientOptions::TIMEOUT => DI::config()->get('system', 'xrd_timeout', 20), HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]
);
} catch (\Throwable $e) {
- Logger::notice($e->getMessage(), ['url' => $url, 'type' => $type, 'class' => get_class($e)]);
+ DI::logger()->notice($e->getMessage(), ['url' => $url, 'type' => $type, 'class' => get_class($e)]);
return null;
}
$webfinger = json_decode($data, true);
if (!empty($webfinger)) {
if (!isset($webfinger['links'])) {
- Logger::info('No json webfinger links', ['url' => $url]);
+ DI::logger()->info('No json webfinger links', ['url' => $url]);
return [];
}
return $webfinger;
// If it is not JSON, maybe it is XML
$xrd = XML::parseString($data, true);
if (!is_object($xrd)) {
- Logger::info('No webfinger data retrievable', ['url' => $url]);
+ DI::logger()->info('No webfinger data retrievable', ['url' => $url]);
return [];
}
$xrd_arr = XML::elementToArray($xrd);
if (!isset($xrd_arr['xrd']['link'])) {
- Logger::info('No XML webfinger links', ['url' => $url]);
+ DI::logger()->info('No XML webfinger links', ['url' => $url]);
return [];
}
try {
$curlResult = DI::httpClient()->get($noscrape_url, HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return $data;
}
if ($curlResult->isTimeout()) {
}
$content = $curlResult->getBodyString();
if (!$content) {
- Logger::info('Empty body', ['url' => $noscrape_url]);
+ DI::logger()->info('Empty body', ['url' => $noscrape_url]);
return $data;
}
$json = json_decode($content, true);
if (!is_array($json)) {
- Logger::info('No json data', ['url' => $noscrape_url]);
+ DI::logger()->info('No json data', ['url' => $noscrape_url]);
return $data;
}
try {
$curlResult = DI::httpClient()->get($hcard_url, HttpClientAccept::HTML, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return [];
}
if ($curlResult->isTimeout()) {
self::$isTimeout = true;
return $short ? false : [];
}
- Logger::debug('Fetched public key', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $pubkey]);
+ DI::logger()->debug('Fetched public key', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $pubkey]);
$pubkey = $curlResult->getBodyString();
}
try {
$curlResult = DI::httpClient()->get($data['poll'], HttpClientAccept::FEED_XML, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return [];
}
if ($curlResult->isTimeout()) {
} else {
return [];
}
-
+
$profile = DI::atProtocol()->XRPCGet('app.bsky.actor.getProfile', ['actor' => $did]);
if (empty($profile) || empty($profile->did)) {
return [];
'poll' => ATProtocol::WEB . '/profile/' . $profile->did . '/rss',
'photo' => $profile->avatar ?? '',
];
-
+
if (!empty($profile->description)) {
$data['about'] = HTML::toBBCode($profile->description);
}
-
+
if (!empty($profile->banner)) {
$data['header'] = $profile->banner;
}
}
$msgs = Email::poll($mbox, $uri);
- Logger::info('Messages found', ['uri' => $uri, 'count' => count($msgs)]);
+ DI::logger()->info('Messages found', ['uri' => $uri, 'count' => count($msgs)]);
if (!count($msgs)) {
return [];
$fixed = $scheme . $host . $port . $path . $query . $fragment;
- Logger::debug('Avatar fixed', ['base' => $base, 'avatar' => $avatar, 'fixed' => $fixed]);
+ DI::logger()->debug('Avatar fixed', ['base' => $base, 'avatar' => $avatar, 'fixed' => $fixed]);
return $fixed;
}
try {
$curlResult = DI::httpClient()->get($gserver['noscrape'] . '/' . $data['nick'], HttpClientAccept::JSON, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return '';
}
if (is_string($outbox['first']) && ($outbox['first'] != $feed)) {
return self::updateFromOutbox($outbox['first'], $data);
} else {
- Logger::warning('Unexpected data', ['outbox' => $outbox]);
+ DI::logger()->warning('Unexpected data', ['outbox' => $outbox]);
}
return '';
} else {
try {
$curlResult = DI::httpClient()->get($data['poll'], HttpClientAccept::ATOM_XML, [HttpClientOptions::REQUEST => HttpClientRequest::CONTACTINFO]);
} catch (\Throwable $th) {
- Logger::notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ DI::logger()->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
return '';
}
if (!$curlResult->isSuccess() || !$curlResult->getBodyString()) {
$updated = !empty($updated_item->nodeValue) ? DateTimeFormat::utc($updated_item->nodeValue) : null;
if (empty($published) || empty($updated)) {
- Logger::notice('Invalid entry for XPath.', ['entry' => $entry, 'url' => $data['url']]);
+ DI::logger()->notice('Invalid entry for XPath.', ['entry' => $entry, 'url' => $data['url']]);
continue;
}