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

📄 userspace.asp

📁 公司企业网站管理系统全站源码,用于企业内部对网站的管理
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#include file="Conn.asp"-->
<!-- #include file="inc/const.asp" -->
<!-- #include file="Dv_plus/myspace/script/Dv_ClsSpace.asp" -->
<%
Dvbbs.LoadTemplates("usermanager")
Dim MySpace
Set MySpace = New Cls_Space
'Dvbbs.Stats = Dvbbs.MemberName & template.Strings(67)

Dvbbs.Stats = MySpace.Space_Info.getAttribute("title")&"--"&MySpace.Space_User.getAttribute("username") & template.Strings(67)

Response.Write Dvbbs.mainhtml(18)
MySpace.Head()
If MySpace.Act = "saveedit" Then
	SaveEdit()
ElseIf MySpace.Act = "saveskin" Then
	SaveSkin()
Else
	Main()
End If

Dvbbs.ActiveOnline()
Set MySpace = Nothing
Dvbbs.Footer()

Sub Main()
	Dim Channals

	If MySpace.Act="" and MySpace.ReCache=0  Then

	Else
		BoardList()
		Set Channals = MySpace.Space_Info.selectSingleNode("leftchannal")
		If Channals.childNodes.Length>0 and MySpace.Space_Info.getAttribute("s_style")<>"2" Then
			GetChannalData Channals
		End If

		Set Channals = MySpace.Space_Info.selectSingleNode("rightchannal")
		If Channals.childNodes.Length>0 and MySpace.Space_Info.getAttribute("s_style")<>"1" Then
			GetChannalData Channals
		End If

		Set Channals = MySpace.Space_Info.selectSingleNode("mainchannal")
		Select Case MySpace.Act
			Case "userinfo"
			Case "topic"
				LoadChanalData Channals,"usertopic"
			Case "reply"
				LoadChanalData Channals,"userreply"
			Case "board"
			Case "modifyset"
				If Not MySpace.Admin Then
					Response.redirect "showerr.asp?ErrCodes=<li>你没有权限修改别人的个性首页。&action=NoHeadErr&autoreload=1"
					Exit Sub
				End If
			Case "modifyskin"
				If Not MySpace.Admin Then
					Response.redirect "showerr.asp?ErrCodes=<li>你没有权限修改别人的个性首页。&action=NoHeadErr&autoreload=1"
					Exit Sub
				End If
		Case Else
			If Channals.childNodes.Length>0 Then
				GetChannalData Channals
			End If
		End Select
	End If

	MySpace.TranTemplate()

End Sub

'获取频道数据
Sub GetChannalData(Node)
	Dim ChildNode
	For each ChildNode in Node.childNodes
		LoadChanalData  ChildNode,ChildNode.getAttribute("id")
	Next
End Sub

Sub LoadChanalData(Node,Nodeid)
	Select Case Nodeid
		Case "userinfo"
		Case "usertopic"
			Load_UserTopic(Node)
		Case "userreply"
			Load_UserReply(Node)
		Case "userfav"
			Load_UserFav(Node)
		Case "usermsg"
			Load_UserMsg(Node)
		Case "userfriend"
			Load_UserFriend(Node)
		Case "userbest"
			Load_UserBest(Node)
		Case "userupload"
			Load_UserFiles(Node)
		Case Else
	End Select
End Sub


'SaveEdit()
'保存设置修改
Sub SaveEdit()
	If Dvbbs.Userid=0 Then
		Response.redirect "showerr.asp?ErrCodes=<li>请登陆后再进行修改。&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If
	If Not MySpace.Admin Then
		Response.redirect "showerr.asp?ErrCodes=<li>你没有权限修改别人的个性首页。&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If
	Dim layoutset
	layoutset = Dvbbs.CheckNumeric(Request.Form("layoutset"))
	If layoutset = 0 Then
		layoutset = 1
	End If
	If Len(Request.Form("spacetitle"))>100 or Len(Request.Form("spacetitle"))<1 Then
		Response.redirect "showerr.asp?ErrCodes=<li>标题不能超出100个字符&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If
	If Len(Request.Form("spaceintro"))>250 or Len(Request.Form("spaceintro"))<1 Then
		Response.redirect "showerr.asp?ErrCodes=<li>简介不能超出250个字符&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If
	Dim Rs,Sql
	Dim Setting,IsMyindex,i,TempStr,S_css,S_id,Stylepath
	Dim UserSetting
	S_css = Request.Form("s_css")
	Stylepath = Request.Form("stylepath")
	IsMyindex = Request.Form("ismyindex")
	UserSetting = ""
	Setting = ""
	S_id = Dvbbs.Checknumeric(Request.Form("styleid"))
	If Request.Form("modify")="1" Then
		If IsMyindex<>"" Then
			IsMyindex = Dvbbs.CheckNumeric(IsMyindex)
			'当发生设置更改时执行数据更新
			If IsMyindex<>Cint(MySpace.Space_User.getAttribute("set4")) Then
				MySpace.Space_User.attributes.getNamedItem("set4").text = IsMyindex
				For i=1 to 4
					UserSetting = UserSetting & Replace(MySpace.Space_User.getAttribute("set"&i),"|||","")
					If i<4 Then UserSetting = UserSetting & "|||"
				Next
				Dvbbs.Execute("Update Dv_user Set Usersetting='"&Dvbbs.Checkstr(UserSetting)&"' where Userid="&MySpace.Sid)
			End If
		End If
		For i=0 to 20
			TempStr = Request.Form("set_"&i)
			If TempStr="" Then TempStr = "0"
			Setting = Setting & Replace(TempStr,",","")
			If i<20 Then Setting = Setting & ","
		Next
	End If
	'当选取风格
	If S_id>0 Then
		Set Rs = Dvbbs.execute("select top 1 s_css,s_path from Dv_Space_skin where id="&S_id)
		If Not Rs.Eof Then
			S_css = Rs(0)
			Stylepath = Rs(1)
		End If
		Rs.Close
	End If
	'更新扩展频道数据,清理已删的频道
	Dim Modules,TempMods,ModulesNode,Node
	If Request.Form("modify")<>"1" Then
		Modules = ""
		TempMods = Request.Form("layoutleft")&","&Request.Form("layoutright")&","&Request.Form("layoutmain")
		TempMods = Split(Lcase(TempMods),",")
		For i = 0 to Ubound(TempMods)
			If TempMods(i)<>"" Then
				If Left(TempMods(i),4) = "mod_" Then
					Modules = Modules & TempMods(i) & ","
				End If
			End If
		Next
		Set ModulesNode = MySpace.Space_Info.selectSingleNode("modules")
		If ModulesNode.childnodes.length>0 Then
			For Each Node in ModulesNode.childnodes
				If Instr(","&Modules,","&Node.selectSingleNode("ModulePrefs").getAttribute("id")&",") = 0 Then
					ModulesNode.RemoveChild(Node)
				End If
			Next
		End If
	End If
	If Not IsObject(Conn) Then ConnectionDatabase
	Sql = "Select Top 1 id,userid,username,title,intro,s_left,s_right,s_center,s_css,s_style,s_path,updatetime,[set],plusdb,cachedb,ownercachedb from [Dv_Space_user] where"
	Sql = Sql & " Userid=" & MySpace.Sid
	Set Rs=Server.CreateObject("Adodb.RecordSet")
	Rs.Open Sql,Conn,1,3
	If Rs.Eof Then
		Rs.AddNew
		Rs(1) = Dvbbs.UserID
		Rs(2) = Dvbbs.Membername
		Rs(12) = "10,5,15,20,0,30,20,20,10,5,30,0,0,0,0,0,0,0,0,0,0"
	End If
	Rs(3) = Dvbbs.ChkBadWords(Request.Form("spacetitle"))
	Rs(4) = Dvbbs.ChkBadWords(Request.Form("spaceintro"))
	If Request.Form("modify")<>"1" Then
		Rs(5) = Request.Form("layoutleft")
		Rs(6) = Request.Form("layoutright")
		Rs(7) = Request.Form("layoutmain")
	End If
	If Request.Form("modify")<>"1" Then
		Rs(13) = ModulesNode.xml
	End If
	Rs(14) = ""	'清空cachedb
	Rs(15) = ""	'ownercachedb清空
	Rs(9) = layoutset
	If Stylepath<>"" and Stylepath<>MySpace.Space_Info.getAttribute("s_path") Then
		Rs(10) = Replace(Stylepath,".","")
	Else
		Rs(10) = MySpace.Space_Info.getAttribute("s_path")
	End If
	Rs(11) = Now()
	If S_css<>"" Then
		Rs(8) = S_css
	End If
	If Setting<>"" and Request.Form("modify")="1" Then
		Rs(12) = Setting
	End If
	Rs.Update
	Rs.Close
	Set Rs = Nothing
	
	If Request.Form("modify")="1" Then
		MySpace.Suc("<li>设置保存成功!</li>")
	Else
		Response.redirect "userspace.asp?sid="&MySpace.Sid
	End If
End Sub

'保存风格修改
Sub SaveSkin()
	If Dvbbs.Userid=0 Then
		Response.redirect "showerr.asp?ErrCodes=<li>请登陆后再进行修改。&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If
	If Not MySpace.Admin Then
		Response.redirect "showerr.asp?ErrCodes=<li>你没有权限修改别人的个性首页。&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If
	Dim addtoskins,S_css
	Dim Skin_name,Skin_Path
	Dim Rs,Sql

	Addtoskins = Request.Form("addtoskins")
	S_css = Request.Form("s_css")
	If S_css = "" Then
		Response.redirect "showerr.asp?ErrCodes=<li>样式CSS不能为空&action=NoHeadErr&autoreload=1"
		Exit Sub
	End If

	'推荐风格
	If Addtoskins="1" Then
		Skin_name = Trim(Dvbbs.CheckStr(Request.Form("skinname")))
		If Skin_name="" or Len(Skin_name)>50 Then
			Response.redirect "showerr.asp?ErrCodes=<li>风格名称不能为空或超过50个字符。&action=NoHeadErr&autoreload=1"
			Exit Sub
		End If
		Set Rs = Dvbbs.Execute("Select Top 1 id from [Dv_Space_skin] where S_name='"&Skin_name&"' and s_userid<>"&MySpace.Sid)
		If Not Rs.Eof Then
			Response.redirect "showerr.asp?ErrCodes=<li>该风格名称已被占用,请重新定义风格名称。&action=NoHeadErr&autoreload=1"
			Exit Sub
		End If
		Rs.Close
		Skin_Path = MySpace.CreatStylePath
		Sql = "Select Top 1 s_name,s_username,s_userid,s_css,s_path,s_lock from [Dv_Space_skin] where s_userid="&MySpace.Sid
		If Not IsObject(Conn) Then ConnectionDatabase
		Set Rs=Server.CreateObject("Adodb.RecordSet")
		Rs.Open Sql,Conn,1,3
		If Rs.Eof Then
			Rs.AddNew
			Rs(1) = Dvbbs.Membername
			Rs(2) = MySpace.Sid
			Rs(4) = Skin_Path	's_path
			If Skin_Path<>"" Then
				MySpace.CopyFolder MySpace.Space_Info.getAttribute("s_path"),Skin_Path
			End If
		End If
		Rs(0) = Skin_name
		Rs(3) = S_css
		Rs(5) = 0	'修改后将转为审核状态 0:审核,1:公共
		Rs.update
		Rs.Close
	Else
		If Instr(MySpace.Space_Info.getAttribute("s_path"),"userskins")=0 Then
			Skin_Path = MySpace.CreatStylePath
			MySpace.CopyFolder MySpace.Space_Info.getAttribute("s_path"),Skin_Path
			Addtoskins = 1
		Else
			Skin_Path = MySpace.Space_Info.getAttribute("s_path")
		End If
	End If
	'重写CSS文件
	If Instr(Skin_Path,"userskins") Then
		MySpace.WriteFile MySpace.Space_Skinpath&Skin_Path&"style.css",S_css
	End If
	Sql = "Select Top 1 s_css,s_path,cachedb,ownercachedb from [Dv_Space_user] where Userid=" & MySpace.Sid
	If Not IsObject(Conn) Then ConnectionDatabase
	Set Rs=Server.CreateObject("Adodb.RecordSet")
	Rs.Open Sql,Conn,1,3
	If Not Rs.Eof Then
		Rs(0) = S_css
		If Addtoskins="1" Then
			Rs(1) = Skin_Path
		End If
		Rs(2) = ""
		Rs(3) = ""
		Rs.update
	End If
	Rs.Close
	Set Rs = Nothing
	MySpace.Suc("<li>设置保存成功!</li>")
End Sub

'检查节点是否存在,CLEAR:TRUE=删除下级所有子节点
Function CheckNodes(Node,Clear)
	Dim TempNode
	If Node.hasChildNodes Then
		If Clear Then
			For Each TempNode in Node.childNodes
				Node.RemoveChild(TempNode)
			Next
		End If
	End If
	Set CheckNodes = Node
End Function

'获取用户精华数据
Sub Load_UserBest(Node)
	Dim Rs,Sql,TopicNodes,TempNode,Nums
	'Dv_BookMark
	If Node is Nothing Then
		Exit Sub
	Else
		Set Node = CheckNodes(Node,true)
	End If
	Nums = Dvbbs.CheckNumeric(MySpace.Space_Info.getAttribute("set_1"))
	Sql = "Select top "&Nums&" id,Announceid,Rootid,boardid,title,PostUserName,PostUserid,dateandtime,expression from Dv_BestTopic where PostUserid="&MySpace.Sid&" order by id desc"
	Set Rs = Dvbbs.Execute(sql)
	If not Rs.Eof Then
		SQL=Rs.GetRows(-1)
		Set TopicNodes = Dvbbs.ArrayToxml(sql,rs,"row","userbest")
	Else
		Set TopicNodes = Nothing
	End If
	Rs.Close
	Set Rs = Nothing
	If Not TopicNodes Is Nothing Then 
		For Each TempNode in TopicNodes.documentElement.childNodes
			If Len(TempNode.getAttribute("title"))>25 Then
				TempNode.attributes.getNamedItem("title").text=Dvbbs.ChkBadWords(Left(Dvbbs.Replacehtml(TempNode.getAttribute("title")),25))&"..."
			Else

⌨️ 快捷键说明

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