Index: branches/RC/core/kernel/startup.php =================================================================== diff -u -r8929 -r9389 --- branches/RC/core/kernel/startup.php (.../startup.php) (revision 8929) +++ branches/RC/core/kernel/startup.php (.../startup.php) (revision 9389) @@ -17,9 +17,23 @@ define('INPORTAL_ENV', 1); + $vars = parse_portal_ini(FULL_PATH.'/config.php'); + + $admin_directory = isset($vars['AdminDirectory']) ? $vars['AdminDirectory'] : '/admin'; + define('ADMIN_DIRECTORY', $admin_directory); + # New path detection method: begin - safeDefine('REL_PATH', '/admin'); - $ps = rtrim(preg_replace("/".preg_quote(rtrim(REL_PATH, '/'), '/')."$/", '', str_replace('\\', '/', dirname($_SERVER['PHP_SELF']))), '/'); + if (defined('REL_PATH')) { + // location of index.php relatively to site base folder + $relative_path = preg_replace('/^[\/]{0,1}admin(.*)/', $admin_directory.'\\1', REL_PATH); + } + else { + // default index.php relative location is administrative console folder + define('REL_PATH', $admin_directory); + $relative_path = REL_PATH; + } + + $ps = rtrim(preg_replace('/'.preg_quote(rtrim($relative_path, '/'), '/').'$/', '', str_replace('\\', '/', dirname($_SERVER['PHP_SELF']))), '/'); safeDefine('BASE_PATH', $ps); // in case in-portal has defined it before # New path detection method: end @@ -29,8 +43,6 @@ $https_mark = getArrayValue($_SERVER, 'HTTPS'); safeDefine('PROTOCOL', ($https_mark == 'on') || ($https_mark == '1') ? 'https://' : 'http://'); - $vars = parse_portal_ini(FULL_PATH.'/config.php'); - safeDefine('APPLICATION_CLASS', isset($vars['ApplicationClass']) ? $vars['ApplicationClass'] : 'kApplication'); safeDefine('APPLICATION_PATH', isset($vars['ApplicationPath']) ? $vars['ApplicationPath'] : '/core/kernel/application.php');