欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【DISCUZ架构:积分系统代码分析一】,下面是详细的分享!
DISCUZ架构:积分系统代码分析一
1.登陆积分显示
首先是登陆,登陆的时候论坛从cdb_members中取出一些发帖数,积分,扩展积分等等设置,在./include/common.inc.php中有如下代码:
| 以下为引用的内容: $membertablefields='m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.email, m.timeoffset, m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5, m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound, m.sigstatus, m.invisible, m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks, m.xspacestatus, m.editormode, m.customshow'; |
以上就是取出数据库中的会员用到的字段。
发帖,回复,发附件,下附件等的积分增加或减少
2.发帖,回复积分增减
(1)原理分析:
| 以下为引用的内容: 是这样一个过程,发帖的时候前台看到的文件是:post.php, 然后引用如下文件: include/common.inc.php DZ通用函数库 include/post.func.php 发帖用到的函数库 include/discuzcode.func.php 解析Discuz Code用到的 |
接下来跟据传入的action判断引用到哪个文件继续处理
| 以下为引用的内容: include/newthread.inc.php(新帖) include/newreply.inc.php(回复) include/supesite_import.inc.php(导入到supersite) |
(2)代码分析:
下面就以发新帖来分析一下Discuz对于积分的处理。
第一部分:post.php
以下为引用的内容:
这个文件是发新帖,回复,投票都会用到的,所以它的作用就是初始化一些全局的东西,我就不全文件分析了,只分析一些与积分有关的部分。
| $postcredits=$forum['postcredits'] ? $forum['postcredits'] : $creditspolicy['post']; $replycredits=$forum['replycredits'] ? $forum['replycredits'] : $creditspolicy['reply']; $digestcredits=$forum['digestcredits'] ? $forum['digestcredits'] : $creditspolicy['digest']; $postattachcredits=$forum['postattachcredits'] ? $forum['postattachcredits'] : $creditspolicy['postattach']; |
这一部分的作用就是取出当前论坛的一些积分设置,和我们前面分析的数据表cdb_forumfields对应,得到会员发帖,回复等加多少分。
以上所分享的是关于DISCUZ架构:积分系统代码分析一,下面是编辑为你推荐的有价值的用户互动:
相关问题:快速开发web应用 会员积分管理 什么架构
答:MVC是一个开发级框架,如果熟悉的话还是不错的,可以快速开发。如果谈级架构,这里的信息量太少,主要考虑各系统模块之间的配合。如果单就一个会员积分管理,本身就是一个需求而已。如果多个系统使用时,可考虑REST编程风格,使用SOA较为合适一... >>详细
相关问题:discuz X3.1 发贴时修改会员积分的是哪个文个的哪...
答:你是学php 的?自己研究不行埃目前discuz都被收购了,而且discuz 的技术人员都被抽调给腾讯其他业务做事了。目前discuz基本停止更新的。建议换个还在更新的,而且二次开发有开发文件和教程的系统吧。目前在php是基本没有,.net到有不错的你可以... >>详细
相关问题:discuz 怎样设置当会员获得积分时其介绍人也获得相...
答:这个可以使用插件实现 比如:邀请推广返利 1.0.1 因为自己控制发帖积分是非常自由的 比如发帖10分 推广1分 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
