⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftb3htmleditorprovider.cs

📁 SharpNuke源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\?xml:[^>]*>/g, \'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?st1:[^>]*>/g,\'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?[a-z]\\:[^>]*>/g,\'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?span[^>]*>/gi,\'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?div[^>]*>/gi,\'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?font[^>]*>/gi,\'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?pre[^>]*>/gi,\'\'); ");
				wordCleanScript.Append("wordContent = String(wordContent).replace(/<\\/?h[1-6][^>]*>/gi,\'\'); ");
				wordCleanScript.Append("this.ftb.designEditor.document.body.innerHTML = wordContent;");
				
				ToolbarButton dnnWordClean = new ToolbarButton();
				//TODO localize this if possible
				dnnWordClean.Title = DotNetNuke.Services.Localization.Localization.GetString("WordCleanButton");
				dnnWordClean.ButtonImage = "wordclean";
				dnnWordClean.ScriptBlock = wordCleanScript.ToString();
				tb.Items.Add(dnnWordClean);
			}
			return tb;
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Creates the Styles Menu
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <returns>A FreeTextBox StylesMenu</returns>
		/// <history>
		/// 	[cnurse]	12/13/2004	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private FreeTextBoxControls.StylesMenu AddStylesMenu()
		{
			PortalSettings portalSettings = ((PortalSettings) HttpContext.Current.Items["PortalSettings"]);
			StylesMenu styleMenu = new StylesMenu();
			
			this.styles = new ArrayList();
			
			//Parse default css
			ParseStyleSheet(Common.Globals.HostPath + "default.css");
			
			//Parse skin stylesheet(s)
			ParseStyleSheet(PortalSettings.ActiveTab.SkinPath + "skin.css");
			ParseStyleSheet(PortalSettings.ActiveTab.SkinSrc.Replace(".ascx", ".css"));
			
			//Parse portal stylesheet
			ParseStyleSheet(PortalSettings.HomeDirectory + "portal.css");
			
			this.styles.Sort();
			
			foreach (string style in styles)
			{
				FreeTextBoxControls.ToolbarListItem listItem = new FreeTextBoxControls.ToolbarListItem();
				listItem.Text = style;
				listItem.Value = style;
				styleMenu.Items.Add(listItem);
			}
			
			return styleMenu;
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Creates the Style ToolBar
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <returns>A FreeTextBox ToolBar</returns>
		/// <history>
		/// 	[cnurse]	12/13/2004	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private FreeTextBoxControls.Toolbar AddStyleToolBar()
		{
			FreeTextBoxControls.Toolbar tb = new FreeTextBoxControls.Toolbar();
			tb.Items.Add(AddStylesMenu());
			tb.Items.Add(new ParagraphMenu());
			tb.Items.Add(new FontFacesMenu());
			tb.Items.Add(new FontSizesMenu());
			
			return tb;
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Creates the Text ToolBar
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <returns>A FreeTextBox ToolBar</returns>
		/// <history>
		/// 	[cnurse]	12/13/2004	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private FreeTextBoxControls.Toolbar AddTextToolBar()
		{
			FreeTextBoxControls.Toolbar tb = new FreeTextBoxControls.Toolbar();
			tb.Items.Add(new Bold());
			tb.Items.Add(new Italic());
			tb.Items.Add(new Underline());
			tb.Items.Add(new StrikeThrough());
			tb.Items.Add(new SuperScript());
			tb.Items.Add(new SubScript());
			tb.Items.Add(new RemoveFormat());
			
			return tb;
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Creates the Table ToolBar in FreeTextBox
		/// (Pro edition only)
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <returns>A FreeTextBox ToolBar</returns>
		/// <history>
		/// 	[JWhite]	2/25/2005	Added/Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private FreeTextBoxControls.Toolbar AddTableToolBar()
		{
			FreeTextBoxControls.Toolbar tb = new FreeTextBoxControls.Toolbar();
			tb.Items.Add(new InsertTable());
			tb.Items.Add(new EditTable());
			if (enableProFeatures)
			{
				tb.Items.Add(new InsertTableColumnAfter()); //pro only
				tb.Items.Add(new InsertTableColumnBefore()); //pro only
				tb.Items.Add(new InsertTableRowBefore()); //pro only
				tb.Items.Add(new InsertTableRowAfter()); //pro only
				tb.Items.Add(new DeleteTableColumn()); //pro only
				tb.Items.Add(new DeleteTableRow()); //pro only
			}
			return tb;
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Creates the Form ToolBar in FreeTextBox
		/// (Pro edition only)
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <returns>A FreeTextBox ToolBar</returns>
		/// <history>
		/// 	[JWhite]	2/27/2005	Added/Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private FreeTextBoxControls.Toolbar AddFormToolBar()
		{
			FreeTextBoxControls.Toolbar tb = new FreeTextBoxControls.Toolbar();
			tb.Items.Add(new InsertForm()); //pro only
			tb.Items.Add(new InsertTextBox()); //pro only
			tb.Items.Add(new InsertTextArea()); //pro only
			tb.Items.Add(new InsertRadioButton()); //pro only
			tb.Items.Add(new InsertCheckBox()); //pro only
			tb.Items.Add(new InsertDropDownList()); //pro only
			tb.Items.Add(new InsertButton()); //pro only
			
			return tb;
		}
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Parses the Stylesheet looking for styles
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <param name="strCssFile">Stylesheet to parse</param>
		/// <history>
		/// 	[cnurse]	12/13/2004	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		private void ParseStyleSheet (string cssFile)
		{
			if (File.Exists(HttpContext.Current.Server.MapPath(cssFile)))
			{
				StreamReader streamReader;
				string styleLine;
				ArrayList alStyles = new ArrayList();
				int i;
				
				streamReader = File.OpenText(HttpContext.Current.Server.MapPath(cssFile));
				
				while (streamReader.Peek() != - 1)
				{
					styleLine = streamReader.ReadLine();
					
					if (styleLine.Trim().StartsWith("."))
					{
						i = styleLine.IndexOf(" ");
						
						if (i != - 1)
						{
							styleLine = styleLine.Substring(0, i);
						}
						
						i = styleLine.IndexOf("{");
						
						if (i != - 1)
						{
							styleLine = styleLine.Substring(0, i);
						}
						
						if (! styles.Contains(styleLine.Substring(1)))
						{
							styles.Add(styleLine.Substring(1));
						}
					}
				}
				
				streamReader.Close();
			}
		}
		
		#endregion
		
		#region "Public Methods"
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Adds additional toolbar(s) to the FTB control
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <history>
		/// 	[cnurse]	01/12/2005	created
		/// </history>
		/// -----------------------------------------------------------------------------
		public override void AddToolbar ()
		{
			foreach (FreeTextBoxControls.Toolbar toolbar in AdditionalToolbars)
			{
				cntlFtb.Toolbars.Add(toolbar);
			}
		}
		
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// Initialises the control
		/// </summary>
		/// <remarks>
		/// </remarks>
		/// <history>
		/// 	[cnurse]	12/13/2004	Documented
		/// </history>
		/// -----------------------------------------------------------------------------
		public override void Initialize ()
		{
			
			//initialize the control
			this.cntlFtb = new FreeTextBoxControls.FreeTextBox();
			this.cntlFtb.Language = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
			this.cntlFtb.ButtonImagesLocation = ResourceLocation.ExternalFile;
			this.cntlFtb.JavaScriptLocation = ResourceLocation.ExternalFile;
			this.cntlFtb.ToolbarImagesLocation = ResourceLocation.ExternalFile;
			this.cntlFtb.ID = ControlID;
			this.cntlFtb.AutoGenerateToolbarsFromString = false;
			
			//Build the Standard ToolBar Collection
			this.cntlFtb.Toolbars.Clear();
			this.cntlFtb.Toolbars.Add(AddStyleToolBar());
			this.cntlFtb.Toolbars.Add(AddColorToolBar());
			this.cntlFtb.Toolbars.Add(AddTextToolBar());
			this.cntlFtb.Toolbars.Add(AddFormatToolBar());
			this.cntlFtb.Toolbars.Add(AddEditToolBar());
			this.cntlFtb.Toolbars.Add(AddInsertToolBar());
			this.cntlFtb.Toolbars.Add(AddTableToolBar());
			if (enableProFeatures)
			{
				cntlFtb.Toolbars.Add(AddFormToolBar());
			}
			this.cntlFtb.Toolbars.Add(AddSpecialToolBar());
			
			this.cntlFtb.ImageGalleryUrl = DotNetNuke.Common.Globals.ResolveUrl("~/Providers/HtmlEditorProviders/Ftb3HtmlEditorProvider/ftb3/ftb.imagegallery.aspx?cif=~" + RootImageDirectory + "&rif=~" + RootImageDirectory + "&portalid=" + PortalSettings.PortalId);
			this.cntlFtb.SupportFolder = DotNetNuke.Common.Globals.ResolveUrl("~/Providers/HtmlEditorProviders/Ftb3HtmlEditorProvider/ftb3/");
			switch (toolbarStyle)
			{
				case "OfficeMac":
					cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.OfficeMac;
					break;
				case "Office2000":
					cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.Office2000;
					break;
				case "OfficeXP":
					cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.OfficeXP;
					break;
				case "Office2003":
					cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.Office2003;
					break;
				default:
					cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.NotSet;
					break;
			}
		}
		
		#endregion
		
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -