插件名称: 评分上下限分别设定 For D25
适用版本: D25
作 者: happy0429
数据升级:有
修改文件: templates/default/admincp.lang.php,admin/groups.php,viewthread.php,misc.php
修改模板: 无
最后发表日期:05.2.1
插件功能简介: 论坛经常有这样的需求,就是希望某个组只能加分或减分,本HACK就是要实现评分的上下限分别设定,以满足不同用户组的需要
演示或技术支持网站: 演示就没有了,有问题请尽快联系
1.升级数据库 在usergroups表中新建一个col,因为采用缓存技术,基本不影响效率
在后台升级数据库
- ALTER TABLE `cdb_usergroups` ADD `maxkarmaratelow` INT( 3 ) DEFAULT '0' NOT NULL AFTER `maxkarmarate` ;
复制代码
2.修改templates/default/admincp.lang.php
找到
- 'usergroups_edit_max_karma_rate' => '每次最大评价分数:',
- 'usergroups_edit_max_karma_rate_comment' => '设置每次评分允许的最大分数,需要拥有参与评分的权限才有效',
复制代码
替换为
- /////////////评分上下限分别设定
- 'usergroups_edit_max_karma_ratelow' => '每次最大评价分数下限:',
- 'usergroups_edit_max_karma_ratelow_comment' => '设置每次评分允许的最大分数的下限,需要拥有参与评分的权限才有效',
- 'usergroups_edit_max_karma_rate' => '每次最大评价分数上限:',
- 'usergroups_edit_max_karma_rate_comment' => '设置每次评分允许的最大分数上限,需要拥有参与评分的权限才有效',
- /////////////评分上下限分别设定
复制代码
3.修改admin/groups.php
找到
- showsetting('usergroups_edit_max_karma_rate', 'maxkarmaratenew', $group['maxkarmarate'], 'text');
复制代码
下面加
- showsetting('usergroups_edit_max_karma_ratelow', 'maxkarmaratelownew', $group['maxkarmaratelow'], 'text');//评分下限
复制代码
找到
- maxkarmarate='$maxkarmaratenew',
复制代码
后面加入
- maxkarmaratelow='$maxkarmaratelownew',
复制代码
4.修改viewthread.php
找到
- if($allowkarma && $maxkarmarate) {
复制代码
如果需要把评分值细化的可以把
- $offset = ceil($maxkarmarate / 6);
复制代码
改为
接着下面的
- for($vote = - $maxkarmarate + $offset; $vote <= $maxkarmarate; $vote += $offset) {
复制代码
替换为
- for($vote = $maxkarmaratelow + $offset; $vote <= $maxkarmarate; $vote += $offset) { ///评分上下限分别设定
复制代码
5.修改misc.php
找到
- $offset = ceil($maxkarmarate / 6);
- $minkarmarate = $offset - $maxkarmarate;
- if($score < $minkarmarate || $score > $maxkarmarate) {
复制代码
替换为
- if($score < $maxkarmaratelow || $score > $maxkarmarate) { //评分上下限分别设定
复制代码
最后再更新下缓存,呵呵 |