discuz论坛积分体系二次开发攻略

来源:互联网 发布:ubuntu 删除当前用户 编辑:程序博客网 时间:2024/05/09 19:31

所有涉及到论坛的积分修改,最终都是调用文件/discuz/source/function/function_core.php 中方法updatecreditbyaction向装修网接口http://www.to8to.com/api/update_credit.php发送数据。其中论坛所涉及到积分修改分为以下几点,每一条在装修网数据库中对应一条规则,若修改则要考虑到规则涉及。

一、论坛登录积分增加

规则:每日首次登录加2

1.入口/discuz/source/class/discuz/discuz_application.php

登录积分文件不做修改,直接调用修改积分方法。

二、发表主题(包括普通帖子和装修日记)

规则:论坛普通发帖,帖子字数超过300字加10积分。装修日记,发布一个装修日记(系统生成的帖子不不另算积分)字数超过500字,加20积分,每日发日记加分限一次。

1.入口/discuz/source/include/post/post_newthread.php

三、回帖(包括普通回帖和续写装修日记也就是跟帖)

规则:帖子回复每个加1分,每天发帖增加积分不超过20,回帖积分不超过10;装修日记跟自己帖子300字以上的加10积分,每日跟帖加分三次。

1.入口/discuz/source/include/post/post_newreply.php

下面第一张图片,第97行代码暂未发现那里调用到;第692行代码上面三个回复处都调用:


四、删除主题帖(包括普通主题和装修日记)

规则:删除超过300字的普通帖子扣20,删除装修日记超过500字的扣除40分。

1.入口

/discuz/source/include/topicadmin/topicadmin_moderate.php

下面的代码调用deletethread方法删除帖子扣分

删除帖子的方法deletethread在/discuz/source/function/function_delete.php文件中,

然后在这个文件中调用updatepostcredits方法,这个方法在/discuz/source/function/function_post.php

但最后都是调用/discuz/source/function/function_core.php文件中的updatecreditbyaction方法

五、删除回复(包括删除普通回复和续写装修日记)

规则:删除普通回复扣2分,删除续写装修日记扣20分,都是得分的两倍

1.入口:

在文件/discuz/source/include/topicadmin/topicadmin_delpost.php中调用deletepost方法,该方法在/discuz/source/function/function_delete.php文件中,下面是对这个文件的修改:

然后在这个文件中调用updatepostcredits方法,这个方法在/discuz/source/function/function_post.php

在这个方法中会根据条件调用不同的方法:

但最后都是调用/discuz/source/function/function_core.php文件中的updatecreditbyaction方法

六、加精华和去精华(包括对普通帖子和装修日记)

规则:普通帖子加精华增加50分,装修日记加精华增加100分,去精华时,扣除相应的积分。

1.入口①

/discuz/source/include/topicadmin/topicadmin_moderate.php

2.入口②,后台-》内容-》论坛主题管理

/discuz/source/admincp/admincp_threads.php

原创粉丝点击