mirror of
https://github.com/phpbb/phpbb.git
synced 2025-03-13 20:28:44 +01: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
@ -1005,7 +1005,7 @@ if (!function_exists('stripos'))
|
||||
*/
|
||||
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()
|
||||
{
|
||||
return array(
|
||||
// Empty
|
||||
array('', false),
|
||||
array('/etc/phpbb', true),
|
||||
array('etc/phpbb', false),
|
||||
|
||||
// Until we got DIRECTORY_SEPARATOR replaced in that function,
|
||||
// test results vary on OS.
|
||||
array('c:\windows', DIRECTORY_SEPARATOR == '\\'),
|
||||
array('C:\Windows', DIRECTORY_SEPARATOR == '\\'),
|
||||
// Absolute unix style
|
||||
array('/etc/phpbb', true),
|
||||
// Unix does not support \ so that is not an absolute path
|
||||
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…
x
Reference in New Issue
Block a user