private static IHttpAction GetSiteStartPageAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode) { if (contextNode == null) { return(null); } if (!contextNode.GetNodeType().IsInstaceOfOrDerivedFrom("Site")) { return(null); } //var startPage = portalContext.Site.StartPage; Page startPage = null; using (new SystemAccount()) { var contextSite = Node.Load <Site>(contextNode.Id); if (contextSite != null && (portalContext.ActionName == null || portalContext.ActionName.ToLower() == "browse")) { startPage = contextSite.StartPage; } if (startPage == null) { return(null); } } var relPath = startPage.Path.Replace(portalContext.Site.Path, ""); return(factory.CreateRedirectAction(portalContext, contextNode, null, relPath, false, true)); }
private static IHttpAction GetFirstRunAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode) { //TODO: this is for WebPI first time execution, not really side by side friendly reconsideration needed. if (portalContext.Site == null) { Uri uri = portalContext.OwnerHttpContext.Request.Url; string uriPath = uri.GetComponents(UriComponents.Path, UriFormat.Unescaped); string installTest = Path.Combine(uri.Authority, "/install/").ToLower(); string lowerUrl = uri.ToString().ToLower(); if (!lowerUrl.EndsWith("/default.aspx") && !lowerUrl.EndsWith("/config.aspx") && lowerUrl.IndexOf(installTest) < 0 && !uriPath.EndsWith(".axd")) { var appName = HttpRuntime.AppDomainAppVirtualPath; if (!appName.EndsWith("/")) { appName = appName + "/"; } return(factory.CreateRedirectAction(portalContext, contextNode, null, appName + "IISConfig/Config.aspx", false, false)); } } return(null); }
private static IHttpAction GetSmartUrlAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode) { string smartUrl = GetSmartUrl(portalContext); if (smartUrl != null) { return(factory.CreateRedirectAction(portalContext, contextNode, null, smartUrl, false, true)); } return(null); }
private static IHttpAction GetExternalPageAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode, string actionName, string appNodePath) { if (contextNode == null) { return(null); } if (actionName != null) { return(null); } if (appNodePath != null) { return(null); } string outerUrl = null; AccessProvider.ChangeToSystemAccount(); try { Page page = Node.LoadNode(contextNode.Id) as Page; if (page != null) { if (Convert.ToBoolean((page["IsExternal"]))) { outerUrl = page.GetProperty <string>("OuterUrl"); } } } finally { AccessProvider.RestoreOriginalUser(); } if (outerUrl != null) { return(factory.CreateRedirectAction(portalContext, contextNode, null, outerUrl, false, true)); } return(null); }
private static IHttpAction GetExternalPageAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode, string actionName, string appNodePath) { if (contextNode == null) return null; if (actionName != null) return null; if (appNodePath != null) return null; string outerUrl = null; AccessProvider.ChangeToSystemAccount(); try { Page page = Node.LoadNode(contextNode.Id) as Page; if (page != null) if (Convert.ToBoolean((page["IsExternal"]))) outerUrl = page.GetProperty<string>("OuterUrl"); } finally { AccessProvider.RestoreOriginalUser(); } if (outerUrl != null) return factory.CreateRedirectAction(portalContext, contextNode, null, outerUrl, false, true); return null; }
private static IHttpAction GetSmartUrlAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode) { string smartUrl = GetSmartUrl(portalContext); if (smartUrl != null) return factory.CreateRedirectAction(portalContext, contextNode, null, smartUrl, false, true); return null; }
private static IHttpAction GetSiteStartPageAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode) { if (contextNode == null) return null; if (!contextNode.GetNodeType().IsInstaceOfOrDerivedFrom("Site")) return null; //var startPage = portalContext.Site.StartPage; Page startPage = null; using (new SystemAccount()) { var contextSite = Node.Load<Site>(contextNode.Id); if (contextSite != null && (portalContext.ActionName == null || portalContext.ActionName.ToLower() == "browse")) startPage = contextSite.StartPage; if (startPage == null) return null; } var relPath = startPage.Path.Replace(portalContext.Site.Path, ""); return factory.CreateRedirectAction(portalContext, contextNode, null, relPath, false, true); }
private static IHttpAction GetFirstRunAction(IHttpActionFactory factory, PortalContext portalContext, NodeHead contextNode) { //TODO: this is for WebPI first time execution, not really side by side friendly reconsideration needed. if (portalContext.Site == null) { Uri uri = portalContext.OwnerHttpContext.Request.Url; string uriPath = uri.GetComponents(UriComponents.Path, UriFormat.Unescaped); string installTest = Path.Combine(uri.Authority, "/install/").ToLower(); string lowerUrl = uri.ToString().ToLower(); if (!lowerUrl.EndsWith("/default.aspx") && !lowerUrl.EndsWith("/config.aspx") && lowerUrl.IndexOf(installTest) < 0 && !uriPath.EndsWith(".axd")) { var appName = HttpRuntime.AppDomainAppVirtualPath; if (!appName.EndsWith("/")) appName = appName + "/"; return factory.CreateRedirectAction(portalContext, contextNode, null, appName + "IISConfig/Config.aspx", false, false); } } return null; }