站长资讯 | 站长常用软件 | 站长工具 | 为奥运祝福!
文章投稿 当前位置:主页>站长故事>站长心得>文章:动易2005整合论坛范例讲解

动易2005整合论坛范例讲解

来源:中国站长学院 作者:小李刀刀 发布时间:2006-10-05 阅读次数:  

整合环境:动易2005SP1正式版 Dvbbs7.1.0_AC正式版

整合前提:两套系统已分别安装调试完毕,均已正常运行

两套系统均为官方最新标准版本,之前未做任何修改


说明:由于动易2005SP1正式版已内置对整合接口的支持,无需修改

整合接口文件说明:

1:UserInfo.asp ----动易2005用户Cookies通用接口文件
2:PE_User.asp----为动网系统非凡编写的处理通行注册、登陆、密码同步等事件的文件

整合过程:

1:将UserInfo.asp放到网站根目录下;
2:将PE_User.asp放到论坛根目录下;
3:修改论坛文件

动网7.x版的论坛整合共需修改以下文件:
1. Inc/Dv_ClsMain.asp --核心类文件,修改其以自动监测用户的登陆、注销、注册状态;
2. Conn.asp --核心数据链接及全局类初始化文件,修改其以初始化通行接口的类;
3. login.asp --论坛登陆文件,修改其以实现对通行登陆的支持;
4. logout.asp --论坛注销文件,修改其以实现对通行注销的支持;
5. reg.asp --论坛注册文件,修改其以实现对通行注册的支持;

正式开始修改文件之前,应该明确UserInfo.asp提供的属性和函数,以及PE_User.asp的使用;

[UserInfo.asp]
该文件中定义了实现动易Cookies信息调用的类,用户无需修改,只要将该文件放置到网站根目录,并在任意ASP文件中包含该文件,就可以使用PE_UserInfo这个类,并通过读取该类提供的8个公用属性和1个公用函数来调用动易的相关资料。列举如下:

公用属性:
PE_Dir: 动易的安装目录;
Site_Sn: 动易的Cookies名称;
UserName: 已经登陆动易的当前用户的用户名
Password: 已经登陆动易的当前用户的密码(16位MD5加密形式)
Email: 已经登陆动易的当前用户的Email
Question: 已经登陆动易的当前用户的密码提示问题
Answer: 已经登陆动易的当前用户的密码提示问题答案(16位MD5加密形式)
CookieDate: 已经登陆动易的当前用户设置的Cookies保存选项(0=不保存;1=保存1天;2=保存一月;3=保存一年)

公用函数:
Sex(ctype):已经登陆动易的当前用户的性别。
说明:该函数包含一个数值型参数,取值范围0-2(0=返回数字形式:0表示女性,1表示男性;1=返回字符形式:"男"表示男性,"女"表示女性; 2=返回字符形式:"male"表示男性,"female"表示女性)

[PE_User.asp]
该文件根据所接收到的URL请求的action来判定并执行相应的操作。
action:
reg: 当收到action=reg的URL请求时,会提示用户输入密码激活论坛身份;
login: 当收到action=login的URL请求时,会自动进行同步登陆(密码必须一致)
pass: 当收到action=pass的URL请求时,会提示用户输入论坛密码以进行登陆
pass3: 当收到action=pass3的URL请求时,会自动将论坛密码改为和用户的动易密码一样,并进行登陆

了解了通用接口和PE_User.asp之后,接下来修改论坛文件以完成整合:

1.Conn.asp
Conn.asp通常是论坛程序定义数据库链接的文件,因此这个文件中定义的变量、函数、过程可以在任何文件中使用,所以我们选择把通用接口类的初始化放在这个文件中。

a)在Conn.asp的第5行左右,找到
=========查找代码========
Option Explicit
Response.Buffer = True
Dim Startime
=========================
修改为:
===========修改后的代码==========
Option Explicit
Response.Buffer = True
%>
<!-- #Include Virtual="UserInfo.asp" -->
<%
Dim Startime
=============================
b)在Conn.asp的第7、8行左右,找到
=========查找代码============
Dim Conn,Plus_Conn,Db,MyDbPath
Startime = Timer()
=============================
修改为:
===========修改后的代码==========
Dim Conn,Plus_Conn,Db,MyDbPath
'定义动易通用接口类
Dim MyPE
'完毕
Startime = Timer()
=================================
c)在Conn.asp的32、33行左右,找到
=========查找代码============
Set template = New cls_templates
Sub ConnectionDatabase
=============================
修改为:
===========修改后的代码==========
Set template = New cls_templates
'初始化动易通用接口类
Set MyPE = New PE_UserInfo
'完毕
Sub ConnectionDatabase
=================================

Conn.asp的修改完毕

2.Inc/Dv_ClsMain.asp
Dv_ClsMain.asp中是动网论坛定义了动网论坛所有核心的类和属性等,每次用户刷新一个页面,都会由这个文件中的函数、事件等来判定是否登陆等信息,因此我们要把检测和判定登陆、注册、注销等放在这个文件中:

a)在Dv_ClsMain.asp的704-706行找到:
=========查找代码============
'当在120秒内刷新同一个页面则不更新online数据
If DateDiff("s",ReflashPageLastTime,Now()) < 120 And LastVisiBoardID = BoardIDAnd Not InStr(ScriptName,"showerr")>0 Then Exit Sub
'更新数组
=============================
修改为:
===========修改后的代码==========
'当在120秒内刷新同一个页面则不更新online数据
'当通行注册和通行登陆时,避开120内刷新同一页面的限制
If Instr(ScriptName,"index") <= 0 or Instr(ScriptName,"pe_user") <= 0 or Instr(ScriptName,"log") <= 0 or Instr(ScriptName,"reg") <=0 Then
If DateDiff("s",ReflashPageLastTime,Now()) < 120 And LastVisiBoardID = BoardIDAnd Not InStr(ScriptName,"showerr")>0 Then Exit Sub
End If
'完毕
'更新数组
=================================

b)在Dv_ClsMain.asp的1039行到1040行,找到Footer过程的结束部分:
=========查找代码============
Response.Write Tmp
End Sub
=============================
修改为:
===========修改后的代码==========
Response.Write Tmp
'检测通行登陆与注销
If IsArray(Session(CacheName & "UserID")) And UserID = 0 And Instr(ScriptName,"pe_user") <= 0 And Instr(ScriptName,"log") <= 0 And Instr(ScriptName,"reg") <= 0 And Instr(ScriptName,"admin") <= 0 And Instr(ScriptName,"showerr") <=0 Then

文章地址:   http://www.xinasp.com/html/yejiexinwen/zhanchangxinde/20061005/4350.shtml
TAG: 讲解 范例 论坛 整合 动易

共3页: 上一页 1 [2] [3] 下一页
    评论加载中…
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 成员列表
© CopyRight 2002-2008, XINASP.COM, Inc. All Rights Reserved 客服QQ:762264 MAIL:QESY#163.COM
浙ICP备06014044号