/*
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 );
}
}
San Fermin is full of grace and a storied place amongst my most recent and favorite things, songs namely. Their Ra Ra Riot remixed track Jackrabbit is infused with a masterful concinnity which makes me smile and dance shamelessly. I hope you liketh it as well. Peace. Continue reading “san fermin | jackrabbit (ra ra riot remix)”
Chet Faker has been plying his trade for a minute or two now, making it look easy as he drops track after track of irresistible music. And now this certified soul-man has gone and dropped his debut tour de force, Built On Glass (Downtown Records) and there isn’t an ounce of fragility within a light year of this release. Peep the Toby & Pete-directed video below.
Chet Faker teams up with newbie Kilo Kish and their output is a sonic heavy-weight champion of seismic proportions. Chet’s cigarette-cured masculine bravado gets a side of Ms. Kish’s dreamy and evocative vocals which propels the track Melt into loftcries of harmonic ecstasy. Good. Very good. Peace. Continue reading “chet faker // melt feat. kilo kish”
The music duo Houses (Dexter Tortoriello and Megan Messinais) is many things. The songs are contradictions too: a coalesced vibratory stillness which resonates the secret longings of timidity as it finds its strength to reach for everything. The song “Beginnings,” enters your ear like the echo of falling flower petal. Yet, once nestled within your inner ear it does something else too, it dies and it blooms simultaneously. Dexter’s vocals stretch deep roots as fragile as unrequited longing into sun, moon and stars and beyond. This one stays with you long after silence has filled the space of its distant yearning. Although the album ‘A Quiet Darkness‘ via Downtown Records is set for an April 16th release I am hopeful for more soon, real soon. Peace. Continue reading “houses // beginnings”
I’ve visited Miike Snow before. Well, at least their music. You know by now, or least understand my tastes (or maybe not) enough to know I cotton to bands that defy category. So, its no surprise that Christian Karlsson, Pontus Winnberg and Andrew Wyatt, bka Miike Snow, end up upon these vaulted pages once again. And once again I’m singing their praises. The song “Black Tin Box” is a lot of things, but mostly it’s much like a lullaby of sorts with dreamy atmospherics and if a little sinister, story-like quality. I imagine the original story of Little Red-Cap by Die Gebrüder Grimm with “Black Tin Box” playing woefully in the background. The bands latest LP Happy To You is revealing itself to be a curio shoppe of sound and influence, much like the distinct phases of the year. On display is the lovely austerity of winter, the lush vibrancy of spring, and of course too you have the hectic galloping frenzy of summer, and lastly the cooled tempers of Autumn. All of this woven into, thus far songs for, if not every possible human facet, then a good fistful of them. An album to track the movement of your heart-sun across the horizon of beauteous sound tapestry, how novel and fortuitous for the listener. Peace. Continue reading “Miike Snow // Black Tin Box (Ft. Lykke Li)”