using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Text;
using CommunityServer.Components;
using CommunityServer;
using CommunityServer.Controls;
using CommunityServer.Configuration;
using FredCK.FCKeditorV2;

namespace FCKEditor.CSWrapper
{
public class FCK : FCKeditor, ITextEditor
{
// Methods
public FCK()
{
this._styleName = null;
this._enableHTML = false;//Users.GetUser().IsAdministrator;
this.Configure();
}
public void Configure()
{
base.Height = Unit.Pixel(400); //change this if you want different height
if (base.Width.IsEmpty)
{
base.Width = Unit.Pixel(400);
}
base.BasePath = "~" + CSConfiguration.GetConfig().FilesPath + "FCKEditor/";
base.Config["LinkBrowser"] = "false";
base.Config["ImageBrowser"] = "false";
//base.ToolbarSet = _enableHTML ? "CSDefault" : "CSNoHTML";
this.SetHtmlEditMode();
string Lang = Users.GetUser().Profile.Language;
if (Lang=="")
{
Lang = CSConfiguration.GetConfig().DefaultLanguage;
}
Lang=Lang.Substring(0,2);
base.AutoDetectLanguage=false;
base.DefaultLanguage=Lang;
this.StyleName="office2003";
}
private void SetHtmlEditMode()
{
if (this._enableHTML)
base.ToolbarSet = "CSDefault";
else
base.ToolbarSet = "CSNoHTML";
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.Page.RegisterClientScriptBlock("InsertText", this.RenderScript());
}
protected string RenderScript()
{
StringBuilder builder1 = new StringBuilder();
builder1.Append(" ");
builder1.Append("<script type='text/javascript' language='javascript'>");
builder1.Append("function InsertText(textToInsert) {");
builder1.AppendFormat("document.frames('{0}___Frame').FCK.InsertHtml(textToInsert);", this.ClientID);
builder1.Append("} ");
builder1.Append("</script>");
return builder1.ToString();
}
// Properties
public virtual int Columns
{//FCKEditor does not support it
get
{
return this._columns;
}
set
{
this._columns = value;
}
}
Unit ITextEditor.Height
{
get
{
return base.Height;
}
set
{
base.Height = value;
}
}
string ITextEditor.Text
{
get
{
return base.Value;
}
set
{
base.Value = value;
}
}
Unit ITextEditor.Width
{
get
{
return base.Width;
}
set
{
base.Width = value;
}
}
public virtual bool EnableHtmlModeEditing
{
get
{
return _enableHTML;
}
set
{
_enableHTML = value;
this.SetHtmlEditMode();
}
}
public virtual bool IsRichTextCapable
{
get
{
return base.CheckBrowserCompatibility();
}
}
public virtual int Rows
{//FCKEditor does not support it
get
{
return this._rows;
}
set
{
this._rows = value;
}
}
public virtual string StyleName
{
get
{
if (this._styleName == null)
{
this._styleName = "default";
}
return this._styleName;
}
set
{
this._styleName = value;
string sp = CSConfiguration.GetConfig().FilesPath + "FCKEditor/editor/skins/"+value+"/";
if( CSConfiguration.GetConfig().FilesPath == "/"){
sp = HttpContext.Current.Request.ApplicationPath + sp;
}
base.SkinPath = sp;
}
}
// Fields
private int _columns;
private int _rows;
private string _styleName;
private bool _enableHTML;
}
}


浙公网安备 33010602011771号