有些站长通过让用户充值以换取积分或金币的方式来解决这一问题。而另一些站长则鼓励会员分享和上传资料,以此增加积分。当投稿数量达到一定标准后,用户不仅能够升级会员等级,还能获得足够的积分或金币。
然而,部分会员可能会上传与主题无关的内容,这会导致系统错误地给予积分或金币奖励。为了解决这一问题,可以采取以下方法:让会员的投稿需经过管理员审核,只有审核通过后,会员才能获得相应的积分。
以下是具体的操作步骤:
首先,取消会员发表文章后自动增加积分的功能。操作方法如下:
找到文件 `/member/article_add.php`,定位到注释“//增加积分”的位置,将下面的代码注释掉或删除。
// 增加积分
//$dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendarc_scores} where mid='" . $cfg_ml->M_ID . "' ; ");
接下来,修改后台审核文章的逻辑。打开文件 `/dede/archives_do.php`,找到审核文档的函数 `function checkArchives()`,然后定位到 `$aid = $row['id'];` 这一行,在其下方添加以下代码:
// 审核后增加积分
$dsql->ExecuteNoneQuery("UPDATE `dede_member` set scores=scores+{$cfg_sendarc_scores} WHERE mid=(SELECT mid FROM `dede_arctiny` where id='$aid')");
完成以上修改后,系统将确保只有管理员审核通过的文章才会为用户增加积分。对于其他频道模型(如图片或软件模型),可以按照类似的方法进行调整。
此外,如果需要处理金币奖励,只需将代码中的字段 `scores` 替换为 `money` 即可。这是因为这两个字段位于同一张表中。同时,在后台的系统基本参数设置中,可以根据需求调整“投稿可获得积分”的数值。
通过上述方法,不仅可以有效防止无效投稿带来的积分滥用问题,还能激励用户提交高质量的内容,从而提升网站的整体价值。希望这篇教程能帮助到正在使用Dedecms的站长朋友们!