<!--#include file = "Startup.asp"-->
<!-- #include file="Function.asp" -->
<%

call adminer()
Call Header()
Call ComeUrl()

Dim Action,FoundErr,ErrMsg
Action=Trim(Request("Action"))
if Action="" then
	FoundErr=True
	ErrMsg=ErrMsg & "<br><li>参数不足</li>"
elseif Action="AddSaveNews" then
	call AddSaveNews()
elseif Action="ModifySaveNews" then
	call ModifySaveNews()
Else
	FoundErr=True
	ErrMsg=ErrMsg & "<br><li>参数错误！</li>"
end if
if founderr=true then
	call WriteErrMsg()
End if

Sub AddSaveNews()
	Dim i

	' 取提交过来的数据
	' 注意取新闻内容的方法，因为对大表单的自动处理，一定要使用循环，否则大于100K的内容将取不到，单个表单项的限制为102399字节（100K左右）
	Dim sTitle, sContent, sPicture,sTime,sClassid,sAuthor,sSource
	sTitle =Trim(Request.Form("d_title"))
	sClassid=Trim(Request.Form("d_classid"))
	sAuthor=Trim(Request.Form("d_Author"))
	sSource=Trim(Request.Form("d_Source"))
	sTime=Trim(request.form("d_time"))
	sPicture =Trim(Request.Form("d_picture"))
	jianjie=request("jianjie")
jianjie=Replace(jianjie,CHR(32),"&nbsp;")
jianjie=Replace(jianjie,CHR(10),"<br>")

	' 开始：eWebEditor编辑区取值-----------------
	sContent = ""
	For i = 1 To Request.Form("d_content").Count
		sContent = sContent & Request.Form("d_content")(i)
	Next
	'sContent = Request.Form("d_content")
	if sContent = "" then
		response.write "<script>"
		response.write "alert('系统错误');"
		response.write "history.back(1);"
		response.write "</script>"
	end if
	
	if sTitle="" then
		founderr=true
		errmsg=ErrMsg & "<br><li>新闻标题不能为空</li>"
	end if
	if sClassid="" then
		founderr=true
		errmsg=errmsg & "<br><li>新闻分类不能为空</li>"
	end if
	if sContent="" then
		founderr=true
		errmsg=errmsg & "<br><li>新闻内容不能为空</li>"
	end if
	if FoundErr=True then
		exit sub
	end if
	
	' 结束：eWebEditor编辑区取值-----------------
	

	' 以下为所有通过编辑器上传的所有文件相关信息，包括编辑区手动上传的和自动远程上传的
	' GetSafeStr函数为过滤一些特殊字符，防止有些人恶意的破坏此演示程序
	' 上传或远程获取前的原文件名，多个以"|"分隔
	Dim sOriginalFileName
	' 上传后保存到本地服闻ID
	Dim sNewsID'务器的文件名（不带路径），多个以"|"分隔
	Dim sSaveFileName
	' 上传后保存到本地服务器的路径文件名，多个以"|"分隔
	Dim sSavePathFileName
	sOriginalFileName = GetSafeStr(Request.Form("d_originalfilename"))
	sSaveFileName = GetSafeStr(Request.Form("d_savefilename"))
	sSavePathFileName = GetSafeStr(Request.Form("d_savepathfilename"))

	' 保存新闻内容，同时取出自增的新
	sSql = "SELECT * FROM NewsData WHERE D_ID=0"
	oRs.Open sSql, oConn, 1, 3
	oRs.AddNew
	oRs("D_Title") = sTitle
	oRs("D_ClassID") = sclassid
	oRs("D_Author") = sAuthor
	oRs("D_Source") = sSource
	oRs("D_Time")=sTime
	oRs("D_Editor")=session("username")
	oRs("D_Content") = sContent
	oRs("D_Picture") = sPicture
	oRs("D_OriginalFileName") = sOriginalFileName
	oRs("D_SaveFileName") = sSaveFileName
	oRs("D_SavePathFileName") = sSavePathFileName
	ors("jianjie")=jianjie
	ors("nkey1")=request("nkey1")
	ors("nkey2")=request("nkey2")
	oRs.Update
	newid=ors("D_ID")
	oRs.Close
	
	' 输出成功保存信息
	Response.Write "<p align=center>新闻添加成功，3秒后自动返回新闻添加页！<script>window.setTimeout(""location.href='News_Add.asp'"",3000);</script></p>"
	
	

End Sub

%>


<%
Sub ModifySaveNews()

	Dim i

	' 传入参数：新闻ID
	Dim sNewsID
	sNewsID = Trim(Request("id"))

	' 新闻ID有效性验证，防止有些人恶意的破坏此演示程序
	If IsNumeric(sNewsID) = False Then
		GoError "请通过页面上的链接进行操作，不要试图破坏此演示系统。"
	End If

	' 取提交过来的数据
	' 注意取新闻内容的方法，因为对大表单的自动处理，一定要使用循环，否则大于100K的内容将取不到，单个表单项的限制为102399字节（100K左右）
	Dim sTitle, sContent, sPicture,sClassid,sAuthor,sSource
	sTitle =Trim(Request.Form("d_title"))
	sClassid=Trim(Request.Form("d_classid"))
	sAuthor=Trim(Request.Form("d_Author"))
	sSource=Trim(Request.Form("d_Source"))
	sPicture =Trim(Request.Form("d_picture"))
	jianjie=Trim(Request.Form("jianjie"))



	sContent = ""
	For i = 1 To Request.Form("d_content").Count
		sContent = sContent & Request.Form("d_content")(i)
	Next
	'sContent = Request.Form("d_content")
	if sContent = "" then
		response.write "<script>"
		response.write "alert('系统错误');"
		response.write "history.back(1);"
		response.write "</script>"
	end if
	' 结束：eWebEditor编辑区取值-----------------	
	
	if sTitle="" then
		founderr=true
		errmsg=ErrMsg & "<br><li>新闻标题不能为空</li>"
	end if
	if sClassid="" then
		founderr=true
		errmsg=errmsg & "<br><li>新闻分类不能为空</li>"
	end if
	if sContent="" then
		founderr=true
		errmsg=errmsg & "<br><li>新闻内容不能为空</li>"
	end if
	if FoundErr=True then
		exit sub
	end if


	' 以下为所有通过编辑器上传的所有文件相关信息，包括编辑区手动上传的和自动远程上传的
	' GetSafeStr函数为过滤一些特殊字符，防止有些人恶意的破坏此演示程序
	' 上传或远程获取前的原文件名，多个以"|"分隔
	Dim sOriginalFileName
	' 上传后保存到本地服务器的文件名（不带路径），多个以"|"分隔
	Dim sSaveFileName
	' 上传后保存到本地服务器的路径文件名，多个以"|"分隔
	Dim sSavePathFileName
	sOriginalFileName = GetSafeStr(Request.Form("d_originalfilename"))
	sSaveFileName = GetSafeStr(Request.Form("d_savefilename"))
	sSavePathFileName = GetSafeStr(Request.Form("d_savepathfilename"))


	' 修改指定新闻内容
	sSql = "SELECT * FROM NewsData WHERE D_ID=" & sNewsID
	oRs.Open sSql, oConn, 1, 3
	If Not oRs.Eof Then
	oRs("D_Title") = sTitle
	oRs("D_ClassID") = sclassid
	oRs("D_Content") = sContent
	oRs("D_Author") = sAuthor
	oRs("D_Source") = sSource
	oRs("D_Picture") = sPicture
	oRs("D_OriginalFileName") = sOriginalFileName
	oRs("D_SaveFileName") = sSaveFileName
	oRs("D_SavePathFileName") = sSavePathFileName
	ors("nkey1")=request("nkey1")
	ors("nkey2")=request("nkey2")
	oRs("D_Time")=request("d_Time")
	ors("jianjie")=jianjie
	oRs.Update
	newid=ors("D_ID")
	Else
		GoError "无效的新闻ID，请点页面上的链接进行操作！"
	End If
	oRs.Close

	Response.Write "<p align=center>新闻（ID：" & sNewsID & "）修改保存成功，3秒后自动返回新闻修改页！<script>window.setTimeout(""location.href='News_Modify.asp?id=" & sNewsID & "'"",3000);</script></p>"
	
End Sub
%> 
