/*
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 );
}
}
If sun-dappled and sombre quasi-love songs are your thing, (to some degree, this one appears to channel both Of Montreal and Tame Impala simultaneously) then take in the latest single by Stars In Coma. The single track, “Cherry Weekend,” and according to André Brorsson it, “It describes an emotionally turbulent weekend in London.” Alrighty then. The song is taken from the SIC forthcoming LP ‘Confessional Sun’ out Fall 2013. Peace. Continue reading “stars in coma // cherry weekend”
Although the duo Disclosure isn’t dropping their album Settle until June 3rd (Universal Island Records) doesn’t mean you can’t check out a few tracks ahead of schedule. After the jump check out, “You & Me (Ft. Eliza Doolittle),” and the frenetic track “When The Fire Starts To Burn”. You can pre-order the Settle LP right now via iTunes and Amazon. Peace. Continue reading “disclosure // you & me (ft. eliza doolittle)”
Dubstep DJ/producer and Tectonic label majordomo Pinch ventures into the Dark Bass House sound of the netherworld and is delving meticulously in rich ore of his imagination. Here, we have his Pinch Mix for Cold Recording, and it is an alternative stream of consciousness feeding off the dank matter of shadow blanketed corners. Peace. Continue reading “pinch // pinch mix for cold recordings”
This month Tesla Boy dropped their highly anticipated sophomore LP ‘The Universe Made Of Darkness’, and naturally we are both impressed and grateful. Get an earful of the single, “Broken Doll,” featuring the Red Velvet cake vocals of Tyson. This track sheds mega sparks via it’s nasty synths and sexy menacing bass line, and we can’t seem to get enough. You can get the 12-track album right now via iTunes. Peace. Continue reading “tesla boy // broken doll”
Get familiar with the extraordinary mixologist Kim Ann Foxman as she puts her special and spacey touch on the The XX‘s “Sunset”. It’s all spectral and extraterrestrial like a shooting star disco ball. Blast off your weekend to this! Peace. Continue reading “the xx // sunset (kim ann foxman remix)”
Without question the world can use a lot more love, and the French Express artist Moon Boots brings it with his latest track, “Love Strong”. This House/Disco laden affair summer jam written all over it. And the good thing is you can have it right now. Get your FREE DOWNLOAD after the jump. Peace. Continue reading “moon boots // love strong + free download”
Mandy Lee, of MisterWives, shoots her soul-penetrating voice clear through the atmosphere to your… well, soul . On the song, Coffins we are treated to a thing as mellifluous as honey sodden sunshine. Check out the New York band’s debut The Western and a spate of other beautiful songs, via Photo Finish Records. Peace. Continue reading “misterwives // coffins”
HAERTS follow up Wings with their incredibly beautiful new single, All The Days.
According to the band’s webpage, HAERTS is a band from New York hailing from Germany, England, and the United States. The group consists of Nini Fabi, Ben Gebert, Garrett Ienner, Derek McWilliams, and Jonathan Schmidt. The band’s first single, Wings, was produced in collaboration with Jean-Philip Grobler (aka St. Lucia). HAERTS’ debut album is due in 2013. Peace. Continue reading “haerts // all the days”
Great music from Sydney, Australia taking the physical form in the form the band MOVEMENT. They’re recently signed to Modular Records and the debut single Feel Real is all that and a bag of ganja. Good stuff for sure. But aside from the, “I’ll be your Romeo, you’ll be my Juliet,” reference (hey, no dying here), it’s all good. Peace. Continue reading “movement // feel real”
It’s only been a few weeks since the Tunbridge Wells, Britain resident Cats Hero dropped his track Make It. Now, as promised he’s blessing our ears with yet another seismic track. This one goes by the name Slate, but I’m sure it is an alias. Peace. Continue reading “cats hero // slate”