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

中间件编程

开发平台:

HTML/CSS

  1. <%@ CODEPAGE=65001 %>
  2. <%
  3. '///////////////////////////////////////////////////////////////////////////////
  4. '//              Z-Blog
  5. '// 作    者:    朱煊(zx.asd)
  6. '// 版权所有:    RainbowSoft Studio
  7. '// 技术支持:    rainbowsoft@163.com
  8. '// 程序名称:    
  9. '// 程序版本:    
  10. '// 单元名称:    XML-RPC/index.asp
  11. '// 开始时间:    2005.09.30
  12. '// 最后修改:    
  13. '// 备    注:    XML-RPC主文件
  14. '///////////////////////////////////////////////////////////////////////////////
  15. %>
  16. <% Option Explicit %>
  17. <% On Error Resume Next %>
  18. <% Response.Charset="UTF-8" %>
  19. <% Response.Buffer=True %>
  20. <!-- #include file="../c_option.asp" -->
  21. <!-- #include file="../function/c_function.asp" -->
  22. <!-- #include file="../function/c_function_md5.asp" -->
  23. <!-- #include file="../function/c_system_lib.asp" -->
  24. <!-- #include file="../function/c_system_base.asp" -->
  25. <!-- #include file="../function/c_system_event.asp" -->
  26. <!-- #include file="../function/c_system_plugin.asp" -->
  27. <!-- #include file="../plugin/p_config.asp" -->
  28. <!-- #include file="../function/rss_lib.asp" -->
  29. <!-- #include file="../function/atom_lib.asp" -->
  30. <%
  31. '/////////////////////////////////////////////////////////////////////////////////////////
  32. '*********************************************************
  33. ' 目的:    
  34. '*********************************************************
  35. Function ParseDateForRFC3339(dtmDate)
  36. Dim dtmDay, dtmWeekDay, dtmMonth, dtmYear
  37. Dim dtmHours, dtmMinutes, dtmSeconds
  38. Dim strTimeZone
  39. dtmYear = Year(dtmDate)
  40. dtmMonth = Right("00" & Month(dtmDate),2)
  41. dtmDay = Right("00" & Day(dtmDate),2)
  42. dtmHours = Right("00" & Hour(dtmDate),2)
  43. dtmMinutes = Right("00" & Minute(dtmDate),2)
  44. dtmSeconds = Right("00" & Second(dtmDate),2)
  45. strTimeZone=Left(ZC_TIME_ZONE,3) & ":" & Right(ZC_TIME_ZONE,2)
  46. ParseDateForRFC3339 = dtmYear & "-" & dtmMonth & "-" & dtmDay & "T" & dtmHours & ":" & dtmMinutes & ":" & dtmSeconds & strTimeZone
  47. End Function 
  48. '*********************************************************
  49. '*********************************************************
  50. ' 目的:    
  51. '*********************************************************
  52. Function CheckUserAndRights(userName,userPassWord,strAction)
  53. Set BlogUser=Nothing
  54. Set BlogUser=New TUser
  55. BlogUser.LoginType="Self"
  56. BlogUser.Name=userName
  57. BlogUser.PassWord=MD5(userPassWord)
  58. If BlogUser.Verify() Then
  59. If Not CheckRights(strAction) Then Call RespondError(6,ZVA_ErrorMsg(6))
  60. CheckUserAndRights=True
  61. Else
  62. Call RespondError(7,ZVA_ErrorMsg(7))
  63. End If
  64. End Function
  65. '*********************************************************
  66. '*********************************************************
  67. ' 目的:    
  68. '*********************************************************
  69. Function this_getUsersBlogs()
  70. Dim strXML
  71. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><array><data><value><struct><member><name>url</name><value><string>$%#1#%$</string></value></member><member><name>blogid</name><value><string>$%#2#%$</string></value></member><member><name>blogName</name><value><string>$%#3#%$</string></value></member></struct></value></data></array></value></param></params></methodResponse>"
  72. strXML=Replace(strXML,"$%#1#%$",TransferHTML(ZC_BLOG_HOST,"[html-format]"))
  73. strXML=Replace(strXML,"$%#2#%$",TransferHTML(ZC_BLOG_CLSID,"[html-format]"))
  74. strXML=Replace(strXML,"$%#3#%$",TransferHTML(ZC_BLOG_NAME,"[html-format]"))
  75. Response.Write strXML
  76. End Function
  77. '*********************************************************
  78. '*********************************************************
  79. ' 目的:    
  80. '*********************************************************
  81. Function this_getCategories()
  82. Dim strXML
  83. Dim strCategoryInfo
  84. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><array><data>$%#1#%$</data></array></value></param></params></methodResponse>"
  85. strCategoryInfo="<value><struct><member><name>description</name><value><string>$%#1#%$</string></value></member><member><name>httpUrl</name><value><string>$%#2#%$</string></value></member><member><name>rssUrl</name><value><string>$%#3#%$</string></value></member><member><name>title</name><value><string>$%#4#%$</string></value></member><member><name>categoryid</name><value><string>$%#5#%$</string></value></member></struct></value>"
  86. Dim Cate
  87. Dim s
  88. Dim strCategories
  89. For Each Cate in Categorys
  90. If IsObject(Cate) Then
  91. s=strCategoryInfo
  92. s=Replace(s,"$%#1#%$",TransferHTML(Cate.Name,"[html-format]"))
  93. s=Replace(s,"$%#2#%$",TransferHTML(Cate.Url,"[html-format]"))
  94. s=Replace(s,"$%#3#%$",TransferHTML(Cate.Url,"[html-format]"))
  95. s=Replace(s,"$%#4#%$",TransferHTML(Cate.Name,"[html-format]"))
  96. s=Replace(s,"$%#5#%$",TransferHTML(Cate.ID,"[html-format]"))
  97. strCategories=strCategories & s
  98. End If
  99. Next
  100. strXML=Replace(strXML,"$%#1#%$",strCategories)
  101. Response.Write strXML
  102. End Function
  103. '*********************************************************
  104. '*********************************************************
  105. ' 目的:    
  106. '*********************************************************
  107. Function this_getRecentPosts(numberOfPosts)
  108. Dim strXML
  109. Dim strPost
  110. Dim strRecentPosts
  111. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><array><data>$%#1#%$</data></array></value></param></params></methodResponse>"
  112. strPost="<value><struct><member><name>title</name><value><string>$%#1#%$</string></value></member><member><name>description</name><value><string>$%#2#%$</string></value></member><member><name>dateCreated</name><value><dateTime.iso8601>$%#3#%$</dateTime.iso8601></value></member><member><name>categories</name><value><array><data><value><string>$%#4#%$</string></value></data></array></value></member><member><name>postid</name><value><string>$%#5#%$</string></value></member><member><name>userid</name><value><string>$%#6#%$</string></value></member><member><name>link</name><value><string>$%#7#%$</string></value></member></struct></value>"
  113. Dim s
  114. Dim i
  115. Dim objRS
  116. Dim strSQL
  117. Dim strPage
  118. Dim objArticle
  119. Set objRS=Server.CreateObject("ADODB.Recordset")
  120. objRS.CursorType = adOpenKeyset
  121. objRS.LockType = adLockReadOnly
  122. objRS.ActiveConnection=objConn
  123. objRS.Source=""
  124. If CheckRights("Root")=False Then strSQL="WHERE [log_AuthorID] = " & BlogUser.ID
  125. objRS.Open("SELECT [log_ID] FROM [blog_Article] "& strSQL &" ORDER BY [log_PostTime] DESC")
  126. objRS.PageSize=numberOfPosts
  127. If objRS.PageCount>0 Then objRS.AbsolutePage = 1
  128. If (Not objRS.bof) And (Not objRS.eof) Then
  129. For i=1 to objRS.PageSize
  130. Set objArticle=New TArticle
  131. If objArticle.LoadInfoByID(objRS("log_ID")) Then
  132. s=strPost
  133. s=Replace(s,"$%#1#%$",TransferHTML(objArticle.Title,"[html-format]"))
  134. s=Replace(s,"$%#2#%$",TransferHTML(objArticle.Content,"[html-format]"))
  135. s=Replace(s,"$%#3#%$",TransferHTML(ParseDateForRFC3339(objArticle.PostTime),"[html-format]"))
  136. s=Replace(s,"$%#4#%$",TransferHTML(Categorys(objArticle.CateID).Name,"[html-format]"))
  137. s=Replace(s,"$%#5#%$",TransferHTML(objArticle.ID,"[html-format]"))
  138. s=Replace(s,"$%#6#%$",TransferHTML(objArticle.AuthorID,"[html-format]"))
  139. s=Replace(s,"$%#7#%$",TransferHTML(objArticle.Url,"[html-format]"))
  140. strRecentPosts=strRecentPosts & s
  141. End If
  142. objRS.MoveNext
  143. If objRS.eof Then Exit For
  144. Set objArticle=Nothing
  145. Next
  146. End If
  147. strXML=Replace(strXML,"$%#1#%$",strRecentPosts)
  148. Response.Write strXML
  149. End Function
  150. '*********************************************************
  151. '*********************************************************
  152. ' 目的:    
  153. '*********************************************************
  154. Function this_newPost(structPost,bolPublish)
  155. On Error Resume Next
  156. Dim objXmlFile
  157. Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM")
  158. objXmlFile.loadXML(structPost)
  159. Dim strXML
  160. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><string>$%#1#%$</string></value></param></params></methodResponse>"
  161. Dim objArticle
  162. Set objArticle=New TArticle
  163. objArticle.ID=0
  164. objArticle.AuthorID=BlogUser.ID
  165. If bolPublish=True Then
  166. objArticle.Level=4
  167. Else
  168. objArticle.Level=1
  169. End If
  170. objArticle.PostTime=Now()
  171. objArticle.Title=objXmlFile.documentElement.selectSingleNode("member[name=""title""]/value/string").text
  172. objArticle.Tag=""
  173. objArticle.Alias=""
  174. Dim strCate
  175. strCate=objXmlFile.documentElement.selectSingleNode("member[name=""categories""]/value/array/data/value[0]/string").text
  176. Dim Cate
  177. Dim i
  178. For i=UBound(Categorys) To LBound(Categorys) Step -1
  179. If IsObject(Categorys(i)) Then
  180. objArticle.CateID=Categorys(i).ID
  181. If strCate=Categorys(i).Name Then
  182. objArticle.CateID=Categorys(i).ID
  183. Exit For
  184. End If
  185. End If
  186. Next
  187. objArticle.Content=objXmlFile.documentElement.selectSingleNode("member[name=""description""]/value/string").text
  188. Dim objRegExp
  189. Dim s
  190. s=objArticle.Content
  191. Set objRegExp=New RegExp
  192. objRegExp.IgnoreCase =True
  193. objRegExp.Global=True
  194. objRegExp.Pattern="<[^>]*>"
  195. s=objRegExp.Replace(s,"")
  196. s=Left(s,ZC_TB_EXCERPT_MAX) & "..."
  197. objArticle.Intro=objArticle.Content
  198. If objArticle.Post=True Then
  199. Call BuildArticle(objArticle.ID,true,true)
  200. Call MakeBlogReBuild_Core()
  201. Response.Clear
  202. strXML=Replace(strXML,"$%#1#%$",objArticle.ID)
  203. Response.Write strXML
  204. Else
  205. Call RespondError(11,ZVA_ErrorMsg(11))
  206. End If
  207. Err.Clear
  208. End Function
  209. '*********************************************************
  210. '*********************************************************
  211. ' 目的:    
  212. '*********************************************************
  213. Function this_editPost(intPostID,structPost,bolPublish)
  214. On Error Resume Next
  215. Dim objXmlFile
  216. Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM")
  217. objXmlFile.loadXML(structPost)
  218. Dim strXML
  219. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><boolean>$%#1#%$</boolean></value></param></params></methodResponse>"
  220. Dim objArticle
  221. Set objArticle=New TArticle
  222. If objArticle.LoadInfoByID(intPostID) Then
  223. If Not((objArticle.AuthorID=BlogUser.ID) Or (CheckRights("Root")=True)) Then Call RespondError(6,ZVA_ErrorMsg(6))
  224. Else
  225. Call RespondError(9,ZVA_ErrorMsg(9))
  226. End If
  227. objArticle.Title=objXmlFile.documentElement.selectSingleNode("member[name=""title""]/value/string").text
  228. If bolPublish=True Then
  229. objArticle.Level=4
  230. Else
  231. objArticle.Level=1
  232. End If
  233. Dim strCate
  234. strCate=objXmlFile.documentElement.selectSingleNode("member[name=""categories""]/value/array/data/value[0]/string").text
  235. If strCate<>"" Then
  236. Dim Cate
  237. Dim i
  238. For i=UBound(Categorys) To LBound(Categorys) Step -1
  239. If IsObject(Categorys(i)) Then
  240. objArticle.CateID=Categorys(i).ID
  241. If strCate=Categorys(i).Name Then
  242. objArticle.CateID=Categorys(i).ID
  243. Exit For
  244. End If
  245. End If
  246. Next
  247. End If
  248. objArticle.Content=objXmlFile.documentElement.selectSingleNode("member[name=""description""]/value/string").text
  249. Dim objRegExp
  250. Dim s
  251. s=objArticle.Content
  252. Set objRegExp=New RegExp
  253. objRegExp.IgnoreCase =True
  254. objRegExp.Global=True
  255. objRegExp.Pattern="<[^>]*>"
  256. s=objRegExp.Replace(s,"")
  257. s=Left(s,ZC_TB_EXCERPT_MAX) & "..."
  258. objArticle.Intro=objArticle.Content
  259. If objArticle.Post=True Then
  260. Call BuildArticle(objArticle.ID,true,true)
  261. Call MakeBlogReBuild_Core()
  262. Response.Clear
  263. strXML=Replace(strXML,"$%#1#%$",1)
  264. Response.Write strXML
  265. Else
  266. Call RespondError(11,ZVA_ErrorMsg(11))
  267. End If
  268. Err.Clear
  269. End Function
  270. '*********************************************************
  271. '*********************************************************
  272. ' 目的:    
  273. '*********************************************************
  274. Function this_getPost(intPostID)
  275. Dim strXML
  276. Dim strPost
  277. Dim strRecentPosts
  278. Dim s
  279. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value>$%#1#%$</value></param></params></methodResponse>"
  280. strPost="<struct><member><name>title</name><value><string>$%#1#%$</string></value></member><member><name>description</name><value><string>$%#2#%$</string></value></member><member><name>dateCreated</name><value><dateTime.iso8601>$%#3#%$</dateTime.iso8601></value></member><member><name>categories</name><value><array><data><value><string>$%#4#%$</string></value></data></array></value></member><member><name>postid</name><value><string>$%#5#%$</string></value></member><member><name>userid</name><value><string>$%#6#%$</string></value></member><member><name>link</name><value><string>$%#7#%$</string></value></member></struct>"
  281. Dim objArticle
  282. Set objArticle=New TArticle
  283. If objArticle.LoadInfoByID(intPostID) Then
  284. If Not((objArticle.AuthorID=BlogUser.ID) Or (CheckRights("Root")=True)) Then Call RespondError(6,ZVA_ErrorMsg(6))
  285. Else
  286. Call RespondError(9,ZVA_ErrorMsg(9))
  287. End If
  288. s=strPost
  289. s=Replace(s,"$%#1#%$",TransferHTML(objArticle.Title,"[html-japan][html-format]"))
  290. s=Replace(s,"$%#2#%$",TransferHTML(objArticle.Content,"[html-japan][html-format]"))
  291. s=Replace(s,"$%#3#%$",TransferHTML(ParseDateForRFC3339(objArticle.PostTime),"[html-format]"))
  292. s=Replace(s,"$%#4#%$",TransferHTML(Categorys(objArticle.CateID).Name,"[html-format]"))
  293. s=Replace(s,"$%#5#%$",TransferHTML(objArticle.ID,"[html-format]"))
  294. s=Replace(s,"$%#6#%$",TransferHTML(objArticle.AuthorID,"[html-format]"))
  295. s=Replace(s,"$%#7#%$",TransferHTML(objArticle.Url,"[html-format]"))
  296. strRecentPosts=strRecentPosts & s
  297. strXML=Replace(strXML,"$%#1#%$",strRecentPosts)
  298. Response.Write strXML
  299. End Function
  300. '*********************************************************
  301. '*********************************************************
  302. ' 目的:    
  303. '*********************************************************
  304. Function this_newMediaObject(strFileName,strFileType,strFileBits)
  305. Dim objXmlFile
  306. Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM")
  307. Dim strXML
  308. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><struct><member><name>url</name><value><string>$%#1#%$</string></value></member></struct></value></param></params></methodResponse>"
  309. Dim objUpLoadFile
  310. Set objUpLoadFile=New TUpLoadFile
  311. objUpLoadFile.AuthorID=BlogUser.ID
  312. objUpLoadFile.FileName=strFileName
  313. objUpLoadFile.UploadType="Stream"
  314. If Not CheckRegExp(LCase(strFileName),".("& ZC_UPLOAD_FILETYPE &")$") Then Call RespondError(26,ZVA_ErrorMsg(26))
  315. Dim xmlnode
  316. Set xmlnode = objXmlFile.createElement("file")
  317. xmlnode.datatype = "bin.base64"
  318. xmlnode.text = strFileBits
  319. Dim objStreamUp
  320. Set objStreamUp = Server.CreateObject("ADODB.Stream")
  321. With objStreamUp
  322. .Type = adTypeBinary
  323. .Mode = adModeReadWrite
  324. .Open
  325. .Position = 0
  326. .Write xmlnode.nodeTypedvalue
  327. If .Size>ZC_UPLOAD_FILESIZE Then Call RespondError(27,ZVA_ErrorMsg(27))
  328. Dim objRS
  329. strFileName=FilterSQL(strFileName)
  330. If Not objConn.Execute("SELECT * FROM [blog_UpLoad] WHERE [ul_FileName] = '" & strFileName & "'").EOF Then Call RespondError(28,ZVA_ErrorMsg(28))
  331. .Position = 0
  332. objUpLoadFile.Stream=.Read
  333. .Close
  334. End With
  335. If objUpLoadFile.UpLoad(False) Then
  336. strXML=Replace(strXML,"$%#1#%$",TransferHTML(objUpLoadFile.FullUrlPathName,"[html-format]"))
  337. Response.Write strXML
  338. End If
  339. End Function
  340. '*********************************************************
  341. '*********************************************************
  342. ' 目的:    
  343. '*********************************************************
  344. Function this_deletePost(intPostID)
  345. Dim strXML
  346. strXML="<?xml version=""1.0"" encoding=""UTF-8""?><methodResponse><params><param><value><boolean>$%#1#%$</boolean></value></param></params></methodResponse>"
  347. Dim objArticle
  348. Set objArticle=New TArticle
  349. If objArticle.LoadInfoByID(intPostID) Then
  350. If Not((objArticle.AuthorID=BlogUser.ID) Or (CheckRights("Root")=True)) Then Call RespondError(6,ZVA_ErrorMsg(6))
  351. Else
  352. Call RespondError(9,ZVA_ErrorMsg(9))
  353. End If
  354. If objArticle.Del Then
  355. Call MakeBlogReBuild_Core()
  356. Response.Clear
  357. strXML=Replace(strXML,"$%#1#%$",1)
  358. Response.Write strXML
  359. Else
  360. Call RespondError(11,ZVA_ErrorMsg(11))
  361. End If
  362. End Function
  363. '*********************************************************
  364. '/////////////////////////////////////////////////////////////////////////////////////////
  365. Call System_Initialize()
  366. Dim strXmlCall
  367. Dim objXmlFile
  368. 'plugin node
  369. For Each sAction_Plugin_XMLRPC_Begin in Action_Plugin_XMLRPC_Begin
  370. If Not IsEmpty(sAction_Plugin_XMLRPC_Begin) Then Call Execute(sAction_Plugin_XMLRPC_Begin)
  371. Next
  372. Response.ContentType = "text/xml"
  373. If strXmlCall="" Then
  374. strXmlCall=Request.BinaryRead(Request.TotalBytes)
  375. End If
  376. Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM")
  377. objXmlFile.load(strXmlCall)
  378. If objXmlFile.readyState=4 Then
  379. If objXmlFile.parseError.errorCode <> 0 Then
  380. Call RespondError(0,ZVA_ErrorMsg(0))
  381. Else
  382. Dim objRootNode
  383. Set objRootNode=objXmlFile.documentElement
  384. Dim strAction
  385. strAction=objRootNode.selectSingleNode("methodName").text
  386. Dim strUserName
  387. Dim strUserPassWord
  388. Dim intNumberOfPosts
  389. Dim strPost
  390. Dim intPostID
  391. Dim strFileName
  392. Dim strFileType
  393. Dim strFileBits
  394. Dim bolPublish
  395. Select Case strAction
  396. Case "blogger.getUsersBlogs":
  397. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  398. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  399. If CheckUserAndRights(strUserName,strUserPassWord,"admin") Then Call this_getUsersBlogs()
  400. Case "metaWeblog.getCategories":
  401. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  402. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  403. If CheckUserAndRights(strUserName,strUserPassWord,"admin") Then Call this_getCategories()
  404. Case "metaWeblog.getRecentPosts":
  405. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  406. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  407. intNumberOfPosts=objRootNode.selectSingleNode("params/param[3]/value/int").text
  408. If CheckUserAndRights(strUserName,strUserPassWord,"ArticleMng") Then Call this_getRecentPosts(intNumberOfPosts)
  409. Case "metaWeblog.newPost":
  410. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  411. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  412. strPost=objRootNode.selectSingleNode("params/param[3]/value/struct").xml
  413. bolPublish=CBool(objRootNode.selectSingleNode("params/param[4]/value/boolean").text)
  414. If CheckUserAndRights(strUserName,strUserPassWord,"ArticleEdt") Then Call this_newPost(strPost,bolPublish)
  415. Case "metaWeblog.editPost":
  416. intPostID=objRootNode.selectSingleNode("params/param[0]/value/string").text
  417. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  418. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  419. strPost=objRootNode.selectSingleNode("params/param[3]/value/struct").xml
  420. bolPublish=CBool(objRootNode.selectSingleNode("params/param[4]/value/boolean").text)
  421. If CheckUserAndRights(strUserName,strUserPassWord,"ArticleEdt") Then Call this_editPost(intPostID,strPost,bolPublish)
  422. Case "metaWeblog.getPost":
  423. intPostID=objRootNode.selectSingleNode("params/param[0]/value/string").text
  424. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  425. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  426. If CheckUserAndRights(strUserName,strUserPassWord,"ArticleMng") Then Call this_getPost(intPostID)
  427. Case "metaWeblog.newMediaObject":
  428. strUserName=objRootNode.selectSingleNode("params/param[1]/value/string").text
  429. strUserPassWord=objRootNode.selectSingleNode("params/param[2]/value/string").text
  430. strFileName=objRootNode.selectSingleNode("params/param[3]/value/struct/member[name=""name""]/value/string").text
  431. strFileType=objRootNode.selectSingleNode("params/param[3]/value/struct/member[name=""type""]/value/string").text
  432. strFileBits=objRootNode.selectSingleNode("params/param[3]/value/struct/member[name=""bits""]/value/base64").text
  433. If CheckUserAndRights(strUserName,strUserPassWord,"FileUpload") Then Call this_newMediaObject(strFileName,strFileType,strFileBits)
  434. Case "blogger.deletePost":
  435. intPostID=objRootNode.selectSingleNode("params/param[1]/value/string").text
  436. strUserName=objRootNode.selectSingleNode("params/param[2]/value/string").text
  437. strUserPassWord=objRootNode.selectSingleNode("params/param[3]/value/string").text
  438. If CheckUserAndRights(strUserName,strUserPassWord,"ArticleDel") Then Call this_deletePost(intPostID)
  439. Case Else
  440. Call RespondError(1,ZVA_ErrorMsg(1))
  441. End Select 
  442. End If
  443. End If
  444. Call ClearGlobeCache
  445. Call LoadGlobeCache
  446. 'plugin node
  447. For Each sAction_Plugin_XMLRPC_End in Action_Plugin_XMLRPC_End
  448. If Not IsEmpty(sAction_Plugin_XMLRPC_End) Then Call Execute(sAction_Plugin_XMLRPC_End)
  449. Next
  450. Call System_Terminate()
  451. If Err.Number<>0 then
  452. Call RespondError(0,ZVA_ErrorMsg(0))
  453. End If
  454. %>