<cffunction name="createWikiPage" output="false" access="public" hint="">
<cfargument name = "assemblaSpaceName" type = "string" required = true />
<cfargument name = "pageName" type = "string" required = true />
<cfargument name = "parentID" type = "string" required = true />
<cfargument name = "content" type = "string" required = true default="" />
<cfset var result={message="Cannot create wiki page",status="FALSE",data={}} />
<cfset var data = ""/>
<cfset apiurl = "#GetAssemblaBaseURL()##arguments.assemblaSpaceName#/wiki_pages.json"/>
<!--- create the page using a JSON string --->
<cfset var data = {
wiki_page = {
page_name = len(arguments.pageName) gt 50 ? ReplaceNoCase(arguments.pageName, " ", "", "all") : arguments.pageName,
contents = "",
parent_id = arguments.parentID,
content = arguments.content
}
} />
<cfset data = lCase(serializeJSON(data))>
<!--- Call the web Service --->
<cfhttp url="#apiUrl#" method="post" result="returnData" >
<cfhttpparam name="X-API-Key" type="header" value="#GetAssemblaAPIKey()#">
<cfhttpparam name="X-API-Secret" type="header" value="#GetAssemblaAPISecret()#">
<cfhttpparam name="Content-type" type="header" value="application/json">
<cfhttpparam name="wiki_page" type="body" value="#data#">
</cfhttp>
<cfif returnData.statusCode contains "201">
<cfset result.message="OK"/>
<cfset result.status="True"/>
</cfif>
<cfset result.data = returnData.filecontent />
<cfreturn result />
</cffunction>