wp/wp-admin/includes/class-wp-filesystem-direct.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
--- a/wp/wp-admin/includes/class-wp-filesystem-direct.php	Mon Jun 08 16:11:51 2015 +0000
+++ b/wp/wp-admin/includes/class-wp-filesystem-direct.php	Tue Jun 09 03:35:32 2015 +0200
@@ -9,7 +9,7 @@
 /**
  * WordPress Filesystem Class for direct PHP file and folder manipulation.
  *
- * @since 2.5
+ * @since 2.5.0
  * @package WordPress
  * @subpackage Filesystem
  * @uses WP_Filesystem_Base Extends class
@@ -21,7 +21,7 @@
 	 *
 	 * @param mixed $arg ignored argument
 	 */
-	function __construct($arg) {
+	public function __construct($arg) {
 		$this->method = 'direct';
 		$this->errors = new WP_Error();
 	}
@@ -32,7 +32,7 @@
 	 * @param string $file Name of the file to read.
 	 * @return string|bool The function returns the read data or false on failure.
 	 */
-	function get_contents($file) {
+	public function get_contents($file) {
 		return @file_get_contents($file);
 	}
 
@@ -42,19 +42,20 @@
 	 * @param string $file Path to the file.
 	 * @return array|bool the file contents in an array or false on failure.
 	 */
-	function get_contents_array($file) {
+	public function get_contents_array($file) {
 		return @file($file);
 	}
 
 	/**
 	 * Write a string to a file
 	 *
-	 * @param string $file Remote path to the file where to write the data.
+	 * @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.
-	 * @return bool False upon failure.
+	 * @param int    $mode     Optional. The file permissions as octal number, usually 0644.
+	 *                         Default false.
+	 * @return bool False upon failure, true otherwise.
 	 */
-	function put_contents( $file, $contents, $mode = false ) {
+	public function put_contents( $file, $contents, $mode = false ) {
 		$fp = @fopen( $file, 'wb' );
 		if ( ! $fp )
 			return false;
@@ -82,7 +83,7 @@
 	 *
 	 * @return string|bool the current working directory on success, or false on failure.
 	 */
-	function cwd() {
+	public function cwd() {
 		return @getcwd();
 	}
 
@@ -92,19 +93,19 @@
 	 * @param string $dir The new current directory.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chdir($dir) {
+	public function chdir($dir) {
 		return @chdir($dir);
 	}
 
 	/**
 	 * Changes file group
 	 *
-	 * @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.
+	 * @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. Default false.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chgrp($file, $group, $recursive = false) {
+	public function chgrp($file, $group, $recursive = false) {
 		if ( ! $this->exists($file) )
 			return false;
 		if ( ! $recursive )
@@ -123,12 +124,13 @@
 	/**
 	 * Changes filesystem permissions
 	 *
-	 * @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.
+	 * @param string $file      Path to the file.
+	 * @param int    $mode      Optional. The permissions as octal number, usually 0644 for files,
+	 *                          0755 for dirs. Default false.
+	 * @param bool   $recursive Optional. If set True changes file group recursively. Default false.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chmod($file, $mode = false, $recursive = false) {
+	public function chmod($file, $mode = false, $recursive = false) {
 		if ( ! $mode ) {
 			if ( $this->is_file($file) )
 				$mode = FS_CHMOD_FILE;
@@ -152,12 +154,13 @@
 	/**
 	 * Changes file owner
 	 *
-	 * @param string $file Path to the file.
-	 * @param mixed $owner A user name or number.
-	 * @param bool $recursive (optional) If set True changes file owner recursively. Defaults to False.
+	 * @param string $file      Path to the file.
+	 * @param mixed  $owner     A user name or number.
+	 * @param bool   $recursive Optional. If set True changes file owner recursively.
+	 *                          Default false.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chown($file, $owner, $recursive = false) {
+	public function chown($file, $owner, $recursive = false) {
 		if ( ! $this->exists($file) )
 			return false;
 		if ( ! $recursive )
@@ -178,7 +181,7 @@
 	 * @param string $file Path to the file.
 	 * @return string|bool Username of the user or false on error.
 	 */
-	function owner($file) {
+	public function owner($file) {
 		$owneruid = @fileowner($file);
 		if ( ! $owneruid )
 			return false;
@@ -194,13 +197,17 @@
 	 * FIXME does not handle errors in fileperms()
 	 *
 	 * @param string $file Path to the file.
-	 * @return string Mode of the file (last 4 digits).
+	 * @return string Mode of the file (last 3 digits).
 	 */
-	function getchmod($file) {
-		return substr(decoct(@fileperms($file)),3);
+	public function getchmod($file) {
+		return substr( decoct( @fileperms( $file ) ), -3 );
 	}
 
-	function group($file) {
+	/**
+	 * @param string $file
+	 * @return string|false
+	 */
+	public function group($file) {
 		$gid = @filegroup($file);
 		if ( ! $gid )
 			return false;
@@ -210,7 +217,14 @@
 		return $grouparray['name'];
 	}
 
-	function copy($source, $destination, $overwrite = false, $mode = false) {
+	/**
+	 * @param string $source
+	 * @param string $destination
+	 * @param bool   $overwrite
+	 * @param int    $mode
+	 * @return bool
+	 */
+	public function copy($source, $destination, $overwrite = false, $mode = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 
@@ -220,11 +234,17 @@
 		return $rtval;
 	}
 
-	function move($source, $destination, $overwrite = false) {
+	/**
+	 * @param string $source
+	 * @param string $destination
+	 * @param bool $overwrite
+	 * @return bool
+	 */
+	public function move($source, $destination, $overwrite = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 
-		// try using rename first. if that fails (for example, source is read only) try copy
+		// Try using rename first. if that fails (for example, source is read only) try copy.
 		if ( @rename($source, $destination) )
 			return true;
 
@@ -236,7 +256,13 @@
 		}
 	}
 
-	function delete($file, $recursive = false, $type = false) {
+	/**
+	 * @param string $file
+	 * @param bool $recursive
+	 * @param string $type
+	 * @return bool
+	 */
+	public function delete($file, $recursive = false, $type = false) {
 		if ( empty( $file ) ) // Some filesystems report this as /, which can cause non-expected recursive deletion of all files in the filesystem.
 			return false;
 		$file = str_replace( '\\', '/', $file ); // for win32, occasional problems deleting files otherwise
@@ -263,40 +289,75 @@
 
 		return $retval;
 	}
-
-	function exists($file) {
+	/**
+	 * @param string $file
+	 * @return bool
+	 */
+	public function exists($file) {
 		return @file_exists($file);
 	}
-
-	function is_file($file) {
+	/**
+	 * @param string $file
+	 * @return bool
+	 */
+	public function is_file($file) {
 		return @is_file($file);
 	}
-
-	function is_dir($path) {
+	/**
+	 * @param string $path
+	 * @return bool
+	 */
+	public function is_dir($path) {
 		return @is_dir($path);
 	}
 
-	function is_readable($file) {
+	/**
+	 * @param string $file
+	 * @return bool
+	 */
+	public function is_readable($file) {
 		return @is_readable($file);
 	}
 
-	function is_writable($file) {
+	/**
+	 * @param string $file
+	 * @return bool
+	 */
+	public function is_writable($file) {
 		return @is_writable($file);
 	}
 
-	function atime($file) {
+	/**
+	 * @param string $file
+	 * @return int
+	 */
+	public function atime($file) {
 		return @fileatime($file);
 	}
 
-	function mtime($file) {
+	/**
+	 * @param string $file
+	 * @return int
+	 */
+	public function mtime($file) {
 		return @filemtime($file);
 	}
 
-	function size($file) {
+	/**
+	 * @param string $file
+	 * @return int
+	 */
+	public function size($file) {
 		return @filesize($file);
 	}
 
-	function touch($file, $time = 0, $atime = 0) {
+	/**
+	 * @param string $file
+	 * @param int $time
+	 * @param int $atime
+	 * @return bool
+	 */
+	public function touch($file, $time = 0, $atime = 0) {
 		if ($time == 0)
 			$time = time();
 		if ($atime == 0)
@@ -304,8 +365,15 @@
 		return @touch($file, $time, $atime);
 	}
 
-	function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
-		// safe mode fails with a trailing slash under certain PHP versions.
+	/**
+	 * @param string $path
+	 * @param mixed  $chmod
+	 * @param mixed  $chown
+	 * @param mixed  $chgrp
+	 * @return bool
+	 */
+	public function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
+		// Safe mode fails with a trailing slash under certain PHP versions.
 		$path = untrailingslashit($path);
 		if ( empty($path) )
 			return false;
@@ -323,11 +391,22 @@
 		return true;
 	}
 
-	function rmdir($path, $recursive = false) {
+	/**
+	 * @param string $path
+	 * @param bool $recursive
+	 * @return bool
+	 */
+	public function rmdir($path, $recursive = false) {
 		return $this->delete($path, $recursive);
 	}
 
-	function dirlist($path, $include_hidden = true, $recursive = false) {
+	/**
+	 * @param string $path
+	 * @param bool $include_hidden
+	 * @param bool $recursive
+	 * @return bool|array
+	 */
+	public function dirlist($path, $include_hidden = true, $recursive = false) {
 		if ( $this->is_file($path) ) {
 			$limit_file = basename($path);
 			$path = dirname($path);