]> git.mxchange.org Git - friendica.git/blobdiff - include/oembed.php
Merge pull request #1044 from annando/master
[friendica.git] / include / oembed.php
index 17fc873ccb304aa339cd4e24d5267a82a60e1015..29d462d8f7d2252629e1cd3fb75b6508b90c04f2 100755 (executable)
@@ -10,7 +10,7 @@ function oembed_replacecb($matches){
 }
 
 
-function oembed_fetch_url($embedurl){
+function oembed_fetch_url($embedurl, $no_rich_type = false){
 
        $embedurl = trim($embedurl, "'");
        $embedurl = trim($embedurl, '"');
@@ -79,6 +79,32 @@ function oembed_fetch_url($embedurl){
                return false;
 
        $j->embedurl = $embedurl;
+
+       // If fetching information doesn't work, then improve via internal functions
+       if (($j->type == "error") OR ($no_rich_type AND ($j->type == "rich"))) {
+               require_once("mod/parse_url.php");
+               $data = parseurl_getsiteinfo($embedurl, true, false);
+               $j->type = $data["type"];
+
+               if ($j->type == "photo") {
+                       $j->url = $data["url"];
+                       //$j->width = $data["images"][0]["width"];
+                       //$j->height = $data["images"][0]["height"];
+               }
+
+               if (isset($data["title"]))
+                       $j->title = $data["title"];
+
+               if (isset($data["text"]))
+                       $j->description = $data["text"];
+
+               if (is_array($data["images"])) {
+                       $j->thumbnail_url = $data["images"][0]["src"];
+                       $j->thumbnail_width = $data["images"][0]["width"];
+                       $j->thumbnail_height = $data["images"][0]["height"];
+               }
+       }
+
        return $j;
 }