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.
236 lines
8.4 KiB
236 lines
8.4 KiB
<?php
|
|
|
|
/**
|
|
* ECSHOP 云服务接口
|
|
* ============================================================================
|
|
* 版权所有 2005-2016 上海商创网络科技有限公司,并保留所有权利。
|
|
* 网站地址: http://www.ecmoban.com;
|
|
* ----------------------------------------------------------------------------
|
|
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
|
|
* 使用;不允许对程序代码以任何形式任何目的的再发布。
|
|
* ============================================================================
|
|
* $Author: liubo $
|
|
* $Id: cloud.php 17063 2011-07-25 06:35:46Z liubo $
|
|
*/
|
|
|
|
define('IN_ECS', true);
|
|
|
|
require(dirname(__FILE__) . '/includes/init.php');
|
|
require(ROOT_PATH . 'includes/cls_transport.php');
|
|
require(ROOT_PATH . 'includes/cls_json.php');
|
|
require(ROOT_PATH . 'includes/shopex_json.php');
|
|
|
|
make_json_result('0');exit(); //阻断云中心通信 by wanganlin
|
|
|
|
$data['api_ver'] = '1.0';
|
|
$data['version'] = VERSION;
|
|
$data['patch'] = file_get_contents(ROOT_PATH.ADMIN_PATH."/patch_num");
|
|
$data['ecs_lang'] = $_CFG['lang'];
|
|
$data['release'] = RELEASE;
|
|
$data['charset'] = strtoupper(EC_CHARSET);
|
|
$data['certificate_id'] = $_CFG['certificate_id'];
|
|
$data['token'] = md5($_CFG['token']);
|
|
$data['certi'] = $_CFG['certi'];
|
|
$data['php_ver'] = PHP_VERSION;
|
|
$data['mysql_ver'] = $db->version();
|
|
$data['shop_url'] = urlencode($ecs->url());
|
|
$data['admin_url'] = urlencode($ecs->url().ADMIN_PATH);
|
|
$data['sess_id'] = $GLOBALS['sess']->get_session_id();
|
|
$data['stamp'] = mktime();
|
|
$data['ent_id'] = $_CFG['ent_id'];
|
|
$data['ent_ac'] = $_CFG['ent_ac'];
|
|
$data['ent_sign'] = $_CFG['ent_sign'];
|
|
$data['ent_email'] = $_CFG['ent_email'];
|
|
|
|
$act = !empty($_REQUEST['act']) ? $_REQUEST['act'] : 'index';
|
|
|
|
$must = array('version','ecs_lang','charset','patch','stamp','api_ver');
|
|
if($act =='menu_api')
|
|
{
|
|
|
|
if (!admin_priv('all','',false))
|
|
{
|
|
make_json_result('0');
|
|
}
|
|
$api_data = read_static_cache('menu_api');
|
|
|
|
if($api_data === false || (isset($api_data['api_time']) && $api_data['api_time']<date('Ymd')))
|
|
{
|
|
$t = new transport;
|
|
$apiget = "ver= $data[version] &ecs_lang= $data[ecs_lang] &charset= $data[charset]&ent_id=$data[ent_id]& certificate_id=$data[certificate_id]";
|
|
//$api_comment = $t->request('http://ecshop.ecmoban.com/menu_api.php', $apiget);
|
|
$api_comment = '';
|
|
$api_str = $api_comment["body"];
|
|
if (!empty($api_str))
|
|
{
|
|
$json = new Services_JSON;
|
|
$api_arr = @$json->decode($api_str,1);
|
|
if (!empty($api_arr) && $api_arr['error'] == 0 && md5($api_arr['content']) == $api_arr['hash'])
|
|
{
|
|
$api_arr['content'] = urldecode($api_arr['content']);
|
|
if ($data['charset'] != 'UTF-8')
|
|
{
|
|
$api_arr['content'] = ecs_iconv('UTF-8',$data['charset'],$api_arr['content']);
|
|
}
|
|
$api_arr['api_time'] = date('Ymd');
|
|
write_static_cache('menu_api', $api_arr);
|
|
make_json_result($api_arr['content']);
|
|
}
|
|
else
|
|
{
|
|
make_json_result('0');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
make_json_result('0');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
make_json_result($api_data['content']);
|
|
}
|
|
}
|
|
elseif($act == 'cloud_remind')
|
|
{
|
|
$api_data = read_static_cache('cloud_remind');
|
|
|
|
if($api_data === false || (isset($api_data['api_time']) && $api_data['api_time']<date('Ymd')) )
|
|
{
|
|
$t = new transport('-1',5);
|
|
$apiget = "ver=$data[version]&ecs_lang=$data[ecs_lang]&charset=$data[charset]&certificate_id=$data[certificate_id]&ent_id=$data[ent_id]";
|
|
//$api_comment = $t->request('http://ecshop.ecmoban.com/cloud_remind.php', $apiget);
|
|
$api_comment = '';
|
|
$api_str= $api_comment["body"];
|
|
$json = new Services_JSON;
|
|
$api_arr = @$json->decode($api_str,1);
|
|
if(!empty($api_str))
|
|
{
|
|
if (!empty($api_arr) && $api_arr['error'] == 0 && md5($api_arr['content']) == $api_arr['hash'])
|
|
{
|
|
$api_arr['content'] = urldecode($api_arr['content']);
|
|
$message =explode('|',$api_arr['content']);
|
|
$api_arr['content']='<li class="cloud_close">'.$message['0'].'<img onclick="cloud_close('.$message['1'].')" src="images/no.gif"></li>';
|
|
if ($data['charset'] != 'UTF-8')
|
|
{
|
|
$api_arr['content'] = ecs_iconv('UTF-8',$data['charset'],$api_arr['content']);
|
|
}
|
|
$api_arr['api_time'] = date('Ymd');
|
|
write_static_cache('cloud_remind', $api_arr);
|
|
make_json_result($api_arr['content']);
|
|
}
|
|
else
|
|
{
|
|
make_json_result('0');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
make_json_result('0');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
make_json_result($api_data['content']);
|
|
}
|
|
}
|
|
elseif($act == 'close_remind')
|
|
{
|
|
|
|
$remind_id=$_REQUEST['remind_id'];
|
|
$t = new transport('-1',5);
|
|
$apiget = "ver= $data[version] &ecs_lang= $data[ecs_lang] &charset= $data[charset] &certificate_id=$data[certificate_id]&ent_id=$data[ent_id]&remind_id=$remind_id";
|
|
//$api_comment = $t->request('http://ecshop.ecmoban.com/cloud_remind.php', $apiget);
|
|
$api_comment = '';
|
|
$api_str = $api_comment["body"];
|
|
$json = new Services_JSON;
|
|
$api_arr = array();
|
|
$api_arr = @$json->decode($api_str,1);
|
|
if(!empty($api_str))
|
|
{
|
|
if (!empty($api_arr) && $api_arr['error'] == 0 && md5($api_arr['content']) == $api_arr['hash'])
|
|
{
|
|
$api_arr['content'] = urldecode($api_arr['content']);
|
|
if($data['charset'] != 'UTF-8')
|
|
{
|
|
$api_arr['content'] = ecs_iconv('UTF-8',$data['charset'],$api_arr['content']);
|
|
}
|
|
if (admin_priv('all','',false))
|
|
{
|
|
$apiget.="&act=close_remind&ent_ac=$data[ent_ac]";
|
|
//$result=$t->request('http://ecshop.ecmoban.com/cloud_remind.php', $apiget);
|
|
$result = '';
|
|
$api_str = $result["body"];
|
|
//var_dump($api_str);
|
|
$api_arr = array();
|
|
$api_arr = @$json->decode($api_str,1);
|
|
$api_arr['content'] = urldecode($api_arr['content']);
|
|
if ($data['charset'] != 'UTF-8')
|
|
{
|
|
$api_arr['content'] = ecs_iconv('UTF-8',$data['charset'],$api_arr['content']);
|
|
}
|
|
if($api_arr['error'] == 1)
|
|
{
|
|
$message =explode('|',$api_arr['content']);
|
|
$api_arr['content']='<li class="cloud_close">'.$message['0'].' '.$message['2'].'</li>';
|
|
make_json_result($api_arr['content']);
|
|
}
|
|
else
|
|
{
|
|
clear_all_files();
|
|
make_json_result('0');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$message =explode('|',$api_arr['content']);
|
|
|
|
$api_arr['content']='<li class="cloud_close">'.$message['0'].' '.$_LANG['cloud_no_priv'].'<img onclick="cloud_close( '.$message['1'].')" src="images/no.gif"></li>';
|
|
|
|
make_json_result($api_arr['content']);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
make_json_result('0');
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
admin_priv('all');
|
|
if (empty($_GET['act']))
|
|
{
|
|
$act = 'index';
|
|
}
|
|
else
|
|
{
|
|
$query = '';
|
|
$act = trim($_GET['act']);
|
|
foreach ($_GET as $k=>$v)
|
|
{
|
|
if (array_key_exists($k, $data))
|
|
{
|
|
$query .= '&'.$k.'='.$data[$k];
|
|
}
|
|
}
|
|
}
|
|
if (!empty($_GET['link']))
|
|
{
|
|
$url = parse_url($_GET['link']);
|
|
if (!empty($url['host']))
|
|
{
|
|
ecs_header("Location: ".$url['scheme']."://".$url['host'].$url['path']."?".$url['query'].$query."\n");
|
|
exit();
|
|
}
|
|
}
|
|
|
|
foreach ($must as $v)
|
|
{
|
|
$query .= '&'.$v.'='.$data[$v];
|
|
}
|
|
//ecs_header("Location: http://ecshop.ecmoban.com/api.php?act=".$act.$query."\n");
|
|
exit();
|
|
}
|
|
|
|
?>
|