| 一个基于 PHP & MYSQL 的论坛程序 ThreadBoard的最初设计源于2002年10月,从最初的构想到完成断断续续的用了两个月的时间。 直到2003年10月又重新设计了数据库和论坛的内核,就是你现在看到的样子。 后台技术 ThreadBoard是一个基于 PHP 架构的 Web 论坛程序, 使用 MySQL 数据库。 只要你的服务配置有这两种程序,那么 ThreadBoard 就可以运行。 当然,这只是一种假设,因为我们只是在Redhat、FreeBSD 及 Windows 的服务器中作过测试。 另外,我们当初在设计这个论坛时是使用 PostGreSQL 数据库,因而如果你对 PHP 及这两种数据库 熟悉,那么 ThreadBoard 很容易就移植到基于 PostGreSQL 的服务器。 自由的分类设定及板块设置 可以自由选择是否使用论坛分类。使用主分类与否,完全不影响整个程序的运行。 使用主分类与不使用主分类两者兼容并存。 论坛板块可以自由设定关闭、锁定或开放,可以随意排列位置和所属类别。 各个板块都有其独自的属性,可以自由设定允许进入的用户组及设定允许进入的积分大小。 未经允许的用户将不能进入也不能看到这个板块的存在。 管理员可以选择锁定或关闭某个讨论区,被锁定的讨论区,将不再接受任何贴子的发表,管理员、超级版主和版主除外。 关闭的讨论区,不再接受任何贴子的发表,这通常用作论坛的特殊之用,如:公告。 多语言设置 论坛主页面与各个板块间可以自由设定所需的语言。语言配置文件位于language文件夹下。程序默认带了一个简体中文语言包。要使用其它语言,请自行翻译配置。配置文件 config.php 中的 $cfg['language'] 用以设定主页面语言方案。 多种界面设置 各个板块间可以自由设定各个图标界面方案。图标界面方案位于skin文件夹下。 程序默认带了一个图标界面方案:default。要使用界面方案,请自行配置。 配置文件 config.php 中的 $cfg['skin'] 用以设定主页面界面方案。 多种浏览方式 ThreadBoard除了树形与平板两种浏览方式外。还有简化及快速浏览两种浏览方式。 平板模式或许会让你看到更多其它的信息。 树型目录的显示结构清晰,可以快速定位上下文的关系。 除此外ThreadBoard还有一种简单显示模式,只是简单地显示帖子标题及内容,对于文学类的帖子,这种显示模式相当养眼及清新。当然,几种显示模式可自由切换,视用户喜好而定。 用户注册与资料保存 ThreadBoard不支持匿名组。ThreadBoard不管用户从那台电脑登陆,系统都知道该拥有什么权限。系统虽然使用了 cookie ,但仅仅是用来识别用户,用户的所有资料都保存在 server 端,而且 cookie 及用户的密码等信息都用 MD5 加密。 多种用户身份管理 注册用户可以有多种身份,除系统自定的管理员、超级版主、版主及一般用户外, 管理员还可以自由设定多个用户组,设定各用户组独自的属性。超级版主及版主的管理权限由管理员设定,这意味着,他们拥有什么样的权限不是由他们的用户身份决定的。 积分功能 积分在ThreadBoard中是一个重要的属性设置,管理员拥有管理积分权限的超级版主及本版主,可以对文章进行积分增减操作。积分的另一个作用是对于一些不便于在网络上公开或只想对某些用户公开的文章或资料,那么可以使用积分功能来加密。 在线用户查看 每一个登陆ThreadBoard论坛程序的用户都会有操作记录,这包括非注册用户。至于什么人可以查看用户的在线情况,这视管理员的设定而定。 排行统计系统 排行榜会列出整个论坛以及各个论坛板块前 10 名发表文章都、被浏览次数最多的文章及被回复最多的主题。这有助于你快速查找文章。 帖子流量分析 如果管理员更新了论坛的流量分析,那么你可以看到自论坛使用以来到更新日期止这一段时期以来每年、每月、每日、每周及小时的帖子主题及回复分析。 悄悄话短信 悄悄话短信模块如同一般的网上信息,当用户有用户有新的未看过的悄悄话短信时,系统会有图标提示及弹出窗口(这视用户的设定)。用户可以建立自己的地址薄,设定接收或拒绝某人的悄悄话短信。当对方看过你发出的悄悄话短信,当然,你也可以在对方看到之前把它删除,权当什么事都没有发生。 投票系统 投票系统是一个独立的模块,这有别于其它论坛。什么人可以发表一个新的投票及查看投票这视管理员的设定而定。 每个投票可以有多少个投票项目由管理员的设定而定。每个参加投票的人员都会被记录。 投票的管理由超级版主及管理员来进行。 文章收藏 如果系统开放了文章收藏功能,那么用户可以拥有自己的收藏夹,用户可以把自己喜欢的文章加入自己的收藏,便于快速查询。 当然,这些功能模块都是各自独立的,只要你愿意,你可以把除用户模块及帖子发表、显示之外的模块都去掉,这毫不影响整个论坛程序的运行。 其它 当初这个程序在本地测试运行时 注册用户数据: 97,687名 数据表大小:78.1 MB 索引数据大小:652 字节 帖子总数:328,309条 数据表大小:850.5 MB 33 索引数据大小:580 字节 数据库记录:492,307条 数据库大小:933.1 MB 数据库索引大小:53.7 KB 仍运行得十分流畅,说明ThreadBoard的执行速度还是可以的,试想933.1 MB的数据库是一个什么概念,而且当时运行MySql可支配的内存只有8M。在运行达到上述测试条件时,系统的瓶颈出现在两方面:排行榜及后台管理员管理员。由于在设计上为了减少索引的使用,对两者间并没有在数据库上进行优化,或许你可以在数据库上进行优化。但相信达到1G数据的使用情况,无论是在MySql的配置上或是机器的配置上,都是本人的机器没法比的,也许不会出现这两种情况。 另: 作为一个BBS论坛程序来说,需要维护及检测的东西太多,难免存在许多BUG或不及人意之处,一直以来我都想把它写好,但本人能力实在有限。 |