From 0132e8100c9610e4c11e5700a6bcc0fe680e4062 Mon Sep 17 00:00:00 2001 From: Mark Jaquith Date: Sat, 16 Mar 2013 05:25:44 +0000 Subject: [PATCH] Introduce [audio] and [video] shortcodes, and use MediaElement.js to play them. props wonderboymusic. see #23282. git-svn-id: https://develop.svn.wordpress.org/trunk@23729 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/includes/ajax-actions.php | 2 + wp-includes/functions.php | 20 + wp-includes/js/media-editor.js | 91 +- wp-includes/media.php | 315 ++ wp-includes/mediaelement/background.png | Bin 0 -> 166 bytes wp-includes/mediaelement/bigplay.png | Bin 0 -> 3001 bytes wp-includes/mediaelement/bigplay.svg | 1 + wp-includes/mediaelement/controls.png | Bin 0 -> 1892 bytes wp-includes/mediaelement/controls.svg | 1 + .../mediaelement/flashmediaelement.swf | Bin 0 -> 27763 bytes wp-includes/mediaelement/loading.gif | Bin 0 -> 6224 bytes .../mediaelement/mediaelement-and-player.js | 4649 +++++++++++++++++ .../mediaelement-and-player.min.js | 158 + .../mediaelement/mediaelementplayer.css | 839 +++ .../mediaelement/mediaelementplayer.min.css | 1 + .../mediaelement/silverlightmediaelement.xap | Bin 0 -> 12461 bytes wp-includes/mediaelement/wp-mediaelement.css | 11 + wp-includes/mediaelement/wp-mediaelement.js | 10 + wp-includes/post-formats.php | 31 +- wp-includes/script-loader.php | 6 + wp-includes/shortcodes.php | 38 + 21 files changed, 6150 insertions(+), 23 deletions(-) create mode 100644 wp-includes/mediaelement/background.png create mode 100644 wp-includes/mediaelement/bigplay.png create mode 100644 wp-includes/mediaelement/bigplay.svg create mode 100644 wp-includes/mediaelement/controls.png create mode 100644 wp-includes/mediaelement/controls.svg create mode 100644 wp-includes/mediaelement/flashmediaelement.swf create mode 100644 wp-includes/mediaelement/loading.gif create mode 100644 wp-includes/mediaelement/mediaelement-and-player.js create mode 100644 wp-includes/mediaelement/mediaelement-and-player.min.js create mode 100644 wp-includes/mediaelement/mediaelementplayer.css create mode 100644 wp-includes/mediaelement/mediaelementplayer.min.css create mode 100644 wp-includes/mediaelement/silverlightmediaelement.xap create mode 100644 wp-includes/mediaelement/wp-mediaelement.css create mode 100644 wp-includes/mediaelement/wp-mediaelement.js diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php index 4244a7b368..7d7d9ed6ec 100644 --- a/wp-admin/includes/ajax-actions.php +++ b/wp-admin/includes/ajax-actions.php @@ -2019,6 +2019,8 @@ function wp_ajax_send_attachment_to_editor() { $caption = isset( $attachment['post_excerpt'] ) ? $attachment['post_excerpt'] : ''; $title = ''; // We no longer insert title tags into tags, as they are redundant. $html = get_image_send_to_editor( $id, $caption, $title, $align, $url, (bool) $rel, $size, $alt ); + } elseif ( 'video' === substr( $post->post_mime_type, 0, 5 ) || 'audio' === substr( $post->post_mime_type, 0, 5 ) ) { + $html = stripslashes_deep( $_POST['html'] ); } $html = apply_filters( 'media_send_to_editor', $html, $id, $attachment ); diff --git a/wp-includes/functions.php b/wp-includes/functions.php index e0b8cb8fd9..ca414ea470 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -4020,3 +4020,23 @@ $("#wp-auth-check-form iframe").load(function(){ ' ) ); } + +/** + * Return RegEx body to liberally match an opening HTML tag that: + * 1. Is self-closing or + * 2. Has no body but has a closing tag of the same name or + * 3. Contains a body and a closing tag of the same name + * + * Note: this RegEx does not balance inner tags and does not attempt to produce valid HTML + * + * @since 3.6.0 + * + * @param string $tag An HTML tag name. Example: 'video' + * @return string + */ +function get_tag_regex( $tag ) { + if ( empty( $tag ) ) + return; + + return sprintf( '(<%1$s[^>]*(?:/?>$|>[\s\S]*?))', tag_escape( $tag ) ); +} \ No newline at end of file diff --git a/wp-includes/js/media-editor.js b/wp-includes/js/media-editor.js index 15eff8da5c..7dbbb79f7d 100644 --- a/wp-includes/js/media-editor.js +++ b/wp-includes/js/media-editor.js @@ -66,7 +66,8 @@ src: size.url, captionId: 'attachment_' + attachment.id }); - + } else if ( 'video' === attachment.type || 'audio' === attachment.type ) { + _.extend( props, _.pick( attachment, 'title', 'type', 'icon', 'mime' ) ); // Format properties for non-images. } else { props.title = props.title || attachment.filename; @@ -95,6 +96,89 @@ return wp.html.string( options ); }, + audio: function( props, attachment ) { + var shortcode, html; + + props = wp.media.string.props( props, attachment ); + + shortcode = {}; + + if ( props.mime ) { + switch ( props.mime ) { + case 'audio/mpeg': + if ( props.linkUrl.indexOf( 'mp3' ) ) + shortcode.mp3 = props.linkUrl; + else if ( props.linkUrl.indexOf( 'm4a' ) ) + shortcode.m4a = props.linkUrl; + break; + case 'audio/mp3': + shortcode.mp3 = props.linkUrl; + break; + case 'audio/m4a': + shortcode.m4a = props.linkUrl; + break; + case 'audio/wav': + shortcode.wav = props.linkUrl; + break; + case 'audio/ogg': + shortcode.ogg = props.linkUrl; + break; + case 'audio/x-ms-wma': + case 'audio/wma': + shortcode.wma = props.linkUrl; + break; + } + } + + html = wp.shortcode.string({ + tag: 'audio', + attrs: shortcode + }); + + return html; + }, + + video: function( props, attachment ) { + var shortcode, html; + + props = wp.media.string.props( props, attachment ); + + shortcode = {}; + + if ( props.mime ) { + switch ( props.mime ) { + case 'video/mp4': + shortcode.mp4 = props.linkUrl; + break; + case 'video/m4v': + shortcode.m4v = props.linkUrl; + break; + case 'video/webm': + shortcode.webm = props.linkUrl; + break; + case 'video/ogg': + shortcode.ogv = props.linkUrl; + break; + case 'video/x-ms-wmv': + case 'video/wmv': + case 'video/asf': + shortcode.wmv = props.linkUrl; + break; + case 'video/flv': + case 'video/x-flv': + shortcode.flv = props.linkUrl; + break; + } + } + + html = wp.shortcode.string({ + tag: 'video', + attrs: shortcode + }); + + return html; + }, + image: function( props, attachment ) { var img = {}, options, classes, shortcode, html; @@ -575,7 +659,10 @@ if ( props[ prop ] ) options[ option ] = props[ prop ]; }); - + } else if ( 'video' === attachment.type ) { + html = wp.media.string.video( props ); + } else if ( 'audio' === attachment.type ) { + html = wp.media.string.audio( props ); } else { html = wp.media.string.link( props ); options.post_title = props.title; diff --git a/wp-includes/media.php b/wp-includes/media.php index 319980fab7..cdcdd23fd3 100644 --- a/wp-includes/media.php +++ b/wp-includes/media.php @@ -805,6 +805,233 @@ function gallery_shortcode($attr) { return $output; } +/** + * Provide a No-JS Flash fallback as a last resort for audio / video + * + * @since 3.6.0 + * + * @param string $url + * @return string Fallback HTML + */ +function wp_mediaelement_fallback( $url ) { + return apply_filters( 'wp_mediaelement_fallback', sprintf( '%1$s', esc_url( $url ) ), $url ); +} + +/** + * Return a filtered list of WP-supported audio formats + * + * @since 3.6.0 + * @return array + */ +function wp_get_audio_extensions() { + return apply_filters( 'wp_audio_extensions', array( 'mp3', 'ogg', 'wma', 'm4a', 'wav' ) ); +} + +/** + * The Audio shortcode. + * + * This implements the functionality of the Audio Shortcode for displaying + * WordPress mp3s in a post. + * + * @since 3.6.0 + * + * @param array $attr Attributes of the shortcode. + * @return string HTML content to display audio. + */ +function wp_audio_shortcode( $attr ) { + $post_id = get_post() ? get_the_ID() : 0; + + static $instances = 0; + $instances++; + + $audio = null; + + $default_types = wp_get_audio_extensions(); + $defaults_atts = array( 'src' => '' ); + foreach ( $default_types as $type ) + $defaults_atts[$type] = ''; + + $atts = shortcode_atts( $defaults_atts, $attr ); + extract( $atts ); + + $primary = false; + if ( ! empty( $src ) ) { + $type = wp_check_filetype( $src ); + if ( ! in_array( $type['ext'], $default_types ) ) { + printf( '%1$s', $src ); + return; + } + $primary = true; + array_unshift( $default_types, 'src' ); + } else { + foreach ( $default_types as $ext ) { + if ( ! empty( $$ext ) ) { + $type = wp_check_filetype( $$ext ); + if ( $type['ext'] === $ext ) + $primary = true; + } + } + } + + if ( ! $primary ) { + $audios = get_post_audio( $post_id ); + if ( empty( $audios ) ) + return; + + $audio = reset( $audios ); + $src = wp_get_attachment_url( $audio->ID ); + if ( empty( $src ) ) + return; + + array_unshift( $default_types, 'src' ); + } + + $library = apply_filters( 'wp_audio_shortcode_library', 'mediaelement' ); + if ( 'mediaelement' === $library ) { + wp_enqueue_style( 'wp-mediaelement' ); + wp_enqueue_script( 'wp-mediaelement' ); + } + + $atts = array( + sprintf( 'class="%s"', apply_filters( 'wp_audio_shortcode_class', 'wp-audio-shortcode' ) ), + sprintf( 'id="audio-%d-%d"', $post_id, $instances ), + ); + + $html = sprintf( ''; + + return apply_filters( 'wp_audio_shortcode', $html, $atts, $audio, $post_id ); +} +add_shortcode( 'audio', apply_filters( 'wp_audio_shortcode_handler', 'wp_audio_shortcode' ) ); + +/** + * Return a filtered list of WP-supported video formats + * + * @since 3.6.0 + * @return array + */ +function wp_get_video_extensions() { + return apply_filters( 'wp_video_extensions', array( 'mp4', 'm4v', 'webm', 'ogv', 'wmv', 'flv' ) ); +} + +/** + * The Video shortcode. + * + * This implements the functionality of the Video Shortcode for displaying + * WordPress mp4s in a post. + * + * @since 3.6.0 + * + * @param array $attr Attributes of the shortcode. + * @return string HTML content to display video. + */ +function wp_video_shortcode( $attr ) { + global $content_width; + $post_id = get_post() ? get_the_ID() : 0; + + static $instances = 0; + $instances++; + + $video = null; + + $default_types = wp_get_video_extensions(); + $defaults_atts = array( + 'src' => '', + 'poster' => '', + 'height' => 360, + 'width' => empty( $content_width ) ? 640 : $content_width, + ); + foreach ( $default_types as $type ) + $defaults_atts[$type] = ''; + + $atts = shortcode_atts( $defaults_atts, $attr ); + extract( $atts ); + + $primary = false; + if ( ! empty( $src ) ) { + $type = wp_check_filetype( $src ); + if ( ! in_array( $type['ext'], $default_types ) ) { + printf( '%1$s', $src ); + return; + } + $primary = true; + array_unshift( $default_types, 'src' ); + } else { + foreach ( $default_types as $ext ) { + if ( ! empty( $$ext ) ) { + $type = wp_check_filetype( $$ext ); + if ( $type['ext'] === $ext ) + $primary = true; + } + } + } + + if ( ! $primary ) { + $videos = get_post_video( $post_id ); + if ( empty( $videos ) ) + return; + + $video = reset( $videos ); + $src = wp_get_attachment_url( $video->ID ); + if ( empty( $src ) ) + return; + + array_unshift( $default_types, 'src' ); + } + + $library = apply_filters( 'wp_video_shortcode_library', 'mediaelement' ); + if ( 'mediaelement' === $library ) { + wp_enqueue_style( 'wp-mediaelement' ); + wp_enqueue_script( 'wp-mediaelement' ); + } + + $atts = array( + sprintf( 'class="%s"', apply_filters( 'wp_video_shortcode_class', 'wp-video-shortcode' ) ), + sprintf( 'id="video-%d-%d"', $post_id, $instances ), + sprintf( 'width="%d"', $width ), + sprintf( 'height="%d"', $height ), + ); + + if ( ! empty( $poster ) ) + $atts[] = sprintf( 'poster="%s"', esc_url( $poster ) ); + + $html = sprintf( ''; + + return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id ); +} +add_shortcode( 'video', apply_filters( 'wp_video_shortcode_handler', 'wp_video_shortcode' ) ); + /** * Display previous image link that has the same post parent. * @@ -1545,3 +1772,91 @@ function wp_enqueue_media( $args = array() ) { do_action( 'wp_enqueue_media' ); } + +/** + * Retrieve audio attached to the passed post + * + * @since 3.6.0 + * + * @param int $post_id Post ID + * @return array Found audio attachments + */ +function get_post_audio( $post_id = 0 ) { + $post = empty( $post_id ) ? get_post() : get_post( $post_id ); + if ( empty( $post ) ) + return; + + $children = get_children( array( + 'post_parent' => $post->ID, + 'post_type' => 'attachment', + 'post_mime_type' => 'audio', + 'posts_per_page' => -1 + ) ); + + if ( ! empty( $children ) ) + return $children; +} + +/** + * Retrieve video attached to the passed post + * + * @since 3.6.0 + * + * @param int $post_id Post ID + * @return array Found video attachments + */ +function get_post_video( $post_id = 0 ) { + $post = empty( $post_id ) ? get_post() : get_post( $post_id ); + if ( empty( $post ) ) + return; + + $children = get_children( array( + 'post_parent' => $post->ID, + 'post_type' => 'attachment', + 'post_mime_type' => 'video', + 'posts_per_page' => -1 + ) ); + + if ( ! empty( $children ) ) + return $children; +} + +/** + * Audio embed handler callback. + * + * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}. + * @param array $attr Embed attributes. + * @param string $url The original URL that was matched by the regex. + * @param array $rawattr The original unmodified attributes. + * @return string The embed HTML. + */ +function wp_audio_embed( $matches, $attr, $url, $rawattr ) { + $audio = $url; + if ( shortcode_exists( 'audio' ) ) + $audio = do_shortcode( '[audio src="' . $url . '" /]' ); + return apply_filters( 'wp_audio_embed', $audio, $attr, $url, $rawattr ); +} +wp_embed_register_handler( 'wp_audio_embed', '#https?://.+?\.(' . join( '|', wp_get_audio_extensions() ) . ')#i', apply_filters( 'wp_audio_embed_handler', 'wp_audio_embed' ), 9999 ); + +/** + * Video embed handler callback. + * + * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}. + * @param array $attr Embed attributes. + * @param string $url The original URL that was matched by the regex. + * @param array $rawattr The original unmodified attributes. + * @return string The embed HTML. + */ +function wp_video_embed( $matches, $attr, $url, $rawattr ) { + $dimensions = ''; + $video = $url; + if ( shortcode_exists( 'video' ) ) { + if ( ! empty( $rawattr['width'] ) && ! empty( $rawattr['height'] ) ) { + $dimensions .= sprintf( 'width="%d" ', (int) $rawattr['width'] ); + $dimensions .= sprintf( 'height="%d" ', (int) $rawattr['height'] ); + } + $video = do_shortcode( '[video ' . $dimensions . 'src="' . $url . '" /]' ); + } + return apply_filters( 'wp_video_embed', $video, $attr, $url, $rawattr ); +} +wp_embed_register_handler( 'wp_video_embed', '#https?://.+?\.(' . join( '|', wp_get_video_extensions() ) . ')#i', apply_filters( 'wp_video_embed_handler', 'wp_video_embed' ), 9999 ); diff --git a/wp-includes/mediaelement/background.png b/wp-includes/mediaelement/background.png new file mode 100644 index 0000000000000000000000000000000000000000..fd428412ae26af13dab448ec833b1cb603e37ee9 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G9-c0aAr-gYoHrC?P~c(M$o@YsOF*1w?-55oQ{94SCl?~X dlYaFB3@*Kl;yd0~_5jUf@O1TaS?83{1OV-(FBAX( literal 0 HcmV?d00001 diff --git a/wp-includes/mediaelement/bigplay.png b/wp-includes/mediaelement/bigplay.png new file mode 100644 index 0000000000000000000000000000000000000000..694553e31c387188b6bde397a5200c212aff2dc5 GIT binary patch literal 3001 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 J;~KO(@jp;uhBg2I literal 0 HcmV?d00001 diff --git a/wp-includes/mediaelement/bigplay.svg b/wp-includes/mediaelement/bigplay.svg new file mode 100644 index 0000000000..c2f62bbc0d --- /dev/null +++ b/wp-includes/mediaelement/bigplay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wp-includes/mediaelement/controls.png b/wp-includes/mediaelement/controls.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a857d800b64264443af4609e0ebf7175593d8f GIT binary patch literal 1892 zcmdUv_d6R37snIh7SSuz2t|V4+9fes_1q$f5VaGdb}NdiM3cByUnLZ^M^$TvYH6+3 zZtmo)edTp*6v8gC|(^b&SOo{wj536 z1dNZHlfT#k*&N}fAhCEpKEA0rt62a5cx-KsH)gZhr>CdK$Hy!d>*(m{=g*&qhld9T z2mAZ`dwY93J3HIk+gn>(o12?VCUawBV|{&nZEbCJb@j)OA1f;>%gf7)i;D{j3-j~y zb8~aEv$HcZGt<-4-@kvKnwpxNoSc}L7#|-W8yg!L85tfP9vT{AFc<>^1O5H|eSLl1 z-Q8VXU7eks9UUE?K7DF$Z*OaBYi(_9X=!O}Y;0&~sIRZDt*x!DuCA)8s;sQ6sHi9} zFE1-AD=lp(DJgmN>Q!-ZaZynboleisFE1!4$ji&i&CSip$;r;ne(~Z(R#sMKX6Dl~ z3Ntb?($mvZQc{wWlM@pY6A}{Q}azH=;kx2CS5AyY;`1<;KdwUZI1W!*-4-XG_cXu~8H&<6z7Z(>NCnrZo zM|*pFJ3BiZ4rgm?Yhz<$Wo2b)X=!0$VQy}I^X5%6Gczm}Yhq%8!C=s6Gzx`6B9VrM zh6V-(H*Va}*Vot6)4O{0s;;iC&KY`IT3QGM0uG03YHF&fsi~@}s+@5}Sy@?0Nl8&r zQBF<{c7{9@3YC?Wm64H=mX?;1l9H5^gg_u-ViICvVj?0U!otE}Fjz=P2m}HF0DxcW zN>Glxq1syFIA`#G0pOSvCe9g}Kfv@B1pokvoCR?BpYUItra0Buk%}UF-KP4Ih%mgb zzZU=w*MMtjz!Bwb*F!iC=`#n8be9@*o9qQJB9QKQ!7#pLuOJfHj{-yCbXS_I69E7o zAQo+ecYOTSp5OU`gXsCo*>52)lh6vn8Kw*N@0iYb)3|u0uPUYjPIZ@+Fb|Aw;YTAb z5*xWH@ll7~EM`~`)BMw-YTd3_=zldfr+26G^c6|9ubO%Xt;J`06(dSSt}I(|Gi z-t*F1?mb=zt7(_@kXPIV9`QVZ_h_=)jyh07AvR3;X^zG5ym@b#-hWSSIn=C%#4L8k zRk&*G8xRFvgjcG~)1kFGlmk}OLyo{W4j`6Fzxc*HS|(D|o~1m@SscZF+L z#~vvMstrBA_Ut3ef#^Ibr;l=euG~%w2lKfw#MAo4XLW1*>dM6xyEb>7=|IK#WHB8` zjjHs6@{iuC^4}_Hl6MiQbsB1S)$V7}MEUE=$bbJUu(f>*Q_KVT`;GYz_5$C1(R%6r zb#HJh?!lJ*kOI<%MLcD~mNhR`P@4Y99ItYSw=Vh1M^^5ka9jwFIa@j(%2fcPT#Oa; z$P5qkI;b^~7@g$4e8@-<40LSip>WT}^x%Zd7+l@7|JWO% z&1A^bwBo;5TXcQa-8&$H=Tb!$vr3zbzQ8pu%r5jL`%DPuszpuvua(L60t1TbgZCko z$rV?gHL%rBURyr;Y=dm7eHvM=&>StyOr>#g`B7x!UbcIrVl{)GdZ$T&(wg@_sC2dr z`|qxGJHtOJe;$JFDyUfJ1H_VOq`r4y*%!^gAc|g&r7g!IlJsjXZlAOaE|G^qD{dtaisv}19gi`!-Cwlo2@;UsMHwBU z>>3{ZsS_za)C)>Ab3+%Ak?h9s5*Wfjlxi?aW~MA$@F`^apbn~d)8K{l cc \ No newline at end of file diff --git a/wp-includes/mediaelement/flashmediaelement.swf b/wp-includes/mediaelement/flashmediaelement.swf new file mode 100644 index 0000000000000000000000000000000000000000..3e347aa23ba3808ecc1eb4ecf7dcc621e51e543d GIT binary patch literal 27763 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 KQU4n*TUSjQ86OJ( literal 0 HcmV?d00001 diff --git a/wp-includes/mediaelement/loading.gif b/wp-includes/mediaelement/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..612222be5e474c36c345042dd6f697fa1d16a6a0 GIT binary patch literal 6224 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 and