/*
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 );
}
}
Photocomfort puts some skin in the music game with their new single Not Love. The airy vocals of Justine Bowe fills your ear with cotton candy soaked in the groove liquor and funk molasses of R&B with flourishes of a rebellious rock. Continue reading “photocomfort | not love”
The singer/songwriter Rachel Thomasin reached out to me through Twitter and boy I’m glad she did. How else would I have come to know the honest beauty of her songcraft? The Gravitate EP was released back in October, but nonetheless the songs have a timeless feel to them as they cascade over your eardrums like ancient waters washing over primordial stone. But, the songs have the opposite effect, instead of wearing you down like the ideal particle they enliven and rejuvenate. All in all, these are seven songs you’ll welcome into your head and heart, and eventually cherish. Also, in case you missed her March release, R. Thomasin, reach back and get yourself another earful of joyful noise. Peace. Continue reading “rachel thomasin // the gravitate ep”
the boston, massachusetts-based band hello echo have a gritty alt rock -n- roll thing going on, and i like it! with the trio’s latest release, titled ‘coffee cups ep‘, you get a strong taste of what’s to come. the release contains three songs which showcase why rolling stone magazine dubbed them a band to watch, but never that, just listen to the self-titled song “coffee cups”, “i wore it too” and my hands-down favorite, “country“. all of the songs provide ample reason why this band will be more than a passing infatuation. also, check the twangy yet beautiful track, “close your eyes and see” from the band’s debut lp ‘and as an extra nice bonus watch (and listen) to the neil young cover ‘everybody knows this is nowhere“hello‘ after the jump. peace. Continue reading “hello echo // coffee cups ep”
With a voice like cold winter air raging ’round a broken heart, Marissa Nadler delivers her songs within the low temperatures of the tenebrous. Invoking scenes of solitude and a hard-won forbearance to just get through it all somehow, some way. And if the lyrics to her song “The Wrecking Ball Company” are the cold and bland offal of a ruined relationship, then Marissa Nadler’s sweet voice is the honeyed medicine of remedy. So grab a heavy afghan and a finger or two of good whiskey and waltz with this dark nightsong deep into the odes of sorrow. A word of caution though, this song is a cold lover, it’ll ring around your delicate ears, yet it’ll leave you gasping at its conclusion. “The Wrecking Ball Company” is the first single offered from the forthcoming release The Sister, scheduled for a May 29th release on this artist’s very own Box of Cedar Records. Continue reading “Marrisa Nadler // The Wrecking Ball Company”
Aren’t you a great person? I think so, and since you’ve been so awesome as of late you should reward yourself with something nice. Boston indie-pop quintet The Hush Now have a new album dropping September 27th and I think it would make the perfect gift for someone like you. First, give it a listen below, just to see if it’s a good fit. This album is unique in that it is a one size fits all sort of LP. How clever of them, right? I meant to post this review this past weekend but because I have a selfish side I hoarded it. But after a bit of soul searching I thought better of it, and so here it is. Finally. Check out Memos and I think the both of you will get along just fine. Peace.
P.S. I love the opera bit towards the ending of the song “Hoping & Waiting”, how cool is that?