X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Foembed.php;h=da0352edf878816f8dbde6e8f08ab473b6a94a4d;hb=b0c4e8fc3d406b6d2dc8b54b1892b39e0bb796bc;hp=09d68a446e58945fb425242e5d925b0eb3f4094c;hpb=834acaaa794254dfb9dc7e57dab498001d975d11;p=quix0rs-gnu-social.git diff --git a/actions/oembed.php b/actions/oembed.php index 09d68a446e..da0352edf8 100644 --- a/actions/oembed.php +++ b/actions/oembed.php @@ -61,7 +61,9 @@ class OembedAction extends Action $proxy_args = $r->map($path); if (!$proxy_args) { - $this->serverError(_("$path not found."), 404); + // TRANS: Server error displayed in oEmbed action when path not found. + // TRANS: %s is a path. + $this->serverError(sprintf(_('"%s" not found.'),$path), 404); } $oembed=array(); $oembed['version']='1.0'; @@ -71,30 +73,36 @@ class OembedAction extends Action case 'shownotice': $oembed['type']='link'; $id = $proxy_args['notice']; - $notice = Notice::staticGet($id); + $notice = Notice::getKV($id); if(empty($notice)){ - $this->serverError(_("Notice $id not found."), 404); + // TRANS: Server error displayed in oEmbed action when notice not found. + // TRANS: %s is a notice. + $this->serverError(sprintf(_("Notice %s not found."),$id), 404); } $profile = $notice->getProfile(); if (empty($profile)) { + // TRANS: Server error displayed in oEmbed action when notice has not profile. $this->serverError(_('Notice has no profile.'), 500); } $authorname = $profile->getFancyName(); + // TRANS: oEmbed title. %1$s is the author name, %2$s is the creation date. $oembed['title'] = sprintf(_('%1$s\'s status on %2$s'), $authorname, 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)){ - $this->serverError(_("Attachment $id not found."), 404); + // 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; @@ -105,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) { @@ -118,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'; @@ -133,7 +144,9 @@ class OembedAction extends Action if($attachment->title) $oembed['title']=$attachment->title; break; default: - $this->serverError(_("$path not supported for oembed requests."), 501); + // TRANS: Server error displayed in oEmbed request when a path is not supported. + // TRANS: %s is a path. + $this->serverError(sprintf(_('"%s" not supported for oembed requests.'),$path), 501); } switch($args['format']){ case 'xml': @@ -190,6 +203,7 @@ class OembedAction extends Action } break; default: + // TRANS: Server error displayed in oEmbed action when request specifies an unsupported data format. $this->serverError(_('Not a supported data format.'), 501); break; } @@ -209,10 +223,22 @@ class OembedAction extends Action } break; default: + // TRANS: Server error displayed in oEmbed action when request specifies an unsupported data format. $this->serverError(_('Not a supported data format.'), 501); break; } return; } + /** + * Is this action read-only? + * + * @param array $args other arguments + * + * @return boolean is read only action? + */ + function isReadOnly($args) + { + return true; + } }