X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fparse_url.php;h=82325aa553698a98d5d89b678bb715d7bdc259cd;hb=974f7bffc82d024a38b4709c6b250677a217f65a;hp=6b393932ebc8aa73e176670d6889329a70320fb7;hpb=cc7444d84db2bc729c40be2190dbfbe3ca7725ba;p=friendica.git diff --git a/mod/parse_url.php b/mod/parse_url.php index 6b393932eb..82325aa553 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -1,8 +1,21 @@ . * * This module does parse an url for embeddable content (audio, video, image files or link) * information and does format this information to BBCode @@ -11,10 +24,11 @@ */ use Friendica\App; +use Friendica\Content\PageInfo; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\System; -use Friendica\Util\Network; +use Friendica\DI; use Friendica\Util\ParseUrl; use Friendica\Util\Strings; @@ -71,19 +85,11 @@ function parse_url_content(App $a) // Check if the URL is an image, video or audio file. If so format // the URL with the corresponding BBCode media tag // Fetch the header of the URL - $curlResponse = Network::curl($url, false, ['novalidate' => true, 'nobody' => true]); + $curlResponse = DI::httpRequest()->head($url); if ($curlResponse->isSuccess()) { - // Convert the header fields into an array - $hdrs = []; - $h = explode("\n", $curlResponse->getHeader()); - foreach ($h as $l) { - $header = array_map('trim', explode(':', trim($l), 2)); - if (count($header) == 2) { - list($k, $v) = $header; - $hdrs[$k] = $v; - } - } + $hdrs = $curlResponse->getHeaderArray(); + $type = null; $content_type = ''; $bbcode = ''; @@ -120,13 +126,17 @@ function parse_url_content(App $a) $template = '[bookmark=%s]%s[/bookmark]%s'; - $arr = ['url' => $url, 'text' => '']; + $arr = ['url' => $url, 'format' => $format, 'text' => null]; Hook::callAll('parse_link', $arr); - if (strlen($arr['text'])) { - echo $arr['text']; - exit(); + if ($arr['text']) { + if ($format == 'json') { + System::jsonExit($arr['text']); + } else { + echo $arr['text']; + exit(); + } } // If there is already some content information submitted we don't @@ -164,7 +174,7 @@ function parse_url_content(App $a) } // Format it as BBCode attachment - $info = add_page_info_data($siteinfo); + $info = "\n" . PageInfo::getFooterFromData($siteinfo); echo $info; @@ -172,7 +182,7 @@ function parse_url_content(App $a) } /** - * @brief Legacy function to call ParseUrl::getSiteinfoCached + * Legacy function to call ParseUrl::getSiteinfoCached * * Note: We have moved the function to ParseUrl.php. This function is only for * legacy support and will be remove in the future