variables.ElementName = getCalPageMapCEName(); variables.ElementIDfield = "mapID"; //variables.CCAPIName = getCCAPIName(variables.elementName); //variables.elementViewName = getCEViewName(variables.elementName); if ( LEN(arguments.uniqueID) ) return application.ptCalendar.ceData.getCEData(variables.ElementName, variables.ElementIDfield, TRIM(arguments.uniqueID)); else return application.ptCalendar.ceData.getCEData(variables.ElementName); var rtnStruct = StructNew(); var pageMap = StructNew(); var pageMapAry = getCalPageMap(); var itm = 1; var ssPos = 1; var ssidList = ""; var subsite = ""; var key = ""; var fieldExceptionList = "mapID,subsite,orgID"; // build the page map structure indexed by subsite for ( itm=1; itm LTE ArrayLen(pageMapAry); itm=itm+1 ) { pageMap[pageMapAry[itm].values.subsite] = pageMapAry[itm].values; } // return the map appropriate for the calling subsite if ( ListLen(StructKeyList(pageMap)) ) { ssidList = request.subsiteCache[arguments.subsiteID].subsiteInheritance; for ( ssPos=1; ssPos LTE ListLen(ssidList); ssPos=ssPos+1 ) { subsite = ListGetAt(ssidList,ssPos); if ( StructKeyExists(pageMap, subsite) ) { rtnStruct = pageMap[subsite]; break; } } } if ( arguments.convertPageIDs ) { for ( key IN rtnStruct ) { if ( !ListFindNoCase(fieldExceptionList,key) ) rtnStruct[key] = application.ptCalendar.csData.getCSPageURL(rtnStruct[key]); } } return rtnStruct;