Commit Graph

39409 Commits

Author SHA1 Message Date
Felix Arntz 82be24c885 Multisite: Do not prime site meta caches unless necessary.
Props spacedmonkey.
Fixes #46357. See #46167.


git-svn-id: https://develop.svn.wordpress.org/trunk@44926 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-18 15:55:25 +00:00
Felix Arntz cab8d7df1a Multisite: Ensure site meta caches are not primed unless the `wp_blogmeta` table is available.
Prior to this change, querying sites early in the bootstrap process could potentially cause a fatal error, since at that stage the filter to bail on updating site meta cache if the respective database table has not been installed yet is not hooked in yet. This changeset forces the filter to be added if that is not already the case.

Props spacedmonkey.
Fixes #46167.


git-svn-id: https://develop.svn.wordpress.org/trunk@44925 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-18 15:47:36 +00:00
Andrea Fercia 01b2c8e34b Accessibility: Improve the Comments and Privacy count text.
- standardizes the Comment count string to `%s Comment in moderation', '%s Comments in moderation` so it can be bulk-updated
- adds the string as visually hidden text in the admin menu 
- introduces an `updateInModerationText` JS simple function, responsible to correctly update all the related text using the data from the AJAX response
- adds a visually hidden text "1 Privacy Policy update" to the Privacy menu items count
- adds/improves translators comments

Changes that apply to all the count bubbles (Updates, plugins, etc.)
- makes the bubbles and their text slightly bigger
- improves the active menu item bubble contrast by changing the background color to red (option 2 in the screenshot attached in a previous comment)

Props adamsoucie, afercia.
Fixes #33030.


git-svn-id: https://develop.svn.wordpress.org/trunk@44924 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-18 15:21:17 +00:00
Sergey Biryukov 6d2f78d9ba Docs: Add missing article in `setExpectedDeprecated()` DocBlock.
See #46543.

git-svn-id: https://develop.svn.wordpress.org/trunk@44923 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-17 13:10:44 +00:00
Sergey Biryukov aaf266db42 Docs: Correct `@param` name in `setExpectedIncorrectUsage()` DocBlock.
Props yoavf.
Fixes #46546.

git-svn-id: https://develop.svn.wordpress.org/trunk@44922 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-17 12:22:10 +00:00
Sergey Biryukov b3a5279e91 Docs: Improve documentation for `wp_die()` handlers.
See #46543.

git-svn-id: https://develop.svn.wordpress.org/trunk@44921 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-17 01:44:20 +00:00
Sergey Biryukov 93da02db7f Docs: Correct grammar in PemFTP description.
Props umang7.
Fixes #46507.

git-svn-id: https://develop.svn.wordpress.org/trunk@44920 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-17 01:19:54 +00:00
Sergey Biryukov ee3552aaf6 Docs: Use 3-digit, x.x.x style semantic versioning for `@since 2.5.0` entries in `wp-admin/includes/class-ftp.php`.
Missed in [26868].

Props mukesh27.
See #46507.

git-svn-id: https://develop.svn.wordpress.org/trunk@44919 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-17 01:17:33 +00:00
Andrea Fercia eeb57f67c4 Accessibility: Login: Display error messages when both the username and password fields are empty.
For accessibility and usability, if an input error is detected, the item that is in error needs to be identified and the error needs to be described to the user in text (WCAG Success Criterion 3.3.1). The login form displays an error when the username field is empty or when the password field is empty. It omits to do so when both fields are empty.

This change restores the login form behavior to the one that used to work in WordPress 2.3 (!) and displays the related error messages also when both fields are empty.

Props birgire, audrasjb.
See #8938, #5405, #3708.
Fixes #42985.


git-svn-id: https://develop.svn.wordpress.org/trunk@44918 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-16 15:21:25 +00:00
Peter Wilson 13bb9c5ef4 Cron: Ensure identical single events aren't scheduled less than 10min apart.
Improves the logic in `wp_schedule_single_event()` to ensure an identical event is not scheduled within ten minutes.

This moves the logic for checking for identical events to be self contained rather than relying on `wp_next_scheduled()` as this fails to account for events with a past timestamp when wp-cron fails to trigger or for multiple identical events being scheduled already.

Props bodohugobarwich.
Fixes #44818.



git-svn-id: https://develop.svn.wordpress.org/trunk@44917 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-16 06:41:23 +00:00
Sergey Biryukov 7be4aabff6 Coding Standards: Minor code and performance improvements in `phpunit/includes/abstract-testcase.php`.
Props andizer.
Fixes #46500.

git-svn-id: https://develop.svn.wordpress.org/trunk@44916 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 22:13:30 +00:00
Sergey Biryukov 98e2fcf4fc Build/Test Tools: Add missing access modifiers in `phpunit/includes/wp-profiler.php`.
Props andizer.
Fixes #46505.

git-svn-id: https://develop.svn.wordpress.org/trunk@44915 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 21:58:01 +00:00
Sergey Biryukov bea05b4a41 Coding Standards: Use strict comparison in `WP_Post` where possible.
Props andizer.
Fixes #46508.

git-svn-id: https://develop.svn.wordpress.org/trunk@44914 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 21:54:29 +00:00
Andrew Ozz 353bfb5e7a TinyMCE: fix the TinyMCE help modal keyboard shortcut on Mac for the classic editor and classic block.
Fixes #45791.

git-svn-id: https://develop.svn.wordpress.org/trunk@44913 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 21:42:48 +00:00
Jonathan Desrosiers 02d3de004c Networks and Sites: Introduce `populate_site_meta` filter.
The `populate_site_meta` filter can be used to modify the site meta added during the creation of a new site. This filter mirrors the approach used for networks in `populate_network_meta`.

Props spacedmonkey, davidbaumwald.
Fixes #46437.

git-svn-id: https://develop.svn.wordpress.org/trunk@44912 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 19:42:40 +00:00
Andrew Ozz d5820a5324 TinyMCE: remove the reference to `skin.min.css.map` from `skin.min.css`. Fixes an unneeded 404 request.
Fixes #46533.

git-svn-id: https://develop.svn.wordpress.org/trunk@44911 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 19:31:42 +00:00
Jonathan Desrosiers 4db5347299 Privacy: Do not attempt to cleanup personal data export files when the directory does not exist.
Checking for the presence of the directory and returning early prevents PHP warnings when attempting to list files in a non-existent directory.

Props arena, garrett-eclipse.
Fixes #45136.

git-svn-id: https://develop.svn.wordpress.org/trunk@44910 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 18:59:14 +00:00
Jonathan Desrosiers 152e9d2b8f Privacy: Add unit tests for exporting and erasing personal data.
Props birgire, garrett-eclipse, desrosj.
Fixes #43438.

git-svn-id: https://develop.svn.wordpress.org/trunk@44909 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 18:07:09 +00:00
Jonathan Desrosiers 40ff06c083 Privacy: Improve data export/erasure error messages and translator comments.
These changes address inaccuracies in current messages and makes them more informative.

Props birgire, garrett-eclipse, desrosj.
See #43438.

git-svn-id: https://develop.svn.wordpress.org/trunk@44908 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 18:06:08 +00:00
Jonathan Desrosiers 18a251d065 Embeds: Allow post title to be filtered when preparing an oEmbed response.
By changing the way the post title is added to the array of data from `$post->post_title` to `get_the_title()`, the title can now be modified using the `the_title` filter. This ensures post titles returned in oEmbed responses are consistent with those that show on a site.

Props mheikkila, swissspidy.
Fixes #42826.

git-svn-id: https://develop.svn.wordpress.org/trunk@44907 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 16:41:53 +00:00
Jonathan Desrosiers b66ae2b4c1 Privacy: Allow new requests to be created after a user’s existing one has been completed.
When dealing with personal data exports and erasure requests, it is important to have a log of all the requests for a specific person. This is often required to confirm when and how many times requests were completed and fulfilled properly. 

This change allows a new request to be created after a previous data request has reached completed status (`request-completed`) instead of requiring admins to delete or re-initiate the existing request. The latter approach removes the historical log of requests for that user when creating a new request.

Full unit tests for the `wp_create_user_request()` function are also included.

Props garrett-eclipse, cc0a, birgire, desrosj.
Fixes #44707.

git-svn-id: https://develop.svn.wordpress.org/trunk@44906 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 16:26:55 +00:00
Andrea Fercia 28714c42bd Accessibility: Improve the semantics of "tabs" that are not real ARIA tabs.
Some "visual tabs" in the WordPress admin used links wrapped in a `h2` heading. While these tabs look like ARIA tabs, they're just navigation menus and should be marked-up as such to be correctly exposed to assistive technologies.
- changes the wrapping `<h2>` to a `<nav>` element: worth reminding `<nav>` elements also define ARIA landmarks
- adds an `aria-label` to the `<nav>` elements so they can be distinguished from other `<nav>` elements in the page
- adjusts the headings level in the Credits page

Props audrasjb, afercia.
Fixes #43398.


git-svn-id: https://develop.svn.wordpress.org/trunk@44905 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 14:53:18 +00:00
Sergey Biryukov 04a9083709 PHPCS: Remove extra space added in [44902].
See #46499.

git-svn-id: https://develop.svn.wordpress.org/trunk@44904 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 14:27:07 +00:00
Sergey Biryukov 1bfa9370f7 Build/Test Tools: Add missing access modifiers to factory classes in `phpunit/includes/factory`.
Props andizer.
Fixes #46504.

git-svn-id: https://develop.svn.wordpress.org/trunk@44903 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 12:15:08 +00:00
Sergey Biryukov 981ed3fbc6 Docs: Improve documentation for `phpunit/includes/abstract-testcase.php`.
Props andizer.
Fixes #46499.

git-svn-id: https://develop.svn.wordpress.org/trunk@44902 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 12:01:15 +00:00
Sergey Biryukov 5e04716bfe Docs: Remove unnecessary `@see` tag in `wpdb::prepare()`.
The tag is only necessary for hooks. For functions and methods, autolinking is handled automatically on developer.wordpress.org.

Props mbelchev, ocean90, johannadevos.
Fixes #44585. See #45204.

git-svn-id: https://develop.svn.wordpress.org/trunk@44901 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 11:17:57 +00:00
Andrea Fercia 026abd4bc6 Accessibility: improve the "URL" and "Alt text" fields in the media modals.
Many users found the attachment URL field confusing: it says "URL" so it may appear like a field meant to paste a URL into.
Also, the Alt text field is the most important one in terms of content, while the Title field needs to be de-emphasized.

- changes the URL field label to "Copy link"
- moves the alt text field to the top as first field 
- avoids to set initial focus on the alt text field 
- adds an explanatory text with a link pointing to the W3C "alt decision tree" tutorial 
- adds `aria-describedby` to target the explanatory text
- adjusts the CSS accordingly
- updates the QUnit index.html file

Props melchoyce, audrasjb, afercia.
Fixes #41612.


git-svn-id: https://develop.svn.wordpress.org/trunk@44900 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 10:42:35 +00:00
Sergey Biryukov d52e37ea5e Acessibility: Remove `title` attribute in `login_header()`.
* Deprecate `login_headertitle` filter, introduce `login_headertext` as a replacement.
* For backwards compatibility, if a `login_headertitle` is set, it will be used as link text.
* Make the login header logo URL and text consistent between single site and Multisite.
* Avoid ambiguity of where the WordPress logo points to; link to WordPress.org by default.
* `login_headerurl` filter is still available to change the URL of the header logo.

Props afercia, pratikkry, chetan200891.
Fixes #42537.

git-svn-id: https://develop.svn.wordpress.org/trunk@44899 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-14 21:09:47 +00:00
Sergey Biryukov 8ba2c45029 Docs: Add a `@since` tag for the new `$selected` parameter of `get_archives_link()`.
See #40662.

git-svn-id: https://develop.svn.wordpress.org/trunk@44898 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-14 19:36:44 +00:00
Sergey Biryukov 9265ff8a2f Widgets: Pre-select currently viewed archive in the Archives dropdown widget, for consistency with the Categories widget.
Props robobot3000, audrasjb, afercia, Themonic.
Fixes #40662.

git-svn-id: https://develop.svn.wordpress.org/trunk@44897 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-14 19:30:59 +00:00
Andrea Fercia 45faac902d Accessibility: Improve the placeholder "prompt" text in the post title and Quick Draft widget.
Old browsers didn't support the HTML placeholder attribute. For a number of years, `<label>` elements have been used in a few places in WordPress to emulate placeholders. It's time to improve semantics and interaction, use real placeholders when possible, and clean up some JavaScript.

- Quick Draft widget: it now uses visible `<label>` elements and a real `placeholder` attribute 
- removes the related JavaScript
- Post title:
  - keeps the "prompt" label for backwards compatibility
  - improves the JavaScript to make the "prompt" label stay visible on focus and disappear when typing, like real placeholder do
- changes the post "prompt" text from "Enter title here" to "Add title" for consistency with the Block Editor 
- cleans-up some CSS

Props Cheffheid, afercia.
Fixes #42390.


git-svn-id: https://develop.svn.wordpress.org/trunk@44896 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-14 17:38:36 +00:00
Andrea Fercia cdca702477 Accessibility: Improve the password form buttons accessibility.
- makes the "Cancel" button always visible: this allows to generate a new password also on small screens
- moves focus back to the Generate Password button when closing the form
- changes the password reset show/hide button from a clickable `<span>` element to a real `<button>` element
- improves the CSS

Props janak007, afercia.
Fixes #42853.


git-svn-id: https://develop.svn.wordpress.org/trunk@44895 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-13 23:36:45 +00:00
Jonathan Desrosiers 4a7b41e6cf Docs: Correct various spelling mistakes.
Props man4toman.
Fixes #46339.

git-svn-id: https://develop.svn.wordpress.org/trunk@44894 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-13 19:31:49 +00:00
Sergey Biryukov c43e43a7ce PHPCS: Fix errors introduced in [44833].
git-svn-id: https://develop.svn.wordpress.org/trunk@44858 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-12 22:55:33 +00:00
Sergey Biryukov bb281f9bd3 Comments: Improve comment content filtering.
git-svn-id: https://develop.svn.wordpress.org/trunk@44842 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-12 22:29:46 +00:00
Sergey Biryukov 4a0e3f009d Formatting: Improve `rel="nofollow"` handling in comments.
git-svn-id: https://develop.svn.wordpress.org/trunk@44833 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-12 22:14:14 +00:00
Andrew Ozz da7b514926 TinyMCE: fix editor height when loaded hidden.
Props nnikolov, azaozz.
Fixes #45461.

git-svn-id: https://develop.svn.wordpress.org/trunk@44832 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-12 20:13:14 +00:00
Dominik Schilling e6442466f9 I18N: Add `$domain` argument to `translate_user_role()`.
The text domain is optional and gets passed to `translate_with_gettext_context()`.

Props johnjamesjacoby	.
Fixes #38736.

git-svn-id: https://develop.svn.wordpress.org/trunk@44830 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-11 20:31:46 +00:00
Jonathan Desrosiers ecfc9872d7 General: Add missing `@since` annotation for `wp_get_direct_php_update_url()`.
Missed in [44815].

Props birgire.
See #46074.

git-svn-id: https://develop.svn.wordpress.org/trunk@44829 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-11 12:58:28 +00:00
Sergey Biryukov ae5940dd25 Bootstrap/Load: Add `nocache_headers()` to all `wp_die()` handlers.
Props spacedmonkey.
Fixes #46054.

git-svn-id: https://develop.svn.wordpress.org/trunk@44828 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-11 11:46:41 +00:00
Sergey Biryukov cba9eda1f4 Database: Use `wp_die()` instead of `die()` in `dead_db()`, for more flexibility and consistency with other error messages in core.
Props gitlost.
Fixes #41655.

git-svn-id: https://develop.svn.wordpress.org/trunk@44827 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-11 11:30:18 +00:00
Sergey Biryukov 56e7d96070 Docs: Improve wording in a comment in `wp_set_current_user()`.
Props nielsdeblaauw.
Fixes #45032.

git-svn-id: https://develop.svn.wordpress.org/trunk@44826 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-11 10:56:39 +00:00
Andrea Fercia 2e6ce4195b Accessibility: Customize: Improve the widgets search and the widget Remove button.
- debounces the widgets search to avoid multiple `speak()` audible messages while typing: search results and messages are now triggered when users stop typing
- clarifies the Remove button title attribute
- removes a couple unnecessary `preventDefault()`

Props davetgreen, afercia.
Fixes #28888.


git-svn-id: https://develop.svn.wordpress.org/trunk@44825 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-09 12:55:12 +00:00
Jonathan Desrosiers 1615233fa2 Privacy: Be less restrictive of the HTML tags allowed in user data exports.
Previously, only `a` and `br` tags were allowed in the `value` table cell for each field included in the HTML file generated when a user is exporting their personal data. Instead of relying on a hardcoded list of allowed tags, the `wp_kses()` call in `wp_privacy_generate_personal_data_export_group_html()` will now fallback to the default list of allowed tags (which includes `i`, `strong`, `em`, and other basic HTML formatting tags).

Also, a new context of `personal_data_export` will now be passed to the `wp_kses()` call. As a result, the list of HTML tags and attributes allowed in the export file can now be filtered using the `wp_kses_allowed_html` filter and checking for the `personal_data_export` context.

Fixes #44044.
Props tz-media, desrosj, pento, birgire, garrett-eclipse.

git-svn-id: https://develop.svn.wordpress.org/trunk@44824 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-08 22:04:50 +00:00
Jonathan Desrosiers a71fece6b8 Built/Test Tools: Add missing access modifiers to `abstract-testcase.php`.
Fixes #46384.
Props andizer.

git-svn-id: https://develop.svn.wordpress.org/trunk@44823 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-08 20:51:32 +00:00
Boone Gorges 3f60af4bcc Taxonomy: Introduce `post_column_taxonomy_links`.
This filter allows plugin developers to modify the markup for the links
in taxonomy columns on edit.php.

Props DaveFX.
Fixes #42669.

git-svn-id: https://develop.svn.wordpress.org/trunk@44822 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-08 15:36:04 +00:00
Jonathan Desrosiers e10f419b3c Privacy: Add missing header text for screen readers to privacy list tables.
In [34891], `WP_Screen` was updated with methods to store, retrieve, and render screen reader text used by screens with `WP_List_Table` instances. When the export/erase personal data list tables were introduced in [42967], these headings were missing.

Fixes #46041.
Props afercia, xkon, garrett-eclipse, desrosj.

git-svn-id: https://develop.svn.wordpress.org/trunk@44821 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-08 15:24:22 +00:00
allancole 315616aa5e Twenty Nineteen: Improve custom color behavior for InnerBlocks
Currently, if a parent block has a custom background color assigned, its child blocks will inherit the parent's text colors — even if the child block has its own custom text color assigned to it. 

This update changes the following: 

- Adjusts Twenty Nineteen's custom background color defaults to target direct children only which fixes the issue

Props kjellr.

See #46432.



git-svn-id: https://develop.svn.wordpress.org/trunk@44818 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-07 22:36:58 +00:00
Jonathan Desrosiers 0f618b4f30 Widgets: Remove `change` event when editing a Custom HTML widget.
The `change` event was previously required to ensure that the Customizer picked detected changes to the widget’s content and synced them to the preview. In the current state, though, the `trigger( ‘change’ )` is no longer required and is causing issues with the widget’s “Done” and “Save” buttons.

Fixes #45335.
Props audrasjb, afercia, westonruter.

git-svn-id: https://develop.svn.wordpress.org/trunk@44816 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-07 22:25:55 +00:00
Jonathan Desrosiers 8ae4796288 General: Add a way to specify a direct link for a user to update PHP.
A direct URL to where a user can update PHP for their website can now be specified in one of two ways:

- Defining the `WP_DIRECT_UPDATE_PHP_URL` environment variable.
- Returning a URL to the `wp_direct_php_update_url` filter.

When a URL is specified, an additional “Update PHP” button will be displayed at the bottom of the Core dashboard widget informing administrators that their site is running an outdated version of PHP (see [42832]).

Fixes #46074.
Props afragen, desrosj, lukecarbis.

git-svn-id: https://develop.svn.wordpress.org/trunk@44814 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-07 21:31:50 +00:00