function backup_migrate_destination_files::check_dir in Backup and Migrate 6.2
Same name and namespace in other branches
- 8.2 includes/destinations.file.inc \backup_migrate_destination_files::check_dir()
- 8.3 includes/destinations.file.inc \backup_migrate_destination_files::check_dir()
- 6.3 includes/destinations.file.inc \backup_migrate_destination_files::check_dir()
- 7.3 includes/destinations.file.inc \backup_migrate_destination_files::check_dir()
- 7.2 includes/destinations.file.inc \backup_migrate_destination_files::check_dir()
Prepare the destination directory for the backups.
1 call to backup_migrate_destination_files::check_dir()
- backup_migrate_destination_files::save_file in includes/
destinations.file.inc - File save destination callback.
File
- includes/
destinations.file.inc, line 174 - A destination type for saving locally to the server.
Class
- backup_migrate_destination_files
- A destination type for saving locally to the server.
Code
function check_dir($directory) {
$out = TRUE;
$dirs = array();
// If the directory doesn't exist try to create it.
if (!is_dir($directory)) {
foreach (explode('/', $directory) as $dir) {
$dirs[] = $dir;
$path = implode($dirs, '/');
if ($path && !is_dir(realpath($path)) && !file_check_directory($path, FILE_CREATE_DIRECTORY)) {
$out = FALSE;
}
}
if (!$out || !file_check_directory($directory)) {
// Unable to create destination directory.
_backup_migrate_message("Unable to create or write to the save directory '%directory'. Please check the file permissions that directory and try again.", array(
'%directory' => $directory,
), "error");
return FALSE;
}
}
// If the destination directory is within the webroot, then secure it as best we can.
if ($this
->dir_in_webroot($directory)) {
$directory = $this
->check_web_dir($directory);
}
return $directory;
}