2012-12-06 02:10:20 -05:00
< ? php
/**
* WordPress media templates .
*
* @ package WordPress
* @ subpackage Media
* @ since 3.5 . 0
*/
2014-03-14 08:20:15 -04:00
/**
* Output the markup for a audio tag to be used in an Underscore template
2014-04-07 16:29:14 -04:00
* when data . model is passed .
2014-03-14 08:20:15 -04:00
*
* @ since 3.9 . 0
*/
function wp_underscore_audio_template () {
$audio_types = wp_get_audio_extensions ();
?>
2014-04-22 13:53:16 -04:00
< audio style = " visibility: hidden "
controls
2014-03-14 08:20:15 -04:00
class = " wp-audio-shortcode "
2014-03-26 08:11:14 -04:00
width = " { { _.isUndefined( data.model.width ) ? 400 : data.model.width }} "
2014-03-14 08:20:15 -04:00
preload = " { { _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }} "
< #
< ? php foreach ( array ( 'autoplay' , 'loop' ) as $attr ) :
?> if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) {
#> <?php echo $attr ?><#
}
< ? php endforeach ?> #>
>
< # if ( ! _.isEmpty( data.model.src ) ) { #>
< source src = " { { data.model.src }} " type = " { { wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }} " />
< # } #>
< ? php foreach ( $audio_types as $type ) :
?> <# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) { #>
< source src = " { { data.model.<?php echo $type ?> }} " type = " { { wp.media.view.settings.embedMimes[ '<?php echo $type ?>' ] }} " />
< # } #>
< ? php endforeach ;
?> </audio>
< ? php
}
/**
* Output the markup for a video tag to be used in an Underscore template
2014-04-07 16:29:14 -04:00
* when data . model is passed .
2014-03-14 08:20:15 -04:00
*
* @ since 3.9 . 0
*/
function wp_underscore_video_template () {
$video_types = wp_get_video_extensions ();
?>
2014-08-09 16:44:17 -04:00
< # var w_rule = h_rule = '',
2014-08-07 01:53:15 -04:00
w , h , settings = wp . media . view . settings ,
2014-03-22 19:26:17 -04:00
isYouTube = ! _ . isEmpty ( data . model . src ) && data . model . src . match ( / youtube | youtu\ . be / );
2014-03-14 08:20:15 -04:00
2014-03-22 19:26:17 -04:00
if ( settings . contentWidth && data . model . width >= settings . contentWidth ) {
w = settings . contentWidth ;
} else {
w = data . model . width ;
}
if ( w !== data . model . width ) {
2014-06-23 16:35:18 -04:00
h = Math . ceil ( ( data . model . height * w ) / data . model . width );
2014-03-22 19:26:17 -04:00
} else {
h = data . model . height ;
}
2014-08-07 01:53:15 -04:00
if ( w ) {
2014-08-09 16:44:17 -04:00
w_rule = 'width: ' + w + 'px; ' ;
}
if ( h ) {
h_rule = 'height: ' + h + 'px;' ;
2014-08-07 01:53:15 -04:00
}
2014-03-14 08:20:15 -04:00
#>
2014-08-09 16:44:17 -04:00
< div style = " { { w_rule }} { { h_rule }} " class = " wp-video " >
2014-03-14 08:20:15 -04:00
< video controls
class = " wp-video-shortcode { { isYouTube ? ' youtube-video' : '' }} "
2014-08-07 01:53:15 -04:00
< # if ( w ) { #>width="{{ w }}"<# } #>
< # if ( h ) { #>height="{{ h }}"<# } #>
2014-03-14 08:20:15 -04:00
< ? php
$props = array ( 'poster' => '' , 'preload' => 'metadata' );
foreach ( $props as $key => $value ) :
if ( empty ( $value ) ) {
?> <#
if ( ! _ . isUndefined ( data . model .< ? php echo $key ?> ) && data.model.<?php echo $key ?> ) {
#> <?php echo $key ?>="{{ data.model.<?php echo $key ?> }}"<#
} #>
< ? php } else {
echo $key ?> ="{{ _.isUndefined( data.model.<?php echo $key ?> ) ? '<?php echo $value ?>' : data.model.<?php echo $key ?> }}"<?php
}
endforeach ;
?> <#
< ? php foreach ( array ( 'autoplay' , 'loop' ) as $attr ) :
?> if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) {
#> <?php echo $attr ?><#
}
< ? php endforeach ?> #>
>
< # if ( ! _.isEmpty( data.model.src ) ) {
if ( isYouTube ) { #>
< source src = " { { data.model.src }} " type = " video/youtube " />
< # } else { #>
2014-03-22 19:26:17 -04:00
< source src = " { { data.model.src }} " type = " { { settings.embedMimes[ data.model.src.split('.').pop() ] }} " />
2014-03-14 08:20:15 -04:00
< # }
} #>
< ? php foreach ( $video_types as $type ) :
?> <# if ( data.model.<?php echo $type ?> ) { #>
2014-03-22 19:26:17 -04:00
< source src = " { { data.model.<?php echo $type ?> }} " type = " { { settings.embedMimes[ '<?php echo $type ?>' ] }} " />
2014-03-14 08:20:15 -04:00
< # } #>
< ? php endforeach ; ?>
{{{ data . model . content }}}
</ video >
</ div >
< ? php
}
2012-12-06 02:10:20 -05:00
/**
* Prints the templates used in the media manager .
*
* @ since 3.5 . 0
*/
function wp_print_media_templates () {
global $is_IE ;
$class = 'media-modal wp-core-ui' ;
if ( $is_IE && strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], 'MSIE 7' ) !== false )
$class .= ' ie7' ;
?>
2014-05-28 23:39:15 -04:00
<!-- [ if lte IE 8 ] >
< style >
. attachment : focus {
outline : #1e8cbe solid;
}
. selected . attachment {
outline : #1e8cbe solid;
}
</ style >
<! [ endif ] -->
2012-12-06 02:10:20 -05:00
< script type = " text/html " id = " tmpl-media-frame " >
< div class = " media-frame-menu " ></ div >
< div class = " media-frame-title " ></ div >
< div class = " media-frame-router " ></ div >
< div class = " media-frame-content " ></ div >
< div class = " media-frame-toolbar " ></ div >
< div class = " media-frame-uploader " ></ div >
</ script >
< script type = " text/html " id = " tmpl-media-modal " >
< div class = " <?php echo $class ; ?> " >
2014-07-24 20:26:15 -04:00
< a class = " media-modal-close " href = " # " >< span class = " media-modal-icon " >< span class = " screen-reader-text " >< ? php _e ( 'Close media panel' ); ?> </span></span></a>
2012-12-06 02:10:20 -05:00
< div class = " media-modal-content " ></ div >
</ div >
< div class = " media-modal-backdrop " ></ div >
</ script >
< script type = " text/html " id = " tmpl-uploader-window " >
< div class = " uploader-window-content " >
2014-03-01 16:34:17 -05:00
< h3 >< ? php _e ( 'Drop files to upload' ); ?> </h3>
</ div >
</ script >
< script type = " text/html " id = " tmpl-uploader-editor " >
< div class = " uploader-editor-content " >
2014-03-22 21:42:15 -04:00
< div class = " uploader-editor-title " >< ? php _e ( 'Drop files to upload' ); ?> </div>
2012-12-06 02:10:20 -05:00
</ div >
</ script >
< script type = " text/html " id = " tmpl-uploader-inline " >
< # var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #>
2014-07-10 19:06:15 -04:00
< # if ( data.canClose ) { #>
2014-08-02 16:47:16 -04:00
< button class = " close dashicons dashicons-no " >< span class = " screen-reader-text " >< ? php _e ( 'Close uploader' ); ?> </span></button>
2014-07-10 19:06:15 -04:00
< # } #>
2012-12-06 02:10:20 -05:00
< div class = " uploader-inline-content { { messageClass }} " >
< # if ( data.message ) { #>
< h3 class = " upload-message " > {{ data . message }} </ h3 >
< # } #>
< ? php if ( ! _device_can_upload () ) : ?>
2014-03-02 21:34:27 -05:00
< h3 class = " upload-instructions " >< ? php printf ( __ ( 'The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.' ), 'https://wordpress.org/mobile/' ); ?> </h3>
2012-12-06 02:10:20 -05:00
< ? php elseif ( is_multisite () && ! is_upload_space_available () ) : ?>
< h3 class = " upload-instructions " >< ? php _e ( 'Upload Limit Exceeded' ); ?> </h3>
2013-11-26 02:52:08 -05:00
< ? php
/** This action is documented in wp-admin/includes/media.php */
do_action ( 'upload_ui_over_quota' ); ?>
2012-12-06 02:10:20 -05:00
< ? php else : ?>
< div class = " upload-ui " >
2014-07-24 20:31:15 -04:00
< h3 class = " upload-instructions drop-instructions " >< ? php _e ( 'Drop files here' ); ?> </h3>
2014-08-04 17:17:16 -04:00
< p class = " upload-instructions drop-instructions " >< ? php _ex ( 'or' , 'Uploader: Drop files here - or - Select Files' ); ?> </p>
2014-07-24 20:31:15 -04:00
< a href = " # " class = " browser button " >< ? php _e ( 'Select Files' ); ?> </a>
2012-12-06 02:10:20 -05:00
</ div >
< div class = " upload-inline-status " ></ div >
< div class = " post-upload-ui " >
< ? php
2013-11-26 02:52:08 -05:00
/** This action is documented in wp-admin/includes/media.php */
2012-12-06 02:10:20 -05:00
do_action ( 'pre-upload-ui' );
2013-11-26 02:52:08 -05:00
/** This action is documented in wp-admin/includes/media.php */
2012-12-06 02:10:20 -05:00
do_action ( 'pre-plupload-upload-ui' );
if ( 10 === remove_action ( 'post-plupload-upload-ui' , 'media_upload_flash_bypass' ) ) {
2013-11-26 02:52:08 -05:00
/** This action is documented in wp-admin/includes/media.php */
2012-12-06 02:10:20 -05:00
do_action ( 'post-plupload-upload-ui' );
add_action ( 'post-plupload-upload-ui' , 'media_upload_flash_bypass' );
} else {
2013-11-26 02:52:08 -05:00
/** This action is documented in wp-admin/includes/media.php */
2012-12-06 02:10:20 -05:00
do_action ( 'post-plupload-upload-ui' );
}
2014-05-07 14:25:14 -04:00
$max_upload_size = wp_max_upload_size ();
if ( ! $max_upload_size ) {
$max_upload_size = 0 ;
2012-12-06 02:10:20 -05:00
}
?>
< p class = " max-upload-size " >< ? php
2014-05-07 14:25:14 -04:00
printf ( __ ( 'Maximum upload file size: %s.' ), esc_html ( size_format ( $max_upload_size ) ) );
2012-12-06 02:10:20 -05:00
?> </p>
2014-04-07 21:55:15 -04:00
< # if ( data.suggestedWidth && data.suggestedHeight ) { #>
< p class = " suggested-dimensions " >
2014-04-08 01:28:15 -04:00
< ? php _e ( 'Suggested image dimensions:' ); ?> {{data.suggestedWidth}} × {{data.suggestedHeight}}
2014-04-07 21:55:15 -04:00
</ p >
< # } #>
2013-11-26 02:52:08 -05:00
< ? php
/** This action is documented in wp-admin/includes/media.php */
do_action ( 'post-upload-ui' ); ?>
2012-12-06 02:10:20 -05:00
</ div >
< ? php endif ; ?>
</ div >
</ script >
2014-07-03 23:39:15 -04:00
< script type = " text/html " id = " tmpl-media-library-view-switcher " >
< a href = " <?php echo esc_url( add_query_arg( 'mode', 'list', $_SERVER['REQUEST_URI'] ) ) ?> " class = " view-list " >
2014-07-13 07:05:15 -04:00
< span class = " screen-reader-text " >< ? php _e ( 'List View' ); ?> </span>
2014-07-03 23:39:15 -04:00
</ a >
< a href = " <?php echo esc_url( add_query_arg( 'mode', 'grid', $_SERVER['REQUEST_URI'] ) ) ?> " class = " view-grid current " >
2014-07-13 07:05:15 -04:00
< span class = " screen-reader-text " >< ? php _e ( 'Grid View' ); ?> </span>
2014-07-03 23:39:15 -04:00
</ a >
</ script >
2012-12-06 02:10:20 -05:00
< script type = " text/html " id = " tmpl-uploader-status " >
< h3 >< ? php _e ( 'Uploading' ); ?> </h3>
< a class = " upload-dismiss-errors " href = " # " >< ? php _e ( 'Dismiss Errors' ); ?> </a>
< div class = " media-progress-bar " >< div ></ div ></ div >
< div class = " upload-details " >
< span class = " upload-count " >
< span class = " upload-index " ></ span > / < span class = " upload-total " ></ span >
</ span >
< span class = " upload-detail-separator " >& ndash ; </ span >
< span class = " upload-filename " ></ span >
</ div >
< div class = " upload-errors " ></ div >
</ script >
< script type = " text/html " id = " tmpl-uploader-status-error " >
< span class = " upload-error-label " >< ? php _e ( 'Error' ); ?> </span>
< span class = " upload-error-filename " > {{{ data . filename }}} </ span >
< span class = " upload-error-message " > {{ data . message }} </ span >
</ script >
2014-07-03 23:39:15 -04:00
< script type = " text/html " id = " tmpl-edit-attachment-frame " >
< div class = " edit-media-header " >
2014-07-16 23:55:15 -04:00
< button class = " left dashicons <# if ( ! data.hasPrevious ) { #> disabled <# } #> " >< span class = " screen-reader-text " >< ? php _e ( 'Edit previous media item' ); ?> </span></button>
< button class = " right dashicons <# if ( ! data.hasNext ) { #> disabled <# } #> " >< span class = " screen-reader-text " >< ? php _e ( 'Edit next media item' ); ?> </span></button>
2014-07-03 23:39:15 -04:00
</ div >
2014-07-16 23:55:15 -04:00
< div class = " media-frame-title " ></ div >
2014-07-03 23:39:15 -04:00
< div class = " media-frame-content " ></ div >
</ script >
< script type = " text/html " id = " tmpl-attachment-details-two-column " >
2014-07-16 23:55:15 -04:00
< div class = " attachment-media-view " >
2014-07-03 23:39:15 -04:00
< div class = " thumbnail thumbnail- { { data.type }} " >
< # if ( data.uploading ) { #>
< div class = " media-progress-bar " >< div ></ div ></ div >
< # } else if ( 'image' === data.type ) { #>
2014-08-09 15:39:15 -04:00
< img class = " details-image " src = " { { data.sizes.full.url }} " draggable = " false " />
2014-07-11 02:15:15 -04:00
< # } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #>
2014-08-09 15:39:15 -04:00
< img class = " details-image " src = " { { data.icon }} " class = " icon " draggable = " false " />
2014-07-03 23:39:15 -04:00
< # } #>
2014-07-16 23:55:15 -04:00
< # if ( 'audio' === data.type ) { #>
< div class = " wp-media-wrapper " >
< audio style = " visibility: hidden " controls class = " wp-audio-shortcode " width = " 100% " preload = " none " >
< source type = " { { data.mime }} " src = " { { data.url }} " />
</ audio >
</ div >
2014-08-07 01:53:15 -04:00
< # } else if ( 'video' === data.type ) {
2014-08-09 16:44:17 -04:00
var w_rule = h_rule = '' ;
2014-08-07 01:53:15 -04:00
if ( data . width ) {
2014-08-09 15:39:15 -04:00
w_rule = 'width: ' + data . width + 'px;' ;
2014-08-07 01:53:15 -04:00
} else if ( wp . media . view . settings . contentWidth ) {
2014-08-09 15:39:15 -04:00
w_rule = 'width: ' + wp . media . view . settings . contentWidth + 'px;' ;
2014-08-07 01:53:15 -04:00
}
2014-08-09 16:44:17 -04:00
if ( data . height ) {
h_rule = 'height: ' + data . height + 'px;' ;
}
2014-08-07 01:53:15 -04:00
#>
2014-08-09 16:44:17 -04:00
< div style = " { { w_rule }} { { h_rule }} " class = " wp-media-wrapper wp-video " >
2014-08-09 15:39:15 -04:00
< video controls = " controls " class = " wp-video-shortcode " preload = " metadata "
2014-08-07 01:53:15 -04:00
< # if ( data.width ) { #>width="{{ data.width }}"<# } #>
< # if ( data.height ) { #>height="{{ data.height }}"<# } #>
2014-07-16 23:55:15 -04:00
< # if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>>
< source type = " { { data.mime }} " src = " { { data.url }} " />
</ video >
</ div >
< # } #>
< div class = " attachment-actions " >
< # if ( 'image' === data.type && ! data.uploading ) { #>
2014-07-22 12:21:15 -04:00
< a class = " button edit-attachment " href = " # " >< ? php _e ( 'Edit Image' ); ?> </a>
2014-07-16 23:55:15 -04:00
< # } #>
< # if ( ! data.uploading && data.can.remove ) { #>
< ? php if ( MEDIA_TRASH ) : ?>
Media Grid, support `MEDIA_TRASH`:
* Add a setting to `_wpMediaViewsL10n.settings`: `mediaTrash`
* In the attachment edit modal, properly toggle between Trash/Untrash
* In `media.view.Attachment`, add a method for `untrashAttachment`
* When creating the grid toolbar, switch the setting order of subviews so that `media.view.DeleteSelectedButton` can listen to the instance of `media.view.AttachmentFilters.All` to update the text in its UI.
* Add a new filter to `media.view.AttachmentFilters.All`, `trash`, when `settings.mediaTrash` is true
* Allow the cached queries in `Query.get()` to be flushed when race conditions exist and collections need to be refreshed. This is currently only being used when `MEDIA_TRASH` is set, to refresh the filtered/mirrored collections related to `all`, `trash`, and any already queried filter.
* Cleanup the bootstrapping of `media.view.MediaFrame.Manage`
* Allow `wp_ajax_query_attachments()` to return items from the trash when `MEDIA_TRASH` is `true`
* Allow `wp_ajax_save_attachment()` to set `post_status` when `MEDIA_TRASH` is `true`. It allows `wp_delete_post()` to be called, which will trash the attachment instead of deleting when the flag is set.
Props koop for the knowledge sharing and thought partnership.
See #29145.
Built from https://develop.svn.wordpress.org/trunk@29490
git-svn-id: http://core.svn.wordpress.org/trunk@29268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 14:31:19 -04:00
< # if ( 'trash' === data.status ) { #>
< a class = " untrash-attachment " href = " # " >< ? php _e ( 'Untrash' ); ?> </a>
< # } else { #>
2014-07-16 23:55:15 -04:00
< a class = " trash-attachment " href = " # " >< ? php _e ( 'Trash' ); ?> </a>
Media Grid, support `MEDIA_TRASH`:
* Add a setting to `_wpMediaViewsL10n.settings`: `mediaTrash`
* In the attachment edit modal, properly toggle between Trash/Untrash
* In `media.view.Attachment`, add a method for `untrashAttachment`
* When creating the grid toolbar, switch the setting order of subviews so that `media.view.DeleteSelectedButton` can listen to the instance of `media.view.AttachmentFilters.All` to update the text in its UI.
* Add a new filter to `media.view.AttachmentFilters.All`, `trash`, when `settings.mediaTrash` is true
* Allow the cached queries in `Query.get()` to be flushed when race conditions exist and collections need to be refreshed. This is currently only being used when `MEDIA_TRASH` is set, to refresh the filtered/mirrored collections related to `all`, `trash`, and any already queried filter.
* Cleanup the bootstrapping of `media.view.MediaFrame.Manage`
* Allow `wp_ajax_query_attachments()` to return items from the trash when `MEDIA_TRASH` is `true`
* Allow `wp_ajax_save_attachment()` to set `post_status` when `MEDIA_TRASH` is `true`. It allows `wp_delete_post()` to be called, which will trash the attachment instead of deleting when the flag is set.
Props koop for the knowledge sharing and thought partnership.
See #29145.
Built from https://develop.svn.wordpress.org/trunk@29490
git-svn-id: http://core.svn.wordpress.org/trunk@29268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 14:31:19 -04:00
< # } #>
2014-07-16 23:55:15 -04:00
< ? php else : ?>
< a class = " delete-attachment " href = " # " >< ? php _e ( 'Delete Permanently' ); ?> </a>
< ? php endif ; ?>
< # } #>
</ div >
2014-07-03 23:39:15 -04:00
</ div >
2014-07-16 23:55:15 -04:00
</ div >
< div class = " attachment-info " >
< span class = " settings-save-status " >
< span class = " spinner " ></ span >
< span class = " saved " >< ? php esc_html_e ( 'Saved.' ); ?> </span>
</ span >
2014-07-03 23:39:15 -04:00
< div class = " details " >
2014-08-07 16:32:16 -04:00
< div class = " filename " >< strong >< ? php _e ( 'File name:' ); ?> </strong> {{ data.filename }}</div>
< div class = " filename " >< strong >< ? php _e ( 'File type:' ); ?> </strong> {{ data.mime }}</div>
< div class = " uploaded " >< strong >< ? php _e ( 'Uploaded on:' ); ?> </strong> {{ data.dateFormatted }}</div>
< div class = " file-size " >< strong >< ? php _e ( 'File size:' ); ?> </strong> {{ data.filesizeHumanReadable }}</div>
2014-07-03 23:39:15 -04:00
< # if ( 'image' === data.type && ! data.uploading ) { #>
< # if ( data.width && data.height ) { #>
2014-08-07 16:32:16 -04:00
< div class = " dimensions " >< strong >< ? php _e ( 'Dimensions:' ); ?> </strong> {{ data.width }} × {{ data.height }}</div>
2014-07-03 23:39:15 -04:00
< # } #>
< # } #>
< # if ( data.fileLength ) { #>
2014-08-07 16:32:16 -04:00
< div class = " file-length " >< strong >< ? php _e ( 'Length:' ); ?> </strong> {{ data.fileLength }}</div>
2014-07-03 23:39:15 -04:00
< # } #>
2014-07-24 14:04:18 -04:00
< # if ( 'audio' === data.type && data.meta.bitrate ) { #>
2014-08-07 16:32:16 -04:00
< div class = " bitrate " >
< strong >< ? php _e ( 'Bitrate:' ); ?> </strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s
2014-07-11 17:56:16 -04:00
< # if ( data.meta.bitrate_mode ) { #>
{{ ' ' + data . meta . bitrate_mode . toUpperCase () }}
2014-08-07 16:32:16 -04:00
< # } #>
2014-07-11 17:56:16 -04:00
</ div >
< # } #>
2014-07-03 23:39:15 -04:00
< div class = " compat-meta " >
< # if ( data.compat && data.compat.meta ) { #>
{{{ data . compat . meta }}}
< # } #>
</ div >
</ div >
2014-07-16 23:55:15 -04:00
2014-08-07 16:32:16 -04:00
< div class = " settings " >
< label class = " setting " data - setting = " url " >
< span class = " name " >< ? php _e ( 'URL' ); ?> </span>
< input type = " text " value = " { { data.url }} " readonly />
</ label >
< # var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #>
< label class = " setting " data - setting = " title " >
< span class = " name " >< ? php _e ( 'Title' ); ?> </span>
< input type = " text " value = " { { data.title }} " {{ maybeReadOnly }} />
</ label >
< # if ( 'audio' === data.type ) { #>
< ? php foreach ( array (
'artist' => __ ( 'Artist' ),
'album' => __ ( 'Album' ),
) as $key => $label ) : ?>
< label class = " setting " data - setting = " <?php echo esc_attr( $key ) ?> " >
< span class = " name " >< ? php echo $label ?> </span>
< input type = " text " value = " { { data.<?php echo $key ?> || data.meta.<?php echo $key ?> || '' }} " />
</ label >
< ? php endforeach ; ?>
< # } #>
< label class = " setting " data - setting = " caption " >
< span class = " name " >< ? php _e ( 'Caption' ); ?> </span>
< textarea {{ maybeReadOnly }} > {{ data . caption }} </ textarea >
</ label >
< # if ( 'image' === data.type ) { #>
< label class = " setting " data - setting = " alt " >
< span class = " name " >< ? php _e ( 'Alt Text' ); ?> </span>
< input type = " text " value = " { { data.alt }} " {{ maybeReadOnly }} />
2014-07-16 23:55:15 -04:00
</ label >
2014-08-07 16:32:16 -04:00
< # } #>
< label class = " setting " data - setting = " description " >
< span class = " name " >< ? php _e ( 'Description' ); ?> </span>
< textarea {{ maybeReadOnly }} > {{ data . description }} </ textarea >
</ label >
< label class = " setting " >
< span class = " name " >< ? php _e ( 'Uploaded By' ); ?> </span>
< span class = " value " > {{ data . authorName }} </ span >
</ label >
< # if ( data.uploadedTo ) { #>
2014-07-16 23:55:15 -04:00
< label class = " setting " >
2014-08-07 16:32:16 -04:00
< span class = " name " >< ? php _e ( 'Uploaded To' ); ?> </span>
< span class = " value " >< a href = " { { data.uploadedToLink }} " > {{ data . uploadedToTitle }} </ a ></ span >
2014-07-16 23:55:15 -04:00
</ label >
2014-08-07 16:32:16 -04:00
< # } #>
< div class = " attachment-compat " ></ div >
2014-07-16 23:55:15 -04:00
</ div >
2014-07-21 22:20:15 -04:00
< a class = " view-attachment " href = " { { data.link }} " >< ? php _e ( 'View attachment page' ); ?> </a> |
2014-07-16 23:55:15 -04:00
< a href = " post.php?post= { { data.id }}&action=edit " >< ? php _e ( 'Edit more details' ); ?> </a>
2014-07-11 16:55:15 -04:00
2014-07-03 23:39:15 -04:00
</ div >
</ script >
2012-12-06 02:10:20 -05:00
< script type = " text/html " id = " tmpl-attachment " >
2014-07-10 11:56:15 -04:00
< div class = " attachment-preview js--select-attachment type- { { data.type }} subtype- { { data.subtype }} { { data.orientation }} " >
2014-08-05 01:20:18 -04:00
< div class = " thumbnail " >
< # if ( data.uploading ) { #>
< div class = " media-progress-bar " >< div >
< # } else if ( 'image' === data.type ) { #>
2012-12-06 02:10:20 -05:00
< div class = " centered " >
2014-05-28 23:39:15 -04:00
< img src = " { { data.size.url }} " draggable = " false " alt = " " />
2012-12-06 02:10:20 -05:00
</ div >
2014-08-05 01:20:18 -04:00
< # } else { #>
< div class = " centered " >
2014-08-06 15:33:14 -04:00
< # if ( data.image && data.image.src && data.image.src !== data.icon ) { #>
< img src = " { { data.image.src }} " class = " thumbnail " draggable = " false " />
2014-08-05 01:20:18 -04:00
< # } else { #>
< img src = " { { data.icon }} " class = " icon " draggable = " false " />
< # } #>
</ div >
< div class = " filename " >
< div > {{ data . filename }} </ div >
</ div >
< # } #>
</ div >
2012-12-06 02:10:20 -05:00
< # if ( data.buttons.close ) { #>
2014-03-04 16:10:15 -05:00
< a class = " close media-modal-icon " href = " # " title = " <?php esc_attr_e('Remove'); ?> " ></ a >
2012-12-06 02:10:20 -05:00
< # } #>
</ div >
2014-07-17 16:42:15 -04:00
< # if ( data.buttons.check ) { #>
< a class = " check " href = " # " title = " <?php esc_attr_e('Deselect'); ?> " tabindex = " -1 " >< div class = " media-modal-icon " ></ div ></ a >
< # } #>
2012-12-06 02:10:20 -05:00
< #
var maybeReadOnly = data . can . save || data . allowLocalEdits ? '' : 'readonly' ;
2014-07-03 23:39:15 -04:00
if ( data . describe ) {
if ( 'image' === data . type ) { #>
2012-12-06 02:10:20 -05:00
< input type = " text " value = " { { data.caption }} " class = " describe " data - setting = " caption "
2012-12-09 12:11:25 -05:00
placeholder = " <?php esc_attr_e('Caption this image…'); ?> " {{ maybeReadOnly }} />
2012-12-06 02:10:20 -05:00
< # } else { #>
< input type = " text " value = " { { data.title }} " class = " describe " data - setting = " title "
< # if ( 'video' === data.type ) { #>
placeholder = " <?php esc_attr_e('Describe this video…'); ?> "
< # } else if ( 'audio' === data.type ) { #>
placeholder = " <?php esc_attr_e('Describe this audio file…'); ?> "
< # } else { #>
placeholder = " <?php esc_attr_e('Describe this media file…'); ?> "
< # } #> {{ maybeReadOnly }} />
2014-07-03 23:39:15 -04:00
< # }
2014-07-24 01:26:15 -04:00
} #>
2012-12-06 02:10:20 -05:00
</ script >
< script type = " text/html " id = " tmpl-attachment-details " >
< h3 >
< ? php _e ( 'Attachment Details' ); ?>
< span class = " settings-save-status " >
< span class = " spinner " ></ span >
< span class = " saved " >< ? php esc_html_e ( 'Saved.' ); ?> </span>
</ span >
</ h3 >
< div class = " attachment-info " >
2014-05-11 02:19:14 -04:00
< div class = " thumbnail thumbnail- { { data.type }} " >
2012-12-06 02:10:20 -05:00
< # if ( data.uploading ) { #>
< div class = " media-progress-bar " >< div ></ div ></ div >
< # } else if ( 'image' === data.type ) { #>
< img src = " { { data.size.url }} " draggable = " false " />
< # } else { #>
< img src = " { { data.icon }} " class = " icon " draggable = " false " />
< # } #>
</ div >
< div class = " details " >
< div class = " filename " > {{ data . filename }} </ div >
< div class = " uploaded " > {{ data . dateFormatted }} </ div >
2014-06-05 18:01:18 -04:00
< div class = " file-size " > {{ data . filesizeHumanReadable }} </ div >
2012-12-06 02:10:20 -05:00
< # if ( 'image' === data.type && ! data.uploading ) { #>
< # if ( data.width && data.height ) { #>
< div class = " dimensions " > {{ data . width }} & times ; {{ data . height }} </ div >
< # } #>
< # if ( data.can.save ) { #>
< a class = " edit-attachment " href = " { { data.editLink }}&image-editor " target = " _blank " >< ? php _e ( 'Edit Image' ); ?> </a>
< a class = " refresh-attachment " href = " # " >< ? php _e ( 'Refresh' ); ?> </a>
< # } #>
< # } #>
2013-07-23 01:39:08 -04:00
< # if ( data.fileLength ) { #>
< div class = " file-length " >< ? php _e ( 'Length:' ); ?> {{ data.fileLength }}</div>
< # } #>
2012-12-06 02:10:20 -05:00
< # if ( ! data.uploading && data.can.remove ) { #>
2014-03-07 11:42:14 -05:00
< ? php if ( MEDIA_TRASH ) : ?>
2014-08-14 14:51:19 -04:00
< # if ( 'trash' === data.status ) { #>
< a class = " untrash-attachment " href = " # " >< ? php _e ( 'Untrash' ); ?> </a>
< # } else { #>
2014-03-07 11:42:14 -05:00
< a class = " trash-attachment " href = " # " >< ? php _e ( 'Trash' ); ?> </a>
2014-08-14 14:51:19 -04:00
< # } #>
2014-03-07 11:42:14 -05:00
< ? php else : ?>
< a class = " delete-attachment " href = " # " >< ? php _e ( 'Delete Permanently' ); ?> </a>
< ? php endif ; ?>
2012-12-06 02:10:20 -05:00
< # } #>
< div class = " compat-meta " >
< # if ( data.compat && data.compat.meta ) { #>
{{{ data . compat . meta }}}
< # } #>
</ div >
</ div >
</ div >
2014-06-05 18:01:18 -04:00
< label class = " setting " data - setting = " url " >
< span class = " name " >< ? php _e ( 'URL' ); ?> </span>
< input type = " text " value = " { { data.url }} " readonly />
</ label >
2012-12-06 02:10:20 -05:00
< # var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #>
2014-06-05 18:01:18 -04:00
< label class = " setting " data - setting = " title " >
< span class = " name " >< ? php _e ( 'Title' ); ?> </span>
< input type = " text " value = " { { data.title }} " {{ maybeReadOnly }} />
</ label >
2014-07-11 17:02:15 -04:00
< # if ( 'audio' === data.type ) { #>
< ? php foreach ( array (
'artist' => __ ( 'Artist' ),
'album' => __ ( 'Album' ),
) as $key => $label ) : ?>
< label class = " setting " data - setting = " <?php echo esc_attr( $key ) ?> " >
< span class = " name " >< ? php echo $label ?> </span>
< input type = " text " value = " { { data.<?php echo $key ?> || data.meta.<?php echo $key ?> || '' }} " />
</ label >
< ? php endforeach ; ?>
< # } #>
2014-06-05 18:01:18 -04:00
< label class = " setting " data - setting = " caption " >
< span class = " name " >< ? php _e ( 'Caption' ); ?> </span>
< textarea {{ maybeReadOnly }} > {{ data . caption }} </ textarea >
</ label >
2012-12-06 02:10:20 -05:00
< # if ( 'image' === data.type ) { #>
< label class = " setting " data - setting = " alt " >
2014-06-05 18:01:18 -04:00
< span class = " name " >< ? php _e ( 'Alt Text' ); ?> </span>
2012-12-06 02:10:20 -05:00
< input type = " text " value = " { { data.alt }} " {{ maybeReadOnly }} />
</ label >
< # } #>
2014-06-05 18:01:18 -04:00
< label class = " setting " data - setting = " description " >
< span class = " name " >< ? php _e ( 'Description' ); ?> </span>
< textarea {{ maybeReadOnly }} > {{ data . description }} </ textarea >
</ label >
< label class = " setting " >
< span class = " name " >< ? php _e ( 'Uploaded By' ); ?> </span>
< span class = " value " > {{ data . authorName }} </ span >
2012-12-06 02:10:20 -05:00
</ label >
2014-06-05 18:01:18 -04:00
< # if ( data.uploadedTo ) { #>
< label class = " setting " >
< span class = " name " >< ? php _e ( 'Uploaded To' ); ?> </span>
< span class = " value " >< a href = " { { data.uploadedToLink }} " > {{ data . uploadedToTitle }} </ a ></ span >
</ label >
< # } #>
2012-12-06 02:10:20 -05:00
</ script >
< script type = " text/html " id = " tmpl-media-selection " >
< div class = " selection-info " >
< span class = " count " ></ span >
< # if ( data.editable ) { #>
< a class = " edit-selection " href = " # " >< ? php _e ( 'Edit' ); ?> </a>
< # } #>
< # if ( data.clearable ) { #>
< a class = " clear-selection " href = " # " >< ? php _e ( 'Clear' ); ?> </a>
< # } #>
</ div >
< div class = " selection-view " ></ div >
</ script >
< script type = " text/html " id = " tmpl-attachment-display-settings " >
< h3 >< ? php _e ( 'Attachment Display Settings' ); ?> </h3>
< # if ( 'image' === data.type ) { #>
< label class = " setting " >
< span >< ? php _e ( 'Alignment' ); ?> </span>
< select class = " alignment "
data - setting = " align "
< # if ( data.userSettings ) { #>
data - user - setting = " align "
< # } #>>
< option value = " left " >
< ? php esc_attr_e ( 'Left' ); ?>
</ option >
< option value = " center " >
< ? php esc_attr_e ( 'Center' ); ?>
</ option >
< option value = " right " >
< ? php esc_attr_e ( 'Right' ); ?>
</ option >
< option value = " none " selected >
< ? php esc_attr_e ( 'None' ); ?>
</ option >
</ select >
</ label >
< # } #>
< div class = " setting " >
< label >
2013-07-23 01:39:08 -04:00
< # if ( data.model.canEmbed ) { #>
< span >< ? php _e ( 'Embed or Link' ); ?> </span>
< # } else { #>
< span >< ? php _e ( 'Link To' ); ?> </span>
< # } #>
2012-12-06 02:10:20 -05:00
< select class = " link-to "
data - setting = " link "
2013-07-23 01:39:08 -04:00
< # if ( data.userSettings && ! data.model.canEmbed ) { #>
2012-12-06 02:10:20 -05:00
data - user - setting = " urlbutton "
< # } #>>
2013-07-23 13:29:55 -04:00
< # if ( data.model.canEmbed ) { #>
2013-07-23 01:39:08 -04:00
< option value = " embed " selected >
2013-07-23 13:29:55 -04:00
< ? php esc_attr_e ( 'Embed Media Player' ); ?>
2013-07-23 01:39:08 -04:00
</ option >
< option value = " file " >
< # } else { #>
2013-01-04 03:02:16 -05:00
< option value = " file " selected >
2013-07-23 01:39:08 -04:00
< # } #>
< # if ( data.model.canEmbed ) { #>
< ? php esc_attr_e ( 'Link to Media File' ); ?>
< # } else { #>
2012-12-06 02:10:20 -05:00
< ? php esc_attr_e ( 'Media File' ); ?>
2013-07-23 01:39:08 -04:00
< # } #>
2012-12-06 02:10:20 -05:00
</ option >
2013-01-04 03:02:16 -05:00
< option value = " post " >
2013-07-23 01:39:08 -04:00
< # if ( data.model.canEmbed ) { #>
< ? php esc_attr_e ( 'Link to Attachment Page' ); ?>
< # } else { #>
2013-01-04 03:02:16 -05:00
< ? php esc_attr_e ( 'Attachment Page' ); ?>
2013-07-23 01:39:08 -04:00
< # } #>
</ option >
< # if ( 'image' === data.type ) { #>
< option value = " custom " >
< ? php esc_attr_e ( 'Custom URL' ); ?>
2013-01-04 03:02:16 -05:00
</ option >
2012-12-06 02:10:20 -05:00
< option value = " none " >
< ? php esc_attr_e ( 'None' ); ?>
</ option >
2013-07-23 01:39:08 -04:00
< # } #>
2012-12-06 02:10:20 -05:00
</ select >
</ label >
< input type = " text " class = " link-to-custom " data - setting = " linkUrl " />
</ div >
< # if ( 'undefined' !== typeof data.sizes ) { #>
< label class = " setting " >
< span >< ? php _e ( 'Size' ); ?> </span>
< select class = " size " name = " size "
data - setting = " size "
< # if ( data.userSettings ) { #>
data - user - setting = " imgsize "
< # } #>>
< ? php
2013-10-24 18:59:20 -04:00
/** This filter is documented in wp-admin/includes/media.php */
2012-12-06 02:10:20 -05:00
$sizes = apply_filters ( 'image_size_names_choose' , array (
'thumbnail' => __ ( 'Thumbnail' ),
'medium' => __ ( 'Medium' ),
'large' => __ ( 'Large' ),
'full' => __ ( 'Full Size' ),
) );
foreach ( $sizes as $value => $name ) : ?>
< #
var size = data . sizes [ '<?php echo esc_js( $value ); ?>' ];
if ( size ) { #>
< option value = " <?php echo esc_attr( $value ); ?> " < ? php selected ( $value , 'full' ); ?> >
< ? php echo esc_html ( $name ); ?> – {{ size.width }} × {{ size.height }}
</ option >
< # } #>
< ? php endforeach ; ?>
</ select >
</ label >
< # } #>
</ script >
< script type = " text/html " id = " tmpl-gallery-settings " >
< h3 >< ? php _e ( 'Gallery Settings' ); ?> </h3>
< label class = " setting " >
< span >< ? php _e ( 'Link To' ); ?> </span>
< select class = " link-to "
data - setting = " link "
< # if ( data.userSettings ) { #>
data - user - setting = " urlbutton "
< # } #>>
2014-07-24 15:35:15 -04:00
< option value = " post " < # if ( ! wp.media.galleryDefaults.link || 'post' == wp.media.galleryDefaults.link ) {
#>selected="selected"<# }
#>>
2013-01-04 03:02:16 -05:00
< ? php esc_attr_e ( 'Attachment Page' ); ?>
</ option >
2014-07-24 15:35:15 -04:00
< option value = " file " < # if ( 'file' == wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>>
2013-05-02 18:07:37 -04:00
< ? php esc_attr_e ( 'Media File' ); ?>
</ option >
2014-07-24 15:35:15 -04:00
< option value = " none " < # if ( 'none' == wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>>
2013-07-03 16:43:19 -04:00
< ? php esc_attr_e ( 'None' ); ?>
</ option >
2012-12-06 02:10:20 -05:00
</ select >
</ label >
< label class = " setting " >
< span >< ? php _e ( 'Columns' ); ?> </span>
< select class = " columns " name = " columns "
data - setting = " columns " >
< ? php for ( $i = 1 ; $i <= 9 ; $i ++ ) : ?>
2014-07-24 15:35:15 -04:00
< option value = " <?php echo esc_attr( $i ); ?> " < #
if ( < ? php echo $i ?> == wp.media.galleryDefaults.columns ) { #>selected="selected"<# }
#>>
2012-12-06 02:10:20 -05:00
< ? php echo esc_html ( $i ); ?>
</ option >
< ? php endfor ; ?>
</ select >
</ label >
< label class = " setting " >
2012-12-09 12:11:25 -05:00
< span >< ? php _e ( 'Random Order' ); ?> </span>
2012-12-06 02:10:20 -05:00
< input type = " checkbox " data - setting = " _orderbyRandom " />
</ label >
</ script >
2014-02-24 13:08:16 -05:00
< script type = " text/html " id = " tmpl-playlist-settings " >
2014-02-24 14:50:15 -05:00
< h3 >< ? php _e ( 'Playlist Settings' ); ?> </h3>
2014-02-24 13:08:16 -05:00
2014-03-28 08:37:15 -04:00
< # var emptyModel = _.isEmpty( data.model ),
isVideo = 'video' === data . controller . get ( 'library' ) . props . get ( 'type' ); #>
2014-03-09 19:19:15 -04:00
< label class = " setting " >
2014-03-27 13:58:15 -04:00
< input type = " checkbox " data - setting = " tracklist " < # if ( emptyModel ) { #>
2014-02-24 15:26:14 -05:00
checked = " checked "
< # } #> />
2014-03-28 08:37:15 -04:00
< # if ( isVideo ) { #>
2014-03-27 17:10:15 -04:00
< span >< ? php _e ( 'Show Video List' ); ?> </span>
2014-03-28 08:37:15 -04:00
< # } else { #>
< span >< ? php _e ( 'Show Tracklist' ); ?> </span>
2014-03-27 17:10:15 -04:00
< # } #>
2014-02-24 13:08:16 -05:00
</ label >
2014-03-28 08:37:15 -04:00
< # if ( ! isVideo ) { #>
2014-02-24 13:08:16 -05:00
< label class = " setting " >
2014-03-27 13:58:15 -04:00
< input type = " checkbox " data - setting = " artists " < # if ( emptyModel ) { #>
2014-02-24 15:26:14 -05:00
checked = " checked "
< # } #> />
2014-03-09 19:19:15 -04:00
< span >< ? php _e ( 'Show Artist Name in Tracklist' ); ?> </span>
2014-02-24 13:08:16 -05:00
</ label >
2014-03-26 18:12:16 -04:00
< # } #>
2014-02-24 13:08:16 -05:00
< label class = " setting " >
2014-02-27 14:22:14 -05:00
< input type = " checkbox " data - setting = " images " < # if ( emptyModel ) { #>
2014-02-24 15:26:14 -05:00
checked = " checked "
< # } #> />
2014-03-09 19:19:15 -04:00
< span >< ? php _e ( 'Show Images' ); ?> </span>
2014-02-24 13:08:16 -05:00
</ label >
</ script >
2012-12-06 02:10:20 -05:00
< script type = " text/html " id = " tmpl-embed-link-settings " >
2014-05-26 19:57:14 -04:00
< label class = " setting title " >
< span >< ? php _e ( 'Title' ); ?> </span>
2012-12-06 02:10:20 -05:00
< input type = " text " class = " alignment " data - setting = " title " />
</ label >
2014-05-26 19:57:14 -04:00
< div class = " embed-container " style = " display: none; " >
< div class = " embed-preview " ></ div >
</ div >
2012-12-06 02:10:20 -05:00
</ script >
< script type = " text/html " id = " tmpl-embed-image-settings " >
< div class = " thumbnail " >
< img src = " { { data.model.url }} " draggable = " false " />
</ div >
2013-11-26 02:52:08 -05:00
< ? php
/** This filter is documented in wp-admin/includes/media.php */
if ( ! apply_filters ( 'disable_captions' , '' ) ) : ?>
2012-12-06 02:10:20 -05:00
< label class = " setting caption " >
< span >< ? php _e ( 'Caption' ); ?> </span>
< textarea data - setting = " caption " />
</ label >
< ? php endif ; ?>
< label class = " setting alt-text " >
< span >< ? php _e ( 'Alt Text' ); ?> </span>
< input type = " text " data - setting = " alt " />
</ label >
< div class = " setting align " >
< span >< ? php _e ( 'Align' ); ?> </span>
< div class = " button-group button-large " data - setting = " align " >
< button class = " button " value = " left " >
< ? php esc_attr_e ( 'Left' ); ?>
</ button >
< button class = " button " value = " center " >
< ? php esc_attr_e ( 'Center' ); ?>
</ button >
< button class = " button " value = " right " >
< ? php esc_attr_e ( 'Right' ); ?>
</ button >
< button class = " button active " value = " none " >
< ? php esc_attr_e ( 'None' ); ?>
</ button >
</ div >
</ div >
< div class = " setting link-to " >
< span >< ? php _e ( 'Link To' ); ?> </span>
< div class = " button-group button-large " data - setting = " link " >
< button class = " button " value = " file " >
< ? php esc_attr_e ( 'Image URL' ); ?>
</ button >
< button class = " button " value = " custom " >
< ? php esc_attr_e ( 'Custom URL' ); ?>
</ button >
< button class = " button active " value = " none " >
< ? php esc_attr_e ( 'None' ); ?>
</ button >
</ div >
< input type = " text " class = " link-to-custom " data - setting = " linkUrl " />
</ div >
</ script >
2014-01-28 16:17:12 -05:00
< script type = " text/html " id = " tmpl-image-details " >
< div class = " media-embed " >
2014-03-05 10:06:14 -05:00
< div class = " embed-media-settings " >
2014-04-01 21:54:15 -04:00
< div class = " column-image " >
< div class = " image " >
< img src = " { { data.model.url }} " draggable = " false " />
< # if ( data.attachment && window.imageEdit ) { #>
< div class = " actions " >
< input type = " button " class = " edit-attachment button " value = " <?php esc_attr_e( 'Edit Original' ); ?> " />
< input type = " button " class = " replace-attachment button " value = " <?php esc_attr_e( 'Replace' ); ?> " />
</ div >
< # } #>
</ div >
</ div >
2014-03-27 18:41:14 -04:00
< div class = " column-settings " >
< ? php
/** This filter is documented in wp-admin/includes/media.php */
if ( ! apply_filters ( 'disable_captions' , '' ) ) : ?>
< label class = " setting caption " >
< span >< ? php _e ( 'Caption' ); ?> </span>
< textarea data - setting = " caption " > {{ data . model . caption }} </ textarea >
</ label >
< ? php endif ; ?>
2014-01-28 16:17:12 -05:00
2014-03-27 18:41:14 -04:00
< label class = " setting alt-text " >
< span >< ? php _e ( 'Alternative Text' ); ?> </span>
< input type = " text " data - setting = " alt " value = " { { data.model.alt }} " />
2014-01-28 16:17:12 -05:00
</ label >
2014-03-27 18:41:14 -04:00
2014-04-01 21:54:15 -04:00
< h3 >< ? php _e ( 'Display Settings' ); ?> </h3>
2014-03-27 18:41:14 -04:00
< div class = " setting align " >
< span >< ? php _e ( 'Align' ); ?> </span>
< div class = " button-group button-large " data - setting = " align " >
< button class = " button " value = " left " >
< ? php esc_attr_e ( 'Left' ); ?>
</ button >
< button class = " button " value = " center " >
< ? php esc_attr_e ( 'Center' ); ?>
</ button >
< button class = " button " value = " right " >
< ? php esc_attr_e ( 'Right' ); ?>
</ button >
< button class = " button active " value = " none " >
< ? php esc_attr_e ( 'None' ); ?>
</ button >
</ div >
</ div >
2014-01-28 18:21:13 -05:00
< # if ( data.attachment ) { #>
2014-04-01 21:54:15 -04:00
< # if ( 'undefined' !== typeof data.attachment.sizes ) { #>
2014-04-02 23:21:15 -04:00
< label class = " setting size " >
2014-04-01 21:54:15 -04:00
< span >< ? php _e ( 'Size' ); ?> </span>
< select class = " size " name = " size "
data - setting = " size "
< # if ( data.userSettings ) { #>
data - user - setting = " imgsize "
< # } #>>
< ? php
/** This filter is documented in wp-admin/includes/media.php */
$sizes = apply_filters ( 'image_size_names_choose' , array (
'thumbnail' => __ ( 'Thumbnail' ),
'medium' => __ ( 'Medium' ),
'large' => __ ( 'Large' ),
'full' => __ ( 'Full Size' ),
) );
foreach ( $sizes as $value => $name ) : ?>
< #
var size = data . sizes [ '<?php echo esc_js( $value ); ?>' ];
if ( size ) { #>
2014-04-02 23:21:15 -04:00
< option value = " <?php echo esc_attr( $value ); ?> " >
2014-04-01 21:54:15 -04:00
< ? php echo esc_html ( $name ); ?> – {{ size.width }} × {{ size.height }}
</ option >
< # } #>
< ? php endforeach ; ?>
2014-04-02 23:21:15 -04:00
< option value = " <?php echo esc_attr( 'custom' ); ?> " >
< ? php _e ( 'Custom Size' ); ?>
</ option >
2014-04-01 21:54:15 -04:00
</ select >
</ label >
< # } #>
2014-04-02 23:21:15 -04:00
< div class = " custom-size<# if ( data.model.size !== 'custom' ) { #> hidden<# } #> " >
< label >< span >< ? php _e ( 'Width' ); ?> <small>(px)</small></span> <input data-setting="customWidth" type="number" step="1" value="{{ data.model.customWidth }}" /></label><span class="sep">×</span><label><span><?php _e( 'Height' ); ?> <small>(px)</small></span><input data-setting="customHeight" type="number" step="1" value="{{ data.model.customHeight }}" /></label>
</ div >
2014-01-28 18:21:13 -05:00
< # } #>
2014-03-27 18:41:14 -04:00
< div class = " setting link-to " >
< span >< ? php _e ( 'Link To' ); ?> </span>
2014-04-01 21:54:15 -04:00
< select data - setting = " link " >
2014-03-27 18:41:14 -04:00
< # if ( data.attachment ) { #>
2014-04-01 21:54:15 -04:00
< option value = " file " >
2014-03-27 18:41:14 -04:00
< ? php esc_attr_e ( 'Media File' ); ?>
2014-04-01 21:54:15 -04:00
</ option >
< option value = " post " >
2014-03-27 18:41:14 -04:00
< ? php esc_attr_e ( 'Attachment Page' ); ?>
2014-04-01 21:54:15 -04:00
</ option >
2014-03-27 18:41:14 -04:00
< # } else { #>
2014-04-01 21:54:15 -04:00
< option value = " file " >
2014-03-27 18:41:14 -04:00
< ? php esc_attr_e ( 'Image URL' ); ?>
2014-04-01 21:54:15 -04:00
</ option >
2014-03-27 18:41:14 -04:00
< # } #>
2014-04-01 21:54:15 -04:00
< option value = " custom " >
2014-03-27 18:41:14 -04:00
< ? php esc_attr_e ( 'Custom URL' ); ?>
2014-04-01 21:54:15 -04:00
</ option >
< option value = " none " >
2014-03-27 18:41:14 -04:00
< ? php esc_attr_e ( 'None' ); ?>
2014-04-01 21:54:15 -04:00
</ option >
</ select >
2014-03-27 18:41:14 -04:00
< input type = " text " class = " link-to-custom " data - setting = " linkUrl " />
2014-01-28 16:17:12 -05:00
</ div >
2014-04-13 00:02:15 -04:00
< div class = " advanced-section " >
2014-04-02 23:21:15 -04:00
< h3 >< a class = " advanced-toggle " href = " # " >< ? php _e ( 'Advanced Options' ); ?> </a></h3>
2014-04-13 00:02:15 -04:00
< div class = " advanced-settings hidden " >
< div class = " advanced-image " >
< label class = " setting title-text " >
< span >< ? php _e ( 'Image Title Attribute' ); ?> </span>
< input type = " text " data - setting = " title " value = " { { data.model.title }} " />
</ label >
< label class = " setting extra-classes " >
< span >< ? php _e ( 'Image CSS Class' ); ?> </span>
< input type = " text " data - setting = " extraClasses " value = " { { data.model.extraClasses }} " />
</ label >
</ div >
< div class = " advanced-link " >
< div class = " setting link-target " >
< label >< input type = " checkbox " data - setting = " linkTargetBlank " value = " _blank " < # if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>><?php _e( 'Open link in a new window/tab' ); ?></label>
</ div >
< label class = " setting link-rel " >
< span >< ? php _e ( 'Link Rel' ); ?> </span>
< input type = " text " data - setting = " linkRel " value = " { { data.model.linkClassName }} " />
</ label >
< label class = " setting link-class-name " >
< span >< ? php _e ( 'Link CSS Class' ); ?> </span>
< input type = " text " data - setting = " linkClassName " value = " { { data.model.linkClassName }} " />
</ label >
2014-03-27 18:41:14 -04:00
</ div >
2014-01-28 16:17:12 -05:00
</ div >
</ div >
2014-03-27 18:41:14 -04:00
</ div >
2014-01-28 16:17:12 -05:00
</ div >
</ div >
</ script >
2014-03-05 10:06:14 -05:00
2014-03-06 17:55:14 -05:00
< script type = " text/html " id = " tmpl-image-editor " >
2014-03-31 01:13:15 -04:00
< div id = " media-head- { { data.id }} " ></ div >
< div id = " image-editor- { { data.id }} " ></ div >
2014-03-06 17:55:14 -05:00
</ script >
2014-03-05 10:06:14 -05:00
< script type = " text/html " id = " tmpl-audio-details " >
2014-03-22 23:16:14 -04:00
< # var ext, html5types = {
mp3 : wp . media . view . settings . embedMimes . mp3 ,
ogg : wp . media . view . settings . embedMimes . ogg
}; #>
2014-03-19 01:31:15 -04:00
2014-03-08 20:01:14 -05:00
< ? php $audio_types = wp_get_audio_extensions (); ?>
2014-03-09 00:25:15 -05:00
< div class = " media-embed media-embed-details " >
2014-03-05 10:06:14 -05:00
< div class = " embed-media-settings embed-audio-settings " >
2014-03-14 08:20:15 -04:00
< ? php wp_underscore_audio_template () ?>
2014-03-19 01:31:15 -04:00
< # if ( ! _.isEmpty( data.model.src ) ) {
ext = data . model . src . split ( '.' ) . pop ();
if ( html5types [ ext ] ) {
delete html5types [ ext ];
}
#>
2014-03-05 10:06:14 -05:00
< label class = " setting " >
< span > SRC </ span >
2014-03-08 20:01:14 -05:00
< input type = " text " disabled = " disabled " data - setting = " src " value = " { { data.model.src }} " />
2014-03-31 01:13:15 -04:00
< a class = " remove-setting " >< ? php _e ( 'Remove' ); ?> </a>
2014-03-05 10:06:14 -05:00
</ label >
< # } #>
< ? php
2014-03-08 20:01:14 -05:00
foreach ( $audio_types as $type ) :
2014-03-19 01:31:15 -04:00
?> <# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) {
if ( ! _ . isUndefined ( html5types .< ? php echo $type ?> ) ) {
delete html5types .< ? php echo $type ?> ;
}
#>
2014-03-05 10:06:14 -05:00
< label class = " setting " >
< span >< ? php echo strtoupper ( $type ) ?> </span>
2014-03-08 20:01:14 -05:00
< input type = " text " disabled = " disabled " data - setting = " <?php echo $type ?> " value = " { { data.model.<?php echo $type ?> }} " />
2014-03-31 01:13:15 -04:00
< a class = " remove-setting " >< ? php _e ( 'Remove' ); ?> </a>
2014-03-05 10:06:14 -05:00
</ label >
< # } #>
< ? php endforeach ?>
2014-03-19 01:31:15 -04:00
< # if ( ! _.isEmpty( html5types ) ) { #>
< div class = " setting " >
2014-03-31 01:13:15 -04:00
< span >< ? php _e ( 'Add alternate sources for maximum HTML5 playback:' ) ?> </span>
2014-03-19 01:31:15 -04:00
< div class = " button-large " >
2014-03-22 23:16:14 -04:00
< # _.each( html5types, function (mime, type) { #>
< button class = " button add-media-source " data - mime = " { { mime }} " > {{ type }} </ button >
2014-03-19 01:31:15 -04:00
< # } ) #>
</ div >
</ div >
< # } #>
2014-03-05 10:06:14 -05:00
< div class = " setting preload " >
< span >< ? php _e ( 'Preload' ); ?> </span>
< div class = " button-group button-large " data - setting = " preload " >
2014-03-20 20:19:16 -04:00
< button class = " button " value = " auto " >< ? php _ex ( 'Auto' , 'auto preload' ); ?> </button>
2014-03-06 14:06:16 -05:00
< button class = " button " value = " metadata " >< ? php _e ( 'Metadata' ); ?> </button>
< button class = " button active " value = " none " >< ? php _e ( 'None' ); ?> </button>
2014-03-05 10:06:14 -05:00
</ div >
</ div >
< label class = " setting checkbox-setting " >
< input type = " checkbox " data - setting = " autoplay " />
2014-04-22 16:29:14 -04:00
< span >< ? php _e ( 'Autoplay' ); ?> </span>
2014-03-05 10:06:14 -05:00
</ label >
< label class = " setting checkbox-setting " >
< input type = " checkbox " data - setting = " loop " />
2014-04-22 16:29:14 -04:00
< span >< ? php _e ( 'Loop' ); ?> </span>
2014-03-05 10:06:14 -05:00
</ label >
</ div >
</ div >
</ script >
< script type = " text/html " id = " tmpl-video-details " >
2014-03-22 23:16:14 -04:00
< # var ext, html5types = {
mp4 : wp . media . view . settings . embedMimes . mp4 ,
ogv : wp . media . view . settings . embedMimes . ogv ,
webm : wp . media . view . settings . embedMimes . webm
}; #>
2014-03-19 01:31:15 -04:00
2014-03-08 20:01:14 -05:00
< ? php $video_types = wp_get_video_extensions (); ?>
2014-03-09 00:25:15 -05:00
< div class = " media-embed media-embed-details " >
2014-03-05 10:06:14 -05:00
< div class = " embed-media-settings embed-video-settings " >
< div class = " wp-video-holder " >
2014-03-13 19:39:16 -04:00
< #
var isYouTube = ! _ . isEmpty ( data . model . src ) && data . model . src . match ( / youtube | youtu\ . be / );
w = ! data . model . width || data . model . width > 640 ? 640 : data . model . width ,
h = ! data . model . height ? 360 : data . model . height ;
if ( data . model . width && w !== data . model . width ) {
h = Math . ceil ( ( h * w ) / data . model . width );
}
#>
2014-03-14 08:20:15 -04:00
< ? php wp_underscore_video_template () ?>
2014-03-19 01:31:15 -04:00
< # if ( ! _.isEmpty( data.model.src ) ) {
ext = data . model . src . split ( '.' ) . pop ();
if ( html5types [ ext ] ) {
delete html5types [ ext ];
}
#>
2014-03-05 10:06:14 -05:00
< label class = " setting " >
< span > SRC </ span >
2014-03-08 20:01:14 -05:00
< input type = " text " disabled = " disabled " data - setting = " src " value = " { { data.model.src }} " />
2014-03-31 01:13:15 -04:00
< a class = " remove-setting " >< ? php _e ( 'Remove' ); ?> </a>
2014-03-05 10:06:14 -05:00
</ label >
2014-03-08 20:01:14 -05:00
< # } #>
< ? php foreach ( $video_types as $type ) :
2014-03-19 01:31:15 -04:00
?> <# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) {
if ( ! _ . isUndefined ( html5types .< ? php echo $type ?> ) ) {
delete html5types .< ? php echo $type ?> ;
}
#>
2014-03-05 10:06:14 -05:00
< label class = " setting " >
< span >< ? php echo strtoupper ( $type ) ?> </span>
2014-03-08 20:01:14 -05:00
< input type = " text " disabled = " disabled " data - setting = " <?php echo $type ?> " value = " { { data.model.<?php echo $type ?> }} " />
2014-03-31 01:13:15 -04:00
< a class = " remove-setting " >< ? php _e ( 'Remove' ); ?> </a>
2014-03-05 10:06:14 -05:00
</ label >
< # } #>
< ? php endforeach ?>
</ div >
2014-03-19 01:31:15 -04:00
< # if ( ! _.isEmpty( html5types ) ) { #>
< div class = " setting " >
2014-03-31 01:13:15 -04:00
< span >< ? php _e ( 'Add alternate sources for maximum HTML5 playback:' ); ?> </span>
2014-03-19 01:31:15 -04:00
< div class = " button-large " >
2014-03-22 23:16:14 -04:00
< # _.each( html5types, function (mime, type) { #>
< button class = " button add-media-source " data - mime = " { { mime }} " > {{ type }} </ button >
2014-03-19 01:31:15 -04:00
< # } ) #>
</ div >
</ div >
< # } #>
2014-03-09 00:25:15 -05:00
< # if ( ! _.isEmpty( data.model.poster ) ) { #>
2014-03-05 10:06:14 -05:00
< label class = " setting " >
< span >< ? php _e ( 'Poster Image' ); ?> </span>
2014-03-09 00:25:15 -05:00
< input type = " text " disabled = " disabled " data - setting = " poster " value = " { { data.model.poster }} " />
2014-03-31 01:13:15 -04:00
< a class = " remove-setting " >< ? php _e ( 'Remove' ); ?> </a>
2014-03-05 10:06:14 -05:00
</ label >
2014-03-09 00:25:15 -05:00
< # } #>
2014-03-05 10:06:14 -05:00
< div class = " setting preload " >
< span >< ? php _e ( 'Preload' ); ?> </span>
< div class = " button-group button-large " data - setting = " preload " >
2014-03-20 20:19:16 -04:00
< button class = " button " value = " auto " >< ? php _ex ( 'Auto' , 'auto preload' ); ?> </button>
2014-03-08 20:01:14 -05:00
< button class = " button " value = " metadata " >< ? php _e ( 'Metadata' ); ?> </button>
< button class = " button active " value = " none " >< ? php _e ( 'None' ); ?> </button>
2014-03-05 10:06:14 -05:00
</ div >
</ div >
< label class = " setting checkbox-setting " >
< input type = " checkbox " data - setting = " autoplay " />
2014-04-22 16:29:14 -04:00
< span >< ? php _e ( 'Autoplay' ); ?> </span>
2014-03-05 10:06:14 -05:00
</ label >
< label class = " setting checkbox-setting " >
< input type = " checkbox " data - setting = " loop " />
2014-04-22 16:29:14 -04:00
< span >< ? php _e ( 'Loop' ); ?> </span>
2014-03-05 10:06:14 -05:00
</ label >
2014-03-09 06:32:15 -04:00
< label class = " setting " data - setting = " content " >
2014-03-19 04:18:14 -04:00
< span >< ? php _e ( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ); ?> </span>
2014-03-09 06:32:15 -04:00
< #
var content = '' ;
if ( ! _ . isEmpty ( data . model . content ) ) {
var tracks = jQuery ( data . model . content ) . filter ( 'track' );
_ . each ( tracks . toArray (), function ( track ) {
content += track . outerHTML ; #>
< p >
< input class = " content-track " type = " text " value = " { { track.outerHTML }} " />
2014-03-31 01:13:15 -04:00
< a class = " remove-setting remove-track " >< ? php _e ( 'Remove' ); ?> </a>
2014-03-09 06:32:15 -04:00
</ p >
< # } ); #>
< # } else { #>
2014-03-09 20:19:15 -04:00
< em >< ? php _e ( 'There are no associated subtitles.' ); ?> </em>
2014-03-09 06:32:15 -04:00
< # } #>
< textarea class = " hidden content-setting " > {{ content }} </ textarea >
</ label >
2014-03-05 10:06:14 -05:00
</ div >
</ div >
</ script >
2014-04-01 22:18:15 -04:00
2014-03-05 02:01:14 -05:00
< script type = " text/html " id = " tmpl-editor-gallery " >
2014-04-01 22:18:15 -04:00
< # if ( data.attachments ) { #>
2014-04-08 01:28:15 -04:00
< div class = " gallery gallery-columns- { { data.columns }} " >
2014-04-01 22:18:15 -04:00
< # _.each( data.attachments, function( attachment, index ) { #>
< dl class = " gallery-item " >
< dt class = " gallery-icon " >
2014-04-07 17:25:16 -04:00
< # if ( attachment.thumbnail ) { #>
< img src = " { { attachment.thumbnail.url }} " width = " { { attachment.thumbnail.width }} " height = " { { attachment.thumbnail.height }} " />
< # } else { #>
< img src = " { { attachment.url }} " />
< # } #>
2014-04-01 22:18:15 -04:00
</ dt >
2014-06-05 21:50:16 -04:00
< # if ( attachment.caption ) { #>
2014-05-15 17:03:15 -04:00
< dd class = " wp-caption-text gallery-caption " >
{{ attachment . caption }}
</ dd >
< # } #>
2014-04-01 22:18:15 -04:00
</ dl >
< # if ( index % data.columns === data.columns - 1 ) { #>
< br style = " clear: both; " >
< # } #>
< # } ); #>
</ div >
< # } else { #>
2014-04-15 20:23:15 -04:00
< div class = " wpview-error " >
2014-04-01 22:18:15 -04:00
< div class = " dashicons dashicons-format-gallery " ></ div >< p >< ? php _e ( 'No items found.' ); ?> </p>
</ div >
< # } #>
2014-03-05 02:01:14 -05:00
</ script >
2014-03-19 03:02:15 -04:00
2014-04-04 11:48:16 -04:00
< script type = " text/html " id = " tmpl-crop-content " >
< img class = " crop-image " src = " { { data.url }} " >
< div class = " upload-errors " ></ div >
</ script >
2012-12-06 02:10:20 -05:00
< ? php
2013-11-26 02:52:08 -05:00
/**
2014-03-25 04:05:15 -04:00
* Fires when the custom Backbone media templates are printed .
2013-11-26 02:52:08 -05:00
*
* @ since 3.5 . 0
*/
2012-12-06 02:10:20 -05:00
do_action ( 'print_media_templates' );
}