Xml_ChkVer.asp
上传用户:saigedz
上传日期:2019-10-14
资源大小:997k
文件大小:15k
源码类别:

中间件编程

开发平台:

HTML/CSS

  1. <%@ CODEPAGE=65001 %>
  2. <%
  3. '///////////////////////////////////////////////////////////////////////////////
  4. '// 插件应用:    1.8 Pre Terminator 及以上版本, 其它版本的Z-blog未知
  5. '// 插件制作:    haphic(http://haphic.com/)
  6. '// 备    注:    插件管理插件
  7. '// 最后修改:   2008-6-28
  8. '// 最后版本:    1.2
  9. '///////////////////////////////////////////////////////////////////////////////
  10. %>
  11. <% Option Explicit %>
  12. <% On Error Resume Next %>
  13. <% Response.Charset="UTF-8" %>
  14. <% Response.Buffer=True %>
  15. <% Server.ScriptTimeout=99999999 %>
  16. <!-- #include file="../../c_option.asp" -->
  17. <!-- #include file="../../function/c_function.asp" -->
  18. <!-- #include file="../../function/c_system_lib.asp" -->
  19. <!-- #include file="../../function/c_system_base.asp" -->
  20. <!-- #include file="../../function/c_system_plugin.asp" -->
  21. <!-- #include file="c_sapper.asp" -->
  22. <!-- #include file="../p_config.asp" -->
  23. <%
  24. Call System_Initialize()
  25. '检查非法链接
  26. Call CheckReference("")
  27. '检查权限
  28. If BlogUser.Level>1 Then Call ShowError(6)
  29. If CheckPluginState("PluginSapper")=False Then Call ShowError(48)
  30. Action=Request.QueryString("act")
  31. BlogTitle="Plugin Sapper"
  32. %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  33. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%=ZC_BLOG_LANGUAGE%>" lang="<%=ZC_BLOG_LANGUAGE%>">
  34. <head>
  35. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  36. <meta http-equiv="Content-Language" content="<%=ZC_BLOG_LANGUAGE%>" />
  37. <meta name="robots" content="noindex,nofollow"/>
  38. <link rel="stylesheet" rev="stylesheet" href="../../CSS/admin.css" type="text/css" media="screen" />
  39. <link rel="stylesheet" rev="stylesheet" href="images/style.css" type="text/css" media="screen" />
  40. <title><%=BlogTitle%></title>
  41. </head>
  42. <body>
  43. <div id="divMain">
  44. <div class="Header">Plugin Sapper - 查看插件的可用更新. <a href="help.asp#checkupdate" title="查看插件的可用更新帮助">[页面帮助]</a></div>
  45. <%Call SapperMenu("5")%>
  46. <div id="divMain2">
  47. <%Call GetBlogHint()%>
  48. <div>
  49. <%
  50. Dim fso, f, f1, fc, s, t, i, n, m
  51. Set fso = CreateObject("Scripting.FileSystemObject")
  52. Set f = fso.GetFolder(BlogPath & "/PLUGIN/")
  53. Set fc = f.SubFolders
  54. If Action="" Then
  55. Response.Write "<p id=""loading"">正在载入页面, 请稍候... 如果长时间停止响应, 请 <a href=""javascript:window.location.reload();"" title=""点此重试"">[点此重试]</a></p>"
  56. Response.Flush
  57. Response.Write "<p class=""status-box"" id=""found"" style=""display:none;"">!! 以下列出了您需要更新的插件:</p>"
  58. Response.Write "<p class=""status-box"" id=""notfound"" style=""display:none;"">!! 暂时没有找到需要更新的插件.</p>"
  59. Response.Flush
  60. m=False
  61. For Each f1 in fc
  62. Set objXmlVerChk=New PluginSapper_CheckVersionViaXML
  63. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "Plugin.xml") Then
  64. objXmlVerChk.XmlDataLocal=(LoadFromFile(BlogPath & "/PLUGIN/" & f1.name & "/plugin.xml","utf-8"))
  65. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "verchk.xml") Then
  66. objXmlVerChk.XmlDataWeb=(LoadFromFile(BlogPath & "/PLUGIN/" & f1.name & "/" & "verchk.xml","utf-8"))
  67. Response.Write "<p class=""download-box"">"
  68. Response.Write "插件: <b>"& objXmlVerChk.Item_Name_Local &"</b> <b class=""notice"">发现可用的新版本!</b><br/><br/>"
  69. Response.Write "当前插件版本为: <b>"& objXmlVerChk.Item_Version_Local &"</b>. 发布日期为: <b>"& objXmlVerChk.Item_PubDate_Local &"</b>. 最后修改日期为: <b>"& objXmlVerChk.Item_Modified_Local &"</b>.<br/>"
  70. Response.Write "最新可用版本为: <b>"& objXmlVerChk.Item_Version_Web &"</b>. 发布日期为: <b>"& objXmlVerChk.Item_PubDate_Web &"</b>. 最后修改日期为: <b>"& objXmlVerChk.Item_Modified_Web &"</b><br/><br/>"
  71. If objXmlVerChk.Item_Url_Web<>Empty Then
  72. Response.Write "<a href="""& objXmlVerChk.Item_Url_Web &""" target=""_blank"" title=""查看插件的发布页面"">[点此查看插件的发布信息!]</a> "
  73. End If
  74. Response.Write "<a href=""Xml_Install.asp?act=confirm&amp;url=" & Server.URLEncode(Update_URL & f1.name) & """ title=""升级此插件"">[升级此插件]</a>"
  75. Response.Write "</p>"
  76. Response.Flush
  77. m=True
  78. End If
  79. End If
  80. Set objXmlVerChk=Nothing
  81. Next
  82. If m Then
  83. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('found').style.display = 'block';}catch(e){};</script>"
  84. Else
  85. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('notfound').style.display = 'block';}catch(e){};</script>"
  86. End If
  87. Response.Write "<form name=""edit"" method=""get"" action=""#"" class=""status-box"">"
  88. Response.Write "<p><input onclick=""window.scrollTo(0,0);"" type=""button"" class=""button"" value=""TOP"" title=""返回页面顶部"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=check&n=0';"" type=""button"" class=""button"" value=""查找更新"" title=""开始查找插件的可用更新"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=unsupport';"" type=""button"" class=""button"" value=""列出不支持在线更新的插件"" title=""列出不支持在线更新的插件"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=clear';"" type=""button"" class=""button"" value=""清除更新提示"" title=""清除更新提示"" /></p>"
  89. Response.Write "</form>"
  90. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('loading').style.display = 'none';}catch(e){};</script>"
  91. End If
  92. If Action="unsupport" Then
  93. Response.Write "<p id=""loading"">正在载入页面, 请稍候... 如果长时间停止响应, 请 <a href=""javascript:window.location.reload();"" title=""点此重试"">[点此重试]</a></p>"
  94. Response.Flush
  95. Response.Write "<p class=""status-box"" id=""found"" style=""display:none;"">!! 以下列出了不支持在线更新的插件:</p>"
  96. Response.Write "<p class=""status-box"" id=""notfound"" style=""display:none;"">!! 暂时没发现不支持在线更新的插件.</p>"
  97. Response.Flush
  98. m=False
  99. For Each f1 in fc
  100. Set objXmlVerChk=New PluginSapper_CheckVersionViaXML
  101. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "Plugin.xml") Then
  102. objXmlVerChk.XmlDataLocal=(LoadFromFile(BlogPath & "/PLUGIN/" & f1.name & "/plugin.xml","utf-8"))
  103. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "error.log") Then
  104. Response.Write "<p class=""download-box"">"
  105. Response.Write "插件: <b>"& objXmlVerChk.Item_Name_Local &"</b> <b class=""somehow"">可能不支持在线更新!</b><br/><br/>"
  106. Response.Write "当前插件版本为: <b>"& objXmlVerChk.Item_Version_Local &"</b>. 发布日期为: <b>"& objXmlVerChk.Item_PubDate_Local &"</b>. 最后修改日期为: <b>"& objXmlVerChk.Item_Modified_Local &"</b>.<br/><br/>"
  107. If objXmlVerChk.Item_Url_Local<>Empty Then
  108. Response.Write "<a href="""& objXmlVerChk.Item_Url_Local &""" target=""_blank"" title=""查看插件的发布页面"">[点此查看插件的发布信息!]</a> "
  109. End If
  110. Response.Write "</p>"
  111. Response.Flush
  112. m=True
  113. End If
  114. End If
  115. Set objXmlVerChk=Nothing
  116. Next
  117. If m Then
  118. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('found').style.display = 'block';}catch(e){};</script>"
  119. Else
  120. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('notfound').style.display = 'block';}catch(e){};</script>"
  121. End If
  122. Response.Write "<form name=""edit"" method=""get"" action=""#"" class=""status-box"">"
  123. Response.Write "<p><input onclick=""window.scrollTo(0,0);"" type=""button"" class=""button"" value=""TOP"" title=""返回页面顶部"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=check&n=0';"" type=""button"" class=""button"" value=""查找更新"" title=""开始查找插件的可用更新"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=unsupport';"" type=""button"" class=""button"" value=""列出不支持在线更新的插件"" title=""列出不支持在线更新的插件"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=clear';"" type=""button"" class=""button"" value=""清除更新提示"" title=""清除更新提示"" /></p>"
  124. Response.Write "</form>"
  125. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('loading').style.display = 'none';}catch(e){};</script>"
  126. End If
  127. If Action="clear" Then
  128. Response.Write "<p id=""loading"">正在载入页面, 请稍候... 如果长时间停止响应, 请 <a href=""javascript:window.location.reload();"" title=""点此重试"">[点此重试]</a></p>"
  129. Response.Flush
  130. Response.Write "<p class=""status-box"" id=""found"" style=""display:none;"">!! 已清除以下插件的更新提示:</p>"
  131. Response.Write "<p class=""status-box"" id=""notfound"" style=""display:none;"">!! 没有更新提示可清除.</p>"
  132. Response.Flush
  133. m=False
  134. For Each f1 in fc
  135. Set objXmlVerChk=New PluginSapper_CheckVersionViaXML
  136. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "Plugin.xml") Then
  137. objXmlVerChk.XmlDataLocal=(LoadFromFile(BlogPath & "/PLUGIN/" & f1.name & "/plugin.xml","utf-8"))
  138. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "verchk.xml") Then
  139. fso.DeleteFile(BlogPath & "/PLUGIN/" & f1.name & "/" & "verchk.xml")
  140. Response.Write "<p class=""status-box"">"
  141. Response.Write "插件: <b>"& objXmlVerChk.Item_Name_Local &"</b> <b class=""allright"">的新版提示已清除!</b>"
  142. Response.Write "</p>"
  143. Response.Flush
  144. m=True
  145. End If
  146. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "error.log") Then
  147. fso.DeleteFile(BlogPath & "/PLUGIN/" & f1.name & "/" & "error.log")
  148. Response.Write "<p class=""status-box"">"
  149. Response.Write "插件: <b>"& objXmlVerChk.Item_Name_Local &"</b> <b class=""allright"">的不支持更新提示已清除!</b>"
  150. Response.Write "</p>"
  151. Response.Flush
  152. m=True
  153. End If
  154. End If
  155. Set objXmlVerChk=Nothing
  156. Next
  157. If m Then
  158. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('found').style.display = 'block';}catch(e){};</script>"
  159. Else
  160. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('notfound').style.display = 'block';}catch(e){};</script>"
  161. End If
  162. Response.Write "<form name=""edit"" method=""get"" action=""#"" class=""status-box"">"
  163. Response.Write "<p><input onclick=""window.scrollTo(0,0);"" type=""button"" class=""button"" value=""TOP"" title=""返回页面顶部"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=check&n=0';"" type=""button"" class=""button"" value=""查找更新"" title=""开始查找插件的可用更新"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=unsupport';"" type=""button"" class=""button"" value=""列出不支持在线更新的插件"" title=""列出不支持在线更新的插件"" /> <input onclick=""self.location.href='Xml_ChkVer.asp?act=clear';"" type=""button"" class=""button"" value=""清除更新提示"" title=""清除更新提示"" /></p>"
  164. Response.Write "</form>"
  165. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('loading').style.display = 'none';}catch(e){};</script>"
  166. End If
  167. If Action="check" Then
  168. Response.Write "<p id=""loading2"">正在查找更新, 请稍候... 如果长时间停止响应, 请 <a href=""javascript:window.location.reload();"" title=""点此重试"">[点此重试]</a></p>"
  169. Response.Flush
  170. Response.Write "<p class=""status-box"">!! 查找更新的过程会消耗一些时间, 时间长短会因您安装的插件数量而异, 请耐心等候...</p>"
  171. Response.Flush
  172. i=0
  173. n=Request.QueryString("n")
  174. n=Int(n)
  175. m=True
  176. For Each f1 in fc
  177. Set objXmlVerChk=New PluginSapper_CheckVersionViaXML
  178. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "Plugin.xml") Then
  179. objXmlVerChk.XmlDataLocal=(LoadFromFile(BlogPath & "/PLUGIN/" & f1.name & "/plugin.xml","utf-8"))
  180. If i>=n Then
  181. Response.Write "<p class=""status-box"">>>> 插件: " & objXmlVerChk.Item_Name_Local & " 正在检查中...</p>"
  182. Response.Flush
  183. Else
  184. If fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "verchk.xml") Then
  185. t="<b class=""notice"">发现新版本!</b>"
  186. ElseIf fso.FileExists(BlogPath & "/PLUGIN/" & f1.name & "/" & "error.log") Then
  187. t="<span class=""somehow"">该插件不支持在线更新.</span>"
  188. Else
  189. t="<span class=""allright"">未发现新版本.</span>"
  190. End If
  191. Response.Write "<p class=""status-box"">>>> 插件: " & objXmlVerChk.Item_Name_Local & " " & t & "</p>"
  192. Response.Flush
  193. End If
  194. If i>=n Then
  195. s=getHTTPPage(Resource_URL & f1.name & "/verchk.xml")
  196. objXmlVerChk.XmlDataWeb=(s)
  197. If objXmlVerChk.UpdateNeeded Then
  198. t="<b>" & objXmlVerChk.Item_Name_Local & "</b> 检查完毕, <b class=""notice"">发现新版本!</b>"
  199. ElseIf s=False Then
  200. t="<b>" & objXmlVerChk.Item_Name_Local & "</b> 检查完毕, <span class=""somehow"">该插件不支持在线更新.</span>"
  201. Else
  202. t="<b>" & objXmlVerChk.Item_Name_Local & "</b> 检查完毕, <span class=""allright"">未发现新版本.</span>"
  203. End If
  204. i=i+1
  205. Response.Write "<p class=""download-box"">" & t & "</p>"
  206. Response.Write "<script>setTimeout(""self.location.href='Xml_ChkVer.asp?act=check&n=" & i & "'"",3000);</script>"
  207. Response.Flush
  208. Call SaveToFile(BlogPath & "/PLUGIN/PluginSapper/Export/log.txt",f1.name,"utf-8",False)
  209. m=False
  210. Set objXmlVerChk=Nothing
  211. Exit For
  212. End If
  213. i=i+1
  214. End If
  215. Set objXmlVerChk=Nothing
  216. Next
  217. If m Then
  218. Response.Write "<p class=""status-box"">!! 所有插件已检查完成!</p>"
  219. Response.Write "<form name=""edit"" method=""get"" action=""#"" class=""status-box"">"
  220. Response.Write "<p><input onclick=""window.scrollTo(0,0);"" type=""button"" class=""button"" value=""TOP"" title=""返回页面顶部"" /> <input onclick=""self.location.href='Xml_ChkVer.asp';"" type=""button"" class=""button"" value=""查看需要更新的插件"" title=""查看更新结果"" /></p>"
  221. Response.Write "</form>"
  222. Response.Write "<script language=""JavaScript"" type=""text/javascript"">try{document.getElementById('loading2').style.display = 'none';}catch(e){};</script>"
  223. End If
  224. End If
  225. Set fso = nothing
  226. Err.Clear
  227. %>
  228. </div>
  229. </div>
  230. </div>
  231. </body>
  232. </html>
  233. <%
  234. Call System_Terminate()
  235. If Err.Number<>0 then
  236. Call ShowError(0)
  237. End If
  238. %>