<?php
/**
 * 苹果CMS 站群专用入口文件
 * 功能：支持泛域名隔离、主域名缓存归类、内网数据库调优
 */

header('Content-Type:text/html;charset=utf-8');

// 1. 环境检测
if(version_compare(PHP_VERSION,'5.5.0','<'))  die('PHP版本需要>=5.5，请升级');

// 2. 性能与内存优化
@ini_set('max_execution_time', '0');
@ini_set("memory_limit",'-1');

// 3. 基础路径定义
define('ROOT_PATH', __DIR__ . '/');
define('APP_PATH', __DIR__ . '/application/');

// --- 【核心增强：泛解析域名归类隔离逻辑】 ---
$current_host = $_SERVER['HTTP_HOST'] ?? 'default_host';

// A. 清洗域名：去除端口号
$clean_host = explode(':', $current_host)[0];

// B. 提取归类文件夹名
if (filter_var($clean_host, FILTER_VALIDATE_IP)) {
    // 如果是通过 IP 访问，文件夹名为 default_ip
    $folder_name = 'default_ip';
} else {
    $host_parts = explode('.', $clean_host);
    $count = count($host_parts);
    
    // 逻辑：不管是 xxx.tai11.com 还是 tai11.com，统一提取为 tai11.com
    // 适配大部分 .com / .net / .cn 域名
    if ($count >= 2) {
        $folder_name = $host_parts[$count - 2] . '.' . $host_parts[$count - 1];
    } else {
        $folder_name = $clean_host;
    }
}

// C. 强制定义 ThinkPHP 常量 (让缓存目录彻底分家)
define('RUNTIME_PATH', __DIR__ . '/runtime/' . $folder_name . '/');
define('CACHE_PATH',   RUNTIME_PATH . 'cache/'); // 数据库查询缓存
define('TEMP_PATH',    RUNTIME_PATH . 'temp/');  // 首页及模板编译缓存
define('LOG_PATH',     RUNTIME_PATH . 'log/');   // 系统日志

// D. 自动创建物理目录 (防止权限问题导致写入失败)
if (!is_dir(TEMP_PATH)) {
    @mkdir(TEMP_PATH, 0755, true);
}
if (!is_dir(CACHE_PATH)) {
    @mkdir(CACHE_PATH, 0755, true);
}
// --- 【隔离逻辑结束】 ---

// 4. 定义苹果CMS内部常量
define('MAC_COMM', __DIR__.'/application/common/common/');
define('MAC_HOME_COMM', __DIR__.'/application/index/common/');
define('MAC_ADMIN_COMM', __DIR__.'/application/admin/common/');
define('MAC_START_TIME', microtime(true) );
define('BIND_MODULE','index');
define('ENTRANCE', 'index');

// 5. 处理脚本名称
$in_file = rtrim($_SERVER['SCRIPT_NAME'],'/');
if(substr($in_file,strlen($in_file)-4)!=='.php'){
    $in_file = substr($in_file,0,strpos($in_file,'.php')) .'.php';
}
define('IN_FILE',$in_file);

// 6. 安装锁定检测
if(!is_file('./application/data/install/install.lock')) {
    header("Location: ./install.php");
    exit;
}

// 7. 编码转换处理
if (!@mb_check_encoding($_SERVER['PATH_INFO'], 'utf-8')){
    $_SERVER['PATH_INFO']=@mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');
}

// 8. 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';