Commit Graph

145 Commits

Author SHA1 Message Date
Scott Taylor 7ad4205f70 Add MCE views for audio and video shortcodes. When the shortcode does not contain a source that supports native playback, just show the filename.
* Remove the audio/video shortcode parsing from the `wpgallery` plugin.
* Make `mce-view` a dependency of `media-audiovideo`
* Introduce `wp.mce.video`, `wp.mce.audio`, `wp.mce.media`, and `wp.mce.media.View`
* Rename `wp.media.audio|video.shortcode()` to `wp.media.audio|video.update()` since it is called on Update and returns a `wp.shortcode` object now.
* In `wp.mce.View.render()`, fire a `ready` event when the placeholder is being parsed and pass the current node to the event handler.

See #27389, #27437.


Built from https://develop.svn.wordpress.org/trunk@27615


git-svn-id: http://core.svn.wordpress.org/trunk@27458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 07:02:15 +00:00
Scott Taylor a17dd704c4 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.


Built from https://develop.svn.wordpress.org/trunk@27608


git-svn-id: http://core.svn.wordpress.org/trunk@27451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 05:31:15 +00:00
Andrew Ozz 46a471489e TinyMCE gallery preview: fix errors when an image doesn't have/is smaller than thumbnail size, props gcorne, see #26959
Built from https://develop.svn.wordpress.org/trunk@27580


git-svn-id: http://core.svn.wordpress.org/trunk@27423 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 03:25:14 +00:00
Andrew Ozz 402f48ca15 TinyMCE:
- Update the styling of the image caption and gallery toolbars.
- Fix issue where the hidden clipboard div in wpView.
- Switch to using the pencil dashicon for Edit.
- Add `max-width: 100%;` to images in the gallery preview and adjust column widths.
Props cramdesign, mattheu, gcorne, melchoyce, see #27320, fixes #27376, fixes #27354

Built from https://develop.svn.wordpress.org/trunk@27578


git-svn-id: http://core.svn.wordpress.org/trunk@27421 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 00:20:15 +00:00
Scott Taylor ef6af221d7 When rendering Underscore templates for Audio/Video details, use 2 new PHP functions to render the markup for audio and video tags: `wp_underscore_audio_template()` and `wp_underscore_video_template()`.
Future JS templates can follow the convention of expecting `data` to be passed to them containing a `model` property.

See #27389.


Built from https://develop.svn.wordpress.org/trunk@27533


git-svn-id: http://core.svn.wordpress.org/trunk@27376 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 12:20:15 +00:00
Scott Taylor b4569b69dc Revert [27528] until Flash in Firefox behaves :(
See #27389.


Built from https://develop.svn.wordpress.org/trunk@27530


git-svn-id: http://core.svn.wordpress.org/trunk@27373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 23:39:16 +00:00
Scott Taylor ba84f57083 Add MCE Views for audio and video. Please clear your browser cache so that you get the latest TinyMCE stylesheet.
* Move TinyMCE shortcode handling from `wpgallery` plugin to `mce-view.js`
* Force `preload="none"` when rendering media in the editor to ensure fast loading (I realize this sounds illogical)
* Move audio and video tag builder logic in `media-template.php` into PHP funcs that can be reused by any code passing `data.model` to an Underscore template
* Pause all players when moving between editor tabs and when moving from the editor to editing in the media modal.
* Rename `wp.media.audio|video.shortcode()` to the more appropriate `wp.media.audio|video.update()` that now returns a `wp.shortcode` object instead of a string.
* Add necessary MediaElement css files to `$mce_css`
* In `wp.mce.View.render()`, support multiple instances of the same shortcode
* When rendering `wp.mce.View`s, fire a ready event that passes the current MCE View root element as context 

See #27389.


Built from https://develop.svn.wordpress.org/trunk@27528


git-svn-id: http://core.svn.wordpress.org/trunk@27371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 23:10:14 +00:00
Scott Taylor d56f4a30b9 A string was missing its translation wrapper in the Underscore template for video details.
Props Jayjdk.
See #27016.


Built from https://develop.svn.wordpress.org/trunk@27490


git-svn-id: http://core.svn.wordpress.org/trunk@27334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-10 00:19:15 +00:00
Scott Taylor d2c0cdc5de Add a filter and document it: `playlist_styles`. Allows users to roll their own playlist themes.
Props DrewAPicture for the docs.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27488


git-svn-id: http://core.svn.wordpress.org/trunk@27332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 23:37:15 +00:00
Scott Taylor 634fac6e2c Update the UI styles for Playlist Settings.
Props melchoyce for the design.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27487


git-svn-id: http://core.svn.wordpress.org/trunk@27331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 23:19:15 +00:00
Scott Taylor f078f3e10e 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.


Built from https://develop.svn.wordpress.org/trunk@27481


git-svn-id: http://core.svn.wordpress.org/trunk@27325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 10:32:15 +00:00
Scott Taylor 8e2e99fd0c Since audio and video shortcodes don't point at actual attachments, don't persist the library's selection. Move the media instructions in the block that scrolls.
See #27016.


Built from https://develop.svn.wordpress.org/trunk@27480


git-svn-id: http://core.svn.wordpress.org/trunk@27324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 06:24:15 +00:00
Scott Taylor f7af18e1d6 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.


Built from https://develop.svn.wordpress.org/trunk@27478


git-svn-id: http://core.svn.wordpress.org/trunk@27322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 05:25:15 +00:00
Scott Taylor dc00fc7e7f 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.


Built from https://develop.svn.wordpress.org/trunk@27476


git-svn-id: http://core.svn.wordpress.org/trunk@27320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 01:01:14 +00:00
Scott Taylor 818bf7c6af When `MEDIA_TRASH` is true, show the proper context in the `attachment-details` sidebar. Without this fix, it always showed "Delete Permanently."
Props toszcze.
Fixes #26783.


Built from https://develop.svn.wordpress.org/trunk@27454


git-svn-id: http://core.svn.wordpress.org/trunk@27300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 16:42:14 +00:00
Scott Taylor 7f15998947 Videos in the media modal:
* Support rendering of chromeless YouTube when a video shortcode's `src` is a YouTube URL. 
* Don't instantiate an instance of `MediaElementPlayer` until after the view has been attached to the DOM and the view's `ready` event has fired.
* Don't set `poster` for videos when its value is empty. Much like `src` in the `img` tag - when empty, it will assume and load the current window's URL.
* When removing a player instance, don't call the `pause` method if the playback is not native.

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27452


git-svn-id: http://core.svn.wordpress.org/trunk@27298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 08:32:14 +00:00
Helen Hou-Sandí 4bb7e03548 At long last, a first pass at bringing the image editor into the media modal. props gcorne, DH-Shredder, tomauger. see #21811.
Built from https://develop.svn.wordpress.org/trunk@27445


git-svn-id: http://core.svn.wordpress.org/trunk@27292 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 22:55:14 +00:00
Scott Taylor eda85e17ca Cleanup audio/video shortcodes in the media modal:
* On the controller's `update`, `replace`, and `close` events, call `detach()` on the frame
* Cleanup the HTML ouput of the Underscore templates.
* Move some logic from the Underscore template to the `VideoDetails` view class.

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27440


git-svn-id: http://core.svn.wordpress.org/trunk@27287 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 19:06:16 +00:00
Scott Taylor f15e1bc1db Ensure that all a/v attribute names have a leading space when the tags are dynamically-generated via Underscore templates.
See #27016.


Built from https://develop.svn.wordpress.org/trunk@27421


git-svn-id: http://core.svn.wordpress.org/trunk@27268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 21:46:14 +00:00
Scott Taylor 9aa05f8681 Add a timestamp to the urls passed to `<audio>` and `<video>` in the modal to ensure that cached view instances aren't referenced by MEjs. Pause the player when closing the controller's modal.
See #27016, #26779.


Built from https://develop.svn.wordpress.org/trunk@27420


git-svn-id: http://core.svn.wordpress.org/trunk@27267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 21:37:13 +00:00
Scott Taylor ff8844deae Add TinyMCE placeholders for `audio` and `video` shortcodes.
* Add `wp.media.mixin`.
* Add `wp.media.audio` and `wp.media.video`.
* Add `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Add `wp.media.controller.AudioDetails` and `wp.media.controller.VideoDetails`.
* Add `wp.media.controller.ReplaceAudio` and `wp.media.controller.ReplaceVideo`.
* Add `wp.media.view.MediaFrame.AudioDetails` and `wp.media.view.MediaFrame.VideoDetails`.
* Add `wp.media.view.AudioDetails` and `wp.media.view.VideoDetails`.
* Update the `wpgallery` TinyMCE plugin.
* Display audio and video players in the media modal when shortcode is clicked.
* Provide a UI to edit shortcode attributes in the media modal.
* Provide a UI to replace the `src` media file in an `audio` or `video` shortcode.

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27411


git-svn-id: http://core.svn.wordpress.org/trunk@27258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 15:06:14 +00:00
Andrew Ozz 6074dfa272 Update mce-view.js and the `wpview` TinyMCE plugin, and use them to show gallery previews in the Visual editor, props gcorne, see #26959
Built from https://develop.svn.wordpress.org/trunk@27408


git-svn-id: http://core.svn.wordpress.org/trunk@27255 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 07:01:14 +00:00
Sergey Biryukov 3533e3575f Use esc_attr_e() instead of _e() for attribute values.
props DJPaul.
fixes #27274.
Built from https://develop.svn.wordpress.org/trunk@27400


git-svn-id: http://core.svn.wordpress.org/trunk@27247 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-04 21:10:15 +00:00
Andrew Nacin 0c16c0477b Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
props Ipstenu, markjaquith.
see #27115.

Built from https://develop.svn.wordpress.org/trunk@27369


git-svn-id: http://core.svn.wordpress.org/trunk@27219 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 02:34:27 +00:00
Andrew Nacin 482856e2e1 Add the ability to drag and drop files directly onto the editor.
The file will then begin to upload and the media manager will open.

props kovshenin.
see #19845.

Built from https://develop.svn.wordpress.org/trunk@27343


git-svn-id: http://core.svn.wordpress.org/trunk@27195 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-01 21:34:17 +00:00
Andrew Ozz d896fa2487 Upgrade Plupload to 2.1.1, props kovshenin, see #25663
Built from https://develop.svn.wordpress.org/trunk@27316


git-svn-id: http://core.svn.wordpress.org/trunk@27168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 20:01:16 +00:00
Scott Taylor 45e748e57e `wp.media.collection` should be its own civilized instantiable class, not a wrapper/factory. The class shall contain no reference to specific instances, and shall not try to grab static properties of itself. `self`, meet `this`.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27313


git-svn-id: http://core.svn.wordpress.org/trunk@27166 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 19:22:14 +00:00
Scott Taylor c0379aaafc Load default settings state when creating a new playlist in the media modal. Add a few missing inline `@this` annotations in `media-editor.js`.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27242


git-svn-id: http://core.svn.wordpress.org/trunk@27099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 20:26:14 +00:00
Drew Jaynes 700ba14371 Spacing fixes for code introduced in [27239].
See #26631

Built from https://develop.svn.wordpress.org/trunk@27241


git-svn-id: http://core.svn.wordpress.org/trunk@27098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 19:50:15 +00:00
Scott Taylor 943f295d2e Add core support for Playlists and Video Playlists.
* Playlists operate like galleries in the admin. 
* Provide default UI and JS support in themes using MediaElement and Backbone. 
* The shortcodes are clickable, editable, and configurable using the media modal. 
* Playlists support images for each item, whether or not the current theme supports images for `attachment:audio` and `attachment:video`
* Playlists respond to `$content_width` and resize videos accordingly.
* All playlist data is included inline, using a script tag with `type="application/json"`, allowing anyone to unenqueue the WP playlist JS and roll their own.
* Playlist styles are minimal and work out of the box in the last 5 default themes. They inherit and adapt to the current theme's font styles, and their rules are easily overrideable.

See #26631.


Built from https://develop.svn.wordpress.org/trunk@27239


git-svn-id: http://core.svn.wordpress.org/trunk@27096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 18:08:16 +00:00
Andrew Ozz 025ea220c5 Remove a stray </div> from the Edit Image template, was breaking it in IE < 9. Props gcorne, see #24409
Built from https://develop.svn.wordpress.org/trunk@27143


git-svn-id: http://core.svn.wordpress.org/trunk@27010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-09 18:45:11 +00:00
Scott Taylor e1759d668a For starters, [27050] is rad. This just cleans up some extra new lines that were littered about, updates *some* of the inline docs (needs more), moves `wp.media.controller.ImageDetails` closer to its parent class, and de-dupes some code in `media-template.php`.
See #24409.


Built from https://develop.svn.wordpress.org/trunk@27051


git-svn-id: http://core.svn.wordpress.org/trunk@26925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-28 23:21:13 +00:00
Andrew Ozz 33eedc570b Introduce Edit Image (single mode) in the media modal and use it to edit images inserted in the editor. Adds new feature: replace an image in the editor. Props gcorne, see #24409.
Built from https://develop.svn.wordpress.org/trunk@27050


git-svn-id: http://core.svn.wordpress.org/trunk@26924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-28 21:17:12 +00:00
Drew Jaynes 04509a1b23 Inline documentation for hooks in wp-includes/media-template.php.
Props odysseygate for the initial patch. Props kpdesign.
Fixes #25847.

Built from https://develop.svn.wordpress.org/trunk@26400


git-svn-id: http://core.svn.wordpress.org/trunk@26300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-26 07:52:08 +00:00
Andrew Nacin 5361a8abca Spell out duplicate hook locations.
props DrewAPicture.
fixes #25658.

Built from https://develop.svn.wordpress.org/trunk@25868


git-svn-id: http://core.svn.wordpress.org/trunk@25868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:59:20 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

Built from https://develop.svn.wordpress.org/trunk@25825


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Andrew Nacin 74488bdcb0 Spell out duplicate hook locations.
props DrewAPicture.
fixes #25658.

Built from https://develop.svn.wordpress.org/trunk@25868


git-svn-id: http://core.svn.wordpress.org/trunk@25780 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 17:22:11 +00:00
Andrew Nacin 622709076b Media: Fix embedding of audio/video players when the file was just uploaded.
While uploading, we know an attachment's filename but not its mime type. Check specifically for extensions. Check for type as a convenience when it is available.

fixes #24449.



git-svn-id: http://core.svn.wordpress.org/trunk@24784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-23 17:29:55 +00:00
Andrew Nacin 2c67dea9bc Media: Add awareness to Attachment Display Settings that audio and video can be embedded.
Also:
 * Add file length metadata to Attachment Details.
 * Round the kb/s bitrate on post.php.

fixes #24449.



git-svn-id: http://core.svn.wordpress.org/trunk@24777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-23 05:39:08 +00:00
Andrew Nacin 66054d7ffe Allow gallery to be inserted with no links on the images. props chipbennett, helgatheviking, aaroncampbell, wonderboymusic. fixes #18178.
git-svn-id: http://core.svn.wordpress.org/trunk@24550 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-03 20:43:19 +00:00
Andrew Nacin 797ee34bc3 Remove /extend/ from URLs to wordpress.org/plugins, /themes, and /mobile, as those are all now top-level. see #24389.
git-svn-id: http://core.svn.wordpress.org/trunk@24320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-22 21:01:57 +00:00
Ryan Boren 849765385b Respect the link to setting when inserting a gallery.
Props SergeyBiryukov
fixes #23298


git-svn-id: http://core.svn.wordpress.org/trunk@24161 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-02 22:07:37 +00:00
Andrew Nacin c95ff91fe7 Media: Restore 3.4 behavior by consulting the old-school DB options for default align, size, and link properties.
This restores linking to media files as the default, over attachment pages. This 'default' cannot currently be changed by a user setting (per 3.4 behavior), due to the default database schema.

see #22841, for trunk.



git-svn-id: http://core.svn.wordpress.org/trunk@23262 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 08:02:16 +00:00
Andrew Nacin 3f0f56d58d Two media gallery string changes, for clarity:
* 'Random' to 'Random Order', to be clear what it controls.
 * 'Describe this image...' to 'Caption this image...', to be clear it links to the Caption field and not the revived Description field, see [23083].

props johnbillion, pavelevap.
fixes #22821.



git-svn-id: http://core.svn.wordpress.org/trunk@23135 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-09 17:11:25 +00:00
Andrew Nacin 34e2ed377a Break wp_print_media_templates() into wp-includes/media-template.php and lazy-load that file through wp_enqueue_media(). fixes #22778.
git-svn-id: http://core.svn.wordpress.org/trunk@23101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 07:10:20 +00:00