private Boolean AllowEditHtml(EditorSettings settings, ModuleEditorSettings mSettings) { Boolean allow = false; Boolean allowEditHTML = View.AllowHtmlEdit; Boolean editToAll = View.AllowHtmlEditToAll; String allowTo = View.AllowHtmlEditTo; allow = AllowEditHtml(allowEditHTML, editToAll, (!editToAll && !String.IsNullOrEmpty(allowTo)) ? allowTo.Split(',').ToList().Where(t => t.All(c => char.IsDigit(c))).Select(t => Int32.Parse(t)).ToList() : new List <Int32>()); if (!allow && String.IsNullOrEmpty(allowTo)) { if (mSettings != null) { allow = AllowEditHtml(mSettings.AllowHtmlEdit, mSettings.AllowHtmlEditToAll, mSettings.AllowedHtmlEditProfileTypes); } if (!allow && (mSettings == null || !mSettings.AllowHtmlEdit)) { allow = AllowEditHtml(settings.AllowHtmlEdit, settings.AllowHtmlEditToAll, settings.AllowedHtmlEditProfileTypes); } } return(allow); }
private EditorInitializer GetInitializer(EditorType eType, EditorConfiguration config, EditorSettings settings, ModuleEditorSettings mSettings) { EditorInitializer item = new EditorInitializer(); //item.SelectedToolbarType = View.Toolbar; item.Toolbar = GetToolbar(eType, config, settings, mSettings); item.CssFiles = config.CssFiles; #region "HTML edit" item.AllowEditHTML = AllowEditHtml(settings, mSettings); #endregion #region "Fonts" String names = View.FontNames; String sizes = View.FontSizes; String realFontSizes = View.RealFontSizes; item.FontNames = (View.AllAvailableFontnames) ? config.FontNames : (!String.IsNullOrEmpty(names)) ? names : (mSettings != null) ? mSettings.FontNames : (settings != null) ? settings.FontNames : config.FontNames; item.FontSizes = (!String.IsNullOrEmpty(sizes)) ? sizes : (mSettings != null) ? mSettings.FontSizes : (settings != null) ? settings.FontSizes : config.FontSizes; item.RealFontSizes = (!String.IsNullOrEmpty(realFontSizes)) ? realFontSizes : (mSettings != null) ? mSettings.RealFontSizes : (settings != null) ? settings.RealFontSizes : config.RealFontSizes; item.UseRealFontSize = (!String.IsNullOrEmpty(realFontSizes)) ? View.UseRealFontSize : (mSettings != null) ? mSettings.UseRealFontSize : (settings != null) ? settings.UseRealFontSize : config.UseRealFontSize; // FontConfiguration vConfiguration = View.DefaultFontConfiguration; //new FontConfiguration(); // vConfiguration.Background = View.DefaultBackground; // vConfiguration.Color = View.DefaultColor; // vConfiguration.Family = View.DefaultFontName; // vConfiguration.Size = View.DefaultFontSize; // vConfiguration.IsRealFontSize = View.UseRealFontSize; // (mSettings != null) ? mSettings. : (settings != null) ? settings.FontFamily : config.DefaultEditor.ToolbarType; item.DefaultFont = (mSettings != null && mSettings.DefaultFont != null) ? mSettings.DefaultFont : (settings != null && settings.DefaultFont != null) ? settings.DefaultFont: config.DefaultFont; item.DefaultRealFont = (mSettings != null && mSettings.DefaultRealFont != null) ? mSettings.DefaultRealFont : (settings != null && settings.DefaultRealFont != null) ? settings.DefaultRealFont : config.DefaultRealFont; item.FontSizeSettings = config.FontSizeSettings; #endregion #region "Other Settings" ItemPolicy sDefaultFonts = View.SetDefaultFont; ItemPolicy aPolicy = View.AutoResizeHeight; item.SetDefaultFont = (sDefaultFonts != ItemPolicy.byconfiguration) ? sDefaultFonts : (mSettings != null) ? mSettings.SetDefaultFont : (settings != null) ? settings.SetDefaultFont : ItemPolicy.notallowed; item.AutoResizeHeight = (aPolicy != ItemPolicy.byconfiguration) ? aPolicy : (mSettings != null) ? mSettings.AutoResizeHeight : (settings != null) ? settings.AutoResizeHeight : ItemPolicy.notallowed; if (View.DisabledTags == "-") { item.DisabledTags = (mSettings != null) ? mSettings.DisabledTags : (settings != null) ? settings.DisabledTags : ""; } else { item.DisabledTags = View.DisabledTags; } if (View.EnabledTags == "-") { item.EnabledTags = (mSettings != null) ? mSettings.EnabledTags : (settings != null) ? settings.EnabledTags : ""; } else { item.EnabledTags = View.EnabledTags; } item.Width = (!String.IsNullOrEmpty(View.EditorWidth)) ? View.EditorWidth : (mSettings != null) ? mSettings.Width : (settings != null) ? settings.Width : ""; item.Height = (!String.IsNullOrEmpty(View.EditorHeight)) ? View.EditorHeight : (mSettings != null) ? mSettings.Height : (settings != null) ? settings.Height : ""; #endregion #region "Link To" String vItemsToLink = View.ItemsToLink; List <String> tags = item.EnabledTags.Split(',').ToList(); item.ItemsToLink = config.AvailableItemsToLink.Where(a => tags.Contains(a.Tag)).ToList(); #endregion #region "Smartags" String vSmartags = View.SmartTags; #endregion item.ToolsPath = (settings != null) ? settings.ToolsPath : (config.DefaultEditor == null) ? "" : config.DefaultEditor.ToolsPath; item.DefaultCssFilesPath = config.DefaultCssFilesPath; if (mSettings != null) { item.AllowMultipleFontFamily = mSettings.AllowMultipleFontFamily; item.AllowMultipleFontSize = mSettings.AllowMultipleFontSize; if (mSettings.OvverideCssFileSettings) { item.CssFiles = mSettings.CssFiles; } } return(item); }
private EditorToolbar GetToolbar(EditorType eType, EditorConfiguration config, EditorSettings settings, ModuleEditorSettings mSettings) { ToolbarType tType = View.Toolbar; if (tType == ToolbarType.bySettings) { tType = (mSettings != null) ? mSettings.ToolbarType : (settings != null) ? settings.ToolbarType : config.DefaultEditor.ToolbarType; switch (eType) { case EditorType.none: case EditorType.textarea: tType = ToolbarType.none; break; case EditorType.lite: tType = (tType == ToolbarType.full || tType == ToolbarType.advanced) ? ToolbarType.simple : tType; break; } } View.Toolbar = tType; return(config.AvailableToolbars.Where(t => t.ToolbarType == tType && t.EditorType == eType).FirstOrDefault()); }