|
  
- 帖子
- 2540
- 积分
- 8584
- 体力
- 2248 点
- 金币
- 2301
- 威望
- 1784
- 来自
- ecshop
|
3楼
发表于 2011-9-23 17:36
| 只看该作者

其他版本ECShop程序升级支付宝快捷登陆功能步骤说明
一、上传新增部分的文件及可直接覆盖的支付插件文件
openid.php
admin/openid.php
admin/templates/openid.htm
images/alipay_openid.png
images/alipay_c**ignee.png
includes/lib_openid.php
includes/modules/payment/alipay.php
languages/zh_tw/admin/openid.php
languages/zh_tw/payment/alipay.php
languages/en_us/admin/openid.php
languages/en_us/payment/alipay.php
languages/zh_cn/admin/openid.php
languages/zh_cn/payment/alipay.php
二、需要修改的程序文件(以下均以2.7.3版为例,其他版本代码行数可能略有区别)
1、修改flow.php
301行
- include_once('includes/lib_transaction.php');
复制代码
下面增加
- /* 判断是否开启支付宝物流地址获取功能 */
- if (isset($_CFG['alipay_c**ignee']) && $_CFG['alipay_c**ignee'] && !empty($_SESSION['open_id']))
- {
- $smarty->assign('alipay_c**ignee', 1);
- }
复制代码
343行
- $smarty->assign('name_of_region', array($_CFG['name_of_region_1'], $_CFG['name_of_region_2'], $_CFG['name_of_region_3'], $_CFG['name_of_region_4']));
复制代码
下面增加
- /* 支付宝物流地址处理流程 */
- if (!empty($_SESSION['c**ignee']))
- {
- $c**ignee_list[0]['c**ignee'] = $_SESSION['c**ignee']['c**ignee'];
- $c**ignee_list[0]['zipcode'] = $_SESSION['c**ignee']['zipcode'];
- $c**ignee_list[0]['address'] = $_SESSION['c**ignee']['address'];
- $c**ignee_list[0]['tel'] = $_SESSION['c**ignee']['mobile'];
- $c**ignee_list[0]['country']=$db->getOne("SELECT `region_id` FROM ". $ecs->table('region') . " WHERE region_name='中国' AND parent_id=0");
- $_SESSION['c**ignee']['province'] = str_replace('省','',$_SESSION['c**ignee']['province']);
- $province=$db->getOne("SELECT `region_id` FROM ". $ecs->table('region') . " WHERE region_name LIKE '".$_SESSION['c**ignee']['province']."%' AND region_type=1 LIMIT 1");
- if($province)
- {
- $c**ignee_list[0]['province']=$province;
- }
- $_SESSION['c**ignee']['city'] = str_replace('市','',$_SESSION['c**ignee']['city']);
- $city=$db->getOne("SELECT `region_id` FROM ". $ecs->table('region') . " WHERE region_name LIKE '".$_SESSION['c**ignee']['city']."%' AND region_type=2 LIMIT 1");
- if($city)
- {
- $c**ignee_list[0]['city']=$city;
- }
- $_SESSION['c**ignee']['district'] = str_replace('区','',$_SESSION['c**ignee']['district']);
- $_SESSION['c**ignee']['district'] = str_replace('县','',$_SESSION['c**ignee']['district']);
- $district=$db->getOne("SELECT `region_id` FROM ". $ecs->table('region') . " WHERE region_name LIKE '".$_SESSION['c**ignee']['district']."' AND region_type=4 LIMIT 1");
- if($district)
- {
- $c**ignee_list[0]['district']=$district;
- }
- if(isset($_SESSION['c**ignee']['email']))
- {
- $c**ignee_list[0]['email']=$_SESSION['c**ignee']['email'];
- }
- unset($_SESSION['c**ignee']);
- }
复制代码
612行
- if(isset($payment_list))
- {
- foreach ($payment_list as $key => $payment)
- {
- if ($payment['is_cod'] == '1')
- {
- $payment_list[$key]['format_pay_fee'] = '<span id="ECS_CODFEE">' . $payment['format_pay_fee'] . '</span>';
- }
- /* 如果有易宝神州行支付 如果订单金额大于300 则不显示 */
- if ($payment['pay_code'] == 'yeepayszx' && $total['amount'] > 300)
- {
- unset($payment_list[$key]);
- }
- /* 如果有余额支付 */
- if ($payment['pay_code'] == 'balance')
- {
- /* 如果未登录,不显示 */
- if ($_SESSION['user_id'] == 0)
- {
- unset($payment_list[$key]);
- }
- else
- {
- if ($_SESSION['flow_order']['pay_id'] == $payment['pay_id'])
- {
- $smarty->assign('disable_surplus', 1);
- }
- }
- }
- }
- }
复制代码
修改为
- if(isset($payment_list))
- {
- foreach ($payment_list as $key => $payment)
- {
- if ($payment['is_cod'] == '1')
- {
- $payment_list[$key]['format_pay_fee'] = '<span id="ECS_CODFEE">' . $payment['format_pay_fee'] . '</span>';
- }
- /* 如果有易宝神州行支付 如果订单金额大于300 则不显示 */
- if ($payment['pay_code'] == 'yeepayszx' && $total['amount'] > 300)
- {
- unset($payment_list[$key]);
- }
- /* 如果有余额支付 */
- if ($payment['pay_code'] == 'balance')
- {
- /* 如果未登录,不显示 */
- if ($_SESSION['user_id'] == 0)
- {
- unset($payment_list[$key]);
- }
- else
- {
- if ($_SESSION['flow_order']['pay_id'] == $payment['pay_id'])
- {
- $smarty->assign('disable_surplus', 1);
- }
- }
- }
- /* 如果使用快捷登陆,禁用支付宝以外的第三方支付 */
- $allow_payments = array('alipay','balance','bank','cod','post');
- if (!empty($_SESSION['open_id']) && !in_array($payment['pay_code'],$allow_payments))
- {
- unset($payment_list[$key]);
- }
- }
- }
复制代码
2、修改user.php
864行
- if(is_array($payment_list))
- {
- foreach ($payment_list as $key => $payment)
- {
- if ($payment['pay_id'] == $order['pay_id'] || $payment['pay_code'] == 'balance')
- {
- unset($payment_list[$key]);
- }
- }
- }
复制代码
修改为
- if(is_array($payment_list))
- {
- foreach ($payment_list as $key => $payment)
- {
- if ($payment['pay_id'] == $order['pay_id'] || $payment['pay_code'] == 'balance')
- {
- unset($payment_list[$key]);
- }
- /* 如果使用快捷登陆,禁用支付宝以外的第三方支付 */
- $allow_payments = array('alipay','bank','cod','post');
- if (!empty($_SESSION['open_id']) && !in_array($payment['pay_code'],$allow_payments))
- {
- unset($payment_list[$key]);
- }
- }
- }
复制代码
3、admin/includes/inc_priv.php
增加
- //支付宝快捷登陆
- $purview['alipay_fastlogin'] = 'alipay_fastlogin';
复制代码
4、admin/includes/inc_menu.php
增加
- /* 支付宝快捷登陆部分 */
- if (file_exists(ROOT_PATH . 'admin/openid.php') && admin_priv('all','',''))
- {
- $modules['11_system']['alipay_fastlogin'] = 'openid.php';
- }
复制代码
5、includes/init.php
292行
- if ((DEBUG_MODE & 4) == 4)
- {
- include(ROOT_PATH . 'includes/lib.debug.php');
- }
复制代码
下面增加
- /* 快捷登陆状态(是否显示按钮) */
- if (!empty($_CFG['alipay_id']) && !empty($_CFG['alipay_token']) && !defined('INIT_NO_SMARTY'))
- {
- $smarty->assign('fastlogin', 1);
- }
复制代码
6、includes/lib_main.php
127行
- $user['username'] = $user['user_name'];
复制代码
修改为
- $user_name = explode('@',$user['user_name']);
- $user['username'] = $user_name[0];
复制代码
7、includes/lib_clips.php
457行
- $modules = $GLOBALS['db']->getAll($sql);
- include_once(ROOT_PATH.'includes/lib_compositor.php');
复制代码
修改为
- $modules = $GLOBALS['db']->getAll($sql);
- /* 如果使用快捷登陆,禁用支付宝以外的第三方支付 */
- $allow_payments = array('alipay','bank','cod','post','balance');
- foreach ($modules as $key => $val )
- {
- if (!empty($_SESSION['open_id']) && !in_array($val['pay_code'],$allow_payments))
- {
- unset($modules[$key]);
- }
- }
- include_once(ROOT_PATH.'includes/lib_compositor.php');
复制代码
二、需要修改的语言包文件(以下均以2.7.3版的中文语言包为例,其他版本代码行数可能略有区别)
1、languages/zh_cn/admin/common.php
增加
- $_LANG['alipay_fastlogin'] = '支付宝快捷登陆';
复制代码
2、languages/zh_cn/admin/priv_action.php
增加
- $_LANG['alipay_fastlogin'] = '支付宝快捷登陆';
复制代码
3、languages/zh_cn/common.php
增加
- $_LANG['error_message'] = '获取信息失败!';
复制代码 |
|