Commit Graph

461 Commits

Author SHA1 Message Date
Ryan Boren a6c8efadb9 Change all core API to expect unslashed rather than slashed arguments.
The exceptions to this are update_post_meta() and add_post_meta() which are often used by plugins in POST handlers and will continue accepting slashed data for now.

Introduce wp_upate_post_meta() and wp_add_post_meta() as unslashed alternatives to update_post_meta() and add_post_meta(). These functions could become methods in WP_Post so don't use them too heavily yet.

Remove all escape() calls from wp_xmlrpc_server. Now that core expects unslashed data this is no longer needed.

Remove addslashes(), addslashes_gpc(), add_magic_quotes() calls on data being prepared for handoff to core functions that until now expected slashed data. Adding slashes in no longer necessary.

Introduce wp_unslash() and use to it remove slashes from GPCS data before using it in core API. Almost every instance of stripslashes() in core should now be wp_unslash(). In the future (a release or three) when GPCS is no longer slashed, wp_unslash() will stop stripping slashes and simply return what is passed. At this point wp_unslash() calls can be removed from core.

Introduce wp_slash() for slashing GPCS data. This will also turn into a noop once GPCS is no longer slashed. wp_slash() should almost never be used. It is mainly of use in unit tests.

Plugins should use wp_unslash() on data being passed to core API.

Plugins should no longer slash data being passed to core. So when you get_post() and then wp_insert_post() the post data from get_post() no longer needs addslashes(). Most plugins were not bothering with this. They will magically start doing the right thing. Unfortunately, those few souls who did it properly will now have to avoid calling addslashes() for 3.6 and newer.

Use wp_kses_post() and wp_kses_data(), which expect unslashed data, instead of wp_filter_post_kses() and wp_filter_kses(), which expect slashed data. Filters are no longer passed slashed data.

Remove many no longer necessary calls to $wpdb->escape() and esc_sql().

In wp_get_referer() and wp_get_original_referer(), return unslashed data.

Remove old stripslashes() calls from WP_Widget::update() handlers. These haven't been necessary since WP_Widget.

Switch several queries over to prepare().

Expect something to break.

Props alexkingorg
see #21767


git-svn-id: https://develop.svn.wordpress.org/trunk@23416 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-14 22:51:06 +00:00
Mark Jaquith e419f6258c Fix some tabbing issues on the post editing screen. Add Media no longer skipped when going backwards from content. Save Draft no longer skipped when going forwards from content.
props adamsilverstein. fixes #23195 and #22933

git-svn-id: https://develop.svn.wordpress.org/trunk@23395 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-08 18:30:09 +00:00
Andrew Nacin fcbb71ad77 Whenever we have compat fields to render, send a dummy menu_order field (which was always sent in 3.4) to ensure an unchecked checkbox can still be processed by attachment_fields_to_save. fixes #22868.
git-svn-id: https://develop.svn.wordpress.org/trunk@23290 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-05 03:50:28 +00:00
Mark Jaquith e0f5f47c57 Add the ability to click "Edit" and kick out to the advanced image editor from within the Media modal. New window, with "Refresh" offered on your return. fixes #22743. props koopersmith, nacin, helenyhou.
git-svn-id: https://develop.svn.wordpress.org/trunk@23095 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-06 05:52:19 +00:00
Daryl Koopersmith f82ed67255 Add hidden fields via attachment_fields_to_edit to the existing compat output. props nacin. fixes #22769.
git-svn-id: https://develop.svn.wordpress.org/trunk@23086 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-06 03:28:21 +00:00
Andrew Nacin 1cc12103f5 Restore the Description field to the media UI in 3.5.
We tried in vain -- a noble but ultimately failed effort -- to reduce the number of fields for attachments from four (title, caption, alt, description) to one (caption for images, title otherwise). Alternative text needed to stay for accessibility reasons, of course.

Eventually title returned due to heavy plugin reliance. Description is too used by too many plugins (often times incorrectly -- the caption is more likely the proper field), hence its less-than-triumphant return today.

Version 3.5 has tried to streamline media in a number of ways. Removing fields may have been too much at once, as it forced not only a user interface change, but a paradigm change as well.

Finally, on upload we populate the description field with IPTC/EXIF captions, rather than the caption field. See #22768, this should be fixed. For now, Description stays.

This commit also restores 'Title' attribute editing to the main tab of the Edit Image dialog. The "Title" field no longer populates title attributes for <img> tags by design (for accessibility and other purposes, see #18984). So, here is a more obvious 'workaround' for the tooltip community.

Finally, this:
 * Cleans up the post.php attachment editor, including by showing a prettier form of the mime type.
 * Enables plugins to specifically hide attachment_fields_to_edit from either post.php (where you can create meta boxes) or the modal (which you may not want to clutter), for compatibility reasons.
 * Hides the 'Describe this file...' placeholder when a field is read-only in the modal.

props nacin, helenyhou.
fixes #22759.



git-svn-id: https://develop.svn.wordpress.org/trunk@23083 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-06 00:41:06 +00:00
Mark Jaquith 92793b6ec2 Intelligently make media fields readonly when the user cannot update or do anything with them. props koopersmith, helenyhou, nacin. fixes #22613
git-svn-id: https://develop.svn.wordpress.org/trunk@23072 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-05 10:29:24 +00:00
Ryan Boren c53137f535 Scope button classes so they can be used on the frontend without interfering with theme styles.
Props helenyhou, koopersmith
fixes #22644


git-svn-id: https://develop.svn.wordpress.org/trunk@22948 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-30 13:40:59 +00:00
Ryan Boren cdce6a366e Introduce API to add back the description field in the new media popup.
Props nacin
fixes #22642


git-svn-id: https://develop.svn.wordpress.org/trunk@22929 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-29 23:52:30 +00:00
Ryan Boren d2d01ad797 Always send nocache_headers() for admin-ajax.php. This prevents iOS from caching ajax calls. http://stackoverflow.com/questions/12506897/is-safari-on-ios-6-caching-ajax-results
Turn off multi selection uploads for mobile devices. Currently Plupload cannot upload multiple files in iOS Safari. Only the first file makes it to the queue. 

Empty wp on unload to work around caching in iOS Safari.

Props azaozz, miqrogroove, nacin

fixes #22552


git-svn-id: https://develop.svn.wordpress.org/trunk@22872 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-27 16:17:53 +00:00
Ryan Boren 6099051c3e Only show the image edit button for image attachments. Props markoheijnen. fixes #22596
git-svn-id: https://develop.svn.wordpress.org/trunk@22867 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-27 15:06:02 +00:00
Ryan Boren 0ba9380f4e In media_upload_flash_bypass(), pass the post id in the media-new.php url.
In media-new.php, use post_id from REQUEST if passed and the current user can edit the post.
Fixes adding media with the browser uploader.

Props nacin, ocean90
fixes #22572


git-svn-id: https://develop.svn.wordpress.org/trunk@22853 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-26 23:10:19 +00:00
Andrew Nacin 340a772e73 Back compat for media_buttons_context, which is not the correct filter for adding new media buttons. If you want to add additional media buttons, use the media_buttons action instead. fixes #22559.
git-svn-id: https://develop.svn.wordpress.org/trunk@22848 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-26 22:32:35 +00:00
Ryan Boren 7ce1968d15 In media_buttons(), consult global post_ID if get_post() comes up with nothing.
Default postID to 0 in wp_enqueue_media().

Props nacin
fixes #22085


git-svn-id: https://develop.svn.wordpress.org/trunk@22846 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-26 22:03:37 +00:00
Andrew Nacin 4bf9e01c2b Mustn't forget to hide the legacy media uploader! see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22828 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-22 13:23:27 +00:00
Andrew Nacin f44d1d009e WP_Image_Editor: the last stand.
* Have wp_get_image_editor() rather than WP_Image_Editor::get_instance(). Having static factory methods would be less confusing if there weren't also static methods tied to individual editor implementations.
 * Lazy-load the WP_Image_Editor base class and editor implementations.
 * Have WP_Image_Editor_GD::supports_mime_type() actually check which types it supports.
 * Deprecate gd_edit_image_support() in favor of wp_image_editor_supports().

props DH-Shredder, scribu, markoheijnen. fixes #22356. see #6821.



git-svn-id: https://develop.svn.wordpress.org/trunk@22817 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-22 09:52:16 +00:00
Daryl Koopersmith ba65b3ffc7 Media: Replace the thumbnail on post.php using a request variable instead of the referer. props ocean90. fixes #21391.
git-svn-id: https://develop.svn.wordpress.org/trunk@22807 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-22 03:43:16 +00:00
Andrew Nacin e4759d815d Support attachment_fields_to_save and attachment_fields_to_edit for attachments going through post.php. see #22186. see #21391.
git-svn-id: https://develop.svn.wordpress.org/trunk@22783 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 18:53:00 +00:00
Andrew Nacin 431314d357 Have the media modal direct users to media-new.php for the browser uploader. fixes #22444.
git-svn-id: https://develop.svn.wordpress.org/trunk@22765 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 15:30:48 +00:00
Andrew Nacin 0b402a8dc1 media-new.php: Remove unused scripts, strings, error handling, save handling, and save button. fixes #22083.
git-svn-id: https://develop.svn.wordpress.org/trunk@22764 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 15:10:17 +00:00
Andrew Nacin 893e77607d Revert accidental changes to admin/includes/media.php in [22755]. see #22083.
git-svn-id: https://develop.svn.wordpress.org/trunk@22759 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 14:04:24 +00:00
Andrew Nacin b59a8855db Properly nest the if tag. props helenyhou. see #21391.
git-svn-id: https://develop.svn.wordpress.org/trunk@22757 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 13:32:26 +00:00
Andrew Nacin 9d2cc09ce1 Have media-new.php return simple rows of basic attachment data, with an 'Edit' link next to each taking them to post.php (in a new window). Not ideal, but this is largely a fallback screen at this point.
This is bolted on to existing code, the vast majority of which is destined to be ripped out in 3.6 once things settle.

see #22083.



git-svn-id: https://develop.svn.wordpress.org/trunk@22755 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 13:05:44 +00:00
Andrew Nacin b69e4bf685 Properly refresh the thumbnail on post.php after an image edit. props ocean90. see #21391.
git-svn-id: https://develop.svn.wordpress.org/trunk@22749 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 12:05:24 +00:00
Andrew Nacin 4283deb34c Non-images don't have alternative text. props helenyhou. see #21391.
git-svn-id: https://develop.svn.wordpress.org/trunk@22748 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 12:03:35 +00:00
Andrew Nacin 59be9048dd Stop inserting title attributes for images inserted into the editor by modifying get_image_send_to_editor(), not the generic get_image_tag().
see #18984, [22409].



git-svn-id: https://develop.svn.wordpress.org/trunk@22747 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 11:50:30 +00:00
Daryl Koopersmith bd9129fa9a Media: Whoops. Remove error_log. see [22699], #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22700 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-20 02:40:31 +00:00
Daryl Koopersmith 81bb685bc0 Media: Improve media buttons on the front end.
* Use a less specific selector (the body, actually) to delegate opening the media dialog.
* Allow the editor ID to be the empty string so the `media_buttons` action can be called without arguments.

see #22284, #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@22699 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-20 02:35:30 +00:00
Andrew Nacin f5fb08658f Remove errant return. props SergeyBiryukov. see #22186.
git-svn-id: https://develop.svn.wordpress.org/trunk@22679 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 09:48:34 +00:00
Andrew Nacin f4b9859903 Move code from image_attachment_fields_to_edit() to get_attachment_fields_to_edit(). The level of abstraction is unnecessary, and it makes it more difficult to call only the filter in the new media modal. Also, that function is sloooow. see #22186.
git-svn-id: https://develop.svn.wordpress.org/trunk@22673 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 08:10:38 +00:00
Andrew Nacin 4d0670723d Avoid doing all of the extra work in get_attachment_fields_to_edit() for fields we will just discard. We just need the filter, and the taxonomies. see #22186.
git-svn-id: https://develop.svn.wordpress.org/trunk@22670 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 07:20:47 +00:00
Andrew Nacin 2fb495eba6 Prevent notices when post_id is not passed to the old media upload forms. props ldebrouwer. fixes #22465.
git-svn-id: https://develop.svn.wordpress.org/trunk@22628 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-17 06:42:14 +00:00
Daryl Koopersmith f684d6abc2 Media: Make edit gallery button use new media. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22568 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-14 09:06:10 +00:00
Daryl Koopersmith 57b09463e6 Media: Add backwards compatibility for attachment_fields_to_edit and attachment_fields_to_save. see #22186.
git-svn-id: https://develop.svn.wordpress.org/trunk@22541 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-11 01:26:42 +00:00
Daryl Koopersmith 847a00f84b Media: Backwards compatibility for media_upload_tabs.
* Adds `createIframeStates()` to the `MediaFrame` view. It creates states and bindings for the `media_upload_tabs` output, and is included on `MediaFrame.Post` by default.
* Hijacks `tb_remove()` when the media modal is open to ensure the modal closes correctly.
* Adds a `chromeless` parameter to thickbox media tab URLs to render the UI without the old row of tabs.

see #22186, #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@22523 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-10 07:51:37 +00:00
Daryl Koopersmith 2189575beb Media: Add wp_enqueue_media to easily include all media dependencies.
Also, media templates now print on `wp_footer`.

props sushkov. fixes #22060, see #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@22489 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 04:57:25 +00:00
Andrew Nacin e1d08f105d Translate. see #19956.
git-svn-id: https://develop.svn.wordpress.org/trunk@22486 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 04:40:56 +00:00
Daryl Koopersmith 527d232018 Media: Rename the "Beta Media" button to "Add Media". fixes #19956, see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22485 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 04:35:38 +00:00
Andrew Nacin a95ed8d15b Put the label outside the span to ensure margins when the text wraps. props waclawjacek. fixes #19254.
git-svn-id: https://develop.svn.wordpress.org/trunk@22444 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-07 21:41:31 +00:00
Andrew Nacin 51f16233ac Only call wp_get_object_terms() if get_object_term_cache() says there is no cache (false), which is different than no terms. props wonderboymusic, fixes #16505.
git-svn-id: https://develop.svn.wordpress.org/trunk@22433 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-07 20:00:51 +00:00
Andrew Nacin 8d1e29d8b6 Stop adding title attributes to images (in the old media uploader). props martythornley. fixes #18984.
git-svn-id: https://develop.svn.wordpress.org/trunk@22409 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-06 23:23:03 +00:00
Ryan Boren 5e6ced774e Use wp_basename() instead of basename() so that multibyte characters are not stomped. Props SergeyBiryukov. fixes #21217
git-svn-id: https://develop.svn.wordpress.org/trunk@22367 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-05 14:33:56 +00:00
Ryan Boren 41697f3910 Attachment editor improvements. Put the non-editable metadata into the submit/publish box.
Props helenyhou
see #21391


git-svn-id: https://develop.svn.wordpress.org/trunk@22364 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-05 14:04:22 +00:00
Andrew Nacin a4687dac6f Pass the post date to wp_upload_dir() during sideloads, just as we do uploads. Ensures that sideloaded images make it into the right uploads directory.
props solarisssmoke, fixes #16777.



git-svn-id: https://develop.svn.wordpress.org/trunk@22105 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-03 18:49:37 +00:00
Ryan Boren 7a10f83cdd Respect ssl for the image src link in edit_form_image_editor(). see #21391
git-svn-id: https://develop.svn.wordpress.org/trunk@22093 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-01 19:51:23 +00:00
Andrew Ozz 6ffb174128 Fix "add media" icon in DFW for IE < 9, restore media-button.png, add media-button-2x.png and make them background images, see #21019
git-svn-id: https://develop.svn.wordpress.org/trunk@22077 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-28 00:33:40 +00:00
Daryl Koopersmith 1758d1aae3 Add QuickPress support for new media workflow.
* Adds the code required to include the new media scripts, styles, and settings to `media_button()`.
* Improves script dependencies, namely making `media-upload` require `media-views`.
* Some CSS tweaks for the making the new button work well with QuickPress.

see #21390, fixes #22021.


git-svn-id: https://develop.svn.wordpress.org/trunk@22072 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 20:04:34 +00:00
Andrew Nacin 513cacb398 Don't give a 'Beta Media' string to the translators that is only temporary.
git-svn-id: https://develop.svn.wordpress.org/trunk@22039 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 05:19:34 +00:00
Daryl Koopersmith 692d806fff BUTTON.
Add a "Beta Media" button to the post editor. Currently, it is only capable of inserting images. Other attachment types and galleries need not apply... yet.

* Added `wp.media.string.image( attachment, props )` for generating an image as a string from an attachment and relevant attachment display properties.
* Properly localized the gallery workflow.
* Added `Workflow.update()`, which closes the modal, triggers an `update` event, and resets the selection.
* Added `wp.mce.media` to manage the various media workflows for editors.

see #21813, #21814, #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@22036 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 04:09:43 +00:00
Andrew Nacin e82d5080b8 New HiDPI spinner. Uses clean <span class="spinner"></span> markup.
Be on the lookout for weirdness.
props lessbloat. see #21456.



git-svn-id: https://develop.svn.wordpress.org/trunk@22019 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 19:57:44 +00:00