private string ResolvePageLink(int id, string defaultValue)
{
var tabController = new TabController();
// 2016-03-03 before issue #710
//var tabInfo = tabController.GetTab(linkId);
//if (tabInfo == null)
// return defaultValue;
//return tabInfo.TabPath;
//ownerPortalSettings = SxcInstance.
var tabInfo = tabController.GetTab(id);
if (tabInfo == null) return defaultValue;
var portalSettings = PortalSettings.Current;
// Get full PortalSettings (with portal alias) if module sharing is active
if (PortalSettings.Current != null && PortalSettings.Current.PortalId != tabInfo.PortalID)
//{
portalSettings = new PortalSettings(tabInfo.PortalID);
//var portalAlias = ownerPortalSettings.PrimaryAlias ?? TestablePortalAliasController.Instance.GetPortalAliasesByPortalId(tabInfo.PortalID).First();
//portalSettings = new PortalSettings(id, portalAlias);
//}
if(portalSettings == null) return defaultValue;
// var tabInfo = tabController.GetTab(id, portalSettings.PortalId, false);
// if (tabInfo == null) return defaultValue;
if (tabInfo.CultureCode != "" && tabInfo.CultureCode != PortalSettings.Current.CultureCode)
{
var cultureTabInfo = tabController.GetTabByCulture(tabInfo.TabID, tabInfo.PortalID, LocaleController.Instance.GetLocale(PortalSettings.Current.CultureCode));
if (cultureTabInfo != null)
tabInfo = cultureTabInfo;
}
// Exception in AdvancedURLProvider because ownerPortalSettings.PortalAlias is null
return Globals.NavigateURL(tabInfo.TabID, portalSettings, "", new string[] {});// + urlParams;
}