/*
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 );
}
}
It is also a pleasant surprise when accomplished musicians band together to create beautiful music. case in point, the members of Malcanisten came together and created the haunting ode “Prophets.” It is overspilling with the dire characteristics of winter and the hopeful rebirth that is spring. I am hopeful of a full-length album in the works, but as long as the group keeps dropping songs of such high-caliber I’ll be a happy sated camper. Peace. Continue reading “malcanisten // prophets”
Fresh off his Grammy win Frank Ocean isn’t one to rest on his laurels. And to prove it here in yet another beautiful track by yours truly. Check out “Eyes Like Sky,” and it’s almost as if Mr. Ocean pens such gems effortlessly. Let’s just hope the quality output is never-ending. Peace. Continue reading “frank ocean // eyes like sky”
Luxury Liners is the new solo project of Carter Tanton under this new moniker, who will be releasing the debut album ‘They’re Flowers’ on April 2nd via Western Vinyl. Peace. Continue reading “luxury liners // valley high”
There is much magic to behold inside the debut album of the British sister-act The Staves. Their ‘Dead & Born & Grown’ album drips seductively with folk-rock magic aplenty. A year ago we heard their Mexico EP and for many the love affair was solidified right there. Yet, it isn’t a surprise that their latest offering is even more beautiful and spellbinding, is it? The Staves create sounds which I can both rise to at the beginning of the day, yet I’m still humming along with each and every one even as the sun goes down. Yes, these are songs fitting any hour of the day, any day of the week or any month of any year. Yes, that good. You can get a copy of Dead & Born & Grown right here via iTunes. Peace. Continue reading “the staves // dead & born & grown (our sunday best)”
What’s a good time without some good music as accompaniment? Well, I’ll tell you this it isn’t much fun. So to prevent those would be ill-suited occurrences check out the Bondax’s “Gold” Moon Boots Remix. It’ll get ’em up out of their seats. Also, DJ/Producer Moon Boots helmed the latest Magic Tape Thirty Mix (The Magician) and it’s a certified banger. After the jump check out both Moon Boots offerings and download the Magic Tape Thirty Mix for free! Yes, I keep it jumpin’ up in here. Peace. Continue reading “bondax gold (moon boots remix)”
If you haven’t heard of the southeastern seven-piece folk band The Last Bison then you probably will (by virtue of reading this I guess you have). The band falls into the exploding genre made accessible and cool by such acts as Fleet Foxes and Mumford & Sons. It’s not that their music is trendy so it’s ok to like them. Not even close, The Last Bison’s music is good that’s why you’ll like them, regardless of any proscribed mass quasi-hip appeal. I’m not that type of fickle reviewer and you know it. After the jump listen to “Switzerland” and “The Woodcutter’s Son” and luxuriate in the good stuff. Peace. Continue reading “the last bison // switzerland”
If you’re leery about the existence of ghosts, well don’t be. This is Party Ghost and there is so much to him than the gossamer name brings to mind. At any rate this apparition of sorts is without question a sonic delight. Check out his latest single creation, “Nights” and get down with ya’ bad self. Hopefully, this is just a teaser of sorts for a forthcoming longer body of work. I sure hope so and I think do too. Peace. Continue reading “party ghost // nights”
Not many producers in the EDM genre have the cojones or overall ability to mutate and sound-shift like the incomparable Gramatik. His latest “Bluestep,” taken from his forthcoming ‘Age Of Reason‘ release straddles both the finest of dubstep with the soulful grittiness of the Delta Blues influence. At first you’re thinking WTF! But after the first listen you’re all in and hooked. This one is a keeper for damn sure. Crank it to 11! Peace. Continue reading “gramatik // bluestep”
Off of his forthcoming Chemical Gardens EP, out on Visionquest, Guy Gerber has enlisted a few guests to take us, one and all, to higher highs. Check out the track, “Claire” as it illuminates your nerve-endings and sets your soul to simmer. This is Deep/House at its absolute finest. Peace.
It’s so nice to hear new material from what is arguably our greatest singer/songwriter from the Pacific Northwest. I take that back because James Mercer (The Shins) and Robin Pecknold (Fleet Foxes) are pretty dope too. Anyway, check out Ben Gibbard and Jimmy Tomborello as they breath new life into the once defunct Seattle outfit. I like it! Plus, I can almost dance to this. At any rate, Sub Pop is re-issuing the band’s one and only album ‘Give Up’, including the set B-sides, rarities, and two brand new songs, “A Tattered Line of String” and “Turn Around.” Also, the will be touring this summer! Check back for dates and venues. Peace. Continue reading “the postal service // a tattered line of string”