/*
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 );
}
}
The ‘Trust’ EP by Gold Panda is a collection of four tracks that’ll take you there and back again. You can stream the EP after the jump and also get it for yourself via ghostly.com. Peace. Continue reading “gold panda // trust ep”
The first single “Miracle Mile,” from Los Angeles indie rockers Cold War Kids is out and about for all to listen to and enjoy. The track is taken from the band’s forthcoming album ‘Dear Miss Lonelyhearts‘. You can also check out the band’s various (there are three thus far) video album teasers via YouTube. Peace. Continue reading “cold war kids // miracle mile”
Australian group Clubfeet know how to keep listeners coming back for more. Check out the first single “Everything You Wanted,” from their ‘Heirs & Graces‘ album, which dropped January 18th. Also, after the jump your eyeballs can take in the brand new video for the song as well. Peace. Continue reading “clubfeet // everything you wanted”
Blue Horizon recording group The Black Angels have announced the upcoming release of their eagerly anticipated new album. ‘Indigo Meadow‘ will drop in stores and everywhere else on April 2nd.
Indigo Meadow is heralded by the high-powered “Don’t Play With Guns.” Who the hell said Texas-bred neo-psychedelic rock was uninformed and boring? Not I my friend, not I. Peace. Continue reading “the black angels // don’t play with guns”
From the city of angels let’s give it up for Touch Tone (Andrew Verner) he’s and up and coming dj/producer who has managed to take Goldroom’s track “Sweetness Alive,” to a higher high. For more check out his Soundcloud and ride it out. Peace. Continue reading “goldroom // sweetness alive (touch tone remix)”
Upstate New York peddlers of great music This Old Ghost, have gone fashioned another wonderful collection of songs filled with all the characteristic whimsical charm we’ve come to expect from this good-natured quintet. The new album ‘Family Room‘ is officially out today and is available via Bandcamp and iTunes. You can stream the whole kit and kaboodle after the jump. Peace. Continue reading “this old ghost // family room”
From the lovey dovey heart of a slightly nostaligic Christopher Owens comes a nice little jingle to mingle around your earlobe. The track is “Here We Go Again,” and you can hear as much as you please on his debut solo album ‘Lysandre‘, no release date as of yet, but when I know you’ll know. Peace. Continue reading “christopher owens // here we go again”
Belfast foursome Girls Names are unlike most bands in that they have forged a signature sound which keeps getting better with every release. If you heard the band’s debut LP ‘Dead To Me’ it was a fiery shot across the bow of ears everywhere. Now, with the release of their sophomore album ‘The New Life‘ fast approaching it is evident by the first two tracks, “Hypnotic Regression” and “Pittura Infamante,” that this effort is going get plenty of airplay in 2013 and beyond. By the way, you can Pre-Order ‘The New Life via Tough Love Records. Peace. Continue reading “girls names // pittura infamante”
UK band Rehearsed Living may be diamonds in the rough but there is buckets full of potential for all the world to hear. Although the songwriting is good enough there are fault lines in the production. That being said I am looking forward to hearing more from this quartet, with their post-punk synths and mundane glitter. With a bit of refinement I’d say this one is a keeper. After the jump check two selections, “Not Your Problem” and “Miles,” the latter of which is stylistically reminiscent The Psychedelic Furs and The Cure. Peace. Continue reading “rehearsed living // not your problem”