//public static string GetReturnUrlParam(HttpRequest request, string siteRoot) //{ // // only allow return urls that are relative or start with the site root // //http://www.mojoportal.com/Forums/Thread.aspx?thread=5314&mid=34&pageid=5&ItemID=2&pagenumber=1#post22121 // if (request.Params.Get("returnurl") != null) // { // string returnUrlParam = request.Params.Get("returnurl"); // if (returnUrlParam.Contains(",")) // { // returnUrlParam = returnUrlParam.Substring(0, returnUrlParam.IndexOf(",")); // } // if (!String.IsNullOrEmpty(returnUrlParam)) // { // returnUrlParam = SecurityHelper.RemoveMarkup(returnUrlParam); // string returnUrl = WebUtils.ResolveUrl(SecurityHelper.RemoveMarkup(HttpUtility.UrlDecode(returnUrlParam))); // if ((returnUrl.StartsWith("/")) && (!(returnUrl.StartsWith("//")))) // { // return returnUrl; // } // if ( // (returnUrl.StartsWith(siteRoot)) // || (returnUrl.StartsWith(siteRoot.Replace("https://", "http://"))) // ) // { // return returnUrl; // } // } // } // return string.Empty; //} /// <summary> /// You should pass your editor to this method during pre-init or init /// </summary> /// <param name="editor"></param> public static void SetupNewsletterEditor(EditorControl editor) { if (HttpContext.Current == null) { return; } if (HttpContext.Current.Request == null) { return; } if (editor == null) return; SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings(); if (siteSettings == null) { return; } string providerName = siteSettings.NewsletterEditor; string loweredBrowser = string.Empty; if (HttpContext.Current.Request.UserAgent != null) { loweredBrowser = HttpContext.Current.Request.UserAgent.ToLower(); } if ( (loweredBrowser.Contains("iphone")) && (WebConfigSettings.ForcePlainTextInIphone) ) { providerName = "TextAreaProvider"; } if ( (loweredBrowser.Contains("android")) && (WebConfigSettings.ForcePlainTextInAndroid) ) { providerName = "TextAreaProvider"; } //string siteRoot = null; //if (siteSettings.SiteFolderName.Length > 0) //{ // siteRoot = siteSettings.SiteRoot; //} //if (siteRoot == null) siteRoot = WebUtils.GetSiteRoot(); string siteRoot = GetNavigationSiteRoot(); editor.ProviderName = providerName; editor.WebEditor.SiteRoot = siteRoot; CultureInfo defaultCulture = SiteUtils.GetDefaultCulture(); if (defaultCulture.TextInfo.IsRightToLeft) { editor.WebEditor.TextDirection = Direction.RightToLeft; } }
/// <summary> /// You should pass your editor to this method during pre-init or init /// </summary> /// <param name="editor"></param> public static void SetupEditor(EditorControl editor, bool useSkinCss, string preferredProvider, bool allowPageOverride, bool fullUrl, Page page) { if (HttpContext.Current == null) return; if (HttpContext.Current.Request == null) return; if (editor == null) return; SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings(); if (siteSettings == null) return; string providerName = siteSettings.EditorProviderName; if (siteSettings.AllowUserEditorPreference) { SiteUser siteUser = GetCurrentSiteUser(); if ((siteUser != null) && (siteUser.EditorPreference.Length > 0)) { providerName = siteUser.EditorPreference; } } string loweredBrowser = string.Empty; if (HttpContext.Current.Request.UserAgent != null) { loweredBrowser = HttpContext.Current.Request.UserAgent.ToLower(); } if ( (loweredBrowser.Contains("safari")) && (WebConfigSettings.ForceTinyMCEInSafari) ) { providerName = "TinyMCEProvider"; } if ( (loweredBrowser.Contains("opera")) && (WebConfigSettings.ForceTinyMCEInOpera) ) { providerName = "TinyMCEProvider"; } if (WebConfigSettings.AdaptEditorForMobile) { if ( (IsMobileDevice() || BrowserHelper.IsIpad()) && ( (!BrowserHelper.MobileDeviceSupportsWYSIWYG()) || (WebConfigSettings.ForceTextAreaEditorInMobile) ) ) { providerName = "TextAreaProvider"; if ((page != null) && (page is mojoBasePage)) { mojoBasePage basePage = page as mojoBasePage; basePage.ScriptConfig.IncludeMarkitUpHtml = true; } } } //string siteRoot = null; //if (siteSettings.SiteFolderName.Length > 0) //{ // siteRoot = siteSettings.SiteRoot; //} //if (siteRoot == null) siteRoot = WebUtils.GetSiteRoot(); string siteRoot = GetNavigationSiteRoot(); if (!string.IsNullOrEmpty(preferredProvider)) { providerName = preferredProvider; } editor.ProviderName = providerName; if (editor.WebEditor != null) { editor.WebEditor.SiteRoot = siteRoot; //editor.WebEditor.SkinName = siteSettings.EditorSkin.ToString(); if (useSkinCss) { editor.WebEditor.EditorCSSUrl = GetEditorStyleSheetUrl(allowPageOverride, fullUrl, page); } CultureInfo defaultCulture = SiteUtils.GetDefaultCulture(); if (defaultCulture.TextInfo.IsRightToLeft) { editor.WebEditor.TextDirection = Direction.RightToLeft; } } }
/// <summary> /// this is the preferred overload /// </summary> /// <param name="editor"></param> /// <param name="allowPageOverride"></param> /// <param name="fullUrl"></param> /// <param name="page"></param> public static void SetupEditor(EditorControl editor, bool allowPageOverride, Page page) { SetupEditor(editor, WebConfigSettings.UseSkinCssInEditor, string.Empty, allowPageOverride, false, page); }
public static void SetupEditor(EditorControl editor, bool useSkinCss) { SetupEditor(editor, useSkinCss, string.Empty, false, true, null); }
public static void SetupEditor(EditorControl editor) { SetupEditor(editor, WebConfigSettings.UseSkinCssInEditor); }