Merge pull request #10069 from annando/notice-fatal
Avoid fatal errors and notices
This commit is contained in:
commit
b94f442dd8
2 changed files with 25 additions and 15 deletions
|
@ -541,7 +541,12 @@ class Image
|
|||
do {
|
||||
// FIXME - implement horizontal bias for scaling as in following GD functions
|
||||
// to allow very tall images to be constrained only horizontally.
|
||||
$this->image->scaleImage($dest_width, $dest_height);
|
||||
try {
|
||||
$this->image->scaleImage($dest_width, $dest_height);
|
||||
} catch (Exception $e) {
|
||||
// Imagick couldn't use the data
|
||||
return false;
|
||||
}
|
||||
} while ($this->image->nextImage());
|
||||
|
||||
// These may not be necessary anymore
|
||||
|
|
|
@ -512,19 +512,20 @@ class ParseUrl
|
|||
{
|
||||
if (!empty($siteinfo['images'])) {
|
||||
array_walk($siteinfo['images'], function (&$image) use ($page_url) {
|
||||
$image = [];
|
||||
// According to the specifications someone could place a picture url into the content field as well.
|
||||
// But this doesn't seem to happen in the wild, so we don't cover it here.
|
||||
$image['url'] = self::completeUrl($image['url'], $page_url);
|
||||
$photodata = Images::getInfoFromURLCached($image['url']);
|
||||
if (!empty($photodata) && ($photodata[0] > 50) && ($photodata[1] > 50)) {
|
||||
$image['src'] = $image['url'];
|
||||
$image['width'] = $photodata[0];
|
||||
$image['height'] = $photodata[1];
|
||||
$image['contenttype'] = $photodata['mime'];
|
||||
unset($image['url']);
|
||||
ksort($image);
|
||||
} else {
|
||||
$image = [];
|
||||
if (!empty($image['url'])) {
|
||||
$image['url'] = self::completeUrl($image['url'], $page_url);
|
||||
$photodata = Images::getInfoFromURLCached($image['url']);
|
||||
if (!empty($photodata) && ($photodata[0] > 50) && ($photodata[1] > 50)) {
|
||||
$image['src'] = $image['url'];
|
||||
$image['width'] = $photodata[0];
|
||||
$image['height'] = $photodata[1];
|
||||
$image['contenttype'] = $photodata['mime'];
|
||||
unset($image['url']);
|
||||
ksort($image);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -542,7 +543,7 @@ class ParseUrl
|
|||
if (!empty($media[$field])) {
|
||||
$media[$field] = self::completeUrl($media[$field], $page_url);
|
||||
$type = self::getContentType($media[$field]);
|
||||
if ($type[0] == 'text') {
|
||||
if (($type[0] ?? '') == 'text') {
|
||||
if ($field == 'embed') {
|
||||
$embed = $media[$field];
|
||||
} else {
|
||||
|
@ -685,7 +686,9 @@ class ParseUrl
|
|||
{
|
||||
if (!empty($jsonld['@graph']) && is_array($jsonld['@graph'])) {
|
||||
foreach ($jsonld['@graph'] as $part) {
|
||||
$siteinfo = self::parseParts($siteinfo, $part);
|
||||
if (!empty($part)) {
|
||||
$siteinfo = self::parseParts($siteinfo, $part);
|
||||
}
|
||||
}
|
||||
} elseif (!empty($jsonld['@type'])) {
|
||||
$siteinfo = self::parseJsonLd($siteinfo, $jsonld);
|
||||
|
@ -699,7 +702,9 @@ class ParseUrl
|
|||
}
|
||||
if ($numeric_keys) {
|
||||
foreach ($jsonld as $part) {
|
||||
$siteinfo = self::parseParts($siteinfo, $part);
|
||||
if (!empty($part)) {
|
||||
$siteinfo = self::parseParts($siteinfo, $part);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue