NewsSort.asp
上传用户:dbstep
上传日期:2022-08-06
资源大小:2803k
文件大小:15k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

ASP/ASPX

  1. <HTML xmlns="http://www.w3.org/1999/xhtml">
  2. <HEAD>
  3. <TITLE>新闻分类</TITLE>
  4. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
  5. <link rel="stylesheet" href="Images/CssAdmin.css">
  6. <script language="javascript" src="../skweb/JS/Admin.js"></script>
  7. </HEAD>
  8. <!--#include file="../skweb/Const.asp" -->
  9. <!--#include file="../skweb/ConnSiteData.asp" -->
  10. <!--#include file="CheckAdmin.asp"-->
  11. <%
  12. if Instr(session("AdminPurview"),"|21,")=0 then 
  13.   response.write ("<font color='red')>你不具有该管理模块的操作权限,请返回!</font>")
  14.   response.end
  15. end if
  16. '========判断是否具有管理权限
  17. %>
  18. <BODY>
  19. <%
  20. Dim Action
  21. Action=request.QueryString("Action")
  22. Select Case Action
  23.   Case "Add"
  24. addFolder
  25.    CallFolderView()
  26.   Case "Del"
  27.     Dim rs,sql,SortPath
  28.     Set rs=server.CreateObject("adodb.recordset")
  29.     sql="Select * From sk_NewsSort where ID="&request.QueryString("id")
  30.     rs.open sql,conn,1,1
  31. SortPath=rs("SortPath")
  32. conn.execute("delete from  sk_NewsSort where Instr(SortPath,'"&SortPath&"')>0")
  33.     conn.execute("delete from  sk_News where Instr(SortPath,'"&SortPath&"')>0")
  34.     response.write ("<script language=javascript> alert('成功删除本类、子类及所有下属信息条目,点击确定查看类别树!');location.replace('NewsSort.asp');</script>")
  35.   Case "Save"
  36. saveFolder ()
  37.   Case "Edit"
  38. editFolder
  39.    CallFolderView()
  40.   Case "Move"
  41. moveFolderForm ()
  42.    CallFolderView()
  43.   Case "MoveSave"
  44. saveMoveFolder ()
  45.   Case Else
  46. CallFolderView()
  47. End Select
  48. %>
  49. </BODY>
  50. </HTML>
  51. <%
  52. '调用显示节点------------------------------
  53. Function CallFolderView()
  54. %>
  55. <table width="100%" border="0" cellpadding="5" cellspacing="1"  bgcolor="#CCCCCC">
  56.   <tr>
  57.     <td height="29" background="Images/menutitle.gif" nowrap><strong>类别树查看管理:</strong></td>
  58.   </tr>
  59.   <tr>
  60.     <td height="24" align="center" nowrap  bgcolor="#EBF2F9"><a href="NewsSort.asp?Action=Add&ParentID=0">添加一级分类</a> &nbsp;|&nbsp; <a href="NewsList.asp" onClick='changeAdminFlag("新闻列表")'>查看所有新闻</a></td>
  61.   </tr>
  62.   <tr>
  63.     <td height="24" nowrap  bgcolor="#EBF2F9"><% Folder(0) %></td>
  64.   </tr>
  65. </table>
  66. <%
  67. End Function
  68. '列出所有节点------------------------------
  69. Function Folder(id)
  70.   Dim rs,sql,i,ChildCount,FolderType,FolderName,onMouseUp,ListType
  71.   Set rs=server.CreateObject("adodb.recordset")
  72.   sql="Select * From sk_NewsSort where ParentID="&id&" order by id"
  73.   rs.open sql,conn,1,1
  74.   if id=0 and rs.recordcount=0 then
  75.     response.write ("暂无分类!")
  76.     response.end
  77.   end if  
  78.   i=1
  79.   response.write("<table border='0' cellspacing='0' cellpadding='0'>")
  80.   while not rs.eof
  81.     ChildCount=conn.execute("select count(*) from sk_NewsSort where ParentID="&rs("id"))(0)
  82.     if ChildCount=0 then
  83.   if i=rs.recordcount then
  84.     FolderType="SortFileEnd"
  85.   else
  86.     FolderType="SortFile"
  87.   end if
  88.   FolderName=rs("SortName")
  89.   onMouseUp=""
  90.     else
  91.   if i=rs.recordcount then
  92.   FolderType="SortEndFolderClose"
  93. ListType="SortEndListline"
  94. onMouseUp="EndSortChange('a"&rs("id")&"','b"&rs("id")&"');"
  95.   else
  96. FolderType="SortFolderClose"
  97. ListType="SortListline"
  98. onMouseUp="SortChange('a"&rs("id")&"','b"&rs("id")&"');"
  99.   end if
  100.   FolderName=rs("SortName")
  101.     end if
  102.     response.write("<tr>")
  103.     response.write("<td nowrap id='b"&rs("id")&"' class='"&FolderType&"' onMouseUp="&onMouseUp&"></td><td nowrap>"&FolderName&"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
  104.     response.write("<font color='#FF0000'>分类:</font><a href='NewsSort.asp?Action=Add&ParentID="&rs("id")&"'>添加</a>")
  105.     response.write("<font color='#367BDA'>&nbsp;|&nbsp;</font><a href='NewsSort.asp?Action=Edit&ID="&rs("id")&"'>修改</a>")
  106.     response.write("<font color='#367BDA'>&nbsp;|&nbsp;</font><a href='NewsSort.asp?Action=Move&ID="&rs("id")&"&ParentID="&rs("Parentid")&"&SortName="&rs("SortName")&"&SortPath="&rs("SortPath")&"'>移</a>")
  107.     response.write("→<a href='#' onclick='SortFromTo.rows[4].cells[0].innerHTML=""→&nbsp;"&rs("SortName")&""";MoveForm.toID.value="&rs("ID")&";MoveForm.toParentID.value="&rs("ParentID")&";MoveForm.toSortPath.value="""&rs("SortPath")&""";'>至</a>")
  108. response.write("<font color='#367BDA'>&nbsp;|&nbsp;</font><a href=javascript:ConfirmDelSort('NewsSort',"&rs("id")&")>删除</a>")
  109.     response.write("&nbsp;&nbsp;&nbsp;&nbsp;<font color='#FF0000'>新闻:</font><a href='NewsEdit.asp?Result=Add' onClick='changeAdminFlag(""添加新闻"")'>添加</a>")
  110.     response.write("<font color='#367BDA'>&nbsp;|&nbsp;</font><a href='NewsList.asp?SortID="&rs("ID")&"&SortPath="&rs("SortPath")&"' onClick='changeAdminFlag(""新闻列表"")'>列表</a>")
  111.     response.write("</td></tr>")
  112.     if ChildCount>0 then
  113. %>
  114.       <tr id="a<%= rs("id")%>" style="display:yes"><td class="<%= ListType%>" nowrap></td><td ><% Folder(rs("id")) %></td></tr>
  115. <%
  116.     end if
  117.     rs.movenext
  118.     i=i+1
  119.   wend
  120.   response.write("</table>")
  121.   rs.close
  122.   set rs=nothing
  123. end function
  124. '添加节点---------------------------------
  125. Function addFolder()
  126.   Dim ParentID
  127.   ParentID=request.QueryString("ParentID")
  128.   addFolderForm ParentID
  129. end function
  130. '添加节点表单------------------------------
  131. Function addFolderForm(ParentID)
  132.   Dim ParentPath,SortTextPath,rs,sql
  133.   if ParentID=0 then
  134.     ParentPath="0,"
  135. SortTextPath=""
  136.   else 
  137.     Set rs=server.CreateObject("adodb.recordset")
  138.     sql="Select * From sk_NewsSort where ID="&ParentID
  139.     rs.open sql,conn,1,1
  140. ParentPath=rs("SortPath")
  141.   end if
  142. %>
  143. <table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC">
  144. <form name="FolderForm" method="post" action="NewsSort.asp?Action=Save&From=Add">
  145.   <tr>
  146.     <td height="29" nowrap background="Images/menutitle.gif">  &nbsp;<strong>添加类别:通过"发布"可控制每种分类是否在网站里显示出来。</strong></td>
  147.   </tr>
  148.   <tr>
  149.     <td height="24" nowrap bgcolor="#EBF2F9">|&nbsp;根类&nbsp;→&nbsp;<% if ParentID<>0 then TextPath(ParentID)%></td>
  150.   </tr>
  151.   <tr>
  152.     <td height="24" bgcolor="#EBF2F9">
  153. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  154.       <tr>
  155.         <td width="190" nowrap>名称:<input name="SortName" type="text" class="textfield" id="SortName" size="22"></td>
  156.         <td width="130" nowrap>显示:<input name="ViewFlag" type="radio" value="1" checked="checked" />是<input name="ViewFlag" type="radio" value="0" />否</td>
  157.         <td width="120" nowrap>父类ID:<input readonly name="ParentID" type="text" class="textfield" id="ParentID" size="6" value="<%=ParentID %>"></td>
  158.         <td nowrap>父类数字路径:<input readonly name="ParentPath" type="text" class="textfield" id="ParentPath" size="44" value="<%=ParentPath%>"></td>
  159.   </tr>
  160.       <tr>
  161.         <td colspan="4" align="center" height="30" valign="bottom" nowrap><input name="submitSave" type="submit" class="button" id="保存" value="  保存  "></td>
  162.   </tr>
  163.     </table>
  164. </td>
  165.   </tr>
  166. </form>
  167. </table>
  168. <br>
  169. <%
  170. End Function
  171. '生成节点文字路径--------------------------
  172. Function TextPath(ID)
  173.   Dim rs,sql,SortTextPath
  174.   Set rs=server.CreateObject("adodb.recordset")
  175.   sql="Select * From sk_NewsSort where ID="&ID
  176.   rs.open sql,conn,1,1
  177.   SortTextPath=rs("SortName")&"&nbsp;→&nbsp;"
  178.   if rs("ParentID")<>0 then TextPath rs("ParentID")
  179.   response.write(SortTextPath)
  180. End Function
  181. '保存添加、修改节点-------------------------
  182. Function saveFolder
  183.   if len(trim(request.Form("SortName")))=0 then
  184.       response.write ("<script language=javascript> alert('类别名称为必填项目!');history.back(-1);</script>")
  185.       response.end
  186.   end if
  187.   Dim From,Action,rs,sql,SortTextPath
  188.   From=request.QueryString("From")
  189.   Set rs=server.CreateObject("adodb.recordset")
  190.   if From="Add" then 
  191.     sql="Select * From sk_NewsSort"
  192.     rs.open sql,conn,1,3
  193.     rs.addnew
  194. Action="添加类别"
  195.     rs("SortPath")=request.Form("ParentPath") & rs("ID") &","
  196.   else
  197.     sql="Select * From sk_NewsSort where ID="&request.QueryString("ID")
  198.     rs.open sql,conn,1,3
  199. Action="修改类别"
  200.     rs("SortPath")=request.Form("SortPath")
  201.   end if
  202.   rs("SortName")=request.Form("SortName")
  203.   rs("ViewFlag")=request.Form("ViewFlag")
  204.   rs("ParentID")=request.Form("ParentID")
  205.   rs.update 
  206.   response.write ("<script language=javascript> alert('"&Action&"保存成功,点击确定查看类别树!');location.replace('NewsSort.asp');</script>")
  207. End Function 
  208. '修改节点---------------------------------
  209. Function editFolder()
  210.   Dim ID
  211.   ID=request.QueryString("ID")
  212.   editFolderForm ID
  213. end function
  214. '修改节点表单------------------------------
  215. Function editFolderForm(ID)
  216.   Dim SortName,ViewFlag,ParentID,SortPath,rs,sql
  217.   Set rs=server.CreateObject("adodb.recordset")
  218.   sql="Select * From sk_NewsSort where ID="&ID
  219.   rs.open sql,conn,1,1
  220.   SortName=rs("SortName")
  221.   ViewFlag=rs("ViewFlag")
  222.   ParentID=rs("ParentID")
  223.   SortPath=rs("SortPath")
  224. %>
  225. <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
  226. <form name="FolderForm" method="post" action="NewsSort.asp?Action=Save&From=Edit&ID=<%=ID%>">
  227.   <tr>
  228.     <td height="29" nowrap  background="Images/menutitle.gif"> <strong>修改类别:通过"发布"可控制每种分类是否在网站里显示出来。</strong> </td>
  229.   </tr>
  230.   <tr>
  231.     <td height="24" nowrap bgcolor="#EBF2F9">|&nbsp;根类&nbsp;→&nbsp;<% if ParentID<>0 then TextPath(ParentID)%></td>
  232.   </tr>
  233.   <tr>
  234.     <td height="24" bgcolor="#EBF2F9">
  235. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  236.       <tr>
  237.         <td width="190" nowrap>名称:<input name="SortName" type="text" class="textfield" id="SortName" size="22" value="<%=SortName%>"></td>
  238.         <td width="130" nowrap>发布:<input name="ViewFlag" type="radio" value="1" <%if ViewFlag then response.write ("checked=checked")%> />是<input name="ViewFlag" type="radio" value="0" <%if not ViewFlag then response.write ("checked=checked")%>/>否</td>
  239.         <td width="120" nowrap>父类ID:<input readonly name="ParentID" type="text" class="textfield" id="ParentID" size="6" value="<%=ParentID %>"></td>
  240.         <td nowrap>父类数字路径:<input readonly name="SortPath" type="text" class="textfield" id="SortPath" size="45" value="<%=SortPath%>"></td>
  241.   </tr>
  242.       <tr>
  243.         <td colspan="4" align="center" height="30" valign="bottom" nowrap><input name="submitSave" type="submit" class="button" id="保存" value="  保存  "></td>
  244.   </tr>
  245.     </table>
  246. </td>
  247.   </tr>
  248. </form>
  249. </table>
  250. <br>
  251. <%
  252. End Function
  253. '转移节点表单------------------------------
  254. Function moveFolderForm()
  255.   Dim ID,ParentID,SortName,SortPath
  256.   ID=request.QueryString("ID")
  257.   ParentID=request.QueryString("ParentID")
  258.   SortName=request.QueryString("SortName")
  259.   SortPath=request.QueryString("SortPath")
  260. %>
  261. <table id="SortFromTo" width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC">
  262. <form name="MoveForm" method="post" action="NewsSort.asp?Action=MoveSave">
  263.   <tr>
  264.     <td height="29" colspan="3" nowrap background="Images/menutitle.gif"> <strong>类别移动:通过点击分类树中类别对应的"移"可重新选择将要作移动的类别,包括本类、子类及所有下属信息条目将一起被移动。</strong> </td>
  265.   </tr>
  266.   <tr>
  267.     <td height="24" colspan="3" nowrap bgcolor="#EBF2F9">→&nbsp;<% response.write (SortName) %></td>
  268.   </tr>
  269.   <tr>
  270.     <td nowrap bgcolor="#EBF2F9">移动类ID:<input readonly name="ID" type="text" class="textfield" id="ID" size="14" value="<%=ID%>"></td>
  271.     <td nowrap bgcolor="#EBF2F9">移动类父ID:<input readonly name="ParentID" type="text" class="textfield" id="ParentID" size="14" value="<%=ParentID%>"></td>
  272.     <td nowrap bgcolor="#EBF2F9">移动类数字路径:<input readonly name="SortPath" type="text" class="textfield" id="SortPath" size="30" value="<%=SortPath%>"></td>
  273.   </tr>
  274.   <tr>
  275.     <td height="24" colspan="3" nowrap background="Images/menutitle.gif"> <strong>目标位置:通过点击"至"选择将要放置到的类别。</strong> </td>
  276.   </tr>
  277.   <tr>
  278.     <td height="24" colspan="3" nowrap bgcolor="#EBF2F9">→&nbsp;请选择…</td>
  279.   </tr>
  280.   <tr>
  281.     <td nowrap bgcolor="#EBF2F9">目标类ID:<input readonly name="toID" type="text" class="textfield" id="toID" size="14" value=""></td>
  282.     <td nowrap bgcolor="#EBF2F9">目标类父ID:<input readonly name="toParentID" type="text" class="textfield" id="toParentID" size="14" value=""></td>
  283.     <td nowrap bgcolor="#EBF2F9">目标类数字路径:<input readonly name="toSortPath" type="text" class="textfield" id="toSortPath" size="30" value=""></td>
  284.   </tr>
  285.   <tr>
  286.     <td height="40" colspan="3" nowrap bgcolor="#EBF2F9" align="center"><input name="submitMove" type="submit" class="button" id="转移" value="  转移  "></td>
  287.   </tr>
  288. </form>
  289. </table>
  290. <br>
  291. <%
  292. End Function
  293. '保存转移节点------------------------------
  294. Function saveMoveFolder()
  295.   Dim rs,sql,fromID,fromParentID,fromSortPath,toID,toParentID,toSortPath,fromParentSortPath
  296.   fromID=request.Form("ID")
  297.   fromParentID=request.Form("ParentID")
  298.   fromSortPath=request.Form("SortPath")
  299.   toID=request.Form("toID")
  300.   toParentID=request.Form("toParentID")
  301.   toSortPath=request.Form("toSortPath")
  302.   if toID="" or toParentID="" or toSortPath="" then
  303.     response.write ("<script language=javascript> alert('没有选择移动的目标位置,请返回选择!');history.back(-1);</script>")
  304.     response.end
  305.   end if
  306.   if fromParentID=0 then
  307.     response.write ("<script language=javascript> alert('一级分类不能被移动,请返回选择!');history.back(-1);</script>")
  308.     response.end
  309.   end if
  310.   if fromSortPath=toSortPath then
  311.     response.write ("<script language=javascript> alert('选择的移动类别和目标位置相同了,请返回重新选择!');history.back(-1);</script>")
  312.     response.end
  313.   end if
  314.   if Instr(toSortPath,fromSortPath)>0 or fromParentID=toID then
  315.     response.write ("<script language=javascript> alert('不能将类别移动到本类或下属类里,请返回重新选择!');history.back(-1);</script>")
  316.     response.end
  317.   end if
  318.   Set rs=server.CreateObject("adodb.recordset")
  319.   sql="Select * From sk_NewsSort where ID="&fromParentID
  320.   rs.open sql,conn,0,1
  321.   fromParentSortPath=rs("SortPath")
  322.   conn.execute("update sk_NewsSort set SortPath='"&toSortPath&"'+Mid(SortPath,Len('"&fromParentSortPath&"')+1) where Instr(SortPath,'"&fromSortPath&"')>0")'更新类别数字路径
  323.   conn.execute("update sk_NewsSort set ParentID='"&toID&"' where ID="&fromID)'更新类别父类ID
  324.   conn.execute("update sk_News set SortPath='"&toSortPath&"'+Mid(SortPath,Len('"&fromParentSortPath&"')+1) where Instr(SortPath,'"&fromSortPath&"')>0")'更新信息数字路径
  325.   response.write ("<script language=javascript> alert('移动类别成功,点击确定查看类别树!');location.replace('NewsSort.asp');</script>")
  326. End Function
  327. %>