From 7bebdb5eb5508965283d8ef6efaddbe35937281a Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Fri, 28 Dec 2012 09:47:09 +0100 Subject: [PATCH] // Fixed deleteDirectory function (is_dir is cached and must not be used, because use the result of scandir) --- classes/Tools.php | 3 +-- controllers/admin/AdminTranslationsController.php | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/classes/Tools.php b/classes/Tools.php index d73875339..ad33b4e23 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -669,8 +669,7 @@ class ToolsCore public static function deleteDirectory($dirname, $delete_self = true) { $dirname = rtrim($dirname, '/').'/'; - $files = scandir($dirname); - if (is_dir($dirname)) + if ($files = scandir($dirname)) { foreach ($files as $file) if ($file != '.' && $file != '..' && $file != '.svn') diff --git a/controllers/admin/AdminTranslationsController.php b/controllers/admin/AdminTranslationsController.php index aa91f2172..7bb566cd1 100644 --- a/controllers/admin/AdminTranslationsController.php +++ b/controllers/admin/AdminTranslationsController.php @@ -655,9 +655,8 @@ class AdminTranslationsControllerCore extends AdminController elseif (!preg_match('@^[0-9a-z-_/\\\\]+\.(html|tpl|txt)$@i', $file2check['filename'])) $this->errors[] = sprintf(Tools::displayError('Unidentified file found: %s'), $file2check['filename']); } - + Tools::deleteDirectory($sandbox, true); } - Tools::deleteDirectory($sandbox, true); if (count($this->errors)) return false;