Dedecms CMS模板作为一款优秀的PHP建站系统,凭借其强大的功能和灵活性,吸引了众多用户。最近,我在使用Dedecms CMS模板搭建网站时,发现了一个问题:会员上传文档后,在未经过管理员审核的情况下,就已经获得了相关积分。这种机制可能会被一些不良会员利用,成为刷分的工具。因此,我决定对系统进行调整,实现只有在文章通过审核后,才给会员增加积分的功能。
为了实现这一目标,经过深入分析和查找,我发现需要对两处代码进行修改:
1. 修改 *_add.php(如 article_add.php,用于会员发布文章或软件的接口)中的一段增加积分的代码。
如果不删除这部分代码,那么无论文章是否通过审核,会员都会获得积分。因此,我们需要将以下代码从文件中移除:

// 增加积分
$dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendarc_scores} where mid='" . $cfg_ml->M_ID . "' ; ");
这段代码位于 *_add.php 文件中,只需简单搜索“增加积分”关键词即可找到并删除。
2. 修改 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')");
通过以上两步操作,我们成功实现了文章通过审核后再给会员增加积分的功能。这不仅提高了系统的公平性,还有效防止了不良会员利用漏洞刷分的行为。
总结来说,Dedecms CMS模板虽然功能强大,但在实际应用中仍需根据需求进行适当调整。希望本文的内容能为其他使用 Dedecms 的开发者提供参考,帮助大家更好地优化自己的网站。如果您还有其他疑问或建议,欢迎随时交流!