discuz 论坛剖析,整合

来源:互联网 发布:网络言情校园小说推荐 编辑:程序博客网 时间:2024/04/30 23:39

Discuz.Common 通用方法

Discuz.Controls 控件

Discuz.forum 论坛数据库操作,及大部分逻辑操作

Discuz.ForumPage 页面层(显示层)页面逻辑

Discuz.Setup

1 如果出现 "请将您的安装目录(setup/)下和升级目录(upgrade/)下的.aspx文件全部删除, 以免其它用户运行安装或升级程序!"提示
在 Discuz.ForumPage/setup及 Discuz.ForumPage/upgrade 下把aspx页面删除即可
2 登录时写cookie操作
 ForumUtils.WriteUserCookie()方法
 写cookie 时如果该论坛只是你网站的一个虚拟目录,而且要实现单点登录要在写cookie时加上以下设置
 cookie.Domain = ".zhanshenbb.com";
 cookie.Path = "/";
 在你主站的登录写cookie操作中记得要写以下cookie(论坛cookie)以便统一
 HttpCookie cookie = new HttpCookie("dnt");
 cookie.Domain = ".zhanshenbb.com";
 cookie.Path = "/";
 cookie.Values.Add("userid",userid);
 cookie.Expires = DateTime.Now.AddDays(30);
 HttpContext.Current.Response.AppendCookie(cookie);
 更新在线用户列表
 ?原代码在更新用户列表时只更新了部分数据,但在后面的操作中多次取从在线用户表中取数据,由于username,nickname,groupid,adminid等数据是
 在进入index.aspx页面是插入的临时在线数据,但在登录后的操作中没有更新这些字段,所以建议在登录成功后的 OnlineUserFactory.UpdateAction方法中
 把这些字段也同时更新一下.
3 要登录系统管理员后台(admin/syslogin.aspx)必须是管理员身份才可以 adminid=1 and groupid=1.在前台登录后如果是管理员则可看到 系统设置 菜单 由此进入管理员后台
 在管理员登录过程中会有多次验证,而且验证码上的文字也是从在线用户表中取的 verifcode

4 前台页在在 Discuz.ForumPage/aspx/1/目录下 后台在Discuz.ForumPage/admin/  用的是HttpModule.cs实现地址重写

常用的几个表
dnt_forums 论坛分区表  fid
dnt_users 用户表  uid
dnt_online 在线用户表 olid
dnt_topics 贴子表  tid
dnt_posts1 回复表  pid
dnt_attachments 附件表,上传图片之类的要用到,存放附件图径 aid(uid,pid,tid)
-----------------