stdMetadata = getStandardMetadata(arguments.pageID); if(structIsEmpty(stdMetadata) || !StructKeyExistS(stdMetadata,"categoryID")){ return StructNew(); } arguments.categoryID = stdMetadata.categoryID; arguments.subsiteID = stdMetadata.subsiteID; arguments.inheritedTemplateList = stdMetadata.inheritedTemplateList; var csPageURL = ""; var logMsg = ""; // If ct-decipher-linkurl module blows up handle the exception csPageURL = "broken-link-#arguments.pageID#--see-logs"; logMsg = "[csData_1_0.getCSPageURL] Error attempting to decipher CS PageID: #arguments.pageID# using the ct-decipher-linkurl module#Chr(10)##cfcatch.message#"; if ( StructKeyExists(cfcatch,"detail") AND LEN(TRIM(cfcatch.detail)) ) logMsg = logMsg & "#Chr(10)#Details: #cfcatch.detail#"; server.ADF.objectFactory.getBean("log_1_0").logAppend(logMsg); var retURL = ''; var sitePageMap = ''; var csVersion = server.ADF.csVersion; var requiredCSVersion = 10; var imgGalleryObj = ''; var galleryDetails = ''; var getLargestSpec = ''; var sizeSpecifications = QueryNew(''); var vNewFileName = ''; // Note: ADF versionCompare: 0 OR Greater is True (-1 false) var requiredVersionCheck = application.ADF.utils.versionCompare(versionA=csVersion,versionB=requiredCSVersion); var isCS105plus = application.ADF.utils.versionCompare(versionA=csVersion,versionB="10.5"); // CommonSpot 10+ (below 10.5) CMD API ImageGallery.getSizeList() query columns var WidthColName = 'Width'; var HeightColName = 'Height'; var orderByClause = 'Width DESC'; // if CommonSpot 10.5+ CMD API ImageGallery.getSizeList() update the Width and Height query columns // and the order by clause if ( isCS105plus GTE 0 ) { WidthColName = 'MaxWidth as Width'; HeightColName = 'MaxHeight as Height'; orderByClause = 'MaxWidth DESC'; } SELECT SitePages.SubSiteID, SitePages.FileName , ImageGallery.GalleryID FROM SitePages INNER JOIN SubSites ON SitePages.SubSiteID = SubSites.ID INNER JOIN ImageGallery ON ImageGallery.PageID = SitePages.ID WHERE SitePages.ID = vNewFileName = sitePageMap.FileName; imgGalleryObj = Server.CommonSpot.api.getObject('ImageGallery'); galleryDetails = imgGalleryObj.getInfo(id=sitePageMap.GalleryID); // Set the ORDER BY CLAUSE (to use the Height Column) if ( galleryDetails.SizeRestrictionType EQ 4 ) { // CommonSpot 10.5+ CMD API ImageGallery.getSizeList() order by column if ( isCS105plus GTE 0 ) orderByClause = 'MaxHeight DESC'; else orderByClause = 'Height DESC'; } // Get the Size Specs for the gallery sizeSpecifications = imgGalleryObj.getSizeList(id=sitePageMap.galleryID); SELECT ID, #WidthColName#, #HeightColName# FROM SizeSpecifications ORDER BY #orderByClause# vNewFileName = imgGalleryObj.getImageFileName(baseFileName=sitePageMap.FileName, id=sitePageMap.GalleryID, width=getLargestSpec.Width[1], height=getLargestSpec.Height[1]); vNewFileName = imgGalleryObj.getImageFileName(baseFileName=sitePageMap.FileName, id=sitePageMap.GalleryID, width=0, height=0); retURL = request.subsitecache[sitePageMap.SubSiteID].imagesUrl & vNewFileName; return retURL; SELECT ID FROM subsites WHERE SubSiteURL = if (getSubsiteIDQry.RecordCount) return getSubsiteIDQry.ID; else return 0; SELECT SitePages.SubSiteID FROM SitePages WHERE SitePages.ID = if ( sitePageMap.RecordCount ) return sitePageMap.SubSiteID; else return 0; var getSubsites = QueryNew("tmp"); var subsiteStruct = structNew(); var s = ""; SELECT ss.id, ss.subsiteURL FROM subsites ss, sitePages sp WHERE ss.securityPageID = sp.id AND AND ss.subsiteURL NOT LIKE ORDER BY ss.id ORDER BY ss.subsiteURL if ( getSubsites.recordCount ) subsiteStruct = variables.data.queryColumnsToStruct(getSubsites, "ID", "subsiteURL"); return subsiteStruct; SELECT SiteID, SiteName, RootPath, DataSourceName, RootURL FROM ServerSites WHERE SiteState = 1 AND SiteID = ORDER BY SiteName var getData = ''; var stdMetadata = structNew(); // build Standard Metadata return structure stdMetadata.name = ""; stdMetadata.title = ""; stdMetadata.caption = ""; stdMetadata.description = ""; stdMetadata.globalKeywords = ""; stdMetadata.categoryName = ""; stdMetadata.subsiteID = ""; stdMetadata.templateID = ""; stdMetadata.fileName = ""; stdMetadata.pageID = ""; stdMetadata.languageID = ""; stdMetadata.language = ""; stdMetadata.approvalStatus = ""; stdMetadata.PublicReleaseDate = ""; // IncludeInIndex list: ie. 1,2,4,8 | 1-include Page Index, 8-include in full text search stdMetadata.IncludeInIndex = ""; // confidentiality: 0-Unknown, 4-Confidential, 3-Highly Confidential, 5-Internal, 2-Public stdMetadata.confidentiality = ""; select title, description, dateAdded, caption, inheritedTemplateList, categoryID, subsiteID, name, lang, fileName, approvalStatus, PublicReleaseDate, IsPublic, Confidentiality from sitePages where id = if( getData.recordCount ) { stdMetadata.pageID = arguments.csPageID; stdMetadata.name = getData.name; stdMetadata.title = getData.title; stdMetadata.caption = getData.caption; stdMetadata.description = getData.description; stdMetadata.categoryName = ""; stdMetadata.subsiteID = getData.subsiteID; stdMetadata.templateID = listFirst(getData.inheritedTemplateList); // used primarily to retrieve custom metadata stdMetadata.inheritedTemplateList = getData.inheritedTemplateList; stdMetadata.categoryID = getData.categoryID; if( getData.lang eq 0 ) stdMetadata.language = "en"; else if ( getData.lang eq 9 ) stdMetadata.language = "es"; stdMetadata.fileName = getData.fileName; stdMetadata.languageID = getData.lang; stdMetadata.approvalStatus = getData.approvalStatus; stdMetadata.PublicReleaseDate = getData.PublicReleaseDate; stdMetadata.Confidentiality = getData.Confidentiality; if ( IsNumeric(getData.IsPublic) AND getData.IsPublic gt 0 ) stdMetadata.IncludeInIndex = Server.CommonSpot.udf.site.IsPublicGetOptions(getData.IsPublic); } return stdMetadata; var pageMetadata = StructNew(); pageMetadata.standard = getStandardMetadata(arguments.pageID); if ( StructIsEmpty(pageMetadata.standard) || !StructKeyExists(pageMetadata.standard,"categoryID") ) pageMetadata.custom = StructNew(); else pageMetadata.custom = getCustomMetadata(pageMetadata.standard.pageID, pageMetadata.standard.categoryID, pageMetadata.standard.subsiteID, pageMetadata.standard.inheritedTemplateList); return pageMetadata; var csPageName = arguments.contentTitle; var legacyRegEx = "[^a-zA-Z0-9]"; var csVersion = server.ADF.csVersion; var allowExtendChars = false; var extendedCharsMinVersionsList = "10.0.3"; var allowExtendedChars = server.ADF.objectFactory.getBean("utils_2_0").minimumVersionCheck(version=csVersion,minimumVersionsList=extendedCharsMinVersionsList); if ( allowExtendedChars ) { // for CS versions above 10.0.3+ csPageName = normalizePageName(source=csPageName); } else { // Use the legacy RegEx to rip out any unfriendly strings // (for all version below the min versions listed) csPageName = REReplaceNoCase(csPageName, legacyRegEx, "-", "all"); // replace any double "--" because CS removes one during page creation csPageName = listChangeDelims(csPageName,"-","-"); } return csPageName; var fixedString = arguments.stringToFix; // replace leading and trailing characters fixedString = rereplace(fixedString,"^[^[:alnum:]]*", ""); // remove trailing non-alphanumeric characters fixedString = rereplace(fixedString,"[^[:alnum:]]*$", ""); // remove apofixedStringophies fixedString = Replace(fixedString,"'","","ALL"); // replace groups of non alphanumerical with dashes if ( arguments.addDashes ) fixedString = REReplace(fixedString,"[^[:alnum:]]+","-","ALL"); // Check if we want the lowercase if ( arguments.makeLowerCase ) { // to lower case fixedString = LCase(fixedString); } return fixedString; var formattedSubsiteURL = trim(arguments.subsiteURL); // make sure all the slashes are forward slashes formattedSubsiteURL = replace(formattedSubsiteURL, "\", "/", "all"); // make sure there is a previous slash if( not left(formattedSubsiteURL, 1) eq "/" ) formattedSubsiteURL = "/" & formattedSubsiteURL; if( not right(formattedSubsiteURL, 1) eq "/" ) formattedSubsiteURL = formattedSubsiteURL & "/"; return formattedSubsiteURL; select ID, subsiteID from sitePages where name = and subsiteID = var fileDLoadPath = ''; var getSubSiteDir = ''; SELECT SubSiteDir FROM SubSites WHERE ID = var uploadedFileName = ''; var updateUploadedDocsFileName = ''; UPDATE UploadedDocs SET PublicFileName = WHERE PageID = var getDocPublicNames = ''; SELECT PublicFileName FROM UploadedDocs WHERE PageID = AND VersionState = 2 var retPageURL = Replace(request.site.url,"/#request.site.name#/","","all"); retPageURL = retPageURL & request.subsitecache[request.subsite.id].url & request.page.filename; return retPageURL; var csPageID = 0; var getPageData = ''; select ID, subsiteID from sitePages where title = and filename = var getSubsiteID = QueryNew("ID"); var getPageData = QueryNew("ID,Title"); var csPageID = 0; var matchRegEx = "PAGEID=[\d]+"; var matchArray = ArrayNew(1); if ( ArrayLen(REMatchNoCase(matchRegEx, arguments.csPageURL)) ) { matchArray = REMatchNoCase(matchRegEx, arguments.csPageURL); csPageID = int( ReReplaceNoCase(matchArray[1],"PAGEID=","") ); } select ID, title from sitePages where ID = select ID from SubSites where subsiteURL = select ID, title from sitePages where filename = and subsiteID = var getPageID = ''; SELECT SitePages.ID, SitePages.SubSiteID, UploadedDocs.PublicFileName FROM SitePages INNER JOIN UploadedDocs ON SitePages.ID = UploadedDocs.PageID WHERE SitePages.SubSiteID = AND UploadedDocs.PublicFileName = var selectContactData = ''; SELECT * FROM contacts WHERE contactID = var parentSubsiteURL = ""; var thisSubsiteID = 0; var parentSubsiteID = 0; // see if this subsiteURL is a valid subsite thisSubsiteID = getSubsiteID(arguments.subsiteURL); if( thisSubsiteID gt 0 ) parentSubsiteID = request.subsiteCache[thisSubsiteID].parentID; else { // remove the last part of the URL if( right(arguments.subsiteURL, 1) eq "/" ) arguments.subsiteURL = left( arguments.subsiteURL, len(arguments.subsiteURL) - 1); // strip off the last part of the subsiteURL (leaving the parent) parentSubsiteURL = listDeleteAt(arguments.subsiteURL, listLen(arguments.subsiteURL, "/"), "/"); // fix up the parentSubsiteURL (make sure there is a trailing/leading slash) parentSubsiteURL = formatSubsiteURL(parentSubsiteURL); // find the subsiteURL for the parent subsite parentSubsiteID = getSubsiteID(parentSubsiteURL); } return parentSubsiteID; var templates = structNew(); var getTemplates = ""; var t = ""; SELECT id,title FROM sitePages WHERE pageType = 1 AND AND title NOT LIKE ORDER BY title ORDER BY ID if ( getTemplates.recordCount ) templates = variables.data.queryColumnsToStruct(getTemplates, "ID", "Title"); return templates; SELECT Name, Title FROM SitePages WHERE PageType = AND ID = var isCS9Plus = (val(ListLast(ListFirst(Request.CP.ProductVersion, "."), " ")) >= 9); var getRenderHandler = QueryNew("temp"); var rhpath = ""; SELECT cem.ModulePath, 1 AS IsDefault FROM AvailableControls, CustomElementModules cem, ElementDefaults ed where ed.DisplayTemplateID = 0 and AvailableControls.ID = cem.ElementType and ed.HandlerID = cem.ID AND LTRIM(RTRIM(AvailableControls.ShortDesc)) = SELECT CustomElementModules.ModulePath FROM AvailableControls, CustomElementModules WHERE AvailableControls.ID = CustomElementModules.ElementType AND LTRIM(RTRIM(AvailableControls.ShortDesc)) = AND CustomElementModules.IsDefault = if ( ListLen(getRenderHandler.ModulePath,"/") LTE 1 ) rhpath = request.subsitecache[1].url & 'renderhandlers/' & getRenderHandler.ModulePath[1]; else rhpath = getRenderHandler.ModulePath[1]; var statusStruct = StructNew(); var appSpaceList = ListInsertAt(application.ADF.siteAppList, 1, "ADF"); var i = 1; statusStruct.validated = false; statusStruct.nameSpace = ""; // Loop over the list and search the App space for ( i = 1; i LTE ListLen(appSpaceList); i = i + 1) { // Find the bean name in the application space if ( StructKeyExists(application,ListGetAt(appSpaceList,i)) && StructKeyExists( StructFind(application,ListGetAt(appSpaceList,i)), arguments.beanName) ) { statusStruct.validated = true; statusStruct.nameSpace = ListGetAt(appSpaceList,i); break; } } var csPageStatus = ''; var retStatus = false; SELECT approvalStatus FROM sitepages WHERE id = if ( (csPageStatus.RecordCount) AND (csPageStatus.approvalStatus EQ 0) ) retStatus = true; var getSubsites = QueryNew("tmp"); SELECT SubSites.SubSiteDir, SubSites.SubSiteURL, SubSites.ParentID, SitePages.Name, SitePages.Title, SitePages.Description, SubSites.ID AS subsiteID, SubSites.Lang, SubSites.UploadDir, SubSites.UploadURL FROM SitePages INNER JOIN SubSites ON SitePages.ID = SubSites.SecurityPageID WHERE SubSites.ID = retHTML = "Can not find the Default Render Handler for this Content Type!"; var retStruct = StructNew(); var i = 1; var currKey = ""; var dataObj = server.ADF.objectFactory.getBean("data_1_0"); var dataStruct = dataObj.queryStringToStruct(arguments.serializedString); // Get the element fields that match the simple form var elementFormFields = server.ADF.objectFactory.getBean("forms_1_0").getCEFieldNameData(dataStruct.formName); var elementFldList = StructKeyList(elementFormFields); // Loop over the element fields for ( i = 1; i LTE ListLen(elementFldList); i = i + 1 ) { // Get the FIC field from the serialized form // and insert into struct with the element field name currKey = ListGetAt(elementFldList, i); // Check the element field is in the struct if ( StructKeyExists(dataStruct, elementFormFields[currKey]) ){ // Check if any dups in the field ID value if ( ListLen(dataStruct[elementFormFields[currKey]]) GT 1 ){ dataStruct[elementFormFields[currKey]] = dataObj.listRemoveDuplicates(dataStruct[elementFormFields[currKey]]); dataStruct[elementFormFields[currKey]] = dataObj.deleteFromList(dataStruct[elementFormFields[currKey]],elementFormFields[currKey]); } // Check if the field name eqs the value, then set to blank if ( dataStruct[elementFormFields[currKey]] EQ elementFormFields[currKey] ){ StructInsert(retStruct, currKey, ""); } else{ StructInsert(retStruct, currKey, dataStruct[elementFormFields[currKey]]); } } } var retData = structNew(); var imageData = structNew(); var imageID = ""; var imageURL = ""; var csVersion = ListFirst(ListLast(request.cp.productversion," "),"."); var requiredCSversion = 8; var imgComponent = ""; var reqProtocol = "http://"; var reResults = ""; //Search for a string that starts with CPIMAGE: and then in the second result set return all the numbers reResults = reFind("^CPIMAGE:([0-9]*)",arguments.cpimage ,0,true); if ( ArrayLen(reResults.LEN) gt 1 ) { //If we have more than 1 result we found the ID //Get the ID out of the string by getting the mid to length of the second result in the RE find. imageID = Mid(arguments.cpimage,reResults.pos[2],reResults.len[2]); } if( IsNumeric(imageID) ) { imageURL = getImagePageURL(pageid=imageID); // imageID is not found in the standard render mode filter data struct // - but we will add it since this method has returned it in the past retData.imageID = imageID; retData.resolvedURL = StructNew(); retData.resolvedURL.serverRelative = imageURL; if ( cgi.https EQ "on" ) reqProtocol = "https://"; retData.resolvedURL.Absolute = reqProtocol & request.CGIVars.SERVER_NAME & imageURL; //retData.OrigHeight = ""; //retData.OrigWidth = ""; //retData.SubsiteID = ""; retData.FileName = ListLast(imageURL,"/"); //retData.AltText = ""; //retData.OrigSize = ""; retData.privateImage = false; //retData.errorMsg = ""; // Original Image Data return Struct if ( csVersion GTE requiredCSversion ) { try { // Get Image Data using the CS CMD API image object imgComponent = Server.CommonSpot.api.getObject('image'); imageData = imgComponent.getInfo(imageID=imageID); if ( !StructIsEmpty(imageData) ) { retData.OrigHeight = imageData.OrigHeight; retData.OrigWidth = imageData.OrigWidth; retData.SubsiteID = imageData.SubsiteID; retData.FileName = imageData.FileName; retData.AltText = imageData.Description; retData.OrigSize = imageData.Size; if ( StructKeyExists(imageData,"IsPublic") AND imageData.IsPublic EQ 0 ) retData.privateImage = true; // Other standard render mode image keys (not in the CMD API image data) // - ImageFound - boolean (1/0) // - MIMEType - string (eg. image/png) } } catch ( any expt ) { if ( StructKeyExists(expt,"message") AND LEN(TRIM(expt.message)) ) { retData.errorMsg = expt.message; if ( FindNoCase("private image",expt.message) ) retData.privateImage = true; } } } } return retData; var subsiteparentlist = request.subsitecache[arguments.childsubsiteid].SUBSITEINHERITANCE; var rootpos = ListFind(subsiteparentlist,1); var toplevelsubsiteid = 0; if ( (ListLen(subsiteparentlist) GT 1) AND (rootpos NEQ 0) ) subsiteparentlist = ListDeleteAt(subsiteparentlist,rootpos); toplevelsubsiteid = ListLast(subsiteparentlist); return toplevelsubsiteid; var retStruct = StructNew(); var CFfile = ""; var CPfile = ""; var CFDirectory = ""; var deletedFiles = ""; var failedDeletions = ""; var filesFound = ""; var ActionSuccess = false; retStruct["Arguments"] = Arguments; retStruct["CFfile"] = CFfile; retStruct["CPfile"] = CPfile; retStruct["CFDirectory"] = CFDirectory; retStruct["Success"] = ActionSuccess; return Server.CommonSpot.udf.util.resolveUploadedDocURL(arguments.pageID); var pageDataAry = arrayNew(1); var getPages = queryNew(''); var itm = 1; var pageMetadata = structNew(); select distinct pageID from data_customCF where moduleFileName = if( getPages.recordCount ) { for( itm=1; itm lte getPages.recordCount; itm=itm+1 ) { pageMetadata = getStandardMetadata(getPages.pageID[itm]); // Added to prevent appending a Metadata array that has fields but no values if ( structKeyExists(pageMetadata,"pageid") AND LEN(TRIM(pageMetadata.pageid)) ) arrayAppend(pageDataAry, pageMetadata); } } return pageDataAry; var getModuleData = ''; var pageDataAry = arrayNew(1); var getPages = queryNew(''); var itm = 1; var pageMetadata = structNew(); var modPath = TRIM(arguments.modulePath); var moduleIDlist = ""; // If the passed in ModulePath is in the CS Default RH directory, strip the path info and just leave the file name if ( Lcase(ListFirst(modPath,"/")) IS "renderhandlers" OR FindNoCase(request.site.renderhandlerURL,modPath) ) modPath = ListLast(modPath,"/"); SELECT ID FROM CustomElementModules WHERE modulePath = SELECT DISTINCT pageID FROM data_custom_render WHERE if( getPages.recordCount ) { for( itm=1; itm lte getPages.recordCount; itm=itm+1 ) { pageMetadata = getStandardMetadata(getPages.pageID[itm]); // Added to prevent appending a Metadata array that has fields but no values if ( structKeyExists(pageMetadata,"pageid") AND LEN(TRIM(pageMetadata.pageid)) ) arrayAppend(pageDataAry, pageMetadata); } } var pageQuery = queryNew(''); var metadata = structNew(); select languageSet.pageID from languageSet, sitePages where sitePages.ID = and languageSet.ID = sitePages.langSetID and pageID <> var getData = ''; var langName = ""; select name from languages where ID = var getDocInfo = ''; var iconPath = ""; select iconPath from formats where MIMEType = var pageQry = queryNew(""); var subsiteList = arguments.subsiteID; var pageTypeList = 0; // 0 = Pages var uploaded = 0; if( arguments.includeDocs ) uploaded = "0,1"; //pageTypeList = "0,3"; if( arguments.includeExternalURLs ) pageTypeList = ListAppend(pageTypeList,3); // 3 = External URLs if ( arguments.includeTemplates ) pageTypeList = ListAppend(pageTypeList,1); // 1 = Templates if( arguments.recurse and structKeyExists(request.subsiteCache, arguments.subsiteID) ) { subsiteList = request.subsiteCache[arguments.subsiteID].descendantList; // add in the current subsite too subsiteList = listAppend(subsiteList, arguments.subsiteID); } SELECT ID, filename, title, subsiteID, uploaded, pageType, DocType FROM sitePages WHERE AND AND var pageData = arrayNew(1); var metadata = ""; var pageID = ""; var itm = 1; for( itm=1; itm lte listLen(arguments.pageIDList); itm=itm + 1 ) { pageID = listGetAt(arguments.pageIDList, itm); metadata = getStandardMetadata(pageID); arrayAppend(pageData, metadata); } return pageData; var isAPage = false; var checkPage = ""; select ID from sitePages where subsiteID = and title = and name = var templatePages = ''; var subsiteList = ""; var decendants = ""; if(arguments.subsiteID neq -1){ subsiteList="#arguments.subsiteID#"; if(arguments.includeSubsiteDescendants and StructKeyExists(application.subsitecache,arguments.subsiteID)){ subsiteList = subsiteList&","&request.subsitecache[arguments.subsiteID].DESCENDANTLIST; } } SELECT id FROM sitePages WHERE InheritedTemplateList like AND var re = "[^\p{L}\p{N}_$]+"; var pat = CreateObject("java","java.util.regex.Pattern").compile(re); var matcher = pat.matcher(Arguments.source); var prelim = matcher.replaceAll("-"); var rval = REReplace(prelim,"^[_-]*([^_-]+([_-]+([^_-]+))*)[_-]*$","\1"); return rval; var re = "[^\p{L}\p{N}_$()]+"; var pat = CreateObject("java","java.util.regex.Pattern").compile(re); var matcher = pat.matcher(Arguments.source); var prelim = matcher.replaceAll("-"); var rval = REReplace(prelim,"^[_-]*([^_-]+([_-]+([^_-]+))*)[_-]*$","\1"); return rval;