/*
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 );
}
}
one of the latest electro music projects out of the u.k. is pale. after the jump listen to the pop perfection that is the track “too much”. my first brush with this act tells one thing: i want more, and i think you do too. peace. Continue reading “pale // too much”
the indie folk band fossil collective released their latest the on & on ep. and you can get your very own copy on itunes. also, if you’re new to the band you can also check out the earlier ‘let it go‘ ep. peace.
for your listening pleasure i got a couple new track from the artist known only as rules. this is a the washington d.c.-based producer with beats of osmium-heavy dark matter. check out the songs, “telepathy” and “i’m patient” both tracks taken from the r&b splattered self-titled debut ep. good news you can cop it on his bandcamp page. peace. Continue reading “rules // the rules ep”
hugo manuel (bka the artist chad valley) of the esteemed releases the chad valley ep (2010) and equatorial ultravox (2011) is dropped his debut album ‘young hunger’ this fall, and it is something to if not shout about, then surely write about (hence my review). nevermind me, just check out the songs, “i owe you” (ft. twin shadow) and the “fall 4 u” (ft. glasser) after the jump. peace. Continue reading “chad valley // i owe you (ft. twin shadow)”
the weeknd drops a new song, “enemy” from his ‘trilogy’ release, it is one of three new songs which accompany the debut release. stay tuned for new remixes. peace. Continue reading “the weeknd // enemy”
from his amazing album ‘hurry up, we’re dreaming’ the artist currently known as m83 offers up a video to his 3rd single release, “steve mcqueen”. this one is a whole bunch of dazzling space pop with heavenward aspirations. just so you know the single will be released with stellar lineup of grandiose remixes from such notables as alluxe, beatauCue, maps and salm. peace. Continue reading “m83 // steve mcqueen (official music video)”
you know him as the indisputable voice of the postal service and death cab for cutie. but, now you may call him benjamin gibbard. whatever you call mr. gibbard he has a new debut solo album titled ‘former lives‘, it is out now via slang records and barsuk records respectively. after the jump listen to a couple of the tracks and enjoy. peace. Continue reading “benjamin gibbard // a hard one to know”
on the track “fading listening” the voices of chad petree and carah faye charnow of the now undefunct pioneering electro-pop band shiny toy guns, do a sort of call and response reminiscent of the vocally handsome twining with the sonically beautiful. but don’t mind me just listen to the song and just be thankful this pioneering band of four (the other two band members being Jeremy Dawson and Mikey Martin) are finally back together and making great music. the band’s new album III is out now, and if you want to stream it then go to www. shinytoyguns.com. peace.
i think an artist should do a song cover only if they’re going to do it justice. in the case of blood orange‘s (devonté hynes) cover of lemonade’s track “neptune,” it exceeds all (well, at least mine) expectations. the track is taken from lemonade’s current album ‘diver’ released via true panther. by the way, you”ll also hear a pretty dope rap verse by the veritable practitioner of rhymes starchild. peace. Continue reading “blood orange // neptune (ft. starchild)”
who says sisters don’t get along? the los angeles-based band haim sibling are getting along just fine. and with their latest ‘forever’ ep things are as they should be. the first single release is the pop-ish, “don’t save me” which is a bit of rock swirled with a bit of cotton candy. peace. Continue reading “haim // don’t save me”