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) { 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 { } else {
return $str; return $str;
} }
@ -4577,6 +4577,15 @@
print "<div id=\"PTITLE-$id\" style=\"display : none\">" . print "<div id=\"PTITLE-$id\" style=\"display : none\">" .
truncate_string(strip_tags($line['title']), 15) . "</div>"; 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 class=\"postReply\" id=\"POST-$id\">";
/* print "<div dojoType=\"dijit.Menu\" style=\"display: none;\" /* print "<div dojoType=\"dijit.Menu\" style=\"display: none;\"
@ -4642,6 +4651,13 @@
alt='Zoom' title='".__('Forward by email')."'>"; 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')."\" print "<img src=\"".theme_image($link, 'images/digest_checkbox.png')."\"
class='tagsPic' style=\"cursor : pointer\" class='tagsPic' style=\"cursor : pointer\"
onclick=\"closeArticlePanel($id)\" onclick=\"closeArticlePanel($id)\"
@ -4704,14 +4720,6 @@
print_article_enclosures($link, $id, $always_display_enclosures, print_article_enclosures($link, $id, $always_display_enclosures,
$article_content); $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>";
print "</div>"; print "</div>";
@ -5227,11 +5235,14 @@
$short_title = truncate_string( $short_title = truncate_string(
strip_tags($line['title']), 90); strip_tags($line['title']), 90);
print "<br/><a href=\"http://twitter.com/share\" $tweet_title = htmlspecialchars(
class=\"twitter-share-button\" truncate_string(strip_tags($line['title']), 100, '...'));
data-text=\"$short_title\"
data-url=\"".htmlspecialchars($line["link"])."\" $tweet_link = htmlspecialchars($line['link']);
data-count=\"horizontal\">Tweet</a>";
print "<span id=\"TWEETINFO-$id\" style=\"display : none\">";
print json_encode(array("title" => $tweet_title, "link" => $tweet_link));
print "</span>";
print "</div>"; print "</div>";
@ -5253,6 +5264,13 @@
alt='Zoom' alt='Zoom'
title='".__('Open article in new tab')."'>"; 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) { if (DIGEST_ENABLE) {
print "<img src=\"".theme_image($link, 'images/art-email.png')."\" print "<img src=\"".theme_image($link, 'images/art-email.png')."\"
style=\"cursor : pointer\" style=\"cursor : pointer\"
@ -5260,12 +5278,12 @@
alt='Zoom' title='".__('Forward by email')."'>"; alt='Zoom' title='".__('Forward by email')."'>";
} }
$note_escaped = htmlspecialchars($line['note'], ENT_QUOTES); if (ENABLE_TWEET_BUTTON) {
print "<img src=\"".theme_image($link, 'images/art-tweet.png')."\"
print "<img src=\"images/art-pub-note.png\" class='tagsPic' style=\"cursor : pointer\"
style=\"cursor : pointer\" style=\"cursor : pointer\" onclick=\"tweetArticle($id)\"
onclick=\"publishWithNote($id, '$note_escaped')\" alt='Zoom' title='".__('Share on Twitter')."'>";
alt='PubNote' title='".__('Publish article with a note')."'>"; }
print "<img src=\"images/digest_checkbox.png\" print "<img src=\"images/digest_checkbox.png\"
style=\"cursor : pointer\" style=\"cursor : pointer\" 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', dijit.byId("headlines-toolbar").attr('content',
headlines_toolbar.firstChild.nodeValue); headlines_toolbar.firstChild.nodeValue);
$$("#headlines-frame a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn);
tbtn.render(); });
initHeadlinesMenu(); initHeadlinesMenu();
var cache_prefix = ""; var cache_prefix = "";
@ -143,10 +139,6 @@ function headlines_callback2(transport, feed_cur_page) {
c.attr('content', c.attr('content') + c.attr('content', c.attr('content') +
headlines_content.firstChild.nodeValue); 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); console.log("restore selected ids: " + ids);
for (var i = 0; i < ids.length; i++) { for (var i = 0; i < ids.length; i++) {
@ -228,9 +220,6 @@ function render_article(article) {
correctHeadlinesOffset(getActiveArticleId()); correctHeadlinesOffset(getActiveArticleId());
$$("#content-insert a.twitter-share-button").each(
function(btn) { var tbtn = new twttr.TweetButton(btn); tbtn.render(); });
} catch (e) { } catch (e) {
exception_error("render_article", e); exception_error("render_article", e);
} }
@ -1724,9 +1713,6 @@ function zoomToArticle(event, id) {
dijit.byId("content-tabs").addChild(article_pane); 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) if (!event || !event.shiftKey)
dijit.byId("content-tabs").selectChild(article_pane); dijit.byId("content-tabs").selectChild(article_pane);
@ -1758,10 +1744,6 @@ function zoomToArticle(event, id) {
dijit.byId("content-tabs").addChild(article_pane); 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) if (!event || !event.shiftKey)
dijit.byId("content-tabs").selectChild(article_pane); dijit.byId("content-tabs").selectChild(article_pane);
@ -2320,3 +2302,23 @@ function initHeadlinesMenu() {
exception_error("initHeadlinesMenu", e); 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);
}
}