X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fparse_url.php;h=07f319fdca69e8ab2372b29b1302a81d1c97398c;hb=7d6717d97e3e6710b87566a7ed0bafcd49607c79;hp=ebe34875b76937221baa98bdf6b33044b9ae9ae3;hpb=91f405bac4ae94bc883ab1dd32df468fc7eae324;p=friendica.git diff --git a/mod/parse_url.php b/mod/parse_url.php index ebe34875b7..07f319fdca 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -11,6 +11,7 @@ */ use Friendica\App; use Friendica\Core\Addon; +use Friendica\Core\Logger; use Friendica\Util\Network; use Friendica\Util\ParseUrl; @@ -46,26 +47,26 @@ function parse_url_content(App $a) // Add url scheme if it is missing $arrurl = parse_url($url); - if (!x($arrurl, 'scheme')) { - if (x($arrurl, 'host')) { + if (empty($arrurl['scheme'])) { + if (!empty($arrurl['host'])) { $url = 'http:' . $url; } else { $url = 'http://' . $url; } } - logger($url); + Logger::log($url); // Check if the URL is an image, video or audio file. If so format // the URL with the corresponding BBCode media tag $redirects = 0; // Fetch the header of the URL - $result = Network::curl($url, false, $redirects, ['novalidate' => true, 'nobody' => true]); + $curlResponse = Network::curl($url, false, $redirects, ['novalidate' => true, 'nobody' => true]); - if ($result['success']) { + if ($curlResponse->isSuccess()) { // Convert the header fields into an array $hdrs = []; - $h = explode("\n", $result['header']); + $h = explode("\n", $curlResponse->getHeader()); foreach ($h as $l) { $header = array_map('trim', explode(':', trim($l), 2)); if (count($header) == 2) { @@ -73,6 +74,7 @@ function parse_url_content(App $a) $hdrs[$k] = $v; } } + $type = null; if (array_key_exists('Content-Type', $hdrs)) { $type = $hdrs['Content-Type']; } @@ -92,6 +94,7 @@ function parse_url_content(App $a) } } + $template = '[bookmark=%s]%s[/bookmark]%s'; $arr = ['url' => $url, 'text' => '']; @@ -112,7 +115,7 @@ function parse_url_content(App $a) $result = sprintf($template, $url, ($title) ? $title : $url, $text) . $str_tags; - logger('(unparsed): returns: ' . $result); + Logger::log('(unparsed): returns: ' . $result); echo $result; exit(); @@ -123,6 +126,12 @@ function parse_url_content(App $a) unset($siteinfo['keywords']); + // Bypass attachment if parse url for a comment + if (!empty($_GET['noAttachment'])) { + echo $br . '[url=' . $url . ']' . $siteinfo['title'] . '[/url]'; + exit(); + } + // Format it as BBCode attachment $info = add_page_info_data($siteinfo);