/api/init.php

https://github.com/xnsimon/dmk · PHP · 137 lines · 93 code · 23 blank · 21 comment · 20 complexity · d8a527acea8d50ea754985323d8d592c MD5 · raw file

  1. <?php
  2. /**
  3. * ECSHOP API 公用初始化文件
  4. * ============================================================================
  5. * 版权所有 2005-2010 上海商派网络科技有限公司,并保留所有权利。
  6. * 网站地址: http://www.ecshop.com;
  7. * ----------------------------------------------------------------------------
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
  9. * 使用;不允许对程序代码以任何形式任何目的的再发布。
  10. * ============================================================================
  11. * $Author: liuhui $
  12. * $Id: init.php 17063 2010-03-25 06:35:46Z liuhui $
  13. */
  14. if (!defined('IN_ECS'))
  15. {
  16. die('Hacking attempt');
  17. }
  18. error_reporting(E_ALL);
  19. if (__FILE__ == '')
  20. {
  21. die('Fatal error code: 0');
  22. }
  23. /* 取得当前ecshop所在的根目录 */
  24. define('ROOT_PATH', str_replace('api', '', str_replace('\\', '/', dirname(__FILE__))));
  25. /* 初始化设置 */
  26. @ini_set('memory_limit', '16M');
  27. @ini_set('session.cache_expire', 180);
  28. @ini_set('session.use_trans_sid', 0);
  29. @ini_set('session.use_cookies', 1);
  30. @ini_set('session.auto_start', 0);
  31. @ini_set('display_errors', 1);
  32. if (DIRECTORY_SEPARATOR == '\\')
  33. {
  34. @ini_set('include_path', '.;' . ROOT_PATH);
  35. }
  36. else
  37. {
  38. @ini_set('include_path', '.:' . ROOT_PATH);
  39. }
  40. if (file_exists(ROOT_PATH . 'data/config.php'))
  41. {
  42. include(ROOT_PATH . 'data/config.php');
  43. }
  44. else
  45. {
  46. include(ROOT_PATH . 'includes/config.php');
  47. }
  48. if (defined('DEBUG_MODE') == false)
  49. {
  50. define('DEBUG_MODE', 0);
  51. }
  52. if (PHP_VERSION >= '5.1' && !empty($timezone))
  53. {
  54. date_default_timezone_set($timezone);
  55. }
  56. $php_self = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
  57. if ('/' == substr($php_self, -1))
  58. {
  59. $php_self .= 'index.php';
  60. }
  61. define('PHP_SELF', $php_self);
  62. require(ROOT_PATH . 'includes/inc_constant.php');
  63. require(ROOT_PATH . 'includes/cls_ecshop.php');
  64. require(ROOT_PATH . 'includes/lib_base.php');
  65. require(ROOT_PATH . 'includes/lib_common.php');
  66. require(ROOT_PATH . 'includes/lib_time.php');
  67. /* 对用户传入的变量进行转义操作。*/
  68. if (!get_magic_quotes_gpc())
  69. {
  70. if (!empty($_GET))
  71. {
  72. $_GET = addslashes_deep($_GET);
  73. }
  74. if (!empty($_POST))
  75. {
  76. $_POST = addslashes_deep($_POST);
  77. }
  78. $_COOKIE = addslashes_deep($_COOKIE);
  79. $_REQUEST = addslashes_deep($_REQUEST);
  80. }
  81. /* 创建 ECSHOP 对象 */
  82. $ecs = new ECS($db_name, $prefix);
  83. $data_dir = $ecs->data_dir();
  84. /* 初始化数据库类 */
  85. require(ROOT_PATH . 'includes/cls_mysql.php');
  86. $db = new cls_mysql($db_host, $db_user, $db_pass, $db_name);
  87. $db_host = $db_user = $db_pass = $db_name = NULL;
  88. /* 初始化session */
  89. require(ROOT_PATH . 'includes/cls_session.php');
  90. $sess_name = defined("SESS_NAME") ? SESS_NAME : 'ECS_ID';
  91. $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data'), $sess_name);
  92. /* 载入系统参数 */
  93. $_CFG = load_config();
  94. /* 初始化用户插件 */
  95. $user =& init_users();
  96. if ((DEBUG_MODE & 1) == 1)
  97. {
  98. error_reporting(E_ALL);
  99. }
  100. else
  101. {
  102. error_reporting(E_ALL ^ E_NOTICE);
  103. }
  104. if ((DEBUG_MODE & 4) == 4)
  105. {
  106. include(ROOT_PATH . 'includes/lib.debug.php');
  107. }
  108. /* 判断是否支持 Gzip 模式 */
  109. if (gzip_enabled())
  110. {
  111. ob_start('ob_gzhandler');
  112. }
  113. header('Content-type: text/html; charset=' . EC_CHARSET);
  114. ?>