ecshop会员登录送积分插件
ecshop会员登录送积分插件可增强网站互动性,同时赠送等级积分和消费积分,后台可开启或关闭此插件,也可设定防止恶意登录刷积分的时间间隔。
开发思路:后台-商店设置里面加入一个tab选项卡“积分设置”,里面有开启和关闭按钮,有时间间隔和积分控制;前台-在user.php登陆处理上加入判断该会员最后一次登陆的时间,用当前登陆的时间戳减去最后一次登陆的时间戳,大于或等于后台设置的时间间隔,就用log_account_change()函数记录和改变帐户。
1,数据表ecs_shop_config里面插入“积分设置”字段和内容,注意下面语句的表前缀和id值;
INSERT INTO ecs_shop_config (`id`, `parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order`) VALUES (10, 0, 'ext', 'group', '', '', '', 1), (1001, 10, 'login_points_config', 'select', '1,0', '', '1', 1), (1002, 10, 'login_points', 'text', '', '', '10', 1), (1003, 10, 'login_points_interval', 'text', '', '', '3600', 1);
2,添加语言文字;
languages/zh_cn/user.php文件尾添加
$_LANG['login_points'] = '登录送积分';
languages/zh_cn/admin/shop_config.php文件尾添加
$_LANG['cfg_name']['ext'] = '积分设置'; $_LANG['cfg_name']['login_points_config'] = '是否开启会员登录送积分'; $_LANG['cfg_desc']['login_points_config'] = '“是否开启会员登录送积分”设为开启时才可使用此功能。'; $_LANG['cfg_range']['login_points_config'][0] = '关闭'; $_LANG['cfg_range']['login_points_config'][1] = '开启'; $_LANG['cfg_name']['login_points'] = '会员登录赠送积分'; $_LANG['cfg_desc']['login_points'] = '同时赠送等级积分和消费积分。'; $_LANG['cfg_name']['login_points_interval'] = '登录积分时间阈'; $_LANG['cfg_desc']['login_points_interval'] = '防止恶意登录刷积分的时间间隔(秒)。';
3,user.php,添加积分计算。
if ($user->login($username, $password,isset($_POST['remember']))) { /* 登录送积分 */ if ($GLOBALS['_CFG']['login_points_config'] == '1' && !empty($GLOBALS['_CFG']['login_points'])) { $cur_time = gmtime(); $sql = "SELECT last_login FROM " .$ecs->table('users'). " WHERE user_name = '$username'"; $last_login = $db->getOne($sql); if (($cur_time - $last_login) >= $GLOBALS['_CFG']['login_points_interval']) { log_account_change($_SESSION['user_id'], 0, 0, $GLOBALS['_CFG']['login_points'], $GLOBALS['_CFG']['login_points'], $GLOBALS['_LANG']['login_points']); } } update_user_info(); recalculate_price(); $ucdata = isset($user->ucdata)? $user->ucdata : ''; show_message($_LANG['login_success'] . $ucdata , array($_LANG['back_up_page'], $_LANG['profile_lnk']), array($back_act,'user.php'), 'info'); }
ps:新注册会员是没有积分的哦。新注册会员,需要退出登陆,60分钟后再重新登陆才有积分!
End!
阅读剩余
版权声明:
作者:z1988
链接:https://www.z1988.com/289.html
文章版权归作者所有,未经允许请勿转载。
作者:z1988
链接:https://www.z1988.com/289.html
文章版权归作者所有,未经允许请勿转载。
THE END