1、主題表 pre_forum_thread:這個表乙個主要資料就是 tid 主題id
2、post 分表協調表 pre_forum_post_tableid:這裡需要獲取乙個自增的 pid
3、帖子表 pre_forum_post :記錄主題pid、fid、tid、title、content等主要資訊
4、版塊表 pre_forum_forum:這裡主要更新版塊的主題、帖子數量
5、帖子主題審核資料表 pre_forum_thread_moderate:這個可以根據自己狀況決定,並不是必須的
6、使用者統計表 pre_common_member_count:主要是更新使用者的主題數量
自己處理發帖主要涉及到了上面6個資料庫表,其中第5個不是必須的。
大致流程是這樣的:
第一步:向 主題表 pre_forum_thread 中插入版塊id、使用者id、使用者名稱、帖子標題、發帖時間等資訊。
$thread_model = m('forumthread');
$time = time();
$thread_data=array(
'fid'=>$data['fid'],
'author'=>$data['author'],
'authorid'=>$data['authorid'],
'subject'=>$data['subject'],
'dateline'=>$time,
'lastpost'=>$time,
'lastposter'=>$data['author'],
'status'=>'32',
'isgroup'=>'1',
);
第二步:獲取第一步插入表 pre_forum_thread 的資料id,作為主題id,即 tid
第三步:向 post 分表協調表 pre_forum_post_tableid 插入一條資料,這張表中只有乙個自增字段 pid
第四步:獲取 第三步 插入表 pre_forum_post_tableid 的資料id,作為 pid
$post_data=array(
'pid'=>$pid, //帖子id
'tid'=>$tid, //論壇id
'fid'=>$data['fid'], //主題id
'first'=>'1', //首帖為1
'author'=>$data['author'], //作者名稱
// 'invisible'=>'-2', //-2未審核狀態
'anonymous'=>empty($data['anonymous'])? '0' : '1' , //是否匿名
'authorid'=>$data['authorid'], //作者id
'subject'=>$data['subject'], //主題標題
'message'=>$data['message'], //內容
'dateline'=>$time, //發布時間
);
第七步:更新使用者 pre_common_member_count 帖子數量資訊
discuz發帖過程主要就是以上7個步驟,通過這幾個步驟就可以完成對實現discuz的發帖流程,其中設計到一些積分等其他資訊的可以自己加上。
discuz登入流程解析 版本X3 2
discuz登入流程解析,最近在研究,ucenter的同步登陸機制,就先從discuz的登入開始了 1.form表單提交 member.php?mod logging action login loginsubmit yes handlekey login loginhash lm137 inaja...
Discuz 公升級X3問題彙總整理
最近一段時間公司的社群垃圾帖數量陡然 以至於社群首頁的推薦版塊滿滿都是垃圾帖的身影,為了進一步解決垃圾帖問題我們整整花了1天時間刪垃圾貼,清除不良使用者,刪的手都酸了,可見垃圾帖的數量之多!可恥的刷帖機,可惡的發廣告的人,因此我們決定增大discuz的驗證機制,並進一步重新完善使用者的許可權,從註冊...
x32下的DLL隱藏
原理主要就是peb 中模組斷鏈.這裡整理下 原理可以看下另一篇我寫的帖子.dllmain.cpp 定義 dll 應用程式的入口點。include stdafx.h include include typedef struct unicode string unicode string typedef...