Index: releases/5.0.0/core/kernel/startup.php =================================================================== diff -u -N --- releases/5.0.0/core/kernel/startup.php (revision 0) +++ releases/5.0.0/core/kernel/startup.php (revision 12099) @@ -0,0 +1,168 @@ +Don\'t forget to clean Cache table afterwards'); + } + + if (!function_exists('getmicrotime')) { + function getmicrotime() + { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); + } + } + $globals_start = getmicrotime(); + include_once(KERNEL_PATH . '/globals.php'); // non OOP functions used through kernel, e.g. print_pre + include_once(KERNEL_PATH . '/utility/multibyte.php'); // emulating multi-byte php extension + $globals_end = getmicrotime(); + + define('INPORTAL_ENV', 1); + + $vars = parse_portal_ini(FULL_PATH . '/config.php'); + + $admin_directory = isset($vars['AdminDirectory']) ? $vars['AdminDirectory'] : '/admin'; + safeDefine('ADMIN_DIRECTORY', $admin_directory); + + # New path detection method: begin + 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 + + safeDefine('INPORTAL_TAGS', true); + safeDefine('NPARSER', 1); // New Parser is enabled + safeDefine('SERVER_NAME', $_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $vars['Domain']); + + $https_mark = getArrayValue($_SERVER, 'HTTPS'); + safeDefine('PROTOCOL', ($https_mark == 'on') || ($https_mark == '1') ? 'https://' : 'http://'); + + safeDefine('APPLICATION_CLASS', isset($vars['ApplicationClass']) ? $vars['ApplicationClass'] : 'kApplication'); + safeDefine('APPLICATION_PATH', isset($vars['ApplicationPath']) ? $vars['ApplicationPath'] : '/core/kernel/application.php'); + + if (isset($vars['WriteablePath'])) { + define('WRITEABLE', FULL_PATH . $vars['WriteablePath']); + define('WRITEBALE_BASE', $vars['WriteablePath']); + } + + if ($vars === false || count($vars) == 0) { + global $rootURL; + echo 'In-Portal is probably not installed, or configuration file is missing.
'; + echo 'Please use the installation script to fix the problem.

'; + echo 'Go to installation script

'; + flush(); + exit; + } + + define('SQL_TYPE', $vars['DBType']); + define('SQL_SERVER', $vars['DBHost']); + define('SQL_USER', $vars['DBUser']); + define('SQL_PASS', $vars['DBUserPassword']); + define('SQL_DB', $vars['DBName']); + + if (isset($vars['DBCollation']) && isset($vars['DBCharset'])) { + define('SQL_COLLATION', $vars['DBCollation']); + define('SQL_CHARSET', $vars['DBCharset']); + } + define('TABLE_PREFIX', $vars['TablePrefix']); + + define('DOMAIN', getArrayValue($vars, 'Domain')); + + ini_set('memory_limit', '50M'); + + define('MODULES_PATH', FULL_PATH); + + define('EXPORT_BASE_PATH', (defined('WRITEBALE_BASE') ? WRITEBALE_BASE : ADMIN_DIRECTORY) . '/export'); + define('EXPORT_PATH', FULL_PATH . EXPORT_BASE_PATH); + + define('GW_CLASS_PATH', MODULES_PATH . '/in-commerce/units/gateways/gw_classes'); // Payment Gateway Classes Path + define('SYNC_CLASS_PATH', FULL_PATH . '/sync'); // path for 3rd party user syncronization scripts + + safeDefine('ENV_VAR_NAME','env'); + + safeDefine('IMAGES_PATH', (defined('WRITEBALE_BASE') ? WRITEBALE_BASE : '/kernel') . '/images/'); + safeDefine('IMAGES_PENDING_PATH', IMAGES_PATH . 'pending/'); + safeDefine('CUSTOM_UPLOAD_PATH', '/templates/images/custom/'); + safeDefine('MAX_UPLOAD_SIZE', min(ini_get('upload_max_filesize'), ini_get('post_max_size'))*1024*1024); + + safeDefine('EDITOR_PATH', isset($vars['EditorPath']) ? $vars['EditorPath'] : '/core/editor/'); + + if( ini_get('safe_mode') ) define('SAFE_MODE', 1); + + safeDefine('EXPERIMENTAL_PRE_PARSE', 1); + + if( file_exists(FULL_PATH . '/debug.php') ) + { + include_once(FULL_PATH . '/debug.php'); + if(isset($dbg_options['DEBUG_MODE']) && $dbg_options['DEBUG_MODE']) { + $debugger_start = getmicrotime(); + include_once(KERNEL_PATH . '/utility/debugger.php'); + $debugger_end = getmicrotime(); + if (isset($debugger) && constOn('DBG_PROFILE_INCLUDES')) { + $debugger->profileStart('inc_globals', KERNEL_PATH . '/globals.php', $globals_start); + $debugger->profileFinish('inc_globals', KERNEL_PATH . '/globals.php', $globals_end); + $debugger->profilerAddTotal('includes', 'inc_globals'); + + $debugger->profileStart('inc_debugger', KERNEL_PATH . '/utility/debugger.php', $debugger_start); + $debugger->profileFinish('inc_debugger', KERNEL_PATH . '/utility/debugger.php', $debugger_end); + $debugger->profilerAddTotal('includes', 'inc_debugger'); + } + } + } + + safeDefine('SILENT_LOG', 0); + + $includes = Array( + KERNEL_PATH . '/application.php', + FULL_PATH . APPLICATION_PATH, + KERNEL_PATH . '/db/db_connection.php', + KERNEL_PATH . "/kbase.php", + KERNEL_PATH . '/utility/event.php', + KERNEL_PATH . "/utility/factory.php", + KERNEL_PATH . "/languages/phrases_cache.php", + KERNEL_PATH . "/db/dblist.php", + KERNEL_PATH . "/db/dbitem.php", + KERNEL_PATH . "/event_handler.php", + KERNEL_PATH . '/db/db_event_handler.php', + ); + + foreach ($includes as $a_file) { + k4_include_once($a_file); + } + + if (defined('DEBUG_MODE') && DEBUG_MODE && isset($debugger)) { + $debugger->AttachToApplication(); + } + + if( !function_exists('adodb_mktime') ) include_once(KERNEL_PATH . '/utility/adodb-time.inc.php'); + +// include_once(KERNEL_PATH . '/utility/temp_handler.php'); // needed because of static calls from kBase + // up to here + + // global constants + define ('KG_TO_POUND', 2.20462262); + define ('POUND_TO_KG', 0.45359237); + + +?> \ No newline at end of file