lib_common.php 的 log_account_change方法
/**
* 記錄帳戶變動(dòng)
* @param int $user_id 用戶id
* @param float $user_money 可用余額變動(dòng)
* @param float $frozen_money 凍結(jié)余額變動(dòng)
* @param int $rank_points 等級(jí)積分變動(dòng)
* @param int $pay_points 消費(fèi)積分變動(dòng)
* @param string $change_desc 變動(dòng)說(shuō)明
* @param int $change_type 變動(dòng)類型:參見(jiàn)常量文件
* @return void
*/
function log_account_change($user_id, $user_money = 0, $frozen_money = 0, $rank_points = 0, $pay_points = 0, $change_desc = '', $change_type = ACT_OTHER)
它會(huì)執(zhí)行兩個(gè)動(dòng)作,一個(gè)是調(diào)整注冊(cè)會(huì)員積分調(diào)整記錄日志,一個(gè)就是修改個(gè)人帳戶的積分了。
在user.php驗(yàn)證郵件方法下加入如下代碼
/* 驗(yàn)證用戶注冊(cè)郵件 */
elseif ($action == 'validate_email')
{
$hash = empty($_GET['hash']) ? '' : trim($_GET['hash']);
if ($hash)
{
include_once(ROOT_PATH . 'includes/lib_passport.php');
$id = register_hash('decode', $hash);
if ($id > 0)
{
$sql = 'SELECT is_validated FROM '.$ecs->table('users')." WHERE user_id='$id'";
$row = $db->getRow($sql);
if($row['is_validated'] == 0)
{
$sql = "UPDATE " . $ecs->table('users') . " SET is_validated = 1 WHERE user_id='$id'";
$db->query($sql);
$sql = 'SELECT user_name, email FROM ' . $ecs->table('users') . " WHERE user_id = '$id'";
$row = $db->getRow($sql);
//驗(yàn)證完成 送積分 by gaojin 201003300850
include_once(ROOT_PATH .'includes/lib_common.php');
log_account_change($id, 0, 0, 0, 500,$GLOBALS['_LANG']['register_points']);
show_message(sprintf($_LANG['validate_ok'], $row['user_name'], $row['email']),$_LANG['profile_lnk'], 'user.php');
}
else
{
show_message(sprintf('請(qǐng)不要重復(fù)驗(yàn)證', $row['user_name'], $row['email']),$_LANG['profile_lnk'], 'user.php');
}
}
}
show_message($_LANG['validate_fail']);
}
希望對(duì)大家有所幫助
修改了重復(fù)點(diǎn)擊驗(yàn)證郵件未驗(yàn)證的bug,會(huì)導(dǎo)致重復(fù)送積分的問(wèn)題