/*
Plugin Name: Distrify Embed
Plugin URI: http://support.distrify.com/customer/portal/articles/264106-how-do-i-embed-on-a-wordpress-blog-
Description: Extends WordPress's Embeds allowing bloggers to easily embed videos from Distrify. Just go to any Distrify film page or player and copy the URL. Paste that URL in any WordPress blog and it will automatically be converted to an embedded Distrify player. If you are logged in to distrify.com it will automatically add your affiliate tracking code to your embeds. Make sure you turn on Auto-embeds in your WP settings and also make sure that the URL is on its own line and not hyperlinked (clickable when viewing the post). The plugin also extracts the still image from the film and saves it as the Featured Image for the post. This actually works for any Embed (not just Distrify) that you embed into your WordPress blog.
Author: Distrify Limited
Version: 0.3.1
Author URI: http://www.distrify.com
License: GPL2
Copyright 2011-2013 Distrify (email : hello@distrify.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* Does the work of adding the Distrify provider to wp_oembed
*/
function add_distrify_provider($the_content){
require_once( ABSPATH . WPINC . '/class-oembed.php' );
wp_oembed_add_provider('#https?://(www\.)?(distrify|muvies).com/films/.*#i', 'http://distrify.com/oembed.json', true );
wp_oembed_add_provider('http://muvi.es/*', 'http://distrify.com/oembed.json' );
wp_oembed_add_provider('#https?://.*\.muvies.com/.*reviews/.*#i', 'http://distrify.com/oembed.json', true );
}
//add the provider on plugins_loaded.
add_action('plugins_loaded', 'add_distrify_provider');
/**
* from http://wordpress.stackexchange.com/q/70752/1685
* Automatically set the featured image if an oEmbed-compatible embed is found in the post content.
* author: TheDeadMedic
* author URI: http://wordpress.stackexchange.com/users/1685/thedeadmedic
*
*/
add_action( 'wp_insert_post', array( 'ofi', 'init' ) );
class ofi
{
/**
* The post thumbnail ID
*
* @var int
*/
private $_thumb_id;
/**
* The post ID
*
* @var int
*/
private $_post_id;
/**
* Sets up an instance if called statically, and attempts to set the featured
* image from an embed in the post content (if one has not already been set).
*
* @param int $post_id
* @return object|null
*/
public function init( $post_id )
{
if ( ! isset( $this ) )
return new ofi( $post_id );
global $wp_embed;
$this->_post_id = absint( $post_id );
if ( ! $this->_thumb_id = get_post_meta( $this->_post_id, '_thumbnail_id', true ) ) {
if ( $content = get_post_field( 'post_content', $this->_post_id, 'raw' ) ) {
add_filter( 'oembed_dataparse', array( $this, 'oembed_dataparse' ), 10, 3 );
$wp_embed->autoembed( $content );
remove_filter( 'oembed_dataparse', array( $this, 'oembed_dataparse' ), 10, 3 );
}
}
}
/**
* @see init()
*/
public function __construct( $post_id )
{
$this->init( $post_id );
}
/**
* Callback for the "oembed_dataparse" hook, which will fire on a successful
* response from the oEmbed provider.
*
* @see WP_oEmbed::data2html()
*
* @param string $return The embed HTML
* @param object $data The oEmbed response
* @param string $url The oEmbed content URL
*/
public function oembed_dataparse( $return, $data, $url )
{
if ( ! empty( $data->thumbnail_url ) && ! $this->_thumb_id ) {
// if ( in_array( @ $data->type, array( 'video' ) ) ) // Only set for video embeds
$this->set_thumb_by_url( $data->thumbnail_url, @ $data->title );
}
}
/**
* Attempt to download the image from the URL, add it to the media library,
* and set as the featured image.
*
* @see media_sideload_image()
*
* @param string $url
* @param string $title Optionally set attachment title
*/
public function set_thumb_by_url( $url, $title = null )
{
/* Following assets will already be loaded if in admin */
require_once ABSPATH . 'wp-admin/includes/file.php';
require_once ABSPATH . 'wp-admin/includes/media.php';
require_once ABSPATH . 'wp-admin/includes/image.php';
$temp = download_url( $url );
if ( ! is_wp_error( $temp ) && $info = @ getimagesize( $temp ) ) {
if ( ! strlen( $title ) )
$title = null;
if ( ! $ext = image_type_to_extension( $info[2] ) )
$ext = '.jpg';
$data = array(
'name' => md5( $url ) . $ext,
'tmp_name' => $temp,
);
$id = media_handle_sideload( $data, $this->_post_id, $title );
if ( ! is_wp_error( $id ) )
return update_post_meta( $this->_post_id, '_thumbnail_id', $this->_thumb_id = $id );
}
if ( ! is_wp_error( $temp ) )
@ unlink( $temp );
}
}
twenty one pilots | tear in my heart | soysauce remix
Twenty One Pilots pretty much occupied the top spot on innumerable playlists this summer, no? But with the Tear In My Heart (SoySauce Remix) the top spot is pretty much cemented as one of the most memorable tracks of the year. Or at least I think so. And if you haven’t already check out Twenty One Pilots’ Blurryface LP do so, it’s out now courtesy of Fueled By Ramen. Enjoy. Peace. Continue reading “twenty one pilots | tear in my heart | soysauce remix”
Pablo Nutini will not be denied entry into your heart. And let’s face it this man is destined to settle into the soft tissue of your brain matter like a thorny crucible. So when the needle drops and the song Let Me Down Easy starts to play make sure you have some Cognac (or some other heavy hitting elixir) close at hand to steady your nerves. Continue reading “pablo nutini | let me down easy”
Little Dragon has found a way to mass produce delight in the form of bars, vocals and melody. And if you want to do something good for yourself then get the vocals of lead vocalist Yukimi Nagano inside your ears STAT! Continue reading “little dragon | klapp klapp”
Mimicking Birds opens up a main vein and let’s the essence of audible offerings out. We’re thankful as Sunday parishioners for the track Bloodlines. This song is of such character it’ll manage subtle slights of hand and leaves you wanting to visit often to unravel it’s tricks. But there aren’t any charades here, the music just surrounds you in feelings seldom unleashed. The track Owl Hoots is a flourish of breath stealing vapor and I am enamored like a certain Montague sweet on a beauteous Capulet.
Check out the band’s Eon album out now via Glacial Pace Records. Currently, the band is on tour with Modest Mouse and mayhap you can catch ’em. Peace. Continue reading “mimicking birds | bloodlines”
It’s official, I got a girl crush. Kitten is the band. Chloe Chaidez is the object of my affection. I got it bad ya’ll. Yeah, I know and I am just as surprised too. Let’s get this straight. I am not some floosy easily enamored by a demi-rock Pop-goddess with the stage presence of a modern day Madge Ciccone (but with prettier and softer edges than M. Sorry Ms. Material Girl). At first brush Kitten is Madonna, Taylor Dane and Cyndi Lauper-ish, but with extra sprinkles and sweeter glitter. Yet, her sound isn’t as simplistic as it seems. There exists depths of influence and elements with deep roots from the late 60’s and 70’s. A heavy dose of the bands stemming from the British Invasion. Along with a spattering of divergent elements as well. I musn’t forget her supporting cast. Guitarist Andy Miller and bassist Chris Vogel bring the goods and then some. Kitten is purely hard candy-Pop with an independent spirit. It’s at times a funkier, more often than not a post-punkier scope and orchestration. She’s like a jawbreaker or an all-day Day-Glo sucker. Kitten’s self-titled debut album is an alt sort of Pop too, which doesn’t don primary colors. No, hers is an ultraviolet and star splashed fluorescent patina. Yes, I have a genuine and unapologetic girl crush indeed. Continue reading “I Was There: The Shelter, Detroit, Michigan | Kitten”
Baraboo, Wisconsin based band PHOX are by far my fav newish carnival band. And now I’ve yet another reason to lose my top hat over Monica Martin & Co. Check out the (band member) Zach Johnson-directed video for the track “Slow Motion“after the jump. Also, you just may want to grab Phox’s new, sort of, debut self-titled album. The songs are remastered and have a more finished quality than previous recordings (thanks Jeff Lipton). Keep your eyeballs peeled, the album drops June 24th courtesy of Partisan Records. You can, and surely may Pre-order at: Amazon or iTunes and at www. phoxband.com. Peace. Continue reading “phox | slow motion | official video”
Paul Cook & The Chronicles offer up a bit of bright, uptempo and unrequited love. The track “Radar,” comes to your ears via London, UK. Look for the Radar EP to drop June 2nd, 2014. Paul Cook & The Chronicles is a promising solo project for indie singer-songwriter Paul Cook. The Radar EP precedes the fourth and final album in Paul Cook & The Chronicles ‘Volumes’ which drops later this year. Peace. Continue reading “paul cook & the chronicles | radar ep”
Active Child (Patrick Grossi) is indeed active (I couldn’t resitst). Listen to his latest, She Cut Me, the track is taken from his latest Rapor LP out now courtesy of Vagrant Records. Peace. Continue reading “active child // she cut me”