var navHTML = "";
var itm = "";
var pageURL = "";
var child = "";
var hasChildren = "";
var pageMetadata = "";
var tempInheritancelist = "";
var isSelect = "";
var openNewWindow = false;
var openNewWindowConfigStatus = getRegisteredURLsOpenNewWindowStatus();
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;