Update WordPress to 5.2
This commit is contained in:
parent
489b5a5914
commit
e00f87f2f5
599 changed files with 119573 additions and 55990 deletions
|
@ -36,16 +36,28 @@
|
|||
class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
||||
|
||||
/**
|
||||
* @since 2.7.0
|
||||
* @var resource
|
||||
*/
|
||||
public $link = false;
|
||||
|
||||
/**
|
||||
* @since 2.7.0
|
||||
* @var resource
|
||||
*/
|
||||
public $sftp_link;
|
||||
|
||||
/**
|
||||
* @since 2.7.0
|
||||
* @var bool
|
||||
*/
|
||||
public $keys = false;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param array $opt
|
||||
*/
|
||||
public function __construct( $opt = '' ) {
|
||||
|
@ -109,7 +121,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
* Connects filesystem.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function connect() {
|
||||
if ( ! $this->keys ) {
|
||||
|
@ -193,6 +209,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $command
|
||||
* @param bool $returnbool
|
||||
* @return bool|string True on success, false on failure. String if the command was executed, `$returnbool`
|
||||
|
@ -228,26 +246,40 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return string|false
|
||||
* Reads entire file into a string.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Name of the file to read.
|
||||
* @return string|false Read data on success, false if no temporary file could be opened,
|
||||
* or if the file couldn't be retrieved.
|
||||
*/
|
||||
public function get_contents( $file ) {
|
||||
return file_get_contents( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return array
|
||||
* Reads entire file into an array.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @return array|false File contents in an array on success, false on failure.
|
||||
*/
|
||||
public function get_contents_array( $file ) {
|
||||
return file( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @param string $contents
|
||||
* @param bool|int $mode
|
||||
* @return bool
|
||||
* Writes a string to a file.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Remote path to the file where to write the data.
|
||||
* @param string $contents The data to write.
|
||||
* @param int|false $mode Optional. The file permissions as octal number, usually 0644.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function put_contents( $file, $contents, $mode = false ) {
|
||||
$ret = file_put_contents( $this->sftp_path( $file ), $contents );
|
||||
|
@ -262,7 +294,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
* Gets the current working directory.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @return string|false The current working directory on success, false on failure.
|
||||
*/
|
||||
public function cwd() {
|
||||
$cwd = ssh2_sftp_realpath( $this->sftp_link, '.' );
|
||||
|
@ -273,19 +309,27 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $dir
|
||||
* @return bool|string
|
||||
* Changes current directory.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $dir The new current directory.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function chdir( $dir ) {
|
||||
return $this->run_command( 'cd ' . $dir, true );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @param string $group
|
||||
* @param bool $recursive
|
||||
* Changes the file group.
|
||||
*
|
||||
* @return bool
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @param string|int $group A group name or number.
|
||||
* @param bool $recursive Optional. If set to true, changes file group recursively.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function chgrp( $file, $group, $recursive = false ) {
|
||||
if ( ! $this->exists( $file ) ) {
|
||||
|
@ -298,10 +342,16 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @param int $mode
|
||||
* @param bool $recursive
|
||||
* @return bool|string
|
||||
* Changes filesystem permissions.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @param int|false $mode Optional. The permissions as octal number, usually 0644 for files,
|
||||
* 0755 for directories. Default false.
|
||||
* @param bool $recursive Optional. If set to true, changes file group recursively.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function chmod( $file, $mode = false, $recursive = false ) {
|
||||
if ( ! $this->exists( $file ) ) {
|
||||
|
@ -325,12 +375,15 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* Change the ownership of a file / folder.
|
||||
* Changes the owner of a file or directory.
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file or directory.
|
||||
* @param string|int $owner A user name or number.
|
||||
* @param bool $recursive Optional. If set True changes file owner recursivly. Default False.
|
||||
* @return bool True on success or false on failure.
|
||||
* @param bool $recursive Optional. If set to true, changes file owner recursively.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function chown( $file, $owner, $recursive = false ) {
|
||||
if ( ! $this->exists( $file ) ) {
|
||||
|
@ -343,8 +396,12 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return string|false
|
||||
* Gets the file owner.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @return string|false Username of the owner on success, false on failure.
|
||||
*/
|
||||
public function owner( $file ) {
|
||||
$owneruid = @fileowner( $this->sftp_path( $file ) );
|
||||
|
@ -359,16 +416,24 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return string
|
||||
* Gets the permissions of the specified file or filepath in their octal format.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @return string Mode of the file (the last 3 digits).
|
||||
*/
|
||||
public function getchmod( $file ) {
|
||||
return substr( decoct( @fileperms( $this->sftp_path( $file ) ) ), -3 );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return string|false
|
||||
* Gets the file's group.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file.
|
||||
* @return string|false The group on success, false on failure.
|
||||
*/
|
||||
public function group( $file ) {
|
||||
$gid = @filegroup( $this->sftp_path( $file ) );
|
||||
|
@ -383,11 +448,17 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $source
|
||||
* @param string $destination
|
||||
* @param bool $overwrite
|
||||
* @param int|bool $mode
|
||||
* @return bool
|
||||
* Copies a file.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $source Path to the source file.
|
||||
* @param string $destination Path to the destination file.
|
||||
* @param bool $overwrite Optional. Whether to overwrite the destination file if it exists.
|
||||
* Default false.
|
||||
* @param int|false $mode Optional. The permissions as octal number, usually 0644 for files,
|
||||
* 0755 for dirs. Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function copy( $source, $destination, $overwrite = false, $mode = false ) {
|
||||
if ( ! $overwrite && $this->exists( $destination ) ) {
|
||||
|
@ -401,20 +472,31 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $source
|
||||
* @param string $destination
|
||||
* @param bool $overwrite
|
||||
* @return bool
|
||||
* Moves a file.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $source Path to the source file.
|
||||
* @param string $destination Path to the destination file.
|
||||
* @param bool $overwrite Optional. Whether to overwrite the destination file if it exists.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function move( $source, $destination, $overwrite = false ) {
|
||||
return @ssh2_sftp_rename( $this->sftp_link, $source, $destination );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @param bool $recursive
|
||||
* @param string|bool $type
|
||||
* @return bool
|
||||
* Deletes a file or directory.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to the file or directory.
|
||||
* @param bool $recursive Optional. If set to true, changes file group recursively.
|
||||
* Default false.
|
||||
* @param string|false $type Type of resource. 'f' for file, 'd' for directory.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function delete( $file, $recursive = false, $type = false ) {
|
||||
if ( 'f' == $type || $this->is_file( $file ) ) {
|
||||
|
@ -433,40 +515,60 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return bool
|
||||
* Checks if a file or directory exists.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file or directory.
|
||||
* @return bool Whether $file exists or not.
|
||||
*/
|
||||
public function exists( $file ) {
|
||||
return file_exists( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return bool
|
||||
* Checks if resource is a file.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file File path.
|
||||
* @return bool Whether $file is a file.
|
||||
*/
|
||||
public function is_file( $file ) {
|
||||
return is_file( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $path
|
||||
* @return bool
|
||||
* Checks if resource is a directory.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $path Directory path.
|
||||
* @return bool Whether $path is a directory.
|
||||
*/
|
||||
public function is_dir( $path ) {
|
||||
return is_dir( $this->sftp_path( $path ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return bool
|
||||
* Checks if a file is readable.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file.
|
||||
* @return bool Whether $file is readable.
|
||||
*/
|
||||
public function is_readable( $file ) {
|
||||
return is_readable( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return bool
|
||||
* Checks if a file or directory is writable.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file or directory.
|
||||
* @return bool Whether $file is writable.
|
||||
*/
|
||||
public function is_writable( $file ) {
|
||||
// PHP will base it's writable checks on system_user === file_owner, not ssh_user === file_owner
|
||||
|
@ -474,44 +576,71 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return int
|
||||
* Gets the file's last access time.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file.
|
||||
* @return int|false Unix timestamp representing last access time, false on failure.
|
||||
*/
|
||||
public function atime( $file ) {
|
||||
return fileatime( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return int
|
||||
* Gets the file modification time.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file.
|
||||
* @return int|false Unix timestamp representing modification time, false on failure.
|
||||
*/
|
||||
public function mtime( $file ) {
|
||||
return filemtime( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return int
|
||||
* Gets the file size (in bytes).
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file.
|
||||
* @return int|false Size of the file in bytes on success, false on failure.
|
||||
*/
|
||||
public function size( $file ) {
|
||||
return filesize( $this->sftp_path( $file ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @param int $time
|
||||
* @param int $atime
|
||||
* Sets the access and modification times of a file.
|
||||
*
|
||||
* Note: Not implemented.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $file Path to file.
|
||||
* @param int $time Optional. Modified time to set for file.
|
||||
* Default 0.
|
||||
* @param int $atime Optional. Access time to set for file.
|
||||
* Default 0.
|
||||
*/
|
||||
public function touch( $file, $time = 0, $atime = 0 ) {
|
||||
//Not implemented.
|
||||
// Not implemented.
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $path
|
||||
* @param mixed $chmod
|
||||
* @param mixed $chown
|
||||
* @param mixed $chgrp
|
||||
* @return bool
|
||||
* Creates a directory.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $path Path for new directory.
|
||||
* @param int|false $chmod Optional. The permissions as octal number (or false to skip chmod).
|
||||
* Default false.
|
||||
* @param string|int $chown Optional. A user name or number (or false to skip chown).
|
||||
* Default false.
|
||||
* @param string|int $chgrp Optional. A group name or number (or false to skip chgrp).
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) {
|
||||
$path = untrailingslashit( $path );
|
||||
|
@ -535,19 +664,43 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $path
|
||||
* @param bool $recursive
|
||||
* @return bool
|
||||
* Deletes a directory.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $path Path to directory.
|
||||
* @param bool $recursive Optional. Whether to recursively remove files/directories.
|
||||
* Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function rmdir( $path, $recursive = false ) {
|
||||
return $this->delete( $path, $recursive );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $path
|
||||
* @param bool $include_hidden
|
||||
* @param bool $recursive
|
||||
* @return bool|array
|
||||
* Gets details for files in a directory or a specific file.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param string $path Path to directory or file.
|
||||
* @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files.
|
||||
* Default true.
|
||||
* @param bool $recursive Optional. Whether to recursively include file details in nested directories.
|
||||
* Default false.
|
||||
* @return array|false {
|
||||
* Array of files. False if unable to list directory contents.
|
||||
*
|
||||
* @type string $name Name of the file or directory.
|
||||
* @type string $perms *nix representation of permissions.
|
||||
* @type int $permsn Octal representation of permissions.
|
||||
* @type string $owner Owner name or ID.
|
||||
* @type int $size Size of file in bytes.
|
||||
* @type int $lastmodunix Last modified unix timestamp.
|
||||
* @type mixed $lastmod Last modified month (3 letter) and day (without leading 0).
|
||||
* @type int $time Last modified time.
|
||||
* @type string $type Type of resource. 'f' for file, 'd' for directory.
|
||||
* @type mixed $files If a directory and $recursive is true, contains another array of files.
|
||||
* }
|
||||
*/
|
||||
public function dirlist( $path, $include_hidden = true, $recursive = false ) {
|
||||
if ( $this->is_file( $path ) ) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue