⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ks.publiccls.asp

📁 本系统是根据科汛系统编写的程序
💻 ASP
📖 第 1 页 / 共 5 页
字号:
	'**************************************************
	Public Function R(strChar)
		If strChar = "" Or IsNull(strChar) Then R = "":Exit Function
		Dim strBadChar, arrBadChar, tempChar, I
		'strBadChar = "$,#,',%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ""
		strBadChar = "+,',--,%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ""
		arrBadChar = Split(strBadChar, ",")
		tempChar = strChar
		For I = 0 To UBound(arrBadChar)
			tempChar = Replace(tempChar, arrBadChar(I), "")
		Next
		tempChar = Replace(tempChar, "@@", "@")
		R = tempChar
	End Function
	
	Function FilterIDs(byval strIDs)
	Dim arrIDs,i,strReturn
	strIDs=Trim(strIDs)
	If Len(strIDs)=0  Then Exit Function
	arrIDs=Split(strIDs,",")
	For i=0 To Ubound(arrIds)
		If ChkClng(Trim(arrIDs(i)))<>0 Then
			strReturn=strReturn & "," & Int(arrIDs(i))
		End If
	Next
	If Left(strReturn,1)="," Then strReturn=Right(strReturn,Len(strReturn)-1)
	FilterIDs=strReturn
	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,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

	'**************************************************
	'函数名: GetFolderPath
	'功 能:取得目录Url
	'参 数: FolderID目录的ID
	'**************************************************
	Public Function GetFolderPath(FolderID)
	        on error resume next
			If Not IsObject(Application(SiteSN&"_classpath")) Then
		     Dim Folder,ClassPurview,ChannelFsoHtmlTF,Node,K,SQL,RS
			 Set  Application(SiteSN&"_classpath")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
		     Application(SiteSN&"_classpath").appendChild( Application(SiteSN&"_classpath").createElement("xml"))
              Set RS=Server.CreateObject("ADODB.RECORDSET")
			  RS.Open "Select C.ClassID,C.ChannelID,TN,Folder,FolderDomain,ClassPurview,FsoHtmlTF,ModelEName,C.ID From KS_Class C inner join KS_Channel M On C.ChannelID=M.ChannelID Order BY FolderOrder", Conn, 1, 1
			  If RS.Eof And RS.Bof Then RS.Close:Set RS=Nothing:Exit Function
			  SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
			  For K=0 To Ubound(SQL,2)
					       ClassPurview=SQL(5,K)
						   ChannelFsoHtmlTF=SQL(6,K)	
						   If Trim(SQL(4,K)) <> "" And SQL(2,K) = "0" Then
							   IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
								 GetFolderPath= GetChannelNoHtmlUrl(SQL(7,K),SQL(0,K))
							   Else
								 GetFolderPath=Trim(SQL(4,K))
							   End If
						   ElseIf Trim(SQL(4,K)) <> "" Then
							  Folder = Trim(SQL(3,K))
							  Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1)
							  IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
								 GetFolderPath= Trim(SQL(4,K)) & GetChannelNoHtmlUrl(SQL(7,K),SQL(0,K))
							   Else
								 GetFolderPath= Trim(SQL(4,K)) & Folder
							   End If
						  Else
							   IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
								 GetFolderPath= GetChannelNoHtmlUrl(SQL(7,K),SQL(0,K))
							   Else
								 GetFolderPath= GetChannelDomain(SQL(1,K)) & SQL(3,K)
							   End If
						  End If
		            Set Node=Application(SiteSN&"_classpath").documentElement.appendChild(Application(SiteSN&"_classpath").createNode(1,"classpath",""))
			        Node.attributes.setNamedItem(Application(SiteSN&"_classpath").createNode(2,"classid","")).text=SQL(8,K)
			        Node.text=GetFolderPath
               Next			
     End If
	 GetFolderPath=Application(SiteSN&"_classpath").documentElement.selectSingleNode("classpath[@classid=" & FolderID & "]").text
	End Function
		'************************************************************************
		'函数名: GetClassNP
		'功 能: 取得目录名称并加上链接
		'参 数: FolderID目录的ID	          
		'*************************************************************************
		Function GetClassNP(FolderID)
		 on error resume next
		If Not IsObject(Application(SiteSN&"_classnamepath")) Then
		    Dim Folder,ClassPurview,ChannelFsoHtmlTF,Node,K,SQL,RS
		    Dim FolderCss:FolderCss=""
			Dim OpenTypeStr:OpenTypeStr=" target=""_blank"""
			Set  Application(SiteSN&"_classnamepath")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
		    Application(SiteSN&"_classnamepath").appendChild( Application(SiteSN&"_classnamepath").createElement("xml"))
              Set RS=Server.CreateObject("ADODB.RECORDSET")
			  RS.Open "Select C.ClassID,C.ChannelID,FolderName,Folder,FolderDomain,TN,ClassPurview,FolderFsoIndex,FsoHtmlTF,ModelEname,C.ID From KS_Class C inner join KS_Channel M On C.ChannelID=M.ChannelID Order BY FolderOrder", Conn, 1, 1
			  If RS.Eof And RS.Bof Then RS.Close:Set RS=Nothing:Exit Function
			  SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
			  For K=0 To Ubound(SQL,2)
					 	  ClassPurview=SQL(6,K)
					      ChannelFsoHtmlTF=SQL(8,K)
					      If Trim(SQL(4,K)) <> "" And SQL(5,K) = "0" Then   '判断根目录是否有绑定二级域名
							  IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
								 GetClassNP = "<a " & FolderCss & " href=""" & GetChannelNoHtmlUrl(SQL(9,K),SQL(0,K)) & """" & OpenTypeStr & ">"
							   Else
								 GetClassNP = "<a " & FolderCss & " href=""" & Trim(SQL(4,K)) & Trim(SQL(7,K)) & """" & OpenTypeStr & ">"
							   End If
						   ElseIf Trim(SQL(4,K)) <> "" Then
							  Folder = Trim(SQL(3,K))
							  Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1)
							  IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
								 GetClassNP = "<a " & FolderCss & " href=""" & Trim(SQL(4,K)) & GetChannelNoHtmlUrl(SQL(9,K),SQL(0,K)) & """" & OpenTypeStr & ">"
							   Else
								  GetClassNP = "<a " & FolderCss & " href=""" & Trim(SQL(4,K)) & Folder & Trim(SQL(7,K)) & """" & OpenTypeStr & ">"
							   End If
						  Else
							   IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
								 GetClassNP = "<a " & FolderCss & " href=""" & GetChannelNoHtmlUrl(SQL(9,K),SQL(0,K)) & """" & OpenTypeStr & ">"
							   Else
								 GetClassNP = "<a " & FolderCss & " href=""" & (GetChannelDomain(CInt(SQL(1,K))) & SQL(3,K) & Trim(SQL(7,K))) & """" & OpenTypeStr & ">"
							   End If
						  End If
					  GetClassNP = GetClassNP & Trim(SQL(2,K)) & "</a>"
		            Set Node=Application(SiteSN&"_classnamepath").documentElement.appendChild(Application(SiteSN&"_classnamepath").createNode(1,"classnamepath",""))
			        Node.attributes.setNamedItem(Application(SiteSN&"_classnamepath").createNode(2,"classid","")).text=SQL(10,K)
			        Node.text=GetClassNP
               Next			
     End If
	GetClassNP=Application(SiteSN&"_classnamepath").documentElement.selectSingleNode("classnamepath[@classid=" & FolderID & "]").text
	End Function
		'----------------------------------------------------------------------------------------------------------------------
		'函数名: GetSpecialPath
		'功 能: 取得专题目录Url
		'参 数: SpecialrRS
		'-----------------------------------------------------------------------------------------------------------------------
		Public Function GetSpecialPath(SpecialID,SpecialEname,FsoSpecialIndex,ChannelID)
		      Dim SpecialDir:SpecialDir = Setting(95)
			  If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
			  If C_S(ChannelID,7)=0 Then
				GetSpecialPath=GetDomain & C_S(ChannelID,10) & "/Special.asp?ID=" & SpecialID
			  Else
				 GetSpecialPath = GetDomain & SpecialDir & SpecialEname & "/" & FsoSpecialIndex
              End iF
		End Function
		'----------------------------------------------------------------------------------------------------------------------
		'函数名: GetFolderSpecialPath
		'功 能: 取得栏目专题汇总Url
		'参 数: FolderID目录的ID,FullPathFlag是否完整路径(取栏目首页与否),包括专题首页
		'-----------------------------------------------------------------------------------------------------------------------
		Function GetFolderSpecialPath(FolderID, FullPathFlag)
		   Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
		   Dim SpecialDir:SpecialDir =Setting(95)
		   If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
		   RS.Open "Select Folder,FolderFsoIndex,ChannelID,id From KS_Class Where ID='" & FolderID & "'", Conn, 1, 1
		   If Not RS.EOF Then
		     If Conn.Execute("Select FsoHtmlTF From KS_Channel Where ChannelID=" & RS("ChannelID"))(0)=0 Then
			     GetFolderSpecialPath = GetDomain &"SpecialList.asp?ClassID="&RS(3)
			 Else
			  If FullPathFlag = True Then
				 GetFolderSpecialPath = GetDomain & SpecialDir & RS(0) & RS(1)
			  Else
				 GetFolderSpecialPath = GetDomain & SpecialDir & RS(0)
			  End If
			 End IF
			  RS.Close:Set RS = Nothing
		   Else
			  RS.Close:Set RS = Nothing:GetFolderSpecialPath = ""
		   End If
		End Function
		'取得栏目的链接URL
		Public Function GetChannelNoHtmlUrl(ModelEname,ClassID)
		     GetChannelNoHtmlUrl=GetDomain & ModelEname & "/ShowClass.asp?ID=" & ClassID
		End Function
		'***************************************************************************
		'函数名: GetInfoUrl
		'功 能: 取得每篇文章、图片等的Url链接
		'参 数: RSObj--信息的recordset对象  
		'调用该函数前先初始化    
		'****************************************************************************
        Public Function GetInfoUrl(ByVal ChannelID,ByVal Tid,ByVal InfoID,ByVal Fname,ByVal ReadPoint,ByVal InfoPurview,ByVal Changes)
		  On error resume next
		  IF Not Isnumeric(ChannelID) Then GetInfoUrl="#":Exit Function
		  Dim ClassPurview:ClassPurview=C_C(Tid,3)
		  Select Case C_S(ChannelID,6)
		   Case 1
				 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
				 If Changes=1 Then
				  GetInfoUrl=Fname
				 ElseIf  ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2  Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		   Case 2
				 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
				 If  ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2  Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		   Case 3
				 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
				 If  C_S(ChannelID,7)=0 Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		   Case 4
				 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
				 If  ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2  Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		   Case 5
				 '判断是否生成
				 If  C_S(ChannelID,7)=0 Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		   Case 7
				 '当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
				 If  ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2  Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		   Case 8
				 If  C_S(ChannelID,7)=0 Then 
				   GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
				 Else
				   GetInfoUrl=GetFolderPath(Tid) & Fname
				 End If
		  End Select
		End Function
		'取消HTML
		Public Function LoseHtml(ContentStr)
		    On Error Resume Next
			Dim TempLoseStr, regEx
			If ContentStr="" Or ContentStr=Null Then Exit Function
			TempLoseStr = CStr(ContentStr)
			Set regEx = New RegExp
			regEx.Pattern = "<\/*[^<>]*>"
			regEx.IgnoreCase = True
			regEx.Global = True
			TempLoseStr = regEx.Replace(TempLoseStr, "")
			LoseHtml = TempLoseStr
		End Function
				                 '---------------------------------------------------------------------------------------------------
		'函数名: G_O_T_S
		'功 能:取得打开类型
		'参 数: OpenType 取true时,新窗口打开
		'--------------------------------------------------------------------------------------------
		Function G_O_T_S(OpenType)
			  If OpenType = "" Or OpenType = False Then
				G_O_T_S = ""
			  ElseIf OpenType = True Then
				G_O_T_S = " target=""_blank"""
			  Else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -