/*
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 );
}
}
Sjaak Kassies has this project called The Fiber and it keeps him busy. His latest release is the single, “Away With Words” and it is a melancholy piece of music shrouded in setting suns and thunder storms. It is a song best served with the lights dim and one’s heart heavy and introspective. The Fiber is building stone by stone, song by song an impressive body of work. Hopefully, we’ll see a complete album in the near future because every time a new song drops I immediately want more, much more. Peace. Continue reading “the fiber // away with words”
I just found a total heart breaker of an album, and a clear shoe-in for one of the best albums of 2012. You’re apt to return to this collection of songs like the migratory geese revisiting the north lands of one’s thawing heart. And if the songs, “Night” and “Carousel” aren’t evidence enough of the band’s resounding beauty and tender trap fragility, then I implore you to warm your ethereal soul over the smoldering coals of the whole album. Lead vocalist Asher Lack delivers lyrics like the steady fall of spring rain; slowly eroding your heart to pieces. And then there is the soft crooning of Rebecca Rossi providing those soft delicate undercurrents of moody poetry. This is a band whose music ebbs and flows like small gifts of illuminating moonlight, but at times the music swells into orchestral waves of shattered sunspots leaving your breath caught in a net of forlorn beauty, oh how it captivates. You can gain this bit of gold and magic at Amazon and likewise on iTunes. Peace. Continue reading “Ravens & Chimes // Night”
The Fiber is Sjaak Kassies. I am familiar with his wonderful vocal work with the band Obsidian, and he is known to provide vox for one of my favorite projects Space Flakes. However, he stands pretty good on his own two feet plucking gorgeously on his acoustic guitar and singing his heart out. After the jump, check out his latest single release “Lead” and it is a right fine piece of work. Peace. Continue reading “The Fiber // Lead”
Jackson Phillips, Kevin Friedman, and Tyler Cratcha met in Boston at Berklee College of Music and it’s been on and poppin’ every since. We’re in an age, where any talented DIY musician can have access to the tools to create high-quality music from almost anywhere, and that’s a good thing. The trio known as Carousel is the perfect example of talent + creativity + determination = songs to tuck inside your heart of hearts and dance across the Milkyway. Check out their latest release “Know It’s Right” and you’ll be smitten. I also have their totally nitrous oxide-esque song “Thrill” and you’ll pinch yourself at the luck your having today, musically speaking that is. You’re gonna want to visit the bands SoundCloud for more good stuff. Oh, and I can’t leave you without an apt descriptor. The music of Carousel is like the best burger you ever had, but with a thick slice of cotton candy resting atop the tangy pickles. From these guys we’re expecting a meteoric rise! Enjoy and as always. Peace. Continue reading “Carousel // Know It’s Right (Band To Watch)”