Commit Graph

68 Commits

Author SHA1 Message Date
Andrew Ozz 47172a2c65 Filesystem API: Add directory support to `WP_Filesystem_Direct::move()`.
Introduces:
- New function: `wp_opcache_invalidate_directory()`, to recursively call `wp_opcache_invalidate()` after overwriting .php files.
- New function: `move_dir()`, similar to `copy_dir()` that uses `WP_Filesystem::move()` followed by `wp_opcache_invalidate_directory()`, and has a fallback to `copy_dir()`.

Props: costdev, afragen, peterwilsoncc, sergeybiryukov, ironprogrammer, flixos90, bronsonquick, mukesh27, azaozz.
Fixes #57375.
Built from https://develop.svn.wordpress.org/trunk@55204


git-svn-id: http://core.svn.wordpress.org/trunk@54737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-02-03 01:50:16 +00:00
Sergey Biryukov c3783c9f3a Coding Standards: Rename the `$file` parameter to `$path` in some `WP_Filesystem_*` methods.
This aims to bring more clarity to the code, and applies to methods where the path can be a file or a directory:

* `WP_Filesystem_*::exists()`
* `WP_Filesystem_*::is_writable()`

Follow-up to [6779], [25560].

See #55647.
Built from https://develop.svn.wordpress.org/trunk@53872


git-svn-id: http://core.svn.wordpress.org/trunk@53431 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-08-09 11:33:10 +00:00
John Blackbourn 39bff93b6b Docs: Various inline documentation corrections and improvements.
See #53399

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


git-svn-id: http://core.svn.wordpress.org/trunk@51924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-12-07 12:20:02 +00:00
Sergey Biryukov e86e6f8771 Docs: Correct `@return` type for `WP_Filesystem_Base::getnumchmodfromh()`.
Follow-up to [9117].

Props ankitmaru, johnbillion.
Fixes #53793.
Built from https://develop.svn.wordpress.org/trunk@51494


git-svn-id: http://core.svn.wordpress.org/trunk@51105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-07-27 09:29:01 +00:00
Sergey Biryukov a338f84f32 Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-filesystem-*.php`.
See #52627.
Built from https://develop.svn.wordpress.org/trunk@50657


git-svn-id: http://core.svn.wordpress.org/trunk@50269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-04-05 10:38:07 +00:00
John Blackbourn b59c0f307b Docs: Corrections and improvements to types used in various docblocks.
See #51800, #52217

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


git-svn-id: http://core.svn.wordpress.org/trunk@49635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-01-05 17:16:11 +00:00
Sergey Biryukov 527696af3b Coding Standards: Add some space around control structures in `WP_Filesystem_*` classes for consistency and better readability.
Additionally, synchronize `$tempfile` and `$temphandle` variable names in `WP_Filesystem_FTPext` and `WP_Filesystem_ftpsockets`.

See #49542.
Built from https://develop.svn.wordpress.org/trunk@48089


git-svn-id: http://core.svn.wordpress.org/trunk@47856 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-19 10:36:12 +00:00
Sergey Biryukov 4cc11cdbdd Filesystem API: Avoid a PHP notice in `WP_Filesystem_Direct::owner()` and `::group()` methods and their `WP_Filesystem_SSH2` counterparts.
Although not officially documented in the PHP manual, `posix_getpwuid()` and `posix_getgrgid()` can return `false` in some circumstances.

Props logig.
Fixes #50373.
Built from https://develop.svn.wordpress.org/trunk@48031


git-svn-id: http://core.svn.wordpress.org/trunk@47798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-12 12:35:09 +00:00
Sergey Biryukov 7932193708 Coding Standards: Use strict comparison where static strings are involved.
This reduces the number of `WordPress.PHP.StrictComparisons.LooseComparison` issues in half, from 1897 to 890.

Includes minor code layout fixes for better readability.

See #49542.
Built from https://develop.svn.wordpress.org/trunk@47808


git-svn-id: http://core.svn.wordpress.org/trunk@47584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-16 18:42:12 +00:00
Sergey Biryukov 641c632b0c Coding Standards: Use Yoda conditions where appropriate.
See #49222.
Built from https://develop.svn.wordpress.org/trunk@47219


git-svn-id: http://core.svn.wordpress.org/trunk@47019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-09 16:55:09 +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 15a4289c8d Docs: Correct description for `$recursive` parameter of `::chmod()` and `::delete()` methods in `WP_Filesystem` implementations.
Props skithund.
Fixes #48422.
Built from https://develop.svn.wordpress.org/trunk@46679


git-svn-id: http://core.svn.wordpress.org/trunk@46479 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-08 22:56:02 +00:00
Sergey Biryukov 29e5155969 Filesystem API: Check correct variable in `WP_Filesystem_Direct::dirlist()` after [45611].
Props zinigor.
Fixes #47668. See #47632.
Built from https://develop.svn.wordpress.org/trunk@45613


git-svn-id: http://core.svn.wordpress.org/trunk@45424 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-09 15:58:57 +00:00
Gary Pendergast abcbee954f Coding Standards: Fix instances of `WordPress.PHP.NoSilencedErrors.Discouraged`.
Noteable changes:
- The `magic_quotes_runtime` and `magic_quotes_sybase` settings were removed in PHP 5.4, so no longer need to be set.
- Some functions that use external libraries can generate errors that can't be tested for, so are globally allowed to silence errors.
- Quite a few functions would cause errors if `safe_mode` was set. This setting was removed in PHP 5.4.
- Only a handful of `header()` calls needed corresponding `headers_sent()` checks for unit tests to pass, but more may need to be added as the nightlies builds are tested.

See #46732.

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


git-svn-id: http://core.svn.wordpress.org/trunk@45422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-09 05:45:58 +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 74e9c3d20d Docs: Improve documentation for various `WP_Filesystem_Base` methods and extending classes.
Props jaydeep-rami, man4toman, SaeedFard, mukesh27, mohadeseghasemi, ebrahimzadeh, juiiee8487, SergeyBiryukov.
Fixes #42227, #46806, #46840. See #46543.
Built from https://develop.svn.wordpress.org/trunk@45226


git-svn-id: http://core.svn.wordpress.org/trunk@45035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-17 04:13:51 +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
Drew Jaynes 1a28ec87e1 Docs: Remove `@access` notations from method DocBlocks in wp-admin/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:40:43 +00:00
Drew Jaynes 1d95dcfa2c Docs: Remove superfluous `@package WordPress` and `@subpackage` notations used outside of file headers in a variety of core files.
Per the inline documentation standards for PHP, there should only be one `@package` and/or `@subpackage` notation per file, and only in the file header.

See #41017.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-01 16:58:42 +00:00
Scott Taylor b8c37073d8 Add `@access` docs to `class-wp-filesystem-*` files.
Props wenthemes.
Fixes #33725.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 01:21:24 +00:00
Scott Taylor 574fabf2bc Improve some `wp-admin/includes/class-wp-filesystem-*.php` docs for `@param`.
See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 20:40:23 +00:00
Drew Jaynes 23707b1ada Convert various uses of `(optional)` in core parameter descriptions to use the style prescribed in the inline documentation standards for PHP.
The style for marking parameters optional in inline PHP docs is: `@param type $var Optional. Description. Accepts. Default.`, where Accepts can be omitted on a case-by-case basis.

Props coffee2code.
Fixes #30591.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-06 21:24:45 +00:00
Scott Taylor 37a23b2c73 Improve various `@param` docs.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 02:17:21 +00:00
Scott Taylor da4c39480f Improve various `@param` docs for `src/wp-admin/includes/class-wp-filesystem-*.php`.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30668 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 00:13:22 +00:00
Drew Jaynes 097dc8ee15 Fix syntax for single- and multi-line comments in wp-admin-directory files.
See #28931.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-17 09:14:16 +00:00
Scott Taylor eb750d0bd1 Add access modifier (`public`) to methods in `WP_Filesystem_Direct`.
See #27881, #22234.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 00:09:14 +00:00
Andrew Nacin 3c3e9a530b Filesystem: Fix getchmod() for direct and ssh2 transports, for directories.
props DavidAnderson.
fixes #26598.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-17 20:17:15 +00:00
Sergey Biryukov cdba99d3b3 Being consistent is the gist, no single @since should have been missed.
see #26713.
Built from https://develop.svn.wordpress.org/trunk@26869


git-svn-id: http://core.svn.wordpress.org/trunk@26755 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-25 02:00:11 +00:00
Dion Hulse c43600ea4b First pass at documenting the WP_Filesystem methods. This also introduces stubs of the methods into the base class which are documented, which subclasses can override, some methods were cleaned up at the same time.
See #18476 See #23122. Props kurtpayne, bananastalktome, and, DrewAPicture 

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


git-svn-id: http://core.svn.wordpress.org/trunk@25478 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-22 04:44:10 +00:00
Dion Hulse 26ebfca466 Make use of the mbstring.func_overload helper functions in WP_Filesystem so byte lengths are properly determined. See #25259 Fixes #25237
Built from https://develop.svn.wordpress.org/trunk@25349


git-svn-id: http://core.svn.wordpress.org/trunk@25311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-11 08:27:10 +00:00
Dion Hulse 7a6fad844a WP_Filesystem: Let the code breathe, add some additional whitespace between method definitions and comments.
Built from https://develop.svn.wordpress.org/trunk@25305


git-svn-id: http://core.svn.wordpress.org/trunk@25267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-09 02:55:09 +00:00
Dion Hulse 6d1ffc62ea WP_Filesystem: Ensure that all files are read/written correctly by verifying the return values from fwrite() and using FTP_BINARY mode (ASCII converts line endings as per the spec). See #25237
Built from https://develop.svn.wordpress.org/trunk@25304


git-svn-id: http://core.svn.wordpress.org/trunk@25266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-09 02:43:08 +00:00
Helen Hou-Sandí b1f1579604 its <=> it's in documentation, along with a rogue the, The, and looses. props trepmal. fixes #22665.
git-svn-id: http://core.svn.wordpress.org/trunk@23191 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-20 15:55:32 +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
ryan 07ff8b216b Use one space, not two, after trailing punctuation. fixes #19537
git-svn-id: http://svn.automattic.com/wordpress/trunk@19593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-13 23:45:31 +00:00
dd32 53062d6414 WP_Filesystem_*::mkdir() untrailingslash path consistently, don't waste time attempting to create an "empty" path. See #15575. Props lordandrei and SergeyBiryukov for initial patches.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-13 10:43:38 +00:00
duck_ c1d1590171 Fix typos in documentation (wp-admin/). See #18560.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-09-03 14:18:10 +00:00
westi 53ce9d6f50 More phpdoc typo fixes. See #17414 props Utkarsh
git-svn-id: http://svn.automattic.com/wordpress/trunk@17926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-05-14 09:56:59 +00:00
ryan 04487fc268 Constructor cleanup. Props ocean90. fixes #16768
git-svn-id: http://svn.automattic.com/wordpress/trunk@17771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-29 20:05:12 +00:00
dd32 a83a2842ea Optimisations to WP_Filesystem; Pass known information to called functions. Props aldenta (John Ford) for investigation and patch. See #10913
git-svn-id: http://svn.automattic.com/wordpress/trunk@17525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-03-22 00:04:15 +00:00
nacin 5a20c05d27 Phpdoc argument/@param cleanups. props duck_, see #14783.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15590 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-07 11:21:11 +00:00
ryan c9d92fc859 Trim trailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@13025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-08 18:02:23 +00:00
dd32 de63fc36f8 Use rename() if possible in WP_Filesystem_Direct::move(). Props reaperhulk. Fixes #12150
git-svn-id: http://svn.automattic.com/wordpress/trunk@13001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-07 02:15:27 +00:00
dd32 a87c1e3ca9 Reduce code duplication, Formatting cleanups, Reduce Chmod IO calls. See #10913 for excess IO calls.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-07 01:31:40 +00:00
dd32 a8793e00c0 Fix recursive chmod for WP_Filesystem. Props reaperhulk for FtpExt. Fixes #11261
git-svn-id: http://svn.automattic.com/wordpress/trunk@12997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-07 01:12:29 +00:00
dd32 fc2c5fd21b Fix WP_Filesystem_Direct::mkdir() when running under safe_mode on certain versions of PHP. Props remi. Fixes #10497
git-svn-id: http://svn.automattic.com/wordpress/trunk@12741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-17 02:57:59 +00:00
dd32 41e561b941 Standardise WP_Filesystem_*::put_contents() arguments to support chmod reliably across all transports. Fixes #10889
git-svn-id: http://svn.automattic.com/wordpress/trunk@12723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-14 09:23:53 +00:00
azaozz 103ba096a7 Include 'hidden' directories in filesystem dirlist by default, props dd32, fixes #10774
git-svn-id: http://svn.automattic.com/wordpress/trunk@11934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-09-15 02:21:00 +00:00
ryan 8e3808bce2 Remove trailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@11930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-09-14 14:03:32 +00:00
azaozz 5c21d67399 WP_Filesystem fixes and phpdoc, props hakre dd32, see #10304
git-svn-id: http://svn.automattic.com/wordpress/trunk@11831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-08-16 08:34:53 +00:00