教育概况 教育信息 德育教育 教学研究 教师培训 技术装备 教育信息 招生信息
通知
中小学数字图书馆建设完毕[06.07]
招聘教师启事[04.10]
教师办公微机使用规定[02.21]
采购小学模型加工机[10.31]
招聘启事[04.28]
举办网站信息发布培训班[11.22]
八一中学国防生源基地授牌[05.16]
少年军校拉练[04.28]
教育信息 更多信息
教师培训 更多信息
文件传输
 
内部资源
 
数据查询
 
其它应用
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%option explicit%> <% Dim SqlNowString,SiteSN,Conn,DBPath,CollectDBPath,DataServer,DataUser,DataBaseName,DataBasePsw Const DataBaseType=0 '系统数据库类型,"1"为MS SQL2000数据库,"0"为MS ACCESS 2000数据库 Const SysVer=1 If DataBaseType=0 then '如果是ACCESS数据库,请认真修改好下面的数据库的文件名 DBPath = "\Database\~~~##DataBase.mdb" 'ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径 SqlNowString = "Now()" Else '如果是SQL数据库,请认真修改好以下数据库选项 DataServer = "(local)" '数据库服务器IP DataUser = "sa" '访问数据库用户名 DataBaseName = "KesionCms" '数据库名称 DataBasePsw = "989066" '访问数据库密码 SqlNowString = "GetDate()" End if '采集数据库路径 CollectDBPath="\Database\Collect\KS_Collect.mdb" Call OpenConn Sub OpenConn() On Error Resume Next Dim ConnStr If DataBaseType = 1 Then ConnStr="driver={SQL Server};server="&dataserver&";UID="&datauser&";PWD="&databasepsw&";Database="&databasename Else ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBPath) End If Set conn = Server.CreateObject("ADODB.Connection") conn.open ConnStr If Err Then Err.Clear:Set conn = Nothing:Response.Write "数据库连接出错,请检查Conn.asp文件中的数据库参数设置。":Response.End Application("DBPath") = DBPath Application("ConnStr") = ConnStr Application("CollcetConnStr") ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath( CollectDBPath) Application("DataBaseType") = DataBaseType Application("SqlNowString")=SqlNowString Application("SysVer") = SysVer End Sub Sub CloseConn() On Error Resume Next Conn.close:Set Conn=nothing End sub %> <% Class ClsCache Private cache '缓存内容 Private cacheName '缓存Application名称 Private expireTime '缓存过期时间 Private expireTimeName '缓存过期时间Application名称 Private vaild 'ansir添加 Private Sub Class_Initialize() End Sub Private Sub Class_Terminate() End Sub Property Get Version() Version = "Kesion Cache" End Property Property Get valid() If IsEmpty(cache) Or (Not IsDate(expireTime)) Then vaild = False Else valid = True End If End Property Property Get value() If IsEmpty(cache) Or (Not IsDate(expireTime)) Then value = Null ElseIf CDate(expireTime) < Now Then value = Null Else value = cache End If End Property Public Property Let name(str) cacheName = str cache = Application(cacheName) expireTimeName = str & "_expire" expireTime = Application(expireTimeName) End Property Public Property Let expire(tm) expireTime = tm Application.Lock Application(expireTimeName) = expireTime Application.UnLock End Property Public Sub add(varCache, varExpireTime) If IsEmpty(varCache) Or Not IsDate(varExpireTime) Then Exit Sub End If cache = varCache expireTime = varExpireTime Application.Lock Application(cacheName) = cache Application(expireTimeName) = expireTime Application.UnLock End Sub Public Sub clean() Application.Lock Application(cacheName) = Empty Application(expireTimeName) = Empty Application.UnLock cache = Empty expireTime = Empty End Sub Public Function verify(varcache2) If TypeName(cache) <> TypeName(varcache2) Then verify = False ElseIf TypeName(cache) = "Object" Then If cache Is varcache2 Then verify = True Else verify = False End If ElseIf TypeName(cache) = "Variant()" Then If Join(cache, "^") = Join(varcache2, "^") Then verify = True Else verify = False End If Else If cache = varcache2 Then verify = True Else verify = False End If End If End Function End Class %> <% Class CommonCls Public KSCache Public SiteSN Public PointName,PointUnit,PointStr '===============MD5常量定义开始=========== Private m_lOnBits(30) Private m_l2Power(30) Private BITS_TO_A_BYTE Private BYTES_TO_A_WORD Private BITS_TO_A_WORD private adOpenForwardOnly private adLockReadOnly '===============MD5常量定义结束=========== Private Sub Class_Initialize() Set KSCache = New ClsCache Call KSCMSInitialize End Sub Private Sub Class_Terminate() Set KSCache=Nothing End Sub '******************************************************************************************************************* '函数名:KSCMSInitialize '作 用: 加载动力网络系统的必要参数 '备 注:以下参数请不要更改。否则系统可能无法正常运行 '******************************************************************************************************************* Public Function KSCMSInitialize() BITS_TO_A_BYTE = 8 BYTES_TO_A_WORD = 4 BITS_TO_A_WORD = 32 adOpenForwardOnly=1 adLockReadOnly=1 SiteSN = Replace(Replace(LCase(Request.ServerVariables("SERVER_NAME")), "/", ""), ".", "") Application("VerInfo") = "动力网站管理系统 V2.2 Sp2 " PointName=GetConfig("PointName") PointUnit=GetConfig("PointUnit") PointStr=PointUnit & PointName End Function '********************************************************************************************************************* '函数名:Conn '作 用:连接数据库 '返回值:无 '********************************************************************************************************************* Public Function Conn() On Error Resume Next Dim ConnObj:Set ConnObj=Server.CreateObject("ADODB.Connection") ConnObj.Open Application("ConnStr") Set Conn = ConnObj End Function '采集数据库连接 Public Function ConnItem() Dim ConnObj:Set ConnObj=Server.CreateObject("ADODB.Connection") ConnObj.Open Application("CollcetConnStr") Set ConnItem = ConnObj End Function '************************************************** '函数名:GetConfig '作 用:获取系统配置信息 '参 数: ConfigField相应的字段名称 '返回值:相应字段的值 '************************************************** Public Function GetConfig(ByVal ConfigField) IF Application(SiteSn & "SiteConfig_" & ConfigField)="" Then Dim ConfigRS:Set ConfigRS = Server.CreateObject("Adodb.Recordset") On Error Resume Next ConfigRS.Open ("Select * From KS_Config"), Conn, 1, 1 GetConfig = ConfigRS(ConfigField) If Err.Number <> 0 Then GetConfig = "":Err.clear ConfigRS.Close:Set ConfigRS = Nothing Application(SiteSn & "SiteConfig_" & ConfigField)=GetConfig Else GetConfig=Application(SiteSn & "SiteConfig_" & ConfigField) End If End Function '************************************************** '函数名:GetChannelConfig '作 用:获取系统内置模块的配置信息 '参 数:ChannelID--要取的系统模块ID, ConfigField相应的字段名称 '返回值:相应字段的值 '************************************************** Public Function GetChannelConfig(ChannelID, ConfigField) IF Application(SiteSn & "ChannelConfig" & ChannelID & ConfigField)="" Then Dim ConfigRS:Set ConfigRS = Server.CreateObject("Adodb.Recordset") On Error Resume Next ConfigRS.Open ("Select * From KS_Channel Where ChannelID=" & ChannelID), Conn, 1, 1 GetChannelConfig = ConfigRS(ConfigField) If Err.Number <> 0 Then GetChannelConfig = "":Err.clear Set ConfigRS = Nothing Application(SiteSn & "ChannelConfig" & ChannelID & ConfigField)=GetChannelConfig Else GetChannelConfig=Application(SiteSn & "ChannelConfig" & ChannelID & ConfigField) End IF End Function '************************************************** '函数名:GetClassConfig '作 用:获取频道(栏目)的配置信息 '参 数:ClassID--要取的栏目ID, ConfigField相应的字段名称 '返回值:相应字段的值 '************************************************** Public Function GetClassConfig(ClassID, ConfigField) IF Application(SiteSn & "ClassConfig_" & ClassID & ConfigField)="" Then Dim ConfigRS:Set ConfigRS = Server.CreateObject("Adodb.Recordset") On Error Resume Next ConfigRS.Open ("Select * From KS_Class Where ID='" & ClassID & "'"), Conn, 1, 1 GetClassConfig = ConfigRS(ConfigField) If Err.Number <> 0 Then GetChannelConfig = "":Err.clear Set ConfigRS = Nothing Application(SiteSn & "ClassConfig_" & ClassID & ConfigField)=GetClassConfig Else GetClassConfig=Application(SiteSn & "ClassConfig_" & ClassID & ConfigField) End IF End Function '*************************************************************************************************************** '函数名:GetDomain '作 用:获取URL,包括虚拟目录 如http://www.h121.com/ 或 http://www.h121.com/Sys/ 其中 Sys/为虚拟目录 '参 数: 无 '返回值:完整域名 '*************************************************************************************************************** Public Function GetDomain() GetDomain = Trim(GetConfig("WebUrl") & GetConfig("InstallDir")) End Function '************************************************** '函数名:GetChannelDomain '作 用:获取包含频道的完整Url '参 数:ChannelID频道ID '返回值:完整域名 '************************************************** Public Function GetChannelDomain(ChannelID) Dim ArticleDir, PictureDir, DownDir, FlashDir GetChannelDomain = GetDomain() Select Case (ChannelID) Case 1 ArticleDir = Replace(Trim(GetConfig("ArticleDir")), "\", "/") If Left(ArticleDir, 1) = "/" Then ArticleDir = Right(ArticleDir, Len(ArticleDir) - 1) GetChannelDomain = GetChannelDomain & ArticleDir Case 2 PictureDir = Replace(Trim(GetConfig("PicDir")), "\", "/") If Left(PictureDir, 1) = "/" Then PictureDir = Right(PictureDir, Len(PictureDir) - 1) GetChannelDomain = GetChannelDomain & PictureDir Case 3 DownDir = Replace(Trim(GetConfig("DownDir")), "\", "/") If Left(DownDir, 1) = "/" Then DownDir = Right(DownDir, Len(DownDir) - 1) GetChannelDomain = GetChannelDomain & DownDir Case 4 FlashDir = Replace(Trim(GetConfig("FlashDir")), "\", "/") If Left(FlashDir, 1) = "/" Then FlashDir = Right(FlashDir, Len(FlashDir) - 1) GetChannelDomain = GetChannelDomain & FlashDir Case Else GetChannelDomain = "":Exit Function End Select End Function '************************************************** '函数名:GetAutoDoMain() '作 用:取得当前服务器IP 如:http://127.0.0.1 '参 数:无 '************************************************** Public Function GetAutoDomain() Dim TempPath If Request.ServerVariables("SERVER_PORT") = "80" Then GetAutoDomain = Request.ServerVariables("SERVER_NAME") Else GetAutoDomain = Request.ServerVariables("SERVER_NAME") & ":" & Request.ServerVariables("SERVER_PORT") End If 'TempPath = Request.ServerVariables("APPL_MD_PATH") 'TempPath = Right(TempPath, Len(TempPath) - InStr(TempPath, "Root") - 3) 'GetAutoDomain = "http://" & GetAutoDomain & TempPath If Instr(UCASE(GetAutoDomain),"/W3SVC")<>0 Then GetAutoDomain=Left(GetAutoDomain,Instr(GetAutoDomain,"/W3SVC")) End If GetAutoDomain = "http://" & GetAutoDomain End Function '取得系统版权等信息 Public Function CopyRight() CopyRight = " 版权所有 © 2006-2008 动力网络 " End Function '************************************************************************* '函数名:gotTopic '作 用:截字符串,汉字一个算两个字符,英文算一个字符 '参 数:str ----原字符串 ' strlen ----截取长度 '返回值:截取后的字符串 '************************************************************************* Public Function GotTopic(ByVal Str, ByVal strlen) If Str = "" Then GotTopic = "":Exit Function Dim l, T, c, I, strTemp Str = Replace(Replace(Replace(Replace(Str, " ", " "), """, Chr(34)), ">", ">"), "<", "<") l = Len(Str) T = 0 strTemp = Str strlen = CLng(strlen) For I = 1 To l c = Abs(Asc(Mid(Str, I, 1))) If c > 255 Then T = T + 2 Else T = T + 1 End If If T >= strlen Then strTemp = Left(Str, I) Exit For End If Next If strTemp <> Str Then strTemp = strTemp GotTopic = Replace(Replace(Replace(Replace(strTemp, " ", " "), Chr(34), """), ">", ">"), "<", "<") End Function '************************************************** '函数名:ListTitle '作 用:取标题 '参 数:TitleStr 标题, TitleNum 取字符数 '返回值:将标题分解成两行 '************************************************** Public Function ListTitle(TitleStr, TitleNum) Dim LeftStr, RightStr ListTitle = Trim(GotTopic(Trim(TitleStr), TitleNum)) If Len(ListTitle) > CInt(TitleNum / 2) Then LeftStr = GotTopic(ListTitle, CInt(TitleNum / 2)) RightStr = Mid(ListTitle, Len(LeftStr) + 1) ListTitle = LeftStr & "
" & RightStr End If End Function '************************************************** '函数名:ReplaceBadChar '作 用:过滤非法的SQL字符 '参 数:strChar-----要过滤的字符 '返回值:过滤后的字符 '************************************************** Public Function ReplaceBadChar(strChar) If strChar = "" Or IsNull(strChar) Then ReplaceBadChar = "":Exit Function Dim strBadChar, arrBadChar, tempChar, I strBadChar = "',%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & "" arrBadChar = Split(strBadChar, ",") tempChar = strChar For I = 0 To UBound(arrBadChar) tempChar = Replace(tempChar, arrBadChar(I), "") Next ReplaceBadChar = tempChar End Function '******************************************** '函数名:IsValidEmail '作 用:检查Email地址合法性 '参 数:email ----要检查的Email地址 '返回值:True ----Email地址合法 ' False ----Email地址不合法 '******************************************** Public Function IsValidEmail(Email) Dim names, name, I, c IsValidEmail = True names = Split(Email, "@") If UBound(names) <> 1 Then IsValidEmail = False: Exit Function For Each name In names If Len(name) <= 0 Then IsValidEmail = False:Exit Function For I = 1 To Len(name) c = LCase(Mid(name, I, 1)) If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then IsValidEmail = False:Exit Function Next If Left(name, 1) = "." Or Right(name, 1) = "." Then IsValidEmail = False:Exit Function Next If InStr(names(1), ".") <= 0 Then IsValidEmail = False:Exit Function I = Len(names(1)) - InStrRev(names(1), ".") If I <> 2 And I <> 3 Then IsValidEmail = False:Exit Function If InStr(Email, "..") > 0 Then IsValidEmail = False End Function '************************************************** '函数名:strLength '作 用:求字符串长度。汉字算两个字符,英文算一个字符。 '参 数:str ----要求长度的字符串 '返回值:字符串长度 '************************************************** Public Function strLength(Str) On Error Resume Next Dim WINNT_CHINESE WINNT_CHINESE = (Len("中国") = 2) If WINNT_CHINESE Then Dim l, T, c Dim I l = Len(Str) T = l For I = 1 To l c = Asc(Mid(Str, I, 1)) If c < 0 Then c = c + 65536 If c > 255 Then T = T + 1 End If Next strLength = T Else strLength = Len(Str) End If If Err.Number <> 0 Then Err.Clear End Function '************************************************** '函数名:ReturnChannelList '作 用:显示频道列表。 '参 数:SelectChannelID ----选择频道ID号 ' Disabled ---------是否允许用户重新改变选项值,True不允许,False允许 '返回值:频道列表 '************************************************** Public Function ReturnChannelList(SelectChannelID, Disabled) Dim ChannelRS:Set ChannelRS=Server.CreateObject("ADODB.Recordset") Dim ChannelStr:ChannelStr = "" ChannelRS.Open "Select * From [KS_Channel] Where ChannelStatus=1", Conn, 1, 1 If ChannelRS.EOF And ChannelRS.BOF Then ChannelRS.Close:Set ChannelRS = Nothing:Exit Function Else If Disabled <> True Then ChannelStr = "" ChannelStr = ChannelStr & "" End If Else If Disabled <> True Then ChannelStr = ChannelStr & "" End If End If ChannelRS.MoveNext Loop ChannelRS.Close:Set ChannelRS = Nothing End If If Disabled <> True Then ChannelStr = ChannelStr & "" End If ReturnChannelList = ChannelStr End Function '************************************************** '函数名:ReturnAllowTree '作 用:返回允许投稿的目录树。 '参 数:FolderID ----选择项ID, ChannelID-----返回频道目录树 '返回值:整棵树 '************************************************** Public Function ReturnAllowTree(FolderID, ChannelID) KSCache.name=Cstr(SiteSN & "ClassAllowTree" &ChannelID&FolderID) IF KSCache.valid and KSCache.value<>"" Then ReturnAllowTree=KSCache.value Else Call KSCache.clean Dim RS,FolderName,TreeStr,ID Set RS=Server.CreateObject("ADODB.Recordset") FolderID = Trim(FolderID) If Not IsNumeric(ChannelID) Then Return RS.Open ("select ID,FolderName from KS_Class Where ChannelID=" & ChannelID & " AND tj=1 And CommentTF=1 Order BY FolderOrder ASC"), Conn, 1, 1 Do While Not RS.EOF ID = Trim(RS(0)) FolderName = Trim(RS(1)) If FolderID = ID Then TreeStr = TreeStr & "" Else TreeStr = TreeStr & "" End If TreeStr = TreeStr & ReturnAllowSubList(ID, FolderID) RS.MoveNext Loop RS.Close:Set RS = Nothing ReturnAllowTree = TreeStr KSCache.add ReturnAllowTree,dateadd("n",1000000,now) End If End Function '************************************************** '函数名:ReturnAllowSubList '作 用:查找并返子树数据。 '参 数:ParentID ----父节点ID, FolderID ----选择项ID '返回值:子树 '************************************************** Public Function ReturnAllowSubList(ParentID, FolderID) Dim SubTypeList, SubRS, SpaceStr, k, Total, Num,FolderName, ID,TJ Set SubRS = Server.CreateObject("ADODB.RECORDSET") SubRS.Open ("Select count(ID) AS total from KS_Class Where CommentTF=1 And TN='" & ParentID & "'"), Conn, 1, 1 Total = SubRS("Total") SubRS.Close SubRS.Open ("Select ID,FolderName,TJ from KS_Class Where CommentTF=1 And TN='" & ParentID & "' Order BY FolderOrder ASC"), Conn, 1, 1 Num = 0 Do While Not SubRS.EOF Num = Num + 1 SpaceStr = "" TJ = CInt(SubRS(2)) For k = 1 To TJ - 1 If k = 1 And k <> TJ - 1 Then SpaceStr = SpaceStr & "  │" ElseIf k = TJ - 1 Then If Num = Total Then SpaceStr = SpaceStr & "  └ " Else SpaceStr = SpaceStr & "  ├ " End If Else SpaceStr = SpaceStr & "  │" End If Next ID = Trim(SubRS(0)) FolderName = Trim(SubRS(1)) If FolderID = ID Then SubTypeList = SubTypeList & "" Else SubTypeList = SubTypeList & "" End If SubTypeList = SubTypeList & ReturnAllowSubList(ID, FolderID) SubRS.MoveNext Loop SubRS.Close:Set SubRS = Nothing ReturnAllowSubList = SubTypeList End Function '************************************************** '函数名:ReturnTree '作 用:返回目录树。 '参 数:FolderID ----选择项ID, ChannelID-----返回频道目录树 '返回值:整棵树 '************************************************** Public Function ReturnTree(FolderID, ChannelID) KSCache.name=Cstr(SiteSN & "ClassTree" &ChannelID&FolderID) IF KSCache.valid and KSCache.value<>"" Then ReturnTree=KSCache.value Else Call KSCache.clean Dim RS,FolderName,TreeStr,ID Set RS=Server.CreateObject("ADODB.Recordset") FolderID = Trim(FolderID) If Not IsNumeric(ChannelID) Then Return RS.Open ("select ID,FolderName from KS_Class Where ChannelID=" & ChannelID & " AND tj=1 Order BY FolderOrder ASC"), Conn, 1, 1 Do While Not RS.EOF ID = Trim(RS(0)) FolderName = Trim(RS(1)) If FolderID = ID Then TreeStr = TreeStr & "" Else TreeStr = TreeStr & "" End If TreeStr = TreeStr & ReturnSubList(ID, FolderID) RS.MoveNext Loop RS.Close:Set RS = Nothing ReturnTree = TreeStr KSCache.add ReturnTree,dateadd("n",1000000,now) End If End Function '************************************************** '函数名:ReturnSubList '作 用:查找并返子树数据。 '参 数:ParentID ----父节点ID, FolderID ----选择项ID '返回值:子树 '************************************************** Public Function ReturnSubList(ParentID, FolderID) Dim SubTypeList, SubRS, SpaceStr, k, Total, Num,FolderName, ID,TJ Set SubRS = Server.CreateObject("ADODB.RECORDSET") SubRS.Open ("Select count(ID) AS total from KS_Class Where TN='" & ParentID & "'"), Conn, 1, 1 Total = SubRS("Total") SubRS.Close SubRS.Open ("Select ID,FolderName,TJ from KS_Class Where TN='" & ParentID & "' Order BY FolderOrder ASC"), Conn, 1, 1 Num = 0 Do While Not SubRS.EOF Num = Num + 1 SpaceStr = "" TJ = CInt(SubRS(2)) For k = 1 To TJ - 1 If k = 1 And k <> TJ - 1 Then SpaceStr = SpaceStr & "  │" ElseIf k = TJ - 1 Then If Num = Total Then SpaceStr = SpaceStr & "  └ " Else SpaceStr = SpaceStr & "  ├ " End If Else SpaceStr = SpaceStr & "  │" End If Next ID = Trim(SubRS(0)) FolderName = Trim(SubRS(1)) If FolderID = ID Then SubTypeList = SubTypeList & "" Else SubTypeList = SubTypeList & "" End If SubTypeList = SubTypeList & ReturnSubList(ID, FolderID) SubRS.MoveNext Loop SubRS.Close:Set SubRS = Nothing ReturnSubList = SubTypeList End Function '************************************************** '函数名:ReturnClassName '作 用:返回栏目(频道)名称 '参 数:ID--ID号 '返回值:栏目或频道的名称 '************************************************** Public Function ReturnClassName(ID) If ID = "" Then ReturnClassName = "": Exit Function Dim RS:Set RS=Server.CreateObject("ADODB.Recordset") RS.Open "SELECT FolderName FROM [KS_Class] WHERE ID='" & ID & "'", Conn, 1, 1 If Not RS.EOF Then ReturnClassName = RS(0) Else ReturnClassName = " " End If RS.Close:Set RS = Nothing End Function '************************************************** '函数名: GetFolderPath '功 能:取得目录Url '参 数: FolderID目录的ID,FullPathFlag是否完整路径(取栏目首页与否),包括栏目首页 如 "http://www.h121.com/article/computer/photoshop/index.html" '************************************************** Public Function GetFolderPath(FolderID,FullPathFlag) KSCache.name=Cstr(SiteSN & "ClassPath" &FolderID&FullPathFlag) IF KSCache.valid and KSCache.value<>"" Then GetFolderPath=KSCache.value Else Call KSCache.clean Dim FolderSql, Folder,ClassPurview FolderSql = "Select ID,ChannelID,TN,Folder,FolderDomain,FolderFsoIndex,ClassPurview From KS_Class Where ID='" & FolderID & "'" Dim FolderRS:Set FolderRS=Server.CreateObject("ADODB.RECORDSET") FolderRS.Open FolderSql, Conn, 1, 1 If Not FolderRS.EOF Then ClassPurview=FolderRS("ClassPurview") If Cbool(FullPathFlag) = True Then '判断是否绑定域名 If Trim(FolderRS(4)) <> "" And CStr(FolderRS(2)) = "0" Then IF ClassPurview=2 Or GetChannelConfig(FolderRS(1),"FsoHtmlTF")=0 Then GetFolderPath = Trim(FolderRS(4)) & GetChannelNoHtmlUrl(FolderRS(1),FolderRS(0)) Else GetFolderPath = Trim(FolderRS(4)) & FolderRS("FolderFsoIndex") End If ElseIf Trim(FolderRS(4)) <> "" Then Folder = Trim(FolderRS(3)) Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1) IF ClassPurview=2 Or GetChannelConfig(FolderRS(1),"FsoHtmlTF")=0 Then GetFolderPath = Trim(FolderRS(4)) & GetChannelNoHtmlUrl(FolderRS(1),FolderRS(0)) Else GetFolderPath = Trim(FolderRS(4)) & Folder & FolderRS("FolderFsoIndex") End If Else IF ClassPurview=2 Or GetChannelConfig(FolderRS(1),"FsoHtmlTF")=0 Then GetFolderPath = GetChannelNoHtmlUrl(FolderRS(1),FolderRS(0)) Else GetFolderPath = GetChannelDomain(FolderRS(1)) & FolderRS(3) & FolderRS("FolderFsoIndex") End If End If Else If Trim(FolderRS(4)) <> "" And CStr(FolderRS("TN")) = "0" Then ' IF ClassPurview=2 Then ' GetFolderPath = Trim(FolderRS(4)) & GetChannelNoHtmlUrl(FolderRS(1),FolderRS(0)) ' Else GetFolderPath = Trim(FolderRS(4)) ' End If ElseIf Trim(FolderRS(4)) <> "" Then Folder = Trim(FolderRS(3)) Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1) ' IF ClassPurview=2 Then ' GetFolderPath = Trim(FolderRS(4)) & GetChannelNoHtmlUrl(FolderRS(1),FolderRS(0)) ' Else GetFolderPath = Trim(FolderRS(4)) & Folder ' End If Else ' IF ClassPurview=2 Then ' GetFolderPath = GetChannelNoHtmlUrl(FolderRS(1),FolderRS(0)) ' Else GetFolderPath = GetChannelDomain(FolderRS(1)) & FolderRS(3) ' End If End If End If Else GetFolderPath = "" End If FolderRS.Close:Set FolderRS = Nothing KSCache.add GetFolderPath,dateadd("n",1000000,now) End IF End Function '************************************************************************ '函数名: GetFolderNameAndLink '功 能: 取得目录名称并加上链接 '参 数: FolderID目录的ID,OpenTypeStr 窗口打开类型,FolderCss 栏目名称样式 '************************************************************************* Function GetFolderNameAndLink(FolderID, OpenTypeStr, FolderCss) KSCache.name=SiteSN &"ClassNameAndPath" & FolderID & OpenTypeStr & FolderCss IF KSCache.valid and KSCache.value<>"" Then GetFolderNameAndLink=KSCache.value Else Call KSCache.clean Dim FolderSql, Folder,ClassPurview,ChannelFsoHtmlTF FolderSql = "Select ID,ChannelID,FolderName,Folder,FolderDomain,TN,ClassPurview,FolderFsoIndex From KS_Class Where ID='" & FolderID & "'" Dim FolderRS:Set FolderRS=Server.CreateObject("ADODB.RECORDSET") FolderRS.Open FolderSql, Conn, 1, 1 ClassPurview=FolderRS("ClassPurview") ChannelFsoHtmlTF=GetChannelConfig(FolderRS(1),"FsoHtmlTF") If Not FolderRS.EOF Then '判断根目录是否有绑定二级域名 If Trim(FolderRS(4)) <> "" And CStr(FolderRS(5)) = "0" Then IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then GetFolderNameAndLink = "" Else GetFolderNameAndLink = "" End If ElseIf Trim(FolderRS(4)) <> "" Then Folder = Trim(FolderRS(3)) Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1) IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then GetFolderNameAndLink = "" Else GetFolderNameAndLink = "" End If Else IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then GetFolderNameAndLink = "" Else GetFolderNameAndLink = "" End If End If GetFolderNameAndLink = GetFolderNameAndLink & Trim(FolderRS(2)) & "" Else GetFolderNameAndLink = "" End If FolderRS.Close:Set FolderRS = Nothing KSCache.add GetFolderNameAndLink,dateadd("n",1000000,now) End if End Function '取得栏目的链接URL Public Function GetChannelNoHtmlUrl(ChannelID,ClassID) Select Case ChannelID Case 1 GetChannelNoHtmlUrl=GetDomain & "Article/ShowClass.asp?ID=" & ClassID Case 2 GetChannelNoHtmlUrl=GetDomain & "Photo/ShowClass.asp?ID=" & ClassID Case 3 GetChannelNoHtmlUrl=GetDomain & "DownLoad/ShowClass.asp?ID=" & ClassID Case 4 GetChannelNoHtmlUrl=GetDomain & "Flash/ShowClass.asp?ID=" & ClassID End Select End Function '*************************************************************************** '函数名: GetInfoUrl '功 能: 取得每篇文章、图片等的Url链接 '参 数: ChannelID频道的ID,RSObj--信息的recordset对象 '**************************************************************************** Public Function GetInfoUrl(ByVal ChannelID,ByVal RSObj) IF Not Isnumeric(ChannelID) Then GetInfoUrl="#":Exit Function Select Case ChannelID Case 1 If Cint(RSObj("Changes"))=1 Then GetInfoUrl=RSObj("Fname") Else '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态 If RSObj("ReadPoint")>0 Or GetChannelConfig(ChannelID,"FsoHtmlTF")=0 Or RSObj("InfoPurview")=2 Or (RSObj("InfoPurview")=0 And (GetClassConfig(RSObj("Tid"),"ClassPurview")=1 Or GetClassConfig(RSObj("Tid"),"ClassPurview")=2)) Then GetInfoUrl=GetDomain & "Article/ShowInfo.asp?ID=" &RSObj("ID") Else GetInfoUrl=GetFolderPath(RSObj("Tid"), False) & RSObj("Fname") End If End If Case 2 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态 If RSObj("ReadPoint")>0 Or GetChannelConfig(ChannelID,"FsoHtmlTF")=0 Or RSObj("InfoPurview")=2 Or (RSObj("InfoPurview")=0 And (GetClassConfig(RSObj("Tid"),"ClassPurview")=1 Or GetClassConfig(RSObj("Tid"),"ClassPurview")=2)) Then GetInfoUrl=GetDomain & "Photo/ShowInfo.asp?ID=" &RSObj("ID") Else GetInfoUrl=GetFolderPath(RSObj("Tid"), False) & RSObj("Fname") End If Case 3 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态 If GetChannelConfig(ChannelID,"FsoHtmlTF")=0 Then GetInfoUrl=GetDomain & "DownLoad/ShowInfo.asp?ID=" &RSObj("ID") Else GetInfoUrl=GetFolderPath(RSObj("Tid"), False) & RSObj("Fname") End If Case 4 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态 If RSObj("ReadPoint")>0 Or GetChannelConfig(ChannelID,"FsoHtmlTF")=0 Or RSObj("InfoPurview")=2 Or (RSObj("InfoPurview")=0 And (GetClassConfig(RSObj("Tid"),"ClassPurview")=1 Or GetClassConfig(RSObj("Tid"),"ClassPurview")=2)) Then GetInfoUrl=GetDomain & "Flash/ShowInfo.asp?ID=" &RSObj("ID") Else GetInfoUrl=GetFolderPath(RSObj("Tid"), False) & RSObj("Fname") End If End Select End Function '取消HTML Public Function LoseHtml(ContentStr) Dim TempLoseStr, regEx TempLoseStr = CStr(ContentStr) Set regEx = New RegExp regEx.Pattern = "<\/*[^<>]*>" regEx.IgnoreCase = True regEx.Global = True TempLoseStr = regEx.Replace(TempLoseStr, "") LoseHtml = TempLoseStr End Function '----------------------------------------------------------------------------------------------------------------------- '函数名: GetCss '功 能:取得样式 '参 数: CssName样式名称 '-------------------------------------------------------------------------------------------- Function GetCss(CssName) If CssName = "" Then GetCss = "" Else GetCss = " class=""" & CssName & """" End If End Function '************************************************** '函数名:ReturnChannel '作 用:返回频道名称 '参 数:ChannelID--频道ID '返回值:频道名称 '************************************************** Public Function ReturnChannel(ChannelID) Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET") If ChannelID = "" Then ReturnChannel = "":Exit Function End If RS.Open "SELECT ChannelName FROM [KS_Channel] WHERE ShowChannel=1 And ChannelID=" & ChannelID, Conn, 1, 1 If Not RS.EOF Then ReturnChannel = RS(0) Else ReturnChannel = " " End If RS.Close:Set RS = Nothing End Function '************************************************** '函数名:ReturnChannelAllowUpFilesTF '作 用:返回频道的是否允许上传文件 '参 数:ChannelID--频道ID '************************************************** Public Function ReturnChannelAllowUpFilesTF(ChannelID) Dim InstallDir If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0 End If Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET") CRS.Open "Select UpFilesTF From KS_Channel Where ChannelID=" & ChannelID, Conn, adOpenForwardOnly, adLockReadOnly If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then '默认允许上传文件 ReturnChannelAllowUpFilesTF = True Else If CRS(0) = 1 Then ReturnChannelAllowUpFilesTF = True Else ReturnChannelAllowUpFilesTF = False End If End If CRS.Close:Set CRS = Nothing End Function '************************************************** '函数名:ReturnChannelUpFilesDir '作 用:返回频道后台的上传目录 '参 数:ChannelID--频道ID '返回值:目录字符串 '************************************************** Public Function ReturnChannelUpFilesDir(ChannelID) Dim InstallDir If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0 End If Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET") CRS.Open "Select UpFilesDir From KS_Channel Where ChannelID=" & ChannelID, Conn, adOpenForwardOnly, adLockReadOnly If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then ReturnChannelUpFilesDir = GetConfig("UpFilesDir") Else ReturnChannelUpFilesDir = CRS(0) End If InstallDir = GetConfig("InstallDir") ReturnChannelUpFilesDir = Left(ReturnChannelUpFilesDir, Len(ReturnChannelUpFilesDir) - 1) If InstallDir = "/" Then ReturnChannelUpFilesDir = "/" & ReturnChannelUpFilesDir CRS.Close:Set CRS = Nothing End Function '************************************************** '函数名:ReturnChannelAllowUserUpFilesTF '作 用:返回频道是否允许会员上传文件 '参 数:ChannelID--频道ID '************************************************** Public Function ReturnChannelAllowUserUpFilesTF(ChannelID) Dim InstallDir If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0 End If Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET") CRS.Open "Select UserUpFilesTF From KS_Channel Where ChannelID=" & ChannelID, Conn, adOpenForwardOnly, adLockReadOnly If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then '默认允许上传文件 ReturnChannelAllowUserUpFilesTF = True Else If CRS(0) = 1 Then ReturnChannelAllowUserUpFilesTF = True Else ReturnChannelAllowUserUpFilesTF = False End If End If CRS.Close:Set CRS = Nothing End Function '************************************************** '函数名:ReturnChannelUserUpFilesDir '作 用:返回频道前台会员的上传目录 '参 数:ChannelID--频道ID '返回值:目录字符串 '************************************************** Public Function ReturnChannelUserUpFilesDir(ChannelID) Dim InstallDir If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0 End If Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET") CRS.Open "Select UserUpFilesDir From KS_Channel Where ChannelID=" & ChannelID, Conn, adOpenForwardOnly, adLockReadOnly If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then ReturnChannelUserUpFilesDir = GetConfig("UpFilesDir") Else ReturnChannelUserUpFilesDir = CRS(0) End If InstallDir = GetConfig("InstallDir") ReturnChannelUserUpFilesDir = Left(ReturnChannelUserUpFilesDir, Len(ReturnChannelUserUpFilesDir) - 1) If InstallDir = "/" Then ReturnChannelUserUpFilesDir = "/" & ReturnChannelUserUpFilesDir CRS.Close:Set CRS = Nothing End Function '************************************************** '函数名:ReturnChannelAllowUpFilesSize '作 用:返回频道的最大允许上传文件大小 '参 数:ChannelID--频道ID '************************************************** Public Function ReturnChannelAllowUpFilesSize(ChannelID) Dim InstallDir If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0 End If Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET") CRS.Open "Select UpFilesSize From KS_Channel Where ChannelID=" & ChannelID, Conn, adOpenForwardOnly, adLockReadOnly If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then ReturnChannelAllowUpFilesSize = GetConfig("DefaultUpFilesSize") Else ReturnChannelAllowUpFilesSize = CRS(0) End If CRS.Close:Set CRS = Nothing End Function '************************************************** '函数名:ReturnChannelAllowUpFilesType '作 用:返回频道的允许上传的文件类型 '参 数:ChannelID--频道ID,TypeFlag 0-取全部 1-图片类型 2-flash 类型 3-Windows 媒体类型 4-Real 类型 5-其它类型 '************************************************** Public Function ReturnChannelAllowUpFilesType(ChannelID, TypeFlag) Dim InstallDir If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0 If Not IsNumeric(TypeFlag) Then TypeFlag = 0 Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET") CRS.Open "Select AllowUpPhotoType,AllowUpFlashType,AllowUpMediaType,AllowUpRealType,AllowUpOtherType From KS_Channel Where ChannelID=" & ChannelID, Conn, adOpenForwardOnly, adLockReadOnly If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then ReturnChannelAllowUpFilesType = GetConfig("DefaultAllowUpFilesType") Else If TypeFlag = 0 Then '所有允许的类型 ReturnChannelAllowUpFilesType = CRS(0) & "|" & CRS(1) & "|" & CRS(2) & "|" & CRS(3) & "|" & CRS(4) Else ReturnChannelAllowUpFilesType = CRS(TypeFlag - 1) End If End If CRS.Close:Set CRS = Nothing End Function '********************************************************************** '函数名:ReturnSpecial '作 用:返回专题名称 '参 数:Selected-预选中项 ,ChannelID--频道ID,FolderID ---目录ID '返回值:专题名称 '********************************************************************** Public Function ReturnSpecial(SelectID, ChannelID, FolderID) Dim SpecialObj:Set SpecialObj=Server.CreateObject("ADODB.RECORDSET") Dim ParaStr If ChannelID <> "" Then ParaStr = ParaStr & " And ChannelID=" & ChannelID If FolderID <> "" And FolderID <> "0" Then ParaStr = ParaStr & " And FolderID='" & FolderID & "'" End If Else If FolderID <> "" And FolderID <> "0" Then ParaStr = ParaStr & " And FolderID='" & FolderID & "'" End If End If SpecialObj.Open "Select SpecialName,ID From KS_Special Where 1=1 " & ParaStr, Conn, 1, 1 If Not SpecialObj.EOF Then Do While Not SpecialObj.EOF If Trim(SelectID) = Trim(SpecialObj("ID")) Then ReturnSpecial = ReturnSpecial & "" Else ReturnSpecial = ReturnSpecial & "" End If SpecialObj.MoveNext Loop End If SpecialObj.Close:Set SpecialObj = Nothing End Function '************************************************** '函数:FoundInArr '作 用:检查一个数组中所有元素是否包含指定字符串 '参 数:strArr ----存储数据数据的字串 ' strToFind ----要查找的字符串 ' strSplit ----数组的分隔符 '返回值:True,False '************************************************** Public Function FoundInArr(strArr, strToFind, strSplit) Dim arrTemp, i FoundInArr = False If InStr(strArr, strSplit) > 0 Then arrTemp = Split(strArr, strSplit) For i = 0 To UBound(arrTemp) If LCase(Trim(arrTemp(i))) = LCase(Trim(strToFind)) Then FoundInArr = True:Exit For End If Next Else If LCase(Trim(strArr)) = LCase(Trim(strToFind)) Then FoundInArr = True End If End Function '检查是否是数字 ,并转换为长整型 Public Function ChkClng(ByVal str) If str<>"" and IsNumeric(str) Then ChkClng = CLng(str) Else ChkClng = 0 End If End Function '************************************************** '函数名:ShowPage '作 用:显示“上一页 下一页”等信息 '参 数:filename ----链接地址 ' TotalNumber ----总数量 ' MaxPerPage ----每页数量 ' ShowAllPages ---是否用下拉列表显示所有页面以供跳转。 ' strUnit ----计数单位,CurrentPage--当前页 '返回值:无返回值 '************************************************** Sub ShowPage(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage) Dim N, I, PageStr Const Btn_First = "9" '定义第一页按钮显示样式 Const Btn_Prev = "3" '定义前一页按钮显示样式 Const Btn_Next = "4" '定义下一页按钮显示样式 Const Btn_Last = ":" '定义最后一页按钮显示样式 PageStr = "" If totalnumber Mod MaxPerPage = 0 Then N = totalnumber \ MaxPerPage Else N = totalnumber \ MaxPerPage + 1 End If If N > 1 Then PageStr = PageStr & ("页次:" & CurrentPage & "/" & N & "页 共有:" & totalnumber & strUnit & " 每页:" & MaxPerPage & strUnit & " ") If CurrentPage < 2 Then PageStr = PageStr & Btn_First & " " & Btn_Prev & " " Else PageStr = PageStr & ("" & Btn_First & " " & Btn_Prev & " ") End If If N - CurrentPage < 1 Then PageStr = PageStr & " " & Btn_Next & " " & Btn_Last & " " Else PageStr = PageStr & (" " & Btn_Next & " " & Btn_Last & " ") End If If ShowAllPages = True Then PageStr = PageStr & "GO:" End If End If Response.Write (PageStr) End Sub '************************************************** '函数名:ShowPagePara '作 用:显示“上一页 下一页”等信息 '参 数:filename ----链接地址 ' TotalNumber ----总数量 ' MaxPerPage ----每页数量 ' ShowAllPages ---是否用下拉列表显示所有页面以供跳转。 ' strUnit ----计数单位,CurrentPage--当前页,ParamterStr参数 '返回值:无返回值 '************************************************** Public Function ShowPagePara(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage, ParamterStr) Dim N, I, PageStr Const Btn_First = "9" '定义第一页按钮显示样式 Const Btn_Prev = "3" '定义前一页按钮显示样式 Const Btn_Next = "4" '定义下一页按钮显示样式 Const Btn_Last = ":" '定义最后一页按钮显示样式 PageStr = "" If totalnumber Mod MaxPerPage = 0 Then N = totalnumber \ MaxPerPage Else N = totalnumber \ MaxPerPage + 1 End If If N > 1 Then PageStr = PageStr & ("页次:" & CurrentPage & "/" & N & "页 共有:" & totalnumber & strUnit & " 每页:" & MaxPerPage & strUnit & " ") If CurrentPage < 2 Then PageStr = PageStr & Btn_First & " " & Btn_Prev & " " Else PageStr = PageStr & ("" & Btn_First & " " & Btn_Prev & " ") End If If N - CurrentPage < 1 Then PageStr = PageStr & " " & Btn_Next & " " & Btn_Last & " " Else PageStr = PageStr & (" " & Btn_Next & " " & Btn_Last & " ") End If If ShowAllPages = True Then PageStr = PageStr & ("GO:" End If End If ShowPagePara = PageStr End Function Sub ShowPageParamter(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage, ParamterStr) Response.Write (ShowPagePara(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage, ParamterStr)) End Sub '*********************************************************************************************************** '函数名:ReturnLabelFolderTree '作 用:显示标签目录列表。 '参 数:SelectID ---- 默认目录树ID号,ChannelID频道ID号,FolderType目录类型 0系统函数标签目录,1自由标签目录 '返回值:标签目录列表 '************************************************************************************************************* Public Function ReturnLabelFolderTree(SelectID, FolderType) Dim TempStr,ID,FolderName SelectID = Trim(SelectID) If FolderType = "" Then FolderType = 0 TempStr = "" ReturnLabelFolderTree = TempStr End Function '************************************************************************************ '函数名:ReturnSubLabelFolderTree '作 用:查找并返子树数据。 '参 数:ParentID ----父节点ID, FolderID ----选择项ID '返回值:标签目录子树列表 '************************************************************************************ Public Function ReturnSubLabelFolderTree(ParentID, FolderID) Dim SubTypeList, SubRS, SpaceStr, k, Total, Num,FolderName, ID,TJ Set SubRS = Server.CreateObject("ADODB.RECORDSET") SubRS.Open ("Select count(ID) AS total from KS_LabelFolder Where ParentID='" & ParentID & "'"), Conn, 1, 1 Total = SubRS("Total") SubRS.Close SubRS.Open ("Select ID,FolderName,TS from KS_LabelFolder Where ParentID='" & ParentID & "' Order BY AddDate Desc"), Conn, 1, 1 Num = 0 Do While Not SubRS.EOF Num = Num + 1:SpaceStr = "" TJ = UBound(Split(SubRS(2), ",")) For k = 1 To TJ - 1 If k = 1 And k <> TJ - 1 Then SpaceStr = SpaceStr & "  │" ElseIf k = TJ - 1 Then If Num = Total Then SpaceStr = SpaceStr & "  └ " Else SpaceStr = SpaceStr & "  ├ " End If Else SpaceStr = SpaceStr & "  │" End If Next ID = Trim(SubRS(0)) FolderName = Trim(SubRS(1)) If FolderID = ID Then SubTypeList = SubTypeList & "" Else SubTypeList = SubTypeList & "" End If SubTypeList = SubTypeList & ReturnSubLabelFolderTree(ID, FolderID) SubRS.MoveNext Loop SubRS.Close:Set SubRS = Nothing:ReturnSubLabelFolderTree = SubTypeList End Function '*********************************************************************************************************** '函数名:ReturnLabelInfo '参 数:LabelName ---- 默认标签名称,FolderID---标签目录ID号,Descript---标签描述 '返回值:标签基本信息 '************************************************************************************************************* Public Function ReturnLabelInfo(LabelName, FolderID, Descript) ReturnLabelInfo = ("") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & ("
") ReturnLabelInfo = ReturnLabelInfo & ("
标签基本信息") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & ("
标签名称") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" * 例如标签名称:"推荐文章列表",则调用:"{LB_推荐文章列表}"。
标签目录 " & ReturnLabelFolderTree(FolderID, 0) & "请选择标签归属目录,以便日后管理标签
标签描述") ReturnLabelInfo = ReturnLabelInfo & (" ") ReturnLabelInfo = ReturnLabelInfo & (" 请在此输入标签的说明,方便以后查找
") ReturnLabelInfo = ReturnLabelInfo & ("
") End Function '**************************************************************************************************************************** '函数名:ReturnJSInfo '参 数:JSID--JSID号,JSName ---- 默认JS名称,JSFileName----JS文件名,FolderID---标签目录ID号,FolderType---目录类型,Descript---标签描述 '返回值:标签基本信息 '******************************************************************************************************************************* Public Function ReturnJSInfo(JSID, JSName, JSFileName, FolderID, FolderType, Descript) ReturnJSInfo = "" ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & ("
") ReturnJSInfo = ReturnJSInfo & ("
JS基本信息") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & ("
JS 名 称") ReturnJSInfo = ReturnJSInfo & ("  ") ReturnJSInfo = ReturnJSInfo & (" * 例如JS名称:"推荐文章列表",则在模板中调用:"{JS_推荐文章列表}"(注意英文大小写及全半角)。
JS文件名") If JSID <> "" Then ReturnJSInfo = ReturnJSInfo & (" | 等特殊符号"" value=""" & JSFileName & """>") Else ReturnJSInfo = ReturnJSInfo & (" | 等特殊符号"" value=""" & JSFileName & """>") End If ReturnJSInfo = ReturnJSInfo & (" * 例如 "News.js" 一定要以扩展名 ".js"结束
存放目录 " & ReturnLabelFolderTree(FolderID, FolderType) & "
JS 描 述") ReturnJSInfo = ReturnJSInfo & (" ") ReturnJSInfo = ReturnJSInfo & (" 请在此输入JS的说明,方便以后查找
") ReturnJSInfo = ReturnJSInfo & ("
") '采集搜索参数 ReturnJSInfo = ReturnJSInfo & ("") ReturnJSInfo = ReturnJSInfo & ("") ReturnJSInfo = ReturnJSInfo & ("") ReturnJSInfo = ReturnJSInfo & ("") End Function '************************************************** '函数名:ReturnDateFormat '作 用:返回系统支持的日期格式 '参 数:SelectDate 预定选中的日期格式 '************************************************** Public Function ReturnDateFormat(SelectDate) Dim TempFormatDateStr, Str If CStr(SelectDate) = "0" Then TempFormatDateStr = (" ") Else TempFormatDateStr = (" ") End If If CStr(SelectDate) = "1" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "2" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "3" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "4" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "5" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "6" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "7" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "8" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "9" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "10" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "11" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "12" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "13" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "14" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "15" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "16" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "17" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "21" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "22" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "23" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "24" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "25" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "26" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "27" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "28" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "29" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "30" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "31" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "32" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "33" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "34" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "35" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "36" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "17" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "41" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "42" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "43" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "44" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "45" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "46" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "47" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "48" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "49" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "50" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "51" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "52" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "53" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "54" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "55" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "56" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") If CStr(SelectDate) = "57" Then Str = " Selected" Else Str = "" TempFormatDateStr = TempFormatDateStr & ("") ReturnDateFormat = TempFormatDateStr End Function '************************************************** '函数名:ReturnOpenTypeStr '作 用:返回系统支持的打开窗口方式(带可输入的下拉框) '参 数:SelectValue 预定选中的链接目标 '************************************************** Public Function ReturnOpenTypeStr(SelectValue) ReturnOpenTypeStr = "
链接目标" ReturnOpenTypeStr = ReturnOpenTypeStr & "" ReturnOpenTypeStr = ReturnOpenTypeStr & "" ReturnOpenTypeStr = ReturnOpenTypeStr & "" ReturnOpenTypeStr = ReturnOpenTypeStr & "" ReturnOpenTypeStr = ReturnOpenTypeStr & "
" End Function '************************************************** '函数名:ReturnPictureStyle '作 用:返回图片显示方式的标签(标签中心调用) '参 数:PicStyle--默认选择的样式 '************************************************** Public Function ReturnPictureStyle(PicStyle) If PicStyle = "1" Then ReturnPictureStyle = ("") Else ReturnPictureStyle = ReturnPictureStyle & ("") If PicStyle = "2" Then ReturnPictureStyle = ReturnPictureStyle & ("") Else ReturnPictureStyle = ReturnPictureStyle & ("") If PicStyle = "3" Then ReturnPictureStyle = ReturnPictureStyle & ("") Else ReturnPictureStyle = ReturnPictureStyle & ("") If PicStyle = "4" Then ReturnPictureStyle = ReturnPictureStyle & ("") Else ReturnPictureStyle = ReturnPictureStyle & ("") If PicStyle = "5" Then ReturnPictureStyle = ReturnPictureStyle & ("") Else ReturnPictureStyle = ReturnPictureStyle & ("") End Function '************************************************** '函数名:ReturnFlashStyle '作 用:返回Flash显示方式的标签(标签中心调用) '参 数:PicStyle--默认选择的样式 '************************************************** Public Function ReturnFlashStyle(PicStyle) If PicStyle = "1" Then ReturnFlashStyle = ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If If PicStyle = "2" Then ReturnFlashStyle = ReturnFlashStyle & ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If If PicStyle = "3" Then ReturnFlashStyle = ReturnFlashStyle & ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If If PicStyle = "4" Then ReturnFlashStyle = ReturnFlashStyle & ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If If PicStyle = "5" Then ReturnFlashStyle = ReturnFlashStyle & ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If If PicStyle = "6" Then ReturnFlashStyle = ReturnFlashStyle & ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If If PicStyle = "7" Then ReturnFlashStyle = ReturnFlashStyle & ("") Else ReturnFlashStyle = ReturnFlashStyle & ("") End If End Function '**************************************************************************** '函数名:GetFsoTypeStr '作 用:返回系统支持的生成类型(.htm,.html,.shtml.shtm等) '参 数:ExtType 预定选中的类型 '***************************************************************************** Public Function GetFsoTypeStr(ExtType) GetFsoTypeStr = "" End Function '************************************************** '函数名:SaveBeyondFile '作 用:保存远程文件到本地 '参 数:LocalFile 本地文件,BeyondFileUrl远程文件 '返回值:无 '************************************************** Public Function ReplaceBeyondUrl(ReplaceContent, SaveFilePath) Dim re, BeyondFile, BeyondFileUrl, SaveFileName, InstallDir, SaveImagePath Dim LocalFile, LocalUrl, SysDomain InstallDir = GetConfig("InstallDir") SysDomain = GetDomain() SysDomain = Left(SysDomain, Len(SysDomain) - 1) If Right(InstallDir, 1) = "/" Or Right(InstallDir, 1) = "\" Then InstallDir = Left(InstallDir, Len(InstallDir) - 1) End If If Left(SaveFilePath, 1) <> "/" And Left(SaveFilePath, 1) <> "\" Then SaveFilePath = "/" & SaveFilePath End If Set re = New RegExp re.IgnoreCase = True re.Global = True re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp)))" Set BeyondFile = re.Execute(ReplaceContent) Set re = Nothing For Each BeyondFileUrl In BeyondFile SaveFileName = Year(Now()) & Month(Now()) & Day(Now()) & MakeRandom(10) & Mid(BeyondFileUrl, InStrRev(BeyondFileUrl, ".")) LocalFile = InstallDir & SaveFilePath & SaveFileName If InstallDir = "/" Or InstallDir = "\" Then LocalUrl = SysDomain & SaveFilePath & SaveFileName Else LocalUrl = SysDomain & InstallDir & SaveFilePath & SaveFileName End If Call SaveBeyondFile(LocalFile, BeyondFileUrl) ReplaceContent = Replace(ReplaceContent, BeyondFileUrl, LocalUrl) Next ReplaceBeyondUrl = ReplaceContent End Function '================================================== '过程名:SaveBeyondFile '作 用:保存远程的文件到本地 '参 数:LocalFileName ------ 本地文件名 '参 数:RemoteFileUrl ------ 远程文件URL '================================================== Function SaveBeyondFile(LocalFileName,RemoteFileUrl) Dim SaveRemoteFile:SaveRemoteFile=True dim Ads,Retrieval,GetRemoteData Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP") With Retrieval .Open "Get", RemoteFileUrl, False, "", "" .Send If .Readystate<>4 then SaveRemoteFile=False Exit Function End If GetRemoteData = .ResponseBody End With Set Retrieval = Nothing Set Ads = Server.CreateObject("Adodb.Stream") With Ads .Type = 1 .Open .Write GetRemoteData .SaveToFile server.MapPath(LocalFileName),2 .Cancel() .Close() End With Set Ads=nothing end Function '**************************************************** '参数说明 'Subject : 邮件标题 'MailAddress : 发件服务器的地址,如smtp.163.com 'LoginName ----登录用户名(不需要请填写"") 'LoginPass ----用户密码(不需要请填写"") 'Email : 收件人邮件地址 'Sender : 发件人姓名 'Content : 邮件内容 'Fromer : 发件人的邮件地址 '**************************************************** Public Function SendMail(MailAddress, LoginName, LoginPass, Subject, Email, Sender, Content, Fromer) On Error Resume Next Dim JMail Set JMail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象 JMail.silent = True 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE JMail.logging = True '启用使用日志 JMail.Charset = "GB2312" '邮件文字的代码为简体中文 JMail.ContentType = "text/html" '邮件的格式为HTML的 JMail.ServerAddress = MailAddress '发送邮件的服务器 If Not (LoginName = "" Or LoginPass = "") Then JMail.MailServerUserName = LoginName '您的邮件服务器登录名 JMail.MailServerPassword = LoginPass '登录密码 End If JMail.AddRecipient Email '邮件的收件人 JMail.SenderName = Sender '邮件发送者的姓名 JMail.Sender = Fromer '邮件发送者的邮件地址 JMail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值 JMail.Subject = Subject '邮件的标题 JMail.Body = Content '邮件的内容 '由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复 'jmail.AddRecipientBCC Email '密件收件人的地址 'jmail.AddRecipientCC Email '邮件抄送者的地址 JMail.Execute '执行邮件发送 JMail.Close '关闭邮件对象 Set JMail = Nothing If Err Then SendMail = Err.Description Err.Clear Else SendMail = "OK" End If End Function '************************************************** '函数名:CreateListFolder '作 用:不限分级创建目录 形如 1\2\3\ 则在网站根目录下创建分级目录 '参 数:Folder要创建的目录 '返回值:成功返回true 否则返回Flase '************************************************** Public Function CreateListFolder(Folder) Dim FSO, WaitCreateFolder, SplitFolder, CF, k On Error Resume Next If Folder = "" Then CreateListFolder = False:Exit Function End If Folder = Replace(Folder, "\", "/") If Right(Folder, 1) <> "/" Then Folder = Folder & "/" End If If Left(Folder, 1) <> "/" Then Folder = "/" & Folder End If Set FSO = CreateObject(GetConfig("FsoObjName")) If Not FSO.FolderExists(Server.MapPath(Folder)) Then SplitFolder = Split(Folder, "/") For k = 0 To UBound(SplitFolder) - 1 If k = 0 Then CF = SplitFolder(k) & "/" Else CF = CF & SplitFolder(k) & "/" End If If (Not FSO.FolderExists(Server.MapPath(CF))) Then FSO.CreateFolder (Server.MapPath(CF)) CreateListFolder = True End If Next End If Set FSO = Nothing If Err.Number <> 0 Then Err.Clear CreateListFolder = False Else CreateListFolder = True End If End Function '************************************************** '函数名:DeleteFolder '作 用:删除指定目录 '参 数:FolderStr要删除的目录 '返回值:成功返回true 否则返回Flase '************************************************** Public Function DeleteFolder(FolderStr) Dim FSO On Error Resume Next FolderStr = Replace(FolderStr, "\", "/") Set FSO = CreateObject(GetConfig("FsoObjName")) If FSO.FolderExists(Server.MapPath(FolderStr)) Then FSO.DeleteFolder (Server.MapPath(FolderStr)) Else DeleteFolder = True End If Set FSO = Nothing If Err.Number <> 0 Then Err.Clear:DeleteFolder = False Else DeleteFolder = True End If End Function '************************************************** '函数名:DeleteFile '作 用:删除指定文件 '参 数:FileStr要删除的文件 '返回值:成功返回true 否则返回Flase '************************************************** Public Function DeleteFile(FileStr) Dim FSO On Error Resume Next Set FSO = CreateObject(GetConfig("FsoObjName")) If FSO.FileExists(Server.MapPath(FileStr)) Then FSO.DeleteFile Server.MapPath(FileStr), True Else DeleteFile = True End If Set FSO = Nothing If Err.Number <> 0 Then Err.Clear:DeleteFile = False Else DeleteFile = True End If End Function '********************************************************************** '函数名:CheckFileShowOrNot '参数:AllowShowExtNameStr允许的文件扩展名,ExtName实际文件扩展名 '********************************************************************** Public Function CheckFileShowOrNot(AllowShowExtNameStr, ExtName) If ExtName = "" Then CheckFileShowOrNot = False Else If InStr(1, AllowShowExtNameStr, ExtName) = 0 Then CheckFileShowOrNot = False Else CheckFileShowOrNot = True End If End If End Function '********************************************************************** '函数名:GetFieSize '作用:取得指定文件的大小 '参数:FilePath--文件位置 '********************************************************************** Public Function GetFieSize(FilePath) GetFieSize = 0 Dim FSO, F On Error Resume Next Set FSO = Server.CreateObject(GetConfig("FsoObjName")) Set F = FSO.GetFile(FilePath) GetFieSize = F.size Set F = Nothing:Set FSO = Nothing End Function '************************************************************************************* '文件备份过程 '过程名:backupdata '参数:CurrPath原文件完整物理地址,BackPath目标备份文件完整物理地址 '************************************************************************************* Public Function BackUpData(CurrPath, BackPath) On Error Resume Next Dim FSO:Set FSO = Server.CreateObject(GetConfig("FsoObjName")) FSO.copyfile CurrPath, BackPath If Err Then BackUpData = False Else BackUpData = True End If FSO.Close:Set FSO = Nothing End Function '------------------检查某一目录是否存在------------------- Public Function CheckDir(FolderPath) Dim fso1 FolderPath = Server.MapPath(".") & "\" & FolderPath Set fso1 = CreateObject(GetConfig("FsoObjName")) If fso1.FolderExists(FolderPath) Then '存在 CheckDir = True Else '不存在 CheckDir = False End If Set fso1 = Nothing End Function '------------------检查某一文件是否存在------------------- Public Function CheckFile(FileName) On Error Resume Next Dim FsoObj Set FsoObj = Server.CreateObject(GetConfig("FsoObjName")) If Not FsoObj.FileExists(Server.MapPath(FileName)) Then CheckFile = False Exit Function End If CheckFile = True:Set FsoObj = Nothing End Function '-------------根据指定名称生成目录--------- Public Function MakeNewsDir(FolderName) Dim fso1, F Set fso1 = CreateObject(GetConfig("FsoObjName")) Set F = fso1.CreateFolder(FolderName) MakeNewsDir = True Set fso1 = Nothing End Function '************************************************** '函数名:WriteTOFile '作 用:写内容到指定的html文件 '参 数:Filename ----目标文件件 如 mb\index.htm ' Content ------要写入目标文件的内容 '返回值:成功返回true ,失败返回false '************************************************** Public Function WriteTOFile(FileName, Content) On Error Resume Next Dim FSO, FileObj Set FSO = Server.CreateObject(GetConfig("FsoObjName")) Set FileObj = FSO.CreateTextFile(Server.MapPath(FileName), True) '创建文件 FileObj.Write Content FileObj.Close '释放对象 Set FileObj = Nothing:Set FSO = Nothing If Err.Number <> 0 Then WriteTOFile = False Else WriteTOFile = True End If End Function '************************************************** '函数名:ReadFromFile '作 用:写内容到指定的html文件 '参 数:Filename ----目标文件件 如 mb\index.htm '返回值:成功返回文件内容 ,失败返回"" '************************************************** Public Function ReadFromFile(FileName) On Error Resume Next Dim FsoObj, FileStreamObj, FileObj Set FsoObj = Server.CreateObject(GetConfig("FsoObjName")) If CheckFile(FileName) = False Then Call Alert("错误提示:\n\n[" & Server.MapPath(FileName) & "]文件不存在", """"):Exit Function End If Set FileObj = FsoObj.GetFile(Server.MapPath(FileName)) Set FileStreamObj = FileObj.OpenAsTextStream(1) If Not FileStreamObj.AtEndOfStream Then ReadFromFile = FileStreamObj.ReadAll Else ReadFromFile = "" End If End Function '************************************************** '函数名:MakeRandom '作 用:生成指定位数的随机数 '参 数: maxLen ----生成位数 '返回值:成功:返回随机数 '************************************************** Public Function MakeRandom(ByVal maxLen) Dim strNewPass,whatsNext, upper, lower, intCounter Randomize For intCounter = 1 To maxLen upper = 57:lower = 48:strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd + lower)) Next MakeRandom = strNewPass End Function '************************************************** '函数名:MakeRandomChar '作 用:生成指定位数的随机数字符串 如 "sJKD_!@KK" '参 数: Length ----生成位数 '返回值:成功返回随机字符串 '************************************************** Public Function MakeRandomChar(Length) Dim I, tempS, v Dim c(65) tempS = "" c(1) = "a": c(2) = "b": c(3) = "c": c(4) = "d": c(5) = "e": c(6) = "f": c(7) = "g" c(8) = "h": c(9) = "i": c(10) = "j": c(11) = "k": c(12) = "l": c(13) = "m": c(14) = "n" c(15) = "o": c(16) = "p": c(17) = "q": c(18) = "r": c(19) = "s": c(20) = "t": c(21) = "u" c(22) = "v": c(23) = "w": c(24) = "x": c(25) = "y": c(26) = "z": c(27) = "1": c(28) = "2" c(29) = "3": c(30) = "4": c(31) = "5": c(32) = "6": c(33) = "7": c(34) = "8": c(35) = "9" c(36) = "-": c(37) = "_": c(38) = "@": c(39) = "!": c(40) = "A": c(41) = "B": c(42) = "C" c(43) = "D": c(44) = "E": c(45) = "F": c(46) = "G": c(47) = "H": c(48) = "I": c(49) = "J": c(50) = "K" c(51) = "L": c(52) = "M": c(53) = "N": c(54) = "O": c(55) = "P": c(56) = "Q": c(57) = "R": c(58) = "S" c(59) = "J": c(60) = "U": c(61) = "V": c(62) = "W": c(63) = "X": c(64) = "Y": c(65) = "Z" If IsNumeric(Length) = False Then MakeRandomChar = "":Exit Function End If For I = 1 To Length Randomize v = Int((65 * Rnd) + 1):tempS = tempS & c(v) Next MakeRandomChar = tempS End Function '************************************************** '函数名:GetFileName '作 用:构造文件名。 '参 数:ArticleFsoType ----生成类型 ' addDate -----添加时间,GetFileNameType--扩展名 '************************************************** Public Function GetFileName(ArticleFsoType, AddDate, GetFileNameType) Dim N Randomize N = Rnd * 10 + 5 Select Case ArticleFsoType Case 1 GetFileName = Year(AddDate) & "/" & Month(AddDate) & "-" & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/月-日/随机数+扩展名 Case 2 GetFileName = Year(AddDate) & "/" & Month(AddDate) & "/" & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/月/日/随机数+扩展名 Case 3 GetFileName = Year(AddDate) & "-" & Month(AddDate) & "-" & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年-月-日/随机数+扩展名 Case 4 GetFileName = Year(AddDate) & "/" & Month(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/月/随机数+扩展名 Case 5 GetFileName = Year(AddDate) & "-" & Month(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年-月/随机数+扩展名 Case 6 GetFileName = Year(AddDate) & Month(AddDate) & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年月日/随机数+扩展名 Case 7 GetFileName = Year(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/随机数+扩展名 Case 8 GetFileName = Year(AddDate) & Month(AddDate) & Day(AddDate) & MakeRandom(N) & GetFileNameType '年+月+日+随机数+扩展名 Case 9 GetFileName = MakeRandom(N) & GetFileNameType Case 10 GetFileName = MakeRandomChar(N) & GetFileNameType '随机字符 Case Else GetFileName = Year(AddDate) & Month(AddDate) & Day(AddDate) & GetFileNameType '12位随机数+扩展名 End Select End Function '************************************************** '函数名:Alert '作 用:弹出成功提示。 '参 数:SuccessStr ----成功提示信息 ' Url ------成功提示按下"确定"转向链接 '返回值:无 '************************************************** Public Function Alert(SuccessStr, Url) If Url <> "" Then Response.Write ("") Else Response.Write ("") End If End Function '************************************************** '函数名:AlertHistory '作 用:弹出警告消息后,停止所在页面的执行,返回n级。 '参 数:SuccessStr ----成功提示信息 ' n ------返回级数 '返回值:无 '************************************************** Public Function AlertHistory(SuccessStr, N) Response.Write ("") Response.End End Function '************************************************** '函数名:Confirm '作 用:弹出成功提示。 '参 数:SuccessStr ----成功提示信息 ' Url ------成功提示按下"确定"转向链接 ' Url1 ------confirm按下"取消"转向链接 '返回值:无 '************************************************** Public Function Confirm(SuccessStr, Url, Url1) Response.Write ("") End Function '************************************************** '函数名:ShowError '作 用:显示错误信息。 '参 数:Errmsg ----出错信息 '返回值:无 '************************************************** Public Sub ShowError(Errmsg) With Response .Write ("

") .Write ("
") .Write (" ") .Write (" ") .Write (" ") .Write (" ") .Write ("
") .Write ("
") .Write (" ") .Write (" ") .Write (" ") .Write (" ") .Write ("
") .Write (" Error!  " & Errmsg & "!  ") .Write ("

...::: 点 此 返 回 ") .Write (" :::...") .Write ("

") .Write ("
") .Write ("
") .Write ("
") .Write ("
") .End End With end sub '***************************************************************************************** '函数名:ReturnPowerResult '作 用:检查操作权限。 '参 数:ChannelID---所在系统(频道) 1文章系统2图片系统等 PowerOpName ---当前操作的权限名称 '返回值:允许返回true,否则返回false '****************************************************************************************** Public Function ReturnPowerResult(ChannelID, PowerOpName) If Request.Cookies(SiteSn)("AdminName") = "" Then 'ReturnPowerResult = True ReturnPowerResult = False Exit Function ElseIf Request.Cookies(SiteSn)("SuperTF") = "1" Then '超级管理组拥有所有权限 ReturnPowerResult = True Exit Function Else Select Case CInt(ChannelID) Case 1 '文章管理中心 If Request.Cookies(SiteSn)("ArticlePower") = "0" Then '没有任何管理权 ReturnPowerResult = False ElseIf Request.Cookies(SiteSn)("ArticlePower") = "1" Then '拥有在文章管理系统的所有权限 ReturnPowerResult = True ElseIf Request.Cookies(SiteSn)("ArticlePower") = "2" Then '限制栏目,拥有部分权限 ReturnPowerResult = CheckPower(PowerOpName) Else ReturnPowerResult = False '其它情况强制退出 End If Case 2 '图片管理中心 If Request.Cookies(SiteSn)("PicturePower") = "0" Then '没有任何管理权 ReturnPowerResult = False ElseIf Request.Cookies(SiteSn)("PicturePower") = "1" Then '拥有图片管理系统的所有权限 ReturnPowerResult = True ElseIf Request.Cookies(SiteSn)("PicturePower") = "2" Then '限制栏目,拥有部分权限 ReturnPowerResult = CheckPower(PowerOpName) Else ReturnPowerResult = False '其它情况强制退出 End If Case 3 '下载管理中心 If Request.Cookies(SiteSn)("DownLoadPower") = "0" Then '没有任何管理权 ReturnPowerResult = False ElseIf Request.Cookies(SiteSn)("DownLoadPower") = "1" Then '拥有下载管理系统的所有权限 ReturnPowerResult = True ElseIf Request.Cookies(SiteSn)("DownLoadPower") = "2" Then '限制栏目,拥有部分权限 ReturnPowerResult = CheckPower(PowerOpName) Else ReturnPowerResult = False '其它情况强制退出 End If Case 4 'Flash管理中心 If Request.Cookies(SiteSn)("FlashPower") = "0" Then '没有任何管理权 ReturnPowerResult = False ElseIf Request.Cookies(SiteSn)("FlashPower") = "1" Then '拥有下载管理系统的所有权限 ReturnPowerResult = True ElseIf Request.Cookies(SiteSn)("FlashPower") = "2" Then '限制栏目,拥有部分权限 ReturnPowerResult = CheckPower(PowerOpName) Else ReturnPowerResult = False '其它情况强制退出 End If Case Else '其它非频道的检查,如发布管理,会员管理,专题管理等 ReturnPowerResult = CheckPower(PowerOpName) End Select End If End Function '结合上面ReturnPowerResult过程序使用 Public Function CheckPower(PowerOpName) Dim PowerList, ModelPower PowerList = Trim(Request.Cookies(SiteSn)("PowerList")) If (PowerList <> "") And (PowerOpName <> "") Then Select Case Left(PowerOpName, 4) '检查是否有模块的总权限 Case "KMSP" ModelPower = "KMSPPower" Case "KMST" ModelPower = "KMSystemPower" Case "KMRF" ModelPower = "KMRefreshPower" Case "KMUA" ModelPower = "KMUserAdminPower" Case "KMCT" ModelPower = "KMConventionPower" Case "KMTL" ModelPower = "KMTemplatePower" Case Else ModelPower = "" End Select If ModelPower <> "" Then If InStr(PowerList, PowerOpName) <> 0 And InStr(1, PowerList, ModelPower, 1) <> 0 Then CheckPower = True:Exit Function Else CheckPower = False:Exit Function End If Else If InStr(PowerList, PowerOpName) <> 0 Then CheckPower = True:Exit Function Else CheckPower = False:Exit Function End If End If Else CheckPower = False:Exit Function End If End Function '结合上面ReturnPowerResult过程使用, ReturnFlag ----类型 0关闭,1返回前一页2,转向URL, Url -错误后转向的Url Sub ReturnErr(ReturnFlag, Url) If ReturnFlag = 0 Then Response.Write ("") ElseIf ReturnFlag = 1 Then Response.Write ("") ElseIf ReturnFlag = 2 Then Response.Write ("") End If End Sub '插入网站后台日志 , UserName --- 管理员账号 , ResultTF ---0登录失败 1---登录成功 ,ScriptName---登录路径 ,Descript---描述信息 Sub InsertLog(UserName, ResultTF, ScriptName, Descript) Dim sqlLog, rsLog, SystemStr SystemStr = Request.ServerVariables("HTTP_USER_AGENT") If InStr(SystemStr, "Windows NT 5.2") Then SystemStr = "Win2003" ElseIf InStr(SystemStr, "Windows NT 5.0") Then SystemStr = "Win2000" ElseIf InStr(SystemStr, "Windows NT 5.1") Then SystemStr = "WinXP" ElseIf InStr(SystemStr, "Windows NT") Then SystemStr = "WinNT" ElseIf InStr(SystemStr, "Windows 9") Then SystemStr = "Win9x" ElseIf InStr(SystemStr, "unix") Or InStr(SystemStr, "linux") Or InStr(SystemStr, "SunOS") Or InStr(SystemStr, "BSD") Then SystemStr = "类似Unix" ElseIf InStr(SystemStr, "Mac") Then SystemStr = "Mac" Else SystemStr = "Other" End If sqlLog = "Select top 1 * from KS_Log" Set rsLog = Server.CreateObject("Adodb.RecordSet") rsLog.Open sqlLog, Conn, 1, 3 rsLog.AddNew rsLog("UserName") = UserName rsLog("ResultTF") = ResultTF rsLog("LoginTime") = Now() rsLog("LoginOS") = SystemStr rsLog("LoginIP") = Request.ServerVariables("Remote_Addr") rsLog("ScriptName") = ScriptName rsLog("Description") = Descript rsLog.Update rsLog.Close:Set rsLog = Nothing End Sub '删除刷新用的缓存数据 Public Function DelApplication() Application.Contents.Remove (SiteSN & "FolderNameAndLinkStr") Application.Contents.Remove (SiteSN & "CurrTid") Application.Contents.Remove (SiteSN & "CurrPath") Application.Contents.Remove (SiteSN & "RefreshSingerType") Application.Contents.Remove (SiteSN & "RefreshMusicTempStr") '此对象不能删除 'Application.Contents.Remove (SiteSN & "RefreshType") Application.Contents.Remove (SiteSN & "RefreshMusicSingerTempStr") End Function '************************************************************************************* '函数名:GetClassID '作 用:生成新目录或频道的ID号 '参 数:无 '************************************************************************************* Public Function GetClassID() Dim RSC Set RSC=Server.CreateObject("ADODB.RECORDSET") '生成目录ID 年+10位随机 Do While True GetClassID = Year(Now()) & MakeRandom(10) RSC.Open "Select ID from KS_Class Where ID='" & GetClassID & "'", Conn, 1, 1 If RSC.EOF And RSC.BOF Then Exit Do Loop RSC.Close:Set RSC = Nothing End Function '************************************************************************************* '函数名:GetInfoID '作 用:生成文章,图片或下载等的唯一ID '参 数:ChannelID--频道ID '************************************************************************************* Public Function GetInfoID(ChannelID) On Error Resume Next Dim RSC, TableNameStr Set RSC=Server.CreateObject("ADODB.RECORDSET") Select Case ChannelID Case 1 TableNameStr = "Select NewsID From KS_Article Where NewsID='" Case 2 TableNameStr = "Select PicID From KS_Photo Where PicID='" Case 3 TableNameStr = "Select DownID From KS_DownLoad Where DownID='" Case 4 TableNameStr = "Select FlashID From KS_Flash Where FlashID='" End Select Do While True GetInfoID = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Now(), "-", ""), " ", ""), ":", ""), "PM", ""), "AM", ""), "上午", ""), "下午", "") & MakeRandom(3) RSC.Open TableNameStr & GetInfoID & "'", Conn, 1, 1 If RSC.EOF And RSC.BOF Then Exit Do Loop RSC.Close:Set RSC = Nothing End Function '************************************************************************************* '函数名:ReplaceInnerLink '作 用:替换站内链接 '参 数:Content-待替换内容 '************************************************************************************* Public Function ReplaceInnerLink(Content) Dim InnerRS:Set InnerRS=Server.CreateObject("ADODB.RECORDSET") Dim Title, OpenTypeStr Dim Refresh:Set Refresh = New RefreshFunction InnerRS.Open "Select Title,Url,OpenType From KS_InnerLink Where OpenTF=1", Conn, 1, 1 Do While Not InnerRS.EOF Title = InnerRS(0) OpenTypeStr = Refresh.GetOpenTypeStr(InnerRS(2)) Content = Replace(Content, Title, "" & Title & "") InnerRS.MoveNext Loop InnerRS.Close:Set InnerRS = Nothing:Set Refresh = Nothing ReplaceInnerLink = Content End Function '============================================================= '函数作用:判断来源URL是否来自外部 '============================================================= Public Function CheckOuterUrl() On Error Resume Next Dim server_v1, server_v2 server_v1 = Replace(LCase(Trim(Request.ServerVariables("HTTP_REFERER"))), "http://", "") server_v2 = LCase(Trim(Request.ServerVariables("SERVER_NAME"))) If server_v1 <> "" And Left(server_v1, Len(server_v2)) <> server_v2 Then CheckOuterUrl = False Else CheckOuterUrl = True End If End Function '===================================================MD5加密实现部分开始========================================================== Private Function LShift(lValue, iShiftBits) If iShiftBits = 0 Then LShift = lValue Exit Function ElseIf iShiftBits = 31 Then If lValue And 1 Then LShift = &H80000000 Else LShift = 0 End If Exit Function ElseIf iShiftBits < 0 Or iShiftBits > 31 Then Err.Raise 6 End If If (lValue And m_l2Power(31 - iShiftBits)) Then LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000 Else LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits)) End If End Function Private Function RShift(lValue, iShiftBits) If iShiftBits = 0 Then RShift = lValue Exit Function ElseIf iShiftBits = 31 Then If lValue And &H80000000 Then RShift = 1 Else RShift = 0 End If Exit Function ElseIf iShiftBits < 0 Or iShiftBits > 31 Then Err.Raise 6 End If RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits) If (lValue And &H80000000) Then RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1))) End If End Function Private Function RotateLeft(lValue, iShiftBits) RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits)) End Function Private Function AddUnsigned(lX, lY) Dim lX4 Dim lY4 Dim lX8 Dim lY8 Dim lResult lX8 = lX And &H80000000 lY8 = lY And &H80000000 lX4 = lX And &H40000000 lY4 = lY And &H40000000 lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF) If lX4 And lY4 Then lResult = lResult Xor &H80000000 Xor lX8 Xor lY8 ElseIf lX4 Or lY4 Then If lResult And &H40000000 Then lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8 Else lResult = lResult Xor &H40000000 Xor lX8 Xor lY8 End If Else lResult = lResult Xor lX8 Xor lY8 End If AddUnsigned = lResult End Function Private Function md5_F(x, y, z) md5_F = (x And y) Or ((Not x) And z) End Function Private Function md5_G(x, y, z) md5_G = (x And z) Or (y And (Not z)) End Function Private Function md5_H(x, y, z) md5_H = (x Xor y Xor z) End Function Private Function md5_I(x, y, z) md5_I = (y Xor (x Or (Not z))) End Function Private Sub md5_FF(a, b, c, d, x, s, ac) a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac)) a = RotateLeft(a, s) a = AddUnsigned(a, b) End Sub Private Sub md5_GG(a, b, c, d, x, s, ac) a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac)) a = RotateLeft(a, s) a = AddUnsigned(a, b) End Sub Private Sub md5_HH(a, b, c, d, x, s, ac) a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac)) a = RotateLeft(a, s) a = AddUnsigned(a, b) End Sub Private Sub md5_II(a, b, c, d, x, s, ac) a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac)) a = RotateLeft(a, s) a = AddUnsigned(a, b) End Sub Private Function ConvertToWordArray(sMessage) Dim lMessageLength Dim lNumberOfWords Dim lWordArray() Dim lBytePosition Dim lByteCount Dim lWordCount Const MODULUS_BITS = 512 Const CONGRUENT_BITS = 448 lMessageLength = Len(sMessage) lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD) ReDim lWordArray(lNumberOfWords - 1) lBytePosition = 0 lByteCount = 0 Do Until lByteCount >= lMessageLength lWordCount = lByteCount \ BYTES_TO_A_WORD lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition) lByteCount = lByteCount + 1 Loop lWordCount = lByteCount \ BYTES_TO_A_WORD lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition) lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3) lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29) ConvertToWordArray = lWordArray End Function Private Function WordToHex(lValue) Dim lByte Dim lCount For lCount = 0 To 3 lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1) WordToHex = WordToHex & Right("0" & Hex(lByte), 2) Next End Function Public Function MD5(sMessage, stype) m_lOnBits(0) = CLng(1) m_lOnBits(1) = CLng(3) m_lOnBits(2) = CLng(7) m_lOnBits(3) = CLng(15) m_lOnBits(4) = CLng(31) m_lOnBits(5) = CLng(63) m_lOnBits(6) = CLng(127) m_lOnBits(7) = CLng(255) m_lOnBits(8) = CLng(511) m_lOnBits(9) = CLng(1023) m_lOnBits(10) = CLng(2047) m_lOnBits(11) = CLng(4095) m_lOnBits(12) = CLng(8191) m_lOnBits(13) = CLng(16383) m_lOnBits(14) = CLng(32767) m_lOnBits(15) = CLng(65535) m_lOnBits(16) = CLng(131071) m_lOnBits(17) = CLng(262143) m_lOnBits(18) = CLng(524287) m_lOnBits(19) = CLng(1048575) m_lOnBits(20) = CLng(2097151) m_lOnBits(21) = CLng(4194303) m_lOnBits(22) = CLng(8388607) m_lOnBits(23) = CLng(16777215) m_lOnBits(24) = CLng(33554431) m_lOnBits(25) = CLng(67108863) m_lOnBits(26) = CLng(134217727) m_lOnBits(27) = CLng(268435455) m_lOnBits(28) = CLng(536870911) m_lOnBits(29) = CLng(1073741823) m_lOnBits(30) = CLng(2147483647) m_l2Power(0) = CLng(1) m_l2Power(1) = CLng(2) m_l2Power(2) = CLng(4) m_l2Power(3) = CLng(8) m_l2Power(4) = CLng(16) m_l2Power(5) = CLng(32) m_l2Power(6) = CLng(64) m_l2Power(7) = CLng(128) m_l2Power(8) = CLng(256) m_l2Power(9) = CLng(512) m_l2Power(10) = CLng(1024) m_l2Power(11) = CLng(2048) m_l2Power(12) = CLng(4096) m_l2Power(13) = CLng(8192) m_l2Power(14) = CLng(16384) m_l2Power(15) = CLng(32768) m_l2Power(16) = CLng(65536) m_l2Power(17) = CLng(131072) m_l2Power(18) = CLng(262144) m_l2Power(19) = CLng(524288) m_l2Power(20) = CLng(1048576) m_l2Power(21) = CLng(2097152) m_l2Power(22) = CLng(4194304) m_l2Power(23) = CLng(8388608) m_l2Power(24) = CLng(16777216) m_l2Power(25) = CLng(33554432) m_l2Power(26) = CLng(67108864) m_l2Power(27) = CLng(134217728) m_l2Power(28) = CLng(268435456) m_l2Power(29) = CLng(536870912) m_l2Power(30) = CLng(1073741824) Dim x Dim k Dim AA Dim BB Dim CC Dim DD Dim a Dim b Dim c Dim d Const S11 = 7 Const S12 = 12 Const S13 = 17 Const S14 = 22 Const S21 = 5 Const S22 = 9 Const S23 = 14 Const S24 = 20 Const S31 = 4 Const S32 = 11 Const S33 = 16 Const S34 = 23 Const S41 = 6 Const S42 = 10 Const S43 = 15 Const S44 = 21 x = ConvertToWordArray(sMessage) a = &H67452301 b = &HEFCDAB89 c = &H98BADCFE d = &H10325476 For k = 0 To UBound(x) Step 16 AA = a BB = b CC = c DD = d md5_FF a, b, c, d, x(k + 0), S11, &HD76AA478 md5_FF d, a, b, c, x(k + 1), S12, &HE8C7B756 md5_FF c, d, a, b, x(k + 2), S13, &H242070DB md5_FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE md5_FF a, b, c, d, x(k + 4), S11, &HF57C0FAF md5_FF d, a, b, c, x(k + 5), S12, &H4787C62A md5_FF c, d, a, b, x(k + 6), S13, &HA8304613 md5_FF b, c, d, a, x(k + 7), S14, &HFD469501 md5_FF a, b, c, d, x(k + 8), S11, &H698098D8 md5_FF d, a, b, c, x(k + 9), S12, &H8B44F7AF md5_FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1 md5_FF b, c, d, a, x(k + 11), S14, &H895CD7BE md5_FF a, b, c, d, x(k + 12), S11, &H6B901122 md5_FF d, a, b, c, x(k + 13), S12, &HFD987193 md5_FF c, d, a, b, x(k + 14), S13, &HA679438E md5_FF b, c, d, a, x(k + 15), S14, &H49B40821 md5_GG a, b, c, d, x(k + 1), S21, &HF61E2562 md5_GG d, a, b, c, x(k + 6), S22, &HC040B340 md5_GG c, d, a, b, x(k + 11), S23, &H265E5A51 md5_GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA md5_GG a, b, c, d, x(k + 5), S21, &HD62F105D md5_GG d, a, b, c, x(k + 10), S22, &H2441453 md5_GG c, d, a, b, x(k + 15), S23, &HD8A1E681 md5_GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8 md5_GG a, b, c, d, x(k + 9), S21, &H21E1CDE6 md5_GG d, a, b, c, x(k + 14), S22, &HC33707D6 md5_GG c, d, a, b, x(k + 3), S23, &HF4D50D87 md5_GG b, c, d, a, x(k + 8), S24, &H455A14ED md5_GG a, b, c, d, x(k + 13), S21, &HA9E3E905 md5_GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8 md5_GG c, d, a, b, x(k + 7), S23, &H676F02D9 md5_GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A md5_HH a, b, c, d, x(k + 5), S31, &HFFFA3942 md5_HH d, a, b, c, x(k + 8), S32, &H8771F681 md5_HH c, d, a, b, x(k + 11), S33, &H6D9D6122 md5_HH b, c, d, a, x(k + 14), S34, &HFDE5380C md5_HH a, b, c, d, x(k + 1), S31, &HA4BEEA44 md5_HH d, a, b, c, x(k + 4), S32, &H4BDECFA9 md5_HH c, d, a, b, x(k + 7), S33, &HF6BB4B60 md5_HH b, c, d, a, x(k + 10), S34, &HBEBFBC70 md5_HH a, b, c, d, x(k + 13), S31, &H289B7EC6 md5_HH d, a, b, c, x(k + 0), S32, &HEAA127FA md5_HH c, d, a, b, x(k + 3), S33, &HD4EF3085 md5_HH b, c, d, a, x(k + 6), S34, &H4881D05 md5_HH a, b, c, d, x(k + 9), S31, &HD9D4D039 md5_HH d, a, b, c, x(k + 12), S32, &HE6DB99E5 md5_HH c, d, a, b, x(k + 15), S33, &H1FA27CF8 md5_HH b, c, d, a, x(k + 2), S34, &HC4AC5665 md5_II a, b, c, d, x(k + 0), S41, &HF4292244 md5_II d, a, b, c, x(k + 7), S42, &H432AFF97 md5_II c, d, a, b, x(k + 14), S43, &HAB9423A7 md5_II b, c, d, a, x(k + 5), S44, &HFC93A039 md5_II a, b, c, d, x(k + 12), S41, &H655B59C3 md5_II d, a, b, c, x(k + 3), S42, &H8F0CCC92 md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D md5_II b, c, d, a, x(k + 1), S44, &H85845DD1 md5_II a, b, c, d, x(k + 8), S41, &H6FA87E4F md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0 md5_II c, d, a, b, x(k + 6), S43, &HA3014314 md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1 md5_II a, b, c, d, x(k + 4), S41, &HF7537E82 md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235 md5_II c, d, a, b, x(k + 2), S43, &H2AD7D2BB md5_II b, c, d, a, x(k + 9), S44, &HEB86D391 a = AddUnsigned(a, AA) b = AddUnsigned(b, BB) c = AddUnsigned(c, CC) d = AddUnsigned(d, DD) Next If stype = 32 Then MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) Else MD5 = LCase(WordToHex(b) & WordToHex(c)) End If End Function '===================================================MD5加密部分结束============================================= '取得Request.Querystring 或 Request.Form 的值 Public Function G(Str) G = Replace(Replace(Request(Str), "'", ""), """", "") End Function '关闭主数据库对象 Public Sub CloseConn() On Error Resume Next If IsObject(Conn) Then Conn.Close:Set Conn = Nothing End If End Sub '关闭采集数据库对象 Public Sub CloseConnItem() On Error Resume Next If IsObject(ConnItem) Then ConnItem.Close:Set ConnItem = Nothing End If End Sub Public Function HTMLEncode(fString) If Not IsNull(fString) then fString = replace(fString, ">", ">") fString = replace(fString, "<", "<") fString = replace(fString, "&", "&") fString = Replace(fString, CHR(32), " ") fString = Replace(fString, CHR(9), " ") fString = Replace(fString, CHR(34), """) fString = Replace(fString, CHR(39), "'") fString = Replace(fString, CHR(13), "") fString = Replace(fString, CHR(10) & CHR(10), "

") fString = Replace(fString, CHR(10), "
") HTMLEncode = fString End If End Function Public Function HTMLCode(fString) If Not IsNull(fString) then fString = replace(fString, ">", ">") fString = replace(fString, "<", "<") fString = Replace(fString, " "," ") fString = Replace(fString, """, CHR(34)) fString = Replace(fString, "'", CHR(39)) fString = Replace(fString, "

",CHR(10) & CHR(10)) fString = Replace(fString, "
", CHR(10)) HTMLCode = fString End If End Function Public Function IsObjInstalled(strClassString) On Error Resume Next IsObjInstalled = False Err = 0 Dim xTestObj:Set xTestObj = Server.CreateObject(strClassString) If 0 = Err Then IsObjInstalled = True Set xTestObj = Nothing Err = 0 End Function Public Function IsExpired(strClassString) On Error Resume Next IsExpired = True Err = 0 Dim xTestObj:Set xTestObj = Server.CreateObject(strClassString) If 0 = Err Then Select Case strClassString Case "Persits.Jpeg" If xTestObjResponse.Expires > Now Then IsExpired = False End If Case "wsImage.Resize" If InStr(xTestObj.errorinfo, "已经过期") = 0 Then IsExpired = False End If Case "SoftArtisans.ImageGen" xTestObj.CreateImage 500, 500, RGB(255, 255, 255) If Err = 0 Then IsExpired = False End If End Select End If Set xTestObj = Nothing Err = 0 End Function Public Function ExpiredStr(I) Dim ComponentName(3) ComponentName(0) = "Persits.Jpeg" ComponentName(1) = "wsImage.Resize" ComponentName(2) = "SoftArtisans.ImageGen" ComponentName(3) = "CreatePreviewImage.cGvbox" If IsObjInstalled(ComponentName(I)) Then If IsExpired(ComponentName(I)) Then ExpiredStr = ",但已过期" Else ExpiredStr = "" End If ExpiredStr = " √支持" & ExpiredStr Else ExpiredStr = "×不支持" End If End Function '=================================================缓存相关函数======================= '不提示,批量清除缓存,参数 PreCacheName-前段匹配 Public Sub DelCaches(PreCacheName) Dim i Dim CacheList:CacheList=split(GetCacheList(PreCacheName),",") If UBound(CacheList)>1 Then For i=0 to UBound(CacheList)-1 DelCahe CacheList(i) Next End IF End Sub '取得缓存列表 参数 PreCacheName-前段匹配 Public Function GetCacheList(PreCacheName) Dim Cacheobj For Each Cacheobj in Application.Contents If CStr(Left(Cacheobj,Len(PreCacheName)))=CStr(PreCacheName) Then GetCacheList=GetCacheList&Cacheobj&"," End If Next End Function '清除缓存,参数 MyCaheName-缓存名称 Public Sub DelCahe(MyCaheName) Application.Lock Application.Contents.Remove(MyCaheName) Application.unLock End Sub '====================================================================================== '======================================会员相关函数==================================== '取得会员组选项--下拉列表 参数:Selected--默认选项 Public Function GetUserGroup_Option(Selected) Dim RSObj:Set RSObj=Server.CreateObject("Adodb.Recordset") RSObj.Open "Select ID,GroupName From KS_UserGroup",Conn,1,1 Do While Not RSObj.Eof IF Selected=RSObj(0) Then GetUserGroup_Option=GetUserGroup_Option & "" Else GetUserGroup_Option=GetUserGroup_Option & "" End If RSObj.MoveNext Loop RSObj.Close:Set RSObj=Nothing End Function '取得会员组选项--多选列表 参数:SelectArr--默认选择项以","隔开,RowNum--每行显示选项数 Public Function GetUserGroup_CheckBox(SelectArr,RowNum) Dim n:n=0 Dim RSObj:Set RSObj=Server.CreateObject("Adodb.Recordset") IF RowNum<=0 Then RowNum=3 RSObj.Open "Select ID,GroupName From KS_UserGroup",Conn,1,1 GetUserGroup_CheckBox="" Do While Not RSObj.Eof GetUserGroup_CheckBox=GetUserGroup_CheckBox & "" For N=1 To RowNum GetUserGroup_CheckBox=GetUserGroup_CheckBox & "" RSObj.MoveNext If RSObj.Eof Then Exit For Next GetUserGroup_CheckBox=GetUserGroup_CheckBox & "" If RSObj.Eof Then Exit Do Loop GetUserGroup_CheckBox=GetUserGroup_CheckBox & "
" If Instr(SelectArr,RSObj(0))<>0 Then GetUserGroup_CheckBox=GetUserGroup_CheckBox & "" & RSObj(1) & "    " Else GetUserGroup_CheckBox=GetUserGroup_CheckBox & "" & RSObj(1) & "    " End IF GetUserGroup_CheckBox=GetUserGroup_CheckBox & "
" RSObj.Close:Set RSObj=Nothing End Function '取得用户组名称 Public Function GetUserGroupName(GroupID) On Error Resume Next GetUserGroupName=Conn.Execute("Select GroupName From KS_UserGroup Where ID=" & GroupID)(0) if err then GetUserGroupName="" End Function '会员投稿文章,图片,下载等增加积分,发送站内短信操作 '参数ChannelID-频道ID,UserName---用户名称,InfoTitle---投稿的主题 Public Sub SignUserInfoOK(ChannelID,UserName,InfoTitle) IF Not IsNumeric(ChannelID) Then Exit Sub Dim RSObj:Set RSObj=Server.CreateObject("ADODB.RECORDSET") RSObj.Open "Select Money,Point,Score From KS_User Where UserName='" & UserName & "'",Conn,1,3 IF RSObj.Eof And RSObj.Bof Then '错误处理 Else RSObj(0)=RSObj(0)+GetChannelConfig(ChannelID,"UserAddMoney") RSObj(1)=RSObj(1)+GetChannelConfig(ChannelID,"UserAddPoint") RSObj(2)=RSObj(2)+GetChannelConfig(ChannelID,"UserAddScore") RSObj.Update '成功则发送站内通知信件 Dim Sender:Sender=GetConfig("WebName") Dim Title:Title="恭喜,您发表的稿件[" & InfoTitle & "]已被签收!!!" Dim Message:Message="稿件标题:" & InfoTitle &"
"_ & "获得金钱:" & GetChannelConfig(ChannelID,"UserAddMoney") & " 元人民币
"_ & "获得点券:" & GetChannelConfig(ChannelID,"UserAddPoint") & " " & PointStr & "
"_ & "获得积分:" & GetChannelConfig(ChannelID,"UserAddScore") & " 分积分
"_ & "
备注:此信息由系统自动发布,请不要回复!!!" Call PointInOrOut(ChannelID,0,UserName,1,GetChannelConfig(ChannelID,"UserAddPoint"),"系统","发表搞件[" & InfoTitle & "]所得") Call SendInfo(UserName,Sender,Title,Message) End IF RSObj.Close:Set RSObj=Nothing End Sub '功能:会员点券明细出入函数 '参数:Channelid-模块ID,InfoID-信息ID,UserName-用户名,InOrOutFlag-操作类型1收入2支同,Point-交易点数,User-操作员,Descript-操作备注 Public Function PointInOrOut(ChannelID,InfoID,UserName,InOrOutFlag,Point,User,Descript) If Not IsNumeric(InOrOutFlag) Or Not IsNumeric(Point) Then PointInOrOut=false:Exit Function Dim PointParam If InOrOutFlag=1 Then PointParam="Set Point=Point+" & Point ElseIF InOrOutFlag=2 Then PointParam="Set Point=Point-" & Point Else PointInOrOut=false:Exit Function End If Conn.Execute("Update KS_User " & PointParam & " Where UserName='" & UserName & "'") Dim RSObj:Set RSObj=Server.CreateObject("Adodb.Recordset") RSObj.Open "Select * From KS_LogPoint Where ID is null",Conn,1,3 RSObj.AddNew RSObj("ChannelID")=ChannelID RSObj("InfoID")=InfoID RSObj("UserName")=UserName RSObj("InOrOutFlag")=InOrOutFlag RSObj("Point")=Point RSObj("Times")=1 RSObj("User")=User RSObj("Descript")=Descript RSObj("AddDate")=now RSObj("IP")=Request.ServerVariables("Remote_Addr") RSObj.Update RSObj.Close:Set RSObj=Nothing IF Err Then PointInOrOut=false Else PointInOrOut=true End Function '会员有效期明细出入函数 '参数:UserName,InOrOutFlag,Edays,User,Descript Function EdaysInOrOut(UserName,InOrOutFlag,Edays,User,Descript) If Not IsNumeric(InOrOutFlag) Or Not IsNumeric(Edays) Then EdaysInOrOut=false:Exit Function Dim RSObj:Set RSObj=Server.CreateObject("Adodb.Recordset") RSObj.Open "Select * From KS_LogEdays Where ID is null",Conn,1,3 RSObj.AddNew RSObj("UserName")=UserName RSObj("InOrOutFlag")=InOrOutFlag RSObj("Edays")=Edays RSObj("User")=User RSObj("Descript")=Descript RSObj("AddDate")=now RSObj("IP")=Request.ServerVariables("Remote_Addr") RSObj.Update RSObj.Close:Set RSObj=Nothing IF Err Then EdaysInOrOut=false Else EdaysInOrOut=true End Function '发送站内信息 '参数Incept--接收者,Sender-发送者,title--主题,Content--信件内容 Public Sub SendInfo(Incept,Sender,title,Content) Conn.Execute("insert into KS_Message (Incept,sEnder,title,content,SendTime,flag,IsSend) values ('"&Incept&"','"&Sender&"','"&title&"','"&Content&"','"&Now()&"',0,1)") End Sub '====================================================================================== End Class %> <% Dim KSCls Set KSCls = New User_GuestBook KSCls.Execute() Set KSCls = Nothing Class User_GuestBook Private KSCMS Private GuestNum,GuestCheckTF Private Sub Class_Initialize() Set KSCMS=New CommonCls End Sub Private Sub Class_Terminate() Call KSCMS.CloseConn() Set KSCMS=Nothing End Sub Public Sub Execute() GuestNum=KSCMS.GetConfig("GuestNum") GuestCheckTF=KSCMS.GetConfig("GuestCheckTF") %>
姓名: *
地址: *
电话:
附加码:
 
<% End Sub End Class %>

    你对本站的哪些栏目感兴趣
     教育信息
     德育教育
     教学研究
     教师培训
     考试信息
     招生信息
     其他栏目

  
更多信息
更多信息
如何借阅数字图书馆电子图书
教师办公微机使用“十不得”规定
图书管理系统客户端安装及使用
教育技术装备和信息化工作简评
学校及幼儿园办学条件组图
《中小学校电化教育规程》-教育部
教育信息化及教育技术装备工作要点
教育技术装备及信息化实施意见
举办信息技术应用培训班
为校园安装教师办公室空调
教育教学研究 更多信息
测试信息
更多招生信息
四川省2008年高校招生录取(非延考区)控
四川省2008年普通高校招生(延考区)录取
四川省2008年普通高校招生录取安排
2008年四川部分地区高考延期进行
2008年预科招生计划
2008年填报预科志愿规定
关于我们 | 联系我们 | 网站地图 | 免责申明
版权所有:气动子女教育信息网   技术支持:绵阳动力网络