summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/videopress-v2/shortcode.php')
-rw-r--r--plugins/jetpack/modules/videopress-v2/shortcode.php189
1 files changed, 0 insertions, 189 deletions
diff --git a/plugins/jetpack/modules/videopress-v2/shortcode.php b/plugins/jetpack/modules/videopress-v2/shortcode.php
deleted file mode 100644
index ca846de2..00000000
--- a/plugins/jetpack/modules/videopress-v2/shortcode.php
+++ /dev/null
@@ -1,189 +0,0 @@
-<?php
-
-/**
- * VideoPress Shortcode Handler
- *
- * This file may or may not be included from the Jetpack VideoPress module.
- */
-
-/**
- * Translate a 'videopress' or 'wpvideo' shortcode and arguments into a video player display.
- *
- * Expected input formats:
- *
- * [videopress OcobLTqC]
- * [wpvideo OcobLTqC]
- *
- * @link http://codex.wordpress.org/Shortcode_API Shortcode API
- * @param array $attr shortcode attributes
- * @return string HTML markup or blank string on fail
- */
-function videopress_shortcode_callback( $attr ) {
- global $content_width;
-
- /**
- * We only accept GUIDs as a first unnamed argument.
- */
- $guid = $attr[0];
-
- /**
- * Make sure the GUID passed in matches how actual GUIDs are formatted.
- */
- if ( ! videopress_is_valid_guid( $guid ) ) {
- return '';
- }
-
- /**
- * Set the defaults
- */
- $defaults = array(
- 'w' => 0, // Width of the video player, in pixels
- 'at' => 0, // How many seconds in to initially seek to
- 'hd' => true, // Whether to display a high definition version
- 'loop' => false, // Whether to loop the video repeatedly
- 'freedom' => false, // Whether to use only free/libre codecs
- 'autoplay' => false, // Whether to autoplay the video on load
- 'permalink' => true, // Whether to display the permalink to the video
- 'flashonly' => false, // Whether to support the Flash player exclusively
- 'defaultlangcode' => false, // Default language code
- );
-
- $attr = shortcode_atts( $defaults, $attr, 'videopress' );
-
- /**
- * Cast the attributes, post-input.
- */
- $attr['width'] = absint( $attr['w'] );
- $attr['hd'] = (bool) $attr['hd'];
- $attr['freedom'] = (bool) $attr['freedom'];
-
- /**
- * If the provided width is less than the minimum allowed
- * width, or greater than `$content_width` ignore.
- */
- if ( $attr['width'] < VIDEOPRESS_MIN_WIDTH ) {
- $attr['width'] = 0;
- } elseif ( isset( $content_width ) && $content_width > VIDEOPRESS_MIN_WIDTH && $attr['width'] > $content_width ) {
- $attr['width'] = 0;
- }
-
- /**
- * If there was an invalid or unspecified width, set the width equal to the theme's `$content_width`.
- */
- if ( 0 === $attr['width'] && isset( $content_width ) && $content_width >= VIDEOPRESS_MIN_WIDTH ) {
- $attr['width'] = $content_width;
- }
-
- /**
- * If the width isn't an even number, reduce it by one (making it even).
- */
- if ( 1 === ( $attr['width'] % 2 ) ) {
- $attr['width'] --;
- }
-
- /**
- * Filter the default VideoPress shortcode options.
- *
- * @module videopress
- *
- * @since 2.5.0
- *
- * @param array $args Array of VideoPress shortcode options.
- */
- $options = apply_filters( 'videopress_shortcode_options', array(
- 'at' => (int) $attr['at'],
- 'hd' => $attr['hd'],
- 'loop' => $attr['autoplay'] || $attr['loop'],
- 'freedom' => $attr['freedom'],
- 'autoplay' => $attr['autoplay'],
- 'permalink' => $attr['permalink'],
- 'force_flash' => (bool) $attr['flashonly'],
- 'defaultlangcode' => $attr['defaultlangcode'],
- 'forcestatic' => false, // This used to be a displayed option, but now is only
- // accessible via the `videopress_shortcode_options` filter.
- ) );
-
- // Register VideoPress scripts
- wp_register_script( 'videopress', 'https://v0.wordpress.com/js/videopress.js', array( 'jquery', 'swfobject' ), '1.09' );
-
- require_once( dirname( __FILE__ ) . '/class.videopress-video.php' );
- require_once( dirname( __FILE__ ) . '/class.videopress-player.php' );
-
- $player = new VideoPress_Player( $guid, $attr['width'], $options );
-
- if ( is_feed() ) {
- return $player->asXML();
- } else {
- return $player->asHTML();
- }
-}
-add_shortcode( 'videopress', 'videopress_shortcode_callback' );
-add_shortcode( 'wpvideo', 'videopress_shortcode_callback' );
-
-/**
- * By explicitly declaring the provider here, we can speed things up by not relying on oEmbed discovery.
- */
-wp_oembed_add_provider( '#^https?://videopress.com/v/.*#', 'http://public-api.wordpress.com/oembed/1.0/', true );
-
-/**
- * Adds a `for` query parameter to the oembed provider request URL.
- * @param String $oembed_provider
- * @return String $ehnanced_oembed_provider
- */
-function videopress_add_oembed_for_parameter( $oembed_provider ) {
- if ( false === stripos( $oembed_provider, 'videopress.com' ) ) {
- return $oembed_provider;
- }
- return add_query_arg( 'for', parse_url( home_url(), PHP_URL_HOST ), $oembed_provider );
-}
-add_filter( 'oembed_fetch_url', 'videopress_add_oembed_for_parameter' );
-
-/**
- * An intermediary shortcode parser for the Core `[video]` shortcode.
- *
- * This lets us convert legacy video embeds over to VideoPress embeds,
- * if the video files have been uploaded and transcoded.
- *
- * @param $attr
- *
- * @return string|void
- */
-function videopress_shortcode_override_for_core_shortcode( $raw_attr, $contents, $tag ) {
- $attr = $raw_attr;
- $videopress_guid = null;
-
- if ( isset( $attr['videopress_guid'] ) ) {
- $videopress_guid = $attr['videopress_guid'];
-
- } elseif ( isset( $attr['mp4'] ) ) {
- $url = $attr['mp4'];
-
- if ( preg_match( '@videos.videopress.com/([a-z0-9]{8})/@', $url, $matches ) ) {
- $videopress_guid = $matches[1];
- }
- }
-
- if ( $videopress_guid ) {
- $videopress_attr = array( $videopress_guid );
- if ( $attr['width'] ) {
- $videopress_attr['w'] = (int) $attr['width'];
- }
- if ( $attr['autoplay'] ) {
- $videopress_attr['autoplay'] = $attr['autoplay'];
- }
- if ( $attr['loop'] ) {
- $videopress_attr['loop'] = $attr['loop'];
- }
-
- // Then display the VideoPress version of the stored GUID!
- return videopress_shortcode_callback( $videopress_attr );
- }
-
- // Nothing else caught, so fall back to the core shortcode.
- return call_user_func( $GLOBALS['vp_original_video_shortcode_callback'], $raw_attr, $contents, $tag );
-}
-// The callback should nearly always be `wp_video_shortcode` unless some other plugin
-// has overridden it similarly to what we're doing here.
-$GLOBALS['vp_original_video_shortcode_callback'] = $GLOBALS['shortcode_tags']['video'];
-remove_shortcode( 'video' );
-add_shortcode( 'video', 'videopress_shortcode_override_for_core_shortcode' );