Fix incorrect handling of path separator on Windows systems

This commit is contained in:
Kijin Sung 2016-04-01 14:47:34 +09:00
parent d81998c588
commit 921d7d8568
3 changed files with 4 additions and 6 deletions

View file

@ -145,7 +145,7 @@ class FileHandler
$output = array(); $output = array();
foreach ($list as $filename) foreach ($list as $filename)
{ {
$filename = str_replace(array('/\\', '//'), '/', $filename); $filename = str_replace(array('\\', '//'), '/', $filename);
$basename = $concat_prefix ? basename($filename) : $filename; $basename = $concat_prefix ? basename($filename) : $filename;
if ($basename[0] === '.' || ($filter && !preg_match($filter, $basename))) if ($basename[0] === '.' || ($filter && !preg_match($filter, $basename)))
{ {

View file

@ -25,11 +25,11 @@ define('RX_BASEDIR', str_replace('\\', '/', dirname(__DIR__)) . '/');
*/ */
if (isset($_SERVER['DOCUMENT_ROOT']) && !strncmp(RX_BASEDIR, str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']), strlen($_SERVER['DOCUMENT_ROOT']))) if (isset($_SERVER['DOCUMENT_ROOT']) && !strncmp(RX_BASEDIR, str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']), strlen($_SERVER['DOCUMENT_ROOT'])))
{ {
define('RX_BASEURL', rtrim(substr(RX_BASEDIR, strlen($_SERVER['DOCUMENT_ROOT'])), '/') . '/'); define('RX_BASEURL', '/' . trim(substr(RX_BASEDIR, strlen($_SERVER['DOCUMENT_ROOT'])), '/') . '/');
} }
elseif (isset($_SERVER['PHP_SELF']) && ($len = strlen($_SERVER['PHP_SELF'])) && $len >= 10 && substr($_SERVER['PHP_SELF'], $len - 10) === '/index.php') elseif (isset($_SERVER['PHP_SELF']) && ($len = strlen($_SERVER['PHP_SELF'])) && $len >= 10 && substr($_SERVER['PHP_SELF'], $len - 10) === '/index.php')
{ {
define('RX_BASEURL', rtrim(str_replace('\\', '/', substr($_SERVER['PHP_SELF'], 0, $len - 10)), '/') . '/'); define('RX_BASEURL', '/' . trim(str_replace('\\', '/', substr($_SERVER['PHP_SELF'], 0, $len - 10)), '/') . '/');
} }
else else
{ {

View file

@ -541,9 +541,7 @@ class installController extends install
foreach($module_list as $module_path) foreach($module_list as $module_path)
{ {
// Get module name // Get module name
$tmp_arr = explode('/',$module_path); $module = basename($module_path);
$module = $tmp_arr[count($tmp_arr)-1];
$xml_info = $oModuleModel->getModuleInfoXml($module); $xml_info = $oModuleModel->getModuleInfoXml($module);
if(!$xml_info) continue; if(!$xml_info) continue;
$modules[$xml_info->category][] = $module; $modules[$xml_info->category][] = $module;