hBifTs

山自高兮水自深!當塵霧消散,唯事實留傳.荣辱不惊, 看庭前花开花落; 去留随意, 望天上云展云舒.

导航

test

Posted on 2005-09-16 15:24  hbiftsaa  阅读(254)  评论(0)    收藏  举报
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;
    }

}