Issue 10019: Fix embedding of media objects

This commit is contained in:
Michael 2021-03-12 23:04:51 +00:00
parent 60a74fd5dc
commit 262ee2b0b1
3 changed files with 34 additions and 7 deletions

View file

@ -51,6 +51,30 @@ class ParseUrl
*/
const MIN_DESC_COUNT = 100;
/**
* Fetch the content type of the given url
* @param string $url URL of the page
* @return string content type
*/
public static function getContentType(string $url)
{
$curlResult = DI::httpRequest()->head($url);
if (!$curlResult->isSuccess()) {
return '';
}
$contenttype = $curlResult->getHeader('Content-Type');
if (empty($contenttype)) {
return '';
}
if (!preg_match('#(image|video|audio)/#i', $contenttype, $matches)) {
return '';
}
return array_pop($matches);
}
/**
* Search for chached embeddable data of an url otherwise fetch it
*