www.gusucode.com > CC校友录贴吧 CCBar源码程序asp编程 > inc/logic/logic_content.asp

    <%
''===================================================================
'= ASP FILENAME	: /inc/logic/logic_content.asp
'= CREATED TIME : 2006-5-8
'= LAST MODIFIED: 2006-5-8
'= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com
'= DESCRIPTION  : 内容系统管理
'= Change Log:
'==================================================================='
%>

<%
'== Const define
Const CONST_SORT_NOT_DEFAULT = 1	'== 非默认分类
Const CONST_SORT_DEFAULT = 0		'== 默认分类

Const CONST_SORT_OPEN = 0			'== 分类开启状态
Const CONST_SORT_CLOSE = 1			'== 分类关闭状态


''===================================================================
'= Function    : GetArticlesLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : strWhere : 符合条件
'= Return      : boolean
'= Description : 取得文章集
'==================================================================='
Function GetArticlesLogic(strWhere)
	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_ORDER,ARTICLE_SORT_ID,ARTICLE_ORDER,ARTICLE_ADD_TIME,ARTICLE_HITS FROM CLASS_ARTICLE  WHERE 1=1 " & strWhere & " ORDER BY ARTICLE_ORDER DESC,ARTICLE_ID DESC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetArticlesLogic = False
		Exit Function
	End If
	GetArticlesLogic = True
End Function

''===================================================================
'= Function    : GetArticleLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : intArticleId : 文章ID
'= Return      : boolean
'= Description : 取单个文章记录 
'==================================================================='
Function GetArticleLogic(intArticleId)
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_ARTICLE"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "ARTICLE_ID",""
	GBL_objPubDB.AddField "ARTICLE_TITLE",""
	GBL_objPubDB.AddField "ARTICLE_CONTENT",""
	GBL_objPubDB.AddField "ARTICLE_ADD_TIME",""
	GBL_objPubDB.AddField "ARTICLE_HITS",""
	GBL_objPubDB.AddField "ARTICLE_SORT_ID",""
	GBL_objPubDB.AddField "ARTICLE_ORDER",""
	GBL_objPubDB.AddField "ARTICLE_KEY",""
	GBL_objPubDB.Where = "ARTICLE_ID=" & intArticleId
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetArticleLogic = False
		Exit Function
	End If
	GetArticleLogic = True
End Function

'===================================================================
'= Function    : GetHomeArticles()
'= Time		   : Created At 2007-7-3
'= Input	   : intSortId 
'= Return      : boolean
'= Description : 首页取得文章记录集
'==================================================================='
Function GetHomeArticles(strTop,intSortId)
	Dim arr 

	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT " & strTop & " ARTICLE_ID,ARTICLE_TITLE, ARTICLE_ADD_TIME FROM CLASS_ARTICLE WHERE ARTICLE_SORT_ID=" & intSortId &  " ORDER BY  ARTICLE_ORDER DESC,ARTICLE_ID DESC  "
	
	If Not GBL_objPubDB.SQLRSExecute() Then
		arr = "null"
	Else
		If GBL_objPubDB.intRSNum <= 0 Then
			arr = "null"
		Else
			arr = GBL_objPubDB.objPubRS.GetRows()
		End If
		
	End If

	GetHomeArticles = arr 

End Function

'===================================================================
'= Function    : GetHomeSorts()
'= Time		   : Created At 2007-7-3
'= Input	   : intSortId 
'= Return      : boolean
'= Description : 首页取得专题栏目记录集
'==================================================================='
Function GetHomeSorts()
	Dim arr 

	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT SORT_NAME,SORT_NAME AS SORT_LOGO,SORT_DESC,SORT_ARTICLE_NUM,SORT_ID FROM CLASS_SORT WHERE SORT_IS_OPEN=0 ORDER BY SORT_ORDER DESC,SORT_ID DESC"
	
	If Not GBL_objPubDB.SQLRSExecute() Then
		arr = "null"
	Else
		If GBL_objPubDB.intRSNum <= 0 Then
			arr = "null"
		Else
			arr = GBL_objPubDB.objPubRS.GetRows()
		End If
	End If

	GetHomeSorts = arr 
End Function

''===================================================================
'= Function    : SaveArticleLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : intAdminId :  操作管理员ID
'= Input	   : intArticleId : ""--add other--edit
'= Input	   : objFormData : 表单数据
'= Return      : boolean
'= Description : 添加/编辑文章
'==================================================================='
Function SaveArticleLogic(intAdminId,intArticleId,objFormData)
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_ARTICLE"
	If intArticleId = "" Then
		GBL_objPubDB.SQLType = "INSERT"
		GBL_objPubDB.AddField "ARTICLE_ADD_TIME",Now()
		GBL_objPubDB.AddField "ARTICLE_ADD_ADMIN_ID",intAdminId
	Else
		GBL_objPubDB.SQLType = "UPDATE"
	End If
	GBL_objPubDB.AddField "ARTICLE_CONTENT",objFormData.Item("Content")
	GBL_objPubDB.AddField "ARTICLE_TITLE",objFormData.Item("Title")
	GBL_objPubDB.AddField "ARTICLE_KEY",objFormData.Item("Key")
	GBL_objPubDB.AddField "ARTICLE_ORDER",objFormData.Item("Order")
	GBL_objPubDB.AddField "ARTICLE_LAST_TIME",Now()
	GBL_objPubDB.AddField "ARTICLE_LAST_ADMIN_ID",intAdminId
	GBL_objPubDB.AddField "ARTICLE_SORT_ID",objFormData.Item("SortId")

	If intArticleId <> "" Then GBL_objPubDB.Where = "ARTICLE_ID=" & intArticleId

	If Not GBL_objPubDB.SQLExecute() Then
		SaveArticleLogic = False
		Exit Function
	End If

	'== 重新统计文章数
	If Not StatArticleNum(objFormData.Item("SortId")) Then 
		SaveArticleLogic = False
		Exit Function
	End If

	SaveArticleLogic = True
End Function

''===================================================================
'= Function    : RemoveArticlesLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : strWhere : 删除条件
'= Input	   : intSortId : 分类id
'= Return      : boolean
'= Description : 删除文章
'==================================================================='
Function RemoveArticlesLogic(strWhere,intSortId)	
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_ARTICLE"
	GBL_objPubDB.SQLType = "DELETE"
	GBL_objPubDB.Where = " 1=1 " & strWhere
	If Not GBL_objPubDB.SQLRSExecute() Then
		RemoveArticlesLogic = False
		Exit Function
	End If

	If intSortId <> "" Then
		'== 重新统计文章数
		If Not StatArticleNum(intSortId) Then 
			RemoveArticlesLogic = False
			Exit Function
		End If
	End If

	RemoveArticlesLogic = True
End Function

''===================================================================
'= Function    : GetSortsLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : strWhere : 符合条件
'= Return      : boolean
'= Description : 取得文章类型集
'==================================================================='
Function GetSortsLogic(strWhere)
	GBL_objPubDB.Clear()
	GBL_objPubDB.AllSQL = "SELECT SORT_ID,SORT_NAME,SORT_ADD_TIME,SORT_IS_OPEN,SORT_ORDER,SORT_DESC,SORT_IS_DEFAULT,SORT_ARTICLE_NUM FROM CLASS_SORT WHERE 1=1 " & strWhere & " ORDER BY SORT_ORDER DESC,SORT_ID DESC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetSortsLogic = False
		Exit Function
	End If
	GetSortsLogic = True
End Function

''===================================================================
'= Function    : GetSortLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : intSortId : 信息分类ID
'= Return      : boolean
'= Description : 取单个类型记录 
'==================================================================='
Function GetSortLogic(intSortId)
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_SORT"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "SORT_ID",""
	GBL_objPubDB.AddField "SORT_NAME",""
	GBL_objPubDB.AddField "SORT_ORDER",""
	GBL_objPubDB.AddField "SORT_DESC",""
	GBL_objPubDB.AddField "SORT_ADD_TIME",""
	GBL_objPubDB.AddField "SORT_ARTICLE_NUM",""
	GBL_objPubDB.AddField "SORT_IS_OPEN",""
	GBL_objPubDB.Where = "SORT_ID=" & intSortId
	If Not GBL_objPubDB.SQLRSExecute() Then
		GetSortLogic = False
		Exit Function
	End If
	GetSortLogic = True
End Function

''===================================================================
'= Function    : SaveSortLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : intAdminId :  操作管理员ID
'= Input	   : intSortId : ""--add other--edit
'= Input	   : objFormData : 表单数据
'= Return      : boolean
'= Description : 添加/编辑文章类型
'==================================================================='
Function SaveSortLogic(intAdminId,intSortId,objFormData)

	'== 校验是否重复
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_SORT"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "SORT_ID",""
	If intSortId = "" Then
		GBL_objPubDB.Where = "SORT_NAME='" & objFormData.Item("Name") & "'"
	Else
		GBL_objPubDB.Where = "SORT_NAME='" & objFormData.Item("Name") & "' AND SORT_ID <>" & intSortId
	End If
	If Not GBL_objPubDB.SQLRSExecute() Then
		SaveSortLogic = False
		Exit Function
	End If
	If GBL_objPubDB.intRSNum > 0 Then
		Call GBL_objException.catchErr(E_USER_PUB,"该信息分类名(" & objFormData.Item("Name") & ")已存在")
		SaveSortLogic = False
		Exit Function
	End If

	'== 保存记录
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_SORT"
	If intSortId = "" Then
		GBL_objPubDB.SQLType = "INSERT"
		GBL_objPubDB.AddField "SORT_ADD_TIME",Now()
		GBL_objPubDB.AddField "SORT_ADD_ADMIN_ID",intAdminId
		GBL_objPubDB.AddField "SORT_IS_DEFAULT",CONST_SORT_NOT_DEFAULT
	Else
		GBL_objPubDB.SQLType = "UPDATE"
	End If
	GBL_objPubDB.AddField "SORT_NAME",objFormData.Item("Name")
	GBL_objPubDB.AddField "SORT_DESC",objFormData.Item("Desc")
	GBL_objPubDB.AddField "SORT_ORDER",objFormData.Item("Order")
	GBL_objPubDB.AddField "SORT_LAST_TIME",Now()
	GBL_objPubDB.AddField "SORT_LAST_ADMIN_ID",intAdminId
	GBL_objPubDB.AddField "SORT_IS_OPEN",objFormData.Item("IsOpen")
	
	If intSortId <> "" Then GBL_objPubDB.Where = "SORT_ID=" & intSortId

	If Not GBL_objPubDB.SQLExecute() Then
		SaveSortLogic = False
		Exit Function
	End If
	SaveSortLogic = True
End Function

''===================================================================
'= Function    : RemoveSortsLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : strWhere : 删除条件
'= Return      : boolean
'= Description : 删除信息分类
'==================================================================='
Function RemoveSortsLogic(strWhere)	
	Dim strSql

	'== 该分类是否可以删除
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_SORT"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "SORT_NAME",""
	GBL_objPubDB.Where = "1=1 " & strWhere & " AND SORT_IS_DEFAULT=" & CONST_SORT_DEFAULT
	If Not GBL_objPubDB.SQLRSExecute() Then
		RemoveSortsLogic = False
		Exit Function
	End If
	If GBL_objPubDB.intRSNum > 0 Then
		Call GBL_objException.catchErr(E_USER_PUB,"存在默认分类("&GBL_objPubDB.objPubRS("SORT_NAME")& "),不能进行删除操作")
		RemoveSortsLogic = False
		Exit Function
	End If

	'== 删除文章
	strSql = " AND ARTICLE_SORT_ID IN (SELECT SORT_ID FROM CLASS_SORT WHERE 1=1 " & strWhere & ")"
	If Not RemoveArticlesLogic(strSql,"") Then 
		RemoveSortsLogic = False
		Exit Function
	End If

	'== 删除分类记录
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_SORT"
	GBL_objPubDB.SQLType = "DELETE"
	GBL_objPubDB.Where = " 1=1 " & strWhere
	If Not GBL_objPubDB.SQLRSExecute() Then
		RemoveSortsLogic = False
		Exit Function
	End If
	RemoveSortsLogic = True
End Function

''===================================================================
'= Function    : StatArticleNum()
'= Time		   : Created At 2006-5-8
'= Input	   : intSortId
'= Return      : boolean
'= Description : 统计某一信息分类的数目并更新
'==================================================================='
Function StatArticleNum(intSortId)
	Dim intArticleNum

	'== 取得数目
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_ARTICLE"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "COUNT(ARTICLE_ID)",""
	GBL_objPubDB.Where = "ARTICLE_SORT_ID=" & intSortId
	If Not GBL_objPubDB.SQLRSExecute() Then
		StatArticleNum = False
		Exit Function
	End If
	intArticleNum = GBL_objPubDB.objPubRS(0)

	'== 更新记录
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_SORT"
	GBL_objPubDB.SQLType = "UPDATE"
	GBL_objPubDB.AddField "SORT_ARTICLE_NUM",intArticleNum
	GBL_objPubDB.Where = "SORT_ID=" & intSortId
	If Not GBL_objPubDB.SQLExecute() Then
		StatArticleNum = False
		Exit Function
	End If

	StatArticleNum = True
End Function

''===================================================================
'= Function    : GetSortIsDefaultLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : intValue : 信息分类的数字
'= Return      : 信息分类默认的中文含义
'= Description : 取信息分类是否默认
'==================================================================='
Function GetSortIsDefaultLogic(intValue)
	Dim strTmp
	Select Case intValue
		Case CONST_SORT_DEFAULT:
			strTmp = "默认分类"
		Case CONST_SORT_NOT_DEFAULT:
			strTmp = "非默认分类"
		Case CONST_SORT_NOT_DEFAULT:
			strTmp = "非默认分类"
	End Select
	GetSortIsDefaultLogic = strTmp
End Function


''===================================================================
'= Function    : GetSortOpenLogic()
'= Time		   : Created At 2006-5-8
'= Input	   : intValue : 信息分类的状态
'= Return      : 信息分类的状态的中文含义
'= Description : 取信息分类的状态
'==================================================================='
Function GetSortOpenLogic(intValue)
	Dim strTmp
	Select Case intValue
		Case CONST_SORT_OPEN:
			strTmp = "开启"
		Case CONST_SORT_CLOSE:
			strTmp = "关闭"
		Case CONST_SORT_OPEN:
			strTmp = "开启"
	End Select
	GetSortOpenLogic = strTmp
End Function

''===================================================================
'= Function    : GetArticleNavLogic()
'= Time		   : Created At 2006-5-9
'= Input	   : strWhere : 符合条件
'= Input	   : intNowId : 当前文章ID
'= Input	   : strUrl : url地址
'= Return      : html
'= Description : 构造文件导航条
'==================================================================='
Function GetArticleNavLogic(intNowId,strWhere,strUrl)
	Dim strTmp

	'== 上一篇
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_ARTICLE"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "TOP 1 ARTICLE_TITLE",""
	GBL_objPubDB.AddField "ARTICLE_SORT_ID",""
	GBL_objPubDB.AddField "ARTICLE_ID",""
	GBL_objPubDB.Where = " 1=1 " & strWhere & " AND ARTICLE_ID>" & intNowId
	GBL_objPubDB.Order = "ARTICLE_ORDER DESC,ARTICLE_ID ASC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		strTmp = ""
	End If
	If GBL_objPubDB.intRSNum > 0 Then
		strTmp = strTmp & "<a href=""" & strUrl & "?intArticleId=" & GBL_objPubDB.objPubRS("ARTICLE_ID") & "&intSortId=" & GBL_objPubDB.objPubRS("ARTICLE_SORT_ID") & """>" & "上一篇:" & GBL_objPubDB.objPubRS("ARTICLE_TITLE") & "</a><br>"
	Else
		strTmp = strTmp & "上一篇:已经没有了<br>"
	End If

	'== 下一篇
	GBL_objPubDB.Clear()
	GBL_objPubDB.TableName = "CLASS_ARTICLE"
	GBL_objPubDB.SQLType = "SELECT"
	GBL_objPubDB.AddField "TOP 1  ARTICLE_TITLE",""
	GBL_objPubDB.AddField "ARTICLE_SORT_ID",""
	GBL_objPubDB.AddField "ARTICLE_ID",""
	GBL_objPubDB.Where = " 1=1 " & strWhere & " AND ARTICLE_ID<" & intNowId
	GBL_objPubDB.Order = "ARTICLE_ORDER DESC,ARTICLE_ID DESC"
	If Not GBL_objPubDB.SQLRSExecute() Then
		strTmp = strTmp & ""
	End If
	If GBL_objPubDB.intRSNum > 0 Then
		strTmp = strTmp & "<a href=""" & strUrl & "?intArticleId=" & GBL_objPubDB.objPubRS("ARTICLE_ID") & "&intSortId=" & GBL_objPubDB.objPubRS("ARTICLE_SORT_ID") & """>" & "下一篇:" & GBL_objPubDB.objPubRS("ARTICLE_TITLE") & "</a><br>"
	Else
		strTmp = strTmp & "下一篇:已经没有了"
	End If

	GetArticleNavLogic = strTmp
End Function
%>