Filesystem API: Change the default value for the `$context` parameter of `get_filesystem_method()` and `request_filesystem_credentials()` to an empty string.

`$context` is a full path to the directory that is tested for being writable. A path shouldn't be a boolean value.
This also updates `WP_Upgrader_Skin::request_filesystem_credentials()` and `Automatic_Upgrader_Skin::request_filesystem_credentials()` and adds missing docs.

Props DrewAPicture, ocean90.
Fixes #37412.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Dominik Schilling 2016-07-22 12:10:27 +00:00
parent eb0ee24750
commit 3a3828c396
4 changed files with 42 additions and 23 deletions

View File

@ -22,11 +22,20 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
protected $messages = array(); protected $messages = array();
/** /**
* Determines whether the upgrader needs FTP/SSH details in order to connect
* to the filesystem.
* *
* @param bool $error * @since 3.7.0
* @param string $context * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string.
* @param bool $allow_relaxed_file_ownership *
* @return bool * @see request_filesystem_credentials()
*
* @param bool $error Optional. Whether the current request has failed to connect.
* Default false.
* @param string $context Optional. Full path to the directory that is tested
* for being writable. Default empty.
* @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. Default false.
* @return bool True on success, false on failure.
*/ */
public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) { public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) {
if ( $context ) { if ( $context ) {

View File

@ -66,13 +66,22 @@ class WP_Upgrader_Skin {
} }
/** /**
* Displays a form to the user to request for their FTP/SSH details in order
* to connect to the filesystem.
* *
* @param bool $error * @since 2.8.0
* @param string $context * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string.
* @param bool $allow_relaxed_file_ownership *
* @return type * @see request_filesystem_credentials()
*
* @param bool $error Optional. Whether the current request has failed to connect.
* Default false.
* @param string $context Optional. Full path to the directory that is tested
* for being writable. Default empty.
* @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. Default false.
* @return bool False on failure, true on success.
*/ */
public function request_filesystem_credentials( $error = false, $context = false, $allow_relaxed_file_ownership = false ) { public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) {
$url = $this->options['url']; $url = $this->options['url'];
if ( ! $context ) { if ( ! $context ) {
$context = $this->options['context']; $context = $this->options['context'];

View File

@ -957,12 +957,12 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own
* *
* @param array $args Optional. Connection details. Default empty array. * @param array $args Optional. Connection details. Default empty array.
* @param string $context Optional. Full path to the directory that is tested * @param string $context Optional. Full path to the directory that is tested
* for being writable. Default false. * for being writable. Default empty.
* @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable.
* Default false. * Default false.
* @return string The transport to use, see description for valid return values. * @return string The transport to use, see description for valid return values.
*/ */
function get_filesystem_method( $args = array(), $context = false, $allow_relaxed_file_ownership = false ) { function get_filesystem_method( $args = array(), $context = '', $allow_relaxed_file_ownership = false ) {
$method = defined('FS_METHOD') ? FS_METHOD : false; // Please ensure that this is either 'direct', 'ssh2', 'ftpext' or 'ftpsockets' $method = defined('FS_METHOD') ? FS_METHOD : false; // Please ensure that this is either 'direct', 'ssh2', 'ftpext' or 'ftpsockets'
if ( ! $context ) { if ( ! $context ) {
@ -1027,15 +1027,15 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe
* Displays a form to the user to request for their FTP/SSH details in order * Displays a form to the user to request for their FTP/SSH details in order
* to connect to the filesystem. * to connect to the filesystem.
* *
* All chosen/entered details are saved, Excluding the Password. * All chosen/entered details are saved, excluding the password.
* *
* Hostnames may be in the form of hostname:portnumber (eg: wordpress.org:2467) * Hostnames may be in the form of hostname:portnumber (eg: wordpress.org:2467)
* to specify an alternate FTP/SSH port. * to specify an alternate FTP/SSH port.
* *
* Plugins may override this form by returning true|false via the * Plugins may override this form by returning true|false via the {@see 'request_filesystem_credentials'} filter.
* {@see 'request_filesystem_credentials'} filter.
* *
* @since 2.5. * @since 2.5.0
* @since 4.6.0 The `$context` parameter default changed from `false` to an empty string.
* *
* @global string $pagenow * @global string $pagenow
* *
@ -1043,16 +1043,15 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe
* @param string $type Optional. Chosen type of filesystem. Default empty. * @param string $type Optional. Chosen type of filesystem. Default empty.
* @param bool $error Optional. Whether the current request has failed to connect. * @param bool $error Optional. Whether the current request has failed to connect.
* Default false. * Default false.
* @param string $context Optional. Full path to the directory that is tested * @param string $context Optional. Full path to the directory that is tested for being
* for being writable. Default false. * writable. Default empty.
* @param array $extra_fields Optional. Extra POST fields which should be checked for * @param array $extra_fields Optional. Extra `POST` fields to be checked for inclusion in
* to be included in the post. Default null. * the post. Default null.
* @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. Default false.
* Default false.
* *
* @return bool False on failure, true on success. * @return bool False on failure, true on success.
*/ */
function request_filesystem_credentials( $form_post, $type = '', $error = false, $context = false, $extra_fields = null, $allow_relaxed_file_ownership = false ) { function request_filesystem_credentials( $form_post, $type = '', $error = false, $context = '', $extra_fields = null, $allow_relaxed_file_ownership = false ) {
global $pagenow; global $pagenow;
/** /**
@ -1062,6 +1061,7 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
* output of the filesystem credentials form, returning that value instead. * output of the filesystem credentials form, returning that value instead.
* *
* @since 2.5.0 * @since 2.5.0
* @since 4.6.0 The `$context` parameter default changed from `false` to an empty string.
* *
* @param mixed $output Form output to return instead. Default empty. * @param mixed $output Form output to return instead. Default empty.
* @param string $form_post The URL to post the form to. * @param string $form_post The URL to post the form to.
@ -1160,6 +1160,7 @@ function request_filesystem_credentials( $form_post, $type = '', $error = false,
* Filters the connection types to output to the filesystem credentials form. * Filters the connection types to output to the filesystem credentials form.
* *
* @since 2.9.0 * @since 2.9.0
* @since 4.6.0 The `$context` parameter default changed from `false` to an empty string.
* *
* @param array $types Types of connections. * @param array $types Types of connections.
* @param array $credentials Credentials to connect with. * @param array $credentials Credentials to connect with.

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '4.6-beta4-38137'; $wp_version = '4.6-beta4-38138';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.