Commit Graph

26493 Commits

Author SHA1 Message Date
Sergey Biryukov
d5f198676b Plugins: In wp_update_php_annotation(), only display the annotation and the surrounding tags if it's not empty.
Props afragen.
Fixes #46678.
Built from https://develop.svn.wordpress.org/trunk@45045


git-svn-id: http://core.svn.wordpress.org/trunk@44854 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 22:37:51 +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
Adam Silverstein
418afaa938 Bundled Theme: trigger a new wp_body_open action immediately after the opening body tag.
* Enables inserting (asynchronous) JavaScript right after the opening `body` tag.
* Add a `wp_body_open` helper function that triggers the `wp_body_open` action.
* Call `wp_body_open` in core themes immediately after the opening `body` tag.

Props joostdevalk, valendesigns, nacin, saracup, jorbin, mikeschinkel, jonnybojangles, lgedeon, Willscrlt, Denis-de-Bernardy, lexiqueen, sky_76, welcher, westonruter, ramiy, joyously.
Fixes #12563.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44851 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 21:59:52 +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
desrosj
f9de2f860d Administration: Fix Dashicon backwards compatibility issues.
In [44940], the Dashicon files in core were updated to contain the latest version of the font from the GitHub repo. This change follows that up by fixing several backwards compatibility issues caused by the new build process used to generate the font files and fixes the missing menu icon when viewing the admin on small screens.

- `buddicons-bbpress-logo (f12b)` was moved back to the correct location of `f477`.
- `editor-ltr (f129)` was moved back to the correct location of `f10c`.
- `email-alt2 (f10a)` was moved to the correct location of `f467`. 

The following icons were restored to their previous locations:

- `camera-alt (f129)`
- `edit-large (f327)`
- `editor-distractionfree (f211)`
- `update-alt (f113)`
- `twitter-alt (f302)`
- `text-page (f121)`
- `plugins-checked (f485)`
- `menu-alt3 (f349)`
- `menu-alt2 (f329)`
- `menu-alt (f228)`
- Duplicate lock icon at location `f315`
- Duplicate `editor-code` icon at location `f494`
- `arrow-up` at `f143`.

The `editor-ltr` and `editor-rtl` icons had also been switched. The arrows now point in the correct directions at the correct Unicode locations (`f10c` and `f320` respectively).

And, lastly, this change also introduces the `code-standards (f13a)` icon that was not included in the previous build.

Props afercia, earnjam, oztaser, joen, cathibosco1, ianbelanger, desrosj.
See #41074.
Fixes #46611.
Built from https://develop.svn.wordpress.org/trunk@45040


git-svn-id: http://core.svn.wordpress.org/trunk@44849 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 19:59:52 +00:00
Sergey Biryukov
b6a145ccb5 Privacy: Ensure the privacy data erase fulfillment email is sent in the locale of the user whose data is being erased (or the site's default locale if they are not a registered user) when the administrator fulfilling the request uses a different locale.
Props desrosj, birgire, garrett-eclipse.
Fixes #44721.
Built from https://develop.svn.wordpress.org/trunk@45039


git-svn-id: http://core.svn.wordpress.org/trunk@44848 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 19:41:53 +00:00
Andrea Fercia
7bedcf0bee Accessibility: Improve the "Alt text" description.
Moves the word "Describe" within the link.

Amends [44900].
See #41612.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44847 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 18:47:51 +00:00
John Blackbourn
8190f1f0f8 Docs: Correct the documentation for the oEmbed HTML filtering.
See #46543

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


git-svn-id: http://core.svn.wordpress.org/trunk@44846 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 17:14:52 +00:00
John Blackbourn
c155b2a833 Docs: Improve the documentation for metadata related filter parameters.
See #46543

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


git-svn-id: http://core.svn.wordpress.org/trunk@44845 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 17:10:53 +00:00
John Blackbourn
9e67ba895d Docs: Correct some documentation typos.
See #46543

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


git-svn-id: http://core.svn.wordpress.org/trunk@44844 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 17:09:52 +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
06bb67be06 Docs: Correct back-compat reference to $excluded_categories in get_adjacent_post().
See #46543, #17673.
Built from https://develop.svn.wordpress.org/trunk@45033


git-svn-id: http://core.svn.wordpress.org/trunk@44842 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 14:45:51 +00:00
Sergey Biryukov
8633d837ee Twenty Nineteen: Update Theme URI to point to the Theme Directory instead of the archived GitHub repository.
Props dimadin.
Fixes #46668.
Built from https://develop.svn.wordpress.org/trunk@45032


git-svn-id: http://core.svn.wordpress.org/trunk@44841 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 14:32:51 +00:00
Sergey Biryukov
0416de3294 General: Pass $pagenum argument to get_pagenum_link filter.
Props dimadin.
Fixes #46667.
Built from https://develop.svn.wordpress.org/trunk@45031


git-svn-id: http://core.svn.wordpress.org/trunk@44840 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 14:24: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
577dc2326a Bootstrap/Load: Restore $wp_version global check in WP_Locale::init(), previously replaced with get_bloginfo( 'version' ) in [38459].
`wp_load_translations_early()` can be called in contexts where `get_bloginfo()` is not available yet, e.g. in `wp_check_php_mysql_versions()`.

Props shazdeh, parsmizban.
Fixes #41092.
Built from https://develop.svn.wordpress.org/trunk@45029


git-svn-id: http://core.svn.wordpress.org/trunk@44838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 13:27:52 +00:00
Sergey Biryukov
d4d906c4d5 Themes: Remove itemprop="url" from get_custom_logo() output.
Making incorrect assumptions about microdata used in a theme results in invalid markup.

The attribute can still be added using the `get_custom_logo` or `wp_get_attachment_image_attributes` filter, but it should not be added by default.

Props henry.wright, tfrommen, afercia, markcallen, zodiac1978.
Fixes #37305.
Built from https://develop.svn.wordpress.org/trunk@45028


git-svn-id: http://core.svn.wordpress.org/trunk@44837 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 12:16:53 +00:00
Sergey Biryukov
6e2fb402e1 Build/Test Tools: Enable persistent object cache on a PHP 7.3 build instead of PHP 5.6.
Props netweb, johnbillion.
Fixes #46633.
Built from https://develop.svn.wordpress.org/trunk@45027


git-svn-id: http://core.svn.wordpress.org/trunk@44836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 03:06: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
ada13d2ffd PHPCS: Fix WPCS violations in [45023].
See #46620.
Built from https://develop.svn.wordpress.org/trunk@45025


git-svn-id: http://core.svn.wordpress.org/trunk@44834 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 00:36:50 +00:00
Sergey Biryukov
f8cfe858c9 Embeds: Scribd: Add support for /document/ URL format, in addition to /doc/.
Props manzoorwani.jk, neobabis, swissspidy.
Fixes #46444.
Built from https://develop.svn.wordpress.org/trunk@45024


git-svn-id: http://core.svn.wordpress.org/trunk@44833 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 00:34:52 +00:00
Sergey Biryukov
455dccbc00 Bootstrap/Load: In fatal error handler, pass the error information through to error template and associated filters: wp_php_error_message, wp_php_error_args.
This allows the custom error handler and default error message filters to inspect the error and perform logic based on its properties.

Props johnbillion.
Fixes #46620.
Built from https://develop.svn.wordpress.org/trunk@45023


git-svn-id: http://core.svn.wordpress.org/trunk@44832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 00:16:51 +00:00
Sergey Biryukov
b4ded564ff PHPCS: Remove extra tab added in [45019].
See #45974.
Built from https://develop.svn.wordpress.org/trunk@45022


git-svn-id: http://core.svn.wordpress.org/trunk@44831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 00:03: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
Sergey Biryukov
a5f0cd8741 Build/Test Tools: Display an error message with a recommendation to run grunt build when trying to run WordPress core tests without the /build/ directory.
Props davidbaumwald.
Fixes #46593.
Built from https://develop.svn.wordpress.org/trunk@45020


git-svn-id: http://core.svn.wordpress.org/trunk@44829 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 23:53:52 +00:00
Sergey Biryukov
3e5c258b74 Bootstrap/Load: Use wp_die() instead of hardcoded HTML in wp_maintenance(), so the output can be filtered by plugins.
Props spacedmonkey.
Fixes #45974.
Built from https://develop.svn.wordpress.org/trunk@45019


git-svn-id: http://core.svn.wordpress.org/trunk@44828 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 23:39:51 +00:00
Sergey Biryukov
f6b6dc7e73 Docs: Fix typo in wp_is_xml_request() description.
See #46026.
Built from https://develop.svn.wordpress.org/trunk@45018


git-svn-id: http://core.svn.wordpress.org/trunk@44827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 23:21:51 +00:00
Sergey Biryukov
65b1cbfd45 Docs: Improve documentation for wp_die() handlers after [45015] and [45016].
See #46543, #46025, #46026.
Built from https://develop.svn.wordpress.org/trunk@45017


git-svn-id: http://core.svn.wordpress.org/trunk@44826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 23:18:53 +00:00
Sergey Biryukov
546841949f Bootstrap/Load: Add support for XML requests to wp_die().
In addition to AJAX, XML-RPC, JSON, and JSONP requests, `wp_die()` now handles XML requests correctly, returning information in the expected content type.

Props spacedmonkey, birgire.
Fixes #46026. See #44458.
Built from https://develop.svn.wordpress.org/trunk@45016


git-svn-id: http://core.svn.wordpress.org/trunk@44825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 23:11:52 +00:00
Sergey Biryukov
4101255505 Bootstrap/Load: Add support for JSONP requests to wp_die().
In addition to AJAX, XML-RPC, and JSON requests, `wp_die()` now handles JSONP requests correctly, returning information in the expected content type.

Props spacedmonkey, TimothyBlynJacobs.
Fixes #46025. See #44458.
Built from https://develop.svn.wordpress.org/trunk@45015


git-svn-id: http://core.svn.wordpress.org/trunk@44824 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 22:26:52 +00:00
Sergey Biryukov
3f6a9eb0e3 Bootstrap/Load: Always run the fatal error handler at shutdown, but don't display the PHP error template once headers are sent.
If a fatal error occurs midway through a page load, or in a REST API request, it still needs to be handled internally for the recovery mode, but the custom message may conflict with already rendered output, e.g. by displaying HTML markup in an XML or JSON request.

Props spacedmonkey, flixos90, TimothyBlynJacobs.
Fixes #45989. See #44458.
Built from https://develop.svn.wordpress.org/trunk@45014


git-svn-id: http://core.svn.wordpress.org/trunk@44823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-26 20:30:53 +00:00
John Blackbourn
6b6201ed89 Build/Test tools: Reinstate fast finishing on Travis CI.
This allows for speedier feedback for breaking changes and ongoing failures.

See #46634

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


git-svn-id: http://core.svn.wordpress.org/trunk@44821 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-25 16:08:50 +00:00
John Blackbourn
d4d5a04075 Build/Test tools: Switch npm dependency caching strategy on Travis CI.
This switches to caching npm's local cache instead of `node_modules` in order to prevent issues caused by modules compiled using a different version of node.

See #46632

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


git-svn-id: http://core.svn.wordpress.org/trunk@44820 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-25 00:52:53 +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
Adam Silverstein
cd67264bb2 Multisite: add new sites_pre_query and networks_pre_query filters to short circuit WP_Site_Query and WP_Network_Query queries.
Similar to the `posts_pre_query` filter for WP_Query added in #36687. These filters lets you short circuit the queries to return your own results.

Add a new filter `sites_pre_query` - which returns null by default. Return a non-null value to bypass WordPress's default `get_sites` queries.

Developers should note that filtering functions that require pagination information are encouraged to set the `found_sites` property of the `WP_Site_Query` object, passed to the filter by reference. If `WP_Site_Query` does not perform a database query, it will not have enough information to generate these values itself.

Add a new filter `networks_pre_query` - which returns null by default. Return a non-null value to bypass WordPress's default `get_networks` queries.

Developers should note that filtering functions that require pagination information are encouraged to set the `found_networks` property of the `WP_Network_Query` object, passed to the filter by reference. If `WP_Network_Query` does not perform a database query, it will not have enough information to generate these values itself.

Props spacedmonkey.
Fixes #45749.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 17:26:51 +00:00
Aaron Jorbin
bd83b90f1e PHP: Bump minimum version
95% of 5.6 sites are on 5.6.30 or higher, hence this specific minimum version.

Fixes #46594.



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


git-svn-id: http://core.svn.wordpress.org/trunk@44813 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 15:47:51 +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
Felix Arntz
964d328768 Bootstrap/Load: Fix WPCS violation in a new test following [44973].
See #46130.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44805 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 22:00:51 +00:00
Felix Arntz
3a77265148 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 21:53:51 +00:00
Sergey Biryukov
1e925a5ae3 PHPCS: Remove extra tabs added in [44970].
See #44237.
Built from https://develop.svn.wordpress.org/trunk@44972


git-svn-id: http://core.svn.wordpress.org/trunk@44803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 21:36:51 +00:00
Sergey Biryukov
5299c763ca Privacy: Use a consistent URL for Privacy Policy guide.
Props garrett-eclipse, mukesh27, birgire, desrosj.
Fixes #44876.
Built from https://develop.svn.wordpress.org/trunk@44971


git-svn-id: http://core.svn.wordpress.org/trunk@44802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 21:17:50 +00:00