Commit Graph

35 Commits

Author SHA1 Message Date
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
Sergey Biryukov 6ada28a47b Code Modernization: Rename parameters that use reserved keywords in `wp-admin/includes/class-ftp.php`.
While using reserved PHP keywords as parameter name labels is allowed, in the context of function calls using named parameters in PHP 8.0+, this will easily lead to confusion. To avoid that, it is recommended not to use reserved keywords as function parameter names.

This commit renames the `$string` parameter of `ftp_base::glob_pattern_match()` to `$subject`.

Follow-up to [52946].

Props jrf, aristath, poena, justinahinon, SergeyBiryukov.
See #55327.
Built from https://develop.svn.wordpress.org/trunk@52996


git-svn-id: http://core.svn.wordpress.org/trunk@52585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-26 15:28:08 +00:00
audrasjb 223cda987f Administration: Replace contracted verb forms for better consistency.
This changeset replaces contracted verb forms like `doesn't`, `can't`, or `isn't` with non-contracted forms like `does not`, `cannot`, or `is not`, for better consistency across the WordPress administration. It also updates some corresponding unit tests strings.

Props Presskopp, socalchristina, aandrewdixon, francina, SergeyBiryukov, JeffPaul, audrasjb, hellofromTonya.
Fixes #38913.
See #39176.

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


git-svn-id: http://core.svn.wordpress.org/trunk@52567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-03-22 16:25:03 +00:00
desrosj 27485fd7aa General: Continuing to work towards a passing PHP Compatibility scan.
This is a final pass to fix PHP compatibiilty issues in the codebase with code changes or adding `phpcs:ignore` comments.

With this change, all PHP compatibility warnings and errors without specific tickets have been addressed (see #49810 and #41750).

Props desrosj, johnbillion, jrf.
See #49922.
Built from https://develop.svn.wordpress.org/trunk@47902


git-svn-id: http://core.svn.wordpress.org/trunk@47676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-03 17:40:12 +00:00
Sergey Biryukov 47ed56f38f Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant.
This avoids the performance overhead of the function call every time `dirname( __FILE__ )` was used instead of `__DIR__`.

This commit also includes:

* Removing unnecessary parentheses from `include`/`require` statements. These are language constructs, not function calls.
* Replacing `include` statements for several files with `require_once`, for consistency:
 * `wp-admin/admin-header.php`
 * `wp-admin/admin-footer.php`
 * `wp-includes/version.php`

Props ayeshrajans, desrosj, valentinbora, jrf, joostdevalk, netweb.
Fixes #48082.
Built from https://develop.svn.wordpress.org/trunk@47198


git-svn-id: http://core.svn.wordpress.org/trunk@46998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-06 06:33:11 +00:00
Sergey Biryukov 2651ff3ae8 Docs: Update URLs in some `@link` tags and switch them to HTTPS.
Props tsuyoring.
Fixes #48479.
Built from https://develop.svn.wordpress.org/trunk@46626


git-svn-id: http://core.svn.wordpress.org/trunk@46423 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-01 14:57:02 +00:00
Aaron Jorbin c377191858 PHP 7.4 compatibility fix / accessing arrays/string using curly brace syntax
PHP used to allow both square brackets and curly braces to be used interchangeably for accessing array elements and string offsets. The curly bracket syntax is only allowed in a limited set of cases and can be confusing for people not used to it.
PHP 7.4 will deprecate the curly brace syntax for accessing array elements and string offsets and it is expected that support will be completely removed in PHP 8.0.
Ref: https://wiki.php.net/rfc/deprecate_curly_braces_array_access

See #47751.
Props jrf.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-03 20:21:55 +00:00
Sergey Biryukov c77e771c84 Date/Time: Replace all instances of `date()` with `gmdate()`.
Use of `date()` in core depends on PHP timezone set to UTC and not changed by third party code (which cannot be guaranteed).

`gmdate()` is functionally equivalent, but is not affected by PHP timezone setting: it's always UTC, which is the exact behavior the core needs.

Props nielsdeblaauw, Rarst.
Fixes #46438. See #44491.
Built from https://develop.svn.wordpress.org/trunk@45424


git-svn-id: http://core.svn.wordpress.org/trunk@45235 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-05-26 00:12:54 +00:00
Sergey Biryukov 72b33ec883 Docs: Correct grammar in PemFTP description.
Props umang7.
Fixes #46507.
Built from https://develop.svn.wordpress.org/trunk@44920


git-svn-id: http://core.svn.wordpress.org/trunk@44751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-17 01:20:49 +00:00
Sergey Biryukov 2ba199472f Docs: Use 3-digit, x.x.x style semantic versioning for `@since 2.5.0` entries in `wp-admin/includes/class-ftp.php`.
Missed in [26868].

Props mukesh27.
See #46507.
Built from https://develop.svn.wordpress.org/trunk@44919


git-svn-id: http://core.svn.wordpress.org/trunk@44750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-17 01:18:50 +00:00
atimmer 7616bf91af FTP/PemFTP Library: Fix some PHP notices.
ftp_base::glob() used each(), which is deprecated as of PHP 7.2.
ftp_base::fget() was missing the decleration of its third parameter, $rest.

Props itowhid06, pento.
Merges [43848] to trunk.
Fixes #44489.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-15 11:00:40 +00:00
Scott Taylor a3ffebce30 Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 16:31:29 +00:00
Scott Taylor 390ceba6c7 Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 22:32:37 +00:00
Dion Hulse 0e31a46161 Bootstrap: Revert [38399] as it's broken `/build/` and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335

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


git-svn-id: http://core.svn.wordpress.org/trunk@38343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 14:37:32 +00:00
Scott Taylor 6a529648cf Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.

The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php

When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.

The future is now.

See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 09:15:29 +00:00
Scott Taylor 11216c7069 FTP: ensure that there is only one class named `ftp`, which is what is expected in the loading of this arcane library. This ensures that an autoload generator, something along the lines of Composer, won't hiccup when it gets to these files.
See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38321 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:47:29 +00:00
Dion Hulse 8db5455eea Filesystem: Avoid PHP warnings when using the FTP Sockets class.
See #35026 

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


git-svn-id: http://core.svn.wordpress.org/trunk@35910 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-15 03:12:26 +00:00
Dion Hulse 6113e498fc Updates: FTP: Add a missing PCRE modifer in [34281].
See #16026, #33432x

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


git-svn-id: http://core.svn.wordpress.org/trunk@34246 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 08:23:25 +00:00
Dion Hulse 5abc1eaab9 Updates: FTP/PemFTP Library: Remove the usage of deprecated regular expression functions (ereg replaced by PCRE).
Props enshrined, aaroncampbell
Fixes #16026, #33432

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


git-svn-id: http://core.svn.wordpress.org/trunk@34245 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 08:20:27 +00:00
Aaron Jorbin 1525010f74 Deprecate php4 style constructors
PHP7 is deprecating PHP4 style constructors, so we need to modify our code to have _construct methods that fire before the named PHP4 style constructors.  The PHP4 style constructors will call the PHP5 style constructor in case it is being called directly (usually via parent::METHOD).

This modifies external libraries to add PHP5 style constructors, but doesn't add a notice for when they are used.  In WordPress core code, PHP4 style constructors are being given a call to _deprecated_constructor. To the PHP4 style constructor I say "I know that I can't take no more | It ain't no lie | I wanna see you out that door | Baby, bye, bye, bye..."

Upstream: https://wiki.php.net/rfc/remove_php4_constructors

Props jdgrimes, netweb, jorbin
See #31982


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


git-svn-id: http://core.svn.wordpress.org/trunk@32961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-28 15:27:24 +00:00
Dion Hulse e17d09f233 PHP 5.2 compatibility for [30310], __DIR__ wasn't added until PHP 5.3. Props TobiasBg. Fixes #29628
Built from https://develop.svn.wordpress.org/trunk@30311


git-svn-id: http://core.svn.wordpress.org/trunk@30310 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-12 10:44:23 +00:00
Dion Hulse 3e702d8b52 Always use a full filesystem path when including the FTP handler in PemFTP. This prevents other files in the includes directory being scanned/included accidentally.
See #29628

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


git-svn-id: http://core.svn.wordpress.org/trunk@30309 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-12 03:06:23 +00:00
Dion Hulse 6792506741 Avoid a PHP Notice in the PemFTP Library by adding a missing function parameter. This parameter is unused by WordPress.
Props hugodelgado. Fixes #29628

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


git-svn-id: http://core.svn.wordpress.org/trunk@29715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-20 07:41:19 +00:00
Mark Jaquith d48d025403 "LGPL License" is redundant.
props wonderboymusic, jakub.tyrcha. fixes #15585

git-svn-id: http://core.svn.wordpress.org/trunk@23425 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-15 16:26:46 +00:00
dd32 3a722f41d7 WP_Filesystem: PemFTP: Detect dl() being disabled in order to avoid any fatals which may be produced when the Sockets extension is not available. Props to kurtpayne for initial patch, Fixes #20187
git-svn-id: http://svn.automattic.com/wordpress/trunk@20311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-29 02:15:06 +00:00
westi 17c7533b72 Swap out ;; for ;. Fixes #11618 props demetris and nacin.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-26 16:53:17 +00:00
westi 7a443a7b6e Fix the IP Address validation code in the FTP class. Fixes #11393 props nacin.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-13 00:02:01 +00:00
westi 7f894ae416 phpdoc for wp-admin. See #7496 props santosj.
git-svn-id: http://svn.automattic.com/wordpress/trunk@8645 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-08-14 06:30:38 +00:00
ryan 568d64e73e FTP CWD fixes from DD32. see #6245
git-svn-id: http://svn.automattic.com/wordpress/trunk@7327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-16 09:49:10 +00:00
ryan 553e8d935c Typo fixes. fixes #6155
git-svn-id: http://svn.automattic.com/wordpress/trunk@7257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-11 23:45:07 +00:00
westi bd9c890f3d Add phpDoc with copyright and licencing info to external ftp libs. Fixes #6155 props DD32.
git-svn-id: http://svn.automattic.com/wordpress/trunk@7241 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-11 17:23:30 +00:00
ryan 04c9051a7d Remove trailing whites.
git-svn-id: http://svn.automattic.com/wordpress/trunk@7130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-02 20:17:30 +00:00
ryan c71d96e269 Plugin updater updates. see #5586
git-svn-id: http://svn.automattic.com/wordpress/trunk@7126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-01 21:20:23 +00:00
ryan 5b696274a0 Set eol-style to native
git-svn-id: http://svn.automattic.com/wordpress/trunk@6919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-02-20 00:12:48 +00:00
ryan 9aab2ce97a First cut at plugin update. Props DD32 for the filesystem abstraction. see #5586
git-svn-id: http://svn.automattic.com/wordpress/trunk@6779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-02-11 05:45:54 +00:00