From 0f3761b99d15c41907ab32a8a398840c14e871c4 Mon Sep 17 00:00:00 2001 From: Angie Byron <webchick@24967.no-reply.drupal.org> Date: Fri, 10 Jul 2009 03:46:33 +0000 Subject: [PATCH] #515280 by drewish: Allow file_create_directory() to create recursively, taking advantage of PHP 5. --- includes/file.inc | 4 +++- modules/simpletest/tests/file.test | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/includes/file.inc b/includes/file.inc index 6cf3586df890..4495aca9d317 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -156,7 +156,9 @@ function file_check_directory(&$directory, $mode = 0, $form_item = NULL) { // Check if directory exists. if (!is_dir($directory)) { - if (($mode & FILE_CREATE_DIRECTORY) && @mkdir($directory)) { + // Let mkdir() recursively create directories and use the default directory + // permissions. + if (($mode & FILE_CREATE_DIRECTORY) && @mkdir($directory, variable_get('file_chmod_directory', 0775), TRUE)) { drupal_chmod($directory); } else { diff --git a/modules/simpletest/tests/file.test b/modules/simpletest/tests/file.test index bbf434055d62..b443777ba981 100644 --- a/modules/simpletest/tests/file.test +++ b/modules/simpletest/tests/file.test @@ -672,7 +672,7 @@ class FileDirectoryTest extends FileTestCase { */ function testFileCheckDirectory() { // A directory to operate on. - $directory = file_directory_path() . '/' . $this->randomName(); + $directory = file_directory_path() . '/' . $this->randomName() . '/' . $this->randomName(); $this->assertFalse(is_dir($directory), t('Directory does not exist prior to testing.')); // Non-existent directory. -- GitLab