📄 install.asp
字号:
<!-- #include file="BBSXP_Class.asp" -->
<!--#include file="Config.asp"-->
<%
DataBaseVer="8.0.5"
if Request.ServerVariables("REMOTE_ADDR")<>InstallIPAddress then
response.Write("为了安全起见,请编辑 <font color=red>Config.asp</font> 内的安装IP地址<li>请把它设置成 <font color=red>"&Request.ServerVariables("REMOTE_ADDR")&"</font>")
Response.end
end if
Set Rs = Server.CreateObject("ADODB.Recordset")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<%=BBSxpCharset%>" />
<meta name="GENERATOR" content="BBSXP 2008 (<%=DataBaseVer%>)" />
<link rel="stylesheet" type="text/css" href="Themes/Default/Common.css" />
<title>BBSXP2008 安装程序</title>
</head>
<body>
<table cellspacing="0" cellpadding="5" width="100%">
<tr class="CommonListTitle">
<td width="160" background="Themes/Default/header.gif"><img src="Themes/Default/Logo.gif"></td>
<td background="Themes/Default/header.gif">BBSXP2008 (<%=DataBaseVer%>) 安装程序</br><%=IsSqlVer%>数据库</td>
</tr>
</table>
<%
if Request("menu")="ServerConfig" then
ServerConfig
elseif Request("menu")="CheckDatabase" then
CheckDatabase
elseif Request("menu")="" then
Default
else
Set Conn=Server.CreateObject("ADODB.Connection")
On Error Resume Next
Conn.open ConnStr
If Err Then ErrMsg
On Error GoTo 0
select case Request("menu")
case "AutoCreateTable"
FoundError=False
AutoCreateTable
case "SiteSetting"
Set SiteConfigXMLDOM=Server.CreateObject("Microsoft.XMLDOM")
SiteConfigXMLDOM.loadxml("<bbsxp>"&Execute("Select SiteSettingsXML from ["&TablePrefix&"SiteSettings]")(0)&"</bbsxp>")
SiteSetting
case "SiteSettingUp"
Set XMLDOM=Server.CreateObject("Microsoft.XMLDOM")
Rs.Open "["&TablePrefix&"SiteSettings]",Conn,1,3
XMLDOM.loadxml("<bbsxp>"&Rs("SiteSettingsXML")&"</bbsxp>")
SiteSettingsXMLStrings=""
Set objNodes = XMLDOM.documentElement.ChildNodes
Set objRoot = XMLDOM.documentElement
for each ho in Request.Form
objRoot.SelectSingleNode(ho).text = ""&server.HTMLEncode(Request(""&ho&""))&""
next
for each element in objNodes
SiteSettingsXMLStrings=SiteSettingsXMLStrings&"<"&element.nodename&">"&element.text&"</"&element.nodename&">"&vbCrlf
next
Set XMLDOM=nothing
Rs("SiteSettingsXML")=SiteSettingsXMLStrings
Rs.update
Rs.close
Response.redirect("?menu=AddAdmin")
case "AddAdmin"
AddAdmin
case "AddAdminUp"
SiteSettingsXML=Execute("Select SiteSettingsXML from ["&TablePrefix&"SiteSettings]")(0)
Set SiteConfigXMLDOM=Server.CreateObject("Microsoft.XMLDOM")
SiteConfigXMLDOM.loadxml("<bbsxp>"&SiteSettingsXML&"</bbsxp>")
dim UserName,UserPassword,UserEmail,PasswordQuestion,PasswordAnswer,Message
AddAdminUp
case "DeleteAdmin"
SiteSettingsXML=Execute("Select SiteSettingsXML from ["&TablePrefix&"SiteSettings]")(0)
Set SiteConfigXMLDOM=Server.CreateObject("Microsoft.XMLDOM")
SiteConfigXMLDOM.loadxml("<bbsxp>"&SiteSettingsXML&"</bbsxp>")
DeleteAdmin
end select
end if
InstallEndHtml
Sub InstallEndHtml
%>
<div class="CommonFooter">
Powered by <a target="_blank" href="http://www.bbsxp.com">BBSXP 2008 <%=IsSqlVer%></a> © 1998-<%=year(now())%><br />
Server Time <%=now()%><br />
</div>
</body>
</html>
<%
End Sub
Sub ErrMsg
%>
<div style='text-align:left;padding:40px;width:auto; background:#FFFFFF'>
<div style="padding-bottom:30px; font-size:12pt; color:#FF0000;"><b>安装程序遇到错误</b></div>
<%=Err.Description%><br /></div>
<div style="width:auto; padding:10px;background:#698CC3; color:#FFFFFF; font-weight:bold; height:20px">
<div style="float:left"><input type="button" value="返回安装向导首页" onClick="window.location.href = '?';" /></div>
<div style="float:right"><input type="button" value="下一步" disabled="disabled" /></div>
</div>
<%
InstallEndHtml
response.end
End Sub
Sub Default
%>
<div style="text-align:left;padding:40px;width:auto; background:#FFFFFF">
<b>欢迎使用 BBSXP2008</b><br /><br />
您即将开始安装本程序。<br /><br />
<font color=red>如果您是首次使用,请点击页面右下角 <strong>[下一步]</strong> 按钮开始全新安装进程。</font><br /><br />
为了避免安装时浏览器崩溃,我们强烈建议您关闭浏览器上的第三方工具栏,例如 Google、MSN、Alexa 工具栏等。<br /><br /><br /><br />
如果您需要重新设置论坛配置,请点击 <input type="button" value="论坛配置" onClick="window.location.href = '?menu=SiteSetting';" /> ,直接设置论坛配置。<br /><br />
如果您忘记管理员密码,请点击 <input type="button" value="设置管理员" onClick="window.location.href = '?menu=AddAdmin';" /> ,直接设置管理员。
</div>
<div style="width:auto; padding:10px;background:#698CC3; color:#FFFFFF; font-weight:bold; height:20px">
<div style="float:right"><input type="button" value="下一步" onClick="window.location.href = '?menu=ServerConfig';" /></div>
</div>
<%
End Sub
Sub ServerConfig
%>
<div style="text-align:left;padding:40px;width:auto; background:#FFFFFF">
<p style="font-size:10pt;"><b><u>第 1 步)检查组件支持情况</u></b></p>
服务器组件支持情况(以下组件ADOX为必需,其余为非必需的):<br /><br />
ADOX.Catalog (ADOX 用于创建数据库) 组件支持:<%If Not IsObjInstalled("ADOX.Catalog") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br /> -----------------------------------------------<br />
Scripting.FileSystemObject (FSO 文本文件读写) 组件支持:<%If Not IsObjInstalled("Scripting.FileSystemObject") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br />
CDO.Message (WINDOWS 邮件服务器) 组件支持:<%If Not IsObjInstalled("CDO.Message") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br /> -----------------------------------------------<br />
Persits.Jpeg (AspJpeg 图像处理) 组件支持:<%If Not IsObjInstalled("Persits.Jpeg") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br />
Persits.Upload (AspUpload 文件上传) 组件支持:<%If Not IsObjInstalled("Persits.Upload") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br />
Persits.MailSender (AspEmail SMTP邮件发送) 组件支持:<%If Not IsObjInstalled("Persits.MailSender") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br /> -----------------------------------------------<br />
SoftArtisans.FileUp (SA-FileUp 上传组件) 组件支持:<%If Not IsObjInstalled("SoftArtisans.FileUp") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br />
JMail.Message (JMail SMTP邮件发送) 组件支持:<%If Not IsObjInstalled("JMail.Message") Then%><font color="red"><b>×</b></font><%else%><b>√</b><%end if%><br />
</div>
<div style="width:auto; padding:10px;background:#698CC3; color:#FFFFFF; font-weight:bold; height:20px">
<div style="float:left"><input type="button" value="返回安装向导首页" onClick="window.location.href = '?';" /></div>
<div style="float:right"><input type="button" value="下一步" onClick="window.location.href = '?menu=CheckDatabase';" /></div>
</div>
<%
End Sub
Sub CheckDatabase
%>
<div style="text-align:left;padding:40px;width:auto; background:#FFFFFF">
<p style="font-size:10pt;"><b><u>第 2 步)创建数据库</u></b></p>
<%
On Error Resume Next
If IsSqlDataBase=0 Then
Set fso = Server.CreateObject("Scripting.FileSystemObject")
SqlDataBase=split(SqlDataBase,"/")
CurrentPath=""
for i=0 to Ubound(SqlDataBase)-1
if not fso.folderexists(Server.MapPath(CurrentPath&SqlDataBase(i))) then fso.CreateFolder(Server.MapPath(CurrentPath&SqlDataBase(i)))
if Err then
Response.Write(""&SqlDataBase(i)&" 文件夹没有被创建!<br /><br />出错原因:"&Err.Description&"("&Err.Number&")<br /><br />")
if Err.Number = 70 then Response.Write("建议解决方法:请给 "&Server.MapPath(".")&" 目录添加一个有写入权限的 Authenticated Users 用户。<br /><br /><br /><br />")
err.Clear
exit for
end if
CurrentPath=CurrentPath&SqlDataBase(i)&"/"
next
Set fso = nothing
End If
Set Ca = Server.CreateObject("ADOX.Catalog")
call Ca.Create(""&Connstr&"")
Set Ca = Nothing
If Err Then
Response.Write(""&IsSqlVer&" 数据库没有被创建!<br /><br />出错原因:"&Err.Description&"("&Err.Number&")")
if Err.Number = -2147467259 then Response.Write("<br /><br />建议解决方法:请给 "&Request.ServerVariables("TEMP")&" 目录添加一个有写入权限的 Authenticated Users 用户。")
if Err.Number = -2147217897 then Response.Write("<br /><br />请单击 下一步 继续")
else
Response.Write(""&IsSqlVer&" 数据库创建成功,请单击 下一步 创建数据表<br /><br />")
end if
err.Clear
%></div>
<div style="width:auto; padding:10px;background:#698CC3; color:#FFFFFF; font-weight:bold; height:20px">
<div style="float:left"><input type="button" value="返回安装向导首页" onClick="window.location.href = '?';" /></div>
<div style="float:right"><input type="button" value="下一步" onClick="window.location.href = '?menu=AutoCreateTable';" /></div>
</div>
<%
End Sub
Sub AddAdminUp
UserName=HTMLEncode(Request("UserName"))
UserPassword=HTMLEncode(Request("UserPassword"))
UserEmail=HTMLEncode(Request("UserEmail"))
PasswordQuestion=HTMLEncode(Request.Form("PasswordQuestion"))
PasswordQuestion2=HTMLEncode(Request.Form("PasswordQuestion2"))
PasswordAnswer=Request("PasswordAnswer")
if ""&PasswordQuestion2&""<>"" then PasswordQuestion=PasswordQuestion2
Message=""
if Execute("select UserID from ["&TablePrefix&"Users] where UserName='"&UserName&"'").eof then
AddUser
else
ModifyUserPassword UserName,UserPassword,UserEmail,PasswordQuestion,PasswordAnswer
end if
if ""&Message&""<>"" then
HeaderText="注册/更新管理员遇到如下错误"
Messages=Message
Messages=Messages&"<li>请返回重新设置管理员帐号</li>"
else
Execute("Update ["&TablePrefix&"Users] Set UserRoleID=1 where UserName='"&UserName&"'")
HeaderText="第 6 步)安装完成"
Messages="您已成功安装了 BBSXP2008("&IsSqlVer&")。<br /><br />"
Messages=Messages&"<font size=+1><b>您运行此论坛前建议删除如下文件:</b><br>install.asp</font><br /><br />"
Messages=Messages&"现在,您可以进入您的控制面板。<br>进入控制面板可以<a href=Admin_Default.asp target=_top>点击这里</a>。"
end if
%>
<div style="text-align:left;padding:40px;width:auto; background:#FFFFFF">
<p style="font-size:10pt;"><b><u><%=HeaderText%></u></b></p>
<%=Messages%>
</div>
<%
End Sub
Sub DeleteAdmin
AdminUserName=HTMLEncode(Request("UserName"))
Execute("Update ["&TablePrefix&"Users] Set UserRoleID=3 where UserName='"&AdminUserName&"'")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -