X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/af50974463450c98503e763a7836a50e260461a9..3194d1bb103c2d8db4f44feeced5e58ee2756658:/wp-admin/includes/class-wp-filesystem-base.php?ds=sidebyside diff --git a/wp-admin/includes/class-wp-filesystem-base.php b/wp-admin/includes/class-wp-filesystem-base.php index 9b8ddb04..7e6a80f0 100644 --- a/wp-admin/includes/class-wp-filesystem-base.php +++ b/wp-admin/includes/class-wp-filesystem-base.php @@ -24,11 +24,11 @@ class WP_Filesystem_Base { /** * Cached list of local filepaths to mapped remote filepaths. * - * @access private + * @access public * @since 2.7.0 * @var array */ - private $cache = array(); + public $cache = array(); /** * The Access method of the current connection, Set automatically. @@ -40,56 +40,14 @@ class WP_Filesystem_Base { public $method = ''; /** - * Make private properties readable for backwards compatibility. - * - * @since 4.0.0 * @access public - * - * @param string $name Property to get. - * @return mixed Property. */ - public function __get( $name ) { - return $this->$name; - } + public $errors = null; /** - * Make private properties settable for backwards compatibility. - * - * @since 4.0.0 * @access public - * - * @param string $name Property to set. - * @param mixed $value Property value. - * @return mixed Newly-set property. */ - public function __set( $name, $value ) { - return $this->$name = $value; - } - - /** - * Make private properties checkable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property to check if set. - * @return bool Whether the property is set. - */ - public function __isset( $name ) { - return isset( $this->$name ); - } - - /** - * Make private properties un-settable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property to unset. - */ - public function __unset( $name ) { - unset( $this->$name ); - } + public $options = array(); /** * Return the path on the remote filesystem of ABSPATH. @@ -217,10 +175,9 @@ class WP_Filesystem_Base { * @since 2.7.0 * * @param string $folder the folder to locate. - * @return string The location of the remote path. + * @return string|false The location of the remote path, false on failure. */ public function find_folder( $folder ) { - if ( isset( $this->cache[ $folder ] ) ) return $this->cache[ $folder ]; @@ -280,13 +237,13 @@ class WP_Filesystem_Base { * * Expects Windows sanitized path. * - * @access private + * @access public * @since 2.7.0 * * @param string $folder The folder to locate. * @param string $base The folder to start searching from. * @param bool $loop If the function has recursed, Internal use only. - * @return string The location of the remote path. + * @return string|false The location of the remote path, false to cease looping. */ public function search_for_folder( $folder, $base = '.', $loop = false ) { if ( empty( $base ) || '.' == $base ) @@ -294,8 +251,10 @@ class WP_Filesystem_Base { $folder = untrailingslashit($folder); - if ( $this->verbose ) - printf( "\n" . __('Looking for %1$s in %2$s') . "
\n", $folder, $base ); + if ( $this->verbose ) { + /* translators: 1: folder to locate, 2: folder to start searching from */ + printf( "\n" . __( 'Looking for %1$s in %2$s' ) . "
\n", $folder, $base ); + } $folder_parts = explode('/', $folder); $folder_part_keys = array_keys( $folder_parts ); @@ -319,8 +278,10 @@ class WP_Filesystem_Base { // Let's try that folder: $newdir = trailingslashit(path_join($base, $key)); - if ( $this->verbose ) - printf( "\n" . __('Changing to %s') . "
\n", $newdir ); + if ( $this->verbose ) { + /* translators: %s: directory name */ + printf( "\n" . __( 'Changing to %s' ) . "
\n", $newdir ); + } // Only search for the remaining path tokens in the directory, not the full path again. $newfolder = implode( '/', array_slice( $folder_parts, $index + 1 ) ); @@ -329,10 +290,13 @@ class WP_Filesystem_Base { } } - // Only check this as a last resort, to prevent locating the incorrect install. All above procedures will fail quickly if this is the right branch to take. + // Only check this as a last resort, to prevent locating the incorrect install. + // All above procedures will fail quickly if this is the right branch to take. if (isset( $files[ $last_path ] ) ) { - if ( $this->verbose ) - printf( "\n" . __('Found %s') . "
\n", $base . $last_path ); + if ( $this->verbose ) { + /* translators: %s: directory name */ + printf( "\n" . __( 'Found %s' ) . "
\n", $base . $last_path ); + } return trailingslashit($base . $last_path); } @@ -361,7 +325,7 @@ class WP_Filesystem_Base { * @return string The *nix-style representation of permissions. */ public function gethchmod( $file ){ - $perms = $this->getchmod($file); + $perms = intval( $this->getchmod( $file ), 8 ); if (($perms & 0xC000) == 0xC000) // Socket $info = 's'; elseif (($perms & 0xA000) == 0xA000) // Symbolic Link @@ -402,6 +366,18 @@ class WP_Filesystem_Base { return $info; } + /** + * Gets the permissions of the specified file or filepath in their octal format + * + * @access public + * @since 2.5.0 + * @param string $file + * @return string the last 3 characters of the octal number + */ + public function getchmod( $file ) { + return '777'; + } + /** * Convert *nix-style file permissions to a octal number. * @@ -421,9 +397,11 @@ class WP_Filesystem_Base { $legal = array('', 'w', 'r', 'x', '-'); $attarray = preg_split('//', $mode); - for ($i=0; $i < count($attarray); $i++) - if ($key = array_search($attarray[$i], $legal)) + for ( $i = 0, $c = count( $attarray ); $i < $c; $i++ ) { + if ($key = array_search($attarray[$i], $legal)) { $realmode .= $legal[$key]; + } + } $mode = str_pad($realmode, 10, '-', STR_PAD_LEFT); $trans = array('-'=>'0', 'r'=>'4', 'w'=>'2', 'x'=>'1'); @@ -439,7 +417,7 @@ class WP_Filesystem_Base { /** * Determine if the string provided contains binary characters. * - * @access private + * @access public * @since 2.7.0 * * @param string $text String to test against. @@ -454,6 +432,7 @@ class WP_Filesystem_Base { * * Default behavior is to do nothing, override this in your subclass, if desired. * + * @access public * @since 2.5.0 * * @param string $file Path to the file. @@ -468,8 +447,10 @@ class WP_Filesystem_Base { /** * Connect filesystem. * + * @access public * @since 2.5.0 * @abstract + * * @return bool True on success or false on failure (always true for WP_Filesystem_Direct). */ public function connect() { @@ -479,8 +460,10 @@ class WP_Filesystem_Base { /** * Read entire file into a string. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Name of the file to read. * @return mixed|bool Returns the read data or false on failure. */ @@ -491,8 +474,10 @@ class WP_Filesystem_Base { /** * Read entire file into an array. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to the file. * @return array|bool the file contents in an array or false on failure. */ @@ -503,8 +488,10 @@ class WP_Filesystem_Base { /** * Write a string to a file. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Remote path to the file where to write the data. * @param string $contents The data to write. * @param int $mode Optional. The file permissions as octal number, usually 0644. @@ -517,8 +504,10 @@ class WP_Filesystem_Base { /** * Get the current working directory. * + * @access public * @since 2.5.0 * @abstract + * * @return string|bool The current working directory on success, or false on failure. */ public function cwd() { @@ -528,10 +517,12 @@ class WP_Filesystem_Base { /** * Change current directory. * + * @access public * @since 2.5.0 * @abstract + * * @param string $dir The new current directory. - * @return bool Returns true on success or false on failure. + * @return bool|string */ public function chdir( $dir ) { return false; @@ -540,12 +531,14 @@ class WP_Filesystem_Base { /** * Change the file group. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to the file. * @param mixed $group A group name or number. * @param bool $recursive Optional. If set True changes file group recursively. Defaults to False. - * @return bool Returns true on success or false on failure. + * @return bool|string */ public function chgrp( $file, $group, $recursive = false ) { return false; @@ -554,12 +547,14 @@ class WP_Filesystem_Base { /** * Change filesystem permissions. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to the file. * @param int $mode Optional. The permissions as octal number, usually 0644 for files, 0755 for dirs. * @param bool $recursive Optional. If set True changes file group recursively. Defaults to False. - * @return bool Returns true on success or false on failure. + * @return bool|string */ public function chmod( $file, $mode = false, $recursive = false ) { return false; @@ -568,8 +563,10 @@ class WP_Filesystem_Base { /** * Get the file owner. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to the file. * @return string|bool Username of the user or false on error. */ @@ -580,8 +577,10 @@ class WP_Filesystem_Base { /** * Get the file's group. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to the file. * @return string|bool The group or false on error. */ @@ -592,8 +591,10 @@ class WP_Filesystem_Base { /** * Copy a file. * + * @access public * @since 2.5.0 * @abstract + * * @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. @@ -609,8 +610,10 @@ class WP_Filesystem_Base { /** * Move a file. * + * @access public * @since 2.5.0 * @abstract + * * @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. @@ -624,8 +627,10 @@ class WP_Filesystem_Base { /** * Delete a file or directory. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to the file. * @param bool $recursive Optional. If set True changes file group recursively. Defaults to False. * Default false. @@ -640,8 +645,10 @@ class WP_Filesystem_Base { /** * Check if a file or directory exists. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to file/directory. * @return bool Whether $file exists or not. */ @@ -652,8 +659,10 @@ class WP_Filesystem_Base { /** * Check if resource is a file. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file File path. * @return bool Whether $file is a file. */ @@ -664,8 +673,10 @@ class WP_Filesystem_Base { /** * Check if resource is a directory. * + * @access public * @since 2.5.0 * @abstract + * * @param string $path Directory path. * @return bool Whether $path is a directory. */ @@ -676,8 +687,10 @@ class WP_Filesystem_Base { /** * Check if a file is readable. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to file. * @return bool Whether $file is readable. */ @@ -688,8 +701,10 @@ class WP_Filesystem_Base { /** * Check if a file or directory is writable. * + * @access public * @since 2.5.0 * @abstract + * * @return bool Whether $file is writable. */ public function is_writable( $file ) { @@ -699,8 +714,10 @@ class WP_Filesystem_Base { /** * Gets the file's last access time. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to file. * @return int|bool Unix timestamp representing last access time. */ @@ -711,8 +728,10 @@ class WP_Filesystem_Base { /** * Gets the file modification time. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to file. * @return int|bool Unix timestamp representing modification time. */ @@ -723,8 +742,10 @@ class WP_Filesystem_Base { /** * Gets the file size (in bytes). * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to file. * @return int|bool Size of the file in bytes. */ @@ -737,8 +758,10 @@ class WP_Filesystem_Base { * * Note: If $file doesn't exist, it will be created. * + * @access public * @since 2.5.0 * @abstract + * * @param string $file Path to file. * @param int $time Optional. Modified time to set for file. * Default 0. @@ -753,8 +776,10 @@ class WP_Filesystem_Base { /** * Create a directory. * + * @access public * @since 2.5.0 * @abstract + * * @param string $path Path for new directory. * @param mixed $chmod Optional. The permissions as octal number, (or False to skip chmod) * Default false. @@ -771,8 +796,10 @@ class WP_Filesystem_Base { /** * Delete a directory. * + * @access public * @since 2.5.0 * @abstract + * * @param string $path Path to directory. * @param bool $recursive Optional. Whether to recursively remove files/directories. * Default false. @@ -785,6 +812,7 @@ class WP_Filesystem_Base { /** * Get details for files in a directory or a specific file. * + * @access public * @since 2.5.0 * @abstract *