X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FUtil%2FNetwork.php;h=0acad3e082af14ffeec1684618d9099568803d1d;hb=b00481ce2bba11d84efd830e104582b4231f29c9;hp=3b27a0550a5615a1dadbdf137cffdd6e3c91f9f1;hpb=53c7e50f1242eea39209738c9388c473e24eb7b5;p=friendica.git diff --git a/src/Util/Network.php b/src/Util/Network.php index 3b27a0550a..0acad3e082 100644 --- a/src/Util/Network.php +++ b/src/Util/Network.php @@ -5,9 +5,11 @@ namespace Friendica\Util; use Friendica\Core\Addon; +use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Core\Config; use Friendica\Network\CurlResult; +use Friendica\Util\Strings; use DOMDocument; use DomXPath; @@ -82,6 +84,7 @@ class Network * 'novalidate' => do not validate SSL certs, default is to validate using our CA list * 'nobody' => only return the header * 'cookiejar' => path to cookie jar file + * 'header' => header array * * @return CurlResult */ @@ -91,7 +94,7 @@ class Network $stamp1 = microtime(true); - $a = get_app(); + $a = \get_app(); $parts = parse_url($url); $path_parts = explode('/', defaults($parts, 'path', '')); @@ -106,7 +109,7 @@ class Network $url = self::unparseURL($parts); if (self::isUrlBlocked($url)) { - logger('domain of ' . $url . ' is blocked', LOGGER_DATA); + Logger::log('domain of ' . $url . ' is blocked', Logger::DATA); return CurlResult::createErrorCurl($url); } @@ -118,7 +121,7 @@ class Network @curl_setopt($ch, CURLOPT_HEADER, true); - if (x($opts, "cookiejar")) { + if (!empty($opts['cookiejar'])) { curl_setopt($ch, CURLOPT_COOKIEJAR, $opts["cookiejar"]); curl_setopt($ch, CURLOPT_COOKIEFILE, $opts["cookiejar"]); } @@ -127,7 +130,7 @@ class Network // @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // @curl_setopt($ch, CURLOPT_MAXREDIRS, 5); - if (x($opts, 'accept_content')) { + if (!empty($opts['accept_content'])) { curl_setopt( $ch, CURLOPT_HTTPHEADER, @@ -135,6 +138,10 @@ class Network ); } + if (!empty($opts['header'])) { + curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['header']); + } + @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_USERAGENT, $a->getUserAgent()); @@ -149,15 +156,15 @@ class Network /// @todo We could possibly set this value to "gzip" or something similar curl_setopt($ch, CURLOPT_ENCODING, ''); - if (x($opts, 'headers')) { + if (!empty($opts['headers'])) { @curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']); } - if (x($opts, 'nobody')) { + if (!empty($opts['nobody'])) { @curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']); } - if (x($opts, 'timeout')) { + if (!empty($opts['timeout'])) { @curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']); } else { $curl_time = Config::get('system', 'curl_timeout', 60); @@ -212,7 +219,7 @@ class Network if ($curlResponse->isRedirectUrl()) { $redirects++; - logger('curl: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl()); + Logger::log('curl: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl()); @curl_close($ch); return self::curl($curlResponse->getRedirectUrl(), $binary, $redirects, $opts); } @@ -240,18 +247,18 @@ class Network $stamp1 = microtime(true); if (self::isUrlBlocked($url)) { - logger('post_url: domain of ' . $url . ' is blocked', LOGGER_DATA); + Logger::log('post_url: domain of ' . $url . ' is blocked', Logger::DATA); return CurlResult::createErrorCurl($url); } - $a = get_app(); + $a = \get_app(); $ch = curl_init($url); if (($redirects > 8) || (!$ch)) { return CurlResult::createErrorCurl($url); } - logger('post_url: start ' . $url, LOGGER_DATA); + Logger::log('post_url: start ' . $url, Logger::DATA); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @@ -314,7 +321,7 @@ class Network if ($curlResponse->isRedirectUrl()) { $redirects++; - logger('post_url: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl()); + Logger::log('post_url: redirect ' . $url . ' to ' . $curlResponse->getRedirectUrl()); curl_close($ch); return self::post($curlResponse->getRedirectUrl(), $params, $headers, $redirects, $timeout); } @@ -323,7 +330,7 @@ class Network $a->saveTimestamp($stamp1, 'network'); - logger('post_url: end ' . $url, LOGGER_DATA); + Logger::log('post_url: end ' . $url, Logger::DATA); return $curlResponse; } @@ -355,7 +362,7 @@ class Network /// @TODO Really suppress function outcomes? Why not find them + debug them? $h = @parse_url($url); - if ((is_array($h)) && (@dns_get_record($h['host'], DNS_A + DNS_CNAME) || filter_var($h['host'], FILTER_VALIDATE_IP) )) { + if (!empty($h['host']) && (@dns_get_record($h['host'], DNS_A + DNS_CNAME) || filter_var($h['host'], FILTER_VALIDATE_IP) )) { return $url; } @@ -482,7 +489,7 @@ class Network } $str_allowed = Config::get('system', 'allowed_email', ''); - if (!x($str_allowed)) { + if (empty($str_allowed)) { return true; } @@ -527,7 +534,7 @@ class Network $avatar['url'] = System::baseUrl() . '/images/person-300.jpg'; } - logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG); + Logger::log('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], Logger::DEBUG); return $avatar['url']; } @@ -597,7 +604,7 @@ class Network */ public static function finalUrl($url, $depth = 1, $fetchbody = false) { - $a = get_app(); + $a = \get_app(); $url = self::stripTrackingQueryParams($url); @@ -712,8 +719,8 @@ class Network return ""; } - $url1 = normalise_link($url1); - $url2 = normalise_link($url2); + $url1 = Strings::normaliseLink($url1); + $url2 = Strings::normaliseLink($url2); $parts1 = parse_url($url1); $parts2 = parse_url($url2); @@ -784,7 +791,7 @@ class Network $match .= $path; - return normalise_link($match); + return Strings::normaliseLink($match); } /**