thumbnails in oembed response and better looking rendering of oembed coming from other qvitter instances
This commit is contained in:
parent
eb3a2af822
commit
98f831dd20
|
@ -108,16 +108,38 @@ class ApiQvitterOembedNoticeAction extends ApiAction
|
|||
$oembed['version']='1.0';
|
||||
$oembed['provider_name']=common_config('site', 'name');
|
||||
$oembed['provider_url']=common_root_url();
|
||||
$oembed['type']='link';
|
||||
|
||||
// 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['title'] = ApiAction::dateTwitter($notice->created).' (Qvitter)';
|
||||
$oembed['author_name']=$authorname;
|
||||
$oembed['author_url']=$profile->profileurl;
|
||||
$oembed['url']=$notice->getUrl();
|
||||
$oembed['html']=$notice->getRendered();
|
||||
|
||||
// maybe add thumbnail
|
||||
$attachments = $notice->attachments();
|
||||
if (!empty($attachments)) {
|
||||
foreach ($attachments as $attachment) {
|
||||
if(is_object($attachment)) {
|
||||
try {
|
||||
$thumb = $attachment->getThumbnail();
|
||||
} catch (ServerException $e) {
|
||||
//
|
||||
}
|
||||
if(method_exists('File_thumbnail','url')) {
|
||||
try {
|
||||
$thumb_url = File_thumbnail::url($thumb->filename);
|
||||
$oembed['thumbnail_url'] = $thumb_url;
|
||||
break; // only first one
|
||||
} catch (ClientException $e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($this->format == 'json') {
|
||||
$this->initDocument('json');
|
||||
print json_encode($oembed);
|
||||
|
|
|
@ -2132,7 +2132,7 @@ body.rtl .queet.rtl .expanded-content {
|
|||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.oembed-twitter-username {
|
||||
.oembed-username {
|
||||
font-size:13px;
|
||||
color:#999;
|
||||
font-weight:normal;
|
||||
|
|
|
@ -2202,7 +2202,7 @@ function buildAttachmentHTML(attachments){
|
|||
|
||||
var twitterHTML = '<div class="oembed-item-header">\
|
||||
<span class="oembed-item-title">' + this.oembed.author_name + '</span>\
|
||||
<span class="oembed-twitter-username">' + this.oembed.title + '</span>\
|
||||
<span class="oembed-username">' + this.oembed.title + '</span>\
|
||||
</div>\
|
||||
<div class="oembed-item-body">' + this.oembed.oembedHTML + '</div>\
|
||||
<div class="oembed-item-footer">\
|
||||
|
@ -2248,12 +2248,28 @@ function buildAttachmentHTML(attachments){
|
|||
else {
|
||||
var oembedProvider = this.oembed.provider;
|
||||
var oembedProviderURL = removeProtocolFromUrl(this.oembed.provider_url);
|
||||
// remove trailing /
|
||||
if(oembedProviderURL.slice(-1) == '/') {
|
||||
oembedProviderURL = oembedProviderURL.slice(0,-1);
|
||||
}
|
||||
}
|
||||
|
||||
// If the oembed data is generated by Qvitter, we know a better way of showing the title
|
||||
var oembedTitle = this.oembed.title;
|
||||
var oembedTitleHTML = '<span class="oembed-item-title">' + oembedTitle + '</span>';
|
||||
if(oembedTitle.slice(-10) == ' (Qvitter)') {
|
||||
var oembedTimePosted = parseTwitterLongDate(oembedTitle.slice(0,-10));
|
||||
var oembedGNUsocialUsername = this.oembed.author_name.substring(this.oembed.author_name.lastIndexOf('(')+1,this.oembed.author_name.lastIndexOf(')'));
|
||||
var oembedGNUsocialFullname = this.oembed.author_name.slice(0,-(oembedGNUsocialUsername.length+3));
|
||||
oembedTitleHTML = '<span class="oembed-item-title">' + oembedGNUsocialFullname + '</span>\
|
||||
<span class="oembed-username">@' + oembedGNUsocialUsername + '</span>';
|
||||
}
|
||||
|
||||
|
||||
oembedHTML += '<a href="' + this.url + '" class="oembed-item">\
|
||||
' + oembedImage + '\
|
||||
<div class="oembed-item-header">\
|
||||
<span class="oembed-item-title">' + this.oembed.title + '</span>\
|
||||
' + oembedTitleHTML + '\
|
||||
</div>\
|
||||
<div class="oembed-item-body">' + oembedBody + '</div>\
|
||||
<div class="oembed-item-footer">\
|
||||
|
|
Loading…
Reference in New Issue
Block a user