use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\DI;
-use Friendica\Model\Contact;
use Friendica\Model\GServer;
use Friendica\Model\Profile;
+use Friendica\Model\User;
use Friendica\Protocol\ActivityNamespace;
use Friendica\Protocol\ActivityPub;
use Friendica\Protocol\Email;
Logger::info('Probing', ['host' => $host, 'ssl_url' => $ssl_url, 'url' => $url, 'callstack' => System::callstack(20)]);
$xrd = null;
- $curlResult = Network::curl($ssl_url, false, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']);
+ $curlResult = HTTPRequest::curl($ssl_url, false, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']);
$ssl_connection_error = ($curlResult->getErrorNumber() == CURLE_COULDNT_CONNECT) || ($curlResult->getReturnCode() == 0);
if ($curlResult->isSuccess()) {
$xml = $curlResult->getBody();
$host_url = $host;
}
} elseif ($curlResult->isTimeout()) {
- Logger::info('Probing timeout', ['url' => $ssl_url], Logger::DEBUG);
+ Logger::info('Probing timeout', ['url' => $ssl_url]);
self::$istimeout = true;
return [];
}
if (!is_object($xrd) && !empty($url)) {
- $curlResult = Network::curl($url, false, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']);
+ $curlResult = HTTPRequest::curl($url, false, ['timeout' => $xrd_timeout, 'accept_content' => 'application/xrd+xml']);
$connection_error = ($curlResult->getErrorNumber() == CURLE_COULDNT_CONNECT) || ($curlResult->getReturnCode() == 0);
if ($curlResult->isTimeout()) {
- Logger::info('Probing timeout', ['url' => $url], Logger::DEBUG);
+ 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::log("No xrd object found for ".$host, Logger::DEBUG);
+ Logger::info('No xrd object found', ['host' => $host]);
return [];
}
$links = XML::elementToArray($xrd);
if (!isset($links["xrd"]["link"])) {
- Logger::log("No xrd data found for ".$host, Logger::DEBUG);
+ Logger::info('No xrd data found', ['host' => $host]);
return [];
}
self::$baseurl = $host_url;
- Logger::log("Probing successful for ".$host, Logger::DEBUG);
+ Logger::info('Probing successful', ['host' => $host]);
return $lrdd;
}
$profile_link = '';
$links = self::lrdd($webbie);
- Logger::log('webfingerDfrn: '.$webbie.':'.print_r($links, true), Logger::DATA);
+ Logger::debug('Result', ['url' => $webbie, 'links' => $links]);
if (!empty($links) && is_array($links)) {
foreach ($links as $link) {
if ($link['@attributes']['rel'] === ActivityNamespace::DFRN) {
$webfinger = $data['webfinger'];
if (empty($webfinger["links"])) {
- Logger::log("No webfinger links found for ".$uri, Logger::DEBUG);
+ Logger::info('No webfinger links found', ['uri' => $uri]);
return [];
}
}
if (empty($network) || ($network == Protocol::ACTIVITYPUB)) {
- $ap_profile = ActivityPub::probeProfile($uri, !$cache);
+ $ap_profile = ActivityPub::probeProfile($uri);
} else {
$ap_profile = [];
}
*/
private static function getHideStatus($url)
{
- $curlResult = Network::curl($url);
+ $curlResult = HTTPRequest::curl($url);
if (!$curlResult->isSuccess()) {
return false;
}
$parts = parse_url($uri);
if (!empty($parts['scheme']) && !empty($parts['host'])) {
- if ($parts['host'] == 'twitter.com') {
+ if (in_array($parts['host'], ['twitter.com', 'mobile.twitter.com'])) {
return self::twitter($uri);
}
} elseif (strstr($uri, '@')) {
return self::mail($uri, $uid);
}
- if (strpos($uri, '@twitter.com')) {
+ if (Strings::endsWith($uri, '@twitter.com')
+ || Strings::endsWith($uri, '@mobile.twitter.com')
+ ) {
return self::twitter($uri);
}
} else {
if ((!$result && ($network == "")) || ($network == Protocol::PUMPIO)) {
$result = self::pumpio($webfinger, $addr);
}
-
if (empty($result['network']) && empty($ap_profile['network']) || ($network == Protocol::FEED)) {
$result = self::feed($uri);
} else {
public static function pollZot($url, $data)
{
- $curlResult = Network::curl($url);
+ $curlResult = HTTPRequest::curl($url);
if ($curlResult->isTimeout()) {
return $data;
}
}
if (!empty($json['public_forum'])) {
$data['community'] = $json['public_forum'];
- $data['account-type'] = Contact::PAGE_COMMUNITY;
+ $data['account-type'] = User::PAGE_FLAGS_COMMUNITY;
}
if (!empty($json['profile'])) {
{
$xrd_timeout = DI::config()->get('system', 'xrd_timeout', 20);
- $curlResult = Network::curl($url, false, ['timeout' => $xrd_timeout, 'accept_content' => $type]);
+ $curlResult = HTTPRequest::curl($url, false, ['timeout' => $xrd_timeout, 'accept_content' => $type]);
if ($curlResult->isTimeout()) {
self::$istimeout = true;
return [];
$webfinger = json_decode($data, true);
if (!empty($webfinger)) {
if (!isset($webfinger["links"])) {
- Logger::log("No json webfinger links for ".$url, Logger::DEBUG);
+ 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::log("No webfinger data retrievable for ".$url, Logger::DEBUG);
+ Logger::info('No webfinger data retrievable', ['url' => $url]);
return [];
}
$xrd_arr = XML::elementToArray($xrd);
if (!isset($xrd_arr["xrd"]["link"])) {
- Logger::log("No XML webfinger links for ".$url, Logger::DEBUG);
+ Logger::info('No XML webfinger links', ['url' => $url]);
return [];
}
*/
private static function pollNoscrape($noscrape_url, $data)
{
- $curlResult = Network::curl($noscrape_url);
+ $curlResult = HTTPRequest::curl($noscrape_url);
if ($curlResult->isTimeout()) {
self::$istimeout = true;
return [];
}
$content = $curlResult->getBody();
if (!$content) {
- Logger::log("Empty body for ".$noscrape_url, Logger::DEBUG);
+ Logger::info('Empty body', ['url' => $noscrape_url]);
return [];
}
$json = json_decode($content, true);
if (!is_array($json)) {
- Logger::log("No json data for ".$noscrape_url, Logger::DEBUG);
+ Logger::info('No json data', ['url' => $noscrape_url]);
return [];
}
{
$data = [];
- Logger::log("Check profile ".$profile_link, Logger::DEBUG);
+ Logger::info('Check profile', ['link' => $profile_link]);
// Fetch data via noscrape - this is faster
$noscrape_url = str_replace(["/hcard/", "/profile/"], "/noscrape/", $profile_link);
$prof_data["fn"] = $data['name'] ?? null;
$prof_data["key"] = $data['pubkey'] ?? null;
- Logger::log("Result for profile ".$profile_link.": ".print_r($prof_data, true), Logger::DEBUG);
+ Logger::debug('Result', ['link' => $profile_link, 'data' => $prof_data]);
return $prof_data;
}
*/
private static function pollHcard($hcard_url, $data, $dfrn = false)
{
- $curlResult = Network::curl($hcard_url);
+ $curlResult = HTTPRequest::curl($hcard_url);
if ($curlResult->isTimeout()) {
self::$istimeout = true;
return [];
$pubkey = substr($pubkey, 5);
}
} elseif (Strings::normaliseLink($pubkey) == 'http://') {
- $curlResult = Network::curl($pubkey);
+ $curlResult = HTTPRequest::curl($pubkey);
if ($curlResult->isTimeout()) {
self::$istimeout = true;
return $short ? false : [];
}
// Fetch all additional data from the feed
- $curlResult = Network::curl($data["poll"]);
+ $curlResult = HTTPRequest::curl($data["poll"]);
if ($curlResult->isTimeout()) {
self::$istimeout = true;
return [];
*/
private static function pumpioProfileData($profile_link)
{
- $curlResult = Network::curl($profile_link);
+ $curlResult = HTTPRequest::curl($profile_link);
if (!$curlResult->isSuccess()) {
return [];
}
*/
private static function twitter($uri)
{
- if (preg_match('=(.*)@twitter.com=i', $uri, $matches)) {
+ if (preg_match('=([^@]+)@(?:mobile\.)?twitter\.com$=i', $uri, $matches)) {
$nick = $matches[1];
- } elseif (preg_match('=https?://twitter.com/(.*)=i', $uri, $matches)) {
+ } elseif (preg_match('=^https?://(?:mobile\.)?twitter\.com/(.+)=i', $uri, $matches)) {
$nick = $matches[1];
} else {
return [];
*/
private static function feed($url, $probe = true)
{
- $curlResult = Network::curl($url);
+ $curlResult = HTTPRequest::curl($url);
if ($curlResult->isTimeout()) {
self::$istimeout = true;
return [];
}
$msgs = Email::poll($mbox, $uri);
- Logger::log('searching '.$uri.', '.count($msgs).' messages found.', Logger::DEBUG);
+ Logger::info('Messages found', ['uri' => $uri, 'count' => count($msgs)]);
if (!count($msgs)) {
return [];
$fixed = $scheme.$host.$port.$path.$query.$fragment;
- Logger::log('Base: '.$base.' - Avatar: '.$avatar.' - Fixed: '.$fixed, Logger::DATA);
+ Logger::debug('Avatar fixed', ['base' => $base, 'avatar' => $avatar, 'fixed' => $fixed]);
return $fixed;
}