/*
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 Fransisco based indie dream pop rock duo Cathedrals release new material with their latest track Howling. The track wafts into your ear space with a low thrumming bass line intertwined with atypical fingered guitar work. But it is the “get to me every time” vocals of Ms. Brodie Jenkins that is the hook in the fishes mouth. The band is finishing up work on their yet untitled album, and hopefully it will be another reason 2016 will be the best 2016 ever! Oh wait! Before you go make sure you head on over to the Hype Machine and give the Howling track all of your ❤. Peace. Continue reading “cathedrals | howling”
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”
Dominique LeJeune has the kind of voice which sounds like it recently escaped from a candy wrapper, dripping sticky sweet footprints all the ways to your ears. And although its a voice of spilling all the colors of the entire Now & Laters lineup there is also fragility and honesty there too. Her debut WAKE EP courtesy of Community Records is a collection of 7-songs putting her heart and comparable songwriting skills on full display. Ms. LeJeune hails from New Orleans and has been kickin’ around the local music scene for a while now. I like her and I hope you do too. Peace. Continue reading “dominique lejeune // wake ep”
Dream Pop existentialists Young Wonder (Rachel Koeman and Ian Ring) create a beautiful music somewhere entrenched in mysterioso and swirling pastels. The band hails from Cork, Ireland and their latest Show Your Teeth EP is the kind of music by which to dream by. Check ’em out after the jump. Peace. Continue reading “young wonder // electrified”
Trans- Records artist and Minneapolis, MN resident Sombear (electro-pop artistBrad Hale) just dropped his latest single, “Love You In The Dark”. It’s a sultry number with a hypnotic appeal and sensual vibe. The track is taken from his soon to be released Love You In The Dark LP, out July 23rd. Hey, I’m still recovering from his earlier release Incredibly Still. Peace.Continue reading “sombear // love you in the dark”
The skinny is Saksatchewan began as the project of Orlando, Florida based multi-instrumentalist Chandler Strang. Later on Gery, Dave & Austin joined the fray. Long story (or at least convoluted) short they’ve named themselves after a Canadian province. The makers of a beautifully unique blend of dream-pop have released their debut LP Occasion via Father / Daughter Records. The album is a mix of Pretzel-shaped melancholy, 80 British pop and 90’s white boy soul. I like it. Check out the tracks Spellbound and Possession after the jump. And, you can cop yours at iTunes. Peace. Continue reading “saskatchewan // spellbound”
If you’re pining for a rich musical medium in which you can plant dreams and watch me grow, well Nadine Carina is fertile ground for such endeavors. The Where I Love EP sounds like 50’s girl pop amidst Italian ice shavings and a healthy squirt of simple syrup. Yes, these songs are both cool and sweet. The Where I Love EP is available via Bandcamp. Peace. Continue reading “nadine carina // where i love ep”
Whether you are lover or beloved. On this slight and chill Michigan morning it is Sunday and the music matches the countenance of the weather and the occasion. Behold. Fore the tender tendrils of spring are doing their determined best to permeate the frost strewn terra firma. And Active Child‘s track Evening Ceremony is knocking a ragged hole in your heart. “You Are All I See” Deluxe Edition is available now on iTunes via Vagrant Records. Peace. Continue reading “active child // evening ceremony”
Chelsea Jade Metcalf is Watercolours and the track Under, melts like slow dripping icicles licked tenderly by winter sunshine… GAH! Metaphors can be so naught,y but luckily the music is pristine and genuine. After the jump check out the lyrics too. Peace. Continue reading “watercolours // under”