Class_makerss.asp
上传用户:jisenq
上传日期:2014-06-29
资源大小:7216k
文件大小:13k
源码类别:

数据库编程

开发平台:

ASP/ASPX

  1. <% Option Explicit %>
  2. <!--#include file="../../FS_Inc/Const.asp" -->
  3. <!--#include file="../../FS_Inc/Function.asp"-->
  4. <!--#include file="../../FS_InterFace/MF_Function.asp" -->
  5. <!--#include file="../../FS_InterFace/NS_Function.asp" -->
  6. <!--#include file="lib/cls_main.asp" -->
  7. <%'CopyRight (c) 2006 Fooun Inc. Code by Simpwind.Xie
  8. Dim Conn,User_Conn,strShowErr,Fs_news,obj_mf_sys_obj,MF_Domain,MF_Site_Name,tmp_c_path
  9. MF_Default_Conn
  10. MF_User_Conn
  11. 'session判断
  12. MF_Session_TF
  13. '权限判断
  14. set Fs_news = new Cls_News
  15. Fs_News.GetSysParam()
  16. set obj_mf_sys_obj = Conn.execute("select top 1 MF_Domain,MF_Site_Name from FS_MF_Config")
  17. if obj_mf_sys_obj.eof then
  18. strShowErr = "<li>找不到主系统配置信息!</li>"
  19. Response.Redirect("lib/error.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
  20. Response.end
  21. else
  22. MF_Domain = obj_mf_sys_obj("MF_Domain")
  23. MF_Site_Name = obj_mf_sys_obj("MF_Site_Name")
  24. end if
  25. obj_mf_sys_obj.close:set obj_mf_sys_obj = nothing
  26. tmp_c_path =MF_Domain &"/"&G_VIRTUAL_ROOT_DIR
  27. 'If Not Fs_news.IsSelfRefer Then response.write "非法提交数据":Response.end
  28. dim Classid,signxml
  29. Classid = NoSqlHack(Request.QueryString("cid"))
  30. signxml = NoSqlHack(Request.QueryString("signxml"))
  31. if not Get_SubPop_TF(Classid,"NS022","NS","class") then
  32. Response.Redirect("lib/error.asp?ErrCodes=缺少权限&ErrorUrl=")
  33. Response.end
  34. End if
  35. %>
  36. <html>
  37. <head>
  38. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  39. <title>栏目管理___Powered by foosun Inc.</title>
  40. <link href="../images/skin/Css_<%=Session("Admin_Style_Num")%>/<%=Session("Admin_Style_Num")%>.css" rel="stylesheet" type="text/css">
  41. <style>
  42. .RefreshLen{
  43. height: 20px;
  44. width: 400px;
  45. border: 1px solid #104a7b;
  46. text-align: left;
  47. MARGIN-top:50px;
  48. margin-bottom: 5px;
  49. }
  50. </style>
  51. </head>
  52. <body>
  53. <table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="table">
  54.   <tr class="hback">
  55.     <td class="xingmu">栏目管理<a href="../../help?Lable=NS_Class_Action" target="_blank" style="cursor:help;'" class="sd"><img src="../Images/_help.gif" border="0"></a></td>
  56.   </tr>
  57.   <tr>
  58.     <td height="18" class="hback"><div align="left"><a href="Class_Manage.asp">管理首页</a>┆<a href="Class_add.asp?ClassID=&Action=add">添加根栏目</a>┆<a href="Class_Action.asp?Action=one">一级栏目排序</a>┆<a href="Class_Action.asp?Action=n">N级栏目排序</a>┆<a href="Class_Action.asp?Action=reset"   onClick="{if(confirm('确认复位所有栏目?nn如果选择确定,所有的栏目将设置为一级分类!!')){return true;}return false;}">复位所有栏目</a>┆<a href="Class_Action.asp?Action=unite">栏目合并</a>┆<a href="Class_Action.asp?Action=allmove">栏目转移</a>
  59.         ┆ <a href="Class_Action.asp?Action=clearClass"  onClick="{if(confirm('确认清空所有栏目里的数据吗?nn如果选择确定,所有的栏目的新闻将被放到回收站中!!')){return true;}return false;}">删除所有栏目</a>┆<a href="../../help?Lable=NS_Class_Action_1" target="_blank" style="cursor:help;'" class="sd"><img src="../Images/_help.gif" border="0"></a></div></td>
  60.   </tr>
  61. </table>
  62. <%
  63. '待修正加入RSS参数
  64. Server.ScriptTimeOut=999999999
  65. Dim ArrClassid,tmp_k,i,savepath,obj_classxml_rs,obj_news_rs,p1,xml_c_list,obj_class_rs,i_k,class_tmp
  66. dim obj_all_rs,xml_c_all_list
  67. savepath = Replace(""&G_VIRTUAL_ROOT_DIR&"xml","\","")
  68. If signxml="one" Then
  69. set obj_news_rs = Server.CreateObject(G_FS_RS)
  70. obj_news_rs.open "select  top "& Fs_news.rssNumber&" id,newsid,newstitle,content,addtime,author From FS_NS_News where classid='"&classid&"' and isdraft=0 and isRecyle=0 and isLock=0 order by PopId desc,id desc",conn,1,3
  71. set class_tmp = conn.execute("select ClassName,ClassEName,SavePath,IsURL,[Domain],FileExtName from FS_NS_NewsClass where Classid='"& Classid &"'")
  72. if class_tmp("IsURL")=1 then
  73. strShowErr = "<li>外部拦目不能生成!</li>"
  74. Response.Redirect("lib/Success.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
  75. Response.end
  76. end if
  77. call headxml(xml_c_list,class_tmp("ClassName"),class_tmp("ClassEName"),class_tmp("SavePath"),class_tmp("Domain"),class_tmp("FileExtName"))
  78. class_tmp.close:set class_tmp =nothing
  79. if not obj_news_rs.eof then
  80. do while not obj_news_rs.eof
  81. xml_c_list =  xml_c_list & "<item>"& chr(13) & chr(10)
  82. xml_c_list =  xml_c_list & " <title>"& obj_news_rs("NewsTitle")&"</title>"& chr(13) & chr(10)
  83. xml_c_list =  xml_c_list & " <link>"& obj_news_rs("NewsID")&"</link>"& chr(13) & chr(10)
  84. if trim(obj_news_rs("Content"))<>empty  or not isnull(trim(obj_news_rs("Content"))) then
  85. xml_c_list =  xml_c_list & " <description><![CDATA["& GotTopic(obj_news_rs("Content"),Fs_news.rssContentNumber)&"]]></description>"& chr(13) & chr(10)
  86. else
  87. xml_c_list =  xml_c_list & " <description><![CDATA[无内容]]></description>"& chr(13) & chr(10)
  88. end if
  89. xml_c_list =  xml_c_list & " <pubDate>"& obj_news_rs("addtime")&"</pubDate>"& chr(13) & chr(10)
  90. xml_c_list =  xml_c_list & " <author>"& obj_news_rs("Author")&"</author>"& chr(13) & chr(10)
  91. xml_c_list =  xml_c_list & "</item>"& chr(13) & chr(10)
  92. obj_news_rs.movenext
  93. loop
  94. xml_c_list =  xml_c_list & "</channel>"& chr(13) & chr(10)
  95. xml_c_list =  xml_c_list & "</rss>"& chr(13) & chr(10)
  96. call SaveFile(xml_c_list,Classid,"xml",savepath,"NS")
  97. strShowErr = "<li>Xml生成成功!</li>"
  98. else
  99. strShowErr = "<li>Xml失败,没有符合条件的新闻!</li>"
  100. end if
  101. obj_news_rs.close:set obj_news_rs=nothing
  102. call newslist()
  103. Response.Redirect("lib/Success.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
  104. Response.end
  105. Else
  106. If signxml="All" Then
  107. Classid=""
  108. Set class_tmp = conn.execute("select ClassID from FS_NS_NewsClass where IsURL=0")
  109. While Not class_tmp.Eof
  110. If Classid="" Then
  111. Classid=class_tmp(0)
  112. Else
  113. Classid=Classid&","&class_tmp(0)
  114. End If
  115. class_tmp.MoveNext
  116. Wend
  117. class_tmp.close
  118. Set class_tmp=Nothing
  119. End If
  120. If instr(Classid,",")=0 Then 
  121. strShowErr = "<li>批量生成xml至少选择2项</li>"
  122. Response.Redirect("lib/error.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
  123. Response.End 
  124. Else 
  125. Call Allxml()
  126. Call newslist()
  127. End If 
  128. End if
  129. sub Allxml()
  130. ArrClassid =split(Classid,",")
  131. p1=UBound(ArrClassid)
  132. response.Write("<div style=""text-align: center;"">")
  133. response.Write("<div class=""RefreshLen""><div class=""xingmu"" id=""RefreshLen""></div></div><span id=""result_str""></span><br><br>")
  134. i=0
  135. i_k=0
  136. for  tmp_k = 0 to UBound(ArrClassid)
  137. set obj_class_rs = conn.execute("select classename,classname from FS_NS_NewsClass where classid='"& ArrClassid(tmp_k) &"'")
  138. if obj_class_rs.eof then
  139. i=i+1
  140. else
  141. set obj_news_rs = Server.CreateObject(G_FS_RS)
  142. obj_news_rs.open "select  top "& Fs_news.rssNumber&" id,newsid,newstitle,content,addtime,author From FS_NS_News where classid='"&ArrClassid(tmp_k) &"' and isdraft=0 and isRecyle=0 and isLock=0 order by PopId desc,id desc",conn,1,3
  143. set class_tmp = conn.execute("select ClassName,ClassEName,SavePath,[Domain],FileExtName from FS_NS_NewsClass where Classid='"& ArrClassid(tmp_k) &"'")
  144. call headxml(xml_c_list,class_tmp("ClassName"),class_tmp("ClassEName"),class_tmp("SavePath"),class_tmp("Domain"),class_tmp("FileExtName"))
  145. class_tmp.close:set class_tmp =nothing
  146. if i = p1 then
  147. Response.Write "<script>RefreshLen.style.width ="""&int(i/p1*100)&"%"";RefreshLen.innerHTML=""&nbsp;<span class=xingmu>"&int(i/p1*100)&"%</span>"";result_str.innerHTML=""当前栏目:"&obj_class_rs("classname")&"<br><span class=tx>生成完毕....ok!!共:"& i+1 &"个,生成了"& i_k &"个&nbsp;&nbsp;&nbsp;未生成原因:栏目下找不到符合条件的RSS聚合新闻</span>"";</script>" & VbCrLf
  148. else
  149. Response.Write "<script>RefreshLen.style.width ="""&int(i/p1*100)&"%"";RefreshLen.innerHTML=""&nbsp;<span class=xingmu>"&int(i/p1*100)&"%</span>"";result_str.innerHTML=""当前栏目:"&obj_class_rs("classname")&""";</script>" & VbCrLf
  150. end if
  151. Response.Flush
  152. if not obj_news_rs.eof then
  153. do while not obj_news_rs.eof
  154. xml_c_list =  xml_c_list & "<item>"& chr(13) & chr(10)
  155. xml_c_list =  xml_c_list & " <title>"& obj_news_rs("NewsTitle")&"</title>"& chr(13) & chr(10)
  156. xml_c_list =  xml_c_list & " <link>"& obj_news_rs("NewsID")&"</link>"& chr(13) & chr(10)
  157. if trim(obj_news_rs("Content"))<>empty  or not isnull(trim(obj_news_rs("Content"))) then
  158. xml_c_list =  xml_c_list & " <description><![CDATA["& GotTopic(obj_news_rs("Content"),Fs_news.rssContentNumber)&"]]></description>"& chr(13) & chr(10)
  159. else
  160. xml_c_list =  xml_c_list & " <description><![CDATA[无内容]]></description>"& chr(13) & chr(10)
  161. end if
  162. xml_c_list =  xml_c_list & " <pubDate>"& obj_news_rs("addtime")&"</pubDate>"& chr(13) & chr(10)
  163. xml_c_list =  xml_c_list & " <author>"& obj_news_rs("Author")&"</author>"& chr(13) & chr(10)
  164. xml_c_list =  xml_c_list & "</item>"& chr(13) & chr(10)
  165. obj_news_rs.movenext
  166. loop
  167. xml_c_list =  xml_c_list & "</channel>"& chr(13) & chr(10)
  168. xml_c_list =  xml_c_list & "</rss>"& chr(13) & chr(10)
  169. call SaveFile(xml_c_list,ArrClassid(tmp_k),"xml",savepath,"NS")
  170. set obj_news_rs=nothing
  171. i_k = i_k + 1
  172. end  if
  173. i=i+1
  174. end if
  175. next
  176. response.Write("</div>")
  177. End sub
  178. sub newslist()
  179. set obj_all_rs = Server.CreateObject(G_FS_RS)
  180. obj_all_rs.open "select  top "& Fs_news.rssNumber&" id,newsid,newstitle,content,addtime,author From FS_NS_News where isdraft=0 and isRecyle=0 and isLock=0 order by PopId desc,id desc",conn,1,3
  181. if not obj_all_rs.eof then
  182. set class_tmp = conn.execute("select ClassName,ClassEName,SavePath,[Domain],FileExtName from FS_NS_NewsClass where Classid='"& Classid &"'")
  183. xml_c_all_list = "<?xml version=""1.0"" encoding=""gb2312""?>" & chr(13) & chr(10)
  184. xml_c_all_list =  xml_c_all_list & "<rss version=""2.0"">"& chr(13) & chr(10)
  185. xml_c_all_list =  xml_c_all_list & "<channel>"& chr(13) & chr(10)
  186. xml_c_all_list =  xml_c_all_list & "<title>"& Fs_news.siteName &"</title>"& chr(13) & chr(10)
  187. xml_c_all_list =  xml_c_all_list & "<image>"& chr(13) & chr(10)
  188. xml_c_all_list =  xml_c_all_list & " <title>"& Fs_news.siteName &"</title>"& chr(13) & chr(10)
  189. xml_c_all_list =  xml_c_all_list & " <link>http://" & Replace(tmp_c_path &Fs_news.RSSPIC,"//","/") &"</link>"& chr(13) & chr(10)
  190. xml_c_all_list =  xml_c_all_list & " <url>http://" & Replace(tmp_c_path &Fs_news.RSSPIC,"//","/") &"</url>"& chr(13) & chr(10)
  191. xml_c_all_list =  xml_c_all_list & "</image>"& chr(13) & chr(10)
  192. xml_c_all_list =  xml_c_all_list & "<description>"& Fs_news.rssdescript&"</description>"& chr(13) & chr(10)
  193. class_tmp.close:set class_tmp =nothing
  194. do while not obj_all_rs.eof
  195. xml_c_all_list =  xml_c_all_list & "<item>"& chr(13) & chr(10)
  196. xml_c_all_list =  xml_c_all_list & " <title>"& obj_all_rs("NewsTitle")&"</title>"& chr(13) & chr(10)
  197. xml_c_all_list =  xml_c_all_list & " <link>"& obj_all_rs("NewsID")&"</link>"& chr(13) & chr(10)
  198. if trim(obj_all_rs("Content"))<>empty  or not isnull(trim(obj_all_rs("Content"))) then
  199. xml_c_all_list =  xml_c_all_list & " <description><![CDATA["& GotTopic(obj_all_rs("Content"),Fs_news.rssContentNumber)&"]]></description>"& chr(13) & chr(10)
  200. else
  201. xml_c_all_list =  xml_c_all_list & " <description><![CDATA[无内容]]></description>"& chr(13) & chr(10)
  202. end if
  203. xml_c_all_list =  xml_c_all_list & " <pubDate>"& obj_all_rs("addtime")&"</pubDate>"& chr(13) & chr(10)
  204. xml_c_all_list =  xml_c_all_list & " <author>"& obj_all_rs("Author")&"</author>"& chr(13) & chr(10)
  205. xml_c_all_list =  xml_c_all_list & "</item>"& chr(13) & chr(10)
  206. obj_all_rs.movenext
  207. loop
  208. xml_c_all_list =  xml_c_all_list & "</channel>"& chr(13) & chr(10)
  209. xml_c_all_list =  xml_c_all_list & "</rss>"& chr(13) & chr(10)
  210. DIM savepath1
  211. call SaveFile(xml_c_all_list,"now","xml",savepath,"NS")
  212. end if
  213. obj_all_rs.close:set obj_all_rs= nothing
  214. end sub
  215. function headxml(f_char,f_className,f_classeName,f_SavePath,f_Domain,f_FileExtName)
  216. f_char = "<?xml version=""1.0"" encoding=""gb2312""?>" & chr(13) & chr(10)
  217. f_char =  f_char & "<rss version=""2.0"">"& chr(13) & chr(10)
  218. f_char =  f_char & "<channel>"& chr(13) & chr(10)
  219. f_char =  f_char & "<title>"& Fs_news.siteName &"</title>"& chr(13) & chr(10)
  220. f_char =  f_char & "<image>"& chr(13) & chr(10)
  221. f_char =  f_char & " <title>"& Fs_news.siteName &"</title>"& chr(13) & chr(10)
  222. f_char =  f_char & " <link>"& f_classeName &"</link>"& chr(13) & chr(10)
  223. f_char =  f_char & " <url>http://"&Replace(tmp_c_path &Fs_news.RSSPIC,"//","/")&"</url>"& chr(13) & chr(10)
  224. f_char =  f_char & "</image>"& chr(13) & chr(10)
  225. f_char =  f_char & "<description>"& Fs_news.rssdescript&"</description>"& chr(13) & chr(10)
  226. headxml = f_char
  227. end function
  228. %>
  229. </body>
  230. </html>
  231. <%
  232. set Fs_news = nothing
  233. %>