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

📄 bloginterface.asp

📁 电子备课系统
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#include file="../inc/inc_syssite.asp"-->
<!--#include file="../inc/md5.asp"-->
<!--#include file="../inc/class_blog.asp"-->
<!--#include file="../inc/class_Trackback.asp"-->
<%
Dim afxDebug
Const MAX_GETRECENTPOSTS_NUM				= 0		'getRecentPosts最多允许的文章数量,0为不限制
Const MAX_PUBLISHSPACE_TIME					= 10		'两次发布文章最小时间间隔 单位/秒, 0为不限制
'无效Const MAX_UPLOADFILESPACE_TIME				= 0		'两次上传文件最小时间间隔 单位/秒, 0为不限制

Const UPLOADFILE_SIGN						= true	'是否允许上传文件.

Const ERROR_NOT_LEGAL_XMLREQUEST			= 1		'不是有效格式的XML请求
Const ERROR_UNKNOW_BLOGAPIMETHOD			= 2		'未知的BlogAPI方法
Const ERROR_NOT_LEGAL_USER					= 3		'用户名或密码错误
Const ERROR_NOT_EXIST_ARTICLE				= 4		'要修改的文章不存在
Const ERROR_ACCESS_DATABASE_FAILED			= 5		'ASP端数据库操作失败
Const ERROR_NOT_LEGAL_TITLE					= 6		'标题为空或大于100
Const ERROR_NOT_LEGAL_CONTENT				= 7		'内容为空或过长oblog.setup(75,0)
Const ERROR_NOT_LEGAL_KEYWORD				= 8		'内容中含有不合法的关键字
Const ERROR_FORBID_UPLOADFILE				= 9		'当前系统设置不允许上传文件
Const ERROR_NOSPACE_FOR_UPLOADFILE			= 10	'上传空间已满,不允许上传文件,请整理上传文档
Const ERROR_NOT_LEGAL_GETRECENTPOSTS_NUM	= 11	'超过允许的获取文章数量
Const ERROR_NOT_LEGAL_PUBLISHSPACE_TIME		= 12	'不符合允许发布的最小时间间隔
Const ERROR_SHUTDOWN_UPLOADFILE				= 13	'不允许上传文件
Const ERROR_SHUTDOWN_UPLOADFILE_1			= 14	'单个文件尺寸超过限制
Const ERROR_SHUTDOWN_UPLOADFILE_2			= 15	'不是合法的上传类型
Const ERROR_LOCKIP							= 16	'用户ip被锁定
Const ERROR_NOT_ADDPOST						= 17	'系统禁止发布日志
Const ERROR_GROUP_ISPOSTMAX					= 18	'用户所在用户组每天发布的日志达到上限

Function ErrorDetail(faultCode)
	select Case faultCode
		Case 1
			ErrorDetail = "不是有效格式的XML请求"
		Case 2
			ErrorDetail = "未知的BlogAPI方法"
		Case 3
			ErrorDetail = "用户名或密码错误"
		Case 4
			ErrorDetail = "要修改的文章不存在"
		Case 5
			ErrorDetail = "ASP端数据库操作失败"
		Case 6
			ErrorDetail = "标题为空或大于100"
		Case 7
			ErrorDetail = "内容为空或过长(不超过" & oblog.CacheConfig(34) & ")"
		Case 8
			ErrorDetail = "内容中含有不合法的关键字"
		Case 9
			ErrorDetail = "当前系统设置不允许上传文件" & afxDebug
		Case 10
			ErrorDetail = "上传空间已满,不允许上传文件,请整理上传文档"
		Case 11
			ErrorDetail = "超过允许获取的最多文章数量"
		Case 12
			ErrorDetail = "不符合允许的两次发布文章的最小时间间隔"
		Case 13
			ErrorDetail = "当前设置不允许上传文件"
		Case 14
			ErrorDetail = "文件尺寸超过限制"
		Case 15
			ErrorDetail = "不是合法的上传类型"
		Case 16
			ErrorDetail = "用户IP被锁定"
		Case 17
			ErrorDetail = "系统临时禁止发布日志"
		Case 18
			ErrorDetail = "超过每日发布日志上限"
		Case Else
			ErrorDetail = "调试代码" & afxDebug
	End select

End Function


Function ResponseError(faultCode)

	Dim strXML
	Dim strError

	strXML="<?xml version=""1.0"" encoding=""gb2312""?><methodResponse><fault><value><struct><member><name>faultCode</name><value><int>$1</int></value></member><member><name>faultString</name><value><string>$2</string></value></member></struct></value></fault></methodResponse>"

	strError=strXML
	strError=Replace(strError,"$1",TransferHTML(faultCode,"[<][>][&][""]"))
	strError=Replace(strError,"$2",TransferHTML(ErrorDetail(faultCode),"[<][>][&][""]"))

	Response.Clear
	Response.Write strError
	Response.End

	conn.Close
	Set conn = Nothing
End Function


Function TransferHTML(source,para)
	On Error Resume Next
	Dim objRegExp

	'先换"&"
	If Instr(para,"[&]")>0 Then  source=Replace(source,"&","&amp;")
	If Instr(para,"[<]")>0 Then  source=Replace(source,"<","&lt;")
	If Instr(para,"[>]")>0 Then  source=Replace(source,">","&gt;")
	If Instr(para,"[""]")>0 Then source=Replace(source,"""","&quot;")
	If Instr(para,"[space]")>0 Then source=Replace(source," ","&nbsp;")
	If Instr(para,"[enter]")>0 Then
		source=Replace(source,vbCrLf,"<br/>")
		source=Replace(source,vbLf,"<br/>")
	End If

	TransferHTML=source

End Function


Function FilterSQL(strSQL)

	FilterSQL=CStr(Replace(strSQL,chr(39),chr(39)&chr(39)))

End Function


Function GetGeneralCategories()

	GetGeneralCategories = False
	Dim i
	Dim aryAllData
	Dim arySingleData()
	Dim rs

	Erase GeneralCategories

	set rs=Server.CreateObject("adodb.recordset")
	rs.open "select [subjectid],[subjectname],[subjectname],[ordernum],[subjectlognum] FROM [oblog_subject] where userid="&objUser.id,conn,1,1
	If (Not rs.bof) And (Not rs.eof) Then
		i=rs.RecordCount
		ReDim GeneralCategories(i)
		aryAllData = rs.GetRows()
		rs.Close
		Set rs = Nothing
		'k = UBound(aryAllData,0)
		'l = UBound(aryAllData,1)
		For i = 0 To i-1
			Set GeneralCategories(i) = New BlogCategory
			GeneralCategories(i).LoadInfoByArray(Array(aryAllData(0,i),aryAllData(1,i),aryAllData(2,i),aryAllData(3,i),aryAllData(4,i)))
		Next
	else
		rs.close
		set rs=nothing
	End If

	GetGeneralCategories = True

End Function


Function GetSystemCategories()

	GetSystemCategories = False
	Dim i
	Dim aryAllData
	Dim arySingleData()
	Dim rs

	Erase SystemCategories

	set rs=Server.CreateObject("adodb.recordset")
	rs.open "select [classid],[classname],[classname],[ordernum],[classlognum] FROM [oblog_logclass] WHERE idType = 0",conn,1,1
	If (Not rs.bof) And (Not rs.eof) Then
		i=rs.RecordCount
		ReDim SystemCategories(i)
		aryAllData = rs.GetRows()
		rs.Close
		Set rs = Nothing
		'k = UBound(aryAllData,0)
		'l = UBound(aryAllData,1)
		For i = 0 To i-1
			Set SystemCategories(i) = New BlogCategory
			SystemCategories(i).LoadInfoByArray(Array(aryAllData(0,i),aryAllData(1,i),aryAllData(2,i),aryAllData(3,i),aryAllData(4,i)))
		Next
	else
		rs.close
		set rs=nothing
	End If

	GetSystemCategories = True

End Function


Sub deloneblog(logid)
	Dim truedel,wsql
	truedel = false
	wsql=" and ( userid="&objUser.Id&" or authorid="&objUser.Id&" )"

    logid = Int(logid)
    Dim uid, delname, rst, fso, sid,Scores
    Set rst = Server.CreateObject("adodb.recordset")
    If Not IsObject(conn) Then link_database
    rst.open "select userid,logfile,subjectid,logtype,scores,isdel from oblog_log where logid="&logid&wsql,conn,1,3
    If rst.Eof Then
        rst.Close
        Set rst = Nothing
        Exit Sub
    End If
	uid = rst(0)
	delname = Trim(rst(1))
	sid = rst(2)
	'清理图片记录,已取消
'	If rst("logtype") = 1 Then
'	    Call DeletePhotos(logid)
'	End If
	'真实域名需要重新整理文件数据
	'物理文件即时删除
	If true_domain = 1 And delname <> "" Then
	    If InStr(delname, "archives") Then
	        delname = Right(delname, Len(delname) - InStrRev(delname, "archives") + 1)
	    Else
	        delname = Right(delname, Len(delname) - InStrRev(delname, "/"))
	    End If
	    delname=oblog.l_udir&"/"&oblog.l_ufolder&"/"&delname
	    'Response.write(delname)
	    'Response.end
	End If
	If delname <> "" Then
	    Set fso = Server.CreateObject(oblog.CacheCompont(1))
	    If fso.FileExists(Server.MapPath(delname)) Then fso.DeleteFile Server.MapPath(delname)
	End If
	Scores=OB_IIF(rst("scores"),0)
	'回收与删除
	'Response.Write(truedel)
	'Response.End()
	If not truedel Then
		rst("isdel")=1
		rst.Update
	Else
		rst.Delete
	End If
	rst.Close
	'--------------------------------------------
	Call Tags_UserDelete(logid)
	'更新计数器
	oblog.Execute ("update oblog_user set log_count=log_count-1 where userid=" & uid)
	If not truedel Then
		oblog.Execute ("Update oblog_comment Set isdel=1 where mainid=" & Int(logid))
	Else
		oblog.Execute ("delete from oblog_comment where mainid=" & Int(logid))
	End If
	oblog.Execute ("update oblog_subject set subjectlognum=subjectlognum-1 where subjectid=" & Int(sid))
	'删除积分
	Call oblog.GiveScore("",-1*Abs(oblog.CacheScores(3)),"")
	'--------------------------------------------
	Dim blog
	Set blog = New class_blog
	blog.userid = uid
	blog.Update_Subject uid
	blog.Update_index 0
	blog.Update_newblog (uid)
	Set blog = Nothing
	Set fso = Nothing
	Set rst = Nothing
End Sub


Class BlogUser

	Public Name
	Public Password
	Public Id
	Public Url

	Public Function Verify()

		Dim strUserName
		Dim strPassWord
		Dim TruePassWord
		TruePassWord = RndPassword(16)

		Verify = False
		strUserName = FilterSQL(Name)
		strPassWord = FilterSQL(Password)		
		oblog.Execute ("UPDATE oblog_user SET TruePassWord = '"&TruePassWord&"' WHERE username = '"&strUserName&"' AND password = '"&strPassWord&"'")
		oblog.SaveCookie strUserName, TruePassWord, 0
		'afxDebug=oblog.checkuserlogined()
		if oblog.checkuserlogined() then
			Id = oblog.l_uid
			Verify = True
		else
			Verify = False
		end if
	End Function

End Class


Class BlogCategory

	Public Id
	Public Name
	Public Intro
	Public Order
	Public Count

	Public Function LoadInfoByArray(aryCateInfo)

		If IsArray(aryCateInfo) = True Then
			Id		= aryCateInfo(0)
			Name	= aryCateInfo(1)
			Intro	= aryCateInfo(2)
			Order	= aryCateInfo(3)
			Count	= aryCateInfo(4)
		End If

		If IsNull(Intro) Then
			Intro=""
		End If

		LoadInfoByArray=True

	End Function

End Class


Class BlogArticle

	Public Id

	Public Topic
	Public Log_Text
	Public Face
	Public AddTime
	Public Tags
	Public Trackback

	Public ClassId
	Public SubjectId
	Public AuthorID
	Public Author
	Public UserId


	Public IsHide
	Public IsTop
	Public TbUrl
	Public LogType
	Public IsEncomment
	Public Abstract
	Public IsPassword
	Public PassCheck
	Public IsDraft
	Public Iis
	Public CommentNum
	Public TrackbackNum
	Public Blog_Password
	Public TrueTime

	Private Function SetDefaultData()

		Topic			= EncodeJP(oblog.filt_astr(Topic,250))
		Log_Text		= EncodeJP(oblog.filtpath(oblog.filt_badword(Log_Text)))
		Face			= 0
		'AddTime			=		'xml传入
		If ClassId = "" Then ClassId = 0 End If		'xml传入
		If SubjectId = "" Then SubjectId = 0 End If	'xml传入
		'AuthorID		=		'由全局变量传入
		'Author			=		'由全局变量传入
		'UserId			=		'由全局变量传入
		IsHide			= 0
		IsTop			= 0
		TbUrl			= ""
		LogType			= 0
		IsEncomment		= 1
		'Abstract		=		'由xml传入
		IsPassword		= ""
		If oblog.l_Group(11,0) = 1 Then'日志需要管理员审核后才可见
			PassCheck = 0
		Else
			PassCheck = 1
		End If
		'IsDraft		= 		'是否为草稿,由xml传入
		Iis				= 0
		CommentNum		= 0
		TrackbackNum	= 0
		Blog_Password	= 0
		TrueTime		= Now()
		'Tags			=		'由xml传入
		'TrackBack		=		'由xml传入

	End Function

	Public Function AddNew()

		AddNew = False
		'系统临时禁止发布日志
		If Application(cache_name_user&"_systemenmod")<>"" Then
			Dim enStr
			enStr=Application(cache_name_user&"_systemenmod")
			enStr=Split(enStr,",")
			If enStr(2)="1" Then ResponseError(ERROR_NOT_ADDPOST):Exit Function
		End If

		SetDefaultData()

		'标题为空或大于100
		If Topic = "" Or StrLength(Topic) > 100 Then
			ResponseError(ERROR_NOT_LEGAL_TITLE)
			Exit Function
		End If
		'内容为空或大于oblog.setup(75,0)
		If Log_Text = "" Or StrLength(Log_Text)>oblog.cacheconfig(34) Then
			ResponseError(ERROR_NOT_LEGAL_CONTENT)
			Exit Function
		End If
		'内容中含有系统不允许发布的关键字
		If oblog.chk_badword(Log_Text) > 0 Then
			ResponseError(ERROR_NOT_LEGAL_KEYWORD)
			Exit Function
		End If

		If StrLength(Tags) > 255 Then'Tags大于255字符置0

⌨️ 快捷键说明

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