/*
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 );
}
}
In case you’ve forgotten (how could you?) the French duo Daft Punk (Thomas Bangalter and Guy-Manuel de Homem-Christo) released one of the most anticipated albums of 2013. Random Access Memories has gone on to garner countless accolades the world over. Now the guys have put out a slightly shaken and stirred video for the song Instant Crush featuring Julian Casablancas. I am thrilled because this is one of my favorite track on the RAM release. You can extract the visual after the jump and cop the audio via iTunes. Peace. Continue reading “daft punk | instant crush | feat. julian casablancas | video”
French duo Equateur (Romain Nouhi & Charles Rocher) released their Aquila EP earlier this year, and so far I am pleased as punch with this new band of electronic music makers. You can check out the video for the title track Aquila after the jump, and if you like head over to iTunes and get you some music. Peace. Continue reading “equateur // luv express”
It is so good to hear new material from one of the most exciting bands making music today. No doubt you can’t go wrong with Phoenix, and their latest single “Entertainment,” is full to bursting with pop music euphoria. The bands’ forthcoming album ‘Bankrupt‘ is out April 22nd and you can pre-order it exclusively on iTunes. Peace. Continue reading “phoenix // entertainment”
Maud Geffray and Sébastien Chenut are kind of a Parisian dynamic duo when it comes to creating deep musically creative music. In my mind what they do is assemble these incredible soundtracks which combine the best elements of fear and beauty. On their track “Waiting” featuring Koudlam, the song builds and stalks as the listener huddles down beneath it’s tantalizing menace. But in the end it swallows you up majestically and you couldn’t be happier. Look for the new album ‘Communion‘ to be released January 28th. Just a couple of things, the above photo is courtesy of Brain Magazine and my favorite SM album is Enemy & Lovers. Peace. Continue reading “scratch massive // waiting (ft. koudlam”
Not a new song by any means, but I was going through my iPod and came across the song “Baby Baby Sweet Sweet,” by Hyphen Hyphen. The track is from their ‘Chewbacca I’m Your Mother‘ EP (2011). The song still sounds fresh as a new lover to me. You can also get it on iTunes, Amazon and eMusic. Peace. Continue reading “hyphen hyphen // baby baby sweet sweet”
Back from wherever it is that legendary electro/dance DJs/producers go, we have Frenchman Danger and his return to center stage is a bonafide grande entrée. His fresh picked track “11h30” is absolutely scintillating and it will drown you in pure magical sound. Peace. Continue reading “danger // 11h30”
The song “Closer” Ft. Chloé” is a dangerously dark funk swamp in which one could sink within for hours on end. It dirties your fingertips it does, and muddles your neck with sucking kisses vampire like. It paws and scratches your delicate skin. It leaves bruises on body party and they aren’t ashamed to display these little remembrances like trophies. This is what a Scratch Massive song can do, and just when you think you’ve had enough you click repeat and Maud Geffray and Sébastien Chenuthave seduce you all over again. Peace. Continue reading “Scratch Massive // Closer Ft. Chloé”
So much has been said about French-indie band Concrete Knives, particularly about whether or not they sound like 90’s music or of they’re heralding in a new B-52’s type era, whatever that means. I don’t know about all those musical references and counter-references, all I know is they’re from France; and they rock. And when I listen to Concrete Knives it makes me feel like I’ve been dunked in a vat of bubbly. Confused? Don’t be, I’ll explain. You know how potent music can be, right? While one song makes you dance, another will make you cry. After (or during) listening to Concrete Knives’ You Can’t Blame The Youth EP it may make you feel giddy and light-headed. Kind of like the feeling you get when attempting to imbibe a magnum of the liquid gold, i.e. champagne. So, if you don’t have the cash to purchase a bottle of Louis Roederer Cristal just put Concrete Knives on and crank it up, same feeling minus the hangover. Can’t beat that with a stick. Peace. Continue reading “Concrete Knives – You Can’t Blame The Youth EP”