Implement new_topic for the XMLRPC interface.

This commit is contained in:
Nick Thomas
2013-09-28 01:59:41 +01:00
parent 0352671fda
commit d3cc418e8f

View File

@@ -546,17 +546,29 @@ helpers do
respond_xmlrpc( result )
end
def xmlrpc_reply_post( forum_id, topic_id, subject, text_body, attachment_id_array = nil, return_html = false ) # attachments, return_html are api level 4
# we need one of these to play with the session API
def csrf_token!
# we need one of these to play with the session API, do POSTs, etc.
if discourse.csrf_token.nil?
discourse.csrf_token = discourse.session_csrf({}).fetch("csrf")
end
end
# attachments and group id are TODO with uploads in general
def xmlrpc_new_topic( forum_id, subject, text_body, prefix_id = nil, attachment_id_array = nil, group_id = nil )
csrf_token!
# To make it a topic instead of a post, specify a category instead of a topic_id
rsp = discourse.post_create( :category => forum_id, :title => subject, :raw => text_body )
respond_xmlrpc( 'result' => true, 'topic_id' => rsp["id"].to_s )
end
# attachments, return_html are api level 4
def xmlrpc_reply_post( forum_id, topic_id, subject, text_body, attachment_id_array = nil, return_html = false )
csrf_token!
rsp = discourse.post_create( :topic_id => topic_id, :title => subject, :raw => text_body )
pp rsp
result = {
'result' => true,
'post_id' => rsp["id"].to_s,