本帖最后由 daydaydevelop 于 2010-01-29 18:07 编辑
因为本站(http://u.cyzone.cn)的2.0二次开发,改动很多,不方便用官方补丁包升级,所以研究了下官网升级包,总结出补丁实际所修改的地方,这样就可以非覆盖方式打补丁了。
~转载请注明出处~梦飞湖(daydaydevelop)~
说明:本次官网升级补丁包20100106共修改六个文件!
1、source/space_index.php//修正去他人个人主页领取埋下的红包可能导致自己设置的红包丢失的问题
找到→//红包道具
原: $_SGLOBAL['db']->query('DELETE FROM '.tname('magicuselog')." WHERE uid = '$_SGLOBAL[supe_uid]' AND mid = 'gift'");
替: $_SGLOBAL['db']->query('DELETE FROM '.tname('magicuselog')." WHERE uid = '$space[uid]' AND mid = 'gift'");
2、source/function_common.php//修正用户因时区设置导致领取特定任务奖励出现问题
1)300行左右,找到→function updatetable
原:if(is_array($set_value)) {
$setsql .= $comma.'`'.$set_key.'`'.'='.$set_value[0];
} else {
$setsql .= $comma.'`'.$set_key.'`'.'=\''.$set_value.'\'';
}
替: $setsql .= $comma.'`'.$set_key.'`'.'=\''.$set_value.'\'';
2)在function getreward里(1893行左右)
原: global $_SGLOBAL, $_SCOOKIE;
替: global $_SGLOBAL, $_SCOOKIE, $_SCONFIG;
3)1950行左右,原: $today = sstrtotime(sgmdate('Y-m-d'));
替: $today = sstrtotime(gmdate('Y-m-d', $_SGLOBAL['timestamp']+$_SCONFIG['timeoffset']*3600));
4)1985行左右,原: $start = sstrtotime(sgmdate('Y-m-d H:00:00', $creditlog['starttime']));
替: $start = sstrtotime(gmdate('Y-m-d H:00:00', $creditlog['starttime']+$_SCONFIG['timeoffset']*3600));
3、source/cp_profile.php//修正填写个人资料的时候,在没有填写姓名的时候不能提交的问题
75行左右,找到→if(strlen($setarr['name']) < 4)
原:if(strlen($setarr['name']) < 4)
替:if($setarr['name'] && strlen($setarr['name']) < 4)
4、source/cp_friend.php//修正在部分服务器环境下会产生数据安全的问题
找到→elseif($op == 'group') {
再往下几行(385行左右)找到$multi = '';
原: $multi = '';
替: $multi = $wheresql = '';
5、api/uc.php//修正用户改名的时候分享、投票、活动不能改名的问题
在function renameuser里找到→$_SGLOBAL['db']->query("UPDATE ".tname('album')." SET username='$new_username' WHERE username='$old_username'");
在下面加以下三行
$_SGLOBAL['db']->query("UPDATE ".tname('share')." SET username='$new_username' WHERE username='$old_username'");
$_SGLOBAL['db']->query("UPDATE ".tname('poll')." SET username='$new_username' WHERE username='$old_username'");
$_SGLOBAL['db']->query("UPDATE ".tname('event')." SET username='$new_username' WHERE username='$old_username'");
6、ver.php//版本号
原:define('X_RELEASE', '20090825');
替:define('X_RELEASE', '20100106');
明白了这些,不想以官方覆盖文件方式升级补丁的朋友们就可以手动修改这六个文件,无需担心升级补丁问题了! |