]> git.mxchange.org Git - friendica.git/commitdiff
Fixes for OEmbed class (#5392)
authorRoland Häder <Quix0r@users.noreply.github.com>
Tue, 17 Jul 2018 20:28:20 +0000 (22:28 +0200)
committerHypolite Petovan <mrpetovan@eml.cc>
Tue, 17 Jul 2018 20:28:20 +0000 (16:28 -0400)
* Fixes:
- stdClass is clearly an object of `\stdClass`, so let's import it and set it
  as type-hint here
- if $o->type is not found, don't continue

Signed-off-by: Roland Häder <roland@mxchange.org>
* Fix for a fix due to 02:51 a.m. (!) edits ...

Signed-off-by: Roland Häder <roland@mxchange.org>
src/Content/OEmbed.php

index 360a0dc4899439949d7addf0de0b99bcf088d469..390f3ea868435a3c035d9f9f7e9deceab24f5fec 100644 (file)
@@ -20,6 +20,7 @@ use DOMNode;
 use DOMText;
 use DOMXPath;
 use Exception;
+use stdClass;
 
 require_once 'include/dba.php';
 require_once 'mod/proxy.php';
@@ -163,11 +164,12 @@ class OEmbed
                return $j;
        }
 
-       private static function formatObject($j)
+       private static function formatObject(stdClass $j)
        {
                $embedurl = $j->embedurl;
                $jhtml = $j->html;
                $ret = '<div class="oembed ' . $j->type . '">';
+
                switch ($j->type) {
                        case "video":
                                if (isset($j->thumbnail_url)) {
@@ -326,7 +328,7 @@ class OEmbed
 
                $o = self::fetchURL($url, !self::isAllowedURL($url));
 
-               if (!is_object($o) || $o->type == 'error') {
+               if (!is_object($o) || property_exists($o, 'type') && $o->type == 'error') {
                        throw new Exception('OEmbed failed for URL: ' . $url);
                }