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