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

📄 menu.xml.asp

📁 个人相册程序-------------供大家分享
💻 ASP
字号:
<!--#include file="login.asp" -->
<style type="text/css">
<!--
.style4 {color: #FF0000}
-->
</style>
<%
function myfso(path)
Set fso = CreateObject("Scripting.FileSystemObject")
  If (fso.FolderExists(server.MapPath(path))) Then
    Set f = fso.GetFolder(server.MapPath(path))
  Else
    Set F = fso.CreateFolder(server.MapPath(path))
  End If
  If (fso.FileExists(server.MapPath(path&"index.xml"))) Then
    Set MyFile = fso.GetFile(server.MapPath(path&"index.xml"))
  Else
    Set MyFile = fso.CreateTextFile(server.MapPath(path&"index.xml"), True)
    MyFile.writeLine("<?xml version=""1.0"" encoding=""gb2312"" ?><index/>")
  End If
end function

function myfind(path)
  path=replace(replace(path,"\","/"),"//","/")
  array_path=split(path,"/")
  for i=0 to UBound(array_path)-1
  subpath=subpath & array_path(i) & "/"
  'response.Write(subpath&"<br>")
  myfso(subpath)
  next
end  function

function myxiugai(path,newname)
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(server.MapPath(path))
f.Name=newname
end function

function init_path(objRootsite)
  for each element in objRootsite.ChildNodes
  path=objRootsite.getAttributeNode("path").nodevalue & element.getAttributeNode("label").nodevalue & "/"
  element.setAttribute "path", path
  init_path element
  next
end function

function mymove(old_path,path)
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set f = fso.GetFolder(server.MapPath(old_path))
 'response.Write(server.MapPath(old_path) & "<br>")
 'response.Write(server.MapPath(path) & "<br>")
 fso.CopyFolder server.MapPath(old_path),server.MapPath(path)
end function

function mydel(path)
  Set fso = CreateObject("Scripting.FileSystemObject")
  If (fso.FolderExists(server.MapPath(path))) Then
	 fso.DeleteFolder(server.MapPath(path))
    msg = " 存在"
 end if
End function

function node_exists(objRootsite,label)
    for each element in objRootsite.ChildNodes
	if element.getAttributeNode("label").nodevalue=label then
	response.Write("<script>alert('在同一目录下类名不能重复,此类名已存在!');history.back();</script>")
	response.End()
	end if
	next
end function

function attribute_exists(objnode,attributes_name)
		Set objnode_attributes=objnode.attributes
		attribute_exists=0
		for each objattribute in objnode_attributes
		 if objattribute.nodeName=attributes_name then
		 attribute_exists=1
		 end if
		next
end function

 mode=request("mode")
 label=request("label")
 item=request("item")
 pitem=request("pitem")
 old_pitem=request("old_pitem")
 icon=request("icon")
 bbs=request("bbs")
 
 strSourceFile = Server.MapPath("../menu.xml")
 Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 'Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
 objXML.load(strSourceFile)
 If objXML.parseError.ErrorCode <> 0 Then 
      objXML.loadXML "<?xml version=""1.0"" encoding=""gb2312"" ?>"
 End If
 
select case mode
case "add"
add
response.Write("<script>top.left.location.reload();</script>")
case "del"
del
response.Write("<script>top.left.location.reload();</script>")
case "edit"
edit
response.Write("<script>top.left.location.reload();</script>")
end select

sub add
     if label="" then
	response.Write("<script>alert('请填写类名!');history.back();</script>")
	response.End()
	end if
 Set objRootsite = objXML.selectSingleNode(pitem)
 '检查类名是否存在
 node_exists objRootsite,label
 set element=objRootsite.appendChild(objXML.createElement("item"))
 path=objRootsite.getAttributeNode("path").nodevalue & label & "/"
 element.setAttribute "label", label
 element.setAttribute "path", path
 element.setAttribute "icon", icon
 element.setAttribute "bbs", bbs
 objXML.save(strSourceFile)
 myfind "../"&path  '查找目录,不存在创建
 
end sub

sub edit
     if label="" then
	response.Write("<script>alert('请填写类名!');history.back();</script>")
	response.End()
	end if
  Set objRootsite = objXML.selectSingleNode(pitem)
 path=objRootsite.getAttributeNode("path").nodevalue & label & "/"
 set element=objXML.SelectSingleNode(item)
 old_path=element.getAttributeNode("path").nodevalue
 old_label=element.getAttributeNode("label").nodevalue
  '文件夹名称变了时
 element.setAttribute "path", path
 init_path element
 '父目录改变时
 if old_pitem<>pitem then
      '检查类名是否存在
    node_exists objRootsite,label
    objRootsite.appendChild(element)
    myfind "../"&path  '查找目录,不存在创建
	mymove "../"&old_path,"../"&path
	mydel "../"&old_path
	else
	 if old_label<>label then
	  '检查类名是否存在
	 node_exists objRootsite,label
     myxiugai "../"&old_path,label
     end if
 end if
 element.setAttribute "label", label
 element.setAttribute "icon", icon
 element.setAttribute "bbs", bbs
 objXML.save(strSourceFile)
end sub
 
sub del
   set objnode=objXML.SelectSingleNode(item) '要删除的节点
   set objparentnode=objXML.SelectSingleNode(pitem) '要删除的节点的父节点
   mydel "../"&objnode.getAttributeNode("path").nodevalue
   objparentnode.removeChild objnode
   objXML.save(strSourceFile)
end sub
%>
<link href="style.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%if mode="xiugai" then
set objnode=objXML.SelectSingleNode(item)
%>


<table width="311"  border="1" align="center" cellpadding="1" cellspacing="1">
  <form name="form1" method="post" action="menu.xml.asp">
    <input  type="hidden" value="<%=item%>" name="item">
    <input  type="hidden" value="edit" name="mode">
	<input type="hidden" value="<%=pitem%>" name="old_pitem">
    <tr>
      <td>类名</td>
      <td><input name="label" type="text" id="label" value="<%=objnode.getAttributeNode("label").nodevalue%>" size="15">
          <font color="#FF0000">*</font></td>
    </tr>
    <tr>
      <td width="61">所属类别</td>
      <td width="237"><select name="pitem" id="pitem">
          <%
	Set objRootsite = objXML.documentElement
	response.Write "<option value=""//"&objRootsite.nodename&"[0]"" selected>根目录</option>"
	show_item_xiugai "//" &  objRootsite.nodename & "[0]",objRootsite,"&nbsp;"
	
	function show_item_xiugai(strparent,objRootsite,temp)
	i=0
	for each element in objRootsite.ChildNodes
	if cstr(strparent&"/"&element.nodename&"["&i&"]")<>cstr(item) then
	response.Write "<option value="""&strparent&"/"&element.nodename&"["&i&"]"" >"
	if element.getAttributeNode("label").nodevalue<>"" then
	response.Write temp & element.getAttributeNode("label").nodevalue 
	else
	response.Write "item"
	end if
	response.Write "</option>"
	show_item_xiugai strparent&"/"&element.nodename&"["&i&"]",element,temp & "&nbsp;"
	end if
	i=i+1
	next
	end function
	%>
        </select>
          <script>document.form1.pitem.value='<%=pitem%>';</script></td>
    </tr>
    <tr>
      <td height="21">图标</td>
      <td>
	  <%
	  sub show_icon
	  response.Write("<select name=""icon"" id=""icon"">")
	  response.Write("<option value="""" selected>无图标</option>")
	   strSourceFile_icon = Server.MapPath("../skins/icon/icon.xml")
       Set objXML_icon = Server.CreateObject("Microsoft.XMLDOM")
      objXML_icon.load(strSourceFile_icon)
      If objXML_icon.parseError.ErrorCode <> 0 Then 
      objXML_icon.loadXML "<?xml version=""1.0"" encoding=""gb2312"" ?>"
      End If
	  Set objRootsite_icon =objXML_icon.documentElement
       for each element_icon in objRootsite_icon.ChildNodes
	   response.Write("<option value="""&element_icon.getAttributeNode("path").nodevalue&""">"&element_icon.getAttributeNode("title").nodevalue&"</option>")
	   next
	   response.Write("</select>")
	   end sub
	   show_icon
	  %>
          
		  <%
		  if attribute_exists(objnode,"icon") then
		  response.Write "<script>document.form1.icon.value='" & objnode.getAttributeNode("icon").nodevalue & "'</script>"
		  end if
		  %>          </td>
    </tr>
    <tr>
      <td height="21">评论</td>
      <td><select name="bbs" id="bbs">
          <option value="no" selected>关闭</option>
          <option value="yes">打开</option>
        </select>
          <%
		  if attribute_exists(objnode,"bbs") then
		  response.Write "<script>document.form1.bbs.value='" & objnode.getAttributeNode("bbs").nodevalue & "'</script>"
		  end if
		  %>
          <span class="style4">(免费版不起作用)</span> </td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" name="Submit" value="修改">
      </td>
    </tr>
  </form>
</table>
<%else%>
<table width="311"  border="1" align="center" cellpadding="1" cellspacing="1">
  <form name="form1" method="post" action="menu.xml.asp">
    <input  type="hidden" value="add" name="mode">
    <tr>
      <td>类名</td>
      <td><input name="label" type="text" id="label" size="15">
          <font color="#FF0000">*</font></td>
    </tr>
    <tr>
      <td width="61">所属类别</td>
      <td width="237"><select name="pitem" id="pitem">
          <%
	Set objRootsite = objXML.documentElement
	response.Write "<option value=""//"&objRootsite.nodename&""" selected>根目录</option>"
	show_item "//" &  objRootsite.nodename & "[0]",objRootsite,"&nbsp;"
    function show_item(strparent,objRootsite,temp)
	i=0
	for each element in objRootsite.ChildNodes
	response.Write "<option value="""&strparent&"/"&element.nodename&"["&i&"]"" >"
	if element.getAttributeNode("label").nodevalue<>"" then
	response.Write temp & element.getAttributeNode("label").nodevalue 
	else
	response.Write "item"
	end if
	response.Write "</option>"
	show_item strparent&"/"&element.nodename&"["&i&"]",element,temp & "&nbsp;"
	i=i+1
	next
	end function
	%>
      </select></td>
    </tr>
    <tr>
      <td height="21">图标</td>
      <td><%show_icon%></td>
    </tr>
    <tr>
      <td height="21">评论</td>
      <td><select name="bbs" id="bbs">
        <option value="no" selected>关闭</option>
        <option value="yes">打开</option>
      </select>
      <span class="style4">(免费版不起作用)</span>      </td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" name="Submit" value="添加">
      </td>
    </tr>
  </form>
</table>
<%end if%><br>
<hr>
<%
 Set objRootsite = objXML.documentElement
 'Set objRootsite = objXML.selectSingleNode("menu")'
show_node "//" &  objRootsite.nodename & "[0]",objRootsite
function show_node(strparent,objRootsite)
response.write("<table   border=""0"" cellpadding=""0"" cellspacing=""1"">" & vbcrlf)
 '遍历元素
i=0
for each element in objRootsite.ChildNodes
'初始化路径
myfind "../"&element.getAttributeNode("path").nodevalue
'response.write element.nodename 
'response.write element.text
response.write("  <tr>" & vbcrlf)
response.write("    <td >◆</td>" & vbcrlf)
response.write("    <td ><a href=""menu.xml.asp?mode=xiugai&pitem="&strparent&"&item="&strparent&"/"&element.nodename&"["&i&"]"">"&element.getAttributeNode("label").nodevalue&"</a>&nbsp;" & vbcrlf)
response.write("   <a href=""menu.xml.asp?mode=del&pitem="&strparent&"&item="&strparent&"/"&element.nodename&"["&i&"]"" onClick=""javascript:if(confirm('确定删除吗?')){return true;}else{return false;}"">(删除)</a></td>" & vbcrlf)
response.write("  </tr>" & vbcrlf)
response.write("  <tr>" & vbcrlf)
response.write("    <td></td align=""left""><td>" & vbcrlf)
'显示子节点
show_node strparent&"/"&element.nodename&"["&i&"]",element
response.write("    </td>" & vbcrlf)
response.write("  </tr>" & vbcrlf)
'  遍历属性
'  for each element_a in element.attributes
'  response.write element_a.nodename
'  response.write element_a.nodevalue
'  next
i=i+1
next
response.write("</table>")
end function
response.write("<hr color=""#ffffff"">")
%>

⌨️ 快捷键说明

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