Commit Graph

17446 Commits

Author SHA1 Message Date
Andrew Ozz 2cdc22aded Site health:
- Prevent fatal errors from timeouts on the Tools => Site Health => Info tab.
- Use the `get_dirsize()` and `recurse_dirsize()` functions to calculate directory sizes. The results are cached.
- Introduce "timeout protection" in `recurse_dirsize()`.

Props pento, Clorith, xkon, afercia, jeremyfelt, azaozz.
Fixes #46645.
Built from https://develop.svn.wordpress.org/trunk@45104


git-svn-id: http://core.svn.wordpress.org/trunk@44913 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-02 23:33:53 +00:00
Sergey Biryukov 0c92764023 Site Health: Use an established pattern for numbered placeholders in translator comments in `WP_Debug_Data`.
See #46683.
Built from https://develop.svn.wordpress.org/trunk@45102


git-svn-id: http://core.svn.wordpress.org/trunk@44911 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-02 22:18:52 +00:00
Sergey Biryukov f7357d3957 Site Health: i18n audit, take 1.
* Split plural strings with multiple sentences to avoid duplicating translations.
* Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings.
* Use an established pattern for numbered placeholders in translator comments.
* Replace constants in translatable strings with placeholders, mark them as code.
* Make sure sentences are translated as a whole, not as separate string parts.
* Remove unnecessary context and escaping.

Props ocean90, SergeyBiryukov.
See #46683.
Built from https://develop.svn.wordpress.org/trunk@45099


git-svn-id: http://core.svn.wordpress.org/trunk@44908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-02 21:32:53 +00:00
Sergey Biryukov 5291f46c8a Docs: Fix typo in a comment in `unzip_file()`.
Props mukesh27.
Fixes #46766.
Built from https://develop.svn.wordpress.org/trunk@45098


git-svn-id: http://core.svn.wordpress.org/trunk@44907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-02 13:34:53 +00:00
Sergey Biryukov 474f57e0fa Site Health: Add missing i18n for Security and Performance badge labels.
Props iworks.
Fixes #46755. See #46683.
Built from https://develop.svn.wordpress.org/trunk@45095


git-svn-id: http://core.svn.wordpress.org/trunk@44904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-02 10:08:56 +00:00
Sergey Biryukov ccbf084609 Docs: Fix more typos in `WP_Site_Health` DocBlocks.
See #46753.
Built from https://develop.svn.wordpress.org/trunk@45094


git-svn-id: http://core.svn.wordpress.org/trunk@44903 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 20:30:52 +00:00
Sergey Biryukov 12a2bf946a Docs: Fix typos in `WP_Site_Health` DocBlocks.
Props mukesh27.
Fixes #46753.
Built from https://develop.svn.wordpress.org/trunk@45093


git-svn-id: http://core.svn.wordpress.org/trunk@44902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 20:23:50 +00:00
Sergey Biryukov 9c8e9354b1 Docs: Add missing `@since` tag for `WP_Site_Health::get_test_php_extensions()`.
Props mukesh27.
Fixes #46752.
Built from https://develop.svn.wordpress.org/trunk@45092


git-svn-id: http://core.svn.wordpress.org/trunk@44901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 20:17:54 +00:00
Andrea Fercia 83546a04f5 Administration: Site Health: reserve some space for the admin notices.
Props xkon, Clorith, hedgefield, mapk, karmatosed, afercia.
Fixes #46651.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 18:01:52 +00:00
Andrea Fercia d8b8994336 Accessibility: Improve the Site Health accordions.
- removes the definition list and uses the markup from the ARIA Authoring Practices example
- removes incorrect ARIA roles
- avoids ARIA landmark regions proliferation

Props mukesh27 for the initial patch.
Fixes #46714.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44896 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 15:08:58 +00:00
Sergey Biryukov 0aedea9470 Docs: Improve documentation for `get_plugin_page_hook()` and `get_plugin_page_hookname()`.
Props subrataemfluence, desrosj.
Fixes #44224.
Built from https://develop.svn.wordpress.org/trunk@45085


git-svn-id: http://core.svn.wordpress.org/trunk@44894 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 14:09:52 +00:00
Sergey Biryukov 06d8f376ea PHPCS: Fix WPCS violation in [45082].
See #42223.
Built from https://develop.svn.wordpress.org/trunk@45084


git-svn-id: http://core.svn.wordpress.org/trunk@44893 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 13:30:52 +00:00
Sergey Biryukov 733ec3da48 Docs: Improve documentation for `postbox_classes()`.
Rename `$page` and `$id` variables to `$screen_id` and `$box_id` for clarity.

Props sharifkiberu, DrewAPicture.
Fixes #45179.
Built from https://develop.svn.wordpress.org/trunk@45083


git-svn-id: http://core.svn.wordpress.org/trunk@44892 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 12:47:51 +00:00
Sergey Biryukov 2f5b5baa07 I18N: Merge similar strings about allowed space allocation in Multisite.
Props ramiy, Jonathandejong, pento.
Fixes #42223.
Built from https://develop.svn.wordpress.org/trunk@45082


git-svn-id: http://core.svn.wordpress.org/trunk@44891 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 12:24:51 +00:00
Sergey Biryukov de95fac19c Themes: Link to an updated documentation on child themes on developer.wordpress.org, instead of Codex.
Props man4toman.
See #46450.
Built from https://develop.svn.wordpress.org/trunk@45080


git-svn-id: http://core.svn.wordpress.org/trunk@44889 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 11:55:52 +00:00
Sergey Biryukov 5cca79f806 Site Health: If `WP_DEBUG_LOG` contains a file path, display it on Site Info tab.
Props xkon, knutsp, ocean90.
Fixes #46692.
Built from https://develop.svn.wordpress.org/trunk@45079


git-svn-id: http://core.svn.wordpress.org/trunk@44888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 01:26:51 +00:00
Sergey Biryukov c241c16846 Site Health: Simplify the checks for constants that are always defined by default.
Props xkon.
Fixes #46738.
Built from https://develop.svn.wordpress.org/trunk@45078


git-svn-id: http://core.svn.wordpress.org/trunk@44887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 00:10:53 +00:00
Andrea Fercia 61628dbd8b Administration: Display a notice in the Site Health pages when JavaScript is off.
- displays an error notice when JavaScript is off, consistently with other admin screens that depend on JavaScript
- keeps the main `h1` visible

Minor clean-ups:
- makes code indentation consistent in `site-health.php` and `site-health-info.php`
- removes a couple of `<div class="wp-clearfix"></div>` as that's not the intended usage of `wp-clearfix` (those divs didn't do anything anyways)

Fixes #46717.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44885 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-30 15:38:51 +00:00
Andrea Fercia 2737a54374 Accessibility: Make sure the Site Health layout tables are correctly linearized.
Adds `role="presentation"` to the `<table>` elements used in the Site Health reports.

Ideally, HTML tables should be used for tabular data. When tables are used for layout purposes, it's important to remove any native semantics so that assistive technologies can correctly announce the table content in a linearized fashion.

Props chetan200891.
Fixes #46725.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44884 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-30 14:42:51 +00:00
Andrea Fercia fdda9ca9dd Coding Standards: Improve the Site Health CSS for small screens.
Amends #45071.
See #46685.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-30 14:09:51 +00:00
Sergey Biryukov 44602b5ed9 Docs: Fix typos in `site_status_tests` filter DocBlock.
Props kraftbj.
Fixes #46727.
Built from https://develop.svn.wordpress.org/trunk@45073


git-svn-id: http://core.svn.wordpress.org/trunk@44882 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-30 10:58:52 +00:00
Andrea Fercia 0942dfc6d4 Administration: Improve the CSS for the Site Health pages header.
Avoids the Site Health pages header layout to break when the Hello Dolly plugin or other floated content is printed out at the top of the page.

Props xkon.
Fixes #46650.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-29 18:55:50 +00:00
Andrea Fercia 2a99454732 Coding Standards: Clean up the Site Health stylesheet.
- reduces selectors specificity to avoid over-qualified selectors
- removes unused rulesets / properties
- renames some CSS classes

Fixes #46685.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44880 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-29 18:44:51 +00:00
Andrea Fercia d56f81fe45 Accessibility: Make sure the Site Health pages have a unique document title.
The document `<title>` gives a name to a web document. In the context of the WordPress admin, a unique, meaningful, title is important for various reasons:
- it allows browser's history to store meaningful entries 
- when multiple browser's tabs are open, it allows users to better identify the tab content 
- it's the first thing screen readers announce when navigating to a web page, thus helping users to identify the nature of the page content

Props chetan200891, mukesh27.
Fixes #46699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44879 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-29 18:27:51 +00:00
Andrea Fercia 9f09fcb1c2 Accessibility: Remove arrows navigation from the Site Health accordions.
Arrows navigation on accordions is an optional keyboard interaction feature mentioned in the WAI-ARIA Authoring Practices. While it can add some value in some specific cases, it's not so discoverable and it's unlikely users, including assistive technologies users, would really "expect" this kind of interaction.

See #46573.
Fixes #46682.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-29 11:27:51 +00:00
Sergey Biryukov 02983a458d Site Health: Add missing `<ul>` tags for lists on Site Info page.
Props mukesh27, chetan200891, afercia.
Fixes #46693.
Built from https://develop.svn.wordpress.org/trunk@45068


git-svn-id: http://core.svn.wordpress.org/trunk@44877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-29 11:14:51 +00:00
Sergey Biryukov 10409c0f7c Privacy: Ensure the personal data export email is sent in the locale of the user whose data is being exported (or the site's default locale if they are not a registered user) when the administrator fulfilling the request uses a different locale.
Props garrett-eclipse.
Fixes #46056.
Built from https://develop.svn.wordpress.org/trunk@45062


git-svn-id: http://core.svn.wordpress.org/trunk@44871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-28 21:29:50 +00:00
Sergey Biryukov a2577854e6 Site Health: Declare `ClipboardJS` global to fix JSHint issue.
See #46647.
Built from https://develop.svn.wordpress.org/trunk@45055


git-svn-id: http://core.svn.wordpress.org/trunk@44864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-28 18:38:51 +00:00
Sergey Biryukov 774ac73a1f CSS Coding Standards: Use unitless values for `line-height` in `wp-admin/css/widgets.css`.
Props ianbelanger, audrasjb.
Fixes #46531. See #44643.
Built from https://develop.svn.wordpress.org/trunk@45053


git-svn-id: http://core.svn.wordpress.org/trunk@44862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-28 16:39:51 +00:00
Sergey Biryukov a02494a80f Site Health: Add description for a successful HTTPS check.
Props Clorith, xkon.
Fixes #46617.
Built from https://develop.svn.wordpress.org/trunk@45052


git-svn-id: http://core.svn.wordpress.org/trunk@44861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-28 16:15:51 +00:00
Sergey Biryukov e2115d62b6 Site Health: Use a consistent wording and response code for capability checks.
Props mukesh27 for initial patch.
Fixes #46691.
Built from https://develop.svn.wordpress.org/trunk@45050


git-svn-id: http://core.svn.wordpress.org/trunk@44859 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-28 15:11:51 +00:00
Sergey Biryukov d69165bd3b Site Health: Correct `wp_version_check()` existence verification by performing a request to the Site Health page instead of Dashboard.
Props Clorith, audrasjb.
Fixes #46616.
Built from https://develop.svn.wordpress.org/trunk@45049


git-svn-id: http://core.svn.wordpress.org/trunk@44858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-28 14:31:51 +00:00
Gary Pendergast 0a4d431e11 Upgrades: Allow upgrades to proceed when a soft failure occurs on package signatures.
In particular, this allows downgrading from WordPress 5.2 to 5.1.1, if sites wish to opt out of the beta.

Props dd32.
See #46615.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44855 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 23:05:54 +00:00
Gary Pendergast 65f7cdbce0 Site Health: Improve the "Copy to clipboard" button.
The previous method for copying the debug report to the clipboard involved having a hidden `<textarea>`, but this shows up in screen readers and can't be reliably hidden.

To work around this, the button now uses the `clipboard.js` library, which automatically handles browser differences in the Clipboard API, and can load the text to copy from a `data-` attribute on the button.

Props pento, hedgefield, afercia.
Fixes #46647.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44853 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 22:31:52 +00:00
Sergey Biryukov 179c2ea230 Plugins: Disable "Update Now" button for plugins that require a higher version of PHP or WordPress.
This complements disabling the "Install Now" button in [43436].

Props afragen.
Fixes #46677. See #43986.
Built from https://develop.svn.wordpress.org/trunk@45043


git-svn-id: http://core.svn.wordpress.org/trunk@44852 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 22:11:53 +00:00
Andrea Fercia 9b15549b1c Accessibility: Simplify the Site Health score indicator.
The Site Health score indicator isn't exactly a "progress bar" and shouldn't use ARIA roles and properties related to progress bars. Also, some browser / screen reader combinations don't announce the score properly.
- removes any ARIA
- adds a screen-reader-text "Current health score:"
- adds `role="img" aria-hidden="true" focusable="false"` to the SVG
- reduces CSS specificity simplifying unnecessary overqualified selectors
- fixes the syntax for ::after and ::before (double colon)

Fixes #46621.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44850 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 20:39:51 +00:00
Sergey Biryukov 7807324652 Taxonomy: Initialize `$noparents` variable in `wp_ajax_add_tag()` to avoid a notice with `compact()` in PHP 7.3.
Props pilou69.
Fixes #46670.
Built from https://develop.svn.wordpress.org/trunk@45034


git-svn-id: http://core.svn.wordpress.org/trunk@44843 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 15:33:52 +00:00
Sergey Biryukov b2e3f517e1 Database: Use `wp_die()` instead of `die()` in `wp_check_mysql_version()`, for more flexibility and consistency with other error messages in core.
Props spacedmonkey.
Fixes #45975.
Built from https://develop.svn.wordpress.org/trunk@45030


git-svn-id: http://core.svn.wordpress.org/trunk@44839 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 14:03:51 +00:00
Sergey Biryukov 6be19e0dab Site Health: Update "Passed tests" button label to match both expanded and collapsed state.
Add `aria-controls` to declare what ID is being toggled.

Props Clorith, afercia.
Fixes #46663. See #46573.
Built from https://develop.svn.wordpress.org/trunk@45026


git-svn-id: http://core.svn.wordpress.org/trunk@44835 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 02:57:51 +00:00
Sergey Biryukov 6037e5ab5e Plugins: Use correct singular for "Drop-in" in plugins list table.
Props tobifjellner, mukesh27.
Fixes #46592.
Built from https://develop.svn.wordpress.org/trunk@45021


git-svn-id: http://core.svn.wordpress.org/trunk@44830 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 00:00:50 +00:00
Andrea Fercia a668866f05 Admin: Site Health JavaScript minor clean-up.
See #46573.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44819 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-23 16:39:52 +00:00
Sergey Biryukov 8ea4da0826 Privacy: Update default privacy policy text to match the current behavior of setting a temporary cookie on visiting the login page.
Props mechter, subrataemfluence, garrett-eclipse.
Fixes #44175.
Built from https://develop.svn.wordpress.org/trunk@44987


git-svn-id: http://core.svn.wordpress.org/trunk@44818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-23 10:54:53 +00:00
Gary Pendergast 0a9d61ab63 Admin: Introduce the Site Health screens.
The Site Health tool serves two purposes:
- Provide site owners with information to improve the performance, reliability, and security of their site.
- Collect comprehensive debug information about the site.

By encouraging site owners to maintain their site and adhere to modern best practices, we ultimately improve the software hygeine of both the WordPress ecosystem, and the open internet as a whole.

Props Clorith, hedgefield, melchoyce, xkon, karmatosed, jordesign, earnjam, ianbelanger, wpscholar, desrosj, pedromendonca, peterbooker, jcastaneda, garyj, soean, pento, timothyblynjacobs, zodiac1978, dgroddick, garrett-eclipse, netweb, tobifjellner, pixolin, afercia, joedolson, birgire.
See #46573.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-23 03:55:53 +00:00
Sergey Biryukov 50bb3c689f Plugins: Remove `wp_is_wp_compatible()` and `wp_is_php_compatible()` functions added in [44978] for now, to discuss use cases and better naming.
See #46599, #43992.
Built from https://develop.svn.wordpress.org/trunk@44981


git-svn-id: http://core.svn.wordpress.org/trunk@44812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 13:00:52 +00:00
Sergey Biryukov 79e9aa9ed6 Plugins: Use `<em>` instead of `<span>` for PHP annotation in `wp_plugin_update_row()`, for consistency with other instances.
Props afragen.
Fixes #46598. See #43987.
Built from https://develop.svn.wordpress.org/trunk@44980


git-svn-id: http://core.svn.wordpress.org/trunk@44811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 01:08:51 +00:00
Sergey Biryukov 8954465943 PHPCS: Fix WPCS violations in [44978].
See #43992.
Built from https://develop.svn.wordpress.org/trunk@44979


git-svn-id: http://core.svn.wordpress.org/trunk@44810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 01:00:52 +00:00
Sergey Biryukov 75a3e484ec Plugins: Block plugin activation if it requires a higher version of PHP or WordPress.
Introduce `validate_plugin_requirements()` for validating a plugin's WordPress and PHP version requirements.

Introduce `wp_is_wp_compatible()` and `wp_is_php_compatible()` for checking compatibility with the current WordPress or PHP version.

Props afragen, joyously, DrewAPicture, TimothyBlynJacobs, desrosj, flixos90, SergeyBiryukov.
See #43992.
Built from https://develop.svn.wordpress.org/trunk@44978


git-svn-id: http://core.svn.wordpress.org/trunk@44809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 00:37:50 +00:00
desrosj 36af5473be Networks and Sites: Introduce the `ms_user_list_site_class` filter.
In the network admin user table on multisite installs (`WP_MS_Users_List_Table`), this filter allows the classes for the `<span>` tag surrounding each site link to be modified.

Props kraftbj, flixos90, johnjamesjacoby.
Fixes #41146.
Built from https://develop.svn.wordpress.org/trunk@44977


git-svn-id: http://core.svn.wordpress.org/trunk@44808 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 23:55:51 +00:00
Sergey Biryukov 8dcd3a09a8 I18N: Move the strings for default user roles to `wp-includes/capabilities.php`, to make the translations available on the front end as well.
Props keraweb, ocean90.
Fixes #37539.
Built from https://develop.svn.wordpress.org/trunk@44976


git-svn-id: http://core.svn.wordpress.org/trunk@44807 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 22:23:52 +00:00
Sergey Biryukov 30491f2410 Customize: Add a link to theme reviews in the theme details modal in the Customizer and on Add Themes screen.
Props celloexpressions, Travel_girl, Ixium, marco-peralta, dd32.
Fixes #36612.
Built from https://develop.svn.wordpress.org/trunk@44975


git-svn-id: http://core.svn.wordpress.org/trunk@44806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 22:02:51 +00:00