Commit Graph

2968 Commits

Author SHA1 Message Date
Andrew Ozz
9945849317 Site health: fix usage of max_execution_time. When PHP is run from the cli the default is 0.
Fixes #46645.

git-svn-id: https://develop.svn.wordpress.org/trunk@45111 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-04 21:53:45 +00:00
Jonathan Desrosiers
af60a3c2bf Site Health: Ensure the user locale is listed in debug information.
This change switches to using `get_user_locale()` when adding the language to the Site Health debug information to ensure the user’s locale preference is reflected.

Also, `function_exists()` checks for `switch_to_locale()` and `restore_previous_locale()` were required in the plugin to support older versions of WordPress, but they are not required in core/

Props: Clorith, desrosj.
Fixes #46694.

git-svn-id: https://develop.svn.wordpress.org/trunk@45110 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-04 21:23:29 +00:00
Sergey Biryukov
a0ca5afd89 Site Health: Use wp_get_upload_dir() instead of wp_upload_dir(), remove duplicate call.
Props m_uysl.
Fixes #46729.

git-svn-id: https://develop.svn.wordpress.org/trunk@45108 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-03 11:19:53 +00:00
Sergey Biryukov
681edf04bc Site Health: Use correct property for database-related messages.
Props mukesh27, birgire.
Fixes #46783.

git-svn-id: https://develop.svn.wordpress.org/trunk@45107 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-03 11:00:06 +00:00
Sergey Biryukov
c8913b375e PHPCS: Fix WPCS violations in [45104].
See #46645.

git-svn-id: https://develop.svn.wordpress.org/trunk@45106 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-03 02:13:31 +00:00
Sergey Biryukov
fa0ad447c8 Site Health: Use a consistent verbiage for the suggestion to remove inactive plugins and themes.
Props garrett-eclipse, marybaum, Clorith.
Fixes #46735.

git-svn-id: https://develop.svn.wordpress.org/trunk@45105 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-03 02:00:56 +00:00
Andrew Ozz
d5d4979921 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@45104 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 23:32:31 +00:00
Sergey Biryukov
3b7028104b Site Health: Use an established pattern for numbered placeholders in translator comments in WP_Debug_Data.
See #46683.

git-svn-id: https://develop.svn.wordpress.org/trunk@45102 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 22:17:18 +00:00
Sergey Biryukov
b3a625fdf1 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@45099 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 21:31:43 +00:00
Sergey Biryukov
e4a0f2dcab Docs: Fix typo in a comment in unzip_file().
Props mukesh27.
Fixes #46766.

git-svn-id: https://develop.svn.wordpress.org/trunk@45098 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 13:33:47 +00:00
Sergey Biryukov
fbf73bc8de Site Health: Add missing i18n for Security and Performance badge labels.
Props iworks.
Fixes #46755. See #46683.

git-svn-id: https://develop.svn.wordpress.org/trunk@45095 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 10:07:36 +00:00
Sergey Biryukov
adfe5e271b Docs: Fix more typos in WP_Site_Health DocBlocks.
See #46753.

git-svn-id: https://develop.svn.wordpress.org/trunk@45094 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 20:29:52 +00:00
Sergey Biryukov
302233dd11 Docs: Fix typos in WP_Site_Health DocBlocks.
Props mukesh27.
Fixes #46753.

git-svn-id: https://develop.svn.wordpress.org/trunk@45093 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 20:22:42 +00:00
Sergey Biryukov
421da58d8e Docs: Add missing @since tag for WP_Site_Health::get_test_php_extensions().
Props mukesh27.
Fixes #46752.

git-svn-id: https://develop.svn.wordpress.org/trunk@45092 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 20:16:54 +00:00
Sergey Biryukov
19ef699ec5 Docs: Improve documentation for get_plugin_page_hook() and get_plugin_page_hookname().
Props subrataemfluence, desrosj.
Fixes #44224.

git-svn-id: https://develop.svn.wordpress.org/trunk@45085 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 14:08:01 +00:00
Sergey Biryukov
0592027157 PHPCS: Fix WPCS violation in [45082].
See #42223.

git-svn-id: https://develop.svn.wordpress.org/trunk@45084 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 13:29:24 +00:00
Sergey Biryukov
63b70b892b Docs: Improve documentation for postbox_classes().
Rename `$page` and `$id` variables to `$screen_id` and `$box_id` for clarity.

Props sharifkiberu, DrewAPicture.
Fixes #45179.

git-svn-id: https://develop.svn.wordpress.org/trunk@45083 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 12:46:04 +00:00
Sergey Biryukov
6abcd97c8c I18N: Merge similar strings about allowed space allocation in Multisite.
Props ramiy, Jonathandejong, pento.
Fixes #42223.

git-svn-id: https://develop.svn.wordpress.org/trunk@45082 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 12:23:54 +00:00
Sergey Biryukov
f6dadb3738 Themes: Link to an updated documentation on child themes on developer.wordpress.org, instead of Codex.
Props man4toman.
See #46450.

git-svn-id: https://develop.svn.wordpress.org/trunk@45080 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 11:54:23 +00:00
Sergey Biryukov
a795928e3b Site Health: If WP_DEBUG_LOG contains a file path, display it on Site Info tab.
Props xkon, knutsp, ocean90.
Fixes #46692.

git-svn-id: https://develop.svn.wordpress.org/trunk@45079 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 01:25:06 +00:00
Sergey Biryukov
0b63b69688 Site Health: Simplify the checks for constants that are always defined by default.
Props xkon.
Fixes #46738.

git-svn-id: https://develop.svn.wordpress.org/trunk@45078 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 00:09:09 +00:00
Sergey Biryukov
74211739fe Docs: Fix typos in site_status_tests filter DocBlock.
Props kraftbj.
Fixes #46727.

git-svn-id: https://develop.svn.wordpress.org/trunk@45073 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-30 10:58:00 +00:00
Sergey Biryukov
87d4d0ae92 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@45062 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 21:28:37 +00:00
Sergey Biryukov
aae789324f Site Health: Add description for a successful HTTPS check.
Props Clorith, xkon.
Fixes #46617.

git-svn-id: https://develop.svn.wordpress.org/trunk@45052 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 16:14:03 +00:00
Sergey Biryukov
b45b58c6b6 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@45049 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 14:30:12 +00:00
Gary Pendergast
e1f54c7db9 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@45046 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 23:05:00 +00:00
Gary Pendergast
1ab6f67ef5 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@45044 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 22:30:26 +00:00
Sergey Biryukov
43c28f913c 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@45043 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 22:10:37 +00:00
Sergey Biryukov
b2f0f4d2db Taxonomy: Initialize $noparents variable in wp_ajax_add_tag() to avoid a notice with compact() in PHP 7.3.
Props pilou69.
Fixes #46670.

git-svn-id: https://develop.svn.wordpress.org/trunk@45034 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 15:32:11 +00:00
Sergey Biryukov
368cd01fa7 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@45030 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 14:02:47 +00:00
Sergey Biryukov
a8e61bfa86 Plugins: Use correct singular for "Drop-in" in plugins list table.
Props tobifjellner, mukesh27.
Fixes #46592.

git-svn-id: https://develop.svn.wordpress.org/trunk@45021 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 23:59:39 +00:00
Sergey Biryukov
448ed1adfc 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44987 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-23 10:53:20 +00:00
Gary Pendergast
dad6b61cfb 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@44986 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-23 03:54:16 +00:00
Sergey Biryukov
96922900c5 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44981 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 12:59:02 +00:00
Sergey Biryukov
d69b5eb713 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44980 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 01:07:51 +00:00
Sergey Biryukov
0e1d2b42ef PHPCS: Fix WPCS violations in [44978].
See #43992.

git-svn-id: https://develop.svn.wordpress.org/trunk@44979 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 00:59:25 +00:00
Sergey Biryukov
1586c43c8d 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44978 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 00:36:30 +00:00
Jonathan Desrosiers
f170c1dd31 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44977 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 23:54:05 +00:00
Sergey Biryukov
531d83a2f0 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44976 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 22:23:00 +00:00
Sergey Biryukov
fa0190bcb1 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44975 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 22:01:42 +00:00
Felix Arntz
1f3912e9bf Bootstrap/Load: Introduce a recovery mode for fixing fatal errors.
Using the new fatal handler introduced in [44962], an email is sent to the admin when a fatal error occurs. This email includes a secret link to enter recovery mode. When clicked, the link will be validated and on success a cookie will be placed on the client, enabling recovery mode for that user. This functionality is executed early before plugins and themes are loaded, in order to be unaffected by potential fatal errors these might be causing.

When in recovery mode, broken plugins and themes will be paused for that client, so that they are able to access the admin backend despite of these errors. They are notified about the broken extensions and the errors caused, and can then decide whether they would like to temporarily deactivate the extension or fix the problem and resume the extension.

A link in the admin bar allows the client to exit recovery mode.

Props timothyblynjacobs, afragen, flixos90, nerrad, miss_jwo, schlessera, spacedmonkey, swissspidy.
Fixes #46130, #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44973 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 21:52:07 +00:00
Sergey Biryukov
65bd3654cc Privacy: Introduce Privacy Policy page helpers:
* `is_privacy_policy()` template tag
* `privacy-policy.php` template
* `.privacy-policy` body class
* `.menu-item-privacy-policy` menu item class

Props garrett-eclipse, birgire, xkon, Clorith.
Fixes #44005.

git-svn-id: https://develop.svn.wordpress.org/trunk@44966 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 19:47:29 +00:00
Andrea Fercia
9a129eec78 Upgrade/Install: Add missing opening curly bracket after [44513].
Props WebFactory.
Fixes #46563.


git-svn-id: https://develop.svn.wordpress.org/trunk@44964 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 18:02:53 +00:00
Sergey Biryukov
1d41c6e787 Accessibility: Remove post format filter links from format icons in the Posts list table.
Introduce a dedicated 'Formats' drop-down filter as a replacement.

Keep the icons as a simple visual indicator of the post format for now.

Props afercia, melchoyce, GaryJ, chiaralovelaces, SergeyBiryukov.
Fixes #35497.

git-svn-id: https://develop.svn.wordpress.org/trunk@44961 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 15:30:52 +00:00
Jonathan Desrosiers
689ba4eec6 Posts, Post Types: Add type parameter to post_exists().
This allows post exists checks scoped to a specific post type.

Props sgarza, birgire, swissspidy.
Fixes #37406.

git-svn-id: https://develop.svn.wordpress.org/trunk@44959 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 12:43:48 +00:00
Alex Shiels
2976cfb7ca Upgrade/Install: Add experimental package signing to some updates.
This adds code for soft verification of signatures for theme and plugin installs and updates, when provided by the update server. This experimental version does not reject unverified packages or failed signatures; it simply reports anonymous errors so we can evaluate its feasibility and detect incompatibilities.

This code relies on the new sodium_compat library for PHP versions prior to 7.2.

Props dd32, paragoninitiativeenterprises.
See #39309, #45806.


git-svn-id: https://develop.svn.wordpress.org/trunk@44954 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 05:48:46 +00:00
Andrew Duthie
b71bd7a05f Scripts: Assign api-fetch nonce with corrected rest_nonce.
As of `@wordpress/api-fetch@3.0.0` (introduced in 44812), the `apiFetch` nonce middleware must have its nonce value assigned explicitly, and will no longer listen for heartbeat ticks automatically. This changeset adds an inline script for the default registration of the `api-fetch` script handle to assign the nonce value in response to the heartbeat action. In doing so, it removes the now-unused, misnamed `rest-nonce` property from the heartbeat response, whose original introduction served as temporary compatibility with earlier versions of `@wordpress/api-fetch`.

See https://github.com/WordPress/gutenberg/pull/13451
See #45113

Props adamsilverstein, nerrad .
Fixes #46107 .


git-svn-id: https://develop.svn.wordpress.org/trunk@44949 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-20 20:52:08 +00:00
Dominik Schilling
17146f7192 Meta Boxes: Use a unique name for the nonce of the meta box loader.
Fixes a case where saving in the block editor fails if there are two `_wpnonce` arguments in the request, one overriding the other so that `use_block_editor_for_post()` wasn't able to check the nonce properly.

Props Chouby.
See #45253.

git-svn-id: https://develop.svn.wordpress.org/trunk@44938 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-20 08:11:05 +00:00
Jonathan Desrosiers
97bb59d939 Plugins: Block plugin updates if required PHP version is not supported.
When a plugin states it requires a specific minimum PHP version (as defined in the `requires_php` field included in the plugin update API response), a user should not be allowed to update that plugin when the server does not satisfy the minimum PHP version.

When this scenario is encountered, the update buttons and links are disabled and links to educational resources about PHP are displayed to the user with a notice.

Props afragen, schlessera, desrosj.
Fixes #43987. 

git-svn-id: https://develop.svn.wordpress.org/trunk@44937 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-20 01:43:05 +00:00
Jonathan Desrosiers
1b97ea1fcf General: Prevent nested paragraph tags when displaying PHP update annotations.
This change utilizes the new parameters accepted by `wp_update_php_annotation()` introduced in [44935] to prevent nested `<p>` tags when displaying the PHP update annotation.

Props afragen, desrosj.
Fixes #46269.

git-svn-id: https://develop.svn.wordpress.org/trunk@44936 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-19 20:40:02 +00:00