// xml config info variables.CCAPIConfig = structNew(); // CS Content Creation API settings variables.csUserId = ""; variables.csPassword = ""; variables.SSID = ""; variables.siteURL = ""; variables.webserviceURL = ""; variables.subsiteID = ""; // vars for elements and templates variables.elements = structNew(); variables.templates = structNew(); // custom element name for CCAPI config variables.configElementName = "CCAPI Configuration"; var CCAPIConfig = StructNew(); var configAppXMLPath = ExpandPath("#request.site.csAppsURL#config/ccapi.xml"); var configAppCFMPath = request.site.csAppsURL & "config/ccapi.cfm"; var configElementData = arrayNew(1); var CCAPIPageQry = queryNew(""); var CCAPIPageID = 0; var tmpWSVars = structNew(); // config data should be loaded here // TODO: Need some error checking here // CCAPIConfig = server.ADF.environment[request.site.id].ccapi; // check to see if there is a custom element record for the config if( variables.ceData.elementExists(variables.configElementName) ) { // get the data from the element ConfigElementData = variables.ceData.getCEData(variables.configElementName); if( arrayLen(configElementData) ) { CCAPIConfig.logging = structNew(); // check if logging is enabled if( len(configElementData[1].values.enableLogging) and configElementData[1].values.enableLogging eq 1 ) CCAPIConfig.logging.enabled = true; else CCAPIConfig.logging.enabled = false; // set the data for the config element tmpWSVars.csUserID = configElementData[1].values.csUserID; tmpWSVars.csPassword = configElementData[1].values.csPassword; tmpWSVars.SSID = ""; tmpWSVars.siteURL = "http://cfusion/demo"; tmpWSVars.webserviceURL = ""; tmpWSVars.subsiteID = "1"; // set vars for WS call CCAPIConfig.wsVars = tmpWSVars; // process elements from element mapping if( structKeyExists(configElementData[1].values, "elements") and listLen(configElementData[1].values.elements) ) CCAPIConfig.elements = getElementsFromElementMap(); // process the elements dynamically based on registred CCAPI page if( len(ConfigElementData[1].values.CCAPIPage) ) { // convert the CCAPIPage url into the pageID CCAPIPageQry = variables.csData.getCSPageDataByURL(ConfigElementData[1].values.CCAPIPage); if( CCAPIPageQry.recordCount ) { CCAPIPageID = CCAPIPageQry.ID; CCAPIConfig.elements = getElementsFromCCAPIPage(CCAPIPageID); } } } } // Pass a Logical path for the CFM file to the getConfigViaXML() since it will be read via CFINCLUDE else if ( FileExists(ExpandPath(configAppCFMPath)) ) CCAPIConfig = server.ADF.objectFactory.getBean("CoreConfig").getConfigViaXML(configAppCFMPath); // Pass an Absolute path for the XML file to the getConfigViaXML() since it will be read via CFFILE else if ( FileExists(configAppXMLPath) ) CCAPIConfig = server.ADF.objectFactory.getBean("CoreConfig").getConfigViaXML(configAppXMLPath); setCCAPIConfig(CCAPIConfig); variables.utils.logAppend("Error loading CCAPI Config [#cfcatch.message#]. Its possible the config.cfm or config.xml file is not setup for this site [#request.site.name# - #request.site.id#].", "CCAPI_Errors.log"); var elements = structNew(); var elements = structNew(); var tmp = structNew(); var itm = 1; // retrieve subsiteID for ccapi page var subsiteID = variables.csData.getSubsiteIDByPageID(arguments.pageID); // get the elements for the page passed in (only TBandCEData but allow unammed elements too) var pageElements = variables.csData.getElementsByPageID(arguments.pageID, true, false); if( arrayLen(pageElements) ){ // loop through and build the elements structure for(itm; itm lte arrayLen(pageElements); itm=itm+1 ){ tmp = structNew(); // if the element has been named use it - otherwise use the controlID if( len(pageElements[itm].controlName) ) tmp.controlName = pageElements[itm].controlName; else tmp.controlID = pageElements[itm].controlID; tmp.pageID = arguments.pageID; tmp.subsiteID = subsiteID; if( pageElements[itm].controlType gt request.constants.elementMaxFactory ) tmp.elementType = "custom"; else tmp.elementType = "texblock"; // load the element into the element structure (use element name if it exists - otherwise the custom element name) if( len(pageElements[itm].controlName) ) elements[pageElements[itm].controlName] = tmp; else elements[pageElements[itm].shortDesc] = tmp; } } var CCAPIConfig = getCCAPIConfig(); var elementsList = ""; var itm = 0; var thisElement = ""; var elementName = ""; var elements = structNew(); if( isStruct(CCAPIConfig) and structKeyExists(CCAPIConfig, "elements") and isStruct(CCAPIConfig["elements"]) ) elements = CCAPIConfig.elements; // load the elements into object space setElements(elements); var CCAPIConfig = getCCAPIConfig(); var wsVars = structNew(); if( isStruct(CCAPIConfig) and structKeyExists(CCAPIConfig, "wsVars") ) wsVars = CCAPIConfig["wsVars"]; if( structKeyExists(wsVars, "csuserid") ) setCSUserID(wsVars["csuserid"]); if( structKeyExists(wsVars, "cspassword") ) setCSPassword(wsVars["cspassword"]); if( structKeyExists(wsVars, "siteURL") ) setSiteURL(wsVars["siteURL"]); if( structKeyExists(wsVars, "webserviceURL") ) setWebServiceURL(wsVars["webserviceURL"]); if( structKeyExists(wsVars, "subsiteID") ) setSubsiteID(wsVars["subsiteID"]); var panelHTML = "";