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('tmp'); var vNewFileName = ''; // Note: ADF versionCompare: 0 OR Greater is True (-1 false) var requiredVersionCheck = application.ADF.utils.versionCompare(versionA=csVersion,versionB=requiredCSVersion); // Note: ADF minimumVersionCheck: boolean 0/1 var isCS105plus = application.ADF.utils.minimumVersionCheck(version=csVersion,minimumVersionsList="10.5"); var isCS107plus = application.ADF.utils.minimumVersionCheck(version=csVersion,minimumVersionsList="10.7"); // 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 ) { 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 ) 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); vNewFileName = imgGalleryObj.getImageFileName(baseFileName=sitePageMap.FileName, id=sitePageMap.GalleryID, width=0, height=0); // for CommonSpot 10.7 check if vNewFileName is a struct, if so parse out the correct FileName if ( isCS107plus AND IsStruct(vNewFileName) ) { if ( arguments.useWebP AND StructKeyExists(vNewFileName,"WebPFileName") ) vNewFileName = vNewFileName.WebPFileName; else if ( StructKeyExists(vNewFileName,"FileName") ) vNewFileName = vNewFileName.FileName; } if ( IsNumeric(sitePageMap.SubSiteID) AND LEN(TRIM(vNewFileName)) ) retURL = request.subsitecache[sitePageMap.SubSiteID].imagesUrl & vNewFileName; return retURL; var subsiteQry = QueryNew("tmp"); // Normalize the subsiteURL value arguments.subsiteURL = Replace(arguments.subsiteURL,'\','/','ALL'); if ( LEFT(arguments.subsiteURL,1) NEQ '/' ) arguments.subsiteURL = '/' & arguments.subsiteURL; if ( RIGHT(arguments.subsiteURL,1) NEQ '/' ) arguments.subsiteURL = arguments.subsiteURL & '/'; arguments.subsiteURL = Replace(arguments.subsiteURL,'//','/','ALL'); SELECT ID FROM subsites WHERE SubSiteURL = if ( subsiteQry.RecordCount ) return subsiteQry.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; // replace leading and trailing characters arguments.stringToFix = rereplace(arguments.stringToFix,"^[^[:alnum:]]*", ""); // remove trailing non-alphanumeric characters arguments.stringToFix = rereplace(arguments.stringToFix,"[^[:alnum:]]*$", ""); // remove apostrophes arguments.stringToFix = Replace(arguments.stringToFix,"'","","ALL"); // replace groups of non alphanumerical with dashes if ( arguments.addDashes ) arguments.stringToFix = REReplace(arguments.stringToFix,"[^[:alnum:]]+","-","ALL"); // Check if we want the lowercase if ( arguments.makeLowerCase ) arguments.stringToFix = LCase(arguments.stringToFix); return arguments.stringToFix; 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 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 sp.ID, sp.title FROM sitePages sp JOIN SubSites ss ON ss.id = sp.subsiteID WHERE sp.filename = AND ss.subsiteURL = 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("ceData_1_0").getCEFieldNameData(ceName=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 = {}; var imageData = {}; var imageInfo = {}; var imageID = ""; var imageURL = ""; var imgComponent = Server.CommonSpot.api.getObject('image'); var reqProtocol = "http://"; var csVersion = server.ADF.csVersion; var isCS107plus = application.ADF.utils.minimumVersionCheck(version=csVersion,minimumVersionsList="10.7"); var key = ''; // Get the ImageID from the CPIMAGE string imageID = parseCPIMAGE(cpimage=arguments.cpimage); if( IsNumeric(imageID) AND imageID GT 0 ) { try { if ( isCS107plus ) { imageInfo = imgComponent.getRenderInfo(imageID = imageID); // Convert imageData from being a CommonSpot validated struct // - so we can add custom keys to it for ( key IN imageInfo ) { retData[key] = imageInfo[key]; } //retData = variables.data.duplicateStruct(imageInfo); // ADF Legacy (for privateImage - IsPublic=0) imageData = imgComponent.getInfo(imageID = imageID); retData.privateImage = ( StructKeyExists(imageData,"IsPublic") AND imageData.IsPublic EQ 0 ) ? true : false; } else { // Pre-cs10.7 (legacy image data) 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.FileName = ListLast(imageURL,"/"); retData.privateImage = false; 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; retData.privateImage = ( StructKeyExists(imageData,"IsPublic") AND imageData.IsPublic EQ 0 ) ? true : false; // Other standard render mode image keys (not in the CMD API image getInfo data) // - ImageFound - boolean (1/0) // - MIMEType (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 retVal = 0; var resArr = []; // Search for a string that starts with CPIMAGE: and then in the second result set return all the numbers resArr = reFind("^CPIMAGE:([0-9]*)",arguments.cpimage,0,true); if ( ArrayLen(resArr.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. retVal = Mid(arguments.cpimage,resArr.pos[2],resArr.len[2]); } return val(retVal); 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; ActionSuccess = false; // WriteDump(var=cfcatch); // Error Logging var argStr = ''; var aKey = ''; var valueToLog = ''; for ( aKey IN arguments ) { if ( LEN(TRIM(arguments[aKey])) ) { valueToLog = arguments[aKey]; if ( Len(valueToLog) GT 1000 ) valueToLog = "#Left(valueToLog,1000)#...#chr(10)#[[value truncated]]#chr(10)#"; argStr = argStr & "#chr(10)#[#UCASE(aKey)#]: " & valueToLog; } } /*if ( LEN(TRIM(arguments.source)) ) argStr = argStr & " [Source]: " & arguments.source; if ( LEN(TRIM(arguments.destination)) ) argStr = argStr & " [Destination]: " & arguments.destination; if ( LEN(TRIM(arguments.file)) ) argStr = argStr & " [File]: " & arguments.file; if ( LEN(TRIM(arguments.newfilename)) ) argStr = argStr & " [NewFilename]: " & arguments.newfilename; if ( LEN(TRIM(arguments.directory)) ) argStr = argStr & " [Directory]: " & arguments.directory;*/ /*if ( LEN(TRIM(arguments.output)) ) { var contentsToLog = arguments.output; if ( Len(contentsToLog) GT 1000 ) contentsToLog = "#Left(contentsToLog,1000)#...#chr(10)#[[output truncated]]#chr(10)#"; argStr = argStr & "#chr(10)#[Output]: " & contentsToLog; }*/ application.ADF.log.addLogEntry(message="Error attempting file action: #Arguments.Action# for arguments: #argStr#",CFCatch=cfcatch); 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; return Server.CommonSpot.UDF.util.normalizeFilename(arguments.source); // PageName - filename without extension // Use the CommonSpot function /* 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; */