tweak display of tweet button

This commit is contained in:
Andrew Dolgov 2010-11-25 12:05:48 +03:00
parent e1ef61d6f1
commit 411fe209d6
3 changed files with 59 additions and 39 deletions

View File

@ -2002,9 +2002,9 @@
}
}
function truncate_string($str, $max_len) {
function truncate_string($str, $max_len, $suffix = '…') {
if (mb_strlen($str, "utf-8") > $max_len - 3) {
return mb_substr($str, 0, $max_len, "utf-8") . "…";
return mb_substr($str, 0, $max_len, "utf-8") . $suffix;
} else {
return $str;
}
@ -4577,6 +4577,15 @@
print "<div id=\"PTITLE-$id\" style=\"display : none\">" .
truncate_string(strip_tags($line['title']), 15) . "</div>";
$tweet_title = htmlspecialchars(
truncate_string(strip_tags($line['title']), 100, '...'));
$tweet_link = htmlspecialchars($line['link']);
print "<span id=\"TWEETINFO-$id\" style=\"display : none\">";
print json_encode(array("title" => $tweet_title, "link" => $tweet_link));
print "</span>";
print "<div class=\"postReply\" id=\"POST-$id\">";
/* print "<div dojoType=\"dijit.Menu\" style=\"display: none;\"
@ -4642,6 +4651,13 @@
alt='Zoom' title='".__('Forward by email')."'>";
}
if (ENABLE_TWEET_BUTTON) {
print "<img src=\"".theme_image($link, 'images/art-tweet.png')."\"
class='tagsPic' style=\"cursor : pointer\"
onclick=\"tweetArticle($id)\"
alt='Zoom' title='".__('Share on Twitter')."'>";
}
print "<img src=\"".theme_image($link, 'images/digest_checkbox.png')."\"
class='tagsPic' style=\"cursor : pointer\"
onclick=\"closeArticlePanel($id)\"
@ -4704,14 +4720,6 @@
print_article_enclosures($link, $id, $always_display_enclosures,
$article_content);
$short_title = truncate_string(strip_tags($line['title']), 90);
print "<br/><a href=\"http://twitter.com/share\"
class=\"twitter-share-button\"
data-text=\"$short_title\"
data-url=\"".htmlspecialchars($line["link"])."\"
data-count=\"horizontal\">Tweet</a>";
print "</div>";
print "</div>";
@ -5227,11 +5235,14 @@
$short_title = truncate_string(
strip_tags($line['title']), 90);
print "<br/><a href=\"http://twitter.com/share\"
class=\"twitter-share-button\"
data-text=\"$short_title\"
data-url=\"".htmlspecialchars($line["link"])."\"
data-count=\"horizontal\">Tweet</a>";
$tweet_title = htmlspecialchars(
truncate_string(strip_tags($line['title']), 100, '...'));
$tweet_link = htmlspecialchars($line['link']);
print "<span id=\"TWEETINFO-$id\" style=\"display : none\">";
print json_encode(array("title" => $tweet_title, "link" => $tweet_link));
print "</span>";
print "</div>";
@ -5253,6 +5264,13 @@
alt='Zoom'
title='".__('Open article in new tab')."'>";
$note_escaped = htmlspecialchars($line['note'], ENT_QUOTES);
print "<img src=\"images/art-pub-note.png\"
style=\"cursor : pointer\" style=\"cursor : pointer\"
onclick=\"publishWithNote($id, '$note_escaped')\"
alt='PubNote' title='".__('Publish article with a note')."'>";
if (DIGEST_ENABLE) {
print "<img src=\"".theme_image($link, 'images/art-email.png')."\"
style=\"cursor : pointer\"
@ -5260,12 +5278,12 @@
alt='Zoom' title='".__('Forward by email')."'>";
}
$note_escaped = htmlspecialchars($line['note'], ENT_QUOTES);
print "<img src=\"images/art-pub-note.png\"
style=\"cursor : pointer\" style=\"cursor : pointer\"
onclick=\"publishWithNote($id, '$note_escaped')\"
alt='PubNote' title='".__('Publish article with a note')."'>";
if (ENABLE_TWEET_BUTTON) {
print "<img src=\"".theme_image($link, 'images/art-tweet.png')."\"
class='tagsPic' style=\"cursor : pointer\"
onclick=\"tweetArticle($id)\"
alt='Zoom' title='".__('Share on Twitter')."'>";
}
print "<img src=\"images/digest_checkbox.png\"
style=\"cursor : pointer\" style=\"cursor : pointer\"

BIN
images/art-tweet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -104,10 +104,6 @@ function headlines_callback2(transport, feed_cur_page) {
dijit.byId("headlines-toolbar").attr('content',
headlines_toolbar.firstChild.nodeValue);
$$("#headlines-frame a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn);
tbtn.render(); });
initHeadlinesMenu();
var cache_prefix = "";
@ -143,10 +139,6 @@ function headlines_callback2(transport, feed_cur_page) {
c.attr('content', c.attr('content') +
headlines_content.firstChild.nodeValue);
$$("#headlines-frame a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn);
tbtn.render(); });
console.log("restore selected ids: " + ids);
for (var i = 0; i < ids.length; i++) {
@ -228,9 +220,6 @@ function render_article(article) {
correctHeadlinesOffset(getActiveArticleId());
$$("#content-insert a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn); tbtn.render(); });
} catch (e) {
exception_error("render_article", e);
}
@ -1724,9 +1713,6 @@ function zoomToArticle(event, id) {
dijit.byId("content-tabs").addChild(article_pane);
$$("#ATAB-"+id+" a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn); tbtn.render(); });
if (!event || !event.shiftKey)
dijit.byId("content-tabs").selectChild(article_pane);
@ -1758,10 +1744,6 @@ function zoomToArticle(event, id) {
dijit.byId("content-tabs").addChild(article_pane);
$$("#ATAB-"+id+" a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn);
tbtn.render(); });
if (!event || !event.shiftKey)
dijit.byId("content-tabs").selectChild(article_pane);
@ -2320,3 +2302,23 @@ function initHeadlinesMenu() {
exception_error("initHeadlinesMenu", e);
}
}
function tweetArticle(id) {
try {
var d = new Date();
var ts = d.getTime();
var ti = JSON.parse($("TWEETINFO-" + id).innerHTML);
var share_url = "http://twitter.com/share?_=" + ts +
"&text=" + param_escape(ti.title) +
"&url=" + param_escape(ti.link);
window.open(share_url, 'ttrss_tweet',
"status=0,toolbar=0,location=0,width=500,height=400,scrollbars=1,menubar=0");
} catch (e) {
exception_error("tweetArticle", e);
}
}