在Models的reputation.php第124行
if ($questions_info[$question_id]['published_uid'] == $val['vote_uid'] AND !$s_publisher_agree)
{
$s_publisher_agree = 1;
}
if ($s_publisher_agree)
{
$s_agree_value = $s_agree_value - 1;//为什么减1,我认为减去问题发布者的reputation_factor才对.
}
如果赞同者是问题发起人,且$s_publisher_agree=0的情况下,$s_publisher_agree = 1; 我理解的意思是如果赞同者是问题发起人,对此回复能且只能赞同一次。
如果是这样,if ($questions_info[$question_id]['published_uid'] == $val['vote_uid'] AND !$s_publisher_agree),粗体部分就不需要判断了,只要判断赞同者是不是问题发起人就行了?
$vote_agree_users[$answer_id]中放置的是对id为$answer_id的回复投赞同的所有用户,每个用户都是唯一存在的,包括问题发布者,怎么还要去限制一下哪?
前面计算$s_agree_value,用的是$s_agree_value = $s_agree_value + $val['reputation_factor']。
阅读全文
收起全文