Skip to content
Snippets Groups Projects
Commit 2e57f6e8 authored by lucha's avatar lucha
Browse files

[auto] Plugin: oembed-provider 2.0.1

parent 5866efac
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Plugin Name: oEmbed Provider Plugin Name: oEmbed Provider
Plugin URI: http://wordpress.org/extend/plugins/oembed-provider/ Plugin URI: http://wordpress.org/extend/plugins/oembed-provider/
Description: An oEmbed provider for Wordpress Description: An oEmbed provider for Wordpress
Version: 2.0.0 Version: 2.0.1
Author: pfefferle, candrews Author: pfefferle, candrews
Author URI: https://github.com/pfefferle/oEmbedProvider/ Author URI: https://github.com/pfefferle/oEmbedProvider/
*/ */
...@@ -19,7 +19,7 @@ class OembedProvider { ...@@ -19,7 +19,7 @@ class OembedProvider {
/** /**
* auto discovery links * auto discovery links
*/ */
function add_oembed_links(){ public static function add_oembed_links() {
if (is_singular()) { if (is_singular()) {
echo '<link rel="alternate" type="application/json+oembed" href="' . site_url('/?oembed=true&amp;format=json&amp;url=' . urlencode(get_permalink())) . '" />'."\n"; echo '<link rel="alternate" type="application/json+oembed" href="' . site_url('/?oembed=true&amp;format=json&amp;url=' . urlencode(get_permalink())) . '" />'."\n";
echo '<link rel="alternate" type="text/xml+oembed" href="' . site_url('/?oembed=true&amp;format=xml&amp;url=' . urlencode(get_permalink())) . '" />'."\n"; echo '<link rel="alternate" type="text/xml+oembed" href="' . site_url('/?oembed=true&amp;format=xml&amp;url=' . urlencode(get_permalink())) . '" />'."\n";
...@@ -29,7 +29,7 @@ class OembedProvider { ...@@ -29,7 +29,7 @@ class OembedProvider {
/** /**
* adds query vars * adds query vars
*/ */
function query_vars($query_vars) { public static function query_vars($query_vars) {
$query_vars[] = 'oembed'; $query_vars[] = 'oembed';
$query_vars[] = 'format'; $query_vars[] = 'format';
$query_vars[] = 'url'; $query_vars[] = 'url';
...@@ -41,7 +41,7 @@ class OembedProvider { ...@@ -41,7 +41,7 @@ class OembedProvider {
/** /**
* handles request * handles request
*/ */
function parse_query($wp) { public static function parse_query($wp) {
if (!array_key_exists('oembed', $wp->query_vars) || if (!array_key_exists('oembed', $wp->query_vars) ||
!array_key_exists('url', $wp->query_vars)) { !array_key_exists('url', $wp->query_vars)) {
return; return;
...@@ -52,7 +52,7 @@ class OembedProvider { ...@@ -52,7 +52,7 @@ class OembedProvider {
if(!$post) { if(!$post) {
header('Status: 404'); header('Status: 404');
die("Not found"); wp_die("Not found");
} }
$post_type = get_post_type($post); $post_type = get_post_type($post);
...@@ -70,7 +70,7 @@ class OembedProvider { ...@@ -70,7 +70,7 @@ class OembedProvider {
$oembed_provider_data = apply_filters("oembed_provider_data", array(), $post_type, $post); $oembed_provider_data = apply_filters("oembed_provider_data", array(), $post_type, $post);
$oembed_provider_data = apply_filters("oembed_provider_data_{$post_type}", $oembed_provider_data, $post); $oembed_provider_data = apply_filters("oembed_provider_data_{$post_type}", $oembed_provider_data, $post);
do_action("oembed_provider_render", $oembed_provider_data, $wp->query_vars); do_action("oembed_provider_render", $format, $oembed_provider_data, $wp->query_vars);
do_action("oembed_provider_render_{$format}", $oembed_provider_data, $wp->query_vars); do_action("oembed_provider_render_{$format}", $oembed_provider_data, $wp->query_vars);
} }
...@@ -81,7 +81,7 @@ class OembedProvider { ...@@ -81,7 +81,7 @@ class OembedProvider {
* @param string $post_type * @param string $post_type
* @param Object $post * @param Object $post
*/ */
function generate_default_content($oembed_provider_data, $post_type, $post) { public static function generate_default_content($oembed_provider_data, $post_type, $post) {
$author = get_userdata($post->post_author); $author = get_userdata($post->post_author);
$oembed_provider_data['version'] = '1.0'; $oembed_provider_data['version'] = '1.0';
...@@ -100,14 +100,20 @@ class OembedProvider { ...@@ -100,14 +100,20 @@ class OembedProvider {
* @param array $oembed_provider_data * @param array $oembed_provider_data
* @param Object $post * @param Object $post
*/ */
function generate_attachement_content($oembed_provider_data, $post) { public static function generate_attachment_content($oembed_provider_data, $post) {
if (substr($post->post_mime_type,0,strlen('image/'))=='image/') { if (substr($post->post_mime_type,0,strlen('image/'))=='image/') {
$oembed_provider_data['type'] = 'photo'; $oembed_provider_data['type'] = 'photo';
} else { } else {
$oembed_provider_data['type'] = 'link'; $oembed_provider_data['type'] = 'link';
} }
$oembed_provider_data['url'] = wp_get_attachment_url($post->ID); $oembed_provider_data['url'] = wp_get_attachment_url($post->ID);
$metadata = wp_get_attachment_metadata($post->ID);
$oembed_provider_data['width'] = $metadata['width'];
$oembed_provider_data['height'] = $metadata['height'];
return $oembed_provider_data; return $oembed_provider_data;
} }
...@@ -117,7 +123,7 @@ class OembedProvider { ...@@ -117,7 +123,7 @@ class OembedProvider {
* @param array $oembed_provider_data * @param array $oembed_provider_data
* @param Object $post * @param Object $post
*/ */
function generate_post_content($oembed_provider_data, $post) { public static function generate_post_content($oembed_provider_data, $post) {
if (function_exists('has_post_thumbnail') && has_post_thumbnail($post->ID)) { if (function_exists('has_post_thumbnail') && has_post_thumbnail($post->ID)) {
$image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID)); $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID));
$oembed_provider_data['thumbnail_url'] = $image[0]; $oembed_provider_data['thumbnail_url'] = $image[0];
...@@ -125,7 +131,7 @@ class OembedProvider { ...@@ -125,7 +131,7 @@ class OembedProvider {
$oembed_provider_data['thumbnail_height'] = $image[2]; $oembed_provider_data['thumbnail_height'] = $image[2];
} }
$oembed_provider_data['type'] = 'rich'; $oembed_provider_data['type'] = 'rich';
$oembed_provider_data['html'] = empty($post->post_excerpt) ? $post->post_content : $post->post_excerpt; $oembed_provider_data['html'] = $post->post_content;
return $oembed_provider_data; return $oembed_provider_data;
} }
...@@ -135,7 +141,7 @@ class OembedProvider { ...@@ -135,7 +141,7 @@ class OembedProvider {
* *
* @param array $oembed_provider_data * @param array $oembed_provider_data
*/ */
function render_json($oembed_provider_data, $wp_query) { public static function render_json($oembed_provider_data, $wp_query) {
header('Content-Type: application/json; charset=' . get_bloginfo('charset'), true); header('Content-Type: application/json; charset=' . get_bloginfo('charset'), true);
// render json output // render json output
...@@ -155,14 +161,14 @@ class OembedProvider { ...@@ -155,14 +161,14 @@ class OembedProvider {
* *
* @param array $oembed_provider_data * @param array $oembed_provider_data
*/ */
function render_xml($oembed_provider_data) { public static function render_xml($oembed_provider_data) {
header('Content-Type: text/xml; charset=' . get_bloginfo('charset'), true); header('Content-Type: text/xml; charset=' . get_bloginfo('charset'), true);
// render xml-output // render xml-output
echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '" ?>'; echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '" ?>';
echo '<oembed>'; echo '<oembed>';
foreach(array_keys($oembed_provider_data) as $element){ foreach(array_keys($oembed_provider_data) as $element){
echo '<' . $element . '>' . htmlspecialchars($oembed_provider_data[$element]) . '</' . $element . '>'; echo '<' . $element . '>' . esc_html($oembed_provider_data[$element]) . '</' . $element . '>';
} }
echo '</oembed>'; echo '</oembed>';
exit; exit;
...@@ -173,7 +179,7 @@ add_action('wp_head', array('OembedProvider', 'add_oembed_links')); ...@@ -173,7 +179,7 @@ add_action('wp_head', array('OembedProvider', 'add_oembed_links'));
add_action('parse_query', array('OembedProvider', 'parse_query')); add_action('parse_query', array('OembedProvider', 'parse_query'));
add_filter('query_vars', array('OembedProvider', 'query_vars')); add_filter('query_vars', array('OembedProvider', 'query_vars'));
add_filter('oembed_provider_data', array('OembedProvider', 'generate_default_content'), 90, 3); add_filter('oembed_provider_data', array('OembedProvider', 'generate_default_content'), 90, 3);
add_filter('oembed_provider_data_attachement', array('OembedProvider', 'generate_attachement_content'), 91, 2); add_filter('oembed_provider_data_attachment', array('OembedProvider', 'generate_attachment_content'), 91, 2);
add_filter('oembed_provider_data_post', array('OembedProvider', 'generate_post_content'), 91, 2); add_filter('oembed_provider_data_post', array('OembedProvider', 'generate_post_content'), 91, 2);
add_filter('oembed_provider_data_page', array('OembedProvider', 'generate_post_content'), 91, 2); add_filter('oembed_provider_data_page', array('OembedProvider', 'generate_post_content'), 91, 2);
add_action('oembed_provider_render_json', array('OembedProvider', 'render_json'), 99, 2); add_action('oembed_provider_render_json', array('OembedProvider', 'render_json'), 99, 2);
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
Contributors: pfefferle, candrews Contributors: pfefferle, candrews
Tags: oembed, links Tags: oembed, links
Requires at least: 3.0 Requires at least: 3.0
Tested up to: 3.5.1 Tested up to: 3.7.1
Stable tag: 2.0.0 Stable tag: 2.0.1
An oEmbed provider for Wordpress. An oEmbed provider for Wordpress.
...@@ -27,6 +27,10 @@ Yes! ...@@ -27,6 +27,10 @@ Yes!
== Changelog == == Changelog ==
= 2.0.1 =
* type 'rich' now returns the full html
* take use of more WordPress functions
= 2.0.0 = = 2.0.0 =
* complete refactoring * complete refactoring
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment