summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/functions.compat.php')
-rw-r--r--plugins/jetpack/functions.compat.php190
1 files changed, 100 insertions, 90 deletions
diff --git a/plugins/jetpack/functions.compat.php b/plugins/jetpack/functions.compat.php
index bc7e6fbd..4d97448b 100644
--- a/plugins/jetpack/functions.compat.php
+++ b/plugins/jetpack/functions.compat.php
@@ -1,90 +1,100 @@
-<?php
-
-/**
-* Required for class.media-extractor.php to match expected function naming convention.
-*
-* @param $url Can be just the $url or the whole $atts array
-* @return bool|mixed The Youtube video ID via jetpack_get_youtube_id
-*/
-
-function jetpack_shortcode_get_youtube_id( $url ) {
- return jetpack_get_youtube_id( $url );
-}
-
-/**
-* @param $url Can be just the $url or the whole $atts array
-* @return bool|mixed The Youtube video ID
-*/
-function jetpack_get_youtube_id( $url ) {
- // Do we have an $atts array? Get first att
- if ( is_array( $url ) ) {
- $url = reset( $url );
- }
-
- $url = youtube_sanitize_url( $url );
- $url = parse_url( $url );
- $id = false;
-
- if ( ! isset( $url['query'] ) )
- return false;
-
- parse_str( $url['query'], $qargs );
-
- if ( ! isset( $qargs['v'] ) && ! isset( $qargs['list'] ) )
- return false;
-
- if ( isset( $qargs['list'] ) )
- $id = preg_replace( '|[^_a-z0-9-]|i', '', $qargs['list'] );
-
- if ( empty( $id ) )
- $id = preg_replace( '|[^_a-z0-9-]|i', '', $qargs['v'] );
-
- return $id;
-}
-
-if ( !function_exists( 'youtube_sanitize_url' ) ) :
-/**
-* Normalizes a YouTube URL to include a v= parameter and a query string free of encoded ampersands.
-*
-* @param string $url
-* @return string The normalized URL
-*/
-function youtube_sanitize_url( $url ) {
- $url = trim( $url, ' "' );
- $url = trim( $url );
- $url = str_replace( array( 'youtu.be/', '/v/', '#!v=', '&amp;', '&#038;', 'playlist' ), array( 'youtu.be/?v=', '/?v=', '?v=', '&', '&', 'videoseries' ), $url );
-
- // Replace any extra question marks with ampersands - the result of a URL like "http://www.youtube.com/v/9FhMMmqzbD8?fs=1&hl=en_US" being passed in.
- $query_string_start = strpos( $url, "?" );
-
- if ( false !== $query_string_start ) {
- $url = substr( $url, 0, $query_string_start + 1 ) . str_replace( "?", "&", substr( $url, $query_string_start + 1 ) );
- }
-
- return $url;
-}
-endif;
-
-/**
- * Merge in three string helper functions from WPCOM.
- *
- * @see WPCOM/wp-content/mu-plugins/string-helpers.php
- */
-if ( ! function_exists( 'wp_startswith' ) ) :
- function wp_startswith( $haystack, $needle ) {
- return 0 === strpos( $haystack, $needle );
- }
-endif;
-
-
-if ( ! function_exists( 'wp_endswith' ) ) :
- function wp_endswith( $haystack, $needle ) {
- return $needle === substr( $haystack, -strlen( $needle ));
- }
-endif;
-
-if ( ! function_exists( 'wp_in' ) ) :
- function wp_in( $needle, $haystack ) {
- return false !== strpos( $haystack, $needle );
- }
-endif;
+<?php
+
+use Automattic\Jetpack\Connection\Manager as Connection_Manager;
+
+/**
+* Required for class.media-extractor.php to match expected function naming convention.
+*
+* @param $url Can be just the $url or the whole $atts array
+* @return bool|mixed The Youtube video ID via jetpack_get_youtube_id
+*/
+
+function jetpack_shortcode_get_youtube_id( $url ) {
+ return jetpack_get_youtube_id( $url );
+}
+
+/**
+* @param $url Can be just the $url or the whole $atts array
+* @return bool|mixed The Youtube video ID
+*/
+function jetpack_get_youtube_id( $url ) {
+ // Do we have an $atts array? Get first att
+ if ( is_array( $url ) ) {
+ $url = reset( $url );
+ }
+
+ $url = youtube_sanitize_url( $url );
+ $url = wp_parse_url( $url );
+ $id = false;
+
+ if ( ! isset( $url['query'] ) )
+ return false;
+
+ parse_str( $url['query'], $qargs );
+
+ if ( ! isset( $qargs['v'] ) && ! isset( $qargs['list'] ) )
+ return false;
+
+ if ( isset( $qargs['list'] ) )
+ $id = preg_replace( '|[^_a-z0-9-]|i', '', $qargs['list'] );
+
+ if ( empty( $id ) )
+ $id = preg_replace( '|[^_a-z0-9-]|i', '', $qargs['v'] );
+
+ return $id;
+}
+
+if ( !function_exists( 'youtube_sanitize_url' ) ) :
+/**
+* Normalizes a YouTube URL to include a v= parameter and a query string free of encoded ampersands.
+*
+* @param string $url
+* @return string The normalized URL
+*/
+function youtube_sanitize_url( $url ) {
+ $url = trim( $url, ' "' );
+ $url = trim( $url );
+ $url = str_replace( array( 'youtu.be/', '/v/', '#!v=', '&amp;', '&#038;', 'playlist' ), array( 'youtu.be/?v=', '/?v=', '?v=', '&', '&', 'videoseries' ), $url );
+
+ // Replace any extra question marks with ampersands - the result of a URL like "https://www.youtube.com/v/9FhMMmqzbD8?fs=1&hl=en_US" being passed in.
+ $query_string_start = strpos( $url, "?" );
+
+ if ( false !== $query_string_start ) {
+ $url = substr( $url, 0, $query_string_start + 1 ) . str_replace( "?", "&", substr( $url, $query_string_start + 1 ) );
+ }
+
+ return $url;
+}
+endif;
+
+/**
+ * Merge in three string helper functions from WPCOM.
+ *
+ * @see WPCOM/wp-content/mu-plugins/string-helpers.php
+ */
+if ( ! function_exists( 'wp_startswith' ) ) :
+ function wp_startswith( $haystack, $needle ) {
+ return 0 === strpos( $haystack, $needle );
+ }
+endif;
+
+
+if ( ! function_exists( 'wp_endswith' ) ) :
+ function wp_endswith( $haystack, $needle ) {
+ return $needle === substr( $haystack, -strlen( $needle ));
+ }
+endif;
+
+if ( ! function_exists( 'wp_in' ) ) :
+ function wp_in( $needle, $haystack ) {
+ return false !== strpos( $haystack, $needle );
+ }
+endif;
+
+/**
+ * @deprecated 7.5 Use Connection_Manager instead.
+ */
+function jetpack_sha1_base64( $text ) {
+ $connection = new Connection_Manager();
+ return $connection->sha1_base64( $text );
+}