代码项目中使用的讨论板 ASP 脚本。这是代码项目社区的开源项目。
这是激发代码项目原始概念的第一个“项目”。我们提供这些脚本是为了帮助开发人员,我们希望像您这样的开发人员能够通过测试、提交错误报告、提出改进建议和提交扩展来帮助我们。
我们邀请您在自己的站点中使用这些脚本,但我们要求您保留左上角的“由 CodeProject 提供支持”徽标。我们还提前请求您的耐心和理解。这些脚本无疑会发生很大的变化,因此我们建议您定期回来查看最新进展,或订阅新闻通讯以接收更新通知。
截至 2000 年 7 月 5 日,我们向 ActiveX 控件提供源代码,该控件处理将消息组织成某种顺序的主要工作。我们很想对代码进行大量评论,甚至提供有关代码如何工作的逐步说明,但我们只是没有时间,并决定按原样发布比根本不发布要好。如果您发现错误或进行改进,请发送给我们。
警告
该代码的 ActiveX 版本使用 ActiveX 控件来实现此排序,方法是加载论坛中的所有消息,然后对它们进行正确排序。一旦论坛开始增长,这显然会导致性能不佳。纯 ASP 版本 后续版本为每条消息包含一个“SortOrder”字段,这意味着消息在数据库查询时排序,并且可以包含分页/过滤以大幅减少记录集大小和负载。不建议使用此代码的 ActiveX 版本。
2001 年 8 月 26 日 - Philip Andrew 提供了 PHP 版本的论坛。
CodeProject 使用的讨论板由 Uwe Keim 编写,包含一个 ActiveX 控件(使用 Visual C++ 编写)和一组 ASP 脚本。 ActiveX 控件提供对论坛消息数据库的低级访问,并提供简化参数从一个页面传递到另一页面的功能。 ActiveX 控件目前仅以 DLL 形式发布,部分原因是我们还没有完成编写它,部分原因是我们刚刚开始记录它:)
新功能:Uwe 编写了新版本的板,仅支持 ASP,因此不再需要使用 ActiveX 控件。这些讨论板的实施量很小,但将为您提供启动和运行一组讨论板所需的一切。目前它们仅支持 Access,但迁移到 SQLServer 对于读者来说是一个简单的练习。有关文件,请参阅本页顶部的下载部分。
所以 - 到脚本上。从这里开始的所有讨论将仅集中于 ActiveX 版本。非 ActiveX 版本非常相似,尽管目录结构和文件嵌套略有不同。
它们分为以下几类:
还有:
假设您正在运行 NT4 Server 或更高版本以及 IIS4 或更高版本,或者运行 Win9X 和 PWS。论坛存储在Access数据库中,使用Jet Engine进行访问。
好的,您已经获得了文件,并且您想开始玩而不是阅读本文的其余部分。我不怪你。接下来你要做的就是:
/CodeProject/forum/bin
目录中注册 ActiveX 控件/CodeProject/common/config.asp
以适合您的站点。/CodeProject/forum/includes/config.asp
以适合您的讨论区。/CodeProject/forum/data/forum.mdb
的读写访问权限。/CodeProject/common/email.inc
以适应。现在只需将浏览器指向/CodeProject/forum/index.asp
即可离开
这些脚本由一组主用户界面脚本(位于根目录中)组成,这些脚本利用工作脚本(位于/forum/app
目录中)来实际完成工作。这些反过来将浏览器重定向回用户界面脚本。
系统的核心位于/forum/includes/forum.inc
。该文件包含论坛类的定义,并且是主论坛 ActiveX 控件的包装器。此类是主要的通信点,包含所有与论坛相关的功能。您从不直接与论坛 ActiveX 控件进行通信,而总是通过此类间接进行通信。
该类不仅包含执行工作的方法,还包含将 URL 返回到各种应用程序脚本的函数。通过这样做,我们可以在/forum/includes/config.asp
文件中设置各种脚本的名称,这使得更改目录结构变得非常简单。
每条消息都有一个由该消息的作者设置的密码,该密码允许作者修改或删除消息。除此之外,您还可以使用全局密码修改或删除消息。这是在/forum/includes/config.asp
中定义的,只需将“ &ad=
”附加到您当前正在查看的任何 URL 的末尾即可使用。
例如,如果您正在查看ID为1的论坛索引,并且您的URL是http://www.myserver.com/codeproject/forum/index.asp?forumid=1
,那么要进入管理模式,只需修改网址为:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
其中“12345”是密码(在/forum/includes/config.asp
中定义为ADMIN_PW
。然后,您可以选择管理论坛(设置论坛名称和描述,以及在有新消息或新消息时发送电子邮件的电子邮件地址)已发布回复消息)。
要添加或删除论坛本身,您必须物理修改数据库。这只是我们尚未完成的事情之一......
在管理模式下,您还可以选择修改或删除消息。此外,一旦进入管理模式,当您浏览论坛脚本时,您将继续处于管理模式。只需删除“ &ad=
”即可退出管理模式。
最新版本的脚本具有增强的用户界面,以及一些旨在修复第一个版本的一些问题的内部更改。简而言之:
太多了。这只是论坛的一个草图,甚至没有描述每个文件的用途,也没有描述我们计划如何扩展脚本。我们将不断致力于改进这些脚本,对主要 CodeProject 论坛所做的所有扩展和修改都将包含在这些可下载文件中。
将此视为正在进行中的工作!