其实 允许评分点数为0,然后启用在帖子显示评分理由 就可以实现类似的功能了,没有必要另外开发插件。
网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛9G6q/H;u;};r'D f
5W.U1~$J+F.D7`)ODiscuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team我使用的:
.p4[*@ N9_网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛discuz! 5.0修改misc.php 250行左右内容,如下
复制内容到剪贴板
代码:
foreach($raterange as $id => $rating) {
$score = intval(${'score'.$id});
//hack rate allow 0 score by surain 2006-12-24
if(isset($extcredits[$id]) && isset($score)) {
if(abs($score) <= $maxratetoday[$id]) {
if($score > $rating['max'] || $score < $rating['min']) {
showmessage('thread_rate_range_invalid');
} else {
$creditsarray[$id] = $score;
$rate += $score;
$ratetimes += ceil(max(abs($rating['min']), abs($rating['max'])) / 5);
}
} else {
showmessage('thread_rate_ctrl');
}
}
}
if(!$creditsarray) {
showmessage('thread_rate_range_invalid');
}
updatecredits($post['authorid'], $creditsarray);
$db->query("UPDATE {$tablepre}posts SET rate=rate+($rate), ratetimes=ratetimes+$ratetimes WHERE pid='$pid'");
if($post['first']) {
//hack record the true rate score by surain
$threadrate = intval($post['rate'] + $rate);
$db->query("UPDATE {$tablepre}threads SET rate='$threadrate' WHERE tid='$tid'");
}
$sqlvalues = $comma = '';
//hack increate from 40 to 60 for reason (related cdb_ratelog.reason) by surain 2006-12-24
$sqlreason = cutstr($reason, 60);
foreach($creditsarray as $id => $addcredits) {
$sqlvalues .= "$comma('$pid', '$discuz_uid', '$discuz_user', '$id', '$timestamp', '$addcredits', '$sqlreason')";
$comma = ', ';
}[
本帖最后由 surain 于 2007-1-28 21:51 编辑 ]