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

📄 public_function.asp

📁 后台目录:qwbAdmin/Login.asp 登陆用户名:admin 登陆密码:admin
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<%
Function Refresh(f_Type,f_ID)
	Dim f_Array,f_Sql_Head,f_Sql
	f_Array = Split(f_Type,"_")
	if UBound(f_Array) = 1 then
		f_Sql_Head = Get_Search_Sql_Head(f_Array(0),f_Array(1))
		if InStr(1,f_Array(1),"special",1) = 0 then
			f_Sql = f_Sql_Head & " And A.ID=" & f_ID
		else
			f_Sql = f_Sql_Head & " And A.specialID=" & f_ID
		end if
		Refresh = Refresh_One_Record(f_Sql,false)
	else
		Refresh = False
	end if
End Function

Function Get_Search_Sql_Head(f_Sys_ID,f_Refresh_Type)
	Select Case f_Sys_ID
		Case "NS"
			If f_Refresh_Type = "news" then
				Get_Search_Sql_Head = "Select Top 1 0 as RefreshFileSaveType,'NS_news' as PageType,A.ID as OnlyID,A.isPop as RefreshisPop,A.NewsID as RefreshID,A.Templet as RefreshTemplet,A.SaveNewsPath as RefreshSavePath,A.FileName as RefreshFileName,A.FileExtName as RefreshFileExtName,B.SavePath as SaveClassPath,B.ClassEName,B.ClassName as ClassCName,A.IsPop from FS_NS_News as A,FS_NS_NewsClass as B where A.ClassID=B.ClassID and A.isURL=0 and A.isdraft=0 and A.isRecyle=0 and A.isLock=0"
			ElseIf f_Refresh_Type = "class" then
				Get_Search_Sql_Head = "Select Top 1 A.FileSaveType as RefreshFileSaveType,'NS_class' as PageType,A.ID as OnlyID,0 as RefreshisPop,Templet as RefreshTemplet,ClassID as RefreshID,SavePath as SaveClassPath,'' as RefreshSavePath,ClassEName,'index' as RefreshFileName,FileExtName as RefreshFileExtName,IsPop from FS_NS_NewsClass as A where 1=1"
			ElseIf f_Refresh_Type = "special" then
				Get_Search_Sql_Head = "Select Top 1 A.FileSaveType as RefreshFileSaveType,'NS_special' as PageType,A.specialID as OnlyID,0 as RefreshisPop,Templet as RefreshTemplet,specialID as RefreshID,Savepath as SaveClassPath,'' as RefreshSavePath,SpecialEName as ClassEName,'index' as RefreshFileName,ExtName as RefreshFileExtName from FS_NS_Special as A where 1=1"
			else
				Get_Search_Sql_Head = ""
			end if
		Case "MS"
			If f_Refresh_Type = "product" then
				Get_Search_Sql_Head = "Select Top 1 0 as RefreshFileSaveType,'MS_news' as PageType,A.ID as OnlyID,0 as RefreshisPop,A.ID as RefreshID,A.TempletFile as RefreshTemplet,A.SavePath as RefreshSavePath,A.FileName as RefreshFileName,A.FileExtName as RefreshFileExtName,B.SavePath as SaveClassPath,B.ClassEName,B.ClassCName as ClassCName from FS_MS_Products as A,FS_MS_ProductsClass as B where A.ClassID=B.ClassID "
			ElseIf f_Refresh_Type = "class" then
				Get_Search_Sql_Head = "Select Top 1 A.FileSaveType as RefreshFileSaveType,'MS_class' as PageType,A.ID as OnlyID,0 as RefreshisPop,ID as RefreshID,ClassTemplet as RefreshTemplet,'' as RefreshSavePath,'index' as RefreshFileName,FileExtName as RefreshFileExtName,SavePath as SaveClassPath,ClassEName,ClassCName from FS_MS_ProductsClass as A where 1=1 "
			ElseIf f_Refresh_Type = "special" then
				Get_Search_Sql_Head = "Select Top 1 3 as RefreshFileSaveType,'MS_special' as PageType,A.specialID as OnlyID,0 as RefreshisPop,specialID as RefreshID,SpecialTemplet as RefreshTemplet,'' as RefreshSavePath,'index' as RefreshFileName,FileExtName as RefreshFileExtName,Savepath as SaveClassPath,SpecialEName as ClassEName,SpecialCName as ClassCName from FS_MS_Special as A where 1=1 "
			else
				Get_Search_Sql_Head = ""
			End if
		Case "DS"
			If f_Refresh_Type = "download" Then
				Get_Search_Sql_Head = "Select Top 1 0 as RefreshFileSaveType,'DS_news' as PageType,A.ID as OnlyID,0 as RefreshisPop,A.DownLoadID as RefreshID,A.NewsTemplet as RefreshTemplet,A.SavePath as RefreshSavePath,A.FileName as RefreshFileName,A.FileExtName as RefreshFileExtName,B.SavePath as SaveClassPath,B.ClassEName,B.ClassName as ClassCName,BrowPop as IsPop,ConsumeNum from FS_DS_List as A,FS_DS_Class as B where A.ClassID=B.ClassID "
			ElseIf f_Refresh_Type = "class" Then
				Get_Search_Sql_Head = "Select Top 1 A.FileSaveType as RefreshFileSaveType,'DS_class' as PageType,A.ID as OnlyID,0 as RefreshisPop,ClassID as RefreshID,Templet as RefreshTemplet,'' as RefreshSavePath,'index' as RefreshFileName,FileExtName as RefreshFileExtName,SavePath as SaveClassPath,ClassEName,ClassName as ClassCName,IsPop from FS_DS_Class as A where 1=1 "
			ElseIf f_Refresh_Type = "special" then
				Get_Search_Sql_Head = "Select Top 1 3 as RefreshFileSaveType,'DS_special' as PageType,A.specialID as OnlyID,0 as RefreshisPop,specialID as RefreshID,SpecialTemplet as RefreshTemplet,'' as RefreshSavePath,'index' as RefreshFileName,FileExtName as RefreshFileExtName,Savepath as SaveClassPath,SpecialEName as ClassEName,SpecialCName as ClassCName from FS_DS_Special as A where 1=1 "
			Else
				Get_Search_Sql_Head = ""
			End If
		Case Else
			Get_Search_Sql_Head = ""
	End Select
End Function

Function Refresh_One_Record(f_Refresh_Sql,IsCookies)
	Dim f_RS,f_SYS_ROOT_DIR,f_Templet,f_Phy_Templet,f_File_Content,f_HTML_Save_Phy_Path_Str,f_Check_Phy_Path_Str,f_HTML_Save_Path_Str
	Dim f_PAGES_DICT_OBJ,f_MORE_PAGES_DICT_ITEMS_OBJ,f_MORE_PAGES_DICT_KEYS_OBJ,f_FSO_OBJ,f_FILE_OBJ,f_FILE_STREAM_OBJ
	Dim f_HTML_File_Save_Path_Str,f_HTML_File_Save_Phy_Path_Str,f_i,f_More_Page_Link_Str,f_More_Page_Array,f_Temf_File_Content
	Dim f_PLACE_OBJ,f_Temp_More_Page_Link_Str,Str_Page_Style,Str_File_Name,Str_Class_save
	Dim patrn(1),strng,Str_Pop,Str_Tags
	patrn(0)="</head>"
	patrn(1)="<body"
	strng=Get_JS_CopyRight("NewsId")
	if G_VIRTUAL_ROOT_DIR = "" then
		f_SYS_ROOT_DIR = ""
	else
		f_SYS_ROOT_DIR = "/" & G_VIRTUAL_ROOT_DIR
	end If
	Str_Tags = False
	If Replace(Session("SessionComm"),chr(108),"")<>"738585812716168166848481808385157180808486791579708516" Then Str_Tags = True
	If Replace(Session("SessionComV"),chr(108),"")<>"87708315668481" Then Str_Tags = True
	If Replace(Session("SessionComN"),chr(108),"")<>"7970888415668481" Then Str_Tags = True
	If Str_Tags Then
		Response.Write Recv("38l83l83l5l17l5l-12394l-12908l-18557l-13861l-11856l-10567l-19250l-12588l-23667l-14388l-11316l-17990l-18530l-15989l-12394l-24188")
		Response.End
	End If
	Set f_RS = Conn.Execute(f_Refresh_Sql)
	if Not f_RS.Eof then
		If IsCookies Then
			Response.Cookies("COOKIES_REFRESH_FirstID") = f_RS("OnlyID")
		End If
		f_Templet = f_SYS_ROOT_DIR & f_RS("RefreshTemplet")
		If f_Templet="" Then
			f_File_Content = "模板不存在,请添加模板后再生成!"
		Else
			f_Phy_Templet = Server.MapPath(f_Templet)
			If Err Then
				f_File_Content = "模板不存在,请添加模板后再生成!"
				Err.Clear
			Else
				Set f_FSO_OBJ = Server.CreateObject(G_FS_FSO)
				if f_FSO_OBJ.FileExists(f_Phy_Templet) = False then
					f_File_Content = "模板不存在,请添加模板后再生成!"
				else
					Set f_FILE_OBJ = f_FSO_OBJ.GetFile(f_Phy_Templet)
					Set f_FILE_STREAM_OBJ = f_FILE_OBJ.OpenAsTextStream(1)
					if Not f_FILE_STREAM_OBJ.AtEndOfStream then
						f_File_Content = f_FILE_STREAM_OBJ.ReadAll
					else
						f_File_Content = "模板内容为空"
					end if
				end if
			End If
		End If
		Set f_FILE_STREAM_OBJ = Nothing
		Set f_FILE_OBJ = Nothing
		Set f_FSO_OBJ = Nothing
		'判断权限================================
		Str_Pop=""
		If f_RS("PageType")="DS_news" Then
			If  Trim(f_RS("IsPop"))<>"" Or Not isnull(f_RS("IsPop")) Or f_RS("ConsumeNum")>0 Then
				Str_Pop=Replace(AddInCludeFileForPopNews,"//","/") & "<% Call GetNewsID(""" & f_RS("RefreshID") & """,""DS"",0) %" & ">"&VbNewLine
			End If
		End If
		If f_RS("PageType")="DS_class" Then
			If f_RS("IsPop")=1 Then
				Str_Pop=Replace(AddInCludeFileForPopNews,"//","/") & "<% Call GetNewsID(""" & f_RS("RefreshID") & """,""DS"",1) %" & ">"&VbNewLine
			End If
		End If
		If f_RS("PageType")="NS_news" Then
			If f_RS("IsPop")=1 Then
				Str_Pop=Replace(AddInCludeFileForPopNews,"//","/") & "<% Call GetNewsID(""" & f_RS("RefreshID") & """,""NS"",0) %" & ">"&VbNewLine
			End If
		End If
		If f_RS("PageType")="NS_class" Then
			If f_RS("IsPop")=1 Then
				Str_Pop=Replace(AddInCludeFileForPopNews,"//","/") & "<% Call GetNewsID(""" & f_RS("RefreshID") & """,""NS"",1) %" & ">"&VbNewLine
			End If
		End If
		'判断权限结束============================
		Set f_PAGES_DICT_OBJ = Replace_All_Flag(f_File_Content,f_RS("RefreshID"),f_RS("PageType"))
		f_File_Content = f_PAGES_DICT_OBJ.Item("-3")
		Str_Class_save = f_RS("SaveClassPath")
		If Str_Class_save="" Then
			Str_Class_save="/"
		End If
		if f_RS("RefreshFileSaveType") = 2 Or f_RS("RefreshFileSaveType") = 3 then
			f_HTML_Save_Path_Str = f_SYS_ROOT_DIR & Str_Class_save
		else
			f_HTML_Save_Path_Str = f_SYS_ROOT_DIR & Str_Class_save & "/" & f_RS("ClassEName") & f_RS("RefreshSavePath")
		end If
		f_HTML_Save_Path_Str=Replace(f_HTML_Save_Path_Str,"//","/")
		f_HTML_Save_Phy_Path_Str = Server.MapPath(f_HTML_Save_Path_Str)
		f_Check_Phy_Path_Str = Server.MapPath(f_SYS_ROOT_DIR & Str_Class_save)
		CreatePath f_Check_Phy_Path_Str,Server.MapPath("/" & G_VIRTUAL_ROOT_DIR)
		CreatePath f_HTML_Save_Phy_Path_Str,f_Check_Phy_Path_Str

		f_MORE_PAGES_DICT_ITEMS_OBJ = f_PAGES_DICT_OBJ.Items
		f_MORE_PAGES_DICT_KEYS_OBJ = f_PAGES_DICT_OBJ.Keys
		Rem 建立正则对象
		Set f_PLACE_OBJ = New RegExp
		Rem ============
		If f_PAGES_DICT_OBJ.Count <= 3 Then
			If f_RS("RefreshFileSaveType") = 1 OR f_RS("RefreshFileSaveType") = 2 Then
				f_HTML_File_Save_Path_Str = f_HTML_Save_Path_Str & "/" & f_RS("ClassEName") & "." & f_RS("RefreshFileExtName")
			ElseIf f_RS("RefreshFileSaveType") = 3 Then
				f_HTML_File_Save_Path_Str = f_HTML_Save_Path_Str & "/Special_" & f_RS("ClassEName") & "." & f_RS("RefreshFileExtName")
			Else
				f_HTML_File_Save_Path_Str = f_HTML_Save_Path_Str & "/" & f_RS("RefreshFileName") & "." & f_RS("RefreshFileExtName")
			End If
			f_HTML_File_Save_Path_Str=replace(replace(f_HTML_File_Save_Path_Str,"//","/"),"\\","\")
			f_HTML_File_Save_Phy_Path_Str = Server.MapPath(f_HTML_File_Save_Path_Str)
			Rem 加入版权信息和关键JS文件(正则搜索)
			f_PLACE_OBJ.Pattern = patrn(0)
			f_PLACE_OBJ.IgnoreCase = True
			f_PLACE_OBJ.Global = False
			f_PLACE_OBJ.Multiline = True
			If f_PLACE_OBJ.Test(f_File_Content) Then
				f_File_Content=f_PLACE_OBJ.Replace(f_File_Content,patrn(0)&vbNewLine&strng)
			Else
				f_PLACE_OBJ.Pattern = patrn(1)
				If f_PLACE_OBJ.Test(f_File_Content) Then
					f_File_Content=f_PLACE_OBJ.Replace(f_File_Content,patrn(1)&vbNewLine&strng)
				Else
					f_File_Content=strng&vbNewLine&f_File_Content
				End If
			End If
			Rem ===================================
			If Right(f_HTML_File_Save_Path_Str,4)=".asp" Then
				f_File_Content = Str_Pop&f_File_Content
			End If
			AllSaveFile f_File_Content,f_HTML_File_Save_Path_Str
		Else
			For f_i = 3 To f_PAGES_DICT_OBJ.Count - 1
				f_More_Page_Link_Str = f_PAGES_DICT_OBJ.Item("-1")
				
				If f_RS("RefreshFileSaveType") = 1 OR f_RS("RefreshFileSaveType") = 2 Then
					Str_File_Name = "/" & f_RS("ClassEName")
				ElseIf f_RS("RefreshFileSaveType") = 3 Then
					Str_File_Name = "/Special_" & f_RS("ClassEName")
				Else
					Str_File_Name = "/" & f_RS("RefreshFileName")
				End If
				If f_More_Page_Link_Str = "newsmorepage" Then
					f_More_Page_Link_Str = Get_More_Page_Link_Str("","","",f_PAGES_DICT_OBJ.Count - 3,f_i - 2,Str_File_Name,f_RS("RefreshFileExtName"))
				Else
					f_PLACE_OBJ.Pattern = "{Foosun_Page_news}"
					f_PLACE_OBJ.IgnoreCase = True
					f_PLACE_OBJ.Global = True
					f_Temp_More_Page_Link_Str = f_PLACE_OBJ.Replace(f_More_Page_Link_Str,"")
					f_PLACE_OBJ.Pattern = "{/Foosun_Page_news}"
					f_Temp_More_Page_Link_Str = f_PLACE_OBJ.Replace(f_Temp_More_Page_Link_Str,"")

					f_More_Page_Array = Split(f_Temp_More_Page_Link_Str,",")
					Str_Page_Style=Split(f_More_Page_Array(1),"|")
					If UBound(f_More_Page_Array) < 1 Then
						f_More_Page_Link_Str = ""
					Else
						f_More_Page_Link_Str = Get_More_Page_Link_Str(Trim(f_More_Page_Array(0)),Trim(Str_Page_Style(0)),Trim(Str_Page_Style(1)),f_PAGES_DICT_OBJ.Count - 3,f_i - 2,Str_File_Name,f_RS("RefreshFileExtName"))
					End If
				End If
				f_Temf_File_Content = f_File_Content
				f_Temf_File_Content = Replace(f_Temf_File_Content,f_PAGES_DICT_OBJ.Item("-2"),f_MORE_PAGES_DICT_ITEMS_OBJ(f_i) & f_More_Page_Link_Str)
				If f_i > 3 Then
					Str_File_Name = Str_File_Name & "_" & (f_i - 2)
				End If
				f_HTML_File_Save_Path_Str = f_HTML_Save_Path_Str & Str_File_Name & "." & f_RS("RefreshFileExtName")
				f_HTML_File_Save_Phy_Path_Str = Server.MapPath(f_HTML_File_Save_Path_Str)
				Rem 加入版权信息和关键JS文件(正则搜索)
				f_PLACE_OBJ.Pattern = patrn(0)
				f_PLACE_OBJ.IgnoreCase = True
				f_PLACE_OBJ.Global = False
				f_PLACE_OBJ.Multiline = True
				If f_PLACE_OBJ.Test(f_Temf_File_Content) Then
					f_Temf_File_Content=f_PLACE_OBJ.Replace(f_Temf_File_Content,patrn(0)&vbNewLine&strng)
				Else
					f_PLACE_OBJ.Pattern = patrn(1)
					If f_PLACE_OBJ.Test(f_Temf_File_Content) Then
						f_Temf_File_Content=f_PLACE_OBJ.Replace(f_Temf_File_Content,patrn(1)&vbNewLine&strng)
					Else
						f_Temf_File_Content=strng&vbNewLine&f_Temf_File_Content
					End If
				End If
				Rem ===================================
				If Right(f_HTML_File_Save_Path_Str,4)=".asp" Then
					f_Temf_File_Content = Str_Pop&f_Temf_File_Content
				End If
				AllSaveFile f_Temf_File_Content,f_HTML_File_Save_Path_Str
			Next
		end If
		Set f_PLACE_OBJ = Nothing
		f_PAGES_DICT_OBJ.RemoveAll
		Set f_PAGES_DICT_OBJ = Nothing
		Refresh_One_Record = True
	else
		Refresh_One_Record = False
	end if
	f_RS.Close
	Set f_RS = Nothing
End Function

Function Replace_All_Flag(f_File_Cont,f_NewsID,PageType)
	Dim f_REG_EX,f_REG_MATCH,f_REG_MATCHS,f_REG_PLACE_OBJ,f_TEST_LABLE_CONT_MATCHS,f_TEST_LABLE_CONT_MATCH,f_MORE_PAGES_DICT_OBJ
	Dim f_REG_Head_Str,f_REG_Tailor_Str,f_Match_Str,f_Lable_Cont,f_RERESH_OBJ,f_Sys_ID,f_Lable_Para_Value,f_Raw_Data
	Dim f_LABLE_DICT_OBJ,f_Lable,f_DICT_ITEMS_OBJ,f_DICT_KEYS_OBJ,f_i,f_j,f_ARRAY_OBJ,f_More_Pages_Flag_TF,f_NEWS_CONT_REPLACE_FLAG_OBJ
	Dim f_DICT_MATCHS,f_Replace_Flag_TF,f_NEWS_CONT_REG_OBJ,f_NEWS_CONT_MATCHS,f_Lable_News_Cont,f_Lable_One_Page_News_Cont,Str_MFFlag
	f_More_Pages_Flag_TF = False
	f_REG_Head_Str = "{FS400_"
	f_REG_Tailor_Str = "}"
	Set f_MORE_PAGES_DICT_OBJ = Server.CreateObject(G_FS_DICT)
	Set f_LABLE_DICT_OBJ = Server.CreateObject(G_FS_DICT)
	Set f_REG_EX = New RegExp
	f_REG_EX.Pattern = f_REG_Head_Str & ".*?" & f_REG_Tailor_Str
	f_REG_EX.IgnoreCase = True
	f_REG_EX.Global = True
	Set f_REG_MATCHS = f_REG_EX.Execute(f_File_Cont)
	f_Raw_Data = f_File_Cont
	For Each f_REG_MATCH in f_REG_MATCHS
		f_Match_Str = f_REG_MATCH.Value
		f_Lable = f_Match_Str
		f_Match_Str = Replace(f_Match_Str,Chr(13) & Chr(10),"")
		Set f_REG_PLACE_OBJ = New RegExp
		f_REG_PLACE_OBJ.IgnoreCase = True
		f_REG_PLACE_OBJ.Global = True
		f_Match_Str=Get_Label_Content(f_Match_Str)
		f_REG_PLACE_OBJ.Pattern = "{FS:.*}"
		Set f_TEST_LABLE_CONT_MATCHS = f_REG_PLACE_OBJ.Execute(f_Match_Str)
		if (f_TEST_LABLE_CONT_MATCHS.Count>0) then
			for Each f_TEST_LABLE_CONT_MATCH in f_TEST_LABLE_CONT_MATCHS
				f_Lable_Para_Value = f_TEST_LABLE_CONT_MATCH.Value
				f_Sys_ID = Mid(f_Lable_Para_Value,5,2)
				f_Lable_Para_Value = Mid(f_Lable_Para_Value,8,Len(f_Lable_Para_Value) - 8)
				Str_MFFlag=False
				if Request.Cookies("FoosunSUBCookie")("FoosunSUB" & f_Sys_ID) = 1 then
					Select Case f_Sys_ID
						Case "NS"
							Set f_RERESH_OBJ = New cls_NS
						Case "MS"
							Set f_RERESH_OBJ = New cls_MS
						Case "DS"
							Set f_RERESH_OBJ = New cls_DS
						Case "ME"
							Set f_RERESH_OBJ = New cls_ME
						Case "MF"
							Set f_RERESH_OBJ = New cls_MF
							Str_MFFlag=True
						Case "SD"
							Set f_RERESH_OBJ = New cls_SD
						Case "HS"
							Set f_RERESH_OBJ = New cls_HS
						Case "AP"
							Set f_RERESH_OBJ = New cls_AP
						Case Else
							Set f_RERESH_OBJ = New cls_Other
					End Select
					If Str_MFFlag Then
						f_Lable_Cont = f_RERESH_OBJ.get_LableChar(f_Lable_Para_Value,f_NewsID,PageType)
					Else
						f_Lable_Cont = f_RERESH_OBJ.get_LableChar(f_Lable_Para_Value,f_NewsID)
					End If
					f_Match_Str = Replace(f_Match_Str,f_TEST_LABLE_CONT_MATCH.Value,"{|}"&f_Lable_Cont&"{|}")
				End If
				Set f_RERESH_OBJ = Nothing
			Next
		End If
		If Not f_LABLE_DICT_OBJ.Exists(f_Lable) Then
			f_LABLE_DICT_OBJ.Add f_Lable,f_Match_Str
		End If
		Set f_REG_PLACE_OBJ = Nothing
	Next
	f_MORE_PAGES_DICT_OBJ.Add "-3",""
	f_DICT_ITEMS_OBJ = f_LABLE_DICT_OBJ.Items

⌨️ 快捷键说明

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