Commit Graph

89 Commits

Author SHA1 Message Date
Scott Taylor
e135cc2076 Eliminate use of extract() in gallery_shortcode().
See #22400.


git-svn-id: https://develop.svn.wordpress.org/trunk@28414 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 03:40:46 +00:00
Drew Jaynes (DrewAPicture)
e2219e3d48 Add a complete short description to the get_attached_media filter documentation.
See #26869.


git-svn-id: https://develop.svn.wordpress.org/trunk@28377 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-13 04:20:12 +00:00
Scott Taylor
bfe7d38650 audio, video, and playlist shortcodes:
* Convert all instances of variable variables to array properties
* Eradicate use of `extract()`
* Rename `$atts` to `$html_atts` where collision with new `$atts` (shortcode atts holder) var might occur

See #22400, #27881.



git-svn-id: https://develop.svn.wordpress.org/trunk@28342 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-07 17:35:09 +00:00
John Blackbourn
2d3568380b Remove some unnecessary abstraction introduced in [28191]. See #27985.
git-svn-id: https://develop.svn.wordpress.org/trunk@28194 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-24 11:54:31 +00:00
johnbillion
34b0686be1 Avoid an expensive attachment counting query on the post editing screen. See #27985, for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@28191 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-23 22:04:03 +00:00
Scott Taylor
97c497abc2 Refinements for asynchronous rendering in wp.mce.media.PlaylistView:
* Add `visibility: hidden` as an inline style to `<audio>` tags, there is a race with the stylesheet which can get enqueued in the body and loaded in the footer.
* When creating new instances of `MediaElementPlayer`, always push them onto a stack. Lone views can be responsible for multiple instances of the same shortcode on render.
* Rename `wp.media.mixin.unsetPlayer()` to `wp.media.mixin.unsetPlayers()` to reflect the above.
* Call `wp.media.mixin.unsetPlayers()` on the view's `unbind()` method, instead of inline in the `render()` method
* Make sure `WPPlaylistView` is instantiated for each editor instance
* Ensure that the `No Items Found` view state is not rendered when attachments actually do exist.

Props gcorne, wonderboymusic.
See #27899.




git-svn-id: https://develop.svn.wordpress.org/trunk@28182 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-22 17:52:06 +00:00
Andrew Nacin
9ed158cc8c Properly translate 'Select Poster Image'.
props dimadin.
see #27845, for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@28168 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-19 18:27:51 +00:00
Andrew Nacin
bd9e4f4f30 Final about page.
props melchoyce, helen, wonderboymusic, nacin, and the illustrious Michael Pick.
fixes #27713, #27837.


git-svn-id: https://develop.svn.wordpress.org/trunk@28150 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 17:39:18 +00:00
Andrew Nacin
85925b39ad Cast wp_count_attachments() before iterating it to avoid a notice when items exist without a mime type.
props bobbingwide.
fixes #27802.


git-svn-id: https://develop.svn.wordpress.org/trunk@28139 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-15 23:59:48 +00:00
Drew Jaynes (DrewAPicture)
93443ecd13 Inline documentation for hooks in wp-includes/media.php.
Props scottlee for the initial patch. Props kpdesign, DrewAPicture.
Fixes #27718.


git-svn-id: https://develop.svn.wordpress.org/trunk@28128 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-15 01:35:49 +00:00
Andrew Nacin
5b4cd4b027 Plupload: Restore 3.8 handles and filenames to avoid breaking plugins.
fixes #27763.


git-svn-id: https://develop.svn.wordpress.org/trunk@28108 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-14 00:06:03 +00:00
Andrew Nacin
402bb6208b Don't show featured images for image attachments. Remove abstractions for now.
fixes #27673.


git-svn-id: https://develop.svn.wordpress.org/trunk@28051 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-08 17:39:58 +00:00
Andrew Nacin
248151298c Escape playlist data in templates.
props wonderboymusic.
fixes #27710.


git-svn-id: https://develop.svn.wordpress.org/trunk@28050 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-08 17:39:06 +00:00
Andrew Nacin
d29a5cee5f Header Images: Add suggested dimensions to the media workflow.
props ehg, gcorne.
see #21785.


git-svn-id: https://develop.svn.wordpress.org/trunk@28030 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-08 01:54:44 +00:00
Scott Taylor
0d6acf5b5b Make playlist tracks keyboard-accessible.
Fixes #27644.



git-svn-id: https://develop.svn.wordpress.org/trunk@28023 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 22:27:06 +00:00
Drew Jaynes (DrewAPicture)
9131bc6cbf General PHPDoc improvements in wp-includes/media.php for 3.9 functionality.
See #27700.


git-svn-id: https://develop.svn.wordpress.org/trunk@28004 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 20:37:17 +00:00
Scott Taylor
d11d19a2b7 [27640] supported a caption for audio and video shortcodes as part of a UX iteration for the related MCE views. These captions have since be excluded, so the extra code should be removed (it was there for this sole reason).
See #27320.



git-svn-id: https://develop.svn.wordpress.org/trunk@27979 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 06:12:06 +00:00
Scott Taylor
5d3e7be690 When dynamically instantiating MediaElementPlayer instances in JS, preload="metadata" is extremely wonky. preload="none" lets the file play right away.
This has already been addressed for audio|video shortcodes, but also needs to be the case for playlists. When loading a playlist from a DOM cache or via AJAX, and when the sources match those already pre-loaded, the browser will sometimes donkey-punch the HTTP request for the first cached track selected.

Set `preload="none"` for the empty `<audio|video>` tag for playlists.

See commits related to #26779.



git-svn-id: https://develop.svn.wordpress.org/trunk@27974 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-06 21:33:00 +00:00
Scott Taylor
1ff1343a82 Revert the changes made to data.title in playlist Underscore templates in [27869]. {{ data.title }} causes the title to be double-encoded on the front end.
See #27574.



git-svn-id: https://develop.svn.wordpress.org/trunk@27960 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-05 20:05:04 +00:00
Andrew Nacin
96e15acb2e Header images: Handle cropping failures.
props ehg.
see #21785.


git-svn-id: https://develop.svn.wordpress.org/trunk@27946 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-04 15:47:43 +00:00
Andrew Nacin
87bc851561 Remove <br> elements for HTML5 galleries.
props obenland.
fixes #27637, see #26697.


git-svn-id: https://develop.svn.wordpress.org/trunk@27914 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 21:49:38 +00:00
Scott Taylor
9771a5aa78 Re-instantiate the MediaElementPlayer instance when switching mime types in playlists.
Fixes #27608.



git-svn-id: https://develop.svn.wordpress.org/trunk@27871 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-31 15:34:23 +00:00
Scott Taylor
d8d26a4f79 Cleanup up the display, escaping, and handling of ID3 data for media. Rename wp_get_relevant_id3_keys() to wp_get_attachment_id3_keys().
Props nacin.
See #27574.



git-svn-id: https://develop.svn.wordpress.org/trunk@27869 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-31 05:15:39 +00:00
Scott Taylor
35306513dc Using percentages for playlist font-sizing was ambitious, but fell prey to editor-style.css in the admin. We have switched to using pixels. The editor styles were also forcing MediaElement players to inherit font-family, which was undesirable. And while we're at it, remove the top and bottom border from the playlist's list of tracks, which adds a dash of lovely to the playlist's default styles.
Props nacin for the addition of `&mdash;` in the playlist track list.
Fixes #27600.



git-svn-id: https://develop.svn.wordpress.org/trunk@27865 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 22:11:46 +00:00
Andrew Nacin
877ffc087f Cleanups for audio/video metadata, see [27862].
see #27574.


git-svn-id: https://develop.svn.wordpress.org/trunk@27864 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 21:07:04 +00:00
Scott Taylor
149f36ed35 Metadata for audio and video files:
* Make attachment metadata for audio files editable by providing a metabox on the Edit Media page
* Standardize on using the attachment title everywhere
* Label the Caption and Description fields for audio and video appropriately
* Make the playlist Underscore templates more straightforward

See #27574.



git-svn-id: https://develop.svn.wordpress.org/trunk@27862 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 19:27:31 +00:00
Scott Taylor
e94f08380e Return the default mime icon for playlist items that don't have a featured image in wp_prepare_attachment_for_js().
See [27640].



git-svn-id: https://develop.svn.wordpress.org/trunk@27813 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 12:49:48 +00:00
Andrew Nacin
65007189cf Galleries: Avoid doubling up clearing br elements.
props drozdz.
fixes #25537.


git-svn-id: https://develop.svn.wordpress.org/trunk@27800 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 02:40:47 +00:00
Scott Taylor
8312fca652 Make sure Playlist states that are audio are marked as such with proper localized strings.
See #27554.


git-svn-id: https://develop.svn.wordpress.org/trunk@27789 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 18:36:03 +00:00
Scott Taylor
85de422f33 Move counting of attachments for audio/video to the backend, instead of using a reduce function in JS.
See #27554.



git-svn-id: https://develop.svn.wordpress.org/trunk@27788 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 18:15:09 +00:00
Scott Taylor
9384ee1bf3 There is no more video-playlist shortcode. To use video, it is now [playlist type="video" ....]. Also deleting core playlist styles. The style attribute is still supported, defaulting to light. Our core style support was 4-5 CSS rules.
See #27552. Leaving open for comments and potential bugs.



git-svn-id: https://develop.svn.wordpress.org/trunk@27785 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 17:57:30 +00:00
Scott Taylor
4a58d1a91b Pass the default mime-type icon as the image for a track when a featured image is not selected for an item in a playlist. Image display in general can be toggled on/off in the modal via Playlist Settings.
Fixes #27525.



git-svn-id: https://develop.svn.wordpress.org/trunk@27735 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 12:44:42 +00:00
Scott Taylor
323f9c0eb9 Don't make mce-view a dependency for media-audiovideo. Make media-audiovideo and wp-playlist dependencies for mce-view and only enqueue mce-view in the admin in wp_enqueue_media(). MCE views don't need to be included when media is loaded on the front end.
Fixes #27509.



git-svn-id: https://develop.svn.wordpress.org/trunk@27733 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 12:10:21 +00:00
Helen Hou-Sandi
ccc5f363c0 Use Dashicon-style images for mime type icons. Actually moving to Dashicons via the font can be explored later, but has theme/plugin implications and requires too many changes to make it for 3.9. props melchoyce for the icons. fixes #26650.
git-svn-id: https://develop.svn.wordpress.org/trunk@27726 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 21:09:34 +00:00
Andrew Nacin
71917873d4 Introduce HTML5 caption support.
When a theme supports HTML5 captions via add_theme_support( 'html5', 'caption' ), figure and figcaption will be used instead of div and p.

There's a bonus. But first, some history: Captions were introduced with an inline style set for the container. This remains, as it is there to force captions to wrap. But this inline style included an extra 10 pixels, which have vexxed theme developers for years. While these pixels were designed to ensure padding around floated images, modern themes handle this with grace. The additional pixels thus feel encumbering.

As the new HTML5 gallery support avoids outputting default gallery styles (again, irking theme developers for years; see #26697), the new HTML5 caption support will also ditch these 10 pixels of unwanted hand-holding. 

The 10 pixels are also removed entirely in the visual editor (and more styles may also disappear here; see #26642), giving themes the power necessary to match the frontend styles.

The filter img_caption_shortcode_width added in 3.7 to work around this madness (see #14380) is skipped entirely when the theme supports HTML5 captions.

props obenland, azaozz.
see #26642. also fixes #9066.


git-svn-id: https://develop.svn.wordpress.org/trunk@27668 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-24 02:04:56 +00:00
Andrew Ozz
263d9c7f33 Plupload: switch to urlstream upload method when the 'flash' runtime is used in non IE browsers. This ensures cookies are sent but limits the maximum file size that flash can handle.
By default only IE9 and older use flash so this change is mostly for completeness. It would affect only the (extremely rare) cases where a plugin disables the html5 runtime.

git-svn-id: https://develop.svn.wordpress.org/trunk@27662 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-23 23:44:20 +00:00
Scott Taylor
0697544056 Turn on thumbnail support for attachment:audio and attachment:video. Change conditionals to check for theme OR post type support when determining whether to turn on the Featured Image UI pieces in the admin.
Fixes #27460.



git-svn-id: https://develop.svn.wordpress.org/trunk@27657 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-23 02:34:39 +00:00
Scott Taylor
42e7ed7c78 General code cleanup and improving video sizing in the admin:
* Abstract the setting of a primary button and its callback in `wp.media.view.MediaFrame.MediaDetails`
* Account for the existence or non-existence of `$content_width` in the TinyMCE views for video
* Make sure video models always have dimensions, even if they are the defaults
* For browsers that are not Firefox, don't use a timeout when setting the `MediaElementPlayer` instance in TinyMCE views

See #27320.



git-svn-id: https://develop.svn.wordpress.org/trunk@27655 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-22 23:25:08 +00:00
Scott Taylor
5c0f7ae4fb Unifying media controls and supporting playlists in the editor:
* Support a `caption` attribute for audio and video shortcodes
* In `wp.media.audio|video`, rename `update` to `shortcode` to allow these models to share the same mixins as `wp.media.collection` subclasses
* When sending an audio or video shortcode to the editor, create a default caption if the user hasn't entered one. This currently only displays in the editor, not on the front end. Captions aren't tied to a specific attachment here because external sources are supported.
* In the `wp.mce.media` mixin, in the `edit` method, read `attr` instead of `data` when attempting to parse the encoded shortcode. `data` does not automatically update when the attribute changes. This was a blessing to debug.
* Add `wp.mce.media.PlaylistView` to support playlist views in TinyMCE
* Expose `WPPlaylistView` to global scope and suppress auto-parsing of playlist nodes when in the admin. Allow `WPPlaylistView` to be passed `metadata` on creation instead of requiring a JSON blob to be parsed.
* Remove all of the playlist logic from the `wpgallery` TinyMCE plugin.
* In `wp_prepare_attachment_for_js()` return more data for audio/video so that playlists can have parity in the admin/front end.

See #27320.



git-svn-id: https://develop.svn.wordpress.org/trunk@27640 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-20 13:33:00 +00:00
Andrew Nacin
0b74a67262 Only enqueue the image editor in the media modal in the admin.
props gcorne.
see #21811.


git-svn-id: https://develop.svn.wordpress.org/trunk@27625 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 21:15:50 +00:00
Andrew Nacin
8c3ac32372 More translation cleanups.
Affects widgets (see #27112), custom headers (see #21785), theme installer (see #27055, reverts [27614]), and some media stuff. Untranslates some complicated strings that need additional study.

see #27453.


git-svn-id: https://develop.svn.wordpress.org/trunk@27620 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 08:17:08 +00:00
Scott Taylor
54c541cfc6 Create a new file, media-audiovideo.js, to house all of the audio and video JS code in core.
UX Changes:
* Don't add a menu item for "Add Audio|Video Source"
* In the Audio|Video Details modal, add buttons and some suggestive text for adding alternate playback sources
* Don't show "Create Audio|Video Playlist" menu items until the user has uploaded audio or video files

See #27437.



git-svn-id: https://develop.svn.wordpress.org/trunk@27608 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 05:30:27 +00:00
Scott Taylor
d018152785 Account for preload="metadata" in audio and video shortcodes when multiple versions of the same <source> appear on the page by appending a query arg to "cache-bust" passed sources. The query arg is used to make the sources "unique." They will still be cached by the browser and won't bust the cache on every request.
Fixes #26779.



git-svn-id: https://develop.svn.wordpress.org/trunk@27519 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-13 03:41:53 +00:00
Scott Taylor
61bc04deff Change string "Create Playlist" to "Create Audio Playlist." Open new tickets for individual issues.
Fixes #26631. 



git-svn-id: https://develop.svn.wordpress.org/trunk@27512 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-12 04:39:28 +00:00
Andrew Nacin
6f2544944f Add header image uploads with cropping to the customizer.
props mcsf, ehg, gcorne.
see #21785.


git-svn-id: https://develop.svn.wordpress.org/trunk@27497 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-11 04:12:17 +00:00
Scott Taylor
c2cd0d6215 Add a filter and document it: playlist_styles. Allows users to roll their own playlist themes.
Props DrewAPicture for the docs.
See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27488 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 23:36:57 +00:00
Scott Taylor
c87fc83bf8 Playlists:
* Add an action, `wp_playlist_scripts`, where a user can turn off all default script and style loading for playlists and roll their own.
* Move the script and style loading for playlists to a function, `wp_playlist_scripts( $type )`, that hooks into `wp_playlist_scripts`.
* Make the `<noscript>` playlist output an `<ol>`, instead of a list of links with no surrounding markup.

See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27486 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 22:44:22 +00:00
Scott Taylor
d39e5ecafd Video editing in the media modal:
* Add a state: `Add Subititles`
* Add `text/vtt` to the list of allowed mime-types, files end in `.vtt`. `.srt` files are served as `text/plain`.
* The content body of a video shortcode should be used for adding `<track>` elements only. This happens dynamically in the modal. If added by hand, they can still be parsed and managed.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27481 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 10:31:36 +00:00
Scott Taylor
3c8d2a99f2 Audio/Video shortcodes in the media modal:
* Make a generic model, `wp.media.model.PostMedia`, which replaces `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Make a generic library, `wp.media.controller.MediaLibrary`, which replaces `wp.media.controller.ReplaceVideo` and `wp.media.controller.ReplaceAudio`
* `wp.media.controller.MediaLibrary` is used to create new states that want to load a library filtered by type, making it incredibly simple to add states to frames. See `wp.media.view.MediaFrame.VideoDetails` and `wp.media.view.MediaFrame.AudioDetails`.

UX changes:

* Add the ability to manage HTML5 fallbacks - add additional `<source>`s or remove specific `<source>`s
* In the Video Details state, add the ability to select a poster image

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27478 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 05:24:10 +00:00
Scott Taylor
67512aa18a Audio/Video shortcodes in the media modal:
* Add `embedMimes` to `_wpMediaViewsL10n`
* Use `escape` instead of `interpolate` when setting attributes in Underscore templates
* When creating the `<audio>` and `<video>` tags dynamically, set inner `<source>` nodes instead of the `src` attribute and properly set the mime-type per source as the `type` attribute. This is also drastically reduces the amount of code used to generate the tags.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27476 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 01:00:53 +00:00