<?php

/**
 *--------------------------------------
 * 常量定义
 *--------------------------------------
 * @project		: pfa
 * @author		: cblee
 * @created		: 2012-9-23
 * @copyright	: (c)2012 AsThis
 *--------------------------------------
 */

if(!defined('PFA_PATH')) exit();

if(version_compare(PHP_VERSION, '5.4.0', '<'))
{
	@set_magic_quotes_runtime(0);
	define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc() ? true : false);
}

define('IS_CGI', substr(PHP_SAPI, 0, 3)=='cgi' ? 1 : 0);
define('IS_WIN', strstr(PHP_OS, 'WIN') ? 1 : 0);
define('IS_CLI', PHP_SAPI == 'cli' ? 1 : 0);
if(!IS_CLI)
{
	/* 当前文件名 */
	if(!defined('_PHP_FILE_'))
	{
		/* CGI/FASTCGI模式下 */
		if(IS_CGI)
		{
			$_temp = explode('.php', $_SERVER["PHP_SELF"]);
			define('_PHP_FILE_', rtrim(str_replace($_SERVER["HTTP_HOST"], '', $_temp[0].'.php'), '/'));
		}
		else
		{
			define('_PHP_FILE_', rtrim($_SERVER["SCRIPT_NAME"], '/'));
		}
	}
	/* 应用URL根目录 */
	if(!defined('APP_ROOT'))
	{
		$_root = dirname(_PHP_FILE_);
		define('APP_ROOT', (($_root == '/' || $_root == '\\') ? '' : $_root));
		/* 网站URL根目录 */
		if(dirname(PFA_PATH) == APP_PATH)
		{
			define('ROOT', (($_root == '/' || $_root == '\\') ? '' : $_root));
		}
		else
		{
			define('ROOT', (($_root == '/' || $_root == '\\') ? '' : dirname($_root)));
		}
	}
	define('URL_COMMON', 1); /* 普通模式 */
	define('URL_PATHINFO', 2); /* PATHINFO模式 */
	define('URL_REWRITE', 3); /* REWRITE模式 */
	define('URL_COMPAT', 4); /* 兼容模式 */
}

/* 分隔符 */
define('D_S', DIRECTORY_SEPARATOR);
define('P_S', PATH_SEPARATOR);

/* 设置目录 */
define('PUBLIC_DIR', 'public'); /* 公共文件目录 */
define('CFG_DIR', 'cfg');
define('LIB_DIR', 'lib');
define('LIB_CTRLR_DIR', 'ctrlr');
define('LIB_MODL_DIR', 'modl');
define('LIB_COMM_DIR', 'comm');
define('LANG_DIR', 'lang');
define('TPL_DIR', 'tpl');
define('CACHE_DIR', 'cache'); /* 模板缓存目录 */
define('DATA_DIR', 'data'); /* 数据文件目录 F() */
define('TEMP_DIR', 'temp'); /* 数据缓存目录 Cache类 S() */
define('LOG_DIR', 'log'); /* 日志目录 */

/* 设置路径 */
define('PUBLIC_PATH', dirname(PFA_PATH).D_S.PUBLIC_DIR);
define('CFG_PATH', APP_PATH.D_S.CFG_DIR);
define('LIB_PATH', APP_PATH.D_S.LIB_DIR);
define('LIB_CTRLR_PATH', LIB_PATH.D_S.LIB_CTRLR_DIR);
define('LIB_MODL_PATH', LIB_PATH.D_S.LIB_MODL_DIR);
define('LIB_COMM_PATH', LIB_PATH.D_S.LIB_COMM_DIR);
define('LANG_PATH', APP_PATH.D_S.LANG_DIR);
define('TPL_PATH', APP_PATH.D_S.TPL_DIR);
define('CACHE_PATH', RUNTIME_PATH.D_S.CACHE_DIR);
define('DATA_PATH', RUNTIME_PATH.D_S.DATA_DIR);
define('TEMP_PATH', RUNTIME_PATH.D_S.TEMP_DIR);
define('LOG_PATH', RUNTIME_PATH.D_S.LOG_DIR);

define('PFA_EXT_PATH', PFA_PATH.D_S.'lib'.D_S.'ext'); /* PFA扩展类库目录 */
define('PFA_VENDER_PATH', PFA_PATH.D_S.'vendor'); /* PFA第三方类库目录 */

?>