Index: helpers/file_helper.php =================================================================== --- helpers/file_helper.php (revision 15437) +++ helpers/file_helper.php (working copy) @@ -423,7 +423,7 @@ * @param Array $forbidden_names * @return string */ - public function ensureUniqueFilename($path, $name, $forbidden_names = Array()) + public function ensureUniqueFilename($path, $name, $forbidden_names = Array ()) { $parts = pathinfo($name); $ext = '.' . $parts['extension']; @@ -441,7 +441,7 @@ // when storage engine folder is supplied as a part of $name $this->CheckFolder($path); - do { + while (file_exists($path . '/' . $new_name) || in_array($path . '/' . $new_name, $forbidden_names)) { if ( preg_match('/(.*)_([0-9]*)(' . preg_quote($ext, '/') . ')/', $new_name, $regs) ) { $new_name = $regs[1] . '_' . ((int)$regs[2] + 1) . $regs[3]; } @@ -450,8 +450,7 @@ } $original_checked = true; - $res = file_exists($path . '/' . $new_name) || in_array($path . '/' . $new_name, $forbidden_names); - } while ($res !== false); + } if ( $parts['dirname'] != '.' ) { $new_name = $parts['dirname'] . '/' . $new_name;