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 本身记录登陆时间不准 就加了个修改登陆时间的语句,用这种笨方法实现了。

posted @ 2012-12-07 11:54  coxsoft  阅读(502)  评论(0编辑  收藏  举报