1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-09 16:17:14 +02:00

Move file-realted methods to file_class.php.

This commit is contained in:
lonalore
2017-08-07 09:49:19 +02:00
parent d6daa6b5bf
commit 33683738e9

View File

@@ -585,116 +585,6 @@ class e107
return $ret;
}
/**
* FIXME - move this to a file-related class? But must be available before any includes (e107 init).
*
* Checks that the directory exists and is writable.
*
* @param string $directory
* A string containing the name of a directory path. A trailing slash will be trimmed from a path.
* @param int $options
* A bitmask to indicate if the directory should be created if it does not exist (e107::FILE_CREATE_DIRECTORY) or
* made writable if it is read-only (e107::FILE_MODIFY_PERMISSIONS).
*
* @return bool
* TRUE if the directory exists (or was created) and is writable. FALSE otherwise.
*/
function prepareDirectory($directory, $options = self::FILE_MODIFY_PERMISSIONS)
{
$directory = rtrim($directory, '/\\');
// Check if directory exists.
if(!is_dir($directory))
{
// Let mkdir() recursively create directories and use the default directory permissions.
if(($options & self::FILE_CREATE_DIRECTORY) && @$this->mkDir($directory, null, true))
{
return $this->chMod($directory);
}
return false;
}
// The directory exists, so check to see if it is writable.
$writable = is_writable($directory);
if(!$writable && ($options & self::FILE_MODIFY_PERMISSIONS))
{
return $this->chMod($directory);
}
return $writable;
}
/**
* FIXME - move this to a file-related class? But must be available before any includes (e107 init).
*
* Sets the permissions on a file or directory.
*
* @param string $path
* A string containing a file, or directory path.
* @param int $mode
* Integer value for the permissions. Consult PHP chmod() documentation for more information.
*
* @return bool
* TRUE for success, FALSE in the event of an error.
*/
function chMod($path, $mode = null)
{
if(!isset($mode))
{
if(is_dir($path))
{
$mode = 0775;
}
else
{
$mode = 0664;
}
}
if(@chmod($path, $mode))
{
return true;
}
return false;
}
/**
* FIXME - move this to a file-related class? But must be available before any includes (e107 init).
*
* Creates a directory.
*
* @param string $path
* A string containing a file path.
* @param int $mode
* Mode is used.
* @param bool $recursive
* Default to FALSE.
* @param null $context
* Refer to http://php.net/manual/ref.stream.php
*
* @return bool
* Boolean TRUE on success, or FALSE on failure.
*/
function mkDir($path, $mode = null, $recursive = false, $context = null)
{
if(!isset($mode))
{
$mode = 0775;
}
if(!isset($context))
{
return mkdir($path, $mode, $recursive);
}
else
{
return mkdir($path, $mode, $recursive, $context);
}
}
/**
* Set mysql data
*