Commit Graph

87 Commits

Author SHA1 Message Date
desrosj 894e133d0c Build/Test Tools: Introduce automated PHP compatibility checking.
This change introduces a new Composer script, `compat` that will scan the codebase for (detectable) potential PHP compatibility issues using the `PHP_CodeSniffer` and a custom ruleset based off of the `PHPCompayibilityWP` ruleset (`phpcompat.xml.dist`).

The command will be run as a separate job within each Travis build. While many compatibility issues and false positives have already been corrected in this commit and other Trac tickets, there are still some remaining. For that reason, the job is allowed to fail while the remainder of the potential compatibility issues are investigated and addressed. After those are resolved, the job should be set as required to pass to help prevent new compatibility issues from being introduced.

Props desrosj, jrf, all PHPCompatibilityWP and PHPCompatibility contributors.
Fixes #46152.
Built from https://develop.svn.wordpress.org/trunk@46290


git-svn-id: http://core.svn.wordpress.org/trunk@46102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-25 13:47:58 +00:00
Dominik Schilling 01b6bd9f38 Site Health: Replace `wp_get_upload_dir()` with `wp_upload_dir()`.
`wp_get_upload_dir()` returns the theoretical path of the uploads directory. When there was no upload yet the test returns an incorrect result (not writeable) because the directory doesn't exist. Switching to `wp_upload_dir()`, which creates the directory on the fly, ensures a proper test result.

Fixes #47958.
Built from https://develop.svn.wordpress.org/trunk@46228


git-svn-id: http://core.svn.wordpress.org/trunk@46040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-21 15:49:57 +00:00
Sergey Biryukov e199663322 I18N: Capitalize translator comments consistently, add trailing punctuation.
Includes minor code layout fixes.

See #44360.
Built from https://develop.svn.wordpress.org/trunk@45932


git-svn-id: http://core.svn.wordpress.org/trunk@45743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-03 00:41:05 +00:00
Sergey Biryukov 27a384caa4 Site Health: Merge two similar strings explaining what drop-in plugins are.
Props garrett-eclipse, ramiy, Clorith.
Fixes #47247.
Built from https://develop.svn.wordpress.org/trunk@45905


git-svn-id: http://core.svn.wordpress.org/trunk@45716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-28 03:13:55 +00:00
Sergey Biryukov 6cad27efcd Site Health: Standardize on `SELECT VERSION()` query for checking the database server version, due to the MariaDB version declaration potentially causing issues in production environments.
Partially reverts [45691].

Props Clorith.
Fixes #47738.
Built from https://develop.svn.wordpress.org/trunk@45904


git-svn-id: http://core.svn.wordpress.org/trunk@45715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-28 03:09:52 +00:00
Sergey Biryukov c896a0911e Site Health: Add timezone to Site Health Info page.
Props justinahinon, sharaz, artisticasad, Rarst.
Fixes #47842.
Built from https://develop.svn.wordpress.org/trunk@45889


git-svn-id: http://core.svn.wordpress.org/trunk@45700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-24 19:37:57 +00:00
Sergey Biryukov 99f4ff2578 Site Health: Add database charset and collation information to debug info.
Props sharaz, Clorith, SergeyBiryukov.
Fixes #47828.
Built from https://develop.svn.wordpress.org/trunk@45782


git-svn-id: http://core.svn.wordpress.org/trunk@45593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-12 01:54:57 +00:00
Sergey Biryukov a59301c2ba Site Health: Consistently use `wpdb::db_version()` for checking the database server version, instead of partically replicating its functionality.
Props Clorith, wpfed.
Fixes #47738.
Built from https://develop.svn.wordpress.org/trunk@45691


git-svn-id: http://core.svn.wordpress.org/trunk@45502 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-28 14:55:57 +00:00
Sergey Biryukov e925997562 Site Health: Show parent theme in its own accordion on Site Health Info screen; rename "Other Themes" to "Inactive Themes".
Props garrett-eclipse, mukesh27, Clorith, xkon, msaggiorato.
Fixes #46925.
Built from https://develop.svn.wordpress.org/trunk@45680


git-svn-id: http://core.svn.wordpress.org/trunk@45491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-26 03:49:55 +00:00
Sergey Biryukov 729d4a4942 I18N: Remove PHP function name from translatable string in `WP_Debug_Data`.
Props ramiy.
Fixes #47254.
Built from https://develop.svn.wordpress.org/trunk@45399


git-svn-id: http://core.svn.wordpress.org/trunk@45210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-05-24 01:41:52 +00:00
Andrew Ozz 2548263bac Site Health: Allow some HTML (inline tags only) in the section descriptions. Add some more docs about expected formatting of the gathered data.
Props kraftbj, jeherve, mukesh27, audrasjb, azaozz.
Fixes #46878.
Built from https://develop.svn.wordpress.org/trunk@45259


git-svn-id: http://core.svn.wordpress.org/trunk@45068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-23 21:05:52 +00:00
Dominik Schilling 2d58638ba0 Site Health: Fix debug data with nested fields for copying.
* Use `$debug_data` instead of `$field['value']` to retrieve the debug data.
* Rename inner variables to avoid overriding the output variable.

Props Clorith, ocean90.
See #46573.
Built from https://develop.svn.wordpress.org/trunk@45246


git-svn-id: http://core.svn.wordpress.org/trunk@45055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-18 16:26:51 +00:00
Andrew Ozz 9659676fca Site Health info tab: Remove the "Directories and Sizes" section on Multisite installations. Most of the info shown there doesn't apply for multisite.
Props xkon, desrosj, azaozz.
Built from https://develop.svn.wordpress.org/trunk@45239


git-svn-id: http://core.svn.wordpress.org/trunk@45048 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-18 00:34:51 +00:00
Andrew Ozz 2a5c2a2cce Site health info tab: replace "Not calculated" with "Loading..." in the "Directories and Sizes" section (that's an existing string and wouldn't cause problems for translators).
See #46707.
Built from https://develop.svn.wordpress.org/trunk@45237


git-svn-id: http://core.svn.wordpress.org/trunk@45046 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-17 21:26:52 +00:00
Sergey Biryukov 604769cca5 Site Health: Group `WP_DEBUG`-related constants together.
Props tmatsuur.
Fixes #46955.
Built from https://develop.svn.wordpress.org/trunk@45230


git-svn-id: http://core.svn.wordpress.org/trunk@45039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-17 12:00:54 +00:00
Sergey Biryukov 6ad0bf33ec PHPCS: Fix WPCS violations in [45220].
See #46707.
Built from https://develop.svn.wordpress.org/trunk@45221


git-svn-id: http://core.svn.wordpress.org/trunk@45030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-17 00:45:50 +00:00
Andrew Ozz 9a316c6ea4 Site health, info tab:
- Change `recurse_dirsize()` to accept an array of excluded paths.
- Change so we don't calculate the sizes of dirs in wp-content twice.
- Add the size in bytes to the "debug" into.
- Add a custom DOM event after the dir sizes request is done. Can be used by plugins to "daisy chain" more requests.
- Move "WordPress directory location" and "WordPress directory size" to the top in the "Directories and Sizes" section.
- Move "Theme directory location" to the "Active Theme" section.
- Fix labels capitalization.

Props xkon, afercia, Clorith, azaozz.
Fixes #46707.
Built from https://develop.svn.wordpress.org/trunk@45220


git-svn-id: http://core.svn.wordpress.org/trunk@45029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-16 23:02:51 +00:00
Andrea Fercia 5ac2b28396 Administration: Provide translatable strings for the Site Health comment status report.
Props ocean90.
Fixes #46909.

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


git-svn-id: http://core.svn.wordpress.org/trunk@45009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-15 15:08:51 +00:00
Sergey Biryukov cbe1c88485 Site Health: Merge duplicate "Latest version" strings.
Props ramiy.
Fixes #46913.
Built from https://develop.svn.wordpress.org/trunk@45193


git-svn-id: http://core.svn.wordpress.org/trunk@45002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-13 18:04:52 +00:00
Sergey Biryukov b6471e9be4 Bootstrap/Load: Remove duplicate leading slashes on inclusion of various files under `ABSPATH`.
Props dmsnell, birgire, szepe.viktor.
Fixes #46327.
Built from https://develop.svn.wordpress.org/trunk@45190


git-svn-id: http://core.svn.wordpress.org/trunk@44999 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-13 04:46:52 +00:00
Andrew Ozz 30ccfd540f Site health: Load the "Info" tab immediately and notify the user while gathering site data. Changes the Info tab to work similarly to the Status tab: it does separate request to fetch the directories sizes and doesn't "block" the loading of the page.
Props xkon, afercia, Clorith, azaozz.
See #46707.
Built from https://develop.svn.wordpress.org/trunk@45176


git-svn-id: http://core.svn.wordpress.org/trunk@44985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-12 19:24:51 +00:00
desrosj 44d977b2af Site Health: Correctly refer to an `.htaccess` file as hidden.
The preceding period (`.`) should always be included when referring to an `.htaccess` file.

Props: ianbelanger, garrett-eclipse, subrataemfluence, burhandodhy.
Fixes #46841.
Built from https://develop.svn.wordpress.org/trunk@45171


git-svn-id: http://core.svn.wordpress.org/trunk@44980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-12 17:50:52 +00:00
desrosj 501234ebe0 Site Health: Include both site and user locales in debug information.
Previously, only the site’s locale was displayed in the Site Health debug information. Moving forward, both the site’s default locale and the user’s locale will be specified.

This change also removes the `@param` tag for `WP_Debug_Data::debug_data()`. This parameter was previously removed in [45156].

Props: mukesh27, ianbelanger, Clorith, desrosj.
Fixes #46803.
Built from https://develop.svn.wordpress.org/trunk@45166


git-svn-id: http://core.svn.wordpress.org/trunk@44975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-12 15:49:52 +00:00
Andrew Ozz 8ffebab3e6 Site health: Fix gathering the site data twice on non-English locales. Introduces two sets of data:
- More verbose set used to generate the admin page.
- More concise set that is copied when clicking the "Copy the site info" button intended mostly for support and developers.

Props xkon, azaozz.
Fixes #46726.
Built from https://develop.svn.wordpress.org/trunk@45156


git-svn-id: http://core.svn.wordpress.org/trunk@44965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-10 05:07:51 +00:00
Sergey Biryukov 5810543816 PHPCS: Fix WPCS violation in [45119].
See #46809.
Built from https://develop.svn.wordpress.org/trunk@45122


git-svn-id: http://core.svn.wordpress.org/trunk@44931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-06 16:02:52 +00:00
Sergey Biryukov 4d3fb9b22b Site Health: Restore backticks in "Copy to clipboard" functionality, accidentally removed in [45044].
The backticks ensure that the data is formatted accordingly on pasting whenever possible.

Props Clorith.
Fixes #46809.
Built from https://develop.svn.wordpress.org/trunk@45119


git-svn-id: http://core.svn.wordpress.org/trunk@44928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-06 15:36:51 +00:00
Pascal Birchler ec05cd3168 Site Health: Remove unused `$wp_config_path` variable.
Discovered and fixed during WordCamp London 2019 contributor day.

Props m_uysl.
Fixes #46808.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-05 11:09:51 +00:00
Andrew Ozz 4601e178e5 Site health: fix usage of max_execution_time. When PHP is run from the cli the default is 0.
Fixes #46645.
Built from https://develop.svn.wordpress.org/trunk@45111


git-svn-id: http://core.svn.wordpress.org/trunk@44920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-04 21:54:53 +00:00
desrosj adbaba7d56 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.
Built from https://develop.svn.wordpress.org/trunk@45110


git-svn-id: http://core.svn.wordpress.org/trunk@44919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-04 21:24:52 +00:00
Sergey Biryukov 4ee7d453fa Site Health: Use `wp_get_upload_dir()` instead of `wp_upload_dir()`, remove duplicate call.
Props m_uysl.
Fixes #46729.
Built from https://develop.svn.wordpress.org/trunk@45108


git-svn-id: http://core.svn.wordpress.org/trunk@44917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-03 11:20:51 +00:00
Sergey Biryukov ef948cbfd6 PHPCS: Fix WPCS violations in [45104].
See #46645.
Built from https://develop.svn.wordpress.org/trunk@45106


git-svn-id: http://core.svn.wordpress.org/trunk@44915 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-03 02:14:51 +00:00
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 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
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
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