mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 05:18:52 +00:00
[ticket/11545] Remove DIRECTORY_SEPARATOR dependency from is_absolute
The given path is an absolute path in general, just not on our current system. PHPBB3-11545
This commit is contained in:
parent
c6de880cdb
commit
38dbfc17a7
2 changed files with 28 additions and 7 deletions
|
@ -1005,7 +1005,7 @@ if (!function_exists('stripos'))
|
||||||
*/
|
*/
|
||||||
function is_absolute($path)
|
function is_absolute($path)
|
||||||
{
|
{
|
||||||
return (isset($path[0]) && $path[0] == '/' || (DIRECTORY_SEPARATOR == '\\' && preg_match('#^[a-z]:[/\\\]#i', $path))) ? true : false;
|
return (isset($path[0]) && $path[0] == '/' || preg_match('#^[a-z]:[/\\\]#i', $path)) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,14 +14,35 @@ class phpbb_functions_is_absolute_test extends phpbb_test_case
|
||||||
static public function is_absolute_data()
|
static public function is_absolute_data()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
|
// Empty
|
||||||
array('', false),
|
array('', false),
|
||||||
array('/etc/phpbb', true),
|
|
||||||
array('etc/phpbb', false),
|
|
||||||
|
|
||||||
// Until we got DIRECTORY_SEPARATOR replaced in that function,
|
// Absolute unix style
|
||||||
// test results vary on OS.
|
array('/etc/phpbb', true),
|
||||||
array('c:\windows', DIRECTORY_SEPARATOR == '\\'),
|
// Unix does not support \ so that is not an absolute path
|
||||||
array('C:\Windows', DIRECTORY_SEPARATOR == '\\'),
|
array('\etc\phpbb', false),
|
||||||
|
|
||||||
|
// Absolute windows style
|
||||||
|
array('c:\windows', true),
|
||||||
|
array('C:\Windows', true),
|
||||||
|
array('c:/windows', true),
|
||||||
|
array('C:/Windows', true),
|
||||||
|
|
||||||
|
// Executable
|
||||||
|
array('etc/phpbb', false),
|
||||||
|
array('explorer.exe', false),
|
||||||
|
|
||||||
|
// Relative subdir
|
||||||
|
array('Windows\System32', false),
|
||||||
|
array('Windows\System32\explorer.exe', false),
|
||||||
|
array('Windows/System32', false),
|
||||||
|
array('Windows/System32/explorer.exe', false),
|
||||||
|
|
||||||
|
// Relative updir
|
||||||
|
array('..\Windows\System32', false),
|
||||||
|
array('..\Windows\System32\explorer.exe', false),
|
||||||
|
array('../Windows/System32', false),
|
||||||
|
array('../Windows/System32/explorer.exe', false),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue