newsadd2.asp

来自「纪念伟大领袖的专题网站」· ASP 代码 · 共 380 行

ASP
380
字号
<!--#include file="conn.asp"-->
<!--#include file="ConnUser.asp"-->
<!--#include file="config.asp"-->
<!--#include file="char.inc"-->
<!--#include file="chkuser.asp"-->
<%
dim SavePath,SaveSecondPath,FileExtPath

SaveSecondPath=year(now)&"-"&month(now)
FileExtPath="gethttppic"				'偷图存放的二级分类目录
SavePath = FileUploadPath   '存放上传文件的目录
if right(SavePath,1)<>"/" then SavePath=SavePath&"/" '在目录后加(/)

Dim strData
Dim intFieldCount
Dim i

intFieldCount = Request.Form("hdnCount")

For i=1 To intFieldCount
	content = content & Request.Form("hdnBigfield" & i)
Next

'删除被添加的本站WEB路径,即将引用本站资源的绝对改为相对路径
if Request.ServerVariables("SERVER_PORT")="80" then
	weburl="http://"& Cstr(Request.ServerVariables("SERVER_NAME")) & Cstr(Request.ServerVariables("url"))
else
	weburl="http://"& Cstr(Request.ServerVariables("SERVER_NAME")) &":"& Request.ServerVariables("SERVER_PORT") & Cstr(Request.ServerVariables("url"))
end if

'注意,下一行中被替换字符串应为实际的本文件名
weburl=replace(weburl,"NewsAdd2.asp","",1,-1,1)
content=replace(content,weburl,"",1,-1,1)
'替换系统设定的weburl
content=replace(content,"http://"&xpurl&"/","",1,-1,1)

PicUrl=Request.Form("PicUrl")

Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<img.+?>"
strs=trim(content)

'是否偷图
if request.Form("getphoto")="1" then
	Set Matches =objRegExp.Execute(strs)
	For Each Match in Matches
		RetStr = RetStr &getimgs( Match.Value )
	Next 
end if 

function getimgs(str)
	getimgs=""
	Set objRegExp1 = New Regexp
	objRegExp1.IgnoreCase = True
	objRegExp1.Global = True
	objRegExp1.Pattern = "http://.+?"""
	set mm=objRegExp1.Execute(str)
	For Each Match1 in mm
		getimgs=getimgs&"||"&left(Match1.Value,len(Match1.Value)-1)
	next
end function

function getHTTPPage(url)
	on error resume next
	dim http

	ServePath=server.mappath(SavePath)
	Set fso=server.createobject("scripting.filesystemobject")

	if fso.FolderExists(ServePath) then
		'检查Config.asp中设置的上传目录,无则自动建立
	else
    Set f = fso.CreateFolder(ServePath)
    set f=nothing
	End if
	
	if fso.FolderExists(ServePath &"\"& FileExtPath) then
		'检查上传目录有没有上传文件类型(扩展名)目录,无则自动建立
	else
    Set f = fso.CreateFolder(ServePath &"\"& FileExtPath)
    set f=nothing
	End if

	if fso.FolderExists(ServePath &"\"& FileExtPath &"\"& SaveSecondPath) then
		'检查上传目录有没有本年月目录,无则自动建立
	else
    Set f = fso.CreateFolder(ServePath &"\"& FileExtPath &"\"& SaveSecondPath)
    set f=nothing
	End if
	set fso=nothing

	set http=server.createobject("MSXML2.XMLHTTP")
	Http.open "GET",url,false
	Http.send()
	if Http.readystate<>4 then 
		exit function
	end if
	getHTTPPage=Http.responseBody
	set http=nothing
	if err.number<>0 then err.Clear 
		end function
		arrimg=split(retstr,"||")
		allimg=""
		newimg=""
		for i=1 to ubound(arrimg)
			if arrimg(i)<>"" and instr(allimg,arrimg(i))<1 then
				randomize
				ranNum=int(900*rnd)+100
				SaveFileName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&cstr(i&mid(arrimg(i),instrrev(arrimg(i),".")))
				fname=SavePath & FileExtPath &"/"& SaveSecondPath &"/"& SaveFileName

				dim geturl,objStream,imgs
				geturl=trim(arrimg(i))
				imgs=gethttppage(geturl)
				Set objStream = Server.CreateObject("ADODB.Stream")
				objStream.Type =1
				objStream.Open
				objstream.write imgs
				objstream.SaveToFile server.mappath(fname),2
				objstream.Close()
				set objstream=nothing
				allimg=allimg&"||"&arrimg(i)
				newimg=newimg&"||"&fname
			end if
		next
		arrnew=split(newimg,"||")
		arrall=split(allimg,"||")
		for i=1 to ubound(arrnew)
			arrnew(i)=replace(arrnew(i),""& FileUploadPath,FileUploadPath)
			strs=replace(strs,arrall(i),arrnew(i))
			arrnew(i)=replace(arrnew(i),FileUploadPath,"")
			if PicUrl=arrall(i) then
				PicUrl=arrnew(i)
			end if
		next
		content=strs
		if left(Picurl,4)="http" then
			randomize
			ranNum=int(900*rnd)+100
			SaveFileName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&cstr(i&mid(Picurl,instrrev(Picurl,".")))
			fname=SavePath & FileExtPath &"/"& SaveSecondPath &"/"& SaveFileName

			dim imgsa
			imgsa=gethttppage(Picurl)
			Set objStream = Server.CreateObject("ADODB.Stream")
			objStream.Type =1
			objStream.Open
			objstream.write imgsa
			objstream.SaveToFile server.mappath(fname),2
			objstream.Close()
			set objstream=nothing
			aassss=Picurl
			Picurl=fname
			Picurl=replace(Picurl,FileUploadPath,"")
			aassss1=Picurl
			content=replace(content,aassss,FileUploadPath & Picurl)
		end if
		if Content="" then
			Show_Err("请输入文章内容!<br><br><a href='javascript:history.back()'>返回</a>")
			response.end
		end if
		if request.cookies(Forcast_SN)("key")="super" then
			if request("viewhtml")<>"" then 
				Show_Err("请取消查看HTML源代码后再添加!<br><br><a href='javascript:history.back()'>返回</a>")
				response.end
			end if
		end if
		SmallClassid=Request.Form("SmallClassid")
		bigClassid=Request.Form("bigClassid")
		typeid=Request.Form("typeid")
		title=CheckStr(trim(request.form("title")))
		
		
		if title="" then
			Show_Err("请填写文章标题!<br><br><a href='javascript:history.back()'>返回</a>")
			response.end
		end if

		if len(title)>100 then
			Show_Err("文章标题过长!<br><br><a href='javascript:history.back()'>返回</a>")
			response.end
		end if

		if request.Form("goodnews")="1" then
			goodnews=1
		else
			goodnews=0
		end if

		if request.Form("istop")="1" then
			istop=1
		else
			istop=0
		end if

		if request.Form("backtype")="1" then
			backtype=1
		else
			backtype=0
		end if

		SpecialID=Request.Form("SpecialID")
		SpecialID2=Request.Form("SpecialID2")
		Author=CheckStr(trim(Request.Form("Author")))
		Original=CheckStr(trim(Request.Form("Original")))
		about=CheckStr(trim(Request.Form("about")))

		if request.Form("PicUrl")="" then
			picnews=0
		else
			picnews=1
		end if

		Picurl=replace(Picurl,FileUploadPath,"")
		editor=request.form("editor")
		if request.cookies(Forcast_SN)("key")="super" or request.cookies(Forcast_SN)("key")="check" or request.cookies(Forcast_SN)("key")="bigmaster" or request.cookies(Forcast_SN)("key")="typemaster" then
			checkked=1
		else
			if request.cookies(Forcast_SN)("key")="selfreg" and fabiaocheck="1" then
				checkked=1
			else
				if request.cookies(Forcast_SN)("key")="smallmaster" then
					checkked=1
				else
					if shenhe="1" then
					checkked=1
				else
					checkked=0
				end if
			end if
		end if
		end if
		EnCode=Request.Form("EnCode")
		newsrelated=Request.Form("newsrelated")
		newslevel=Request.Form("newslevel")
		title_color=Request.Form("title_color")
		title_type=Request.Form("title_type")
		title_face=Request.Form("title_face")
		title_size=Request.Form("title_size")

		set rs=server.createobject("adodb.recordset")
		sql="select * from "& db_News_Table &"" 
		rs.open sql,conn,1,3
		rs.addnew
		rs("title")=title
		rs("Author")=Author

		''修改上传文件路径标记为[="uploadfile/]
		content=replace(content,"="&chr(34)&FileUploadPath,"="&chr(34)&"uploadfile/",1,-1,1)
		rs("content")=content
		rs("Original")=Original
		rs("goodnews")=goodnews
		rs("picnews")=picnews
		if newslevel="" then
			rs("newslevel")=0
		else
			rs("newslevel")=newslevel
		end if
		rs("istop")=istop
		rs("backtype")=backtype
		rs("editor")=editor
		rs("checkked")=checkked
		rs("BigClassid")=BigClassid
		rs("SmallClassid")=SmallClassid
		rs("SpecialID")=SpecialID
		rs("SpecialID2")=SpecialID2
		rs("EnCode")=EnCode
		rs("newsrelated")=newsrelated
		rs("about")=about
		rs("picname")=PicUrl
		if title_type="" or title_type="0" then
			rs("titletype")="l"
		else
			rs("titletype")=title_type
		end if
		rs("titlecolor")=title_color
		
		if title_face="" then
			rs("titleface")="无"
		else
			rs("titleface")=CheckStr(title_face)
		end if

		rs("titlesize")=title_size
		rs("typeid")=typeid
		rs("UpdateTime")=now()
		rs.update
		newsid=rs("newsid")

		dim username,dep1,dep2
		username=request.cookies(Forcast_SN)("username")
		set rs2=server.createobject("adodb.recordset")
		sql2="select * from "& db_User_Table &" where  "& db_User_Name &"='"&username&"'"
		rs2.open sql2,ConnUser,1,3
		dep1=rs2("depname")
		dep2=rs2("deptype")
		rs2("number")=rs2("number")+1
		rs2.update
		rs2.close
		set rs2=nothing

		set rs9=server.createobject("adodb.recordset")
		sql9="select * from "& db_dep_Table &" where  ( depname='"&dep1&"'  and deptype='"&dep2&"' ) "
		rs9.open sql9,ConnUser,1,3
		rs9("depnumber")=rs9("depnumber")+1
		rs9.update
		rs9.close
		set rs9=nothing


		
		
		rs.Close
		set rs1=nothing

		set rs3=server.createobject("adodb.recordset")
		sql3="select * from "& db_UploadPic_Table &" where username='"&request.cookies(Forcast_SN)("username")&"'" 
		rs3.open sql3,conn,1,3
		do while not rs3.eof
			set rs4=server.createobject("adodb.recordset")
			sql4="select * from "& db_Attach_Table &"" 
      rs4.open sql4,conn,1,3
      filename=rs3("picname")
      rs4.addnew
      rs4("filename")=filename
      rs4("newsid")=newsid
      rs4.update
      rs4.close
      set rs4=nothing
      RS3.MoveNext
		loop
		conn.execute("delete from "& db_UploadPic_Table &" where username='"&request.cookies(Forcast_SN)("username")&"'")
		rs3.close
		set rs3=nothing
 
		for i=1 to ubound(arrnew)
			set rs4=server.createobject("adodb.recordset")
      sql4="select * from "& db_Attach_Table &"" 
      rs4.open sql4,conn,1,3
      filename=arrnew(i)
      rs4.addnew
      rs4("filename")=filename
      rs4("newsid")=newsid
      rs4.update
      rs4.close
      set rs4=nothing
		next

		set rs5=server.createobject("adodb.recordset")
    sql5="select * from "& db_Attach_Table &"" 
    rs5.open sql5,conn,1,3
    filename=aassss1
    rs5.addnew
    rs5("filename")=filename
    rs5("newsid")=newsid
    rs5.update
    rs5.close
    set rs4=nothing

		Response.cookies(Forcast_SN)("content")=""
		Response.cookies(Forcast_SN)("newsrelated")=""
		
		if request.cookies(Forcast_SN)("key")="typemaster" or request.cookies(Forcast_SN)("key")="bigmaster" or request.cookies(Forcast_SN)("key")="smallmaster" then
			response.write "<meta http-equiv=""refresh"" content="""&freetime&";url=typemanage.asp"">"
		else
			if smallclassid<>"" then
				response.write "<meta http-equiv=""refresh"" content="""&freetime&";url=listnews.asp?smallclassid="&smallclassid&""">"
			else
				if bigclassid<>"" then
				response.write "<meta http-equiv=""refresh"" content="""&freetime&";url=smallno.asp?bigclassid="&bigclassid&""">"
				else  
					response.write "<meta http-equiv=""refresh"" content="""&freetime&";url=bigclassno.asp?typeid="&typeid&""">"
				end if
			end if
		end if
		Show_Message("<p align=center><font color=red>恭喜您,文章“"&title&"”已经成功添加!<br><br>"&freetime&"秒钟后返回上页!</font>")
		response.end
%>

⌨️ 快捷键说明

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