}
if (curl_errno($ch) !== CURLE_OK) {
- logger('error fetching ' . $url . ': ' . curl_error($ch), LOGGER_NORMAL);
+ logger('error fetching ' . $url . ': ' . curl_error($ch), LOGGER_INFO);
}
$ret['errno'] = curl_errno($ch);
$h = substr($addr, strpos($addr, '@') + 1);
- if (($h) && (dns_get_record($h, DNS_A + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
+ // Concerning the @ see here: https://stackoverflow.com/questions/36280957/dns-get-record-a-temporary-server-error-occurred
+ if ($h && (@dns_get_record($h, DNS_A + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
return true;
}
- if (($h) && dns_get_record($h, DNS_CNAME + DNS_MX)) {
+ if ($h && @dns_get_record($h, DNS_CNAME + DNS_MX)) {
return true;
}
return false;
public static function isUrlBlocked($url)
{
$host = @parse_url($url, PHP_URL_HOST);
- if (! $host) {
- return true;
+ if (!$host) {
+ return false;
}
$domain_blocklist = Config::get('system', 'blocklist', []);
- if (! $domain_blocklist) {
+ if (!$domain_blocklist) {
return false;
}
$url = self::stripTrackingQueryParams($url);
if ($depth > 10) {
- return($url);
+ return $url;
}
$url = trim($url, "'");
$a->save_timestamp($stamp1, "network");
if ($http_code == 0) {
- return($url);
+ return $url;
}
- if ((($curl_info['http_code'] == "301") || ($curl_info['http_code'] == "302"))
- && (($curl_info['redirect_url'] != "") || ($curl_info['location'] != ""))
- ) {
- if ($curl_info['redirect_url'] != "") {
- return(self::finalUrl($curl_info['redirect_url'], ++$depth, $fetchbody));
- } else {
- return(self::finalUrl($curl_info['location'], ++$depth, $fetchbody));
+ if (in_array($http_code, ['301', '302'])) {
+ if (!empty($curl_info['redirect_url'])) {
+ return self::finalUrl($curl_info['redirect_url'], ++$depth, $fetchbody);
+ } elseif (!empty($curl_info['location'])) {
+ return self::finalUrl($curl_info['location'], ++$depth, $fetchbody);
}
}
// if the file is too large then exit
if ($curl_info["download_content_length"] > 1000000) {
- return($url);
+ return $url;
}
// if it isn't a HTML file then exit
- if (($curl_info["content_type"] != "") && !strstr(strtolower($curl_info["content_type"]), "html")) {
- return($url);
+ if (!empty($curl_info["content_type"]) && !strstr(strtolower($curl_info["content_type"]), "html")) {
+ return $url;
}
$stamp1 = microtime(true);
$a->save_timestamp($stamp1, "network");
if (trim($body) == "") {
- return($url);
+ return $url;
}
// Check for redirect in meta elements
$pathinfo = explode(";", $path);
foreach ($pathinfo as $value) {
if (substr(strtolower($value), 0, 4) == "url=") {
- return(self::finalUrl(substr($value, 4), ++$depth));
+ return self::finalUrl(substr($value, 4), ++$depth);
}
}
}