mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/12589] Fix tests
PHPBB3-12589
This commit is contained in:
parent
f7896f46a5
commit
930c5d85ed
1 changed files with 44 additions and 42 deletions
|
@ -463,7 +463,10 @@ class finder
|
||||||
}
|
}
|
||||||
else if ($directory && $directory[0] === '/')
|
else if ($directory && $directory[0] === '/')
|
||||||
{
|
{
|
||||||
$path .= substr($directory, 1);
|
if (!$is_dir)
|
||||||
|
{
|
||||||
|
$path .= substr($directory, 1);
|
||||||
|
}
|
||||||
$directory_pattern = '^' . preg_quote(str_replace('/', DIRECTORY_SEPARATOR, $directory) . DIRECTORY_SEPARATOR, '#');
|
$directory_pattern = '^' . preg_quote(str_replace('/', DIRECTORY_SEPARATOR, $directory) . DIRECTORY_SEPARATOR, '#');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -476,57 +479,56 @@ class finder
|
||||||
}
|
}
|
||||||
$directory_pattern = '#' . $directory_pattern . '#';
|
$directory_pattern = '#' . $directory_pattern . '#';
|
||||||
|
|
||||||
$iterator = new \RecursiveIteratorIterator(
|
if (is_dir($path))
|
||||||
new \phpbb\recursive_dot_prefix_filter_iterator(
|
|
||||||
new \RecursiveDirectoryIterator(
|
|
||||||
$path,
|
|
||||||
\FilesystemIterator::SKIP_DOTS
|
|
||||||
)
|
|
||||||
),
|
|
||||||
\RecursiveIteratorIterator::SELF_FIRST
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($iterator as $file_info)
|
|
||||||
{
|
{
|
||||||
$filename = $file_info->getFilename();
|
$iterator = new \RecursiveIteratorIterator(
|
||||||
|
new \phpbb\recursive_dot_prefix_filter_iterator(
|
||||||
|
new \RecursiveDirectoryIterator(
|
||||||
|
$path,
|
||||||
|
\FilesystemIterator::SKIP_DOTS
|
||||||
|
)
|
||||||
|
),
|
||||||
|
\RecursiveIteratorIterator::SELF_FIRST
|
||||||
|
);
|
||||||
|
|
||||||
if ($file_info->isDir() == $is_dir)
|
foreach ($iterator as $file_info)
|
||||||
{
|
{
|
||||||
if ($is_dir)
|
$filename = $file_info->getFilename();
|
||||||
|
|
||||||
|
if ($file_info->isDir() == $is_dir)
|
||||||
{
|
{
|
||||||
$relative_path = $iterator->getInnerIterator()->getSubPath() . DIRECTORY_SEPARATOR . basename($filename) . DIRECTORY_SEPARATOR;
|
if ($is_dir)
|
||||||
if ($directory && $directory[0] === '/')
|
|
||||||
{
|
{
|
||||||
$relative_path = str_replace('/', DIRECTORY_SEPARATOR, $directory) . DIRECTORY_SEPARATOR . $relative_path;
|
$relative_path = $iterator->getInnerIterator()->getSubPath() . DIRECTORY_SEPARATOR . basename($filename) . DIRECTORY_SEPARATOR;
|
||||||
}
|
if ($relative_path[0] !== DIRECTORY_SEPARATOR)
|
||||||
else if ($relative_path[0] !== DIRECTORY_SEPARATOR)
|
{
|
||||||
{
|
$relative_path = DIRECTORY_SEPARATOR . $relative_path;
|
||||||
$relative_path = DIRECTORY_SEPARATOR . $relative_path;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$relative_path = DIRECTORY_SEPARATOR . $iterator->getInnerIterator()->getSubPathname();
|
|
||||||
if ($directory && $directory[0] === '/')
|
|
||||||
{
|
|
||||||
$relative_path = str_replace('/', DIRECTORY_SEPARATOR, $directory) . DIRECTORY_SEPARATOR . $relative_path;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$relative_path = DIRECTORY_SEPARATOR . $relative_path;
|
$relative_path = $iterator->getInnerIterator()->getSubPathname();
|
||||||
|
if ($directory && $directory[0] === '/')
|
||||||
|
{
|
||||||
|
$relative_path = str_replace('/', DIRECTORY_SEPARATOR, $directory) . DIRECTORY_SEPARATOR . $relative_path;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$relative_path = DIRECTORY_SEPARATOR . $relative_path;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ((!$suffix || substr($relative_path, -strlen($suffix)) === $suffix) &&
|
if ((!$suffix || substr($relative_path, -strlen($suffix)) === $suffix) &&
|
||||||
(!$prefix || substr($filename, 0, strlen($prefix)) === $prefix) &&
|
(!$prefix || substr($filename, 0, strlen($prefix)) === $prefix) &&
|
||||||
(!$directory || preg_match($directory_pattern, $relative_path)))
|
(!$directory || preg_match($directory_pattern, $relative_path)))
|
||||||
{
|
{
|
||||||
$files[] = array(
|
$files[] = array(
|
||||||
'named_path' => str_replace(DIRECTORY_SEPARATOR, '/', $location . $name . substr($relative_path, 1)),
|
'named_path' => str_replace(DIRECTORY_SEPARATOR, '/', $location . $name . substr($relative_path, 1)),
|
||||||
'ext_name' => $ext_name,
|
'ext_name' => $ext_name,
|
||||||
'path' => str_replace(array(DIRECTORY_SEPARATOR, $this->phpbb_root_path), array('/', ''), $file_info->getPath()) . '/',
|
'path' => str_replace(array(DIRECTORY_SEPARATOR, $this->phpbb_root_path), array('/', ''), $file_info->getPath()) . '/',
|
||||||
'filename' => $filename,
|
'filename' => $filename,
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue