赤峰信息港

当前位置:

站长DISCUZ架构积分系统代码分析

2019/06/14 来源:赤峰信息港

导读

09:29 来源:php118 :Googler

09:29 来源:php118 :Googler【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

第二部分:include/p

以下为引用的内容:这个文件处理发新帖的特定请求。 if(isset($poll)) { $special = 1;} elseif(isset($trade)) { $special = 2;} elseif(isset($reward)) { $special = 3;} elseif(isset($activity)) { $special = 4;} else { $special = 0;}这一部分的代码是用来判断帖子的类型的,1为投票,2为交易帖,3为悬赏,4为活动,0为普通帖。 $price = intval($price); $price = $maxprice !$special ? ($price = $maxprice ? $price : $maxpricardprice = intval($rewardprice); if(!$rewardprice) { showmessage('reward_credits_please'); } elseif($rewardprice 32767) { showmessage('reward_credits_overflow'); } elseif($rewardprice $minrewardprice || ($maxrewardprice 0 $rewardprice $maxrewardprice)) { showmessage('reward_credits_between'); } elseif(($realprice = $rewardprice + ceil($rewardprice * $creditstax)) $_DSESSION[extcredits$creditstrans]) { showmessage('reward_credits_shortage'); }

$price = $rewardprice;

$db-query(UPDATE {$tablepre}members SET extcredits$creditstrans=extcredits$creditstrans-$realprice WHERE uid='$discuz_uid');前面说过3表示悬赏帖子,那么当你发表成功了一个悬赏帖子后,就会相应在cdb_members表中减少相应的扩展积分,便是上面的代码的作用了。elseif($special == 3 $allowpostreward) { $db-query(INSERT INTO {$tablepre}rewardlog (tid authorid amount dateline) VALUES ('$tid' '$discuz_uid' $realprice '$timestamp')); }后续判断如果为悬赏帖子的话就往cdb_rewardlog(悬赏记录表)里写入一条记录。 if($attachment) { $searcharray = $pregarray = $replacearray = array(); foreach($attachments as $key = $attach) { $db-query(INSERT INTO {$tablepre}attachments (tid pid dateline readperm price filename description filetype filesize attachment downloads isimage uid thumb remote) VALUES ('$tid' '$pid' '$timestamp' '$attach[perm]' '$attach[price]' '$attments)); }如果帖子中带有附件的话,就把附件插入cdb_attachments表,然后注意到$message这一个变量在这里用到了替换,这里的作用是图文混排。接下来往cdb_posts写一条记录,再用include/p定义到一个函数updatecredits来更新积分。给Discuz的一个小建议:可以判断是不是postattachcredits为0,为0就可以不执行updatecredits这个函数,虽然在函数定义的时候也有判断,不过在这里判断似乎更好。 if($modnewthreads) {

$db-query(UPDATE {$tablepre}forums SET todayposts=todayposts+1 WHERE fid='$fid' 'UNBUFFERED'); $allowuseblog $isblog $blog ? showmessage('post_newthread_mod_blog_succeed' p?uid=$discuz_uid) : showmessage('post_newthread_mod_succeed' p?fid=$fid);

} else {

if($digest) { foreach($digestcredits as $id = $addcredits) { $postcredits[$id] = (isset($postcredits[$id]) ? $postcredits[$id] : 0) + $addcredits; } } updatepostcredits('+' $discuz_uid $postcredits);

$lastpost = $tid\t$subject\t$timestamp\t$author; $db-query(UPDATE {$tablepre}forums SET lastpost='$lastpost' threads=threads+1 posts=posts+1 todayposts=todayposts+1 WHERE fid='$fid' 'UNBUFFERED'); if($forum['type'] == 'sub') { $db-query(UPDATE {$tablepre}forums SET lastpost='$lastpost' WHERE fid='$forum[fup]' 'UNBUFFERED'); }

if($allowuseblog $isblog $blog) { showmessage('post_newthread_blog_succeed' p?tid=$tid); } else { showmessage('post_newthread_succeed' p?tid=$tidextra=$extra); }

}这里是一段代码,作用是这样的:首先看看是不是在发新帖的时候就被加为文集

查看更多相似文章

双鱼座
网站seo如何做
输尿管结石
标签