discuz論壇積分體系二次開發攻略
所有涉及到論壇的積分修改,最終都是呼叫檔案/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
五、刪除回覆(包括刪除普通回覆和續寫裝修日記)
規則:刪除普通回覆扣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