Merge pull request #4680 from MrPetovan/bug/4669-check-getInfoFromURL-parameter

Check Image::getInfoFromURL parameter
This commit is contained in:
Michael Vogel 2018-03-25 10:39:17 +02:00 committed by GitHub
commit 2c00e3ad36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 16 deletions

View File

@ -76,10 +76,12 @@ class BBCode extends BaseObject
$picturedata = Image::getInfoFromURL($matches[1]);
if (($picturedata[0] >= 500) && ($picturedata[0] >= $picturedata[1])) {
$post["image"] = $matches[1];
} else {
$post["preview"] = $matches[1];
if ($picturedata) {
if (($picturedata[0] >= 500) && ($picturedata[0] >= $picturedata[1])) {
$post["image"] = $matches[1];
} else {
$post["preview"] = $matches[1];
}
}
}
@ -266,7 +268,7 @@ class BBCode extends BaseObject
$post["text"] = str_replace($pictures[0][0], "", $body);
} else {
$imgdata = Image::getInfoFromURL($pictures[0][1]);
if (substr($imgdata["mime"], 0, 6) == "image/") {
if ($imgdata && substr($imgdata["mime"], 0, 6) == "image/") {
$post["type"] = "photo";
$post["image"] = $pictures[0][1];
$post["preview"] = $pictures[0][2];

View File

@ -771,6 +771,10 @@ class Image
{
$data = [];
if (empty($url)) {
return $data;
}
$data = Cache::get($url);
if (is_null($data) || !$data || !is_array($data)) {

View File

@ -1313,7 +1313,7 @@ class OStatus
}
/**
* @brief Adds attachement data to the XML document
* @brief Adds attachment data to the XML document
*
* @param object $doc XML document
* @param object $root XML root element where the hub links are added
@ -1328,11 +1328,13 @@ class OStatus
switch ($siteinfo["type"]) {
case 'photo':
$imgdata = Image::getInfoFromURL($siteinfo["image"]);
$attributes = ["rel" => "enclosure",
"href" => $siteinfo["image"],
"type" => $imgdata["mime"],
"length" => intval($imgdata["size"])];
XML::addElement($doc, $root, "link", "", $attributes);
if ($imgdata) {
$attributes = ["rel" => "enclosure",
"href" => $siteinfo["image"],
"type" => $imgdata["mime"],
"length" => intval($imgdata["size"])];
XML::addElement($doc, $root, "link", "", $attributes);
}
break;
case 'video':
$attributes = ["rel" => "enclosure",
@ -1348,12 +1350,14 @@ class OStatus
if (!Config::get('system', 'ostatus_not_attach_preview') && ($siteinfo["type"] != "photo") && isset($siteinfo["image"])) {
$imgdata = Image::getInfoFromURL($siteinfo["image"]);
$attributes = ["rel" => "enclosure",
"href" => $siteinfo["image"],
"type" => $imgdata["mime"],
"length" => intval($imgdata["size"])];
if ($imgdata) {
$attributes = ["rel" => "enclosure",
"href" => $siteinfo["image"],
"type" => $imgdata["mime"],
"length" => intval($imgdata["size"])];
XML::addElement($doc, $root, "link", "", $attributes);
XML::addElement($doc, $root, "link", "", $attributes);
}
}
$arr = explode('[/attach],', $item['attach']);