diff options
| -rwxr-xr-x | src/site.clj | 4 | ||||
| -rwxr-xr-x | static/header.css | 3 | ||||
| -rwxr-xr-x | static/js/pichat.js | 44 | ||||
| -rw-r--r-- | template/directory.st | 12 | ||||
| -rwxr-xr-x | template/logged_dump.st | 10 | ||||
| -rw-r--r-- | template/share_buttons.st | 6 | ||||
| -rw-r--r-- | template/single_message.st | 8 |
7 files changed, 64 insertions, 23 deletions
diff --git a/src/site.clj b/src/site.clj index e0a03e4..43e17a8 100755 --- a/src/site.clj +++ b/src/site.clj @@ -211,7 +211,7 @@ (defn fetch-messages-by-nick ([nick image-only] (fetch-messages-by-nick nick image-only 0)) ([nick image-only offset] - (let [query (str "SELECT m.content, m.created_on, u.nick, u.avatar + (let [query (str "SELECT m.content, m.created_on, m.message_id, u.nick, u.avatar FROM messages m, users u, rooms r WHERE m.user_id = u.user_id AND u.nick = ? AND r.room_id = m.room_id AND r.admin_only = false " @@ -412,7 +412,7 @@ (min (count directory) (* (inc offset) *per-directory-page*))) user-ids (apply str (interpose ", " (map #(%1 :user_id) users))) - qry (str "SELECT u.user_id, u.nick, u.avatar, m.content + qry (str "SELECT u.user_id, u.nick, u.avatar, m.content, m.message_id FROM users u, messages m WHERE u.user_id in (" user-ids ") AND m.user_id = u.user_id diff --git a/static/header.css b/static/header.css index e3cb85d..d416dd2 100755 --- a/static/header.css +++ b/static/header.css @@ -41,6 +41,9 @@ background-repeat:repeat-x; left: 0px; } + +.share-buttons img { cursor: pointer; } + #bar7{ top:12px; position:absolute; diff --git a/static/js/pichat.js b/static/js/pichat.js index 3775cfe..330aa86 100755 --- a/static/js/pichat.js +++ b/static/js/pichat.js @@ -5,6 +5,10 @@ var MaxImagePosts = 40 // Utils +// use e.g. "backgroundColor" not "background-color" +function isCSSPropertySupported(prop){ + return prop in document.body.style; +} function escapeHtml(txt) { if (!txt) { return ""; } @@ -470,7 +474,7 @@ function initDirectory() { } //big hand stuff - +// TODO: replace this with simple pointer-events thing. function initBigHand(id){ var cursorId = "#cursor-big" @@ -535,4 +539,42 @@ function initBigHand(id){ $(id).mouseover(imageMouseOver) +} + +Share = { + "getMessage": function(button){ + var message = $(button).parents(".logged-dump") + var id = message.attr("id").substr(8) // cut "message-001" to "001" + var nick = message.find("a").attr("href").substr(3) // cut "/u/timb" to "timb" + var link = "http://dump.fm/p/" + nick + "/" + id + var content = message.find(".linkify") + if (!content.length) content = message.find(".content") + var rawContent = content.html() + var img = content.find("img").attr("src") + var via = "via " + nick + " on dump.fm" + return {"nick": nick, "id": id, "link": encodeURIComponent(link), "content": content, "img": encodeURIComponent(img), "via": encodeURIComponent(via)} + }, + "openLink": function(url){ + window.open(url, "_blank") + }, + "facebook": function(button){ + var message = Share.getMessage(button) + var url = "http://www.facebook.com/share.php?u=" + message.link + "&t=" + message.via + Share.openLink(url) + }, + "tumblr": function(button){ + var message = Share.getMessage(button) + var url = "http://www.tumblr.com/share?v=3&u=" + message.img + "&t=" + message.via + Share.openLink(url) + }, + "twitter": function(button){ + var message = Share.getMessage(button) + var url = "http://twitter.com/home?status=" + message.img + encodeURIComponent(" ") + message.via + Share.openLink(url) + }, + "delicious": function(button){ + var message = Share.getMessage(button) + var url = "http://delicious.com/save?url=" + message.img + "&title=" + message.img + "¬es=" + message.via + Share.openLink(url) + } }
\ No newline at end of file diff --git a/template/directory.st b/template/directory.st index 954c717..ef20a29 100644 --- a/template/directory.st +++ b/template/directory.st @@ -17,7 +17,7 @@ <div id="loghead"></div> <br> - <div id="posts"> + <div id="posts"> <br> <center> <h2>✭ ✭ DUMP STARS ✭ ✭</h2> @@ -27,7 +27,7 @@ </center> $if(users)$ $users:{ u | - <div class="logged-dump"> + <div class="logged-dump" id="message-$u.message_id$"> <a href="/u/$u.nick$"> <b>$u.nick$</b> $if(u.avatar)$ @@ -40,11 +40,9 @@ <div id="infotxt"><b>last post</b></div> <span class="linkify">$u.content$</span> <hr /> - </div> - <a href="http://www.facebook.com/share.php?u=$u.content$&t=via dump.fm" target="_blank"><img src="/static/fbbutton.png"></a> - <a href="http://twitter.com/home?status=via dump.fm $u.content$" target="_blank"><img src="/static/twittericon.png"></a> - <a href="http://delicious.com/save?url=$u.content$¬es=via dump.fm&title=$u.content$" target="_blank"><img src="/static/delishicon.png"></a> - </div> + </div> + $share_buttons()$ + </div> }$ $else$ <span>No more users!</span> diff --git a/template/logged_dump.st b/template/logged_dump.st index 6fe4f68..3b8336a 100755 --- a/template/logged_dump.st +++ b/template/logged_dump.st @@ -1,6 +1,5 @@ - -<div class="logged-dump"> <a href="#"> +<div class="logged-dump" id="message-$dump.message_id$"> <div>$dump.created_on$ -- by <b><a href="/u/$dump.nick$">$dump.nick$</a></b></div> <a href="/u/$dump.nick$"> @@ -17,10 +16,5 @@ </div></a> <div class="content">$dump.content$</div> <hr /> - <div style="display:none;"> -<a href="#" target="_blank" onclick:"urlencode('$dump.content$');"><img src="/static/tumblricon.png"></a></div> - <a href="http://www.facebook.com/share.php?u=$dump.content$&t=via dump.fm" target="_blank"><img src="/static/fbbutton.png"></a> -<a href="http://twitter.com/home?status=via dump.fm $dump.content$" target="_blank"><img src="/static/twittericon.png"></a> -<a href="http://delicious.com/save?url=$dump.content$¬es=via dump.fm&title=$dump.content$" target="_blank"><img src="/static/delishicon.png"></a> + $share_buttons()$ </div> - </a>
\ No newline at end of file diff --git a/template/share_buttons.st b/template/share_buttons.st new file mode 100644 index 0000000..eeaae92 --- /dev/null +++ b/template/share_buttons.st @@ -0,0 +1,6 @@ +<div class="share-buttons"> +<img src="/static/fbbutton.png" class="share-button" onclick="Share.facebook(this)"> +<img src="/static/tumblricon.png" class="share-button" onclick="Share.tumblr(this)"> +<img src="/static/twittericon.png" class="share-button" onclick="Share.twitter(this)"> +<img src="/static/delishicon.png" class="share-button" onclick="Share.delicious(this)"> +</div>
\ No newline at end of file diff --git a/template/single_message.st b/template/single_message.st index e75ddd5..7047cbd 100644 --- a/template/single_message.st +++ b/template/single_message.st @@ -18,7 +18,7 @@ <br> <div id="posts"> <br> - <div class="logged-dump"> + <div class="logged-dump" id="message-$message.message_id$"> <a href="/u/$message.nick$"> <b>$message.nick$</b> $if(message.avatar)$ @@ -30,10 +30,8 @@ </a> <span class="linkify">$message.content$</span> <hr /> - </div> - <!--<a href="http://www.facebook.com/share.php?u=$u.content$&t=via dump.fm" target="_blank"><img src="/static/fbbutton.png"></a> - <a href="http://twitter.com/home?status=via dump.fm $u.content$" target="_blank"><img src="/static/twittericon.png"></a> - <a href="http://delicious.com/save?url=$u.content$¬es=via dump.fm&title=$u.content$" target="_blank"><img src="/static/delishicon.png"></a>--> + </div> + $share_buttons()$ </div> <!--<div id="footer"> $footer()$ |
