/*
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 );
}
}
Lupe Fiasco drops fire once again featuring the diamond-throated Sirah. With The Buchanans track Lilies listeners get what they expect from this Chi-Town rapper, knowledge and introspection by the truckload. Peace.
The Leeds band Alt-J is pretty amazing as is, but when you put a solid track such as Hunger Of The Pine in the very inventive and capable hands of the exceptional producers of The Golden Pony sparks fly. Look at Mr. and Mr. The Golden Pony’s record, for it reads like the successive accomplishments of some very astute mixologists. Yet, to classify Timothy Monkiewicz and Thomas Murphy as simply mixers of music is not telling the whole story. Consider the following lifted from their Facebook fanpage: Continue reading “alt-j | hunger of the pine | the golden pony remix”
Milwaukee-based music troupe Field Report have set my ears all aglow with their current release Marigolden, courtesy of Partisan Records. This time out
bandleader Chris Porterfield reminisces melodically about the inevitable tolls taken by the passage of time, and prolonged distance from home and loved ones. Continue reading “field report | marigolden lp”
Santa Barbara natives Ethan and Josie aka Candyland began producing their own original songs back in April of 2011. After winning back-to-back Beatport remix contests (Skrillex- Make it Bun Dem & Bingo Players- Rattle) and racking up millions of Soundcloud plays Candyland is touring the world. Continue reading “candyland | candyland & revoke | breathless (the kingdumb remix)”
Caroline Smith will take your heart and break it, mend it and send you on your merry way smiling like a fool. Ms. Smith does something with words and music which comes naturally and seemingly effortless, yet we know it isn’t either. But, it is her slight of voice and deft cleft notes that not only entertain our ears, but makes us lean in closer.
Sylvan Esso is Amelia Randall Meath and Nicholas Sanborn and it seems they are better at being two than most people are at being one. And this mutual accord has produced the duos the self-titled LP, Sylvan Esso. Continue reading “sylvan esso | coffee”
Are you privy to the newly coined axiom (I made it up) which posits, “What happens Down Under will irrevocably come to light”? Well, Melbourne duo GL is so out of the shadows one may mistake them for the bright sun rising in the eastern sky. GL offers us lightning in a bottle once again with their latest track What Happened To Us. Continue reading “gl | what happened to us”
The music of Fyfe makes mine chambered heart-cup runneth over with the burnished high emotions of amore. The track, Holding On is the perfect Hump Day song, if my drift is received and channeled with the correct overheated frequency. I blush.
The track Holding On is being released worldwide tomorrow, and I will provide updates on how you can get your mitts all over it. Peace. Continue reading “fyfe | holding on |”
Lizzo teams up with Caroline Smith and the creation is a know-doubt-about-it anthem for all those who could care less what other tongues are a waggin’ behind their backs. The track. Let Em Say is the latest single from the Lizzo Music camp. Peace. Continue reading “lizzo & caroline smith | let em say”