DNN FckHtmlEditorProvider

using System;

using DotNetNuke.Common;

using DotNetNuke.Entities.Portals;

using DotNetNuke.Framework.Providers;

using DotNetNuke.Modules.HTMLEditorProvider;

 

using FredCK.FCKeditorV2;

 

namespace DotNetNuke.HtmlEditor

{

  public class FckHtmlEditorProvider : HtmlEditorProvider

  {

    private const string ProviderType = "htmlEditor";

    private ProviderConfiguration _providerConfiguration = ProviderConfiguration.GetProviderConfiguration(ProviderType);

    private string _providerPath = string.Empty;

 

    private FCKeditor _fckEditor = new FCKeditor();

    private string _controlId = string.Empty;

    private string _rootImageDirectory = string.Empty;

    private string _toolbarSet = string.Empty;

 

    #region Provider

 

    public FckHtmlEditorProvider()

    {

      PortalSettings ps = DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings();

      Provider p = _providerConfiguration.Providers[_providerConfiguration.DefaultProvider] as Provider;

      _providerPath = p.Attributes["providerPath"];

      _toolbarSet  = p.Attributes["toolbarSet"];

    }

 

    public string ProviderPath

    {

      get { return _providerPath; }

    }

 

    public string ToolbarSet

    {

      get { return _toolbarSet; }

    }

 

    #endregion

 

    #region Properties

 

    public override System.Web.UI.Control HtmlEditorControl

    {

      get

      {

        return _fckEditor;

      }

    }

 

    public override string Text

    {

      get

      {

        return _fckEditor.Value;

      }

      set

      {

        _fckEditor.Value = value;

      }

    }

 

    public override string ControlID

    {

      get

      {

        return _controlId;

      }

      set

      {

        _controlId = value;

      }

    }

 

    public override System.Collections.ArrayList AdditionalToolbars

    {

      get

      {

        return null;

      }

      set

      {

      }

    }

 

    public override string RootImageDirectory

    {

      get

      {

        if( _rootImageDirectory == string.Empty )

        {

          PortalSettings ps = DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings();

          return ps.HomeDirectory.Substring(ps.HomeDirectory.IndexOf("/Portals"));

        }

        else

        {

          return _rootImageDirectory;

        }

      }

      set

      {

        _rootImageDirectory = value;

      }

    }

 

    public override System.Web.UI.WebControls.Unit Width

    {

      get

      {

        return _fckEditor.Width;

      }

      set

      {

        _fckEditor.Width = value;

      }

    }

 

    public override System.Web.UI.WebControls.Unit Height

    {

      get

      {

        return _fckEditor.Height;

      }

      set

      {

        _fckEditor.Height = value;

      }

    }

 

    #endregion

 

    #region Public Methods

 

    public override void AddToolbar() { }

 

    public override void Initialize()

    {

      _fckEditor = new FCKeditor();

      _fckEditor.ID = this.ControlID;

      _fckEditor.BasePath = DotNetNuke.Common.Globals.ResolveUrl("~/Providers/HtmlEditorProviders/FckHtmlEditorProvider/FCKeditor/");

      _fckEditor.ToolbarSet = this.ToolbarSet;

    }

 

    #endregion

  }

}

«February»
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112