]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/oembed.php
Enable events for showing Attachment representation
[quix0rs-gnu-social.git] / actions / oembed.php
index e293e4d27d0ed802edc6233a50a809dd25450848..da0352edf878816f8dbde6e8f08ab473b6a94a4d 100644 (file)
@@ -73,7 +73,7 @@ class OembedAction extends Action
                 case 'shownotice':
                     $oembed['type']='link';
                     $id = $proxy_args['notice'];
-                    $notice = Notice::staticGet($id);
+                    $notice = Notice::getKV($id);
                     if(empty($notice)){
                         // TRANS: Server error displayed in oEmbed action when notice not found.
                         // TRANS: %s is a notice.
@@ -91,18 +91,18 @@ class OembedAction extends Action
                         common_exact_date($notice->created));
                     $oembed['author_name']=$authorname;
                     $oembed['author_url']=$profile->profileurl;
-                    $oembed['url']=($notice->url?$notice->url:$notice->uri);
+                    $oembed['url']=$notice->getUrl();
                     $oembed['html']=$notice->rendered;
                     break;
                 case 'attachment':
                     $id = $proxy_args['attachment'];
-                    $attachment = File::staticGet($id);
+                    $attachment = File::getKV($id);
                     if(empty($attachment)){
                         // TRANS: Server error displayed in oEmbed action when attachment not found.
                         // TRANS: %d is an attachment ID.
                         $this->serverError(sprintf(_('Attachment %s not found.'),$id), 404);
                     }
-                    if(empty($attachment->filename) && $file_oembed = File_oembed::staticGet('file_id', $attachment->id)){
+                    if(empty($attachment->filename) && $file_oembed = File_oembed::getKV('file_id', $attachment->id)){
                         // Proxy the existing oembed information
                         $oembed['type']=$file_oembed->type;
                         $oembed['provider']=$file_oembed->provider;
@@ -113,7 +113,7 @@ class OembedAction extends Action
                         $oembed['title']=$file_oembed->title;
                         $oembed['author_name']=$file_oembed->author_name;
                         $oembed['author_url']=$file_oembed->author_url;
-                        $oembed['url']=$file_oembed->url;
+                        $oembed['url']=$file_oembed->getUrl();
                     }else if(substr($attachment->mimetype,0,strlen('image/'))=='image/'){
                         $oembed['type']='photo';
                         if ($attachment->filename) {
@@ -126,12 +126,15 @@ class OembedAction extends Action
                                 // TODO Either throw an error or find a fallback?
                             }
                         }
-                        $oembed['url']=$attachment->url;
-                        $thumb = $attachment->getThumbnail();
-                        if ($thumb) {
-                            $oembed['thumbnail_url'] = $thumb->url;
+                        $oembed['url']=$attachment->getUrl();
+                        try {
+                            $thumb = $attachment->getThumbnail();
+                            $oembed['thumbnail_url'] = $thumb->getUrl();
                             $oembed['thumbnail_width'] = $thumb->width;
                             $oembed['thumbnail_height'] = $thumb->height;
+                            unset($thumb);
+                        } catch (UnsupportedMediaException $e) {
+                            // No thumbnail data available
                         }
                     }else{
                         $oembed['type']='link';