Commit Graph

132 Commits

Author SHA1 Message Date
Sergey Biryukov 84e9601e5a Code Modernization: Replace usage of `substr()` with `str_starts_with()` and `str_ends_with()`.
`str_starts_with()` and `str_ends_with()` were introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) begins or ends with the given substring (needle).

WordPress core includes a polyfill for these functions on PHP < 8.0 as of WordPress 5.9.

This commit uses `str_starts_with()` and `str_ends_with()` in core files where appropriate:
* `$needle === substr( $string, 0, $length )`, where `$length` is the length of `$needle`, is replaced with `str_starts_with( $haystack, $needle )`.
* `$needle === substr( $string, $offset )`, where `$offset` is negative and the absolute value of `$offset` is the length of `$needle`, is replaced with `str_ends_with( $haystack, $needle )`.

This aims to make the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [52039], [52040], [52326], [55703], [55710], [55987], [55988].

Props Soean, spacedmonkey, Clorith, ocean90, azaozz, sabernhardt, SergeyBiryukov.
Fixes #58220.
Built from https://develop.svn.wordpress.org/trunk@55990


git-svn-id: http://core.svn.wordpress.org/trunk@55502 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-22 14:57:24 +00:00
Sergey Biryukov 1ce5dc7444 Code Modernization: Replace usage of `strpos()` with `str_contains()`.
`str_contains()` was introduced in PHP 8.0 to perform a case-sensitive check indicating if the string to search in (haystack) contains the given substring (needle).

WordPress core includes a polyfill for `str_contains()` on PHP < 8.0 as of WordPress 5.9.

This commit replaces `false !== strpos( ... )` with `str_contains()` in core files, making the code more readable and consistent, as well as better aligned with modern development practices.

Follow-up to [52039], [52040], [52326], [55703], [55710], [55987].

Props Soean, spacedmonkey, costdev, dingo_d, azaozz, mikeschroder, flixos90, peterwilsoncc, SergeyBiryukov.
Fixes #58206.
Built from https://develop.svn.wordpress.org/trunk@55988


git-svn-id: http://core.svn.wordpress.org/trunk@55500 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-06-22 14:36:26 +00:00
audrasjb 418a21fdbc Help/About: Use the new `/documentation/` URLs for HelpHub links in WordPress Admin.
As `https://wordpress.org/support/` was redirected to `https://wordpress.org/documentation/`, this changeset replaces various `/support/article/*` links with `/documentation/article/*` to avoid an extra redirect.

This also updates links to Support Forums by replacing `https://wordpress.org/support/` URLs with `https://wordpress.org/support/forums/`.

Props SergeyBiryukov, audrasjb, dhrupo, hasanmisbah, sakibmd, sabernhardt.
See #57726.

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


git-svn-id: http://core.svn.wordpress.org/trunk@54945 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-02-23 10:38:21 +00:00
Sergey Biryukov 6e9c29da06 Bootstrap/Load: Avoid a PHP warning when setting the `$pagenow` global in `wp-includes/vars.php`.
In some scenarios where `is_admin()` returns true but `$_SERVER['PHP_SELF']` does not match a `wp-admin/*` location, setting the `$pagenow` global could trigger a PHP warning: `Undefined array key 1`.

This commit avoids the warning by checking whether the matches array is not empty.

Props janh2, konradyoast, peterwilsoncc.
Fixes #54700.
Built from https://develop.svn.wordpress.org/trunk@53294


git-svn-id: http://core.svn.wordpress.org/trunk@52883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-04-27 13:47:11 +00:00
Sergey Biryukov 9fb5112732 Docs: Add missing description for `$pagenow` global in various functions.
See #54729, #55499.
Built from https://develop.svn.wordpress.org/trunk@53060


git-svn-id: http://core.svn.wordpress.org/trunk@52649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-04-04 18:26:06 +00:00
Peter Wilson f3d929163f General: Improve MS Edge user-agent sniff.
Update the `$is_edge` global to be `true` if the browser's user-agent contains `Edg` rather than `Edge`. Microsoft have dropped an E from the UA string.

Refer to [https://docs.microsoft.com/en-us/microsoft-edge/web-platform/user-agent-guidance#identifiers-for-microsoft-edge-on-various-platforms Microsoft's documentation on detecting edge].

Props costdev, abdullahramzan, mukesh27, Boniu91.
Fixes #55297.


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


git-svn-id: http://core.svn.wordpress.org/trunk@52414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-07 02:38:01 +00:00
Sergey Biryukov 897f004a9c General: Replace older-style PHP type conversion functions with type casts.
This improves performance, readability, and consistency throughout core.

* `intval()` → `(int)`
* `strval()` → `(string)`
* `floatval()` → `(float)`

Props ayeshrajans.
Fixes #42918.
Built from https://develop.svn.wordpress.org/trunk@49108


git-svn-id: http://core.svn.wordpress.org/trunk@48870 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-08 21:15:13 +00:00
Sergey Biryukov 001ffe81fb Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.
Built from https://develop.svn.wordpress.org/trunk@47122


git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
Sergey Biryukov 8e85299a00 General: First pass at replacing Codex URLs with a corresponding HelpHub or DevHub article.
Props ianbelanger, tobifjellner, SergeyBiryukov.
See #47771.
Built from https://develop.svn.wordpress.org/trunk@45674


git-svn-id: http://core.svn.wordpress.org/trunk@45485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-25 22:45:57 +00:00
Gary Pendergast 4803fc405e Coding Standards: Fix the `Squiz.PHP.DisallowMultipleAssignments` violations in `wp-includes`.
See #47632.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-02 23:42:58 +00:00
Gary Pendergast aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
John Blackbourn a72ec29c4d General: Introduce a `wp_is_mobile` filter for controlling whether a request should be treated as coming from a mobile device.
Props PressLabs

Fixes #41023

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


git-svn-id: http://core.svn.wordpress.org/trunk@40757 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-15 12:05:42 +00:00
John Blackbourn d327c92e4b Docs: Add and correct `@since` docs for a variety of functions and methods.
Props keesiemeijer, chris_dev
Fixes #39343, #39357, #39344
See #39130

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


git-svn-id: http://core.svn.wordpress.org/trunk@39578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-27 09:21:44 +00:00
Scott Taylor 0eebbed6b2 General: revert [38467], `wp_is_IE()` should not exist.
See #37699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 15:22:31 +00:00
Scott Taylor 021e23e70b General: use a new function, `wp_is_IE()`, instead of the `$is_IE` global in a number of places.
See #37699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38408 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 06:42:33 +00:00
Drew Jaynes 9cb5247392 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37486 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:50:28 +00:00
John Blackbourn c69dfc5de4 Uploads: Remove an unnecessary static var from `wp_is_mobile()` to allow its direct and indirect use within unit tests. The static `$is_m
obile` var was only used to avoid a handful of calls to `strpos()`, which are exceptionally fast and result in no measurable increase in
processing time on each call to `wp_is_mobile()`.

See #35976, #20014

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


git-svn-id: http://core.svn.wordpress.org/trunk@36780 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 03:25:26 +00:00
John Blackbourn 7150ec43c9 Revert r36811.
Built from https://develop.svn.wordpress.org/trunk@36812


git-svn-id: http://core.svn.wordpress.org/trunk@36779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 03:23:26 +00:00
John Blackbourn 0cd76839f1 Built from https://develop.svn.wordpress.org/trunk@36811
git-svn-id: http://core.svn.wordpress.org/trunk@36778 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 03:17:26 +00:00
John Blackbourn f482b909e6 Introduce a new `$is_edge` global for the Microsoft Edge browser.
The `$is_IE` and `$is_chrome` globals no longer return `true` for Edge, which is expected as Edge is its own browser and should not be treated like IE. While it might be beneficial for Edge to be treated like Chrome on the client side, it benefits nobody for the `$is_chrome` global to return true.

See #33193
Props gregrickaby, johnbillion

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


git-svn-id: http://core.svn.wordpress.org/trunk@33896 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-05 22:33:23 +00:00
Scott Taylor 642af1f3f4 Some doc blocks should use `bool` instead of `true|false`
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 00:45:24 +00:00
Scott Taylor 19a3aacc94 Add `@static*` annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Dominik Schilling 64fc7294b6 Use HTTPS URLs for codex.wordpress.org.
see #27115.
Built from https://develop.svn.wordpress.org/trunk@32116


git-svn-id: http://core.svn.wordpress.org/trunk@32095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-12 21:29:32 +00:00
Drew Jaynes 3ee2262d7e Update the wp-inclues/vars.php file header to include Nginx as a recognized web server.
Props netweb for the initial patch. Props markjaquith.
Fixes #26249.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-10 18:15:13 +00:00
Andrew Nacin 11eb5055ac Explicitly globalize $is_nginx in vars.php.
props johnjamesjacoby.
fixes #25776.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-30 19:37:09 +00:00
Andrew Nacin 70fd806759 Revert r25824:25875 from the core.svn.wordpress.org repository.
These commits were accidentally re-synced commits from develop.svn.wordpress.org due to a race condition. Thankfully, the history of this repository matters fairly little. It also happened only for trunk.


git-svn-id: http://core.svn.wordpress.org/trunk@25876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-25 02:29:52 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Ryan Boren b87d4b77e5 Pinking shears
Built from https://develop.svn.wordpress.org/trunk@25880


git-svn-id: http://core.svn.wordpress.org/trunk@25792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 14:38:10 +00:00
Andrew Ozz 7c78a9cdae Update the basic browser detection to detect IE11. Fixes #25562.
Built from https://develop.svn.wordpress.org/trunk@25767


git-svn-id: http://core.svn.wordpress.org/trunk@25680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-11 17:26:09 +00:00
Drew Jaynes 71fb968dd3 Add missing variable for inline hook documentation changes in wp-includes/vars.php.
See #25466.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-07 17:56:10 +00:00
Drew Jaynes a71a1ee072 Inline documentation for hooks in wp-includes/vars.php.
Props tmtoy, nacin.
Fixes #25466.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-07 15:30:09 +00:00
Andrew Nacin d3b89d43fc Add nginx detection to the Permalink Settings screen.
Introduces got_url_rewrite() and a corresponding filter, which should now be used in lieu of the got_rewrite filter in got_mod_rewrite().

This does not write or even suggest nginx configuration; rather, it prevents nginx from being considered as either Apache or as an unrecognized server.

props johnbillion.
fixes #25098.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-16 20:07:09 +00:00
Andrew Nacin 740d141e1d Support IIS 8 and above.
props hurtige for initial patch.
fixes #23533.



git-svn-id: http://core.svn.wordpress.org/trunk@24594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-08 20:27:06 +00:00
azaozz d77372ea76 TinyMCE: better exclusion of Opera mobile, fixes #21416
git-svn-id: http://core.svn.wordpress.org/trunk@21367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-30 19:40:52 +00:00
ryan 8dfe243dd4 Update Fire browser detection. Handle silke mode. Props azaozz, nacin, georgestephanis. fixes #20014
git-svn-id: http://core.svn.wordpress.org/trunk@20990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-04 16:04:54 +00:00
azaozz 1d12cd07b0 Introduce wp_is_mobile() and use it instead of $is_iphone global, see #20014
git-svn-id: http://svn.automattic.com/wordpress/trunk@20417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-10 01:19:30 +00:00
ryan e3b46b25d3 Lose EOF ?>. Clean up EOF newlines. fixes #12307
git-svn-id: http://svn.automattic.com/wordpress/trunk@19712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-08 17:01:11 +00:00
nacin c17df0bb43 Globalize everything in vars.php. props duck_. fixes #17749.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-18 19:44:00 +00:00
nacin 97f9966f3a Explicitly globalize $table_prefix in wp-settings.php in case WordPress isn't loaded in global scope. Use $_SERVER['PHP_SELF'], not $PHP_SELF. We need to keep $PHP_SELF for backwards compatibility reasons (many, many plugins rely on it). props mrtorrent, fixes #17749.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-18 19:37:07 +00:00
azaozz e849d3b270 Use IE conditionals when adding the ie8 class, introduce _wp_admin_html_begin(), props scribu, fixes #18966
git-svn-id: http://svn.automattic.com/wordpress/trunk@18982 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-17 20:57:32 +00:00
azaozz 0f2431e25a RTL, IE7 and IE7 RTL fixes, add class="ie8" to the html tag, see #18314
git-svn-id: http://svn.automattic.com/wordpress/trunk@18975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-15 07:33:01 +00:00
ryan a5b8036b8c Support Chrome Frame. fixes #14537
git-svn-id: http://svn.automattic.com/wordpress/trunk@18036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-05-25 16:15:00 +00:00
dd32 99337166eb Other piece of r16904. Limit variable string searching when possible. See #10187
git-svn-id: http://svn.automattic.com/wordpress/trunk@16905 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-14 08:35:48 +00:00
ryan 7119110439 Unset global variables when they are no longer needed.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-07 20:12:49 +00:00
ryan 9c31fd7c70 First pass of user admin. Network admin and screen cleanups. see #14696
git-svn-id: http://svn.automattic.com/wordpress/trunk@15746 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-07 19:34:18 +00:00
nacin cfa428b8d2 Use stripos() instead of strpos() with strtolower(). For PHP < 5 we have stripos() in compat.php. Fixes #11176
git-svn-id: http://svn.automattic.com/wordpress/trunk@13132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-14 02:27:19 +00:00
azaozz c3f7df6b24 Fix notices and phpdoc, props hakre, fixes #10758
git-svn-id: http://svn.automattic.com/wordpress/trunk@12284 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-11-26 11:29:54 +00:00
ryan a8890b9160 Add some CYA cap checks.
git-svn-id: http://svn.automattic.com/wordpress/trunk@11761 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-08-01 21:12:17 +00:00
ryan e2802f7f3b Recognize Expression Web 2 as IIS. Props peaceablewhale, DD32. fixes #8725
git-svn-id: http://svn.automattic.com/wordpress/trunk@11379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-05-18 14:54:16 +00:00
ryan 24f847661f Support IIS 7.0 URL Rewrite Module. Props ruslany. Hat tips to peaceablewhale, hakre, Denis-de-Bernardy, sivel. fixes #8974
git-svn-id: http://svn.automattic.com/wordpress/trunk@11350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-05-16 02:04:36 +00:00