X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fnetwork.php;h=a9110837d0b95fc33d24de9b60abff4e5d4f91c4;hb=2e333dea8fb7b9eaa8259469a1ac63d1772eb60e;hp=3e5e15d282f39206f9a60ecbecf0d0006466a32f;hpb=3b23f89ca257f972aa9c7beffdd308b1fd1b37e6;p=friendica.git diff --git a/include/network.php b/include/network.php index 3e5e15d282..a9110837d0 100644 --- a/include/network.php +++ b/include/network.php @@ -3,6 +3,7 @@ * @file include/network.php */ use Friendica\App; +use Friendica\Core\Addon; use Friendica\Core\System; use Friendica\Core\Config; use Friendica\Network\Probe; @@ -32,10 +33,10 @@ function fetch_url($url, $binary = false, &$redirects = 0, $timeout = 0, $accept $url, $binary, $redirects, - array('timeout'=>$timeout, + ['timeout'=>$timeout, 'accept_content'=>$accept_content, 'cookiejar'=>$cookiejar - ) + ] ); return($ret['body']); @@ -63,9 +64,9 @@ function fetch_url($url, $binary = false, &$redirects = 0, $timeout = 0, $accept * string 'header' => HTTP headers * string 'body' => fetched content */ -function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) +function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = []) { - $ret = array('return_code' => 0, 'success' => false, 'header' => '', 'info' => '', 'body' => ''); + $ret = ['return_code' => 0, 'success' => false, 'header' => '', 'info' => '', 'body' => '']; $stamp1 = microtime(true); @@ -97,7 +98,7 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) curl_setopt( $ch, CURLOPT_HTTPHEADER, - array('Accept: ' . $opts['accept_content']) + ['Accept: ' . $opts['accept_content']] ); } @@ -213,7 +214,7 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) $newurl = $new_location_info['scheme'] . '://' . $new_location_info['host'] . $old_location_info['path']; } - $matches = array(); + $matches = []; if (preg_match('/(Location:|URI:)(.*?)\n/i', $header, $matches)) { $newurl = trim(array_pop($matches)); @@ -306,7 +307,7 @@ function post_url($url, $params, $headers = null, &$redirects = 0, $timeout = 0) if (defined('LIGHTTPD')) { if (!is_array($headers)) { - $headers = array('Expect:'); + $headers = ['Expect:']; } else { if (!in_array('Expect:', $headers)) { array_push($headers, 'Expect:'); @@ -361,7 +362,7 @@ function post_url($url, $params, $headers = null, &$redirects = 0, $timeout = 0) } if ($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) { - $matches = array(); + $matches = []; preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches); $newurl = trim(array_pop($matches)); @@ -397,7 +398,7 @@ function post_url($url, $params, $headers = null, &$redirects = 0, $timeout = 0) function xml_status($st, $message = '') { - $result = array('status' => $st); + $result = ['status' => $st]; if ($message != '') { $result['message'] = $message; @@ -409,7 +410,7 @@ function xml_status($st, $message = '') header("Content-type: text/xml"); - $xmldata = array("result" => $result); + $xmldata = ["result" => $result]; echo XML::fromArray($xmldata, $xml); @@ -433,7 +434,7 @@ function xml_status($st, $message = '') * 'title' => header title * 'description' => optional message */ -function http_status_exit($val, $description = array()) +function http_status_exit($val, $description = []) { $err = ''; if ($val >= 400) { @@ -452,9 +453,9 @@ function http_status_exit($val, $description = array()) $tpl = get_markup_template('http_status.tpl'); echo replace_macros( $tpl, - array( + [ '$title' => $description["title"], - '$description' => $description["description"]) + '$description' => $description["description"]] ); } @@ -488,7 +489,7 @@ function validate_url($url) /// @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 + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) { + if ((is_array($h)) && (@dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) { return $url; } @@ -581,7 +582,7 @@ function blocked_url($url) return true; } - $domain_blocklist = Config::get('system', 'blocklist', array()); + $domain_blocklist = Config::get('system', 'blocklist', []); if (! $domain_blocklist) { return false; } @@ -609,29 +610,40 @@ function blocked_url($url) function allowed_email($email) { $domain = strtolower(substr($email, strpos($email, '@') + 1)); - if (! $domain) { + if (!$domain) { return false; } - $str_allowed = Config::get('system', 'allowed_email'); - if (! $str_allowed) { + $str_allowed = Config::get('system', 'allowed_email', ''); + if (!x($str_allowed)) { return true; } - $found = false; - - $fnmatch = function_exists('fnmatch'); $allowed = explode(',', $str_allowed); - if (count($allowed)) { - foreach ($allowed as $a) { - $pat = strtolower(trim($a)); - if (($fnmatch && fnmatch($pat, $domain)) || ($pat == $domain)) { - $found = true; - break; - } + return allowed_domain($domain, $allowed); +} + +/** + * Checks for the existence of a domain in a domain list + * + * @brief Checks for the existence of a domain in a domain list + * @param string $domain + * @param array $domain_list + * @return boolean + */ +function allowed_domain($domain, array $domain_list) +{ + $found = false; + + foreach ($domain_list as $item) { + $pat = strtolower(trim($item)); + if (fnmatch($pat, $domain) || ($pat == $domain)) { + $found = true; + break; } } + return $found; } @@ -642,7 +654,7 @@ function avatar_img($email) $avatar['url'] = ''; $avatar['success'] = false; - call_hooks('avatar_lookup', $avatar); + Addon::callHooks('avatar_lookup', $avatar); if (! $avatar['success']) { $avatar['url'] = System::baseUrl() . '/images/person-175.jpg'; @@ -766,10 +778,10 @@ function fix_contact_ssl_policy(&$contact, $new_policy) } if ($ssl_changed) { - $fields = array('url' => $contact['url'], 'request' => $contact['request'], + $fields = ['url' => $contact['url'], 'request' => $contact['request'], 'notify' => $contact['notify'], 'poll' => $contact['poll'], - 'confirm' => $contact['confirm'], 'poco' => $contact['poco']); - dba::update('contact', $fields, array('id' => $contact['id'])); + 'confirm' => $contact['confirm'], 'poco' => $contact['poco']]; + dba::update('contact', $fields, ['id' => $contact['id']]); } } @@ -790,12 +802,12 @@ function strip_tracking_query_params($url) foreach ($querydata as $param => $value) { if (in_array( $param, - array( + [ "utm_source", "utm_medium", "utm_term", "utm_content", "utm_campaign", "wt_mc", "pk_campaign", "pk_kwd", "mc_cid", "mc_eid", "fb_action_ids", "fb_action_types", "fb_ref", "awesm", "wtrid", - "woo_campaign", "woo_source", "woo_medium", "woo_content", "woo_term") + "woo_campaign", "woo_source", "woo_medium", "woo_content", "woo_term"] ) ) { $pair = $param . "=" . urlencode($value); @@ -809,7 +821,7 @@ function strip_tracking_query_params($url) $pair = $param . "=" . $value; $url = str_replace($pair, "", $url); - $url = str_replace(array("?&", "&&"), array("?", ""), $url); + $url = str_replace(["?&", "&&"], ["?", ""], $url); } } } @@ -921,7 +933,7 @@ function original_url($url, $depth = 1, $fetchbody = false) $list = $xpath->query("//meta[@content]"); foreach ($list as $node) { - $attr = array(); + $attr = []; if ($node->attributes->length) { foreach ($node->attributes as $attribute) { $attr[$attribute->name] = $attribute->value; @@ -956,12 +968,12 @@ function short_link($url) $yourls->set('password', $yourls_password); $yourls->set('ssl', $yourls_ssl); $yourls->set('yourls-url', $yourls_url); - $slinky->set_cascade(array($yourls, new Slinky_Ur1ca(), new Slinky_TinyURL())); + $slinky->set_cascade([$yourls, new Slinky_Ur1ca(), new Slinky_TinyURL()]); } else { // setup a cascade of shortening services // try to get a short link from these services // in the order ur1.ca, tinyurl - $slinky->set_cascade(array(new Slinky_Ur1ca(), new Slinky_TinyURL())); + $slinky->set_cascade([new Slinky_Ur1ca(), new Slinky_TinyURL()]); } return $slinky->short(); }