1. 程式人生 > >discuz論壇積分體系二次開發攻略

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

檔案中的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