Changeset 27476
- Timestamp:
- 03/09/2014 01:00:53 AM (9 years ago)
- Location:
- trunk/src/wp-includes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/js/media-views.js
r27464 r27476 6436 6436 }, 6437 6437 6438 /** 6439 * When multiple players in the DOM contain the same src, things get weird. 6440 * 6441 * @param {HTMLElement} media 6442 * @returns {HTMLElement} 6443 */ 6438 6444 prepareSrc : function (media) { 6439 media.src = [ 6440 media.src, 6441 media.src.indexOf('?') > -1 ? '&' : '?', 6442 (new Date()).getTime() 6443 ].join(''); 6445 var t = (new Date()).getTime(); 6446 _.each( $(media).find('source'), function (source) { 6447 source.src = [ 6448 source.src, 6449 source.src.indexOf('?') > -1 ? '&' : '?', 6450 t 6451 ].join(''); 6452 }); 6444 6453 6445 6454 return media; … … 6447 6456 6448 6457 setPlayer : function () { 6449 if ( ! this.player ) {6458 if ( ! this.player && this.media ) { 6450 6459 this.player = new MediaElementPlayer( this.media, this.settings ); 6451 6460 } -
trunk/src/wp-includes/media-template.php
r27454 r27476 663 663 664 664 <script type="text/html" id="tmpl-audio-details"> 665 <?php // reusing .media-embed to pick up the styles for now 666 ?><# var rendered = false; #> 665 <?php $audio_types = wp_get_audio_extensions(); ?> 667 666 <div class="media-embed"> 668 667 <div class="embed-media-settings embed-audio-settings"> 669 <# if ( data.model.src ) { #> 670 <audio controls 671 class="wp-audio-shortcode" 672 src="{{{ data.model.src }}}" 673 preload="{{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}}" 674 <# 675 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 676 ?>if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 677 #> <?php echo $attr ?><# 678 } 679 <?php endforeach ?>#> 680 /> 681 <# rendered = true; #> 668 <audio controls 669 class="wp-audio-shortcode" 670 preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}" 671 <# 672 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 673 ?>if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 674 #> <?php echo $attr ?><# 675 } 676 <?php endforeach ?>#> 677 > 678 <# if ( ! _.isEmpty( data.model.src ) ) { #> 679 <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> 680 <# } #> 681 682 <?php foreach ( $audio_types as $type ): 683 ?><# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) { #> 684 <source src="{{ data.model.<?php echo $type ?> }}" type="{{ wp.media.view.settings.embedMimes[ '<?php echo $type ?>' ] }}" /> 685 <# } #> 686 <?php endforeach; 687 ?></audio> 688 <# if ( ! _.isEmpty( data.model.src ) ) { #> 682 689 <label class="setting"> 683 690 <span>SRC</span> 684 <input type="text" disabled="disabled" data-setting="src" value="{{ { data.model.src }}}" />691 <input type="text" disabled="disabled" data-setting="src" value="{{ data.model.src }}" /> 685 692 </label> 686 693 <# } #> 687 694 <?php 688 $default_types = wp_get_audio_extensions(); 689 690 foreach ( $default_types as $type ): 691 ?><# if ( data.model.<?php echo $type ?> ) { #> 692 <# if ( ! rendered ) { #> 693 <audio controls 694 class="wp-audio-shortcode" 695 src="{{{ data.model.<?php echo $type ?> }}}" 696 preload="{{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}}" 697 <# 698 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 699 ?>if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 700 #> <?php echo $attr ?><# 701 } 702 <?php endforeach ?>#> 703 /> 704 <# rendered = true; 705 } #> 695 696 foreach ( $audio_types as $type ): 697 ?><# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) { #> 706 698 <label class="setting"> 707 699 <span><?php echo strtoupper( $type ) ?></span> 708 <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ { data.model.<?php echo $type ?> }}}" />700 <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ data.model.<?php echo $type ?> }}" /> 709 701 </label> 710 702 <# } #> … … 735 727 736 728 <script type="text/html" id="tmpl-video-details"> 737 <?php // reusing .media-embed to pick up the styles for now 738 ?><# var rendered = false; #> 729 <?php $video_types = wp_get_video_extensions(); ?> 739 730 <div class="media-embed"> 740 731 <div class="embed-media-settings embed-video-settings"> … … 747 738 h = Math.ceil( ( h * w ) / data.model.width ); 748 739 } 749 750 if ( data.model.src ) {751 if ( data.model.src.match(/youtube|youtu\.be/) ) {752 740 #> 753 <video controls 754 class="wp-video-shortcode youtube-video" 755 width="{{{ w }}}" 756 height="{{{ h }}}" 757 <?php 758 $props = array( 'poster' => '', 'preload' => 'metadata' ); 759 foreach ( $props as $key => $value ): 760 if ( empty( $value ) ) { 761 ?><# 762 if ( ! _.isUndefined( data.model.<?php echo $key ?> ) && data.model.<?php echo $key ?> ) { 763 #> <?php echo $key ?>="{{{ data.model.<?php echo $key ?> }}}"<# 764 } #> 765 <?php } else { 766 echo $key ?>="{{{ _.isUndefined( data.model.<?php echo $key ?> ) ? '<?php echo $value ?>' : data.model.<?php echo $key ?> }}}"<?php 767 } 768 endforeach; 741 <video controls 742 class="wp-video-shortcode youtube-video" 743 width="{{ w }}" 744 height="{{ h }}" 745 <?php 746 $props = array( 'poster' => '', 'preload' => 'metadata' ); 747 foreach ( $props as $key => $value ): 748 if ( empty( $value ) ) { 769 749 ?><# 770 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 771 ?> if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 772 #> <?php echo $attr ?><# 750 if ( ! _.isUndefined( data.model.<?php echo $key ?> ) && data.model.<?php echo $key ?> ) { 751 #> <?php echo $key ?>="{{ data.model.<?php echo $key ?> }}"<# 752 } #> 753 <?php } else { 754 echo $key ?>="{{ _.isUndefined( data.model.<?php echo $key ?> ) ? '<?php echo $value ?>' : data.model.<?php echo $key ?> }}"<?php 773 755 } 774 <?php endforeach ?>#> 775 > 776 <source type="video/youtube" src="{{{ data.model.src }}}" /> 777 </video> 778 <# 779 } else { 780 #> 781 <video controls 782 class="wp-video-shortcode" 783 width="{{{ w }}}" 784 height="{{{ h }}}" 785 src="{{{ data.model.src }}}" 786 <?php 787 $props = array( 'poster' => '', 'preload' => 'metadata' ); 788 foreach ( $props as $key => $value ): 789 if ( empty( $value ) ) { 790 ?><# 791 if ( ! _.isUndefined( data.model.<?php echo $key ?> ) && data.model.<?php echo $key ?> ) { 792 #> <?php echo $key ?>="{{{ data.model.<?php echo $key ?> }}}"<# 793 } #> 794 <?php } else { 795 echo $key ?>="{{{ _.isUndefined( data.model.<?php echo $key ?> ) ? '<?php echo $value ?>' : data.model.<?php echo $key ?> }}}"<?php 796 } 797 endforeach; 798 ?><# 799 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 800 ?> if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 801 #> <?php echo $attr ?><# 802 } 803 <?php endforeach ?>#> 804 /> 756 endforeach; 757 ?><# 758 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 759 ?> if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 760 #> <?php echo $attr ?><# 761 } 762 <?php endforeach ?>#> 763 > 764 <# if ( ! _.isEmpty( data.model.src ) ) { 765 if ( data.model.src.match(/youtube|youtu\.be/) ) { #> 766 <source src="{{ data.model.src }}" type="video/youtube" /> 767 <# } else { #> 768 <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" /> 769 <# } 770 } #> 771 772 <?php foreach ( $video_types as $type ): 773 ?><# if ( data.model.<?php echo $type ?> ) { #> 774 <source src="{{ data.model.<?php echo $type ?> }}" type="{{ wp.media.view.settings.embedMimes[ '<?php echo $type ?>' ] }}" /> 775 <# } #> 776 <?php endforeach; 777 ?></video> 778 <# if ( ! _.isEmpty( data.model.src ) ) { #> 805 779 <label class="setting"> 806 780 <span>SRC</span> 807 <input type="text" disabled="disabled" data-setting="src" value="{{{ data.model.src }}}" /> 808 </label> 809 <# } 810 rendered = true; 811 } #> 812 <?php 813 $default_types = wp_get_video_extensions(); 814 815 foreach ( $default_types as $type ): 816 ?><# if ( data.model.<?php echo $type ?> ) { 817 if ( ! rendered ) { #> 818 <video controls 819 class="wp-video-shortcode" 820 width="{{{ w }}}" 821 height="{{{ h }}}" 822 src="{{{ data.model.<?php echo $type ?> }}}" 823 <?php 824 $props = array( 'poster' => '', 'preload' => 'metadata' ); 825 foreach ( $props as $key => $value ): 826 echo $key ?>="{{{ _.isUndefined( data.model.<?php echo $key ?> ) ? '<?php echo $value ?>' : data.model.<?php echo $key ?> }}}" 827 <?php endforeach; 828 ?><# 829 <?php foreach ( array( 'autoplay', 'loop' ) as $attr ): 830 ?>if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) { 831 #> <?php echo $attr ?><# 832 } 833 <?php endforeach ?>#> 834 /> 835 <# rendered = true; 836 } #> 781 <input type="text" disabled="disabled" data-setting="src" value="{{ data.model.src }}" /> 782 </label> 783 <# } #> 784 <?php foreach ( $video_types as $type ): 785 ?><# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) { #> 837 786 <label class="setting"> 838 787 <span><?php echo strtoupper( $type ) ?></span> 839 <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ { data.model.<?php echo $type ?> }}}" />788 <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ data.model.<?php echo $type ?> }}" /> 840 789 </label> 841 790 <# } #> … … 844 793 <label class="setting"> 845 794 <span><?php _e( 'Poster Image' ); ?></span> 846 <input type="text" data-setting="poster" value="{{ { data.model.poster }}}" />795 <input type="text" data-setting="poster" value="{{ data.model.poster }}" /> 847 796 </label> 848 797 <div class="setting preload"> 849 798 <span><?php _e( 'Preload' ); ?></span> 850 799 <div class="button-group button-large" data-setting="preload"> 851 <button class="button" value="auto"> 852 <?php esc_attr_e( 'Auto' ); ?> 853 </button> 854 <button class="button" value="metadata"> 855 <?php esc_attr_e( 'Metadata' ); ?> 856 </button> 857 <button class="button active" value="none"> 858 <?php esc_attr_e( 'None' ); ?> 859 </button> 800 <button class="button" value="auto"><?php _e( 'Auto' ); ?></button> 801 <button class="button" value="metadata"><?php _e( 'Metadata' ); ?></button> 802 <button class="button active" value="none"><?php _e( 'None' ); ?></button> 860 803 </div> 861 804 </div> -
trunk/src/wp-includes/media.php
r27472 r27476 2343 2343 ); 2344 2344 2345 $exts = array_merge( wp_get_audio_extensions(), wp_get_video_extensions() ); 2346 $mimes = get_allowed_mime_types(); 2347 $ext_mimes = array(); 2348 foreach ( $exts as $ext ) { 2349 foreach ( $mimes as $ext_preg => $mime_match ) { 2350 if ( preg_match( '#' . $ext . '#i', $ext_preg ) ) { 2351 $ext_mimes[ $ext ] = $mime_match; 2352 break; 2353 } 2354 } 2355 } 2356 2345 2357 $settings = array( 2346 2358 'tabs' => $tabs, … … 2355 2367 ), 2356 2368 'defaultProps' => $props, 2357 'embedExts' => array_merge( wp_get_audio_extensions(), wp_get_video_extensions() ), 2369 'embedExts' => $exts, 2370 'embedMimes' => $ext_mimes 2358 2371 ); 2359 2372
Note: See TracChangeset
for help on using the changeset viewer.