You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
4.6 KiB
203 lines
4.6 KiB
<?php
|
|
|
|
/**
|
|
* ECSHOP 基础类
|
|
* ============================================================================
|
|
* * 版权所有 2005-2016 上海商创网络科技有限公司,并保留所有权利。
|
|
* 网站地址: http://www.ecmoban.com;
|
|
* ----------------------------------------------------------------------------
|
|
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
|
|
* 使用;不允许对程序代码以任何形式任何目的的再发布。
|
|
* ============================================================================
|
|
* $Author: liubo $
|
|
* $Id: cls_ecshop.php 17217 2011-01-19 06:29:08Z liubo $
|
|
*/
|
|
|
|
if (!defined('IN_ECS'))
|
|
{
|
|
die('Hacking attempt');
|
|
}
|
|
|
|
define('APPNAME', 'ECMOBAN_DSC');
|
|
define('VERSION', 'v1.3');
|
|
define('RELEASE', '20160324');
|
|
|
|
class ECS
|
|
{
|
|
var $db_name = '';
|
|
var $prefix = 'ecs_';
|
|
|
|
/**
|
|
* 构造函数
|
|
*
|
|
* @access public
|
|
* @param string $ver 版本号
|
|
*
|
|
* @return void
|
|
*/
|
|
function ECS($db_name, $prefix)
|
|
{
|
|
$this->db_name = $db_name;
|
|
$this->prefix = $prefix;
|
|
}
|
|
|
|
/**
|
|
* 将指定的表名加上前缀后返回
|
|
*
|
|
* @access public
|
|
* @param string $str 表名
|
|
*
|
|
* @return string
|
|
*/
|
|
function table($str)
|
|
{
|
|
return '`' . $this->db_name . '`.`' . $this->prefix . $str . '`';
|
|
}
|
|
|
|
/**
|
|
* ECSHOP 密码编译方法;
|
|
*
|
|
* @access public
|
|
* @param string $pass 需要编译的原始密码
|
|
*
|
|
* @return string
|
|
*/
|
|
function compile_password($pass)
|
|
{
|
|
return md5($pass);
|
|
}
|
|
|
|
/**
|
|
* 取得当前的域名
|
|
*
|
|
* @access public
|
|
*
|
|
* @return string 当前的域名
|
|
*/
|
|
function get_domain()
|
|
{
|
|
/* 协议 */
|
|
$protocol = $this->http();
|
|
|
|
/* 域名或IP地址 */
|
|
if (isset($_SERVER['HTTP_X_FORWARDED_HOST']))
|
|
{
|
|
$host = $_SERVER['HTTP_X_FORWARDED_HOST'];
|
|
}
|
|
elseif (isset($_SERVER['HTTP_HOST']))
|
|
{
|
|
$host = $_SERVER['HTTP_HOST'];
|
|
}
|
|
else
|
|
{
|
|
/* 端口 */
|
|
if (isset($_SERVER['SERVER_PORT']))
|
|
{
|
|
$port = ':' . $_SERVER['SERVER_PORT'];
|
|
|
|
if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && 'https://' == $protocol))
|
|
{
|
|
$port = '';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$port = '';
|
|
}
|
|
|
|
if (isset($_SERVER['SERVER_NAME']))
|
|
{
|
|
$host = $_SERVER['SERVER_NAME'] . $port;
|
|
}
|
|
elseif (isset($_SERVER['SERVER_ADDR']))
|
|
{
|
|
$host = $_SERVER['SERVER_ADDR'] . $port; //IP
|
|
}
|
|
}
|
|
|
|
return $protocol . $host;
|
|
}
|
|
|
|
/**
|
|
* 获得 ECSHOP 当前环境的 URL 地址
|
|
*
|
|
* @access public
|
|
*
|
|
* @return void
|
|
*/
|
|
function url()
|
|
{
|
|
$curr = strpos(PHP_SELF, ADMIN_PATH . '/') !== false ?
|
|
preg_replace('/(.*)(' . ADMIN_PATH . ')(\/?)(.)*/i', '\1', dirname(PHP_SELF)) :
|
|
dirname(PHP_SELF);
|
|
|
|
$root = str_replace('\\', '/', $curr);
|
|
|
|
if (substr($root, -1) != '/')
|
|
{
|
|
$root .= '/';
|
|
}
|
|
|
|
return $this->get_domain() . $root;
|
|
}
|
|
|
|
/**
|
|
* 获得 ECSHOP 当前环境的 HTTP 协议方式
|
|
*
|
|
* @access public
|
|
*
|
|
* @return void
|
|
*/
|
|
function http()
|
|
{
|
|
return (isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ? 'https://' : 'http://';
|
|
}
|
|
|
|
/**
|
|
* 获得数据目录的路径
|
|
*
|
|
* @param int $sid
|
|
*
|
|
* @return string 路径
|
|
*/
|
|
function data_dir($sid = 0)
|
|
{
|
|
if (empty($sid))
|
|
{
|
|
$s = 'data';
|
|
}
|
|
else
|
|
{
|
|
$s = 'user_files/';
|
|
$s .= ceil($sid / 3000) . '/';
|
|
$s .= $sid % 3000;
|
|
}
|
|
return $s;
|
|
}
|
|
|
|
/**
|
|
* 获得图片的目录路径
|
|
*
|
|
* @param int $sid
|
|
*
|
|
* @return string 路径
|
|
*/
|
|
function image_dir($sid = 0)
|
|
{
|
|
if (empty($sid))
|
|
{
|
|
$s = 'images';
|
|
}
|
|
else
|
|
{
|
|
$s = 'user_files/';
|
|
$s .= ceil($sid / 3000) . '/';
|
|
$s .= ($sid % 3000) . '/';
|
|
$s .= 'images';
|
|
}
|
|
return $s;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|