www.gusucode.com > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告) > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告)\13学生论坛ASPAC\BBS\admin_board.asp
<!--#include file="conn.asp"--> <!-- #include file="inc/const.asp" --> <!-- #include file="inc/dv_clsother.asp" --> <!-- #include file="inc/DvADChar.asp" --> <!-- #include file="inc/GroupPermission.asp" --> <!--#include file=inc/md5.asp--> <% Head() Server.ScriptTimeout=999999 dim Str dim admin_flag admin_flag="9,10" founderr=False if not Mybbs.master or instr(","&session("flag")&",",",9,")=0 or instr(","&session("flag")&",",",10,")=0 then Errmsg=ErrMsg + "<BR><li>本页面为管理员专用,请<a href=admin_index.asp target=_top>登录</a>后进入。<br><li>您没有管理本页面的权限。" dvbbs_error() else call main() footer() end if sub main() %> <table width="95%" border="0" cellspacing="0" cellpadding="0" align=center class="tableBorder"> <tr> <th width="100%" class="tableHeaderText" colspan=2 height=25>论坛管理 </th> </tr> <tr> <td class="forumRowHighlight" colspan=2> <p><B>注意</B>:<BR>①删除论坛同时将删除该论坛下所有帖子!删除分类同时删除下属论坛和其中帖子! 操作时请完整填写表单信息。<BR>②如果选择<B>复位所有版面</B>,则所有版面都将作为一级论坛(分类),这时您需要重新对各个版面进行归属的基本设置,<B>不要轻易使用该功能</B>,仅在做出了错误的设置而无法复原版面之间的关系和排序的时候使用,在这里您也可以只针对某个分类进行复位操作(见分类的更多操作下拉菜单),具体请看操作说明<BR><font color=blue>每个版面的更多操作请见下拉菜单,操作前请仔细阅读说明,分类下拉菜单中比别的版面增加了分类排序和分类复位功能</font> </td> </tr> <tr> <td class="forumRowHighlight" height=25> <B>论坛操作选项</B></td> <td class="forumRowHighlight"><a href="admin_board.asp">论坛管理首页</a> | <a href="admin_board.asp?action=add">新建论坛版面</a> | <a href="?action=settemplates">模板风格批量设置</a> | <a href="?action=orders">一级分类排序</a> | <a href="?action=boardorders">N级分类排序</a> | <a href="?action=RestoreBoard" onclick="{if(confirm('复位所有版面将把所有版面恢复成为一级大分类,复位后要对所有版面重新进行归属的基本设置,请慎重操作,确定复位吗?')){return true;}return false;}">复位所有版面</a> | <a href="?action=RestoreBoardCache" onclick="{if(confirm('有时候您对论坛版面的修改在前台看不出修改效果,这很可能是相应版面的缓存没有生效所致,在这里将重建所有版面的缓存,如果您的版面很多,这将消耗您一定的时间,确定吗?')){return true;}return false;}">重建版面缓存</a> </td> </tr> </table> <p></p> <% select case Request("action") case "add" call add() case "edit" call edit() case "savenew" call savenew() case "savedit" call savedit() case "del" call del() case "orders" call orders() case "updatorders" call updateorders() case "boardorders" call boardorders() case "updatboardorders" call updateboardorders() case "addclass" call addclass() case "saveclass" call saveclass() case "del1" call del1() case "mode" call mode() case "savemod" call savemod() case "permission" call boardpermission() case "editpermission" call editpermission() case "RestoreBoard" call RestoreBoard() Case "RestoreBoardCache" Call RestoreBoardCache() Case "clearDate" Call clearDate Case "delDate" Call delDate Case "RestoreClass" Call RestoreClass Case "handorders" Call handorders Case "savehandorders" Call savehandorders Case "savesid" Call savesid Case "upallsid" Call upallsid Case "settemplates" Call Settemplates Case else call boardinfo() end select end Sub Sub upallsid() Dim Sid,cid SID= Request("Sid") Cid=Request("cid") Mybbs.Execute("Update Dv_board set Sid="&CLng(SID)&",cid="&cid&"") Call Mybbs.LoadBoardsInfo() Dv_suc("论坛模板统一设置成功!") End Sub Sub savesid Dim i,boardid,TempStr Dim Templateslist,sid,j,bid,cid sid="" For Each TempStr in Request.form("upboardid") If Bid="" Then Bid=TempStr Else Bid=Bid&","&TempStr End If Next Bid=split(Bid,",") For i=0 to UBound(bid) If sid="" Then sid=Request("sid"&bid(i)) cid=Request("cid"&bid(i)) Else sid=sid&","&Request("sid"&bid(i)) cid=cid&","&Request("cid"&bid(i)) End If Next sid=split(sid,",") Cid=split(cid,",") Mybbs.Name="Templateslist" If Mybbs.ObjIsEmpty() Then Mybbs.ReloadTemplateslist() Templateslist= Mybbs.Value Templateslist=split(Templateslist,"@@@") For i=0 to UBound(Templateslist) templateslist(i)=split(Templateslist(i),"|||") boardid="" For J=0 to UBound(Bid) If CLng(Templateslist(i)(0))=CLng(Sid(j)) Then If boardid="" Then boardid=bid(j) Else boardid=boardid&","&bid(j) End If End If Next If boardid<>"" Then '更新SID 'Response.Write "Update Dv_board set Sid="&CLng(Templateslist(i)(0))&" Where BoardId In("&Boardid&") " Mybbs.Execute("Update Dv_board set Sid="&CLng(Templateslist(i)(0))&" Where BoardId In("&Boardid&") ") End If Next '更新cid For i=0 to UBound(bid) Mybbs.Execute("Update Dv_board set cid="&CLng(cid(i))&" Where BoardId="&bid(i)&" ") Next Call Mybbs.LoadBoardsInfo() Dv_suc("论坛模板批量设置成功!") End Sub Sub Settemplates Dim reBoard_Setting,MoreMenu,i Dim Templateslist Mybbs.Name="Templateslist" If Mybbs.ObjIsEmpty() Then Mybbs.ReloadTemplateslist() Templateslist= Mybbs.Value Templateslist=split(Templateslist,"@@@") For i=0 to UBound(Templateslist) templateslist(i)=split(Templateslist(i),"|||") Next %> <form action ="admin_board.asp?action=upallsid" method=post name="dv"> <table cellspacing="0" cellpadding="0" align=center Class="tableBorder" style="width:98%" > <tr> <th colspan="2" class="tableHeaderText" align=center height=25>模 板 统 一 设 置 </th> </tr> <tr> <td width=300 align=Left class="forumRowHighlight" ><B>所有论坛设置为:</b> 模板 <script language="javascript"> <% Dim cssdata Response.Write "var StyleId="&Mybbs.cachedata(17,0)&";" Response.Write "var Cssid="&Mybbs.cachedata(30,0)&";" For i=0 to UBound(Templateslist) Mybbs.SkinID=Templateslist(i)(0) Mybbs.name="Forum_CSS"&Templateslist(i)(0) If Mybbs.ObjIsEmpty() Then Mybbs.TemplatesToCache ("Forum_CSS") cssdata=Mybbs.value cssdata=Split(cssdata,"@@@") Response.Write "var css_Option"&Templateslist(i)(0)&"='"&cssdata(0)&"';" Response.Write chr(10) Next %> </script> <select name="sid" onChange="Changeoption(this.value)" > <% For i=0 to UBound(Templateslist) Response.Write "<option value="""&Templateslist(i)(0)&"""" If CLng(Templateslist(i)(0)) = CLng(Mybbs.cachedata(17,0)) Then Response.Write " selected" End If Response.Write ">"&Templateslist(i)(1)&"</option>" Next %> </Select> </td> <td width=300 align=Left class="forumRowHighlight" > 风格 <select name=cid > <option value="" >选择风格皮肤</option> </select> <Input type="submit" name="Submit" value="设 定"></td> </tr> </table><BR> </form> <SCRIPT LANGUAGE="JavaScript"> <!-- function Changeoption(sid) { var NewOption=eval("css_Option"+sid).split("|||"); var j=eval('document.dv.cid.length;'); for (i=0;i<j;i++){ eval('document.dv.cid.options[j-i]=null;') } for (i=0;i<NewOption.length-1;i++){ tempoption=new Option(NewOption[i],i); eval('document.dv.cid.options[i]=tempoption;'); if (Cssid==i&&sid==StyleId){ eval('document.dv.cid.options[i].selected=true;'); } } } var forum_sid=eval('document.dv.sid.value;'); Changeoption(forum_sid); //--> </SCRIPT> <form action ="admin_board.asp?action=savesid" method=post name="dv1"> <table cellspacing="0" cellpadding="0" align=center Class="tableBorder" style="width:98%" > <tr> <th width="70%" class="tableHeaderText" align=Left height=25>论坛版面 </th> <th width="30%" class="tableHeaderText" align=Left height=25>采用模板 </th> </tr> <% dim classrow sql="select * from dv_board order by rootid,orders" set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 do while not rs.eof reBoard_Setting=split(rs("Board_setting"),",") if classrow="forumRowHighlight" then classrow="forumRow" else classrow="forumRowHighlight" end if %> <tr> <td height="25" class="<%=classrow%>"> <%if rs("depth")>0 then%> <%for i=1 to rs("depth")%> <%next%> <%end if%> <%if rs("child")>0 then%><img src="skins/default/plus.gif"><%else%><img src="skins/default/nofollow.gif"><%end if%> <%if rs("parentid")=0 then%><b><%end if%><%=rs("boardtype")%><%if rs("child")>0 then%>(<%=rs("child")%>)<%end if%> <%if rs("parentid")=0 then%></b><%end if%> </td> <td align=Left class="<%=classrow%>" > <select name="sid<%=Rs("BoardID")%>" onChange="Changeoption<%=RS("BoardID")%>(this.value)" > <% For i=0 to UBound(Templateslist) Response.Write "<option value="""&Templateslist(i)(0)&"""" If CLng(Templateslist(i)(0)) = Rs("Sid") Then Response.Write " selected" End If Response.Write ">"&Templateslist(i)(1)&"</option>" Next %> </select> <select name=cid<%=Rs("BoardID")%> > <option value="" >选择风格皮肤</option> </select> <Input type="hidden" name="upboardid" value="<%=rs("boardid")%>"> </td></tr> <script language="javascript"> <% Response.Write "var StyleId"&Rs("BoardID")&"="&Rs("Sid")&";" Response.Write "var Cssid"&Rs("BoardID")&"="&Rs("Cid")&";" %> </script> <SCRIPT LANGUAGE="JavaScript"> <!-- function Changeoption<%=Rs("BoardID")%>(sid) { var NewOption=eval("css_Option"+sid).split("|||"); var j=eval('document.dv1.cid<%=Rs("BoardID")%>.length;'); for (i=0;i<j;i++){ eval('document.dv1.cid<%=Rs("BoardID")%>.options[j-i]=null;') } for (i=0;i<NewOption.length-1;i++){ tempoption=new Option(NewOption[i],i); eval('document.dv1.cid<%=Rs("BoardID")%>.options[i]=tempoption;'); if (Cssid<%=Rs("BoardID")%>==i&&sid==StyleId<%=Rs("BoardID")%>){ eval('document.dv1.cid<%=Rs("BoardID")%>.options[i].selected=true;'); } } } var forum_sid=eval('document.dv1.sid<%=Rs("BoardID")%>.value;'); Changeoption<%=Rs("BoardID")%>(StyleId); //--> </SCRIPT> <% Rs.movenext loop set rs=nothing %> <tr> <td width=300 align=Left class="forumRowHighlight" ></td> <td width=300 align=Left class="forumRowHighlight" ><input type="submit" name="Submit" value="设 定"></td> </tr> </table><BR><BR> </form> <% End Sub sub boardinfo() Dim reBoard_Setting,MoreMenu Dim classrow,iii %> <table width="95%" cellspacing="0" cellpadding="0" align=center class="tableBorder"> <tr> <th width="35%" class="tableHeaderText" height=25>论坛版面 </th> <th width="35%" class="tableHeaderText" height=25>操作 </th> </tr> <% SQL="select boardid,boardtype,parentid,depth,child,Board_setting from dv_board order by rootid,orders" SET Rs = Conn.Execute(SQL) If Rs.eof Then Rs.close:Set Rs = Nothing Else SQL=Rs.GetRows(-1) Rs.close:Set Rs = Nothing For iii=0 To Ubound(SQL,2) reBoard_Setting=split(SQL(5,iii),",") if classrow="forumRowHighlight" then classrow="forumRow" else classrow="forumRowHighlight" end if Response.Write "<tr>" Response.Write "<td height=""25"" width=""35%"" class=" Response.Write classrow Response.Write ">" if SQL(3,iii)>0 then for i=1 to SQL(3,iii) Response.Write " " next end if if SQL(4,iii)>0 then Response.Write "<img src=""skins/default/plus.gif"">" else Response.Write "<img src=""skins/default/nofollow.gif"">" end if if SQL(2,iii)=0 then Response.Write "<b>" end if Response.Write SQL(1,iii) if SQL(4,iii)>0 then Response.Write "(" Response.Write SQL(4,iii) Response.Write ")" end if %> </td> <td width=65% align=center class="<%=classrow%>"> <a href="admin_board.asp?action=add&editid=<%=SQL(0,iii)%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>添加版面</U></font></a> | <a href="admin_board.asp?action=edit&editid=<%=SQL(0,iii)%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>基本设置</U></font></a> | <a href="admin_BoardSetting.asp?editid=<%=SQL(0,iii)%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>高级设置</U></font></a> <% if reBoard_Setting(2)=0 then MoreMenu=MoreMenu & "<div class=menuitems><a href=admin_vipboard.asp?boardid="&SQL(0,iii)&"><font color="&Mybbs.mainsetting(3)&"><U>VIP论坛申请</U></font></a></div>" elseif reBoard_Setting(2)=0 and reBoard_Setting(46)>0 then MoreMenu=MoreMenu & "<div class=menuitems><a href=admin_vipboard.asp?boardid="&SQL(0,iii)&"&action=reinstall><font color="&Mybbs.mainsetting(3)&"><U>激活VIP论坛</U></font></a></div>" elseif reBoard_Setting(2)=1 and reBoard_Setting(46)>0 then MoreMenu=MoreMenu & "<div class=menuitems><a href=admin_vipboard.asp?action=showvipuser&boardid="&SQL(0,iii)&"><font color="&Mybbs.mainsetting(3)&"><U>查看VIP用户</U></font></a></div>" end if if reBoard_Setting(2)=1 then MoreMenu=MoreMenu & "<div class=menuitems><a href=admin_board.asp?action=mode&boardid="&SQL(0,iii)&"><font color="&Mybbs.mainsetting(3)&"><U>认证用户</U></font></a></div>" end if MoreMenu=MoreMenu & "<div class=menuitems><a href=admin_update.asp?action=updat&submit=更新论坛数据&boardid="&SQL(0,iii)&" title=更新最后回复、帖子数、回复数><font color="&Mybbs.mainsetting(3)&"><U>更新数据</U></font></a></div><div class=menuitems><a href=# onclick=alertreadme(\'清空将包括该论坛所有帖子置于回收站,确定清空吗?\',\'admin_update.asp?action=delboard&boardid="&SQL(0,iii)&"\')><font color="&Mybbs.mainsetting(3)&"><U>清空版面数据</U></font></a></div>" if SQL(4,iii)=0 then MoreMenu=MoreMenu & "<div class=menuitems><a href=# onclick=alertreadme(\'删除将包括该论坛的所有帖子,确定删除吗?\',\'admin_board.asp?action=del&editid="&SQL(0,iii)&"\')><font color="&Mybbs.mainsetting(3)&"><U>删除版面</U></font></a></div>" else MoreMenu=MoreMenu & "<div class=menuitems><a href=# onclick=alertreadme(\'该论坛含有下属论坛,必须先删除其下属论坛方能删除本论坛!\',\'#\')><font color="&Mybbs.mainsetting(3)&"><U>删除版面</U></font></a></div>" end if MoreMenu=MoreMenu & "<div class=menuitems><a href=admin_Board.asp?action=clearDate&boardid="&SQL(0,iii)&"><font color="&Mybbs.mainsetting(3)&"><u>清理数据</u></font></a></div>" If SQL(2,iii)=0 Then MoreMenu=MoreMenu & "<div class=menuitems><a href=# onclick=alertreadme(\'复位该分类将会把该分类下的所有版面都复位成二级版面,包括原来的多级分类都将复位成二级版面,请慎重操作,确定复位吗?\',\'?action=RestoreClass&classid="&SQL(0,iii)&"\')><font color="&Mybbs.mainsetting(3)&"><u>复位该分类</u></font></a></div><div class=menuitems><a href=?action=handorders&classid="&SQL(0,iii)&"><font color="&Mybbs.mainsetting(3)&"><u>分类排序(手动)</u></font></a></div>" End If %> | <a href="#" onMouseOver="showmenu(event,'<%=MoreMenu%>')" style="CURSOR:hand"><font color=<%=Mybbs.mainsetting(3)%>><u>更多操作</u></font></a> </td></tr> <% MoreMenu="" Next End If %> </table><BR><BR> <SCRIPT LANGUAGE="JavaScript"> <!-- function alertreadme(str,url){ {if(confirm(str)){ location.href=url; return true; }return false;} } //--> </SCRIPT> <% end sub sub add() dim rs_c Dim forum_sid,forum_cid,Style_Option,TempOption set rs_c= server.CreateObject ("adodb.recordset") sql = "select * from dv_board order by rootid,orders" rs_c.open sql,conn,1,1 dim boardnum set rs = server.CreateObject ("Adodb.recordset") sql="select Max(boardid) from dv_board" rs.open sql,conn,1,1 if rs.eof and rs.bof then boardnum=1 else boardnum=rs(0)+1 end if if isnull(boardnum) then boardnum=1 if boardnum=444 then boardnum=445 if boardnum=777 then boardnum=778 rs.close %> <form action ="admin_board.asp?action=savenew" method=post name=theform> <input type="hidden" name="newboardid" value=<%=boardnum%>> <table width="85%" border="0" cellspacing="1" cellpadding="0" align=center class="tableBorder"> <tr> <th height=24 colspan=2><B>添加新论坛</th> </tr> <tr> <td width="100%" height=30 class="forumrowHighLight" colspan=2> 说明:<BR>1、添加论坛版面后,相关的设置均为默认设置,请返回论坛版面管理首页版面列表的高级设置中设置该论坛的相应属性,如果您想对该论坛做更具体的权限设置,请到<A HREF="admin_board.asp?action=permission"><font color=blue>论坛权限管理</font></A>中设置相应用户组在该版面的权限。<BR> 2、<font color=blue>如果您添加的是论坛分类</font>,只需要在所属分类中选择作为论坛分类即可;<font color=blue>如果您添加的是论坛版面</font>,则要在所属分类中确定并选择该论坛版面的上级版面 </td> </tr> <tr> <td width="40%" height=30 class="forumrow">论坛名称</td> <td width="60%" class="forumrow"> <input type="text" name="boardtype" size="35"> </td> </tr> <tr> <td width="40%" height=24 class="forumrow">版面说明<BR>可以使用HTML代码</td> <td width="60%" class="forumrow"> <textarea name="Readme" cols="40" rows="3"></textarea> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>所属类别</U></td> <td width="60%" class="forumrow"> <select name=class> <option value="0">做为论坛分类</option> <% do while not rs_c.EOF%> <option value="<%=rs_c("boardid")%>" <%if request("editid")<>"" and clng(request("editid"))=rs_c("boardid") then%>selected<%end if%>> <%if rs_c("depth")>0 then%> <%for i=1 to rs_c("depth")%> <%next%> <%end if%><%=rs_c("boardtype")%></option> <% rs_c.MoveNext loop rs_c.Close %> </select> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>使用设置模板</U><BR>相关模板中包含论坛颜色、图片<BR>等信息</td> <td width="60%" class="forumrow"> <% set rs_c= server.CreateObject ("adodb.recordset") sql = "select id,StyleName,Forum_CSS from dv_style" rs_c.open sql,conn,1,1 if rs_c.eof and rs_c.bof then response.write "请先添加风格" else sql=rs_c.GetRows(-1) forum_sid=SQL(0,0) forum_cid=0 Response.Write "<SCRIPT LANGUAGE=""JavaScript"">" Response.Write chr(10) Response.Write "var StyleId="&forum_sid&";" Response.Write "var Cssid="&forum_cid&";" Response.Write chr(10) For i=0 To Ubound(SQL,2) Style_Option=Style_Option+"<option value=" Style_Option=Style_Option&SQL(0,i) If forum_sid=SQL(0,i) Then Style_Option=Style_Option+" selected " Style_Option=Style_Option+" >"+SQL(1,i)+"</option>" TempOption=Split(SQL(2,i),"@@@") Response.Write "var css_Option"&SQL(0,i)&"='"&TempOption(0)&"';" Response.Write chr(10) Next Response.Write "</SCRIPT>" End If rs_c.close:Set rs_c=Nothing %> 模板:<select name=sid onChange="Changeoption(this.value)"> <% Response.Write Style_Option %> </select> 风格:<select name=cid onChange=""> <option value="" >选择风格皮肤</option> </select> <SCRIPT LANGUAGE="JavaScript"> <!-- function Changeoption(sid) { var NewOption=eval("css_Option"+sid).split("|||"); var j=eval('document.theform.cid.length;'); for (i=0;i<j;i++){ eval('document.theform.cid.options[j-i]=null;') } for (i=0;i<NewOption.length-1;i++){ tempoption=new Option(NewOption[i],i); eval('document.theform.cid.options[i]=tempoption;'); if (Cssid==i&&sid==StyleId){ eval('document.theform.cid.options[i].selected=true;'); } } } var forum_sid=eval('document.theform.sid.value;'); Changeoption(forum_sid); //--> </SCRIPT> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>论坛版主</U><BR>多斑竹添加请用|分隔,如:沙滩小子|wodeail</td> <td width="60%" class="forumrow"> <input type="text" name="boardmaster" size="35"> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>首页显示论坛图片</U><BR>出现在首页论坛版面介绍左边<BR>请直接填写图片URL</td> <td width="60%" class="forumrow"> <input type="text" name="indexIMG" size="35"> </td> </tr> <tr> <td width="40%" height=24 class="forumRow"> </td> <td width="60%" class="forumRow"> <input type="submit" name="Submit" value="添加论坛"> </td> </tr> </table> </form> <% set rs_c=nothing set rs=nothing end sub sub edit() dim rs_c,reBoard_Setting Dim forum_sid,forum_cid,Style_Option,TempOption sql = "select * from dv_board order by rootid,orders" set rs_c=Mybbs.Execute(sql) sql = "select * from dv_board where boardid="&request("editid") set rs=Mybbs.Execute(sql) reBoard_Setting=split(rs("Board_setting"),",") forum_sid=rs("sid") forum_cid=rs("cid") %> <form action ="admin_board.asp?action=savedit" method=post name=theform> <input type="hidden" name=editid value="<%=Request("editid")%>"> <table width="85%" border="0" cellspacing="1" cellpadding="0" align=center class="tableBorder"> <tr> <th height=24 colspan=2>编辑论坛:<%=rs("boardtype")%></th> </tr> <tr> <td width="100%" height=30 class="forumrowHighLight" colspan=2> 说明:<BR>1、添加论坛版面后,相关的设置均为默认设置,请返回论坛版面管理首页版面列表的高级设置中设置该论坛的相应属性,如果您想对该论坛做更具体的权限设置,请到<A HREF="admin_board.asp?action=permission"><font color=blue>论坛权限管理</font></A>中设置相应用户组在该版面的权限。<BR> 2、<font color=blue>如果您添加的是论坛分类</font>,只需要在所属分类中选择作为论坛分类即可;<font color=blue>如果您添加的是论坛版面</font>,则要在所属分类中确定并选择该论坛版面的上级版面 </td> </tr> <tr> <td width="40%" height=30 class="forumrow">论坛名称</td> <td width="60%" class="forumrow"> <input type="text" name="boardtype" size="35" value="<%=Server.htmlencode(rs("boardtype"))%>" > </td> </tr> <tr> <td width="40%" height=24 class="forumrow">版面说明<BR>可以使用HTML代码</td> <td width="60%" class="forumrow"> <textarea name="Readme" cols="40" rows="3"><%=server.HTMLEncode(Rs("readme")&"")%></textarea> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>所属类别</U><BR>所属论坛不能指定为当前版面<BR>所属论坛不能指定为当前版面的下属论坛</td> <td width="60%" class="forumrow"> <select name=class> <option value="0">做为论坛分类</option> <% do while not rs_c.EOF%> <option value="<%=rs_c("boardid")%>" <% if cint(rs("parentid")) = rs_c("boardid") then%> selected <%end if%>><%if rs_c("depth")>0 then%> <%for i=1 to rs_c("depth")%> - <%next%> <%end if%><%=rs_c("boardtype")%></option> <% rs_c.MoveNext loop rs_c.Close %> </select> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>使用设置模板</U><BR>相关模板中包含论坛颜色、图片<BR>等信息</td> <td width="60%" class="forumrow"> <% set rs_c= server.CreateObject ("adodb.recordset") sql = "select id,StyleName,Forum_CSS from dv_style" rs_c.open sql,conn,1,1 if rs_c.eof and rs_c.bof then response.write "请先添加风格" else sql=rs_c.GetRows(-1) Response.Write "<SCRIPT LANGUAGE=""JavaScript"">" Response.Write chr(10) Response.Write "var StyleId="&forum_sid&";" Response.Write "var Cssid="&forum_cid&";" Response.Write chr(10) For i=0 To Ubound(SQL,2) Style_Option=Style_Option+"<option value=" Style_Option=Style_Option&SQL(0,i) If forum_sid=SQL(0,i) Then Style_Option=Style_Option+" selected " Style_Option=Style_Option+" >"+SQL(1,i)+"</option>" TempOption=Split(SQL(2,i),"@@@") Response.Write "var css_Option"&SQL(0,i)&"='"&TempOption(0)&"';" Response.Write chr(10) Next Response.Write "</SCRIPT>" End If rs_c.close:Set rs_c=Nothing %> 模板:<select name=sid onChange="Changeoption(this.value)"> <% Response.Write Style_Option %> </select> 风格:<select name=cid onChange=""> <option value="" >选择风格皮肤</option> </select> <SCRIPT LANGUAGE="JavaScript"> <!-- function Changeoption(sid) { var NewOption=eval("css_Option"+sid).split("|||"); var j=eval('document.theform.cid.length;'); for (i=0;i<j;i++){ eval('document.theform.cid.options[j-i]=null;') } for (i=0;i<NewOption.length-1;i++){ tempoption=new Option(NewOption[i],i); eval('document.theform.cid.options[i]=tempoption;'); if (Cssid==i&&sid==StyleId){ eval('document.theform.cid.options[i].selected=true;'); } } } var forum_sid=eval('document.theform.sid.value;'); Changeoption(forum_sid); //--> </SCRIPT> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>论坛版主</U><BR>多斑竹添加请用|分隔,如:沙滩小子|wodeail</td> <td width="60%" class="forumrow"> <input type="text" name="boardmaster" size="35" value='<%=rs("boardmaster")%>'> <input type="hidden" name="oldboardmaster" value='<%=rs("boardmaster")%>'> </td> </tr> <tr> <td width="40%" height=30 class="forumrow"><U>首页显示论坛图片</U><BR>出现在首页论坛版面介绍左边<BR>请直接填写图片URL</td> <td width="60%" class="forumrow"> <input type="text" name="indexIMG" size="35" value="<%=enfixjs(rs("indexIMG"))%>"> </td> </tr> <tr> <td width="40%" height=24 class="forumrow"> </td> <td width="60%" class="forumrow"> <input type="submit" name="Submit" value="提交修改"> </td> </tr> <tr> <td width="100%" height=30 class="forumrowHighLight" colspan=2 align=right> <a href="admin_board.asp?action=add&editid=<%=Request("editid")%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>添加版面</U></font></a> | <a href="admin_board.asp?action=edit&editid=<%=Request("editid")%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>基本设置</U></font></a> | <a href="admin_BoardSetting.asp?editid=<%=Request("editid")%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>高级设置</U></font></a> <%if reBoard_Setting(2)=1 then%> | <a href="admin_board.asp?action=mode&boardid=<%=Request("editid")%>"><font color="<%=Mybbs.mainsetting(3)%>"><U>认证用户</U></font></a> <%end if%> | <a href="admin_update.asp?action=updat&submit=更新论坛数据&boardid=<%=Request("editid")%>" title="更新最后回复、帖子数、回复数"><font color="<%=Mybbs.mainsetting(3)%>"><U>更新数据</U></font></a> | <a href="admin_update.asp?action=delboard&boardid=<%=Request("editid")%>" onclick="{if(confirm('清空将包括该论坛所有帖子置于回收站,确定清空吗?')){return true;}return false;}"><font color="<%=Mybbs.mainsetting(3)%>"><U>清空</U></font></a> | <%if rs("child")=0 then%><a href="admin_board.asp?action=del&editid=<%=Request("editid")%>" onclick="{if(confirm('删除将包括该论坛的所有帖子,确定删除吗?')){return true;}return false;}"><font color="<%=Mybbs.mainsetting(3)%>"><U>删除</U></a><%else%><a href="#" onclick="{if(confirm('该论坛含有下属论坛,必须先删除其下属论坛方能删除本论坛!')){return true;}return false;}"><font color="<%=Mybbs.mainsetting(3)%>"><U>删除</U></a><%end if%> | <a href="admin_Board.asp?action=clearDate&boardid=<%=Request("editid")%>"> <font color="<%=Mybbs.mainsetting(3)%>"><u>清理数据</u></a> </td> </tr> </table> </form> <% rs.close set rs=nothing set rs_c=nothing end sub sub mode() dim boarduser %> <form action ="admin_board.asp?action=savemod" method=post> <table width="95%" class="tableBorder" cellspacing="1" cellpadding="1" align="center"> <tr> <th width="52%" height=22>说明:</th> <th width="48%">操作:</th> </tr> <tr> <td width="52%" height=22 class=forumrow><B>论坛名称</B></td> <td width="48%" class=forumrow> <% set rs= server.CreateObject ("adodb.recordset") sql="select boardid,boardtype,boarduser from dv_board where boardid="&request("boardid") rs.open sql,conn,1,1 if rs.eof and rs.bof then response.write "该版面并不存在或者该版面不是加密版面。" Else response.write rs(1) response.write "<input type=hidden value="&rs(0)&" name=boardid>" boarduser=rs(2) end if rs.close set rs=nothing %> </td> </tr> <tr> <td width="52%" class=forumrow><B>认证用户</B>:<br> 只有设定为认证论坛的论坛需要填写能够进入该版面的用户,每输入一个用户请确认用户名在论坛中存在,每个用户名用<B>回车</B>分开</font> </td> <td width="48%" class=forumrow> <textarea cols=35 rows=6 name="vipuser"> <%if not isnull(boarduser) or boarduser<>"" then response.write Replace(boarduser,",",Chr(10)) end if%></textarea> </td> </tr> <tr> <td width="52%" height=22 class=forumrow> </td> <td width="48%" class=forumrow> <input type="submit" name="Submit" value="设 定"> </td> </tr> </table> </form> <% End Sub '保存编辑论坛认证用户信息 '入口:用户列表字符串 sub savemod() dim boarduser dim boarduser_1 dim userlen dim updateinfo If trim(request("vipuser"))<>"" then boarduser=request("vipuser") boarduser=split(boarduser,chr(13)&chr(10)) for i = 0 to ubound(boarduser) if not (boarduser(i)="" or boarduser(i)=" ") then boarduser_1=""&boarduser_1&""&boarduser(i)&"," end if next userlen=len(boarduser_1) if boarduser_1<>"" then boarduser=left(boarduser_1,userlen-1) updateinfo=" boarduser='"&boarduser&"' " Mybbs.Execute("update dv_board set "&updateinfo&" where boardid="&request("boardid")) Dv_suc("论坛设置成功!<LI>成功添加认证用户:"&boarduser&"<LI><a href=""?action=RestoreBoardCache"" >请执行重建版面缓存才能生效</a><br>") else response.write "<p><font color=red>你没有添加认证用户</font><br><br>" Exit Sub end if Else response.write "<p><font color=red>你没有添加认证用户</font><br><br>" End If End Sub '保存添加论坛信息 sub savenew() if request("boardtype")="" then Errmsg=Errmsg+"<br>"+"<li>请输入论坛名称。" founderr=true end if if request("class")="" then Errmsg=Errmsg+"<br>"+"<li>请选择论坛分类。" founderr=true end if if request("readme")="" then Errmsg=Errmsg+"<br>"+"<li>请输入论坛说明。" founderr=true end if if founderr=true then dvbbs_error() exit sub end if dim boardid dim rootid dim parentid dim depth dim orders dim Fboardmaster dim maxrootid dim parentstr if request("class")<>"0" then set rs=Mybbs.Execute("select rootid,boardid,depth,orders,boardmaster,ParentStr from dv_board where boardid="&request("class")) rootid=rs(0) parentid=rs(1) depth=rs(2) orders=rs(3) if depth+1>20 then Errmsg="本论坛限制最多只能有20级分类" dvbbs_error() exit sub end if parentstr=rs(5) else set rs=Mybbs.Execute("select max(rootid) from dv_board") maxrootid=rs(0)+1 if isnull(MaxRootID) then MaxRootID=1 end if sql="select boardid from dv_board where boardid="&request("newboardid") set rs=Mybbs.Execute(sql) if not (rs.eof and rs.bof) then Errmsg="您不能指定和别的论坛一样的序号。" dvbbs_error() exit sub else boardid=request("newboardid") end if dim trs,forumuser,setting set trs=Mybbs.Execute("select * from dv_setup") Setting=Split(trs("Forum_Setting"),"|||") forumuser=Setting(2) set rs = server.CreateObject ("adodb.recordset") sql = "select * from dv_board" rs.Open sql,conn,1,3 rs.AddNew if request("class")<>"0" then rs("depth")=depth+1 rs("rootid")=rootid rs("orders") = Request.form("newboardid") rs("parentid") = Request.Form("class") if ParentStr="0" then rs("ParentStr")=Request.Form("class") else rs("ParentStr")=ParentStr & "," & Request.Form("class") end if else rs("depth")=0 rs("rootid")=maxrootid rs("orders")=0 rs("parentid")=0 rs("parentstr")=0 end if rs("boardid") = Request.form("newboardid") rs("boardtype") = request.form("boardtype") rs("readme") =fixjs(Request.form("readme")) rs("TopicNum") = 0 rs("PostNum") = 0 rs("todaynum") = 0 rs("child")=0 rs("LastPost")="$0$"&Now()&"$$$$$" rs("Board_Setting")="0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,16240,3,0,gif|jpg|jpeg|bmp|png|rar|txt|zip|mid,0,0,1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1,0,0,100,30,10,9,12,1,10,10,0,0,0,0,1,4,0,1,4,0,0,0,200,0,0,0,0,0,0,0,1,0|0|0|0|0|0|0|0|0,0|0|0|0|0|0|0|0|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" rs("sid")=request.form("sid") rs("cid")=request.form("cid") rs("board_ads")=trs("forum_ads") rs("board_user")=forumuser if Request("boardmaster")<>"" then rs("boardmaster") = Request.form("boardmaster") end if if request.form("indexIMG")<>"" then rs("indexIMG")=fixjs(request.form("indexIMG")) end if rs.Update rs.Close if Request("boardmaster")<>"" then call addmaster(Request("boardmaster"),"none",0) if request("class")<>"0" then if depth>0 then '当上级分类深度大于0的时候要更新其父类(或父类的父类)的版面数和相关排序 for i=1 to depth '更新其父类版面数 if parentid<>"" then Mybbs.Execute("update dv_board set child=child+1 where boardid="&parentid) end if '得到其父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where boardid="&parentid) if not (rs.eof and rs.bof) then parentid=rs(0) end if '当循环次数大于1并且运行到最后一次循环的时候直接进行更新 if i=depth and parentid<>"" then Mybbs.Execute("update dv_board set child=child+1 where boardid="&parentid) end if next '更新该版面排序以及大于本需要和同在本分类下的版面排序序号 Mybbs.Execute("update dv_board set orders=orders+1 where rootid="&rootid&" and orders>"&orders) Mybbs.Execute("update dv_board set orders="&orders&"+1 where boardid="&Request.form("newboardid")) else '当上级分类深度为0的时候只要更新上级分类版面数和该版面排序序号即可 Mybbs.Execute("update dv_board set child=child+1 where boardid="&request("class")) set rs=Mybbs.Execute("select max(orders) from dv_board where boardid="&Request.form("newboardid")) Mybbs.Execute("update dv_board set orders="&rs(0)&"+1 where boardid="&Request.form("newboardid")) end if end if dv_suc("论坛添加成功!<br>该论坛目前高级设置为默认选项,建议您返回论坛管理中心重新设置该论坛的高级选项,<A HREF=admin_BoardSetting.asp?editid="&Request.form("newboardid")&">点击此处进入该版面高级设置</A><br>" & str) set rs=nothing trs.close set trs=nothing Mybbs.ReloadAllBoardInfo() Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Set tRs=Mybbs.Execute("Select RootID From Dv_Board Where BoardID="&Request.form("newboardid")) Dim UpdateRootID UpdateRootID = tRs(0) Set tRs=Mybbs.Execute("Select BoardID From Dv_Board Where RootID="&UpdateRootID&" Order By Orders") Do While Not tRs.Eof Mybbs.ReloadBoardInfo(tRs(0)) tRs.Movenext Loop Set tRs=Nothing Mybbs.DelCahe "BoardJumpList" Mybbs.DelCahe "MyAllBoardList" end sub '保存编辑论坛信息 sub savedit() if clng(request("editid"))=clng(request("class")) then Errmsg="所属论坛不能指定自己" dvbbs_error() exit sub end if dim newboardid,maxrootid dim parentid,boardmaster,depth,child,ParentStr,rootid,iparentid,iParentStr dim trs,brs,mrs Dim iii set rs = server.CreateObject ("adodb.recordset") sql = "select * from dv_board where boardid="&request("editid") rs.Open sql,conn,1,3 newboardid=rs("boardid") parentid=rs("parentid") iparentid=rs("parentid") boardmaster=rs("boardmaster") ParentStr=rs("ParentStr") depth=rs("depth") child=rs("child") rootid=rs("rootid") '判断所指定的论坛是否其下属论坛 if ParentID=0 then if clng(request("class"))<>0 then set trs=Mybbs.Execute("select rootid from dv_board where boardid="&request("class")) if rootid=trs(0) then errmsg="您不能指定该版面的下属论坛作为所属论坛1" dvbbs_error() exit sub end if end if else set trs=Mybbs.Execute("select boardid from dv_board where ParentStr like '%"&ParentStr&","&newboardid&"%' and boardid="&request("class")) if not (trs.eof and trs.bof) then errmsg="您不能指定该版面的下属论坛作为所属论坛2" dvbbs_error() exit sub end if end if if parentid=0 then parentid=rs("boardid") iparentid=0 end if rs("boardtype") = Request.Form("boardtype") '取消JS过滤。 'rs("parentid") = Request.Form("class") rs("boardmaster") = Request("boardmaster") rs("readme") = fixjs(Request("readme")) rs("indexIMG")=Simencodejs(request.form("indexIMG")) rs("sid")=Cint(request.form("sid")) rs("cid")=Cint(request.form("cid")) rs.Update rs.Close set rs=nothing if request("oldboardmaster")<>Request("boardmaster") then call addmaster(Request("boardmaster"),request("oldboardmaster"),1) set mrs=Mybbs.Execute("select max(rootid) from dv_board") Maxrootid=mrs(0)+1 mrs.close:set mrs=nothing '假如更改了所属论坛 '需要更新其原来所属版面信息,包括深度、父级ID、版面数、排序、继承版主等数据 '需要更新当前所属版面信息 '继承版主数据需要另写函数进行更新--取消,在前台可用boardid in parentstr来获得 dim k,nParentStr,mParentStr dim ParentSql,boardcount if clng(parentid)<>clng(request("class")) and not (iparentid=0 and cint(request("class"))=0) then '如果原来不是一级分类改成一级分类 if iparentid>0 and cint(request("class"))=0 then '更新当前版面数据 Mybbs.Execute("update dv_board set depth=0,orders=0,rootid="&maxrootid&",parentid=0,parentstr='0' where boardid="&newboardid) ParentStr=ParentStr & "," set rs=Mybbs.Execute("select count(*) from dv_board where ParentStr like '%"&ParentStr&"%'") boardcount=rs(0) if isnull(boardcount) then boardcount=1 else boardcount=boardcount+1 end if '更新其原来所属论坛版面数 Mybbs.Execute("update dv_board set child=child-"&boardcount&" where boardid="&iparentid) '更新其原来所属论坛数据,排序相当于剪枝而不需考虑 for i=1 to depth '得到其父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where boardid="&iparentid) if not (rs.eof and rs.bof) then iparentid=rs(0) Mybbs.Execute("update dv_board set child=child-"&boardcount&" where boardid="&iparentid) end if next if child>0 then '更新其下属论坛数据 '有下属论坛,排序不需考虑,更新下属论坛深度和一级排序ID(rootid)数据 '更新当前版面数据 'ParentStr=ParentStr & "," i=0 set rs=Mybbs.Execute("select * from dv_board where ParentStr like '%"&ParentStr&"%'") do while not rs.eof i=i+1 mParentStr=replace(rs("ParentStr"),ParentStr,"") Mybbs.Execute("update dv_board set depth=depth-"&depth&",rootid="&maxrootid&",ParentStr='"&mParentStr&"' where boardid="&rs("boardid")) rs.movenext loop end if elseif iparentid>0 and cint(request("class"))>0 then '将一个分论坛移动到其他分论坛下 '获得所指定的论坛的相关信息 set trs=Mybbs.Execute("select * from dv_board where boardid="&request("class")) '得到其下属版面数 ParentStr=ParentStr & "," set rs=Mybbs.Execute("select count(*) from dv_board where ParentStr like '%"&ParentStr & newboardid&"%'") boardcount=rs(0) if isnull(boardcount) then boardcount=1 '在获得移动过来的版面数后更新排序在指定论坛之后的论坛排序数据 Mybbs.Execute("update dv_board set orders=orders + "&boardCount&" + 1 where rootid="&trs("rootid")&" and orders>"&trs("orders")&"") '更新当前版面数据 If trs("parentstr")="0" Then Mybbs.Execute("update dv_board set depth="&trs("depth")&"+1,orders="&trs("orders")&"+1,rootid="&trs("rootid")&",ParentID="&request("class")&",ParentStr='" & trs("boardid") & "' where boardid="&newboardid) Else Mybbs.Execute("update dv_board set depth="&trs("depth")&"+1,orders="&trs("orders")&"+1,rootid="&trs("rootid")&",ParentID="&request("class")&",ParentStr='" & trs("parentstr") & "," & trs("boardid") & "' where boardid="&newboardid) End If i=1 '如果有则更新下属版面数据 '深度为原有深度加上当前所属论坛的深度 set rs=Mybbs.Execute("select * from dv_board where ParentStr like '%"&ParentStr & newboardid&"%' order by orders") do while not rs.eof i=i+1 If trs("parentstr")="0" Then iParentStr=trs("boardid") & "," & replace(rs("parentstr"),ParentStr,"") Else iParentStr=trs("parentstr") & "," & trs("boardid") & "," & replace(rs("parentstr"),ParentStr,"") End If Mybbs.Execute("update dv_board set depth=depth+"&trs("depth")&"-"&depth&"+1,orders="&trs("orders")&"+"&i&",rootid="&trs("rootid")&",ParentStr='"&iParentStr&"' where boardid="&rs("boardid")) rs.movenext loop ParentID=request("class") if rootid=trs("rootid") then '在同一分类下移动 '更新所指向的上级论坛版面数,i为本次移动过来的版面数 '更新其父类版面数 Mybbs.Execute("update dv_board set child=child+"&i&" where (not ParentID=0) and boardid="&parentid) for k=1 to trs("depth") '得到其父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where (not ParentID=0) and boardid="&parentid) if not (rs.eof and rs.bof) then parentid=rs(0) '更新其父类的父类版面数 Mybbs.Execute("update dv_board set child=child+"&i&" where (not ParentID=0) and boardid="&parentid) end if next '更新其原父类版面数 Mybbs.Execute("update dv_board set child=child-"&i&" where (not ParentID=0) and boardid="&iparentid) '更新其原来所属论坛数据 'response.write iparentid & "<br>" for k=1 to depth '得到其原父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where (not ParentID=0) and boardid="&iparentid) if not (rs.eof and rs.bof) then iparentid=rs(0) 'response.write iparentid & "<br>" '更新其原父类的父类版面数 Mybbs.Execute("update dv_board set child=child-"&i&" where (not ParentID=0) and boardid="&iparentid) end if next else '更新所指向的上级论坛版面数,i为本次移动过来的版面数 '更新其父类版面数 Mybbs.Execute("update dv_board set child=child+"&i&" where boardid="&parentid) for k=1 to trs("depth") '得到其父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where boardid="&parentid) if not (rs.eof and rs.bof) then parentid=rs(0) '更新其父类的父类版面数 Mybbs.Execute("update dv_board set child=child+"&i&" where boardid="&parentid) end if next '更新其原父类版面数 Mybbs.Execute("update dv_board set child=child-"&i&" where boardid="&iparentid) '更新其原来所属论坛数据 for k=1 to depth '得到其原父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where boardid="&iparentid) if not (rs.eof and rs.bof) then iparentid=rs(0) '更新其原父类的父类版面数 Mybbs.Execute("update dv_board set child=child-"&i&" where boardid="&iparentid) end if next end if 'end if rootid=trs("rootid") then else '如果原来是一级论坛改成其他论坛的下属论坛 '得到所指定的论坛的相关信息 set trs=Mybbs.Execute("select * from dv_board where boardid="&request("class")) set rs=Mybbs.Execute("select count(*) from dv_board where rootid="&rootid) boardcount=rs(0) Rs.Close '更新所指向的上级论坛版面数,i为本次移动过来的版面数 ParentID=request("class") '更新其父类版面数 Mybbs.Execute("update dv_board set child=child+"&boardcount&" where boardid="&parentid) 'response.write parentid & "-"&boardcount&"<br>" for k=1 to trs("depth") '得到其父类的父类的版面ID set rs=Mybbs.Execute("select parentid from dv_board where boardid="&parentid) if not (rs.eof and rs.bof) then parentid=rs(0) '更新其父类的父类版面数 Mybbs.Execute("update dv_board set child=child+"&boardcount&" where boardid="&parentid) end if Rs.Close 'response.write parentid & "-"&boardcount&"<br>" next '在获得移动过来的版面数后更新排序在指定论坛之后的论坛排序数据 Mybbs.Execute("update dv_board set orders=orders + "&boardCount&" + 1 where rootid="&trs("rootid")&" and orders>"&trs("orders")&"") i=0 SQL = "select boardid,parentid,ParentStr from dv_board where rootid="&rootid&" order by orders" SET Rs = Mybbs.Execute(SQL) If Not Rs.eof Then SQL=Rs.GetRows(-1) Rs.close:Set Rs = Nothing For iii=0 To Ubound(SQL,2) i=i+1 if SQL(1,iii)=0 then if trs("ParentStr")="0" then parentstr=trs("boardid") else parentstr=trs("parentstr") & "," & trs("boardid") end if Mybbs.Execute("update dv_board set depth=depth+"&trs("depth")&"+1,orders="&trs("orders")&"+"&i&",rootid="&trs("rootid")&",ParentStr='"&ParentStr&"',parentid="&request("class")&" where boardid="&SQL(0,iii)) else if trs("ParentStr")="0" then parentstr=trs("boardid") & "," & SQL(2,iii) else parentstr=trs("parentstr") & "," & trs("boardid") & "," & SQL(2,iii) end if Mybbs.Execute("update dv_board set depth=depth+"&trs("depth")&"+1,orders="&trs("orders")&"+"&i&",rootid="&trs("rootid")&",ParentStr='"&ParentStr&"' where boardid="&SQL(0,iii)) end if Next Else Rs.close:Set Rs = Nothing End If End If End If dv_suc("论坛修改成功!<br>" & str) set trs=nothing 'cache版面数据 Mybbs.ReloadAllBoardInfo() Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Dim iUpdateRootID '原来的RootID iUpdateRootID=RootID '现在的RootID Set tRs=Mybbs.Execute("Select RootID From Dv_Board Where BoardID="&request("editid")) Dim UpdateRootID UpdateRootID = tRs(0) Set tRs=Mybbs.Execute("Select BoardID From Dv_Board Where RootID="&UpdateRootID&" Order By Orders") Do While Not tRs.Eof Mybbs.ReloadBoardInfo(tRs(0)) tRs.Movenext Loop '如果编辑版面更改了一级分类,即RootID不一样,则更新原RootID所属的论坛缓存 If iUpdateRootID<>UpdateRootID Then Set tRs=Mybbs.Execute("Select BoardID From Dv_Board Where RootID="&iUpdateRootID&" Order By Orders") Do While Not tRs.Eof Mybbs.ReloadBoardInfo(tRs(0)) tRs.Movenext Loop End If Set tRs=Nothing Mybbs.DelCahe "BoardJumpList" Mybbs.DelCahe "MyAllBoardList" 'end cache end sub '删除版面,删除版面帖子,入口:版面ID sub del() Dim trs '更新其上级版面论坛数,如果该论坛含有下级论坛则不允许删除 Set tRs=Mybbs.Execute("Select RootID From Dv_Board Where BoardID="&request("editid")) Dim UpdateRootID UpdateRootID = tRs(0) set rs=Mybbs.Execute("select ParentStr,child,depth from dv_board where boardid="&Request("editid")) if not (rs.eof and rs.bof) then if rs(1)>0 then response.write "该论坛含有下属论坛,请删除其下属论坛后再进行删除本论坛的操作" exit sub end if '如果有上级版面,则更新数据 if rs(2)>0 then Mybbs.Execute("update dv_board set child=child-1 where boardid in ("&rs(0)&")") Dim UpdateBoardID UpdateBoardID=Split(Rs(0),",") For i=0 To Ubound(UpdateBoardID) Mybbs.ReloadBoardInfo(UpdateBoardID(i)) Next end if sql = "delete from dv_board where boardid="&Request("editid") Mybbs.Execute(sql) for i=0 to ubound(AllPostTable) sql = "delete from "&AllPostTable(i)&" where boardid="&Request("editid") Mybbs.Execute(sql) next Mybbs.Execute("delete from dv_topic where boardid="&Request("editid")) Mybbs.Execute("delete from dv_besttopic where boardid="&Request("editid")) Mybbs.Execute("delete from dv_upfile where f_boardid="&Request("editid")) end if set rs=nothing Mybbs.ReloadAllBoardInfo() Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Set tRs=Mybbs.Execute("Select BoardID From Dv_Board Where RootID="&UpdateRootID&" Order By Orders") Do While Not tRs.Eof Mybbs.ReloadBoardInfo(tRs(0)) tRs.Movenext Loop Set tRs=Nothing 'Mybbs.ReloadBoardInfo(request("editid")) Mybbs.DelCahe "BoardJumpList" Mybbs.DelCahe "MyAllBoardList" response.write "<p>论坛删除成功!" end sub sub orders() %> <table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder"> <tr> <th height="22">论坛一级分类重新排序修改(请在相应论坛分类的排序表单内输入相应的排列序号) </th> </tr> <tr> <td class="Forumrow"><table width="50%"> <% set rs = server.CreateObject ("Adodb.recordset") sql="select * from dv_Board where ParentID=0 order by RootID" rs.open sql,conn,1,1 if rs.eof and rs.bof then response.write "还没有相应的论坛分类。" else do while not rs.eof response.write "<form action=admin_board.asp?action=updatorders method=post><tr><td width=""50%"">"&rs("boardtype")&"</td>" response.write "<td width=""50%""><input type=text name=""OrderID"" size=4 value="""&rs("rootid")&"""><input type=hidden name=""cID"" value="""&rs("rootid")&"""> <input type=submit name=Submit value=修改></td></tr></form>" rs.movenext loop %> </table> <BR> <font color=red>请注意,这里一定<B>不能填写相同的序号</B>,否则非常难修复!</font> <% end if rs.close set rs=nothing %> </td> </tr> </table> <% end sub sub updateorders() dim cID,OrderID,ClassName 'response.write request.form("cID")(1) 'response.end cID=replace(request.form("cID"),"'","") OrderID=replace(request.form("OrderID"),"'","") set rs=Mybbs.Execute("select boardid from dv_board where rootid="&orderid) if rs.eof and rs.bof Then Dv_suc("设置") Mybbs.Execute("update dv_board set rootid="&OrderID&" where rootid="&cID) else response.write "请不要和其他论坛设置相同的序号" end if Mybbs.ReloadAllBoardInfo() Dim Forum_Boards Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Forum_Boards=Split(Mybbs.CacheData(27,0),",") For i=0 To Ubound(Forum_Boards) Mybbs.ReloadBoardInfo(Forum_Boards(i)) Next end sub Sub Boardorders() %> <table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder"> <tr> <th height="22">论坛N级分类重新排序修改(请在相应论坛分类的排序表单内输入相应的排列序号) </th> </tr> <tr> <td class="Forumrow"><table width="90%"> <% Dim Trs, Uporders, Doorders Set Rs = Server.CreateObject ("Adodb.recordset") Sql = "SELECT Depth, Child, Parentid, Boardtype, Orders, BoardId FROM Dv_Board ORDER BY RootID, Orders" Set Rs = Mybbs.Execute(Sql) If Rs.Eof And Rs.Bof Then Response.Write "还没有相应的论坛分类。" Else Sql = Rs.GetRows(-1) Dim Bn Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) Response.Write "<form action=admin_board.asp?action=updatboardorders method=post><tr><td width=""50%"">" If Sql(0,Bn) > 0 Then For i = 1 To Sql(0,Bn) Response.Write " " Next End If If Sql(1,Bn) > 0 Then Response.Write "<img src=skins/default/plus.gif>" Else Response.Write "<img src=skins/default/nofollow.gif>" End If If Sql(2,Bn) = 0 Then Response.Write "<b>" End If Response.Write Sql(3,Bn) If Sql(1,Bn) > 0 Then Response.Write "(" & Sql(1,Bn) & ")" End If Response.Write "</td><td width=""50%"">" If Sql(2,Bn) > 0 Then '算出相同深度的版面数目,得到该版面在相同深度的版面中所处位置(之上或者之下的版面数) '所能提升最大幅度应为For i=1 to 该版之上的版面数 Set Trs = Mybbs.Execute("SELECT COUNT(*) FROM Dv_Board WHERE ParentID = " & Sql(2,Bn) & " AND ORDERS < " & Sql(4,Bn) &"") Uporders = Trs(0) If Isnull(Uporders) Then Uporders = 0 '所能降低最大幅度应为For i=1 to 该版之下的版面数 Set Trs = Mybbs.Execute("SELECT COUNT(*) FROM Dv_Board WHERE ParentID = " & Sql(2,Bn) &" AND ORDERS > " & Sql(4,Bn) &"") Doorders = Trs(0) If Isnull(doorders) Then Doorders = 0 If Uporders > 0 Then Response.Write "<select name=uporders size=1><option value=0>向上移动</option>" For i = 1 To Uporders Response.Write "<option value=" & i & ">" & i & "</option>" Next Response.Write "</select>" End If If Doorders > 0 Then If uporders > 0 Then Response.Write " " Response.Write "<select name=doorders size=1><option value=0>向下移动</option>" For i = 1 To Doorders Response.Write "<option value=" & i & ">" & i & "</option>" Next Response.Write "</select>" End If If Doorders > 0 Or Uporders > 0 Then Response.Write "<input type=hidden name=""editID"" value=""" & Sql(5,Bn) & """> <input type=submit name=Submit value=修改>" End If End If Response.Write "</td></tr></form>" Uporders = 0 Doorders = 0 Next Response.Write "</table>" End If %> </td> </tr> </table> <% End Sub Sub Updateboardorders() Dim ParentID, Orders, ParentStr, Child Dim Uporders, Doorders, Oldorders, Trs, ii Dim Bn If Not Isnumeric(Request("EditID")) Then Response.Write "非法的参数!" Exit Sub End If If Request("Uporders") <> "" And Not Cint(Request("Uporders")) = 0 Then If Not Isnumeric(Request("Uporders")) Then Response.Write "非法的参数!" Exit Sub Elseif Cint(Request("Uporders")) = 0 Then Response.Write "请选择要提升的数字!" Exit Sub End If '向上移动 '要移动的论坛信息 shinzeal加入rootid和depth作为更新所有相关版面的依据 Dim Rootid, Depth Set Rs = Mybbs.Execute("SELECT ParentID, Orders, ParentStr, Child, Rootid, Depth FROM Dv_Board WHERE Boardid = " & Request("EditID")) ParentID = Rs(0) Orders = Rs(1) ParentStr = Rs(2) & "," & Request("EditID") Child = Rs(3) Rootid = Rs(4) Depth = Rs(5) i = 0 Set Rs = Nothing If Child > 0 Then Set Rs = Mybbs.Execute("SELECT COUNT(*) FROM Dv_Board WHERE ParentStr LIKE '%" & ParentStr & "%' AND Rootid = " & Rootid) Oldorders = Rs(0) Else Oldorders = 0 End If 'shinzeal加入变量shin和shinlast记录更新后版面最大的orders Dim Shin, Shinlast Shin = 0 Shinlast = 0 '和该论坛同级且排序在其之上的论坛-更新其排序,最末者为当前论坛排序号 Set Rs = Nothing Set Rs = Mybbs.Execute("SELECT Boardid, Orders, Child, ParentStr FROM Dv_Board WHERE ParentID = " & ParentID & " AND Orders < " & Orders & " ORDER BY Orders DESC") If Not(Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) i = i + 1 If Cint(Request("Uporders")) >= i Then 'response.write "UPDATE Dv_Board SET Orders = " & orders & " WHERE Boardid = " & Sql(0,Bn) & "<br>" If Sql(2,Bn) > 0 Then ii = 0 Set Trs = Mybbs.Execute("SELECT Boardid, Orders FROM Dv_Board WHERE ParentStr like '%" & Sql(3,Bn) & "," & Sql(0,Bn) & "%' ORDER BY Orders") If Not (Trs.Eof And Trs.Bof) Then Do While Not Trs.Eof ii = ii + 1 Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & Oldorders & " + " & ii & " WHERE Boardid = " & Trs(0)) Shin = Orders + Oldorders + ii If Shin > Shinlast Then Shinlast = Shin Trs.Movenext Loop Trs.Close:Set Trs = Nothing End If End If Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & Oldorders & " WHERE Boardid = " & Sql(0,Bn)) Shin = Orders + Oldorders If Shin > Shinlast Then Shinlast = Shin If Cint(Request("Uporders")) = i Then Uporders = Sql(1,Bn) End If Orders = Sql(1,Bn) Next End If 'response.write "update dv_board set orders="&uporders&" where boardid="&request("editID") '更新所要排序的论坛的序号 Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Uporders & " WHERE Boardid = " & Request("EditID")) '如果有下属论坛,则更新其下属论坛排序 If Child > 0 Then i = Uporders Set Rs = Mybbs.Execute("SELECT Boardid FROM Dv_Board WHERE ParentStr Like '%" & ParentStr & "%' AND Depth > " & Depth & " ORDER BY ORDERS") If Not(Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) i = i + 1 Mybbs.Execute("UPDATE Dv_Board SET Orders = " & i & " WHERE Boardid = " & Sql(0,Bn)) Shin = i If Shin > Shinlast Then Shinlast = Shin Next End If End If 'shinzeal加入更新被提升论坛之下所有同级论坛的orders,避免和被更新论坛的下级论坛重复 Dim Shin1, Shinlast1 Shin1 = 0 Shinlast1 = 0 Set Rs = Mybbs.Execute("SELECT Boardid, Orders, Child, ParentStr FROM Dv_Board WHERE ParentID = " & ParentID & " AND Orders > " & Uporders & " ORDER BY Orders") If Not(Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) If Sql(2,Bn) > 0 Then ii = 0 Set Trs = Mybbs.Execute("SELECT Boardid, Orders FROM Dv_Board WHERE ParentStr LIKE '%" & Sql(3,Bn) & ", " & Sql(0,Bn) & "%' ORDER By Orders") If Not (Trs.Eof And Trs.Bof) Then Do While Not Trs.Eof ii = ii + 1 'response.write "update dv_board set orders="&orders&"+"&ii&" where boardid="&trs(0)&"-a<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & ii & " + " & Shinlast & " WHERE Boardid = " & Trs(0)) Shin1 = Orders + Oldorders + ii + Shinlast If Shin1 > Shinlast1 Then Shinlast1 = Shin1 Trs.Movenext Loop Trs.Close:Set Trs = Nothing End If End If 'response.write "update dv_board set orders="&orders&" where boardid="&rs(0)&"<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & Shinlast & " WHERE Boardid = " & Sql(0,Bn)) Shin1 = Orders + Oldorders + Shinlast If Shin1 > Shinlast1 Then Shinlast1 = Shin1 Orders = Sql(1,Bn) Next End If 'shinzeal加入更新被提升论坛上一级的orders在被更新论坛之后的论坛orders,防止orders互相交叉 Set Rs = Mybbs.Execute("SELECT Boardid, Orders, Child, ParentStr FROM Dv_Board WHERE RootID = " & RootID & " AND Orders> " & Uporders & " AND Depth < " & Depth & " ORDER BY Orders") If Not (Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) If Sql(2,Bn) > 0 Then ii = 0 Set Trs = Mybbs.Execute("SELECT Boardid, Orders FROM Dv_Board WHERE ParentStr LIKE '%" & Sql(3,Bn) & ", " & Sql(0,Bn) & "%' ORDER BY Orders") If Not (Trs.Eof And Trs.Bof) Then Do While Not Trs.Eof ii = ii + 1 'response.write "update dv_board set orders="&orders&"+"&ii&" where boardid="&trs(0)&"-a<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & ii & " + " & Shinlast1 & " WHERE Boardid = " & Trs(0)) Trs.Movenext Loop Trs.Close:Set Trs = Nothing End If End If 'response.write "update dv_board set orders="&orders&" where boardid=" & Sql(0,Bn) & "<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & Shinlast1 & " WHERE Boardid = " & Sql(0,Bn)) Orders = Sql(1,Bn) Next End If 'shinzeal对提升论坛的更新结束 Elseif Request("Doorders") <> "" Then If Not Isnumeric(Request("Doorders")) Then Response.Write "非法的参数!" Exit Sub Elseif Cint(Request("doorders")) = 0 Then Response.Write "请选择要下降的数字!" Exit Sub End If '要移动的论坛信息 shinzeal加入rootid和depth作为更新所有相关版面的依据 Set Rs = Mybbs.Execute("SELECT ParentID, Orders, ParentStr, Child, Rootid, Depth FROM Dv_Board WHERE Boardid = " & Request("EditID")) ParentID = Rs(0) Orders = Rs(1) ParentStr = Rs(2) & "," & Request("EditID") Child = Rs(3) Rootid = Rs(4) Depth = Rs(5) i = 0 Shin = 0 Shinlast = 0 Set Rs = Nothing Set Rs = Mybbs.Execute("SELECT Boardid, Orders, Child, ParentStr FROM Dv_Board WHERE ParentID = " & ParentID & " AND Orders > " & Orders & " ORDER BY Orders") If Not (Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) i = i + 1 If Cint(Request("Doorders")) >= i Then If Sql(2,Bn) > 0 Then ii = 0 Set Trs = Mybbs.Execute("SELECT Boardid, Orders FROM Dv_Board WHERE ParentStr LIKE '%" & Sql(3,Bn) & " , " & Sql(0,Bn) & "%' ORDER BY Orders") If Not (Trs.Eof And Trs.Bof) Then Do While Not Trs.Eof ii = ii + 1 'response.write "update dv_board set orders="&orders&"+"&ii&" where boardid="&trs(0)&"-a<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & ii & " WHERE Boardid = " & Trs(0)) Shin = Orders + ii If Shin > Shinlast Then Shinlast = Shin Trs.Movenext Loop Trs.Close:Set Trs = Nothing End If End If 'response.write "update dv_board set orders="&orders&" where boardid=" & Sql(0,Bn) & "<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " WHERE Boardid = " & Sql(0,Bn)) Shin = Orders If Shin > Shinlast Then Shinlast = Shin If Cint(Request("doorders")) = i Then Doorders = Sql(1,Bn) End If Orders = Sql(1,Bn) Next End If 'response.write "update dv_board set orders="&doorders&" where boardid="&request("editID")&"<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Shinlast + 1 & " WHERE Boardid = " & Request("EditID")) '如果有下属论坛,则更新其下属论坛排序 If Child > 0 Then i = Shinlast + 1 Set Rs = Mybbs.Execute("SELECT Boardid FROM Dv_Board WHERE ParentStr LIKE '%" & ParentStr & "%' AND Depth > " & Depth & " ORDER BY Orders") If Not (Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) i = i + 1 'response.write "update dv_board set orders="&i&" where boardid=" & Sql(0,Bn) & "-b<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & i & " WHERE Boardid = " & Sql(0,Bn)) shin = i If Shin > Shinlast Then Shinlast = Shin Next End If End If 'shinzeal加入更新被下降论坛之下所有同级论坛的orders,避免和被更新论坛的下级论坛重复 Shin1 = 0 Shinlast1 = 0 Set Rs = Mybbs.Execute("SELECT Boardid, Orders, Child, ParentStr FROM Dv_Board WHERE ParentID = " & ParentID & " AND Orders > " & Doorders & " ORDER BY Orders") If Not (Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) Orders = Sql(1,Bn) If Sql(2,Bn) > 0 Then ii = 0 Set Trs = Mybbs.Execute("SELECT Boardid, Orders FROM Dv_board WHERE ParentStr LIKE '%" & Sql(3,Bn) & "," & Sql(0,Bn) & "%' ORDER BY Orders") If Not (Trs.Eof And Trs.Bof) Then Do While Not Trs.Eof ii = ii + 1 'response.write "update dv_board set orders="&orders&"+"&ii&" where boardid="&trs(0)&"-a<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & ii & " + " & Shinlast & " WHERE Boardid = " & Trs(0)) Shin1 = Orders + ii + Shinlast If Shin1 > Shinlast1 Then Shinlast1 = Shin1 Trs.Movenext Loop Trs.Close:Set Trs = Nothing End If End If 'response.write "update dv_board set orders="&orders&" where boardid=" & Sql(0,Bn) & "<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & Shinlast & " WHERE Boardid = " & Sql(0,Bn)) Shin1 = Orders + Shinlast If Shin1 > Shinlast1 Then Shinlast1 = Shin1 Next End If 'shinzeal加入更新被下降论坛上一级的orders在被更新论坛之后的论坛orders,防止orders互相交叉 Set Rs = Mybbs.Execute("SELECT BoardId, Orders, Child, ParentStr FROM Dv_Board WHERE RootID = " & RootID & " AND Orders > " & Doorders & " AND Depth < " & Depth & " ORDER BY Orders") If Not (Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) Orders = Sql(1,Bn) If Sql(2,Bn) > 0 Then ii = 0 Set Trs = Mybbs.Execute("SELECT Boardid, Orders FROM Dv_Board WHERE ParentStr LIKE '%" & Sql(3,Bn) & "," & Sql(0,Bn) & "%' Order BY Orders") If Not (Trs.Eof And Trs.Bof) Then Do While Not Trs.Eof ii = ii + 1 'response.write "update dv_board set orders="&orders&"+"&ii&" where boardid="&trs(0)&"-a<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & ii & " + " & Shinlast1 & " WHERE Boardid = " & Trs(0)) Trs.Movenext Loop Trs.Close:Set Trs = Nothing End If End If 'response.write "update dv_board set orders="&orders&" where boardid=" & Sql(0,Bn) & "<br>" Mybbs.Execute("UPDATE Dv_Board SET Orders = " & Orders & " + " & Shinlast1 & " WHERE Boardid = " & Sql(0,Bn)) Next End If 'shinzeal对下降论坛的更新结束 End If Mybbs.ReloadAllBoardInfo() Mybbs.Name = "Setup" Mybbs.ReloadSetup Mybbs.CacheData = Mybbs.Value Set tRs = Mybbs.Execute("SELECT RootID FROM Dv_Board WHERE BoardID = " & Request("Editid")) Dim UpdateRootID UpdateRootID = tRs(0) Set tRs = Mybbs.Execute("SELECT BoardID FROM Dv_Board WHERE RootID = " & UpdateRootID & " ORDER BY Orders") Do While Not tRs.Eof Mybbs.ReloadBoardInfo(tRs(0)) tRs.Movenext Loop Set tRs = Nothing 'Mybbs.ReloadBoardInfo(request("editid")) Mybbs.DelCahe "BoardJumpList" Mybbs.DelCahe "MyAllBoardList" Response.Redirect "admin_board.asp?action=boardorders" End Sub Sub Addmaster(s,o,n) Dim Arr, Pw, Oarr Dim Classname, Titlepic Set Rs = Mybbs.Execute("SELECT Usertitle, GroupPic FROM Dv_Usergroups WHERE Usergroupid = 3 ORDER BY Minarticle DESC") If Not (Rs.Eof And Rs.Bof) Then Classname = Rs(0) Titlepic = Rs(1) End If Randomize Pw = Cint(Rnd * 9000) + 1000 Arr = Split(s,"|") Oarr = Split(o,"|") Set Rs = Server.Createobject("Adodb.Recordset") For i = 0 To Ubound(Arr) Sql = "SELECT * FROM [Dv_User] WHERE Username = '" & Arr(i) & "'" Rs.Open Sql,Conn,1,3 If Rs.Eof And Rs.Bof Then Rs.Addnew Rs("Username") = Arr(i) Rs("Userpassword") = Md5(Pw,16) Rs("Userclass") = Classname Rs("UserGroupID") = 3 Rs("Titlepic") = Titlepic Rs("UserWealth") = 100 Rs("Userep") = 30 Rs("Usercp") = 30 Rs("Userisbest") = 0 Rs("Userdel") = 0 Rs("Userpower") = 0 Rs("Lockuser") = 0 '加入更详细资料使登录与显示资料不会出错。 Rs("UserSex") = 1 Rs("UserEmail") = Arr(i) & "@Mybbs.net" Rs("UserFace") = "Images/userface/image1.gif" Rs("UserWidth") = 32 Rs("UserHeight") = 32 Rs("UserIM") = "||||||||||||||||||" Rs("UserFav") = "陌生人,我的好友,黑名单" Rs("LastLogin") = Now() Rs("JoinDate") = Now() Rs("Userpost") = 0 Rs("Usertopic") = 0 Rs.Update Str = Str & "你添加了以下用户:<b>" & Arr(i) & "</b> 密码:<b>" & Pw & "</b><br><br>" Mybbs.Execute("UPDATE Dv_Setup SET Forum_Usernum = Forum_Usernum + 1, Forum_Lastuser = '" & Arr(i) & "'") Else If Rs("UserGroupID") = 4 Then Rs("Userclass") = Classname Rs("UserGroupID") = 3 Rs("Titlepic") = Titlepic Rs.Update End If End If Rs.Close Next Mybbs.Name = "Setup" Mybbs.ReloadSetup '判断原版主在其他版面是否还担任版主,如没有担任则撤换该用户职位。 If n = 1 Then Dim Iboardmaster Dim UserGrade, Article Iboardmaster = False For i = 0 To Ubound(Oarr) Set Rs = Mybbs.Execute("SELECT Boardmaster FROM Dv_Board") Do While Not Rs.Eof If Instr("|" & Trim(Rs("Boardmaster")) & "|","|" & Trim(Oarr(i)) & "|") > 0 Then Iboardmaster = True Exit Do End If Rs.Movenext Loop If Not Iboardmaster Then Set Rs = Mybbs.Execute("SELECT Userid, UserGroupID, UserPost FROM [Dv_User] WHERE Username = '" & Trim(Oarr(i)) & "'") If Not (Rs.Eof And Rs.Bof) Then If Rs(1) > 2 Then If Not Isnumeric(Rs(2)) Or Rs(2) = "" Then Article = 0 Else Article = Cstr(Rs(2)) End If '取对应注册会员的等级 Set UserGrade = Mybbs.Execute("SELECT TOP 1 Usertitle, Grouppic FROM Dv_Usergroups WHERE Minarticle <= " & Article & " AND NOT MinArticle = -1 AND ParentGID = 4 ORDER BY MinArticle DESC") If Not (UserGrade.Eof And UserGrade.Bof) Then Mybbs.Execute("UPDATE [Dv_User] SET UserGroupID = 4, Titlepic = '" & UserGrade(1) & "', Userclass = '" & UserGrade(0) & "' WHERE Userid = " & Rs(0)) End If UserGrade.Close:Set UserGrade = Nothing End If End If End If Iboardmaster = False Next End If Set Rs = Nothing End Sub Rem 分版面用户权限设置 重写2004-5-2 Mybbs.YangZheng Sub BoardPerMission() Dim iUserGroupID(20), UserTitle(20) Dim Trs, Ars, k, ii Dim Bn Set Trs = Mybbs.Execute("SELECT Usertitle, Usergroupid FROM Dv_UserGroups WHERE Issetting = 1 ORDER BY UserGroupId") If Not (Trs.Eof And Trs.Bof) Then Sql = Trs.GetRows(-1) Trs.Close:Set Trs = Nothing For ii = 0 To Ubound(Sql,2) UserTitle(ii) = Sql(0,ii) iUserGroupID(ii) = Sql(1,ii) Next End If %> <table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder"> <tr> <th height="25">编辑论坛权限</th> </tr> <tr> <td class=forumrow>①您可以设置不同用户组在不同论坛内的权限,红色表示为该论坛该用户组使用的是用户定义属性<BR>②该权限不能继承,比如您设置了一个包含下级论坛的版面,那么只对您设置的版面生效而不对其下属论坛生效<BR>③如果您想设置生效,必须在设置页面<B>选择自定义设置</B>,选择了自定义设置后,这里设置的权限将<B>优先</B>于用户组设置,比如用户组默认不能管理帖子,而这里设置了该用户组可管理帖子,那么该用户组在这个版面就可以管理帖子 </td> </tr> </table><BR> <table width="95%" cellspacing="1" cellpadding="1" align=center class="tableBorder"> <tr> <th width="35%" class="tableHeaderText" height=25>论坛版面 </th> <th width="35%" class="tableHeaderText" height=25>设置用户组权限 </th> </tr> <% Sql = "SELECT Depth, Child, Parentid, BoardType, Boardid FROM Dv_Board ORDER BY Rootid, Orders" Set Rs = Mybbs.Execute(Sql) If Not (Rs.Eof And Rs.Bof) Then Sql = Rs.GetRows(-1) Rs.Close:Set Rs = Nothing For Bn = 0 To Ubound(Sql,2) Response.Write "<tr><td height=25 width=40% class=forumrow>" If Sql(0,Bn) > 0 Then For i = 1 To Sql(0,Bn) Response.Write " " Next End If If Sql(1,Bn) > 0 Then Response.Write "<img src=skins/default/plus.gif>" Else Response.Write "<img src=skins/default/nofollow.gif>" End If If Sql(2,Bn) = 0 Then Response.Write "<b>" End If Response.Write Sql(3,Bn) If Sql(1,Bn) > 0 Then Response.Write "(" & Sql(1,Bn) & ")" End If %> </td> <FORM METHOD=POST ACTION="?action=editpermission"> <td width=60% class="forumrow"> <select name="groupid" size=1> <% For k = 0 To ii-1 Set Ars = Mybbs.Execute("SELECT Pid FROM Dv_BoardPerMission WHERE BoardID = " & Sql(4,Bn) & " AND GroupID = " & iUserGroupID(k)) If Ars.Eof And Ars.Bof Then Response.Write "<option value=""" & iUserGroupID(k) & """>" & UserTitle(k) & "</option>" Else Response.Write "<option value=""" & iUserGroupID(k) & """>" & UserTitle(k) & "(自定义)</option>" End If Next Response.Write "</select><input type=hidden value=" Response.Write Sql(4,Bn) Response.Write " name=reboardid><input type=submit name=submit value=设置>" Dim Percount Set Trs = Mybbs.Execute("SELECT COUNT(*) FROM Dv_BoardPermission WHERE Boardid = " & Sql(4,Bn)) Percount = Trs(0) If Not Isnull(Percount) And Percount > 0 Then Response.Write "(有自定义版面)" Response.Write "</td></FORM></tr>" Next End If Response.Write "</table><BR><BR>" Set Trs = Nothing Set Ars = Nothing End Sub sub editpermission() if not isnumeric(request("groupid")) Or request("groupid")="" Or request("reBoardID")="" Or not isnumeric(request("reBoardID")) then response.write "错误的参数,请返回分版面权限设置首页选择正确的设置!" exit sub end if if request("groupaction")="yes" then dim GroupSetting,rspid Dim IsGroupSetting,MyIsGroupSetting GroupSetting=GetGroupPermission Set rs= Server.CreateObject("ADODB.Recordset") if request("isdefault")=1 then Mybbs.Execute("delete from dv_BoardPermission where BoardID="&request("reBoardID")&" and GroupID="&request("GroupID")) Set Rs=Mybbs.Execute("select IsGroupSetting From Dv_Board Where BoardID="&request("reBoardID")) If Trim(Rs(0))="" Or IsNull(Rs(0)) Then MyIsGroupSetting = Request("GroupID") Else IsGroupSetting = "," & Rs(0) & "," IsGroupSetting = Replace(IsGroupSetting,"," & Request("GroupID"),"") IsGroupSetting = Split(IsGroupSetting,",") For i=1 To Ubound(IsGroupSetting)-1 If i=1 Then MyIsGroupSetting = IsGroupSetting(i) Else MyIsGroupSetting = MyIsGroupSetting & "," & IsGroupSetting(i) End If Next End If Mybbs.Execute("update dv_Board set IsGroupSetting='"&MyIsGroupSetting&"' Where BoardID="&request("reBoardID")) Set Rs=Nothing Mybbs.ReloadBoardInfo(request("reBoardID")) else sql="Select pid from dv_BoardPermission where BoardID="&request("reBoardID")&" And GroupID="&request("GroupID")&"" Set Rspid=Mybbs.Execute(sql) If Not Rspid.eof And Not Rspid.bof then sql="update dv_BoardPermission set PSetting='"&GroupSetting&"' where pid="&Rspid(0) else sql="insert into dv_BoardPermission (BoardID,GroupID,PSetting) values ("&request("reBoardID")&","&request("GroupID")&",'"&GroupSetting&"')" End If Set Rspid=Nothing Mybbs.Execute(sql) Set Rs=Mybbs.Execute("select IsGroupSetting From Dv_Board Where BoardID="&request("reBoardID")) If Trim(Rs(0))="" Or IsNull(Rs(0)) Then MyIsGroupSetting = Request("GroupID") Else IsGroupSetting = "," & Rs(0) & "," IsGroupSetting = Replace(IsGroupSetting,"," & Request("GroupID"),"") IsGroupSetting = IsGroupSetting & Request("GroupID") & "," IsGroupSetting = Split(IsGroupSetting,",") For i=1 To Ubound(IsGroupSetting)-1 If i=1 Then MyIsGroupSetting = IsGroupSetting(i) Else MyIsGroupSetting = MyIsGroupSetting & "," & IsGroupSetting(i) End If Next End If Mybbs.Execute("update dv_Board set IsGroupSetting='"&MyIsGroupSetting&"' Where BoardID="&request("reBoardID")) Set Rs=Nothing Mybbs.ReloadBoardInfo(request("reBoardID")) End If Set Rs=Nothing Dv_suc("修改成功!") Else Dim reGroupSetting,reBoardID,groupid Dim Groupname,Boardname,founduserper founduserper=false if request("GroupID")<>"" then set rs=Mybbs.Execute("select * from dv_BoardPermission where boardid="&request("reBoardID")&" and GroupID="&request("GroupID")) if rs.eof and rs.bof then founduserper=false else groupid=rs("groupid") reGroupSetting=rs("PSetting") reBoardID=rs("boardid") set rs=Mybbs.Execute("select usertitle from dv_UserGroups where usergroupid="&groupid) groupname=rs("usertitle") founduserper=true end if if not founduserper then set rs=Mybbs.Execute("select * from dv_usergroups where usergroupid="&request("groupid")) if rs.eof and rs.bof then response.write "未找到该用户组!" exit sub end if groupid=request("groupid") reGroupSetting=rs("GroupSetting") reBoardID=request("reBoardID") Groupname=rs("usertitle") end if end if set rs=Mybbs.Execute("select boardtype from dv_board where boardid="&reBoardID) Boardname=rs("boardtype") %> <table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder"> <FORM METHOD=POST ACTION="?action=editpermission"> <input type=hidden name="groupid" value="<%=groupid%>"> <input type=hidden name="reBoardID" value="<%=reBoardID%>"> <input type=hidden name="pID" value="<%=request("pid")%>"> <tr> <th height="23" colspan="3" >编辑论坛用户组权限 >> <%=boardname%> >> <%=groupname%></th> </tr> <tr> <td height="23" colspan="3" class=forumrow><input type=radio name="isdefault" value="1" <%if not founduserper then%>checked<%end if%>><B>使用用户组默认值</B> (注意: 这将删除任何之前所做的自定义设置)</td> </tr> <tr> <td height="23" colspan="3" class=forumrow><input type=radio name="isdefault" value="0" <%if founduserper then%>checked<%end if%>><B>使用自定义设置</B> (选择自定义才能使以下设置生效) </td> </tr> <% GroupPermission(reGroupSetting) %> <input type=hidden value="yes" name="groupaction"> </FORM> </table> <% end if end sub sub RestoreBoard() '按照目前的排序循环i数值更新rootid '还原所有版面的depth,orders,parentid,parentstr,child为0 i=0 set rs=Mybbs.Execute("select boardid from dv_board order by rootid,orders") do while not rs.eof i=i+1 Mybbs.Execute("update dv_board set rootid="&i&",depth=0,orders=0,ParentID=0,ParentStr='0',child=0 where boardid="&rs(0)) rs.movenext loop Set Rs=Nothing Dv_suc("请返回做论坛归属设置。复位") Mybbs.ReloadAllBoardInfo() Dim Forum_Boards Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Forum_Boards=Split(Mybbs.CacheData(27,0),",") For i=0 To Ubound(Forum_Boards) Mybbs.ReloadBoardInfo(Forum_Boards(i)) Next End sub Sub clearDate If Mybbs.Boardid=0 Then errmsg=errmsg+"<br><li>请选择论坛版面" dvbbs_error() Exit Sub End If Dim Rs,str1,str2,str3,str4 Set Rs=Mybbs.Execute("Select Count(*) from dv_topic where Boardid="& Mybbs.boardid &"") str1=Rs(0) str3=0 str4=0 For i= 0 to UBound(AllPostTable) Set Rs=Mybbs.Execute("Select Count(*) from "&AllPostTable(i)&" where Boardid="& Mybbs.boardid &"") str2=str2&"其中在"&AllPostTable(i)&"有"&Rs(0)&"篇文章," str3=str3+Rs(0) Set Rs=Mybbs.Execute("Select Count(*) from "&AllPostTable(i)&" where Boardid="& Mybbs.boardid &" and isbest=1") str4=str4+Rs(0) Next Response.Write"<br>" Response.Write"<table cellpadding=0 cellspacing=0 align=center class=""tableBorder"" style=""width:90%"">" Response.Write"<tr align=center>" Response.Write"<th width=""100%"" height=25 colspan=2>" Response.Write Mybbs.BoardType Response.Write "-贴子信息" Response.Write"</td>" Response.Write"</tr>" Response.Write"<tr>" Response.Write"<td width=""100%"" class=""ForumrowHighLight"" colspan=2>" Response.Write "<li>主题总数:<b>" Response.Write str1 Response.Write "</b><li>文章总数:<b>" Response.Write str3 Response.Write "</b><li>" Response.Write str2 Response.Write "<li>有<B>"&str4&"</B>篇精华文章" Response.Write"</td></tr>" Response.Write "<form action =""?action=delDate&boardid="&Mybbs.boardid&""" method=post>" Response.Write"<tr>" Response.Write"<td class=""ForumrowHighLight"" valign=middle colspan=2 align=left><li> 清除<b>" Response.Write Mybbs.BoardType Response.Write "</b>在 " Response.Write "<select name=""tablelist""><option value=""all"">所有数据表</option>" For i= 0 to UBound(AllPostTable) Response.Write "<option value="""&AllPostTable(i)&""">" Response.Write AllPostTableName(i) Response.Write "</option>" Next Response.Write "</select>" Response.Write " 中 <input type=text name=dd value=365 size=5 > 天前的贴子" Response.Write " <input type=""submit"" name=""Submit"" value=""执 行""> <b>注意:此操作不可恢复!</b>其中精华贴不会被删除。<BR><BR>如果您的论坛数据众多,执行此操作将消耗大量的服务器资源,执行过程请耐心等候,最好选择夜间在线人少的时候更新。" Response.Write "</td></tr>" Response.Write "</form>" Response.Write"</table>" End Sub Sub delDate If Mybbs.Boardid=0 Then errmsg=errmsg+"<br><li>请选择论坛版面" dvbbs_error() Exit Sub End If Dim tablelist If request.form("tablelist")<>"all" Then tablelist=Mybbs.checkstr(request.form("tablelist")) Else For i= 0 to UBound(AllPostTable) If i=0 Then tablelist=AllPostTable(i) Else tablelist=tablelist&","&AllPostTable(i) End If Next End If tablelist=split(tablelist,",") Dim SqlTopic Dim k k=0 For i= 0 to UBound(tablelist) '删除数据表记录 If IsSqlDataBase=1 Then SqlTopic="Select TopicID,isvote,PollID from dv_Topic where Boardid="&Mybbs.boardid&" and isbest=0 and PostTable='"&tablelist(i)&"' and Datediff(d,LastPostTime,"&SqlNowString&") > "& CLng(request.form("dd"))&" " Else SqlTopic="Select TopicID,isvote,PollID from dv_Topic where Boardid="&Mybbs.boardid&" and isbest=0 and PostTable='"&tablelist(i)&"' and Datediff('d',LastPostTime,"&SqlNowString&") > "& CLng(request.form("dd"))&" " End If Set rs=Mybbs.Execute(SqlTopic) Do While Not Rs.Eof Sql="Delete from "&tablelist(i)&" where Boardid="&Mybbs.boardid&" and rootid="&RS(0)&"" Mybbs.Execute(Sql) If Rs(1)=1 And Not IsNull(Rs(2)) Then Sql="Delete from dv_vote where voteid="&RS(2)&"" Mybbs.Execute(Sql) End If Rs.movenext k=k+1 Loop '删除主题表记录 If IsSqlDataBase=1 Then SqlTopic="Delete from dv_Topic where Boardid="&Mybbs.boardid&" and isbest=0 and PostTable='"&tablelist(i)&"' and Datediff(d,LastPostTime,"&SqlNowString&") > "& CLng(request.form("dd"))&" " Else SqlTopic="Delete from dv_Topic where Boardid="&Mybbs.boardid&" and isbest=0 and PostTable='"&tablelist(i)&"' and Datediff('d',LastPostTime,"&SqlNowString&") > "& CLng(request.form("dd"))&" " End If Mybbs.Execute(SqlTopic) Set rs=Nothing Next Response.Write "删除了"&k&"个主题。" End Sub Sub RestoreClass() Dim ClassID,RootID,RootIDNum,ParentID ClassID=Request("ClassID") If Not IsNumeric(ClassID) Or ClassID="" Then Response.Write "错误的版面参数!" Exit Sub Else ClassID=Clng(ClassID) End If Set Rs=Mybbs.Execute("Select RootID,BoardID From Dv_Board Where BoardID="&ClassID) If Rs.Eof And Rs.Bof Then Response.Write "错误的版面参数!" Exit Sub Else RootID=Rs(0) ParentID=Rs(1) End If i=0 Set Rs=Mybbs.Execute("Select BoardID,ParentID From Dv_Board Where RootID="&RootID&" Order By ParentID,Orders,Depth") Do While Not Rs.Eof If Rs(1)=0 Then Mybbs.Execute("UpDate Dv_Board Set Orders="&i&" Where BoardID="&Rs(0)) Else Mybbs.Execute("UpDate Dv_Board Set Orders="&i&",ParentID="&ParentID&",ParentStr='"&ParentID&"',Depth=1,child=0 Where BoardID="&Rs(0)) End If i=i+1 Rs.MoveNext Loop Set Rs=Mybbs.Execute("Select Count(*) From Dv_Board Where RootID="&RootID) RootIDNum=Rs(0) If IsNull(RootIDNum) Or RootIDNum="" Then RootIDNum=0 Else RootIDNum=RootIDNum-1 End If Mybbs.Execute("UpDate Dv_Board Set Child="&RootIDNum&" Where BoardID="&ClassID) dv_suc("复位分类成功!") RestoreBoardCache() Set Rs=Nothing End Sub Sub handorders() %> <table width="95%" border="0" cellspacing="1" cellpadding="3" align=center class="tableBorder"> <tr> <th height="22">论坛分类重新排序修改(请在相应论坛分类的排序表单内输入相应的排列序号) </th> </tr> <tr> <td class="Forumrow"> <B>注意</B>:<BR> 1、由于本论坛排序算法不是递归,所以请正确输入排序的序号,否则将引起论坛显示不正常,<font color=red>如果您未正确了解说明,请不要随意更改</font><BR> 2、一级分类排序序号为0,请正确输入,<font color=blue>所有输入框请输入数字</font><BR> 3、排序规则为数字最大的排在后面,<font color=blue>在这里不能用排序来指定某个版面的所属分类或版面</font>,如下为正确的排序输入方式:<BR> <B>分类</B> 0<BR> --二级版面A 1<BR> --二级版面B 2<BR> ----三级版面A 3<BR> ----三级版面B 4<BR> ----三级版面C 5<BR> --二级版面C 6<BR> A.<font color=blue>要把三级版面C提到三级版面A上面</font>,则依次输入:分类(0)-二级A(1)-二级B(2)-三级A(<font color=red>4</font>)-三级B(<font color=red>5</font>)-三级C(<font color=red>3</font>)-二级C(6)<BR> B.<font color=blue>要把二级版面C提到二级版面B上面</font>,则依次输入:分类(0)-二级A(1)-二级B(<font color=red>3</font>)-三级A(<font color=red>4</font>)-三级B(<font color=red>5</font>)-三级C(<font color=red>6</font>)-二级C(<font color=red>2</font>)<BR> B.<font color=blue>要把二级版面B提到二级版面A上面</font>,则依次输入:分类(0)-二级A(<font color=red>5</font>)-二级B(<font color=red>1</font>)-三级A(<font color=red>2</font>)-三级B(<font color=red>3</font>)-三级C(<font color=red>4</font>)-二级C(6) </td></tr> <form action="admin_board.asp?action=savehandorders" method=post> <tr> <td class="Forumrow"><table width="90%"> <% dim trs,uporders,doorders,RootID Set Rs=Mybbs.Execute("Select RootID From Dv_Board Where BoardID="&Request("classid")) If Rs.eof And Rs.bof Then response.write "还没有相应的论坛分类。" exit sub Else RootID=Rs(0) End If set rs = server.CreateObject ("Adodb.recordset") sql="select * from dv_Board Where RootID="&RootID&" order by RootID,orders" rs.open sql,conn,1,1 if rs.eof and rs.bof then response.write "还没有相应的论坛分类。" else do while not rs.eof response.write "<tr><td width=""50%"">" if rs("depth")>0 then for i=1 to rs("depth") response.write " " next end if if rs("child")>0 then response.write "<img src=skins/default/plus.gif>" else response.write "<img src=skins/default/nofollow.gif>" end if if rs("parentid")=0 then response.write "<b>" end if response.write rs("boardtype") if rs("child")>0 then response.write "("&rs("child")&")" end if response.write "</td><td width=""50%"">" Response.Write "<input type=hidden value="""&rs("boardid")&""" name=getboard>" Response.Write "<input type=text size=5 value="""&rs("orders")&""" name=orders>" response.write "</td></tr>" uporders=0 doorders=0 rs.movenext loop Response.Write "<tr><td class=Forumrow><input type=submit name=submit value=提交></td></tr>" response.write "</table>" end if rs.close set rs=nothing %> </td> </tr></form> </table> <% End Sub Sub savehandorders() dim cID,OrderID,ClassName cID=replace(request.form("getboard"),"'","") OrderID=replace(request.form("Orders"),"'","") for i=1 to request.form("getboard").count cID=request.form("getboard")(i) OrderID=request.form("Orders")(i) Mybbs.Execute("Update Dv_Board Set Orders="&OrderID&" Where BoardID="&cID) next Dv_suc("更改分类排序成功!") Mybbs.ReloadAllBoardInfo() Dim Forum_Boards Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Forum_Boards=Split(Mybbs.CacheData(27,0),",") For i=0 To Ubound(Forum_Boards) Mybbs.ReloadBoardInfo(Forum_Boards(i)) Next End Sub Sub RestoreBoardCache() Dim Forum_Boards,i Mybbs.ReloadAllBoardInfo() Mybbs.Name="setup" Mybbs.ReloadSetup Mybbs.CacheData=Mybbs.value Forum_Boards=Split(Mybbs.CacheData(27,0),",") For i=0 To Ubound(Forum_Boards) Mybbs.ReloadBoardInfo(Forum_Boards(i)) Next dv_suc("重建所有版面缓存成功!") End Sub Function SimEncodeJS(str) If Not IsNull(str) Then 'str = replace(str, "<", "<") str = replace(str, "\", "\\") str = replace(str, chr(34), "\""") str = replace(str, chr(39), "\'") str = Replace(str, chr(10), "\n") str = Replace(str, chr(13), "\r") SimEncodeJS=str End If End Function %>