📄 bbsxp_class.asp
字号:
<!-- #include file="Utility/HashPassword_Class.asp" -->
<%
Function Execute(Command)
SqlQueryNum = SqlQueryNum + 1
'Response.Write "("&SqlQueryNum&")"&Command&"<p>"
Set Execute = Conn.Execute(Command)
End Function
''''''''''''''''''''''''''''''''''''
Class AutoTerminate_Class
Private Sub Class_Terminate
if Err.Number<>0 then
'955 = 未知的运行时错误
'-2147217864 = 乐观并发检查失败。该行在此游标之外进行了修改。
If Err.Number<>995 and Err.Number<>-2147217864 then
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile(Server.MapPath("Log/"&FormatDateTime(now(),2)&"_500.log"),8,1)
f.WriteLine(now()&" "&Request.ServerVariables("REMOTE_ADDR")&" "&Request.ServerVariables("Request_method")&" "&Request.ServerVariables("server_name")&" "&Request.ServerVariables("script_name")&" "&Request.ServerVariables("Query_String")&" "&Err.Number&" "&Err.Source&" "&Err.Description&" "&Request.ServerVariables("All_Http"))
f.Close()
set f = nothing
set fso = nothing
end if
end if
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
Set SiteConfigXMLDOM = Nothing
End Sub
End Class
''''''''''''''''''''''''''''''''''''
Function SiteConfig(str)
TextStr=SiteConfigXMLDOM.documentElement.SelectSingleNode(str).text
if IsNumeric(TextStr) then
str=int(TextStr) '转化为数字类型
if Len(str)<>Len(TextStr) then str=TextStr '防止数字前面的 0 消失掉
else
str=TextStr
End If
SiteConfig=str
End Function
''''''''''''''''''''''''''''''''''''
Function HTMLEncode(fString)
fString=Trim(fString)
fString=Replace(fString,CHR(9),"")
fString=Replace(fString,CHR(13),"")
fString=Replace(fString,CHR(22),"")
fString=Replace(fString,CHR(38),"&") '“&”
fString=Replace(fString,CHR(32)," ") '“ ”
fString=Replace(fString,CHR(34),""") '“"”
fString=Replace(fString,CHR(37),"%") '“%”
fString=Replace(fString,CHR(39),"'") '“'”
fString=Replace(fString,CHR(42),"*") '“*”
fString=Replace(fString,CHR(43),"+") '“+”
fString=Replace(fString,CHR(44),",") '“,”
fString=Replace(fString,CHR(45)&CHR(45),"--") '“--”
fString=Replace(fString,CHR(92),"\") '“\”
'fString=Replace(fString,CHR(95),"_") '“_”
fString=Replace(fString,CHR(40),"(") '“(”
fString=Replace(fString,CHR(41),")") '“)”
fString=Replace(fString,CHR(60),"<") '“<”
fString=Replace(fString,CHR(62),">") '“>”
fString=Replace(fString,CHR(123),"{") '“{”
fString=Replace(fString,CHR(125),"}") '“}”
fString=Replace(fString,CHR(59),";") '“;”
fString=Replace(fString,CHR(10),"<br>")
fString=ReplaceText(fString,"([&#])([a-z0-9]*);","$1$2;")
if SiteConfig("BannedText")<>"" then fString=ReplaceText(fString,"("&SiteConfig("BannedText")&")",string(len("&$1&"),"*"))
if IsSqlDataBase=0 then '过滤片假名(日文字符)[\u30A0-\u30FF] by yuzi
fString=escape(fString)
fString=ReplaceText(fString,"%u30([A-F][0-F])","0$1;")
fString=unescape(fString)
end if
HTMLEncode=fString
End Function
''''''''''''''''''''''''''''''''''''
Function BodyEncode(fString)
fString=Trim(fString)
fString=Replace(fString, "<br />",vbCrlf)
fString=Replace(fString,"\","\")
fString=Replace(fString,"'","'")
fString=Replace(fString,CHR(60),"<") '“<”
fString=Replace(fString,CHR(62),">") '“>”
fString=Replace(fString," "," ")
fString=Replace(fString,"<a href=","<a target=_blank href=") '点链接打开新窗口
if SiteConfig("BannedText")<>"" then fString=ReplaceText(fString,"("&SiteConfig("BannedText")&")",string(len("&$1&"),"*"))
BodyEncode=fString
End Function
''''''''''''''''''''''''''''''''''''
Function BBCode(str)
str=ReplaceText(str,"\[(\/|)(b|i|u|strike|center|marquee)\]","<$1$2>")
str=ReplaceText(str,"\[align=(center|left|right)\]((?:(?!\[\/align\])[\s\S])*)\[\/align\]","<p align=""$1"">$2</p>")
str=ReplaceText(str,"\[float=(center|left|right)\]((?:(?!\[\/float\])[\s\S])*)\[\/float\]","<div style=""float:$1"">$2</style>")
str=ReplaceText(str,"\[COLOR=([^[]*)\]","<font COLOR=$1>")
str=ReplaceText(str,"\[FONT=([^[]*)\]","<font face=$1>")
str=ReplaceText(str,"\[SIZE=([0-9]*[pt|px|%]*)\]","<font size=$1>")
str=ReplaceText(str,"\[\/(SIZE|FONT|COLOR)\]","</font>")
str=ReplaceText(str,"\[list\]","<ul>")
str=ReplaceText(str,"\[list=([\w]+)\]","<ul type=$1>")
str=ReplaceText(str,"\[\/list\]","</ul>")
str=ReplaceText(str,"\[\*\]","<li>")
str=ReplaceText(str,"\[media=([\d]*),([\d]*),(true|false),(true|false)\]((?:(?!\[\/media\])[\s\S])*)\[\/media\]","<embed style=""width: $1px; HEIGHT: $2px"" src=""$5"" type=""audio/x-ms-wma"" autostart=""$3"" ShowStatusBar=""$4"" quality=""high"" />")
'表格
if RegExpTest("\[table(=.[^\[]*)?\]((?:(?!\[\/table\])[\s\S])*)\[\/table\]",""&str&"") then
str=ReplaceText(str,"\[td=([0-9]*),([0-9]*),(.*?)\]","<td colspan=""$1"" rowspan=""$2"" width=""$3"">")
str=ReplaceText(str,"\[td=([0-9]*),([0-9]*)\]","<td colspan=""$1"" rowspan=""$2"">")
str=ReplaceText(str,"\[tr(=.[^\[]*)?\]","<tr>")
str=ReplaceText(str,"\[\/tr\]","</tr>")
str=ReplaceText(str,"\[td\]","<td>")
str=ReplaceText(str,"\[\/td\]","</td>")
do while RegExpTest("\[table(=.[^\[]*)?\]((?:(?!\[\/table\])[\s\S])*)\[\/table\]",""&str&"")
str=ReplaceText(str,"\[table(=.[^\[]*)?\]((?:(?!\[\/table\])[\s\S])*)\[\/table\]","<table width=""$1"" border=""1"" style=""border-collapse:collapse;"">$2</table>")
str=ReplaceText(str,"\[table\]((?:(?!\[\/table\])[\s\S])*)\[\/table\]","<table border=""1"" style=""border-collapse:collapse;"">$1</table>")
loop
end if
str=ReplaceText(str,"\[(url|ed2k)\]ed2k:\/\/\|file\|([^\\\/:*?<>""|]+[\.]?[^\\\/:*?<>""|]+)\|(\d+)\|([0-9a-zA-Z]{32})((\|[^[]*)?)\|\/\[\/(url|ed2k)\]",""&vbCrlf&_
"<br /><table align=""center"" cellspacing=""1"" cellpadding=""5"" width=""100%"" class=""CommonListArea"">"&vbCrlf&_
"<tr align=center class=""CommonListHeader""><td>文件名</td><td width=""100"">大小</td></tr>"&vbCrlf&_
"<tr class=""CommonListCell""><td><a href=""ed2k://|file|$2|$3|$4$5|/"" target=_blank>$2</a> (<a href=""http://www.ed2000.com/ed2kstats/?hash=$4"" target=""_blank"">查源</a>)</td><td align=center><script language=""javascript"">document.write(gen_size($3, 3, 1));</script></td></tr>"&vbCrlf&_
"<tr class=""CommonListCell""><td colspan=""2""><input type=""button"" value=""下载该资源"" onClick=""download('ed2k://|file|$2|$3|$4$5|/')"" /> <input type=""button"" value=""复制ED2K链接"" onClick=""copyToClipboard('ed2k://|file|$2|$3|$4$5|/')"" /> <span style=""float:right;margin-top:-17px;""><a href=""http://www.ed2000.com/download/"" target=""_blank"">推荐使用eMule进行下载</a></span></td></tr>"&vbCrlf&_
"</table><br />")
str=ReplaceText(str,"\[ed2k\]((?:(?!\[\/(url|ed2k)\])[\s\S])*)\[\/ed2k\]",""&vbCrlf&_
"<br /><table align=""center"" cellspacing=""1"" cellpadding=""5"" width=""100%"" class=""CommonListArea"">"&vbCrlf&_
"<tr align=center class=""CommonListHeader""><td width=25><input type=""checkbox"" id=""checkall_ed2klist"" onclick=""checkAll('ed2klist',this.checked)"" /></td><td>文件名</td><td width=""100"">大小</td></tr>$1"&vbCrlf&_
"<tr class=""CommonListCell""><td colspan=""3""><input type=""button"" value=""下载选中资源"" onClick=""Download('ed2klist',0,1)"" /> <input type=""button"" value=""复制ED2K链接"" onClick=""copy('ed2klist')"" /> <span style=""float:right;margin-top:-17px;""><a href=""http://www.ed2000.com/download/"" target=""_blank"">推荐使用eMule进行下载</a></span></td></tr>"&vbCrlf&_
"</table><br />")
str=ReplaceText(str,"\[link\]ed2k:\/\/\|file\|([^\\\/:*?<>""|]+[\.]?[^\\\/:*?<>""|]+)\|(\d+)\|([0-9a-zA-Z]{32})((\|[^[]*)?)\|\/\[\/link\]","<tr class=""CommonListCell""><td align=center><input type=""checkbox"" value=""ed2k://|file|$1|$2|$3$4|/"" onclick=""em_size(''+this.name+'');"" name=""ed2klist"" /></td><td><a href=""ed2k://|file|$1|$2|$3$4|/"" target=_blank>$1</a> (<a href=""http://www.ed2000.com/ed2kstats/?hash=$3"" target=""_blank"">查源</a>)</td><td align=center><script language=""javascript"">document.write(gen_size($2, 3, 1));</script></td></tr>")
str=ReplaceText(str,"\[URL\]([^[]*)","<a target=_blank href=$1>$1")
str=ReplaceText(str,"\[URL=([^[]*)\]","<a target=_blank href=$1>")
str=ReplaceText(str,"\[\/URL\]","</a>")
str=ReplaceText(str,"\[EMAIL\](\S+\@[^[]*)(\[\/EMAIL\])","<a href=mailto:$1>$1</a>")
str=ReplaceText(str,"\[EMAIL=(\S+\@[^[]*)\](\S+\@[^[]*)(\[\/EMAIL\])","<a href=mailto:$1>$2</a>")
str=ReplaceText(str,"\[IMG\]([^("&CHR(34)&"|[|#)]*)(\[\/IMG\])","<img border=0 src=$1 />")
str=ReplaceText(str,"\[IMG=([0-9]*),([0-9]*)\]([^("&CHR(34)&"|[|#)]*)(\[\/IMG\])","<img width=$1 height=$2 border=0 src=$3 />")
str=ReplaceText(str,"\[quote\]","<blockquote>")
str=ReplaceText(str,"\[quote user="&CHR(34)&"([^[]*)"&CHR(34)&"\]","<blockquote><img border=0 src=images/icon-quote.gif> <b>$1:</b><br>")
str=ReplaceText(str,"\[\/quote\]","</blockquote>")
str=Replace(str,"<%","<%")
str=replace(str,vbcrlf,"<br />")
BBCode=str
End Function
''''''''''''''''''''''''''''''''''''
Function RequestInt(fString)
RequestInt=Request(fString)
if IsNumeric(RequestInt) then
RequestInt=int(RequestInt)
else
RequestInt=0
end if
End Function
''''''''''替换模块START''''''''''''
Function ReplaceText(fString,patrn,replStr)
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True ' 设置全局可用性。
ReplaceText = regEx.Replace(""&fString&"",""&replStr&"") ' 作替换。
Set regEx=nothing
End Function
''''''''''替换模块END''''''''''''
Function RegExpTest(patrn, strng)
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True ' 设置全局可用性。
RegExpTest = regEx.Test(strng) ' 执行搜索。
Set regEx=nothing
End Function
'''''''''''''''''''Cookies Process Start''''''''''''''''''''
Function ResponseCookies(Key,Value,Expires)
Response.Cookies(Key) = ""&Value&""
if ""&SiteConfig("CookieDomain")&""<>"" then Response.Cookies(Key).Domain = SiteConfig("CookieDomain")
Response.Cookies(Key).Path = SiteConfig("CookiePath")
if int(Expires)>0 then Response.Cookies(Key).Expires = date+Expires
End Function
'''''''''''''''''''''''''''''''''''''''''''
Function RequestCookies(CookieName)
RequestCookies=Request.Cookies(CookieName)
End Function
'''''''''''''''''''''''''''''''''''''''''''
Function CleanCookies()
For Each objCookie In Request.Cookies
ResponseCookies objCookie,"",0
Next
ResponseCookies "Themes",SiteConfig("DefaultSiteStyle"),365
End Function
'''''''''''''''''''Cookies Process End''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''
'写入Application
Function ResponseApplication(Key,Value)
Application(SiteConfig("CacheName")&"_"&Key) = Value
End Function
'读取Application
Function RequestApplication(Key)
RequestApplication=Application(SiteConfig("CacheName")&"_"&Key)
End Function
'删除Application
Function RemoveApplication(Key)
Application.Contents.Remove(SiteConfig("CacheName")&"_"&Key)
End Function
'追加Application
Function AddApplication(Key,Value)
Application(SiteConfig("CacheName")&"_"&Key) = Application(SiteConfig("CacheName")&"_"&Key)&Value&"<br>"
End Function
'更新缓存
Function UpdateApplication(Key,SQL)
Application.Lock
ResponseApplication Key,FetchEmploymentStatusList(SQL)
Application.Unlock
End Function
'''''''''''''''''''''''''''''''''''''''''''
Function FetchEmploymentStatusList(SQL)
Set Rs2=Execute(SQL)
if Rs2.Eof then
Rs2.Close
Set Rs2 = Nothing
Exit Function
End if
FetchEmploymentStatusList = Rs2.GetRows()
Rs2.Close
Set Rs2 = Nothing
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -