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

📄 cls_template.asp

📁 改进及新特性: 1、调整模版编辑时的流程及提示语言 2、新增sitemaps生成功能 3、优化评论页面的显示格式 BUG修正: 1、getarticlelist标签对于现有参数提示错误
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<%
'====================================================================
'= Team Elite - Elite Article System
'= Copyright (c) 2005 Eason Chan All Rights Reserved.
'=-------------------------------------------------------------------
'= 文件名称:cls_template.asp
'= 摘    要:模版类文件
'=-------------------------------------------------------------------
'= 最后更新:eason007
'= 最后日期:2005-07-27
'====================================================================

Class cls_Template
	Public Title,Nav

	Private PageArray(4)
	Private i
	
	'*****************************
	'对象类初始化过程
	'*****************************
	Private Sub Class_Initialize()

	End Sub

	Public Sub Close_Obj()
		Erase PageArray
	End Sub
	
	'***********************************************
	'加载模版过程
	'输入参数:
	'	1、模版id
	'	2、页面名称
	'***********************************************
	Public Function Load_Template(TemplateId,Fields)
		FoundErr=False

		Dim Temp
		Temp=EA_DBO.Get_Template_Info(TemplateId,Fields)
		If IsArray(Temp) Then 
			PageArray(0)=Temp(0,0)			'template name
			PageArray(1)=Temp(1,0)			'template css
			PageArray(2)=Temp(2,0)			'template head
			PageArray(3)=Temp(3,0)			'template foot
			Load_Template=Temp(4,0)
		Else
			FoundErr=True
		End If
		
		If Err.Number<>0 Or FoundErr Then 
			ErrMsg="读取模版["&Fields&"]时发生错误"&FoundErr
			Call EA_Pub.ShowErrMsg(0,0)
		End If
	End Function

	Public Sub ReplaceTag(sTag,sReplaceValue,ByRef sPageContent)
		If InStr(sPageContent,"{$"&sTag&"$}")>0 Then
			sPageContent=Replace(sPageContent,"{$"&sTag&"$}",sReplaceValue)
		End If
	End Sub
	
	Public Function Replace_PublicTag(ByRef PageContent)
		ReplaceTag "Head",PageArray(2),PageContent
		ReplaceTag "Foot",PageArray(3),PageContent

		ReplaceTag "PageTitle",Title,PageContent
		ReplaceTag "PageNav",Nav,PageContent

		ReplaceTag "SiteName",EA_Pub.SysInfo(0),PageContent
		ReplaceTag "SiteUrl",EA_Pub.SysInfo(11),PageContent
		ReplaceTag "SiteEMail",EA_Pub.SysInfo(12),PageContent
		ReplaceTag "SystemVersion",SysVersion,PageContent
		ReplaceTag "SkinName",PageArray(0),PageContent

		ReplaceTag "PageCSS",PageArray(1),PageContent
		ReplaceTag "PageDesc",EA_Pub.SysInfo(17),PageContent
		ReplaceTag "PageKeyword",Replace(EA_Pub.SysInfo(16),"|",","),PageContent

		PageContent=Replace(PageContent,"<title>","<meta name=""generator"" content=""NB文章系统(NBArticle)"">"&Chr(13)&Chr(10)&"<title>",1,-1,0)

		ReplaceTag "SystemPath",SystemFolder,PageContent
		
		If InStr(PageContent,"{$SitePlacard")>0 Then Call Find_TemplateTag("SitePlacard",PageContent)
		If InStr(PageContent,"{$SiteVote")>0 Then Call Find_TemplateTag("SiteVote",PageContent)
		
		If InStr(PageContent,"{$GetArticleList")>0 Then Call Find_TemplateTags("GetArticleList",PageContent)
		If InStr(PageContent,"{$AdSense")>0 Then Call Find_TemplateTags("AdSense",PageContent)
		If InStr(PageContent,"{$Friend")>0 Then Call Find_TemplateTags("Friend",PageContent)
		
		Replace_PublicTag=PageContent
	End Function
	
	Public Function Find_TemplateTag(KeyStr,ByRef PageStr)
		Dim TempStr,PageLen
		Dim CurrentTag,StartTag,EndTag
		Dim ParameterArray,ReplaceStr,ReplaceLen

		CurrentTag=0
		StartTag=1
		PageLen=Len(PageStr)

		CurrentTag=InStr(StartTag,PageStr,"{$"&KeyStr&"(")
		If CurrentTag<>0 Then 
			StartTag=CurrentTag
			EndTag=InStr(StartTag,PageStr,")$}")

			TempStr=Mid(PageStr,StartTag+3+Len(KeyStr),EndTag-(StartTag+3+Len(KeyStr)))

			ParameterArray=Split(TempStr,",")
			
			Select Case KeyStr
			Case "ColumnNav"
				ReplaceStr=Load_ColumnList(ParameterArray)
			Case "DisList"
				ReplaceStr=Load_DisArticle(ParameterArray)
			Case "SitePlacard"
				ReplaceStr=Load_Placard(ParameterArray)
			Case "SiteVote"
				ReplaceStr=Load_Vote(ParameterArray)
			Case "NewReview"
				ReplaceStr=Load_NewReview(ParameterArray)
			End Select

			ReplaceLen=Len(ReplaceStr)

			PageStr=Left(PageStr,StartTag-1)&ReplaceStr&Right(PageStr,PageLen-(EndTag+2))
		End If
		
		Find_TemplateTag=PageStr
	End Function

	Public Function Find_TemplateTags(KeyStr,ByRef PageStr)
		Dim TempStr,PageLen
		Dim CurrentTag,StartTag,EndTag
		Dim ParameterArray,ReplaceStr,ReplaceLen

		CurrentTag=-1
		StartTag=1
		PageLen=Len(PageStr)

		Do While CurrentTag<>0
			CurrentTag=InStr(StartTag,PageStr,"{$"&KeyStr&"(")
			If CurrentTag<>0 Then 
				StartTag=CurrentTag
				EndTag=InStr(StartTag,PageStr,")$}")

				TempStr=Mid(PageStr,StartTag+Len(KeyStr)+3,EndTag-(StartTag+Len(KeyStr)+3))

				ParameterArray=Split(TempStr,",")
				
				Select Case KeyStr
				Case "GetArticleList"
					ReplaceStr=Get_ArticleList(ParameterArray)
				Case "Friend"
					ReplaceStr=Load_Friend(ParameterArray)
				Case "AdSense"
					ReplaceStr=Load_AdSense(ParameterArray)
				End Select

				ReplaceLen=Len(ReplaceStr)

				PageStr=Left(PageStr,StartTag-1)&ReplaceStr&Right(PageStr,PageLen-(EndTag+2))

				StartTag=StartTag+ReplaceLen

				PageLen=Len(PageStr)
			End If
		Loop
		
		Find_TemplateTags=PageStr
	End Function

	Public Function Find_TemplateTagValues(KeyStr,ByRef PageStr)
		Dim TempStr,PageLen
		Dim CurrentTag,StartTag,EndTag
		Dim ParameterArray

		CurrentTag=0
		StartTag=1
		PageLen=Len(PageStr)

		CurrentTag=InStr(StartTag,PageStr,"{$"&KeyStr&"(")
		If CurrentTag<>0 Then 
			StartTag=CurrentTag
			EndTag=InStr(StartTag,PageStr,")$}")

			TempStr=Mid(PageStr,StartTag+3+Len(KeyStr),EndTag-(StartTag+3+Len(KeyStr)))

			ParameterArray=Split(TempStr,",")
		End If
		
		Find_TemplateTagValues=ParameterArray
	End Function

	Public Sub Find_TemplateTagByInput(KeyStr,ReplaceStr,ByRef PageStr)
		Dim PageLen
		Dim CurrentTag,StartTag,EndTag
		Dim ReplaceLen

		CurrentTag=0
		StartTag=1
		PageLen=Len(PageStr)

		CurrentTag=InStr(StartTag,PageStr,"{$"&KeyStr&"(")
		If CurrentTag<>0 Then 
			StartTag=CurrentTag
			EndTag=InStr(StartTag,PageStr,")$}")

			ReplaceLen=Len(ReplaceStr)

			PageStr=Left(PageStr,StartTag-1)&ReplaceStr&Right(PageStr,PageLen-(EndTag+2))
		End If
	End Sub
	
	Public Function Load_MemberTopPost()
		Dim TempStr,TempArray
		Dim i
		
		TempArray=EA_DBO.Get_MemberTopPostList()
		If IsArray(TempArray) Then
			TempStr="<table border=""0"" cellpadding=""0"" cellspacing=""0"" align=""center"" width=""98%"">"
			For i=0 To UBound(TempArray,2)
				If i>=10 Then Exit For
				TempStr=TempStr&"<tr align=""center"">"
				TempStr=TempStr&"<td>"&i+1&"</td>"
				TempStr=TempStr&"<td>"&TempArray(1,i)&"</td>"
				TempStr=TempStr&"<td>"&TempArray(2,i)&"</td>"
				TempStr=TempStr&"</tr>"
			Next
			TempStr=TempStr&"</table>"
		Else
			TempStr=""
		End If
		
		Load_MemberTopPost=TempStr
	End Function
	
	Public Function Load_NewReview(Parameter)
		Dim TempStr,TempArray
		Dim i
		
		TempArray=EA_DBO.Get_Review_NewList(Parameter(0),Parameter(1))
		If IsArray(TempArray) Then 
			TempStr="<table border=""0"" cellpadding=""0"" cellspacing=""0"" align=""center"" width=""98%"">"
			For i=0 To UBound(TempArray,2)
				TempStr=TempStr&"<tr align=""center"">"
				TempStr=TempStr&"<td align=""left""><a href=""review.asp?articleid="&TempArray(0,i)&""">"&EA_Pub.Un_Full_HTMLFilter(TempArray(1,i))&"</a></td>"
				TempStr=TempStr&"<td>"&TempArray(2,i)&"</td>"
				TempStr=TempStr&"<td><font color=800000>"&TempArray(3,i)&"</font></td>"
				TempStr=TempStr&"</tr>"
			Next
			TempStr=TempStr&"</table>"
		Else
			TempStr=""
		End If
		
		Load_NewReview=TempStr
	End Function
	
	Private Function Load_AdSense(Parameter)
		Dim TempStr,Temp
		
		Temp=EA_DBO.Get_AdSense(Parameter(0))
		If IsArray(Temp) Then TempStr=Temp(1,0)
		
		Load_AdSense=TempStr
	End Function
	
	Private Function Load_Placard(Parameter)
		Dim TempArray,TempStr
		Dim i
		Dim CutStr
		
		If Parameter(1)=0 Then 
			CutStr="&nbsp;&nbsp;&nbsp;"
		Else
			CutStr="<br>"
		End If
		
		If CLng(Parameter(0))=0 Then Parameter(0)=10
		
		TempStr="<img src="""&SystemFolder&"images/public/gb.gif"" align=""absmiddle"">&nbsp;"
		
		TempArray=EA_DBO.Get_PlacardTopList(Parameter(0))
		If IsArray(TempArray) Then 
			For i=0 To UBound(TempArray,2)
				TempStr=TempStr&"<a href=""#"" onclick=""javascript:window.open('"&SystemFolder&"viewplacard.asp?postid="&TempArray(0,i)&"','','scrollbars=yes,height=350,width=550')"">"&TempArray(1,i)&"</a>&nbsp;<font color=999999>("&FormatDateTime(TempArray(2,i),2)&")</font>"&CutStr
			Next
		Else
			TempStr=TempStr&"<font color=800000>欢迎光临"&EA_Pub.SysInfo(0)&"。</font>"
		End If
		
		Load_Placard=TempStr
	End Function
	
	Private Function Load_Vote(Parameter)
		Dim Id,Title,VoteText,Mtype
		Dim Result,Content,j
		Dim TempArray
		
		TempArray=EA_DBO.Get_Vote_Info(Parameter(0))
		If IsArray(TempArray) Then 
			If TempArray(5,0)=0 Then
				Id=TempArray(0,0)
				Title=TempArray(1,0)
				VoteText=TempArray(2,0)
				Mtype=TempArray(4,0)
				
				Content=split(VoteText,"|")
				
				Result=Result&"<table width=""96%"" align=""center"" border=""0"" cellpadding=""0"" cellspacing=""2""><Form action=vote.asp method=post name=""vote_0""><tr><td>"&Title&"</td></tr>"
		
				IF Mtype=False Then
					For i=0 To Ubound(Content)
						Result=Result&"<tr><td>"
						Result=Result&"<input type='radio' name='vote' value="&i&">&nbsp;&nbsp;&nbsp;"&Content(i)
						Result=Result&"</td></tr>"
					Next
				End if

				If Mtype=True Then
					For i=0 To Ubound(Content)
						Result=Result&"<tr><td>"
						Result=Result&"<input type='checkbox' name='vote' value="&i&">&nbsp;&nbsp;&nbsp;"&Content(i)
						Result=Result&"</td></tr>"
					Next
				End if
		
				Result=Result&"<tr><td align=center><input name=votetype type=hidden value="&CInt(Mtype)&"><input name=voteid type=hidden value="&Id&"><input type=button name=submit value=投票 onclick=""window.open(submit_vote(0),'_blank','scrollbars=yes,width=645,height=380')""> <input type=button name=view value=查看 onclick=""window.open('vote.asp?VoteId="&ID&"','_blank','scrollbars=yes,width=645,height=380')""></td></tr>"
				Result=Result&"</Form></Table>"
			End If
		End If
		
		Load_Vote=Result
	End Function

	Private Function Load_Friend(Parameter)
		Dim FriendList,WidthPercent

⌨️ 快捷键说明

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