Plugin = Share Tumblr

LeoColomb edited this page Jun 3, 2013 · 3 revisions

Plugin: Share on Tumblr

In the Quick Share box, add a one-click share to Tumblr link.

Install

  • In /user/plugins, create a new folder named quickshare-on-tumblr
  • In this new directory, create a blank file named plugin.php
  • In this new file, cut and paste the following code
  • Go to the Plugins administration page and activate the plugin

Code

<?php
/**
Plugin Name: Share on Tumbler
Plugin URI: http://yourls.org/
Description: Add <a href="http://tumblr.com">Tumblr</a> to the list of Quick Share destinations
Version: 1.0
Author: Ozh
Author URI: http://ozh.org/
**/


yourls_add_action( 'share_links', 'ozh_yourls_tumblr' );

function ozh_yourls_tumblr( $args ) {
	list( $longurl, $shorturl, $title, $text ) = $args;
	$shorturl = rawurlencode( $shorturl );
	$title = rawurlencode( htmlspecialchars_decode( $title ) );
	echo <<<TUMBLR
	
	<style type="text/css">
	#share_tb{background:transparent url(http://www.tumblr.com/favicon.ico) left center no-repeat;}
	</style>
	
	<a id="share_tb"
		href="http://www.tumblr.com/share?v=3&amp;u=$shorturl&amp;t=$title"
		title="Share on Tumblr"
		onclick="yourls_share_on_tumblr();return false;">Tumblr
	</a>
	
	<script type="text/javascript">
	// Send to Tumblr open window
	function yourls_share_on_tumblr() {
		var url = $('#share_tb').attr('href');
		window.open(url, 'tb', 'toolbar=no,width=800,height=550');
		return false;
	}
	// Dynamically update Tumblr link
	// when user clicks on the "Share" Action icon, event $('#tweet_body').keypress() is fired, so we'll add to this
	$('#tweet_body').keypress(function(){
		var title = encodeURIComponent( $('#titlelink').val() );
		var url = encodeURIComponent( $('#copylink').val() );
		var tb = 'http://www.tumblr.com/share?v=3&u='+url+'&t='+title;
		$('#share_tb').attr('href', tb);		
	});
	</script>

TUMBLR;
}
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.