core.php 3.3 KB
Newer Older
D
v1.2.0  
devil_gong 已提交
1 2 3 4
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
D
devil_gong 已提交
5
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
D
v1.2.0  
devil_gong 已提交
6 7 8 9 10 11
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------

D
devil_gong 已提交
12
// 检测PHP环境
G
gongfuxiang 已提交
13
if(version_compare(PHP_VERSION,'5.6.0','<'))  die('PHP版本最低 5.6.0');
D
v1.2.0  
devil_gong 已提交
14

D
devil_gong 已提交
15
// 系统版本
D
devil_gong 已提交
16
define('APPLICATION_VERSION', 'v1.4.0');
D
devil_gong 已提交
17 18 19

// 定义系统目录分隔符
define('DS', '/');
D
v1.2.0  
devil_gong 已提交
20 21

// HTTP类型
22
define('__MY_HTTP__', ((!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || (!empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') || (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) || (!empty($_SERVER['HTTP_FROM_HTTPS']) && $_SERVER['HTTP_FROM_HTTPS'] !== 'off')) ? 'https' : 'http');
D
v1.2.0  
devil_gong 已提交
23 24

// 根目录
D
devil_gong 已提交
25 26 27
$my_root = empty($_SERVER['SCRIPT_NAME']) ? '' : substr($_SERVER['SCRIPT_NAME'], 1, strrpos($_SERVER['SCRIPT_NAME'], '/'));
define('__MY_ROOT__', defined('IS_ROOT_ACCESS') ? $my_root : str_replace('public'.DS, '', $my_root));
define('__MY_ROOT_PUBLIC__', defined('IS_ROOT_ACCESS') ? DS.$my_root.'public'.DS : DS.$my_root);
D
v1.2.0  
devil_gong 已提交
28 29 30 31 32

// 项目HOST
define('__MY_HOST__', empty($_SERVER['HTTP_HOST']) ? '' : $_SERVER['HTTP_HOST']);

// 项目URL地址
D
devil_gong 已提交
33
define('__MY_URL__',  empty($_SERVER['HTTP_HOST']) ? '' : __MY_HTTP__.'://'.__MY_HOST__.DS.$my_root);
D
v1.2.0  
devil_gong 已提交
34 35

// 项目public目录URL地址
D
devil_gong 已提交
36
define('__MY_PUBLIC_URL__',  empty($_SERVER['HTTP_HOST']) ? '' : __MY_HTTP__.'://'.__MY_HOST__.__MY_ROOT_PUBLIC__);
D
v1.2.0  
devil_gong 已提交
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

// 当前页面url地址
$request_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
define('__MY_VIEW_URL__', substr(__MY_URL__, 0, -1).$request_url);

// 系统根目录
define('ROOT_PATH', dirname(__FILE__).DS);

// 系统根目录 去除public
define('ROOT', str_replace('public'.DS, '', ROOT_PATH));

// 定义应用目录
define('APP_PATH', ROOT.'application'.DS);

// 请求应用 [web, app] 默认web
define('APPLICATION', empty($_REQUEST['application']) ? 'web' : trim($_REQUEST['application']));

// 请求客户端 [default, ...] 默认default
define('APPLICATION_CLIENT', empty($_REQUEST['application_client']) ? 'default' : trim($_REQUEST['application_client']));

D
devil_gong 已提交
57
// 请求客户端 [pc, h5, alipay, weixin, baidu] 默认pc
D
v1.2.0  
devil_gong 已提交
58 59 60 61 62 63
define('APPLICATION_CLIENT_TYPE', empty($_REQUEST['application_client_type']) ? 'pc' : trim($_REQUEST['application_client_type']));

// 是否ajax
define('IS_AJAX', ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && 'xmlhttprequest' == strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])) || isset($_REQUEST['ajax']) && $_REQUEST['ajax'] == 'ajax'));

// 检测是否是新安装
G
gongfuxiang 已提交
64
if(!file_exists(ROOT.'config/database.php'))
D
v1.2.0  
devil_gong 已提交
65 66 67 68 69 70 71 72
{
    if(empty($_GET['s']) || stripos($_GET['s'], 'install') === false)
    {
        $url = __MY_URL__.'index.php?s=/install/index/index';
        exit(header('location:'.$url));
    }
}
?>