Commit Graph

96 Commits

Author SHA1 Message Date
Joe Dolson
fa0969d06a Coding Standards: Remove unused variable el in monitorPopup.
Remove an unused variable to resolves coding standards failure. Follow up to [56651].

Props joedolson.
See #58756.

git-svn-id: https://develop.svn.wordpress.org/trunk@56653 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-21 18:02:22 +00:00
Joe Dolson
ad4a7b8879 Media: Close image rotation menu when not focused.
Implement a focus monitor so that if user focus moves away from the image rotation menu, it closes and doesn't block the image editing canvas. Follow up to [56239], [55919].

Props nithi22, deepakvijayan, dharm1025, faisal03.
Fixes #58756.

git-svn-id: https://develop.svn.wordpress.org/trunk@56652 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-21 17:47:42 +00:00
Joe Dolson
4e0e46018d Administration: Move tabindex="-1" from notice to JS.
In a handful of admin notices, a `tabindex` attribute is set so that JS can move focus to the notice `div`. Rather than adding `tabindex` to globally accepted attributes for `wp_kses_post()`, move the assignment of `tabindex` into the JS handlers that display those notices. The attribute is only relevant if JS is running, so there is no reason to add it in the original HTML notice.

Follow up to [56408], [56409], [56410], [56518], [56570], [56571], [56572], [56573], [56576], [56589], [56590], [56597], [56599], [56600], [56601].

Props costdev, joedolson.
See #57791.

git-svn-id: https://develop.svn.wordpress.org/trunk@56602 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-17 22:49:06 +00:00
SergeyBiryukov
54e1b4b959 Coding Standards: Use pre-increment/decrement for stand-alone statements.
Note: This is enforced by WPCS 3.0.0:

1. There should be no space between an increment/decrement operator and the variable it applies to.
2. Pre-increment/decrement should be favoured over post-increment/decrement for stand-alone statements. “Pre” will in/decrement and then return, “post” will return and then in/decrement. Using the “pre” version is slightly more performant and can prevent future bugs when code gets moved around.

References:
* [https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/#increment-decrement-operators WordPress PHP Coding Standards: Increment/decrement operators]
* [https://github.com/WordPress/WordPress-Coding-Standards/pull/2130 WPCS: PR #2130 Core: add sniffs to check formatting of increment/decrement operators]

Props jrf.
See #59161, #58831.

git-svn-id: https://develop.svn.wordpress.org/trunk@56549 602fd350-edb4-49c9-b593-d223f7449a82
2023-09-09 09:26:01 +00:00
Sergey Biryukov
79b01c6d81 Coding Standards: Improve variable names in wp_save_image().
This resolves a few WPCS warnings:
{{{
Variable "$sX" is not in valid snake_case format, try "$s_x"
Variable "$sY" is not in valid snake_case format, try "$s_y"
}}}

The `$sX` and `$sY` variables are renamed to `$original_width` and `$original_height`, respectively.

Additionally, the `$fwidth` and `$fheight` variables are renamed to `$full_width` and `$full_height`, for clarity.

Follow-up to [11965], [22094], [56400].

See #58831.

git-svn-id: https://develop.svn.wordpress.org/trunk@56411 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-18 10:07:25 +00:00
Sergey Biryukov
8cd9907462 Coding Standards: Use strict comparison in wp-admin/includes/image-edit.php.
Follow-up to [11911], [11965], [11984], [12155], [12163], [22094].

Props aristath, poena, afercia, SergeyBiryukov.
See #58831.

git-svn-id: https://develop.svn.wordpress.org/trunk@56400 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-16 14:03:44 +00:00
Joe Dolson
6028b6f9f8 Media: Fix height max value in image scaling.
Set the `max` attribute in the height input for image scaling to reference the image height, instead of the width. Follow up to [55919].

Props costdev, joedolson, joemcgill.
Fixes #50523.

git-svn-id: https://develop.svn.wordpress.org/trunk@56277 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-21 14:31:06 +00:00
Joe Dolson
f4d2a1593f Media: Set default state for image rotation button.
Adds `aria-expanded="false"` as default state for image rotation toggle in admin image editor. See #50523.

Props joedolson.
Fixes #58800.

git-svn-id: https://develop.svn.wordpress.org/trunk@56228 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-13 16:40:21 +00:00
John Blackbourn
a7de2a8e26 Docs: Correct the formatting of various filter documentation.
See #57840


git-svn-id: https://develop.svn.wordpress.org/trunk@56157 602fd350-edb4-49c9-b593-d223f7449a82
2023-07-07 00:34:26 +00:00
Joe Dolson
c916ebde8a Media: Remove duplicate div containers.
Follow-up to [55919]. Remove two hidden divs accidentally duplicated in patch refreshing.

Props azaozz.
Fixes #50523.

git-svn-id: https://develop.svn.wordpress.org/trunk@55936 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-18 16:09:47 +00:00
Andrew Ozz
bcb881c17f Media: Deprecate the 'edit_custom_thumbnail_sizes' filter and disable the "Apply changes to [Thumbnail|All|All except thumbnail]" UI in the image editor. Add a (boolean) filter to reenable that UI.
Props peterwilsoncc, costdev, azaozz.
See: #57685.

git-svn-id: https://develop.svn.wordpress.org/trunk@55935 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-18 14:22:40 +00:00
Joe Dolson
3a9893b7cc Media: Update admin image editor design.
Significant restructure of the admin image editor interface, but no new functionality. Reorganize editing buttons into a common region at the top of the editor. Move image rotation tools into a pop-out menu. Add 180 degree rotation option. Add scale button to control group. Move sidebar tools next to the editing canvas to improve visual proximity between action and result. Enlarge editing canvas and crop handles. Separate activating crop functions from applying crop. Add numeric inputs for crop & scale values. 

A long term goal is to move undo/redo and cancel/save into the modal title bar, but that is not feasible without significant updates to the modal framework.

Props afercia, karmatosed, nrqsnchz, antpb, chaion07, costdev, peterwilsoncc, antpb, sabernhardt, prashantbhivsane, joedolson.
Fixes #50523.

git-svn-id: https://develop.svn.wordpress.org/trunk@55919 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-14 20:40:42 +00:00
Anthony Burchell
6eda6f0825 Media: Prevent scaling up of images in the Image Editor.
Previously, when scaling an image larger than the source size in the image edit states the image would silently fail the scaling action. This patch provides an error when someone attempts to scale an image larger than the source size while also disabling the button to initiate the action. 

Props brookedot, joedolson, markoheijnen, mikeschroder, desrosj, Mista-Flo, costdev.
Fixes #26381.


git-svn-id: https://develop.svn.wordpress.org/trunk@55859 602fd350-edb4-49c9-b593-d223f7449a82
2023-05-25 15:15:45 +00:00
Sergey Biryukov
6d7430cfe1 I18N: Mark screen reader strings as such with translator comments.
This aims to provide better context for translators and make it easier to determine that some strings contain hidden accessibility text and are not displayed in the UI.

Props kebbet, mercime, pavelevap, ocean90, swissspidy, Chouby, jipmoors, afercia, desrosj, costdev, audrasjb, SergeyBiryukov.
Fixes #29748.

git-svn-id: https://develop.svn.wordpress.org/trunk@55276 602fd350-edb4-49c9-b593-d223f7449a82
2023-02-07 17:08:26 +00:00
Joe Dolson
4c81af47fa Media: Remove meta data after restoring w/IMAGE_EDIT_OVERWRITE.
When IMAGE_EDIT_OVERWRITE is defined as true the meta field `_wp_attachment_backup_sizes` is deleted after an image is restored.
 
Props mitogh, jeawhanlee, robinwpdeveloper, iapial.
Fixes #55150.

git-svn-id: https://develop.svn.wordpress.org/trunk@55180 602fd350-edb4-49c9-b593-d223f7449a82
2023-02-01 20:29:56 +00:00
Sergey Biryukov
e50c65caf4 Coding Standards: Always use parentheses when instantiating an object.
Note: This will be enforced by WPCS 3.0.0.

Props jrf.
See #56791.

git-svn-id: https://develop.svn.wordpress.org/trunk@54891 602fd350-edb4-49c9-b593-d223f7449a82
2022-11-29 15:49:49 +00:00
David Baumwald
3b3d7ebb71 Media: Revert WebP generation.
Given [https://make.wordpress.org/core/2022/09/11/webp-in-core-for-6-1/ Matt's recent post about removing WebP from core] and possibly implementing the feature in a future [https://make.wordpress.org/core/2022/09/11/canonical-plugins-revisited/ "Canonical Plugin"], this change reverts changesets [54086], [54094], and [54097].  Additionally, [54210] contained a coding standards follow-up in one of the affected files that is no longer needed.

Reverts [54086], [54094], and [54097].

Props SergeyBiryukov.
See #55443.

git-svn-id: https://develop.svn.wordpress.org/trunk@54226 602fd350-edb4-49c9-b593-d223f7449a82
2022-09-19 22:51:53 +00:00
Adam Silverstein
3099698d7b Media: Output WebP by default when uploading JPEGs.
Uploaded JPEGs will automatically be converted to WebP sub-sizes instead of JPEG, saving space and making sites faster.

The original JPEG upload is always retained and can be accessed by calling `wp_get_original_image_url`.

Props azaozz, flixos90.
Fixes #55443.



git-svn-id: https://develop.svn.wordpress.org/trunk@54086 602fd350-edb4-49c9-b593-d223f7449a82
2022-09-06 21:13:17 +00:00
Sergey Biryukov
d27deea511 Docs: Correct the return type for wp_save_image_file().
Since WordPress 3.5, `wp_save_image_file()` uses `WP_Image_Editor` classes under the hood to save the images.

While the `save()` method in those instances returns `array|WP_Error` and is documented as such, the return type of the `wp_save_image_file()` function was still left as `bool`.

A better solution would be to adjust the function to return the documented boolean type. However, doing that after 20+ major WP releases would be a backward compatibility break, so the documentation is now updated instead.

Includes:
* Documenting the returned array using hash notation.
* Adding a `@since` note for the `$image` parameter expecting a `WP_Image_Editor` instance.
* Adding a `@since` note for the `$filesize` value being included in the returned array.

Follow-up to [22094], [22619], [52837].

Props jrf, SergeyBiryukov.
See #55646.

git-svn-id: https://develop.svn.wordpress.org/trunk@53546 602fd350-edb4-49c9-b593-d223f7449a82
2022-06-21 11:13:17 +00:00
John Blackbourn
1cffa3f82b Docs: Various docblock corrections and improvements for changes introduced in 6.0.
See #54729


git-svn-id: https://develop.svn.wordpress.org/trunk@53302 602fd350-edb4-49c9-b593-d223f7449a82
2022-04-28 09:57:51 +00:00
Joe Dolson
2dca5e0bb3 Media: Enable edits to custom image sizes.
Add a filter `edit_custom_thumbnail_sizes` to allow users to enable editing individual custom image sizes.

Props silb3r, joedolson, costdev.
Fixes #28277.

git-svn-id: https://develop.svn.wordpress.org/trunk@53161 602fd350-edb4-49c9-b593-d223f7449a82
2022-04-12 16:14:01 +00:00
Sergey Biryukov
d7da5878ad Docs: Correct description for the $image parameter of the wp_save_image_file filter.
Follow-up to [27357], [48798], [51302].

See #53399.

git-svn-id: https://develop.svn.wordpress.org/trunk@51303 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-02 07:10:29 +00:00
John Blackbourn
077504e755 Docs: Further type corrections and improvements for various docblocks.
See #53399


git-svn-id: https://develop.svn.wordpress.org/trunk@51302 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-01 22:01:44 +00:00
Sergey Biryukov
d3c8a93cad Administration: Consistently escape admin_url() links.
Props chintan1896, mukesh27.
Fixes #53426.

git-svn-id: https://develop.svn.wordpress.org/trunk@51177 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-17 14:35:59 +00:00
Adam Silverstein
6a5ff5aa03 Images: enable WebP support.
Add support for uploading, editing and saving WebP images when supported by the server.

Add 'image/webp' to supported mime types. Correctly identify WebP images and sizes even when PHP doesn't support WebP. Resize uploaded WebP files (when supported) and use for front end markup.

Props markoheijne, blobfolio, Clorith, joemcgill, atjn, desrosj, spacedmonkey, marylauc, mikeschroder, hellofromtonya, flixos90.
Fixes #35725.



git-svn-id: https://develop.svn.wordpress.org/trunk@50810 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-04 14:43:36 +00:00
Sergey Biryukov
89e6e2d31e Coding Standards: Add missing semicolon to some endif keywords.
See #52627.

git-svn-id: https://develop.svn.wordpress.org/trunk@50560 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-21 13:03:14 +00:00
John Blackbourn
679ccc35e6 Docs: Promote many bool types to true or false where only that value is used.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49927 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 22:02:13 +00:00
Sergey Biryukov
79703088c4 General: Replace older-style PHP type conversion functions with type casts.
This improves performance, readability, and consistency throughout core.

* `intval()` → `(int)`
* `strval()` → `(string)`
* `floatval()` → `(float)`

Props ayeshrajans.
Fixes #42918.

git-svn-id: https://develop.svn.wordpress.org/trunk@49108 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-08 21:13:57 +00:00
Sergey Biryukov
cbaa88cb5a Code Modernization: Introduce is_gd_image() to check for PHP 8 GdImage object instances.
In PHP 8, the GD extension uses `GdImage` objects instead of resources for its underlying data structures.

This updates the existing `is_resource()` calls for image resources in core to accomodate for `GdImage` instances as well.

Props ayeshrajans, jrf.
Fixes #50833.

git-svn-id: https://develop.svn.wordpress.org/trunk@48798 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-16 13:31:57 +00:00
Andrea Fercia
ab3ce946c9 Accessibility: Media: Improve accessibility of the status and error messages in the Image Editor.
- improves focus management by moving focus to the notices, if any, or to the first "tabbable" element
- this avoids a focus loss and helps Braille-only and screen magnification users to be aware of the messages
- adds an ARIA role `alert` to all the notices 
- uses `wp.a11y.speak()` to announce messages to assistive technology
- this way, all visual users will see the messages while assistive technology users will get an audible message
- uses `wp.i18n` for translatable strings in `wp-admin/js/image-edit.js`

Props anevins, ryanshoover, antpb, SergeyBiryukov, afercia.
See #20491.
Fixes #47147.


git-svn-id: https://develop.svn.wordpress.org/trunk@48375 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-07 13:43:43 +00:00
Andrea Fercia
f3f7b77522 Accessibility: Media: Fix the Image Editor mismatching keyboard focus order and visual reading order.
Swaps the DOM order of the two main columns within the admin Image Editor.

When the sequence in which content is presented affects its meaning and the navigation sequences affect meaning or operation, visual order and DOM order must match. See WCAG 2.1 Success Criterion 1.3.2 Meaningful Sequence and Success Criterion 2.4.3 Focus Order.

Props sabernhardt, anevins, audrasjb, afercia.
Fixes #47136.


git-svn-id: https://develop.svn.wordpress.org/trunk@48265 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-01 14:27:18 +00:00
Sergey Biryukov
e65d19b9ed Coding Standards: Reformat some long apply_filters_deprecated() and do_action_deprecated() calls for better readability.
See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@48167 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-25 12:04:05 +00:00
Sergey Biryukov
6742d0d7a6 Coding Standards: Use strict comparison where static strings are involved.
This reduces the number of `WordPress.PHP.StrictComparisons.LooseComparison` issues in half, from 1897 to 890.

Includes minor code layout fixes for better readability.

See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@47808 602fd350-edb4-49c9-b593-d223f7449a82
2020-05-16 18:40:52 +00:00
John Blackbourn
78a6e4febb Docs: Use more specific types in parameter descriptions in place of mixed.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47397 602fd350-edb4-49c9-b593-d223f7449a82
2020-03-01 10:36:38 +00:00
Andrea Fercia
5133f6b779 Accessibility: Improve readability by removing unnecessary italic font style.
Per Web Content Accessibility Guidelines 2.0, big chunks of italic text should be avoided.
Same applies to UI controls, since they're meant to be comfortably readable by the largest possible audience, e.g.: label elements.

Removes italic font style from:
- the Quick Edit / Bulk Edit forms
- the Recovery Mode plugin error details
- the Image Editor inline help

Props birgire, audrasjb, SergeyBiryukov, melchoyce, estelaris, sabernhardt, xkon, nrqsnchz, afercia.
See #47327.


git-svn-id: https://develop.svn.wordpress.org/trunk@47304 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-18 15:30:10 +00:00
Sergey Biryukov
130751cda3 Coding Standards: Use Yoda conditions where appropriate.
See #49222.

git-svn-id: https://develop.svn.wordpress.org/trunk@47219 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-09 16:52:28 +00:00
Sergey Biryukov
89dc54ee0c Docs: Improve comments in some wp-admin files per the documentation standards.
Props passoniate.
Fixes #49215, #49216.

git-svn-id: https://develop.svn.wordpress.org/trunk@47084 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-18 00:52:28 +00:00
Sergey Biryukov
9b38bca65f Docs: Improve documentation for wp_save_image_file() and related functions.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47065 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-12 16:54:56 +00:00
Sergey Biryukov
c9a366e857 Docs: Fix typo in _crop_image_resource() DocBlock.
Props mukesh27.
Fixes #49103.

git-svn-id: https://develop.svn.wordpress.org/trunk@47024 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-31 12:32:19 +00:00
Sergey Biryukov
36994ef153 Coding Standards: Fix WPCS issue in [46684].
See #48255.

git-svn-id: https://develop.svn.wordpress.org/trunk@46687 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-09 13:31:07 +00:00
Sergey Biryukov
26dec96b21 Docs: Use the {@see ...} tag for the replacement in @deprecated tags, so that Developer Reference could automatically link to the replacement.
Props jrf.
See #48255.

git-svn-id: https://develop.svn.wordpress.org/trunk@46685 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-09 13:03:02 +00:00
Sergey Biryukov
ae2ebb8b18 Coding Standards: Consistently use do_action_deprecated() and apply_filters_deprecated() for deprecated hooks.
Props jrf.
See #48255.

git-svn-id: https://develop.svn.wordpress.org/trunk@46684 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-09 12:57:27 +00:00
Anthony Burchell
4b152de517 Media: Prevents clipping of text when scaling image edit screen.
This reapplies [46354] clean as the previous commit had remnants of an unrelated patch.

Props sabernhardt, audrasjb, afercia.
See #47115.


git-svn-id: https://develop.svn.wordpress.org/trunk@46359 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-30 17:55:07 +00:00
Anthony Burchell
48564fa823 Media: Revert [46354] preventing bad clipping of text in image details page.
See #47115.


git-svn-id: https://develop.svn.wordpress.org/trunk@46355 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-30 17:11:14 +00:00
Anthony Burchell
32b7a5e076 Media: Prevents clipping of text when scaling image edit screen.
Props sabernhardt, audrasjb, afercia.
See #47115.


git-svn-id: https://develop.svn.wordpress.org/trunk@46354 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-30 16:33:39 +00:00
Andrea Fercia
d6770e5c61 Accessibility: Media: Make the Image Editor buttons text visible.
User interface controls that use only icons aren't ideal for many users. 

Universal icons are rare. Icons must communicate meaning but their actual meaning varies depending on many factors including the users cultural background.
Moreover, users with cognitive impairments and speech recognition users need interface controls with visible text to be able to operate them.

- shortens some of the buttons text to: Rotate left, Rotate right, Flip vertical, Flip horizontal
- moves the Undo and Redo buttons underneath the main buttons group

Props nrqsnchz, melchoyce, karmatosed, sabernhardt, mikeschroder.
Fixes #47116.


git-svn-id: https://develop.svn.wordpress.org/trunk@46326 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-26 17:15:34 +00:00
Sergey Biryukov
00b03f2a6f I18N: Capitalize translator comments consistently, add trailing punctuation.
Includes minor code layout fixes.

See #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45932 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-03 00:39:13 +00:00
Sergey Biryukov
a7513ac8e0 I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.

Includes minor code layout fixes.

Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!

Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45926 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-01 17:12:43 +00:00
Sergey Biryukov
6bee5769cb Coding Standards: Remove extra whitespace in wp-admin/includes/image-edit.php.
See #47632.

git-svn-id: https://develop.svn.wordpress.org/trunk@45616 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-09 21:04:41 +00:00
Sergey Biryukov
9ed8e4189a I18N: Move code out of translatable string in a _deprecated_argument() message in wp_stream_image(), wp_save_image_file(), and image_edit_apply_changes().
Props ramiy.
Fixes #47406.

git-svn-id: https://develop.svn.wordpress.org/trunk@45615 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-09 20:56:37 +00:00