分析ecshop新订单提示原理
2009-11-20 12:17 来源:www.chinab4c.com 作者:ecshop专家
ecshop电子商务系统,在运行的时候,如果你的前台有ecshop新订单了,那么在后台有程序在监视,并且发出提示.首先那段代码非常隐蔽.他位于pagefooter.htm模板中。里面有段JS为
{if $enable_order_check eq '0'}
startCheckOrder = function(){}
{/if}
通过admin/js/common.js我们可以发现.他有下面两个函数
function startCheckOrder()
{
checkOrder()
window.setInterval("checkOrder()", NEW_ORDER_INTERVAL);
}
/*
* 检查订单
*/
function checkOrder()
{
var lastCheckOrder = new Date(document.getCookie('ECS_LastCheckOrder'));
var today = new Date();
if (lastCheckOrder == null || today-lastCheckOrder >= NEW_ORDER_INTERVAL)
{
document.setCookie('ECS_LastCheckOrder', today.toGMTString());
try
{
Ajax.call('index.php?is_ajax=1&act=check_order','', checkOrderResponse, 'GET', 'JSON');
}
catch (e) { }
}
}
你看里面有一句 Ajax.call('index.php?is_ajax=1&act=check_order','', checkOrderResponse, 'GET', 'JSON');他调用了index.php的check_order动作.我们找到index.php中的这段代码
elseif ($_REQUEST['act'] == 'check_order')
{
if (empty($_SESSION['last_check']))
{
$_SESSION['last_check'] = gmtime();
make_json_result('', '', array('new_orders' => 0, 'new_paid' => 0));
}
/* 新订单 */
$sql = 'SELECT COUNT(*) FROM ' . $ecs->table('order_info').
" WHERE add_time >= '$_SESSION[last_check]'";
$arr['new_orders'] = $db->getOne($sql);
/* 新付款的订单 */
$sql = 'SELECT COUNT(*) FROM '.$ecs->table('order_info').
' WHERE pay_time >= ' . $_SESSION['last_check'];
$arr['new_paid'] = $db->getOne($sql);
$_SESSION['last_check'] = gmtime();
if (!(is_numeric($arr['new_orders']) && is_numeric($arr['new_paid'])))
{
make_json_error($db->error());
}
else
{
make_json_result('', '', $arr);
}
}
/* 新订单 */
$sql = 'SELECT COUNT(*) FROM ' . $ecs->table('order_info'). " WHERE add_time >= '$_SESSION[last_check]'"; $arr['new_orders'] = $db->getOne($sql);
这句,就是扫描他的。我们可以随意修改.呵呵.
相关文章:
来源:中国B4C电子商务
来源于上海汽车租赁
最近更新
常用插件
- ecshop商品库存缺货发货量
ecshop商品库存缺货发货量数据倒出插件上海汽车租赁www.shrentbus.cn...
- ecshop2.7.0utf给属性增加库存
插件介绍:本插件适合ecshop2.7.0的utf8编码对商品的属性进行库存管理...
- ecshop二次开发商品购买备
ecshop销售统计 插件介绍:ecshop二次开发订单销售统计和商品购买备注服...
- ecshop直接购买流程二次开
ecshop当全场免除运费的时候,其实大可以开发新的直接购买流程,方便...
- ecshop导出会员邮件和手机
ecshop导出会员邮件和手机号插件,主要是用于ecshop系统中促销活动中。获...