DedeCms 积分/金币审核才增加
大家应该知道原程序里的添加文章都是没审核就加了分的,但是对于靠会员的仁兄可能不想这样.
有两个地方要改
1 , *_add.php (article_add.php会员发布文章或者软件等借口)里的一段增加积分的删除
否则审核加分添加也加分
//增加积分
$dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendarc_scores} where mid='".$cfg_ml->M_ID."' ; ");
很明显的一段句一直拉就有机会看到了
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网站会员积分问题总结
1、织梦dedecms5.5一般都是在会员发表完之后就把积分加上去了,对于文章投稿方式来说肯定不受用,万一来个灌水的,那分就high了去了,因此我们需要对这套系统进行修改,具体修改方法如下:
第一步是在会员发表完文章之后不加积分,方法为:找到/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')");
接下来就可以了,对于其他栏目来说,比如图片或者什么的,按照这个方法类推就可以了。
同样,由于目前网络言论控制严格,我们不得不对会员的评论也要进行审核,然后我们也需要在后台审核后才能给会员加上评论得到的份数,方法和上面的类似,首先找到/plus/feedback_ajax.php,找到第180行,将以下代码注释掉:
//$dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendfb_scores} where mid='{$cfg_ml->M_ID}' ");
还有就是同样目录下的feedback.php文件,找到259行,将以下代码注释掉:
//if($cfg_ml->M_ID > 0)
//{
// $dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendfb_scores} where mid='{$cfg_ml->M_ID}' ");
//} 织梦模板团
然后找到/dede/feedback_main.php,找到//审核评论,在下面的语句中加上: DEDE模板
$dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendfb_scores} where mid in (select mid from `dede_feedback` where id in ($ids))");
2、
dede5.6 会员登录加积分每天只限一次解决方法
首先把思路说一下:先先检测当前时间与上次登陆日期是否为同一天?如果是就不加积分。
如果上次登陆日期与当前登陆日期不相等就加积分。
具体修改代码为:include文件夹下memberlogin.class.php文件
具体代码大概在370行
原先代码
//登录增加积分(上一次登录时间必须大于两小时)
if(time() - $logintime > 7200 && $cfg_login_adds > 0)
{
$dsql->ExecuteNoneQuery("Update `dede_member` set `scores`=`scores`+{$cfg_login_adds} where mid='$uid' ");
}
$this->M_ID = $uid;
$this->M_LoginTime = time();
修改为:
//登录增加积分(每天登陆加一次积分)
$row = $dsql->GetOne("SELECT logintime FROM dede_member WHERE mid='$uid' ");
$logintime = $row['logintime'];
$timel = GetDateMk($logintime);
$now = GetDateMk(time());
if($timel!=$now)
{
$dsql->ExecuteNoneQuery("Update `dede_member` set `scores`=`scores`+{$cfg_login_adds} where mid='$uid' ");
}
$nowtime = GetDateTimeMk(time());
$logint = GetMkTime($nowtime);
$dsql->ExecuteNoneQuery("Update dede_member set logintime='$logint' where mid='$uid' ");
$this->M_ID = $uid;
$this->M_LoginTime = time();
因为发现织梦dedecms 本身记录登陆时间不准 就加了个修改登陆时间的语句,用这种笨方法实现了。