var navHTML = ""; var itm = ""; var pageURL = ""; var child = ""; var hasChildren = ""; var pageMetadata = ""; var tempInheritancelist = ""; var isSelect = ""; var openNewWindow = false; var openNewWindowConfigStatus = getRegisteredURLsOpenNewWindowStatus(); id="nav_primary" class="nav"> class="parent"> class="active" target="_blank"> #pageMetadata.title# #getNavHTML(arguments.subsiteAry, arguments.arrayIndex + 1)# var canBeStartPoint = false; var parentNavElements = application.ohsuNav.navElementDAO.getParentsBySubsiteID(arguments.subsiteID); // prevents navigation from going to deep // TODO: UI should force this on if we are too deep - when creating a promoted parent //if( arguments.fileName eq "index.cfm" and arrayLen(parentNavElements) lt 2 ) if( arguments.fileName eq "index.cfm" ) canBeStartPoint = true; var canBePromoted = false; if( arguments.fileName eq "index.cfm" ) canBePromoted = true; var subsiteLinks = structNew(); var pageArray = arrayNew(1); var uniqueID = ""; var itm = ""; var tmp = structNew(); var pageMetadata = ""; var navIsCurrentSubsite = false; // get the current subsite var navElement = application.ohsuNav.navElementDAO.getBySubsiteID(arguments.subsiteID); // if the current subsite doesn't have nav - get parent if( arrayLen(navElement) eq 0 ) navElement = application.ohsuNav.navElementDAO.getParentsBySubsiteID(arguments.subsiteID); else navIsCurrentSubsite = true; // build the subsite nav data if( arrayLen(navElement) gt 0 ) { uniqueID = navElement[1].values.uniqueID; // loop through the childList and build the page array for(itm=1; itm lte listLen(navElement[1].values.childList); itm=itm+1 ) { tmp = structNew(); pageMetadata = application.ohsuNav.csData.getStandardMetadata(listGetAt(navElement[1].values.childList, itm) ); // make sure this page is still a page and has not been deleted if( structKeyExists(pageMetadata, "pageID") and len(pageMetadata.pageID) and pageMetadata.pageID > 0) { tmp.pageTitle = pageMetadata.title; tmp.pageID = pageMetadata.pageID; tmp.url = "#request.subsiteCache[pageMetadata.subsiteID].url##pageMetadata.fileName#"; arrayAppend(pageArray, tmp); } } } // build struct to send back subsiteLinks.uniqueID = uniqueID; subsiteLinks.pageArray = pageArray; subsiteLinks.navIsCurrentSubsite = navIsCurrentSubsite; var isStartPoint = false; var navData = application.ohsuNav.navElementDAO.getByStartPoint(arguments.pageID); if( arrayLen(navData) gt 0 ) isStartPoint = true; var isPromoted = false; var navData = application.ohsuNav.navElementDAO.getByStartPoint(arguments.pageID); if( arrayLen(navData) gt 0 and navData[1].values.parentID eq 0 ) isPromoted = true; var retValue = arguments.registeredURL; var excludedDomains = getRegisteredURLsExcludedDomains(); var exDomain = ""; var e=1; // Parse the register URL in to an Array of URL Parts - thanks Ben!! var regUrlParts = reMatch("^\w+://|[^\/:]+|[\w\W]*$",arguments.registeredURL); // The regURL will be broken in to a 3 part array. protocol, host, relative url if ( ArrayLen(regUrlParts) GTE 3 ) { for ( e=1; e LTE ListLen(excludedDomains); e=e+1 ) { exDomain = ListGetAt(excludedDomains,e); // Check to see if the host matches any of the excluded domains if ( regUrlParts[2] EQ exDomain ) { retValue = regUrlParts[3]; break; } } } return retValue;