/* * jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz * * Copyright (c) 2012 Mathias Panzenböck * * is released under the MIT License http://www.opensource.org/licenses/mit-license.php * * Spread the word, link to us if you can. */ (function ($, undefined) { "use strict"; function getQuote (options, uri, settings) { var text = $('article, p').text(); if (text.length <= 600) { return text; } var abbrev = text.slice(0, 597); if (!/\W/.test(text.charAt(length - 3))) { var match = /^(.*)\s\S*$/.exec(abbrev); if (match) { abbrev = match[1]; } } return abbrev + "\u2026"; } function getClickthru (options, uri) { return uri + options.referrer_track; } function get (self, options, uri, settings, name) { var value = options[name]; if (typeof value === "function") { return value.call(self, options, uri, settings); } return String(value); } function openTumblr (event) { var winx = window.screenX || window.screenLeft; var winy = window.screenY || window.screenTop; var winw = window.outerWidth || window.innerWidth; var winh = window.outerHeight || window.innerHeight; var width = 450; var height = 430; var x = Math.round(winx + (winw - width) * 0.5); var y = Math.round(winy + (winh - height) * 0.5); window.open(this.href, 't', 'left='+x+',top='+y+',toolbar=0,resizable=0,status=0,menubar=0,width='+width+',height='+height); event.preventDefault(); } $.fn.socialSharePrivacy.settings.services.tumblr = { 'status' : true, 'privacy' : 'safe', 'button_class' : 'tumblr', 'txt_info' : 'Post this on Tumblr.', 'txt_button' : 'Share on Tubmlr', 'display_name' : 'Tumblr', 'referrer_track' : '', 'type' : 'link', // possible values are 'link', 'quote', 'photo' or 'video' // type: 'link': 'name' : $.fn.socialSharePrivacy.getTitle, 'description' : $.fn.socialSharePrivacy.getDescription, // type: 'quote': 'quote' : getQuote, // type: 'photo': 'photo' : $.fn.socialSharePrivacy.getImage, 'clickthrou' : getClickthru, // type: 'video': 'embed' : $.fn.socialSharePrivacy.getEmbed, // type: 'photo' or 'video': 'caption' : $.fn.socialSharePrivacy.getDescription, 'button' : function (options, uri, settings) { var $code = $('' + options.txt_button + '').click(openTumblr); switch (options.type) { case 'link': return $code.attr('href', 'http://www.tumblr.com/share/link?'+$.param({ url : uri + options.referrer_track, name : get(this, options, uri, settings, 'name'), description : get(this, options, uri, settings, 'description') })); case 'quote': return $code.attr('href', 'http://www.tumblr.com/share/quote?'+$.param({ source : uri + options.referrer_track, quote : get(this, options, uri, settings, 'quote') })); case 'photo': return $code.attr('href', 'http://www.tumblr.com/share/photo?'+$.param({ source : get(this, options, uri, settings, 'photo'), caption : get(this, options, uri, settings, 'caption'), clickthrou : get(this, options, uri, settings, 'clickthrou') })); case 'video': return $code.attr('href', 'http://www.tumblr.com/share/video?'+$.param({ embed : get(this, options, uri, settings, 'embed'), caption : get(this, options, uri, settings, 'caption') })); } } }; })(jQuery);