-
-
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/fckplugin.js b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/fckplugin.js
deleted file mode 100644
index 1edee89c51..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/fckplugin.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the sample plugin definition file.
- */
-
-// Register the related commands.
-FCKCommands.RegisterCommand( 'My_Find' , new FCKDialogCommand( FCKLang['DlgMyFindTitle'] , FCKLang['DlgMyFindTitle'] , FCKConfig.PluginsPath + 'findreplace/find.html' , 340, 170 ) ) ;
-FCKCommands.RegisterCommand( 'My_Replace' , new FCKDialogCommand( FCKLang['DlgMyReplaceTitle'], FCKLang['DlgMyReplaceTitle'] , FCKConfig.PluginsPath + 'findreplace/replace.html', 340, 200 ) ) ;
-
-// Create the "Find" toolbar button.
-var oFindItem = new FCKToolbarButton( 'My_Find', FCKLang['DlgMyFindTitle'] ) ;
-oFindItem.IconPath = FCKConfig.PluginsPath + 'findreplace/find.gif' ;
-
-FCKToolbarItems.RegisterItem( 'My_Find', oFindItem ) ; // 'My_Find' is the name used in the Toolbar config.
-
-// Create the "Replace" toolbar button.
-var oReplaceItem = new FCKToolbarButton( 'My_Replace', FCKLang['DlgMyReplaceTitle'] ) ;
-oReplaceItem.IconPath = FCKConfig.PluginsPath + 'findreplace/replace.gif' ;
-
-FCKToolbarItems.RegisterItem( 'My_Replace', oReplaceItem ) ; // 'My_Replace' is the name used in the Toolbar config.
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/find.gif b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/find.gif
deleted file mode 100644
index 81915f4f63..0000000000
Binary files a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/find.gif and /dev/null differ
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/find.html b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/find.html
deleted file mode 100644
index d92b34190d..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/find.html
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- This is my Plugin!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/en.js b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/en.js
deleted file mode 100644
index 785ab9d8e7..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/en.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * English language file for the sample plugin.
- */
-
-FCKLang['DlgMyReplaceTitle'] = 'Plugin - Replace' ;
-FCKLang['DlgMyReplaceFindLbl'] = 'Find what:' ;
-FCKLang['DlgMyReplaceReplaceLbl'] = 'Replace with:' ;
-FCKLang['DlgMyReplaceCaseChk'] = 'Match case' ;
-FCKLang['DlgMyReplaceReplaceBtn'] = 'Replace' ;
-FCKLang['DlgMyReplaceReplAllBtn'] = 'Replace All' ;
-FCKLang['DlgMyReplaceWordChk'] = 'Match whole word' ;
-
-FCKLang['DlgMyFindTitle'] = 'Plugin - Find' ;
-FCKLang['DlgMyFindFindBtn'] = 'Find' ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/fr.js b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/fr.js
deleted file mode 100644
index 553d2f6047..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/fr.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * French language file for the sample plugin.
- */
-
-FCKLang['DlgMyReplaceTitle'] = 'Plugin - Remplacer' ;
-FCKLang['DlgMyReplaceFindLbl'] = 'Chercher:' ;
-FCKLang['DlgMyReplaceReplaceLbl'] = 'Remplacer par:' ;
-FCKLang['DlgMyReplaceCaseChk'] = 'Respecter la casse' ;
-FCKLang['DlgMyReplaceReplaceBtn'] = 'Remplacer' ;
-FCKLang['DlgMyReplaceReplAllBtn'] = 'Remplacer Tout' ;
-FCKLang['DlgMyReplaceWordChk'] = 'Mot entier' ;
-
-FCKLang['DlgMyFindTitle'] = 'Plugin - Chercher' ;
-FCKLang['DlgMyFindFindBtn'] = 'Chercher' ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/it.js b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/it.js
deleted file mode 100644
index 0f4bfb469b..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/lang/it.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Italian language file for the sample plugin.
- */
-
-FCKLang['DlgMyReplaceTitle'] = 'Plugin - Sostituisci' ;
-FCKLang['DlgMyReplaceFindLbl'] = 'Trova:' ;
-FCKLang['DlgMyReplaceReplaceLbl'] = 'Sostituisci con:' ;
-FCKLang['DlgMyReplaceCaseChk'] = 'Maiuscole/minuscole' ;
-FCKLang['DlgMyReplaceReplaceBtn'] = 'Sostituisci' ;
-FCKLang['DlgMyReplaceReplAllBtn'] = 'Sostituisci tutto' ;
-FCKLang['DlgMyReplaceWordChk'] = 'Parola intera' ;
-
-FCKLang['DlgMyFindTitle'] = 'Plugin - Cerca' ;
-FCKLang['DlgMyFindFindBtn'] = 'Cerca' ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/replace.gif b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/replace.gif
deleted file mode 100644
index ac0d893700..0000000000
Binary files a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/replace.gif and /dev/null differ
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/replace.html b/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/replace.html
deleted file mode 100644
index 62946aed8f..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/findreplace/replace.html
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- This is my Plugin!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/_plugins/samples/fckplugin.js b/phpgwapi/js/fckeditor/_samples/_plugins/samples/fckplugin.js
deleted file mode 100644
index fee230a835..0000000000
--- a/phpgwapi/js/fckeditor/_samples/_plugins/samples/fckplugin.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is a sample plugin definition file.
- */
-
-// Here we define our custom Style combo, with custom widths.
-var oMyBigStyleCombo = new FCKToolbarStyleCombo() ;
-oMyBigStyleCombo.FieldWidth = 250 ;
-oMyBigStyleCombo.PanelWidth = 300 ;
-FCKToolbarItems.RegisterItem( 'My_BigStyle', oMyBigStyleCombo ) ;
-
-
-// ##### Defining a custom context menu entry.
-
-// ## 1. Define the command to be executed when selecting the context menu item.
-var oMyCMCommand = new Object() ;
-oMyCMCommand.Name = 'OpenImage' ;
-
-// This is the standard function used to execute the command (called when clicking in the context menu item).
-oMyCMCommand.Execute = function()
-{
- // This command is called only when an image element is selected (IMG).
- // Get image URL (src).
- var sUrl = FCKSelection.GetSelectedElement().src ;
-
- // Open the URL in a new window.
- window.top.open( sUrl ) ;
-}
-
-// This is the standard function used to retrieve the command state (it could be disabled for some reason).
-oMyCMCommand.GetState = function()
-{
- // Let's make it always enabled.
- return FCK_TRISTATE_OFF ;
-}
-
-// ## 2. Register our custom command.
-FCKCommands.RegisterCommand( 'OpenImage', oMyCMCommand ) ;
-
-// ## 3. Define the context menu "listener".
-var oMyContextMenuListener = new Object() ;
-
-// This is the standard function called right before sowing the context menu.
-oMyContextMenuListener.AddItems = function( contextMenu, tag, tagName )
-{
- // Let's show our custom option only for images.
- if ( tagName == 'IMG' )
- {
- contextMenu.AddSeparator() ;
- contextMenu.AddItem( 'OpenImage', 'Open image in a new window (Custom)' ) ;
- }
-}
-
-// ## 4. Register our context menu listener.
-FCK.ContextMenu.RegisterListener( oMyContextMenuListener ) ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/afp/fck.afpa b/phpgwapi/js/fckeditor/_samples/afp/fck.afpa
deleted file mode 100644
index e88a492fef..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/fck.afpa
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/afp/fck.afpa.code b/phpgwapi/js/fckeditor/_samples/afp/fck.afpa.code
deleted file mode 100644
index 401ee905a9..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/fck.afpa.code
+++ /dev/null
@@ -1,166 +0,0 @@
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the class definition file for the sample pages.
- *
-
- DEFINE CLASS fckeditor AS custom
- cInstanceName =""
- BasePath =""
- cWIDTH =""
- cHEIGHT =""
- ToolbarSet =""
- cValue=""
- DIMENSION aConfig(10,2)
-
-&& -----------------------------------------------------------------------
- FUNCTION fckeditor( tcInstanceName )
- LOCAL lnLoop,lnLoop2
- THIS.cInstanceName = tcInstanceName
- THIS.BasePath = '../../../FCKeditor/'
- THIS.cWIDTH = '100%'
- THIS.cHEIGHT = '200'
- THIS.ToolbarSet = 'Default'
- THIS.cValue = ''
- FOR lnLoop=1 TO 10
- FOR lnLoop2=1 TO 2
- THIS.aConfig(lnLoop,lnLoop2) = ""
- NEXT
- NEXT
- RETURN
- ENDFUNC
-
-
-&& -----------------------------------------------------------------------
- FUNCTION CREATE()
- RETURN(THIS.CreateHtml())
- ENDFUNC
-
-&& -----------------------------------------------------------------------
- FUNCTION CreateHtml()
- LOCAL html
- LOCAL lcLink
-
- HtmlValue = THIS.cValue && HTMLSPECIALCHARS()
-
- html = [
]
- IF THIS.IsCompatible()
- lcLink = THIS.BasePath+[editor/fckeditor.html?InstanceName=]+THIS.cInstanceName
-
- IF ( !THIS.ToolbarSet == '' )
- lcLink = lcLink + [&Toolbar=]+THIS.ToolbarSet
- ENDIF
-
-&& Render the LINKED HIDDEN FIELD.
- html = html + []
-
-&& Render the configurations HIDDEN FIELD.
- html = html + [] +CHR(13)+CHR(10)
-
-&& Render the EDITOR IFRAME.
- html = html + []
- ELSE
- IF ( AT("%", THIS.cWIDTH)=0 )
- WidthCSS = THIS.cWIDTH + 'px'
- ELSE
- WidthCSS = THIS.cWIDTH
- ENDIF
-
- IF ( AT("%",THIS.cHEIGHT)=0 )
- HeightCSS = THIS.cHEIGHT + 'px'
- ELSE
- HeightCSS = THIS.cHEIGHT
- ENDIF
-
- html = html + []
- ENDIF
-
- html = html + [
]
-
- RETURN (html)
- ENDFUNC
-
-
-&& -----------------------------------------------------------------------
- FUNCTION IsCompatible()
- LOCAL llRetval
- LOCAL sAgent
-
- llRetval=.F.
-
- sAgent= LOWER(Request.ServerVariables("HTTP_USER_AGENT"))
-
- IF AT("msie",sAgent) >0 .AND. AT("mac",sAgent)=0 .AND. AT("opera",sAgent)=0
- iVersion=VAL(SUBSTR(sAgent,AT("msie",sAgent)+5,3))
- llRetval= iVersion > 5.5
- ELSE
- IF AT("gecko",sAgent)>0
- iVersion=VAL(SUBSTR(sAgent,AT("gecko/",sAgent)+6,8))
- llRetval =iVersion > 20030210
- ENDIF
- ENDIF
- RETURN (llRetval)
- ENDFUNC
-
-&& -----------------------------------------------------------------------
- FUNCTION GetConfigFieldString()
- LOCAL sParams
- LOCAL bFirst
- LOCAL sKey
- sParams = ""
- bFirst = .T.
- FOR lnLoop=1 TO 10 && ALEN(this.aconfig)
- IF !EMPTY(THIS.aConfig(lnLoop,1))
- IF bFirst = .F.
- sParams = sParams + "&"
- ELSE
- bFirst = .F.
- ENDIF
- sParams = sParams +THIS.aConfig(lnLoop,1)+[=]+THIS.aConfig(lnLoop,2)
- ELSE
- EXIT
- ENDIF
- NEXT
- RETURN(sParams)
- ENDFUNC
-&& -----------------------------------------------------------------------
-&& This function removes unwanted characters in URL parameters mostly entered by hackers
-
- FUNCTION StripAttacks
- LPARAMETERS tcString
- IF !EMPTY(tcString)
- tcString=STRTRAN(tcString,"&","")
- tcString=STRTRAN(tcString,"?","")
- tcString=STRTRAN(tcString,";","")
- tcString=STRTRAN(tcString,"!","")
- tcString=STRTRAN(tcString,"<%","")
- tcString=STRTRAN(tcString,"%>","")
- tcString=STRTRAN(tcString,"<","")
- tcString=STRTRAN(tcString,">","")
- tcString=STRTRAN(tcString,"..","")
- tcString=STRTRAN(tcString,"/","")
- tcString=STRTRAN(tcString,"\","")
- tcString=STRTRAN(tcString,":","")
- ELSE
- tcString=""
- ENDIF
- RETURN (tcString)
-
-ENDDEFINE
-
diff --git a/phpgwapi/js/fckeditor/_samples/afp/sample01.afp b/phpgwapi/js/fckeditor/_samples/afp/sample01.afp
deleted file mode 100644
index 6b770b3f35..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/sample01.afp
+++ /dev/null
@@ -1,56 +0,0 @@
-<%
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page lists the data posted by a form.
- *
-%>
-
-
-
- FCKeditor - AFP Sample 1
-
-
-
-
-
-
FCKeditor - AFP - Sample 1
- This sample displays a normal HTML form with an FCKeditor with full features enabled.
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/afp/sample02.afp b/phpgwapi/js/fckeditor/_samples/afp/sample02.afp
deleted file mode 100644
index cbf8dc8068..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/sample02.afp
+++ /dev/null
@@ -1,113 +0,0 @@
-<%
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page is a basic Sample for FCKeditor integration in the AFP script language (www.afpages.de)
- *
-%>
-
-
-
- FCKeditor - AFP Sample 2
-
-
-
-
-
-
-
-
FCKeditor - AFP - Sample 2
- This sample shows the editor in all its available languages.
-
-
-
-
- Select a language:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/afp/sample03.afp b/phpgwapi/js/fckeditor/_samples/afp/sample03.afp
deleted file mode 100644
index 3d7fd17a8a..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/sample03.afp
+++ /dev/null
@@ -1,91 +0,0 @@
-<%
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page is a basic Sample for FCKeditor integration in the AFP script language (www.afpages.de)
- *
-%>
-
-
-
- FCKeditor - AFP Sample 3
-
-
-
-
-
-
-
-
FCKeditor - AFP - Sample 3
- This sample shows how to change the editor toolbar.
-
-
-
-
- Select the toolbar to load:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/afp/sample04.afp b/phpgwapi/js/fckeditor/_samples/afp/sample04.afp
deleted file mode 100644
index fb878b872d..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/sample04.afp
+++ /dev/null
@@ -1,98 +0,0 @@
-<%
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page is a basic Sample for FCKeditor integration in the AFP script language (www.afpages.de)
- *
-%>
-
-
-
- FCKeditor - AFP Sample 4
-
-
-
-
-
-
-
-
FCKeditor - AFP - Sample 4
- This sample shows how to change the editor skin.
-
-
-
-
- Select the skin to load:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/afp/sampleposteddata.afp b/phpgwapi/js/fckeditor/_samples/afp/sampleposteddata.afp
deleted file mode 100644
index c3464f6106..0000000000
--- a/phpgwapi/js/fckeditor/_samples/afp/sampleposteddata.afp
+++ /dev/null
@@ -1,60 +0,0 @@
-<%
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page lists the data posted by a form.
- *
-%>
-
-
-
- FCKeditor - AFP - Samples - Posted Data
-
-
-
-
-
-
FCKeditor - Samples - Posted Data
- This page lists all data posted by the form.
-
-
-
-
Field Name
-
Value
-
-<%
- lcForm=REQUEST.Form()
- lcForm=STRTRAN(lcForm,"&",CHR(13)+CHR(10))
-
- FOR lnLoop=1 TO MEMLINES(lcForm)
- lcZeile=ALLTRIM(MLINE(lcForm,lnLoop))
- IF AT("=",lcZeile)>0
- lcVariable=UPPER(ALLTRIM(LEFT(lcZeile,AT("=",lcZeile)-1)))
- lcWert=ALLTRIM(RIGHT(lcZeile,LEN(lcZeile)-AT("=",lcZeile)))
- lcWert=Server.UrlDecode( lcWert )
- lcWert=STRTRAN(lcWert,"<","<")
- lcWert=STRTRAN(lcWert,">",">") && ... if wanted remove/translate HTML Chars ...
-
- ? [
]+lcVariable+[ =
]+lcWert+[
]
- ENDIF
- NEXT
-%>
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/asp/sample01.asp b/phpgwapi/js/fckeditor/_samples/asp/sample01.asp
deleted file mode 100644
index e3026bc00f..0000000000
--- a/phpgwapi/js/fckeditor/_samples/asp/sample01.asp
+++ /dev/null
@@ -1,62 +0,0 @@
-<%@ codepage="65001" language="VBScript" %>
-<% Option Explicit %>
-
-<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
- FCKeditor - ASP - Sample 1
-
-
- This sample displays a normal HTML form with an FCKeditor with full features enabled.
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/asp/sample02.asp b/phpgwapi/js/fckeditor/_samples/asp/sample02.asp
deleted file mode 100644
index a57dc6d78e..0000000000
--- a/phpgwapi/js/fckeditor/_samples/asp/sample02.asp
+++ /dev/null
@@ -1,108 +0,0 @@
-<%@ CodePage=65001 Language="VBScript"%>
-<% Option Explicit %>
-
-<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - ASP - Sample 2
- This sample shows the editor in all its available languages.
-
-
-
-
- Select a language:
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/asp/sample03.asp b/phpgwapi/js/fckeditor/_samples/asp/sample03.asp
deleted file mode 100644
index a85be43ae2..0000000000
--- a/phpgwapi/js/fckeditor/_samples/asp/sample03.asp
+++ /dev/null
@@ -1,92 +0,0 @@
-<%@ CodePage=65001 Language="VBScript"%>
-<% Option Explicit %>
-
-<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - ASP - Sample 3
- This sample shows how to change the editor toolbar.
-
-
-
-
- Select the toolbar to load:
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/asp/sample04.asp b/phpgwapi/js/fckeditor/_samples/asp/sample04.asp
deleted file mode 100644
index 365717c4d2..0000000000
--- a/phpgwapi/js/fckeditor/_samples/asp/sample04.asp
+++ /dev/null
@@ -1,98 +0,0 @@
-<%@ CodePage=65001 Language="VBScript"%>
-<% Option Explicit %>
-
-<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - ASP - Sample 4
- This sample shows how to change the editor skin.
-
-
-
-
- Select the skin to load:
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/asp/sampleposteddata.asp b/phpgwapi/js/fckeditor/_samples/asp/sampleposteddata.asp
deleted file mode 100644
index 7e11b1948a..0000000000
--- a/phpgwapi/js/fckeditor/_samples/asp/sampleposteddata.asp
+++ /dev/null
@@ -1,53 +0,0 @@
-<%@ CodePage=65001 Language="VBScript"%>
-<% Option Explicit %>
-
-
-
-
- FCKeditor - Samples - Posted Data
-
-
-
-
-
-
FCKeditor - Samples - Posted Data
- This page lists all data posted by the form.
-
-
-
-
Field Name
-
Value
-
- <%
- Dim sForm
- For Each sForm in Request.Form
- %>
-
-
-This sample displays a normal HTML form with a FCKeditor with full features enabled; invoked by a ColdFusion Custom Tag / Module.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Dump of FORM Variables
-
-
-
FieldNames
-
#FORM.fieldNames#
-
-
-
-
#key#
-
#HTMLEditFormat(evaluate("FORM.#key#"))#
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/cfm/sample02_mx.cfm b/phpgwapi/js/fckeditor/_samples/cfm/sample02_mx.cfm
deleted file mode 100644
index 746a34d2ed..0000000000
--- a/phpgwapi/js/fckeditor/_samples/cfm/sample02_mx.cfm
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
FCKeditor - ColdFusion Component (CFC) - Sample 2
-
-This sample displays a normal HTML form with a FCKeditor with full features enabled; invoked by a ColdFusion Component.
-
-
-
-
-
- This sample works only with a ColdFusion MX server and higher, because it uses some advantages of this version.
-
-
-
-
- // Calculate basepath for FCKeditor. It's in the folder right above _samples
- basePath = Left(cgi.script_name, FindNoCase('_samples', cgi.script_name)-1);
-
- fckEditor = createObject("component", "#basePath#fckeditor");
- fckEditor.instanceName = "myEditor";
- fckEditor.value = 'This is some sample text. You are using FCKeditor.';
- fckEditor.basePath = basePath;
- fckEditor.width = "100%";
- fckEditor.height = 300;
- fckEditor.create(); // create the editor.
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/default.html b/phpgwapi/js/fckeditor/_samples/default.html
deleted file mode 100644
index bcd04cec9e..0000000000
--- a/phpgwapi/js/fckeditor/_samples/default.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
- FCKeditor - Samples
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/html/sample01.html b/phpgwapi/js/fckeditor/_samples/html/sample01.html
deleted file mode 100644
index d54ce9e5a0..0000000000
--- a/phpgwapi/js/fckeditor/_samples/html/sample01.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
- FCKeditor - JavaScript - Sample 1
-
-
- This sample displays a normal HTML form with an FCKeditor with full features enabled.
-
- This sample displays a normal HTML form with an FCKeditor with full features enabled.
- It uses the "ReplaceTextarea" command to create the editor.
-
- This sample shows how to change the editor skin.
-
-
-
-
-
- Select the skin to load:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/html/sample06.config.js b/phpgwapi/js/fckeditor/_samples/html/sample06.config.js
deleted file mode 100644
index d8ae940809..0000000000
--- a/phpgwapi/js/fckeditor/_samples/html/sample06.config.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Sample custom configuration settings used in the plugin sample page (sample06).
- */
-
-// Set our sample toolbar.
-FCKConfig.ToolbarSets['PluginTest'] = [
- ['SourceSimple'],
- ['My_Find','My_Replace','-','Placeholder'],
- ['StyleSimple','FontFormatSimple','FontNameSimple','FontSizeSimple'],
- ['Table','-','TableInsertRow','TableDeleteRows','TableInsertColumn','TableDeleteColumns','TableInsertCell','TableDeleteCells','TableMergeCells','TableSplitCell'],
- ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink'],
- '/',
- ['My_BigStyle','-','Smiley','-','About']
-] ;
-
-// Change the default plugin path.
-FCKConfig.PluginsPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + '_samples/_plugins/' ;
-
-// Add our plugin to the plugins list.
-// FCKConfig.Plugins.Add( pluginName, availableLanguages )
-// pluginName: The plugin name. The plugin directory must match this name.
-// availableLanguages: a list of available language files for the plugin (separated by a comma).
-FCKConfig.Plugins.Add( 'findreplace', 'en,it,fr' ) ;
-FCKConfig.Plugins.Add( 'samples' ) ;
-
-// If you want to use plugins found on other directories, just use the third parameter.
-var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
-FCKConfig.Plugins.Add( 'placeholder', 'en,it,de,fr', sOtherPluginPath ) ;
-FCKConfig.Plugins.Add( 'tablecommands', null, sOtherPluginPath ) ;
-FCKConfig.Plugins.Add( 'simplecommands', null, sOtherPluginPath ) ;
diff --git a/phpgwapi/js/fckeditor/_samples/html/sample06.html b/phpgwapi/js/fckeditor/_samples/html/sample06.html
deleted file mode 100644
index 0761f0aaa3..0000000000
--- a/phpgwapi/js/fckeditor/_samples/html/sample06.html
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
- FCKeditor - JavaScript - 6
-
- This sample shows some sample plugins implementations. Things to note:
-
-
In the toolbar, you will find sample "Find" and "Replace" plugins that do exactly
- the same thing that the built in ones do. It just shows how to do that with a custom
- implementation. Use the green toolbar buttons the test then.
-
There is also another sample plugin that is available in the package: the "Placeholder"
- command (use the yellow icon).
-
It also shows a custom context menu option when right cliking on images (insert
- a smiley to test it).
- This sample shows FCKeditor in a more complex form with two different instances.
- It also shows and interesting usage of the "OnFocus" and "OnBlur" events available
- in the JavaScript API.
-
- This sample shows a form with two FCKeditor instance loaded inside an IFRAME. Both instances share the same
- toolbar, available in the main page (top).
-
- This sample starts with a normal textarea and provides the ability to switch back
- and forth between the textarea and FCKeditor. It uses the JavaScript API to do the
- operations so it will work even if the internal implementation changes.
-
-
-
-<%
-
-' This function is useful only for this sample page se whe can display the
-' posted data accordingly. This processing is usually not done on real
-' applications, where the posted data must be saved on a DB or file. In those
-' cases, no processing must be done, and the data is saved as posted.
-Function ModifyForOutput( value )
-
- ModifyForOutput = Server.HTMLEncode( Request.Form(sForm) )
-
-End Function
-
-%>
diff --git a/phpgwapi/js/fckeditor/_samples/html/sampleposteddata.html b/phpgwapi/js/fckeditor/_samples/html/sampleposteddata.html
deleted file mode 100644
index 047fffa402..0000000000
--- a/phpgwapi/js/fckeditor/_samples/html/sampleposteddata.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
- FCKeditor - Samples - Posted Data
-
-
-
-
-
-
- FCKeditor - Samples - Posted Data
-
-
- This page lists all data posted by the form. It uses the "QueryString" to search
- for data submitted using the "GET" method, so it is limited to 2KB.
-
-
-
-
-
- Field
-
- Value
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/lasso/sample01.lasso b/phpgwapi/js/fckeditor/_samples/lasso/sample01.lasso
deleted file mode 100644
index 98bcfc53f6..0000000000
--- a/phpgwapi/js/fckeditor/_samples/lasso/sample01.lasso
+++ /dev/null
@@ -1,55 +0,0 @@
-[//lasso
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Sample page.
- */
-]
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
FCKeditor - Lasso - Sample 1
- This sample displays a normal HTML form with an FCKeditor with full features
- enabled.
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/lasso/sample02.lasso b/phpgwapi/js/fckeditor/_samples/lasso/sample02.lasso
deleted file mode 100644
index ecb3400cc9..0000000000
--- a/phpgwapi/js/fckeditor/_samples/lasso/sample02.lasso
+++ /dev/null
@@ -1,109 +0,0 @@
-[//lasso
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Sample page.
- */
-]
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - Lasso - Sample 2
- This sample shows the editor in all its available languages.
-
-
-
-
- Select a language:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/lasso/sample03.lasso b/phpgwapi/js/fckeditor/_samples/lasso/sample03.lasso
deleted file mode 100644
index c7dd89a931..0000000000
--- a/phpgwapi/js/fckeditor/_samples/lasso/sample03.lasso
+++ /dev/null
@@ -1,87 +0,0 @@
-[//lasso
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Sample page.
- */
-]
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - Lasso - Sample 3
- This sample shows how to change the editor toolbar.
-
-
-
-
- Select the toolbar to load:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/lasso/sample04.lasso b/phpgwapi/js/fckeditor/_samples/lasso/sample04.lasso
deleted file mode 100644
index 998185e69a..0000000000
--- a/phpgwapi/js/fckeditor/_samples/lasso/sample04.lasso
+++ /dev/null
@@ -1,93 +0,0 @@
-[//lasso
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Sample page.
- */
-]
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - Lasso - Sample 4
- This sample shows how to change the editor skin.
-
-
-
-
- Select the skin to load:
-
-
-
-
-
-
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/lasso/sampleposteddata.lasso b/phpgwapi/js/fckeditor/_samples/lasso/sampleposteddata.lasso
deleted file mode 100644
index 4bacfe3807..0000000000
--- a/phpgwapi/js/fckeditor/_samples/lasso/sampleposteddata.lasso
+++ /dev/null
@@ -1,50 +0,0 @@
-[//lasso
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Sample page.
- */
-]
-
-
-
- FCKeditor - Samples - Posted Data
-
-
-
-
-
-
FCKeditor - Samples - Posted Data
- This page lists all data posted by the form.
-
-
-
-
Field Name
-
Value
-
-[iterate(client_postparams, local('this'))]
-
-
[#this->first]
-
[#this->second]
-
-[/iterate]
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/perl/sample01.cgi b/phpgwapi/js/fckeditor/_samples/perl/sample01.cgi
deleted file mode 100644
index c8f40d6e88..0000000000
--- a/phpgwapi/js/fckeditor/_samples/perl/sample01.cgi
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env perl
-
-#####
-# FCKeditor - The text editor for Internet - http://www.fckeditor.net
-# Copyright (C) 2003-2007 Frederico Caldeira Knabben
-#
-# == BEGIN LICENSE ==
-#
-# Licensed under the terms of any of the following licenses at your
-# choice:
-#
-# - GNU General Public License Version 2 or later (the "GPL")
-# http://www.gnu.org/licenses/gpl.html
-#
-# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-# http://www.gnu.org/licenses/lgpl.html
-#
-# - Mozilla Public License Version 1.1 or later (the "MPL")
-# http://www.mozilla.org/MPL/MPL-1.1.html
-#
-# == END LICENSE ==
-#
-# Sample page.
-#####
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
- chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
- # IIS,PWS(NT/95)
- $www_server_os = $^O;
- # Win98 & NT(SP4)
- if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
- # AnHTTPd/Omni/IIS
- if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
- # Win Apache
- if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
- if($www_server_os=~ /win/i) { return(1); }
- return(0);
-}
-
-sub GetScriptPath {
- local($path) = @_;
- if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
- $path;
-}
-## END: Hack for IIS
-
-require '../../fckeditor.pl';
-
-# When $ENV{'PATH_INFO'} cannot be used by perl.
-# $DefRootPath = "/XXXXX/_samples/perl/sample01.cgi"; Please write in script.
-
-my $DefServerPath = "";
-my $ServerPath;
-
- $ServerPath = &GetServerPath();
- print "Content-type: text/html\n\n";
- print <<"_HTML_TAG_";
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
FCKeditor - Perl - Sample 1
- This sample displays a normal HTML form with an FCKeditor with full features
- enabled.
-
-
-
-
-_HTML_TAG_
-
-################
-#Please use this function, rewriting it depending on a server's environment.
-################
-sub GetServerPath
-{
-my $dir;
-
- if($DefServerPath) {
- $dir = $DefServerPath;
- } else {
- if($ENV{'PATH_INFO'}) {
- $dir = $ENV{'PATH_INFO'};
- } elsif($ENV{'FILEPATH_INFO'}) {
- $dir = $ENV{'FILEPATH_INFO'};
- }
- }
- return($dir);
-}
diff --git a/phpgwapi/js/fckeditor/_samples/perl/sample02.cgi b/phpgwapi/js/fckeditor/_samples/perl/sample02.cgi
deleted file mode 100644
index 4f9c5e9481..0000000000
--- a/phpgwapi/js/fckeditor/_samples/perl/sample02.cgi
+++ /dev/null
@@ -1,180 +0,0 @@
-#!/usr/bin/env perl
-
-#####
-# FCKeditor - The text editor for Internet - http://www.fckeditor.net
-# Copyright (C) 2003-2007 Frederico Caldeira Knabben
-#
-# == BEGIN LICENSE ==
-#
-# Licensed under the terms of any of the following licenses at your
-# choice:
-#
-# - GNU General Public License Version 2 or later (the "GPL")
-# http://www.gnu.org/licenses/gpl.html
-#
-# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-# http://www.gnu.org/licenses/lgpl.html
-#
-# - Mozilla Public License Version 1.1 or later (the "MPL")
-# http://www.mozilla.org/MPL/MPL-1.1.html
-#
-# == END LICENSE ==
-#
-# Sample page.
-#####
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
- chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
- # IIS,PWS(NT/95)
- $www_server_os = $^O;
- # Win98 & NT(SP4)
- if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
- # AnHTTPd/Omni/IIS
- if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
- # Win Apache
- if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
- if($www_server_os=~ /win/i) { return(1); }
- return(0);
-}
-
-sub GetScriptPath {
- local($path) = @_;
- if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
- $path;
-}
-## END: Hack for IIS
-
-require '../../fckeditor.pl';
-
-# When $ENV{'PATH_INFO'} cannot be used by perl.
-# $DefRootPath = "/XXXXX/_samples/perl/sample02.cgi"; Please write in script.
-
-my $DefServerPath = "";
-my $ServerPath;
-
- $ServerPath = &GetServerPath();
-
- if($ENV{'REQUEST_METHOD'} eq "POST") {
- read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
- } else {
- $buffer = $ENV{'QUERY_STRING'};
- }
- @pairs = split(/&/,$buffer);
- foreach $pair (@pairs) {
- ($name,$value) = split(/=/,$pair);
- $value =~ tr/+/ /;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- $value =~ s/\t//g;
- $value =~ s/\r\n/\n/g;
- $FORM{$name} .= "\0" if(defined($FORM{$name}));
- $FORM{$name} .= $value;
- }
-
- print "Content-type: text/html\n\n";
- print <<"_HTML_TAG_";
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - Perl - Sample 2
- This sample shows the editor in all its available languages.
-
-
-
-
- Select a language:
-
-
-
-
-
-
-
-
-
-
-_HTML_TAG_
-
-################
-#Please use this function, rewriting it depending on a server's environment.
-################
-sub GetServerPath
-{
-my $dir;
-
- if($DefServerPath) {
- $dir = $DefServerPath;
- } else {
- if($ENV{'PATH_INFO'}) {
- $dir = $ENV{'PATH_INFO'};
- } elsif($ENV{'FILEPATH_INFO'}) {
- $dir = $ENV{'FILEPATH_INFO'};
- }
- }
- return($dir);
-}
diff --git a/phpgwapi/js/fckeditor/_samples/perl/sample03.cgi b/phpgwapi/js/fckeditor/_samples/perl/sample03.cgi
deleted file mode 100644
index 0ea388ddb9..0000000000
--- a/phpgwapi/js/fckeditor/_samples/perl/sample03.cgi
+++ /dev/null
@@ -1,165 +0,0 @@
-#!/usr/bin/env perl
-
-#####
-# FCKeditor - The text editor for Internet - http://www.fckeditor.net
-# Copyright (C) 2003-2007 Frederico Caldeira Knabben
-#
-# == BEGIN LICENSE ==
-#
-# Licensed under the terms of any of the following licenses at your
-# choice:
-#
-# - GNU General Public License Version 2 or later (the "GPL")
-# http://www.gnu.org/licenses/gpl.html
-#
-# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-# http://www.gnu.org/licenses/lgpl.html
-#
-# - Mozilla Public License Version 1.1 or later (the "MPL")
-# http://www.mozilla.org/MPL/MPL-1.1.html
-#
-# == END LICENSE ==
-#
-# Sample page.
-#####
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
- chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
- # IIS,PWS(NT/95)
- $www_server_os = $^O;
- # Win98 & NT(SP4)
- if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
- # AnHTTPd/Omni/IIS
- if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
- # Win Apache
- if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
- if($www_server_os=~ /win/i) { return(1); }
- return(0);
-}
-
-sub GetScriptPath {
- local($path) = @_;
- if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
- $path;
-}
-## END: Hack for IIS
-
-require '../../fckeditor.pl';
-
-# When $ENV{'PATH_INFO'} cannot be used by perl.
-# $DefRootPath = "/XXXXX/_samples/perl/sample03.cgi"; Please write in script.
-
-my $DefServerPath = "";
-my $ServerPath;
-
- $ServerPath = &GetServerPath();
-
- if($ENV{'REQUEST_METHOD'} eq "POST") {
- read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
- } else {
- $buffer = $ENV{'QUERY_STRING'};
- }
- @pairs = split(/&/,$buffer);
- foreach $pair (@pairs) {
- ($name,$value) = split(/=/,$pair);
- $value =~ tr/+/ /;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- $value =~ s/\t//g;
- $value =~ s/\r\n/\n/g;
- $FORM{$name} .= "\0" if(defined($FORM{$name}));
- $FORM{$name} .= $value;
- }
-
- print "Content-type: text/html\n\n";
- print <<"_HTML_TAG_";
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - Perl - Sample 3
- This sample shows how to change the editor toolbar.
-
-
-
-
- Select the toolbar to load:
-
-
-
-
-
-
-
-
-
-
-_HTML_TAG_
-
-################
-#Please use this function, rewriting it depending on a server's environment.
-################
-sub GetServerPath
-{
-my $dir;
-
- if($DefServerPath) {
- $dir = $DefServerPath;
- } else {
- if($ENV{'PATH_INFO'}) {
- $dir = $ENV{'PATH_INFO'};
- } elsif($ENV{'FILEPATH_INFO'}) {
- $dir = $ENV{'FILEPATH_INFO'};
- }
- }
- return($dir);
-}
diff --git a/phpgwapi/js/fckeditor/_samples/perl/sample04.cgi b/phpgwapi/js/fckeditor/_samples/perl/sample04.cgi
deleted file mode 100644
index 835aadac78..0000000000
--- a/phpgwapi/js/fckeditor/_samples/perl/sample04.cgi
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env perl
-
-#####
-# FCKeditor - The text editor for Internet - http://www.fckeditor.net
-# Copyright (C) 2003-2007 Frederico Caldeira Knabben
-#
-# == BEGIN LICENSE ==
-#
-# Licensed under the terms of any of the following licenses at your
-# choice:
-#
-# - GNU General Public License Version 2 or later (the "GPL")
-# http://www.gnu.org/licenses/gpl.html
-#
-# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-# http://www.gnu.org/licenses/lgpl.html
-#
-# - Mozilla Public License Version 1.1 or later (the "MPL")
-# http://www.mozilla.org/MPL/MPL-1.1.html
-#
-# == END LICENSE ==
-#
-# Sample page.
-#####
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
- chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
- # IIS,PWS(NT/95)
- $www_server_os = $^O;
- # Win98 & NT(SP4)
- if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
- # AnHTTPd/Omni/IIS
- if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
- # Win Apache
- if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
- if($www_server_os=~ /win/i) { return(1); }
- return(0);
-}
-
-sub GetScriptPath {
- local($path) = @_;
- if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
- $path;
-}
-## END: Hack for IIS
-
-require '../../fckeditor.pl';
-
-# When $ENV{'PATH_INFO'} cannot be used by perl.
-# $DefRootPath = "/XXXXX/_samples/perl/sample04.cgi"; Please write in script.
-
-my $DefServerPath = "";
-my $ServerPath;
-
- $ServerPath = &GetServerPath();
-
- if($ENV{'REQUEST_METHOD'} eq "POST") {
- read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
- } else {
- $buffer = $ENV{'QUERY_STRING'};
- }
- @pairs = split(/&/,$buffer);
- foreach $pair (@pairs) {
- ($name,$value) = split(/=/,$pair);
- $value =~ tr/+/ /;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- $value =~ s/\t//g;
- $value =~ s/\r\n/\n/g;
- $FORM{$name} .= "\0" if(defined($FORM{$name}));
- $FORM{$name} .= $value;
- }
-
-#!!Caution javascript \ Quart
-
- print "Content-type: text/html\n\n";
- print <<"_HTML_TAG_";
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - Perl - Sample 4
- This sample shows how to change the editor skin.
-
-
-
-
- Select the skin to load:
-
-
-
-
-
-
-
-
-
-
-_HTML_TAG_
-
-################
-#Please use this function, rewriting it depending on a server's environment.
-################
-sub GetServerPath
-{
-my $dir;
-
- if($DefServerPath) {
- $dir = $DefServerPath;
- } else {
- if($ENV{'PATH_INFO'}) {
- $dir = $ENV{'PATH_INFO'};
- } elsif($ENV{'FILEPATH_INFO'}) {
- $dir = $ENV{'FILEPATH_INFO'};
- }
- }
- return($dir);
-}
diff --git a/phpgwapi/js/fckeditor/_samples/perl/sampleposteddata.cgi b/phpgwapi/js/fckeditor/_samples/perl/sampleposteddata.cgi
deleted file mode 100644
index c88f0b37f4..0000000000
--- a/phpgwapi/js/fckeditor/_samples/perl/sampleposteddata.cgi
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env perl
-
-#####
-# FCKeditor - The text editor for Internet - http://www.fckeditor.net
-# Copyright (C) 2003-2007 Frederico Caldeira Knabben
-#
-# == BEGIN LICENSE ==
-#
-# Licensed under the terms of any of the following licenses at your
-# choice:
-#
-# - GNU General Public License Version 2 or later (the "GPL")
-# http://www.gnu.org/licenses/gpl.html
-#
-# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-# http://www.gnu.org/licenses/lgpl.html
-#
-# - Mozilla Public License Version 1.1 or later (the "MPL")
-# http://www.mozilla.org/MPL/MPL-1.1.html
-#
-# == END LICENSE ==
-#
-# This page lists the data posted by a form.
-#####
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
- chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
- # IIS,PWS(NT/95)
- $www_server_os = $^O;
- # Win98 & NT(SP4)
- if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
- # AnHTTPd/Omni/IIS
- if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
- # Win Apache
- if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
- if($www_server_os=~ /win/i) { return(1); }
- return(0);
-}
-
-sub GetScriptPath {
- local($path) = @_;
- if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
- $path;
-}
-## END: Hack for IIS
-
-require '../../fckeditor.pl';
-
- if($ENV{'REQUEST_METHOD'} eq "POST") {
- read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
- } else {
- $buffer = $ENV{'QUERY_STRING'};
- }
- @pairs = split(/&/,$buffer);
- foreach $pair (@pairs) {
- ($name,$value) = split(/=/,$pair);
- $value =~ tr/+/ /;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- $value =~ s/\t//g;
- $value =~ s/\r\n/\n/g;
- $FORM{$name} .= "\0" if(defined($FORM{$name}));
- $FORM{$name} .= $value;
- }
-
- print "Content-type: text/html\n\n";
- print <<"_HTML_TAG_";
-
-
-
-
- FCKeditor - Samples - Posted Data
-
-
-
-
-
-
FCKeditor - Samples - Posted Data
- This page lists all data posted by the form.
-
-
- This sample displays a normal HTML form with an FCKeditor with full features
- enabled.
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/php/sample02.php b/phpgwapi/js/fckeditor/_samples/php/sample02.php
deleted file mode 100644
index f57f940c90..0000000000
--- a/phpgwapi/js/fckeditor/_samples/php/sample02.php
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - PHP - Sample 2
- This sample shows the editor in all its available languages.
-
-
-
-
- Select a language:
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/php/sample03.php b/phpgwapi/js/fckeditor/_samples/php/sample03.php
deleted file mode 100644
index 667c6cda9f..0000000000
--- a/phpgwapi/js/fckeditor/_samples/php/sample03.php
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - PHP - Sample 3
- This sample shows how to change the editor toolbar.
-
-
-
-
- Select the toolbar to load:
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/php/sample04.php b/phpgwapi/js/fckeditor/_samples/php/sample04.php
deleted file mode 100644
index 2c218cd18c..0000000000
--- a/phpgwapi/js/fckeditor/_samples/php/sample04.php
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
- FCKeditor - Sample
-
-
-
-
-
-
-
FCKeditor - PHP - Sample 4
- This sample shows how to change the editor skin.
-
-
-
-
- Select the skin to load:
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/_samples/php/sampleposteddata.php b/phpgwapi/js/fckeditor/_samples/php/sampleposteddata.php
deleted file mode 100644
index 7b23e2d873..0000000000
--- a/phpgwapi/js/fckeditor/_samples/php/sampleposteddata.php
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
- FCKeditor - Samples - Posted Data
-
-
-
-
-
-
FCKeditor - Samples - Posted Data
- This page lists all data posted by the form.
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/py/sample01.py b/phpgwapi/js/fckeditor/_samples/py/sample01.py
deleted file mode 100644
index 9109c63b3f..0000000000
--- a/phpgwapi/js/fckeditor/_samples/py/sample01.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/env python
-
-"""
-FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2007 Frederico Caldeira Knabben
-
-== BEGIN LICENSE ==
-
-Licensed under the terms of any of the following licenses at your
-choice:
-
- - GNU General Public License Version 2 or later (the "GPL")
- http://www.gnu.org/licenses/gpl.html
-
- - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- http://www.gnu.org/licenses/lgpl.html
-
- - Mozilla Public License Version 1.1 or later (the "MPL")
- http://www.mozilla.org/MPL/MPL-1.1.html
-
-== END LICENSE ==
-
-Sample page.
-"""
-
-import cgi
-import os
-
-# Ensure that the fckeditor.py is included in your classpath
-import fckeditor
-
-# Tell the browser to render html
-print "Content-Type: text/html"
-print ""
-
-# Document header
-print """
-
-
- FCKeditor - Sample
-
-
-
-
-
-
FCKeditor - Python - Sample 1
- This sample displays a normal HTML form with an FCKeditor with full features
- enabled.
-
-
-"""
-
-# For testing your environments
-print ""
-for key in os.environ.keys():
- print "%s: %s " % (key, os.environ.get(key, ""))
-print ""
-
-# Document footer
-print """
-
-
-"""
-
-
diff --git a/phpgwapi/js/fckeditor/_samples/py/sampleposteddata.py b/phpgwapi/js/fckeditor/_samples/py/sampleposteddata.py
deleted file mode 100644
index ba9813fcd5..0000000000
--- a/phpgwapi/js/fckeditor/_samples/py/sampleposteddata.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-
-"""
-FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2007 Frederico Caldeira Knabben
-
-== BEGIN LICENSE ==
-
-Licensed under the terms of any of the following licenses at your
-choice:
-
- - GNU General Public License Version 2 or later (the "GPL")
- http://www.gnu.org/licenses/gpl.html
-
- - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- http://www.gnu.org/licenses/lgpl.html
-
- - Mozilla Public License Version 1.1 or later (the "MPL")
- http://www.mozilla.org/MPL/MPL-1.1.html
-
-== END LICENSE ==
-
-This page lists the data posted by a form.
-"""
-
-import cgi
-import os
-
-# Tell the browser to render html
-print "Content-Type: text/html"
-print ""
-
-try:
- # Create a cgi object
- form = cgi.FieldStorage()
-except Exception, e:
- print e
-
-# Document header
-print """
-
-
- FCKeditor - Samples - Posted Data
-
-
-
-
-
-"""
-
-# This is the real work
-print """
-
FCKeditor - Samples - Posted Data
- This page lists all data posted by the form.
-
-
-
-
Field Name
-
Value
-
-"""
-for key in form.keys():
- try:
- value = form[key].value
- print """
-
[#118] The SelectAll
- command now is available in Source Mode.
-
The new open source FCKpackager sub-project is now available. It replaces the FCKeditor.Packager
- software to compact the editor source.
-
With Firefox, if a paste execution is blocked by the browser security settings,
- the new "Paste" popup is shown to the user to complete the pasting operation.
-
-
- Fixed Bugs:
-
-
Various fixes to the ColdFusion File Browser connector.
-
We are now pointing the download of ieSpell to their pages, instead to a direct
- file download from one of their mirrors. This disables the ability of "click and
- go" (which can still be achieved by pointing the download to a file in your server),
- but removes any troubles with mirrors link changes (and they change it frequently).
-
The Word cleanup has been changed to remove "display:none" tags that may come from
- Word.
-
[SF
- BUG-1659613] The 2.4 version introduced a bug in the flash handling code that
- generated out of memory errors in IE7.
[#114] The correct
- entity is now used to fill empty blocks when ProcessHTMLEntities is disabled.
-
[#90] The editor
- was wrongly removing some <br> tags from the code.
-
[#139] The CTRL+F
- and CTRL+S keystroke default behaviors are now preserved.
-
[#138] We are
- not providing a CTRL + ALT combination in the default configuration file because
- it may be incompatible with some keyboard layouts. So, the CTRL + ALT + S combination
- has been changed to CTRL + SHIFT + S.
-
[#129] In IE,
- it was not possible to paste if "Allow paste operation via script" was disabled
- in the browser security settings.
-
[#112] The enter
- key now behaves correctly on lists with Firefox, when the EnterMode is set to 'br'.
-
[#152] Invalid
- self-closing tags are now being fixed before loading.
-
A few tags were being ignored to the check for required contents (not getting stripped
- out, as expected). Fixed.
-
[#202] The HR
- tag will not anymore break the contents loaded in the editor.
-
[#211] Some invalid
- inputs, like "<p>" where making the caret disappear in Firefox.
-
[#99] The <div>
- element is now considered a block container if EnterMode=p|br. It acts like a simple
- block only if EnterMode=div.
-
Hidden fields will now show up as an icon in IE, instead of a normal text field.
- They are also selectable and draggable, in all browsers.
-
[#213] Styles
- are now preserved when hitting enter at the end of a paragraph.
-
[#77] If ShiftEnterMode
- is set to a block tag (p or div), the desired block creation in now enforced, instead
- of copying the current block (which is still the behavior of the simple enter).
-
[#209] Links and
- images URLs will now be correctly preserved with Netscape 7.1.
-
[#165] The enter
- key now honors the EnterMode settings when outdenting a list item.
-
[#190] Toolbars
- may be wrongly positioned. Fixed.
-
[#254] The IgnoreEmptyParagraphValue
- setting is now correctly handled in Firefox.
-
[#248] The behavior
- of the backspace key has been fixed on some very specific cases.
The new and powerful Keyboard Accelerator System is being introduced.
- You can now precisely control the commands to execute when some key combinations
- are activated by the user. It guarantees that all browsers will have the same behavior
- regarding the shortcuts.
- It also makes it possible to remove buttons from the toolbar and still invoke their
- features by using the keyboard instead.
-
- It also blocks all default "CTRL based shortcuts" imposed by the browsers, so if
- you don't want users to underline text, just remove the CTRL+U combination from
- the keystrokes table. Take a look at the FCKConfig.Keystrokes setting in the fckconfig.js
- file.
-
The new "ProtectedTags" configuration option is being introduced.
- It will accept a list of tags (separated by a pipe "|"), which will have no effect
- during editing, but will still be part of the document DOM. This can be used mainly
- for non HTML standard, custom tags.
-
Dialog box commands can now open resizable dialogs (by setting oCommand.Resizable
- = true).
-
Updated support for AFP. Thanks to Soenke Freitag.
-
New language file:
-
Afrikaans (by Willem Petrus Botha).
-
-
-
[SF
- Patch-1456343] New sample file showing how to dynamically exchange a textarea
- and an instance of FCKeditor. Thanks to Finn Hakansson
[SF
- Patch-1472654] The server side script location for SpellerPages can now be set
- in the configuration file, by using the SpellerPagesServerScript setting.
-
Attention: All connectors are now pointing by
- default to the "/userfiles/" folder instead of "/UserFiles/" (case change). Also,
- the inner folders for each type (file, image, flash and media) are all lower-cased
- too.
-
Attention: The UseBROnCarriageReturn configuration
- is not anymore valid. The EnterMode setting can now be used to precisely set the
- enter key behavior.
[SF
- BUG-1015230] Toolbar buttons now update their state on shortcut keys activation.
-
[SF
- BUG-1485621] It is now possible to precisely control which shortcut keys can
- be used.
-
[SF
- BUG-1573714] [SF
- BUG-1593323] Paste was not working in IE if both AutoDetectPasteFromWord
- and ForcePasteAsPlainText settings were set to "false".
-
[SF
- BUG-1578306] The context menu was wrongly positioned if the editing document
- was set to render in strict mode. Thanks to Alfonso Martinez.
Fixed Safari and Opera detection system (for development purposes only).
-
Paste from Notepad was including font information in IE. Fixed.
-
[SF
- BUG-1584092] When replacing text area, names with spaces are now accepted.
-
Depending on the implementation of toolbar combos (mainly for custom plugins) the
- editor area was loosing the focus when clicking in the combo label. Fixed.
-
[SF
- BUG-1596937] InsertHtml() was inserting the HTML outside the editor area on
- some very specific cases.
-
[SF
- BUG-1585548] On very specific, rare and strange cases, the XHTML processor was
- not working properly in IE. Fixed.
[SF
- BUG-1515441] [SF
- BUG-1451071] The "Insert/Edit Link" and "Select All" buttons are now working
- properly when the editor is running on a IE Modal dialog.
-
On some very rare cases, IE was throwing a memory error when hiding the context
- menus. Fixed.
[SF
- BUG-1535946] The IE dialog system has been changed to better work with custom
- dialogs.
-
[SF
- BUG-1599520] The table dialog was producing empty tags when leaving some of
- its fields empty.
-
[SF
- BUG-1599545] HTML entities are now processed on attribute values too.
-
[SF
- BUG-1598517] Meta tags are now protected from execution during editing (avoiding
- the "redirect" meta to be activated).
-
[SF
- BUG-1415601] Firefox internals: styleWithCSS is used instead of the deprecated
- useCSS whenever possible.
-
All JavaScript Core extension function have been renamed to "PascalCase" (some were
- in "camelCase"). This may have impact on plugins that use any of those functions.
-
[SF
- BUG-1592311] Operations in the caption of tables are now working correctly in
- both browsers.
[SF
- BUG-1577247] Unneeded call to captureEvents and releaseEvents.
-
[SF
- BUG-1610790] On some specific situations, the call to form.submit(), in form
- were FCKeditor has been unloaded by code, was throwing the "Can't execute code from
- a freed script" error.
-
[SF
- BUG-1613167] If the configuration was missing the FCKConfig.AdditionalNumericEntities
- entry an error appeared.
The project has been relicensed under the terms of the
- GPL / LGPL / MPL licenses. This change will remove many licensing compatibility
- issues with other open source licenses, making the editor even more "open" than
- before.
-
Attention: The default directory in the distribution
- package is now named "fckeditor" (in lowercase) instead of "FCKeditor". This
- change may impact installations on case sensitive OSs, like Linux.
-
Attention: The "Universal Keyboard" has been removed
- from the package. The license of those files was unclear so they can't be included
- alongside the rest of FCKeditor.
-
-
- Version 2.3.2
-
- New Features and Improvements:
-
-
Users can now decide if the template dialog will replace the entire contents of
- the editor or simply place the template in the cursor position. This feature can
- be controlled by the "TemplateReplaceAll" and "TemplateReplaceCheckbox" configuration
- options.
-
[SF
- Patch-1237693] A new configuration option (ProcessNumericEntities)
- is now available to tell the editor to convert non ASCII chars to their relative
- numeric entity references. It is disabled by default.
-
The new "AdditionalNumericEntities" setting makes it possible to
- define a set of characters to be transformed to their relative numeric entities.
- This is useful when you don't want the code to have simple quotes ('), for example.
-
The Norwegian language file (no.js) has been duplicated to include the Norwegian
- Bokmal (nb.js) in the supported interface languages. Thanks to Martin Kronstad.
-
-
Two new patterns have been added to the Universal Keyboard:
-
-
Persian. Thanks to Pooyan Mahdavi
-
Portuguese. Thanks to Bo Brandt.
-
-
-
[SF
- Patch-1517322] It is now possible to define the start number on numbered lists.
- Thanks to Marcel Bennett.
-
The Font Format combo will now reflect the EditorAreaCSS styles.
-
[SF
- Patch-1461539] The File Browser connector can now optionally return a "url"
- attribute for the files. Thanks to Pent.
-
[SF
- BUG-1090851] The new "ToolbarComboPreviewCSS" configuration option has been
- created, so it is possible to point the Style and Format toolbar combos to a different
- CSS, avoiding conflicts with the editor area CSS.
-
[SF
- Feature-1421309] [SF
- BUG-1489402] It is now possible to configure the Quick Uploder target path
- to consider the file type (ex: Image or File) in the target path for uploads.
-
The JavaScript integration file has two new things:
-
-
The "CreateHtml()" function in the FCKeditor object, used to retrieve the HTML of
- an editor instance, instead of writing it directly to the page (as done by "Create()").
-
The global "FCKeditor_IsCompatibleBrowser()" function, which tells if the executing
- browser is compatible with FCKeditor. This makes it possible to do any necessary
- processing depending on the compatibility, without having to create and editor instance.
-
-
-
-
- Fixed Bugs:
-
-
[SF
- BUG-1525242] [SF
- BUG-1500050] All event attributes (like onclick or onmouseover) are now
- being protected before loading the editor. In this way, we avoid firing those events
- during editing (IE issue) and they don't interfere in other specific processors
- in the editor.
-
Small security fixes to the File Browser connectors.
-
[SF
- BUG-1546226] Small fix to the ColdFusion CFC integration file.
-
[SF
- Patch-1407500] The Word Cleanup function was breaking the HTML on pasting, on
- very specific cases. Fixed, thanks to Frode E. Moe.
[SF
- Patch-1511294] Small fix for the File Browser compatibility with IE 5.5.
-
[SF
- Patch-1503178] Small improvement to stop IE from loading smiley images when
- one smiley is quickly selected from a huge list of smileys. Thanks to stuckhere.
-
[SF
- BUG-1549112] The Replace dialog window now escapes regular expression specific
- characters in the find and replace fields.
[SF
- BUG-1545732] [SF
- BUG-1490919] No security errors will be thrown when loading FCKeditor in
- page inside a FRAME defined in a different domain.
-
[SF
- BUG-1512817] [SF
- BUG-1571345] Fixed the "undefined" addition to the content when ShowBorders
- = false and FullPage = true in Firefox. Thanks to Brett.
-
[SF
- BUG-1512798] BaseHref will now work well on FullPage, even if no <head>
- is available.
-
[SF
- BUG-1509923] The DocumentProcessor is now called when using InserHtml().
-
[SF
- BUG-1505964] The DOCTYPE declaration is now preserved when working in FullPage.
-
[SF
- BUG-1553727] The editor was throwing an error when inserting complex templates.
- Fixed.
-
[SF
- Patch-1564930] [SF
- BUG-1562828] In IE, anchors where incorrectly copied when using the Paste
- from Word button. Fixed, thanks to geirhelge.
[SF
- BUG-1435195] Scrollbars are now visible in the File Browser (for custom implementations).
-
[SF
- BUG-1438296] The "ForceSimpleAmpersand" setting is now being honored in all
- tags.
-
If a popup blocker blocks context menu operations, the correct alert message is
- displayed now, instead of a ugly JavaScript error.
-
[SF
- BUG-1454116] The GetXHTML() function will not change the IsDirty() value of
- the editor.
-
The spell check may not work correctly when using SpellerPages with ColdFusion.
- Fixed.
-
[SF
- BUG-1481861] HTML comments are now removed by the Word Cleanup System.
-
[SF
- BUG-1489390] A few missing hard coded combo options used in some dialogs are
- now localizable.
-
[SF
- BUG-1505448] The Form dialog now retrieves the value of the "action" attribute
- exactly as defined in the source.
-
[SF
- Patch-1517322] Solved an issue when the toolbar has buttons with simple icons
- (usually used by plugins) mixed with icons coming from a strip (the default toolbar
- buttons).
-
[SF
- Patch-1575261] Some fields in the Table and Cell Properties dialogs were being
- cut. Fixed.
-
Fixed a startup compatibility issue with Firefox 1.0.4.
-
-
- Version 2.3.1
-
- Fixed Bugs:
-
-
[SF
- BUG-1506126] Fixed the Catalan language file, which had been published with
- problems in accented letters.
-
More performance improvements in the default File Browser.
[SF
- BUG-1509073] Fixed the "Image Properties" dialog window, which was making invalid
- calls to the "editor/dialog/" directory, generating error 400 entries in the web
- server log.
-
[SF
- BUG-1507294] [SF
- BUG-1507953] The editing area was getting a fixed size when using the "SetHTML"
- API command or even when switching back from the source view. Fixed.
-
[SF
- BUG-1507755] Fixed a conflict between the "DisableObjectResizing" and "ShowBorders"
- configuration options over IE.
-
Opera 9 tries to "mimic" Gecko in the browser detection system of FCKeditor. As
- this browser is not "yet" supported, the editor was broken on it. It has been fixed,
- and now a textarea is displayed, as in any other unsupported browser. Support for
- Opera is still experimental and can be activated by setting the property "EnableOpera"
- to true when creating an instance of the editor with the JavaScript integration
- files.
-
With Opera 9, the toolbar was jumping on buttons rollover.
-
[SF
- BUG-1509479] The iframes used in Firefox for all editor panels (dropdown combos,
- context menu, etc...) are now being placed right before the main iframe that holds
- the editor. In this way, if the editor container element is removed from the DOM
- (by DHTML) they are removed together with it.
-
[SF
- BUG-1271070] [SF
- BUG-1411430] The editor API now works well on DHTML pages that create and
- remove instances of FCKeditor dynamically.
-
A second call to a page with the editor was not working correctly with Firefox 1.0.x.
- Fixed.
-
[SF
- BUG-1511460] Small correction to the <script> protected source regex.
- Thanks to Randall Severy.
-
[SF
- BUG-1521754] Small fix to the paths of the internal CSS files used by FCKeditor.
- Thanks to johnw_ceb.
-
[SF
- BUG-1511442] The <base> tag is now correctly handled in IE, no matter
- its position in the source code.
-
[SF
- BUG-1507773] The "Lock" and "Reset" buttons in the Image Properties dialog window
- are not anymore jumping with Firefox 1.5.
-
-
- Version 2.3
-
- New Features and Improvements:
-
-
The Toolbar Sharing system has been completed. See sample10.html
- and sample11.html.*
-
[SF
- Patch-1407500] Small enhancement to the Find and Replace dialog windows.
-
-
- Fixed Bugs:
-
-
Small security fixes.
-
The context menu system has been optimized. Nested menus now open "onmouseover".
-
-
An error in the image preloader system was making the toolbar strip being downloaded
- once for each button on slow connections. Some enhancements have also been made
- so now the smaple05.html is loading fast for all skins.
-
Fixed many memory leak issues with IE.
-
[SF
- BUG-1489768] The panels (context menus, toolbar combos and color selectors),
- where being displayed in the wrong position if the contents of the editor, or its
- containing window were scrolled down.
-
[SF
- BUG-1493176] Using ASP, the connector was not working on servers with buffer
- disable by default.
-
[SF
- BUG-1491784] Language files have been updated to not include html entities.
[SF
- BUG-1493173] [SF
- BUG-1499708] We now assume that, if a user is in source editing, he/she
- wants to control the HTML, so the editor doesn't make changes to it when posting
- the form being in source view or when calling the GetXHTML function in the API.
-
-
[SF
- BUG-1490610] The FitWindow is now working on elements set with relative position.
-
[SF
- BUG-1493438] The "Word Wrap" combo in the cell properties dialog now accepts
- only Yes/No (no more <Not Set> value).
-
The context menu is now being hidden when a nested menu option is selected.
-
Table cell context menu operations are now working correctly.
-
[SF
- BUG-1494549] The code formatter was having problems with dollar signs inside
- <pre> tags.
-
[SF
- Patch-1459740] The "src" element of images can now be set by styles definitions.
- Thanks to joelwreed.
[SF
- Patch-1349765] Small fix to the FCKSelection.GetType over Firefox. Thanks to
- Alfonso Martinez.
-
[SF
- Patch-1495422] The editor now creates link based on the URL when no selection
- is available. Thanks to Dominik Pesch.
-
[SF
- Patch-1478859] On some circumstances, the Yahoo popup blocker was blocking the
- File Browser window, giving no feedback to the user. Now an alert message is displayed.
-
When using the editor in a RTL localized interface, like Arabic, the toolbar combos
- were not showing completely in the first click. Fixed.
-
[SF
- BUG-1500212] All "_samples/html" samples are now working when loading directly
- from the Windows Explorer. Thanks to Alfonso Martinez.
-
The "FitWindow" feature was breaking the editor under Firefox 1.0.x.
-
[SF
- Patch-1500032] In Firefox, the caret position now follows the user clicks when
- clicking in the white area bellow the editor contents. Thanks to Alfonso Martinez.
-
[SF
- BUG-1499522] In Firefox, the link dialog window was loosing the focus (and quickly
- reacquiring it) when opening. This behavior was blocking the dialog in some Linux
- installations.
-
Drastically improved the loading performance of the file list in the default File
- Browser.
-
[SF
- BUG-1503059] The default "BasePath" for FCKeditor in all integration files has
- been now unified to "/fckeditor/" (lower-case). This is the usual casing system
- in case sensitive OSs like Linux.
-
The "DisableFFTableHandles" setting is now honored when switching the full screen
- mode with FitWindow.
-
Some fixes has been applied to the cell merging in Firefox.
-
-
- * This version has been partially sponsored by Footsteps
- and Kentico.
-
- Version 2.3 Beta
-
- New Features and Improvements:
-
-
Extremely Fast Loading! The editor now loads more than 3
- times faster than before, with no impact on its advanced features.
-
New toolbar system:
-
-
[SF
- Feature-1454850] The toolbar will now load much faster. All
- images have being merged in a single image file using a unique system available
- only with FCKeditor.
-
The "Text Color" and "Background Color" commands buttons have
- enhancements on the interface.
-
Attention: As a completely
- new system has being developed. Skins created for versions prior this one will not
- work. Skin styles definitions have being merged, added and removed. All skins have
- been a little bit reviewed.
-
It is possible to detach the toolbar from an editor instance and
- share it with other instances. In this way you may have only one toolbar (in the
- top of the window, for example, that can be used by many editors (see
- sample10.html). This feature is still under development (issues with IE
- focus still to be solved).*
-
-
-
New context menu system:
-
-
It uses the same (fast) loading system as the toolbar.
-
Sub-Menus are now available to group features (try the context menu over a table
- cell).
-
It is now possible to create your own context menu entries by creating plugins.
-
-
-
-
New "FitWindow" toolbar button, based on the
- plugin published by Paul Moers. Thanks Paul!
-
"Auto Grow" Plugin: automatically resizes the editor
- until a maximum height, based on its contents size.**
-
[SF
- Feature-1444943] Multiple CSS files can now be used in the
- editing area. Just define FCKConfig.EditorAreaCSS as an array of strings (each one
- is a path to a different css file). It works also as a simple string, as on prior
- versions.
-
New language files:
-
Bengali / Bangla (by Richard Walledge).
-
English (Canadian) (by Kevin Bennett).
-
Khmer (by Sengtha Chay).
-
-
-
The source view is now available in the editing area on Gecko browsers. Previously
- a popup was used for it (due to a Firefox bug).
-
As some people may prefer the popup way for source editing, a new configuration
- option (SourcePopup) has being introduced.
-
The IEForceVScroll configuration option has been removed. The editor now automatically
- shows the vertical scrollbar when needed (for XHTML doctypes).
-
The configuration file doesn't define a default DOCTYPE to be used now.
-
It is now possible to easily change the toolbar using the JavaScript API by just
- calling <EditorInstance>.ToolbarSet.Load( '<ToolbarName>' ). See _testcases/010.html
- for a sample.
-
The "OnBlur" and "OnFocus" JavaScript API events are now compatible
- with all supported browsers.
-
Some few updates in the Lasso connector and uploader.
-
The GeckoUseSPAN setting is now set to "false" by default. In this way, the code
- produced by the bold, italic and underline commands are the same on all browsers.
-
-
- Fixed Bugs:
-
-
Important security fixes have been applied to the File Manager, Uploader
- and Connectors. Upgrade is highly recommended. Thanks to Alberto Moro,
- Baudouin Lamourere and James Bercegay.
-
[SF
- BUG-1399966] [SF
- BUG-1249853] The "BaseHref" configuration is now working with
- Firefox in both normal and full page modes.
-
[SF
- BUG-1405263] A typo in the configuration file was impacting the Quick Upload
- feature.
-
Nested <ul> and <ol> tags are now generating valid html.
-
The "wmode" and "quality" attributes are now preserved for Flash
- embed tags, in case they are entered manually in the source view. Also, empty attributes
- are removed from that tag.
-
Tables where not being created correctly on Opera.
-
The XHTML processor will ignore invalid tags with names ending with ":",
- like http:.
-
On Firefox, the scrollbar is not anymore displayed on toolbar dropdown commands
- when not needed.
-
Some small fixes have being done to the dropdown commands rendering for FF.
-
-
The table dialog window has been a little bit enlarged to avoid contents being cropped
- on some languages, like Russian.
-
[SF
- BUG-1465203] The ieSpell download URL has been updated. The problem is that
- they don't have a fixed URL for it, so let's hope the mirror will be up for it.
-
[SF
- BUG-1413980] All frameborder "yes/no" values have been changes to
- "1/0".
-
[SF
- BUG-1414101] The fake table borders are now showing correctly when running under
- the "file://" protocol.
-
[SF
- BUG-1414155] Small typo in the cell properties dialog window.
-
Fixed a problem in the File Manager. It was not working well with folder or file
- names with apostrophes ('). Thanks to René de Jong.
-
Small "lenght" type corrected in the select dialog window. Thanks to Bernd Nussbaumer.
-
The about box is now showing correctly in Firefox 1.5.
-
[SF
- Patch-1464020] [SF
- BUG-1155793] The "Unlink" command is now working correctly under Firefox
- if you don't have a complete link selection. Thanks to Johnny Egeland.
-
In the File Manager, it was not possible to upload files to folders with ampersands
- in the name. Thanks to Mike Pone.
-
[SF
- BUG-1178359] Elements from the toolbar are not anymore draggable in the editing
- area.
-
[SF
- BUG-1487544] Fixed a small issue in the code formatter for <br /> and
- <hr /> tags.
-
The "Background Color" command now works correctly when the GeckoUseSPAN setting
- is disabled (default).
-
Links are now rendered in blue with Firefox (they were black before). Actually,
- an entry for it has been added to the editing area CSS, so you can customize with
- the color you prefer.
-
-
- * This version has been partially sponsored by Footsteps
- and Kentico.
-
- ** This version has been partially sponsored by Nextide.
-
- Version 2.2
-
- New Features and Improvements:
-
-
Let's welcome Wim Lemmens (didgiman). He's our new responsible for the ColdFusion
- integration. In this version we are introducing his new files with the following
- changes:
-
-
The "Uploader", used for quick uploads, is now available
- natively for ColdFusion.
-
Small bugs have been corrected in the File Browser connector.
-
The samples now work as is, even if you don't install the editor in the "/FCKeditor"
- directory.
-
-
-
And a big welcome also to "Andrew Liu", our responsible for the
- Python integration. This version is bringing native support for Python
- , including the File Browser connector and Quick Upload.
-
The "IsDirty()" and "ResetIsDirty()"
- functions have been added to the JavaScript API to check if the editor
- content has been changed.*
-
New language files:
-
-
Hindi (by Utkarshraj Atmaram)
-
Latvian (by Janis Klavinš)
-
-
-
For the interface, now we have complete RTL support also for
- the drop-down toolbar commands, color selectors and context menu.
-
[SF
- BUG-1325113] [SF
- BUG-1277661] The new "Delete Table" command is available in the
- Context Menu when right-clicking inside a table.
-
The "FCKConfig.DisableTableHandles" configuration option is now working
- on Firefox 1.5.
-
The new "OnBlur" and "OnFocus"
- events have been added to the JavaScript API (IE only). See "_samples/html/sample09.html" *
-
-
Attention: The "GetHTML"
- function has been deprecated. It now returns the same value as "GetXHTML".
- The same is valid for the "EnableXHTML" and "EnableSourceXHTML"
- that have no effects now. The editor now works with XHTML output only.
-
Attention: A new "PreserveSessionOnFileBrowser"
- configuration option has been introduced. It makes it possible to set whenever is
- needed to maintain the user session in the File Browser. It is disabled by default,
- as it has very specific usage and may cause the File Browser to be blocked by popup
- blockers. If you have custom File Browsers that depends on session information,
- remember to activate it.
-
Attention: The "fun"
- smileys set has been removed from the package. If you are using it, you must manually
- copy it to newer installations and upgrades.
-
Attention: The "mcpuk"
- file browser has been removed from the package. We have no ways to support it. There
- were also some licensing issues with it. Its web site can still be found at
- http://mcpuk.net/fbxp/.
-
It is now possible to set different CSS styles for the chars in the Special Chars
- dialog window by adding the "SpecialCharsOut" and "SpecialCharsOver"
- in the "fck_dialog.css" skin file.*
-
[SF
- Patch-1268726] Added table "summary" support in the table dialog.
- Thanks to Sebastien-Mahe.
-
[SF
- Patch-1284380] It is now possible to define the icon of a FCKToolbarPanelButton
- object without being tied to the skin path (just like FCKToolbarButton). Thanks
- to Ian Sullivan.
You can set the QueryString value "fckdebug=true" to activate "debug
- mode" in the editor (showing the debug window), overriding the configurations.
- The "AllowQueryStringDebug" configuration option is also available so
- you can disable this feature.
[SF
- BUG-1162809] [SF
- BUG-1205638] The "Image" and "Flash" dialog windows
- now loads the preview correctly if the "BaseHref" configuration option
- is set.
-
[SF
- BUG-1329807] The alert boxes are now showing correctly when doing cut/copy/paste
- operations on Firefox installations when it is not possible to execute that operations
- due to security settings.
-
A new "Panel" system (used in the drop-dowm toolbar commands, color selectors
- and context menu) has been developed. The following bugs have been fixed with it:
-
-
[SF
- BUG-1186927] On IE, sometimes the context menu was being partially hidden.*
-
-
On Firefox, the context menu was flashing in the wrong position before showing.
-
-
On Firefox 1.5, the Color Selector was not working.
-
On Firefox 1.5, the fonts in the panels were too big.
[SF
- BUG-1315954] No error is thrown when pasting some case specific code from editor
- to editor.
-
[SF
- BUG-1341553] A small fix for a security alert in the File Browser has been
- applied.
-
[SF
- BUG-1370953] [SF
- BUG-1339898] [SF
- BUG-1323319] A message will be shown to the user (instead of a JS error) if
- a "popup blocker" blocks the "Browser Server" button. Thanks
- to Erwin Verdonk.
-
[SF
- BUG-1370355] Anchor links that points to a single character anchor, like "#A",
- are now correctly detected in the Link dialog window. Thanks to Ricky Casey.
-
[SF
- BUG-1368998] Custom error processing has been added to the file upload on the
- File Browser.
-
[SF
- BUG-1367802] [SF
- BUG-1207740] A message is shown to the user if a dialog box is blocked by
- a popup blocker in Firefox.
-
[SF
- BUG-1358891] [SF
- BUG-1340960] The editor not works locally (without a web server) on directories
- where the path contains spaces.
-
[SF
- BUG-1357247] The editor now intercepts SHIFT + INS keystrokes when needed.
-
[SF
- BUG-1328488] Attention: The Page
- Break command now produces different tags to avoid XHTML compatibility
- issues. Any Page Break previously applied to content produced with previous versions
- of FCKeditor will not me rendered now, even if they will still be working correctly.
-
-
It is now possible to allow cut/copy/past operations on Firefox using the user.js file.
-
[SF
- BUG-1336792] A fix has been applied to the XHTML processor to allow tag names
- with the "minus" char (-).
-
[SF
- BUG-1339560] The editor now correctly removes the "selected" option
- for checkboxes and radio buttons.
-
The Table dialog box now selects the table correctly when right-clicking on objects
- (like images) placed inside the table.
-
Attention: A few changes have been
- made in the skins. If you have a custom skin, it is recommended you to make a diff
- of the fck_contextmenu.css file of the default skin with your implementation.
-
Mouse select (marking things in blue, like selecting text) has been disabled
- on panels (drop-down menu commands, color selector and context menu) and toolbar,
- for both IE and Firefox.
-
On Gecko, fake borders will not be applied to tables with the border attribute set
- to more than 0, but placed inside tables with border set to 0.
-
[SF
- BUG-1360717] A wrapping issue in the "Silver" skin has been corrected.
- Thanks to Ricky Casey.
-
[SF
- BUG-1251145] In IE, the focus is now maintained in the text when clicking in
- the empty area following it.
-
[SF
- BUG-1181386] [SF
- BUG-1237791] The "Stylesheet Classes" field in the Link dialog
- window in now applied correctly on IE. Thanks to Andrew Crowe.
-
The "Past from Word" dialog windows is now showing correctly on Firefox
- on some languages.
-
[SF
- BUG-1315008] [SF
- BUG-1241992] IE, when selecting objects (like images) and hitting the "Backspace"
- button, the browser's "back" will not get executed anymore and the object
- will be correctly deleted.
-
The "AutoDetectPasteFromWord" is now working correctly in IE. Thanks to
- Juan Ant. Gómez.
-
A small enhancement has been made in the Word pasting detection. Thanks to Juan
- Ant. Gómez.
-
[SF
- BUG-1090686] No more conflict with Firefox "Type-Ahead Find" feature.
-
-
[SF
- BUG-942653] [SF
- BUG-1155856] The "width" and "height" of images sized
- using the inline handlers are now correctly loaded in the image dialog box.
-
[SF
- BUG-1209093] When "Full Page Editing" is active, in the "Document
- Properties" dialog, the "Browse Server" button for the page background
- is now correctly hidden if "ImageBrowser" is set to "false"
- in the configurations file. Thanks to Richard.
[SF
- BUG-1244480] The editor now will look first to linked fields "ids"
- and second to "names".
-
[SF
- BUG-1252905] The "InsertHtml" function now preserves URLs as entered.
-
-
[SF
- BUG-1266317] Toolbar commands are not anymore executed outside the editor.
-
[SF
- BUG-1365664] The "wrap=virtual" attribute has been removed from the
- integration files for validation purposes. No big impact.
-
[SF
- BUG-972193] Now just one click is needed to active the cursor inside the editor.
-
-
The hidden fields used by the editor are now protected from changes using the "Web
- Developer Add-On > Forms > Display Forms Details" extension. Thanks to
- Jean-Marie Griess.
-
On IE, the "Format" toolbar dropdown now reflects the current paragraph
- type on IE. Because of a bug in the browser, it is quite dependent on the browser
- language and the editor interface language (both must be the same). Also, as the
- "Normal (DIV)" type is seen by IE as "Normal", to avoid confusion,
- both types are ignored by this fix.
-
On some very rare cases, IE was loosing the "align" attribute for DIV
- tags. Fixed.
-
[SF
- BUG-1388799] The code formatter was removing spaces on the beginning of lines
- inside PRE tags. Fixed.
-
[SF
- BUG-1387135] No more "NaN" values in the image dialog, when changing
- the sizes in some situations.
-
Corrected a small type in the table handler.
-
You can now set the "z-index" for floating panels (toolbar dropdowns,
- color selectors, context menu) in Firefox, avoiding having them hidden under another
- objects. By default it is set to 10,000. Use the FloatingPanelsZIndex configuration
- option to change this value.
-
-
- Special thanks to
- Alfonso Martinez, who have provided many patches and suggestions for the
- following features / fixes present in this version. I encourage all you to
- donate to Alfonso, as a way to say thanks for his nice open source approach.
- Thanks Alfonso!. Check out his contributions:
-
-
[SF
- BUG-1352539] [SF
- BUG-1208348] With Firefox, no more "fake" selections are appearing
- when inserting images, tables, special chars or when using the "insertHtml"
- function.
-
[SF
- Patch-1382588] The "FCKConfig.DisableImageHandles" configuration option
- is not working on Firefox 1.5.
-
[SF
- Patch-1368586] Some fixes have been applied to the Flash dialog box and the
- Flash pre-processor.
[SF
- Patch-1357445] Add support for DIV in the Format drop-down combo for Firefox.
-
-
[SF
- BUG-1350465] [SF
- BUG-1376175] The "Cell Properties" dialog now works correctly
- when right-clicking in an object (image, for example) placed inside the cell itself.
-
-
[SF
- Patch-1349166] On IE, there is now support for namespaces on tags names.
-
[SF
- Patch-1350552] Fix the display issue when applying styles on tables.
-
[SF
- Patch-1352320 ] Fixed a wrong usage of the "parentElement"
- property on Gecko.
-
[SF
- Patch-1355007] The new "FCKDebug.OutputObject" function is available
- to dump all object information in the debug window.
-
[SF
- Patch-1329500] It is now possible to delete table columns when clicking on a
- TH cell of the column.
-
[SF
- Patch-1315351] It is now possible to pass the image width and height to the
- "SetUrl" function of the Flash dialog box.
-
[SF
- Patch-1327384] TH tags are now correctly handled by the source code formatter
- and the "FillEmptyBlocks" configuration option.
-
[SF
- Patch-1327406] Fake borders are now displayed for TH elements on tables with
- border set to 0. Also, on Firefox, it will now work even if the border attribute
- is not defined and the borders are not dotted.
-
Hidden fields now get rendered on Firefox.
-
The BasePath is now included in the debugger URL to avoid problems when calling
- it from plugins.
The new "Insert Page Break" command (for printing) has
- been introduced.*
-
The editor package now has a root directory called "FCKeditor".
-
-
- Fixed Bugs:
-
-
[SF
- BUG-1326285] [SF
- BUG-1316430] [SF
- BUG-1323662] [SF
- BUG-1326223] We are doing a little step back with this version.
- The ENTER and BACKSPACE behavior changes for Firefox have been remove. It is a nice
- feature, but we need much more testing on it. It introduced some bugs and so
- its preferable to not have that feature, avoiding problems (even if that feature
- was intended to solve some issues).
-
[SF
- BUG-1275714] Comments in the beginning of the source are now preserved when
- using the "undo" and "redo" commands.
-
The "undo" and "redo" commands now work for the Style command.
-
-
An error in the execution of the pasting commands on Firefox has been fixed.
-
[SF
- BUG-1326184] No strange (invalid) entities are created when using Firefox. Also,
- the used by the FillEmptyBlocks setting is maintained even if you disable
- the ProcessHTMLEntities setting.
[SF
- BUG-1200328] The editor now offers a way to "protect" part of the
- source to remain untouched while editing or changing views. Just use the "FCKConfig.ProtectedSource"
- object to configure it and customize to your needs. It is based on regular expressions.
- See fckconfig.js for some samples.
-
The editor now offers native support for Lasso. Thanks and welcome to
- our new developer Jason Huck.
-
New language files are available:
-
-
Faraose (by Símin Lassaberg and Helgi Arnthorsson)
-
-
Malay (by Fairul Izham Mohd Mokhlas)
-
Mongolian (by Lkamtseren Odonbaatar)
-
Vietnamese (by Phan Binh Giang)
-
-
-
A new configurable ColdFusion connector is available. Thanks to Mark Woods.
- Many enhancements has been introduced with it.
-
The PHP connector for the default File Browser now sorts the folders and files names.
-
-
[SF
- BUG-1289372] [SF
- BUG-1282758] In the PHP connector it is now possible to set the absolute
- (server) path to the User Files directory, avoiding problems with Virtual Directories,
- Symbolic Links or Aliases. Take a look at the config.php file.
-
The ASP.Net uploader (for Quick Uploads) has been added to the package.
-
A new way to define simple "combo" toolbar items , like
- Style and Font, has been introduced. Thanks to Steve Lineberry. See
- sample06.html and the "simplecommands" plugin to fully understand
- it.
-
A new test case has been added that shows how to set the editor background dynamically
- without using a CSS.
The new "OnAfterLinkedFieldUpdate" event has been introduced. If
- is fired when the editor updates its hidden associated field.
-
Attention: The color of the right border of the toolbar (left on RTL interfaces)
- has been moved from code to the CSS (TB_SideBorder class). Update your custom skins.
-
-
A sample "htaccess.txt" file has been added to the editor's package
- to show how to configure some Linux sites that could present problems on Firefox
- with "Illegal characters" errors. Respectively the ""
- chars.
-
With the JavaScript, ASP and PHP integration files, you can set the QueryString
- value "fcksource=true" to load the editor using the source files (located
- in the _source directory) instead of the compressed ones. Thanks to Kae Verens for
- the suggestion.
-
[SF
- Feature-1246623] The new configuration option "ForceStrongEm" has
- been introduced so you can force the editor to convert all <B> and <I>
- tags to <STRONG> and <EM> respectively.
-
A nice contribution has been done by Goss Interactive Ltd:
-
-
[SF
- BUG-1246949] Implemented ENTER key and BACKSPACE key handlers for Gecko so that
- P tags (or an appropriate block element) get inserted instead of BR tags when not
- in the UseBROnCarriageReturn config mode.
-
- The ENTER key handling has been written to function much the same as the ENTER key
- handling on IE : as soon as the ENTER key is pressed, existing content will be wrapped
- with a suitable block element (P tag) as appropriate and a new block element (P
- tag) will be started.
-
- The ENTER key handler also caters for pressing ENTER within empty list items - ENTER
- in an empty item at the top of a list will remove that list item and start a new
- P tag above the list; ENTER in an empty item at the bottom of a list will remove
- that list item and start a new P tag below the list; ENTER in an empty item in the
- middle of a list will remove that list item, split the list into two, and start
- a new P tag between the two lists.
-
Any tables that are found to be incorrectly nested within a block element (P tag)
- will be moved out of the block element when loaded into the editor. This is required
- for the new ENTER/BACKSPACE key handlers and it also avoids non-compliant HTML.
-
-
The InsertOrderedList and InsertUnorderedList commands have been overridden on Gecko
- to ensure that block elements (P tags) are placed around a list item's content when
- it is moved out of the list due to clicking on the editor's list toolbar buttons
- (when not in the UseBROnCarriageReturn config mode).
-
-
-
-
- Fixed Bugs:
-
-
[SF
- BUG-1253255] [SF
- BUG-1265520] Due to changes on version 2.0, the anchor list was not anymore
- visible in the link dialog window. It has been fixed.
[SF
- BUG-1251373 ] The above fix also has corrected some strange behaviors on
- Firefox.
-
[SF
- BUG-1144258] [SF
- BUG-1092081] The File Browsers now run on the same server session used
- in the page where the editor is placed in (IE issue). Thanks to Simone Chiaretta.
-
-
[SF
- BUG-1305619 ] No more repeated login dialogs when running the editor with Windows
- Integrated Security with IIS.
-
[SF
- Patch-1245304] The Test Case 004 is now working correctly. It has been changed
- to set the editor hidden at startup.
-
[SF
- BUG-1290610 ] Over HTTPS, there were some warnings when loading the Images,
- Flash and Link dialogs. Fixed.
-
Due to Gecko bugs, two errors were thrown when loading the editor in a hidden div.
- Workarounds have been introduced. In any case, the testcase 004 hack is needed when
- showing the editor (as in a tabbed interface).
-
An invalid path in the dialogs CSS file has been corrected.
-
On IE, the Undo/Redo can now be controlled using the Ctrl+Z and Ctrl+Y shortcut
- keys.
-
[SF
- BUG-1295538 ] A few Undo/Redo fixes for IE have been done.
-
[SF
- BUG-1247070] On Gecko, it is now possible to use the shortcut keys for Bold
- (CTRL+B), Italic (CTRL+I) and Underline (CTRL+U), like in IE.
-
[SF
- BUG-1274303] The "Insert Column" command is now working correctly
- on TH cells. It also copies any attribute applied to the source cells.
-
[SF
- Patch-1287070 ] In the Universal Keyboard, the Arabic keystrokes translator
- is now working with Firefox. Thanks again to Abdul-Aziz Al-Oraij.
-
The editor now handles AJAX requests with HTTP status 304.
[SF
- BUG-1155774] A spelling error in the Bulleted List Properties dialog has been
- corrected.
-
[SF
- BUG-1272018] The ampersand character can now be added from the Special Chars
- dialog.
-
[SF
- BUG-1263161] A small fix has been applied to the sampleposteddata.php file.
- Thanks to Mike Wallace.
-
[SF
- BUG-1241504] The editor now looks also for the ID of the hidden linked field.
-
-
The caption property on tables is now working on Gecko. Thanks to Helen Somers (Goss
- Interactive Ltd).
-
[SF
- BUG-1297431] With IE, the editor now works locally when its files are placed
- in a directory path that contains spaces.
-
[SF
- BUG-1279551] [SF
- BUG-1242105] On IE, some features are dependant of ActiveX components (secure...
- distributed with IE itself). Some security setting could avoid the usage of
- those components and the editor would stop working. Now a message is shown, indicating
- the use the minimum necessary settings need by the editor to run.
-
[SF
- BUG-1298880] Firefox can't handle the STRONG and EM tags. Those tags are now
- converted to B and I so it works accordingly.
-
[SF
- BUG-1271723] On IE, it is now possible to select the text and work correctly
- in the contents of absolute positioned/dimensioned divs.
-
On IE, there is no need to click twice in the editor to activate the cursor
- in the editing area.
-
[SF
- BUG-1221621] Many "warnings" in the Firefox console are not thrown
- anymore.
-
[SF
- BUG-1295526] While editing on "FullPage" mode the basehref is
- now active for CSS "link" tags.
[SF
- Patch-1281313] A few small changes to avoid problems with Plone. Thanks to Jean-mat.
-
-
[SF
- BUG-1275911] A check for double dots sequences on directory names on creation
- has been introduced to the PHP and ASP connectors.
-
-
- Version 2.0
-
- New Features and Improvements:
-
-
The new "Flash" command is available. Now you can
- easily handle Flash content, over IE and Gecko, including server browser integration
- and context menu support. Due to limitations of the browsers, it is not possible
- to see the preview of the movie while editing, so a nice "placeholder"
- is used instead. *
-
A "Quick Upload " option is now available in the
- link, image and flash dialog windows, so the user don't need to go (or have) the
- File Browser for this operations. The ASP and PHP uploader are included. Take
- a look at the configuration file.***
-
Added support for Active FoxPro Pages . Thanks to our new developer,
- Sönke Freitag.
-
It is now possible to disable the size handles for images and tables
- (IE only feature). Take a look at the DisableImageHandles and DisableTableHandles
- configuration options.
-
The handles on form fields (small squares around them) and the inline editing
- of its contents have been disabled. This makes it easier to users to use
- the controls.
-
A much better support for Word pasting operations has been introduced. Now it uses
- a dialog box, in this way we have better results and more control.**
-
[SF
- Patch-1225372] A small change has been done to the PHP integration file. The
- generic __construct constructor has been added for better PHP 5 sub-classing compatibility
- (backward compatible). Thanks to Marcus Bointon.
-
-
- Fixed Bugs:
-
-
ATTENTION: Some security changes have been made to the connectors. Now you must
- explicitly enable the connector you want to use. Please test your application before
- deploying this update.
The preview now loads "Full Page" editing correctly. It also uses the
- same XHTML code produced by the final output.
-
The "Templates" dialog was not working on some very specific (and strange)
- occasions over IE.
-
[SF
- BUG-1199631] [SF
- BUG-1171944] A new option is available to avoid a bad IE behavior that shows
- the horizontal scrollbar even when not needed. You can now force the vertical scrollbar
- to be always visible. Just set the "IEForceVScroll" configuration option
- to "true". Thanks to Grant Bartlett.
Some pages have been changed to avoid importing errors on Plone. Thanks to Arthur
- Kalmenson.
-
[SF
- BUG-1171606] There is a bug on IE that makes the editor to not work if
- the instance name matches a meta tag name. Fixed.
-
On Firefox, the source code is now opened in a dialog box, to avoid error on pages
- with more than one editor.
-
[SF
- Patch-1225703] [SF
- BUG-1214941] The "ForcePasteAsPlainText" configuration option
- is now working correctly on Gecko browsers. Thanks to Manuel Polo.
-
[SF
- BUG-1228836] The "Show Table Borders" feature is now working on Gecko
- browsers.
-
[SF
- Patch-1212529] [SF
- BUG-1212517] The default File Browser now accepts connectors with querystring
- parameters (with "?"). Thanks to Tomas Jucius.
-
[SF
- BUG-1233318] A JavaScript error thrown when using the Print command has been
- fixed.
-
[SF
- BUG-1229696] A regular expression has been escaped to avoid problems when opening
- the code in some editors. It has been moved to a dialog window.
[SF
- BUG-1232056] The anchor icon is now working correctly on IE.
-
[SF
- BUG-1202468] The anchor icon is now available on Gecko too.
-
[SF
- BUG-1236279] A security warning has been corrected when using the File Browser
- over HTTPS.
-
The ASP implementation now avoid errors when setting the editor value to null values.
-
-
[SF
- BUG-1237359] The trailing <BR> added by Gecko at the end of the source
- is now removed.
-
[SF
- BUG-1170828] No more is added to the source when using the "New
- Page" button.
-
[SF
- BUG-1165264] A new configuration option has been included to force the
- editor to ignore empty paragraph values (<p> </p>), returning
- empty ("").
-
No more is added when creating a table or adding columns, rows or cells.
-
-
The <TD> tags are now included in the FillEmptyBlocks configuration handling.
-
-
[SF
- BUG-1224829] A small bug in the "Find" dialog has been fixed.
-
[SF
- BUG-1221307] A small bug in the "Image" dialog has been fixed.
[SF
- BUG-1205403] The checkbox and radio button values are now handled correctly
- in their dialog windows. Thanks to thc33.
-
[SF
- BUG-1236626] The toolbar now doesn't need to collapse when unloading the page
- (IE only).
-
[SF
- BUG-1212559] [SF
- BUG-1017231] The "Save" button now calls the "onsubmit"
- event before posting the form. The submit can be cancelled if the onsubmit returns
- "false".
-
[SF
- BUG-1215823] The editor now works correctly on Firefox if it values is set to
- "<p></p>".
-
[SF
- BUG-1217546] No error is thrown when "pasting as plain text" and no
- text is available for pasting (as an image for example).
A new tab called "Link" is available in the Image
- Dialog window. In this way you can insert or modify the image link directly
- from that dialog.*
-
The new "Templates" command is now available. Now the
- user can select from a list of pre-build HTML and fill the editor with it. Take
- a look at the "_docs" for more info.**
-
The mcpuk's File Browser for
- PHP has been included in the package. He became the official developer of the File
- Manager for FCKeditor, so we can expect good news in the future.
-
New configuration options are available to hide tabs from the
- Image Dialog and Link Dialog windows: LinkDlgHideTarget,
- LinkDlgHideAdvanced, ImageDlgHideLink and ImageDlgHideAdvanced.
-
[SF
- BUG-1189442] [SF
- BUG-1187164] [SF
- BUG-1185905] It is now possible to configure the editor to not convert Greek
- or special Latin letters to ther specific HTML entities. You
- can also configure it to not convert any character at all. Take a look at the "ProcessHTMLEntities",
- "IncludeLatinEntities" and "IncludeGreekEntities" configuration
- options.
-
New language files are available:
-
-
Basque (by Ibon Igartua)
-
English (Australia / United Kingdom) (by Christopher Dawes)
-
Ukrainian (by Alexander Pervak)
-
-
-
The version and date information have been removed from the files headers to avoid
- unecessary diffs in source control systems when new versions are released (from
- now on).
-
[SF
- Patch-1159854] Ther HTML output rendered by the server side integration files
- are now XHTML compatible.
-
[SF
- BUG-1181823] It is now possible to set the desired DOCTYPE to use when edit
- HTML fragments (not in Full Page mode).
-
There is now an optional way to implement different "mouse over" effects
- to the buttons when they are "on" of "off".
It is now possible to set the "width" style of the BODY tag in the EditorAreaCSS
- to limit the editing area size.
-
[SF
- BUG-1113620] In IE, the editor doesn't generate new entries in the browser history
- anymore.
-
The editor now uses the same method used on version RC2 to load its contents on
- Gecko. It is now possible to have more than one editor in the page. This change
- has a negative impact: the BaseHref property is not working.
-
Changes have been made to make the editor work with PHP versions older than 2.1.0.
-
[SF
- BUG-1101861] The editor now shows a normal textarea correctly (as expected)
- on Safari browsers (and all "like Gecko" browsers). Thanks to Bob Paul.
-
-
[SF
- BUG-1182224] The PHP connector can now handle file extensions in upper case, like
- JPG or Gif, correctly. Thanks to Georg Ivancsic.
-
The "sample06.html" is now working correctly with Gecko browsers.
-
[SF
- BUG-1156660] Some fixes have been applied to the Universal Keyboard. Thanks
- to Abdul-Aziz Al-Oraij.
-
[SF
- BUG-1192881] [SF
- BUG-1185006] [SF
- BUG-1156068] The "Browse Server" button is now working correctly
- for the Background Image in the "Document Properties" dialog window (full
- page editing). The active "BaseHref" is also set to the preview window.
-
-
[SF
- BUG-1191704] Invalid HTML tags (according to the W3C naming standards for XHTML)
- are ignored with no errors.
-
[SF
- BUG-1185911] The Greek language file name has been corrected to "el.js".
-
[SF
- BUG-1165219] No error occours when the user defines just one color to the FontColors
- on "in page" configurations.
-
[SF
- BUG-1162957] The small problem with Zope (ZPT) has been solved.
-
Some small RTL / LTR corrections has been done in the interface and the Farsi language
- has been added to the Universal Keyboard. Thanks to Silver Baghdasarian.
The editor now offers native Perl integration! Thanks and welcome
- to Takashi Yamaguchi, our official Perl developer.
-
[SF
- Feature-1026584] [SF
- Feature-1112692] Formatting has been introduced to the
- Source View. The output HTML can also be formatted. You can choose
- to use spaces or tab for indentation. See the configuration file.
The new toolbar command, "Document Properties" is
- available to edit document header info, title, colors, background, etc... Full page
- editing must be enabled.
-
[SF
- Feature-1151448] Spell Check is now available. You can use
- ieSpell or Speller Pages right from FCKeditor.
- More info about configuration can be found in the _docs folder.
[SF
- Feature-1123816] It is now possible to configure the editor to show "fake"
- table borders when the border size is set to zero. (It is working only
- on IE for now).
-
Numbered and Bulleted lists can now be
- configured . Just right click on then.
It is now possible to set the content language direction .
- See the "FCKConfig.ContentLangDirection" configurations setting.
-
All Field Commands available on version 1.6 have been upgraded
- and included in this version: form, checkbox,
- radio button, text field, text area,
- select field, button, image button
- and hidden field .
-
Context menu options (right-click) has been added for:
- anchors, select field, textarea,
- checkbox, radio button, text field,
- hidden field, textarea, button,
- image button, form, bulleted list
- and numbered list .
-
The "Universal Keyboard" has been converted from version
- 1.6 to this one and it's now available.
-
It is now possible to configure the items to be shown in the
- context menu . Just use the FCKConfig.ContextMenu option at fckconfig.js.
-
-
A new configuration (FillEmptyBlocks) is available to force the editor to
- automatically insert a on empty block elements (p, div, pre,
- h1, etc...) to avoid differences from the editing and the final result. (Actually,
- the editor automatically "grows" empty elements to make the user able
- to enter text on it). Attention: the extra will be added when switching
- from WYSIWYG to Source View, so the user may see an additional space on empty blocks.
- (XHTML support must be enabled).
-
It is now possible to configure the toolbar to "break
- " between two toolbar strips. Just insert a "/" between then. Take
- a look at fckconfig.js for a sample.
-
New Language files are available:
-
-
Brazilian Portuguese (by Carlos Alberto Tomatis Loth)
-
Bulgarian (by Miroslav Ivanov)
-
Esperanto (by Tim Morley)
-
Galician (by Fernando Riveiro Lopez)
-
Japanese ( by Takashi Yamaguchi)
-
Persian (by Hamed Taj-Abadi)
-
Romanian (by Adrian Nicoara)
-
Slovak (by Gabriel Kiss)
-
Thai (by Audy Charin Arsakit)
-
Turkish (by Reha Biçer)
-
The Chinese Traditional has been set as the default (zn) instead of zn-tw.
-
-
-
Warning: All toolbar image images have been changed. The "button." prefix
- has been removed. If you have your custom skin, please rename your files.
-
A new plugin is available in the package: "Placeholders".
- In this way you can insert non editable tags in your document to be processed on
- server side (very specific usage).
-
The ASPX files are no longer available in this package. They have been moved to
- the FCKeditor.Net package. In this way the ASP.Net integration is much better organized.
-
-
The FCKeditor.Packager program is now part of the main package. It is not anymore distributed
- separately.
-
The PHP connector now sets the uploaded file permissions (chmod) to 0777.
-
[SF
- Patch-1090215] It's now possible to give back more info from your custom image
- browser calling the SetUrl( url [, width] [, height] [, alt] ). Thanks to Ben Noblet.
-
-
The package files now maintain their original "Last Modified" date, so
- incremental FTP uploads can be used to update to new versions of the editor
- (from now on).
-
The "Source" view now forces its contents to be written in "Left
- to Right" direction even when the editor interface language is running a RTL
- language (like Arabic, Hebrew or Persian).
[SF
- BUG-1114748] The PHP File Manager Connector now sets the new folders permissions
- (chmod) to 0777 correctly.
-
The PHP File Manager Connector now has a configuration file (editor/filemanager/browser/default/connectors/php/config.php)
- to set some security preferences.
-
The ASP File Manager Connector now has a configuration file (editor/filemanager/browser/default/connectors/asp/config.asp)
- to set some security preferences.
-
A small bug in the toolbar rendering (strips auto position) has been corrected.
-
Some small wrapping problems with some labels in the Image and Table dialog windows
- have been fixed.
-
All .js files are now encoded in UTF-8 format with the BOM (byte order mask) to
- avoid some errors on specific Linux installations.
-
[SF
- BUG-1114449] The editor packager program has been modified so now it is possible
- to use the source files to run the editor as described in the documentation. The
- new packager must be downloaded.
-
A small problem with the editor focus while in source mode has been corrected.
- Thanks to Eric (ric1607).
-
[SF
- BUG-1108167] [SF
- BUG-1085149] [SF
- BUG-1151296] [SF
- BUG-1082433] No more IFRAMEs without src attribute. Now it points
- to a blank page located in the editor's package. In this way we avoid security warnings
- when using the editor over HTTPS. Thanks to Guillermo Bozovich.
-
[SF
- BUG-1117779] The editor now works well if you have more than one element named
- "submit" on its form (even if it is not correct to have this situation).
-
-
The XHTML processor was duplicating the text on some specific situation. It has
- been fixed.
The localization engine is now working correctly over IE 5.5 browsers.
-
Some commands where not working well over IE 5.5 (emoticons, image,...). It has
- been fixed.
-
[SF
- BUG-1146441] [SF
- BUG-1149777] The editor now uses the TEXTAREA id in the ReplaceTextarea
- function. If the id is now found, it uses the "name". The docs have been
- updated.
-
[SF
- BUG-1144297] Some corrections have been made to the Dutch language file. Thanks
- to Erwin Dondorp.
[SF
- Feature-1042034] The new "Split Cell ", to split
- a table cell in two columns, has been introduced (right-click).
-
[SF
- Feature-1042034] The new "Merge Cells", to merge
- table cells (in the same row), has been introduced (right-click).
-
The "fake" TAB key support (available by default over
- Gecko browsers is now available over IE too. You can set the number of spaces to
- add setting the FCKConfig.TabSpaces configuration setting. Set it to 0 (zero) to
- disable this feature (IE).
-
It now possible to tell IE to send a <BR> when the user presses
- the Enter key. Take a look at the FCKConfig.UseBROnCarriageReturn
- configuration setting.
-
[SF
- Feature-1085422] ColdFusion: The File Manager connector
- is now available! (Thanks to Hendrik Kramer).
-
The editor is now available in 29 languages! The new language files
- available are:
-
-
[SF
- Feature-1067775] Chinese Simplified and Traditional (Taiwan
- and Hong Kong) (by NetRube).
-
Czech (by David Horák).
-
Danish (by Jesper Michelsen).
-
Dutch (by Bram Crins).
-
German (by Maik Unruh).
-
Portuguese (Portugal) (by Francisco Pereira).
-
Russian (by Andrey Grebnev).
-
Slovenian (by Boris Volaric).
-
-
-
Updates to the French language files (by Hubert Garrido).
[SF
- BUG-1083744] On Gecko browsers, any element attribute that the name starts with
- "_moz" will be ignored.
-
[SF
- BUG-1060073] The <STYLE> and <SCRIPT> elements contents will be
- handled as is, without CDATA tag surrounding. This may break XHTML validation. In
- any case the use of external files for scripts and styles is recommended (W3C recommendation).
A problem with the "Format" command on IE browsers on languages different
- of English has been solved. The negative side of this correction is that due to
- a IE bad design it is not possible to update the "Format" combo while
- moving throw the text (context sensitive).
-
On Gecko browsers, when selecting an image and executing the "New Page"
- command, the image handles still appear, even if the image is not available anymore
- (this is a Gecko bug). When clicking in a "phanton" randle, the browser
- crashes. It doesn't happen (the crash) anymore.
-
[SF
- BUG-1082197] On ASP, the bug in the browser detection system for Gecko browsers
- has been corrected. Thanks to Alex Varga.
-
Again on ASP, the browser detection for IE had some problems on servers that use
- comma for decimal separators on numbers. It has been corrected. Thanks to Agrotic.
-
-
No error is thrown now when non existing language is configured in the
- editor. The English language file is loaded in that case.
-
[SF
- BUG-1077747] The missing images on the Office2003 and Silver skins are now included
- in the package.
-
On some Gecko browsers, the dialog window was not loading correctly. I couldn't
- reproduce the problem, but a fix has been applied based on users tests.
-
[SF
- BUG-1004078] ColdFusion: The "config" structure/hash table with keys
- and values is in ColdFusion not(!) case sensitive. All keys returned by ColdFusion
- are in upper case format. Because the FCKeditor configuration keys must be case
- sensitive, we had to match all structure/hash keys with a list of the correct configuration
- names in mixed case. This has been added to the fckeditor.cfc and fckeditor.cfm.
-
-
[SF
- BUG-1075166] ColdFusion: The "fallback" variant of the texteditor
- (<textarea>) has a bug in the fckeditor.cfm. This has been fixed.
-
A typo in the Polish language file has been corrected. Thanks to Pawel Tomicki.
-
-
[SF
- BUG-1086370] A small coding type in the Link dialog window has been corrected.
-
-
-
- Version 2.0 RC1 (Release Candidate 1)
-
-
ASP support is now available (including the File Manager connector).
-
-
PHP support is now available (including the File Manager connector).
-
-
[SF
- Feature-1063217] The new advanced Style command is available
- in the toolbar: full preview, context sensitive, style definitions are loaded from
- a XML file (see documentation for more instructions).
-
The Font Format, Font Name and Font Size
- toolbar command now show a preview of the available options.
-
The new Find and Replace features has been introduced.
-
-
A new Plug-in system has been developed. Now it is quite easy to
- customize the editor to your needs. (Take a look at the html/sample06.html file).
-
-
The editor now handles HTML entities in the right way (XHTML support
- must be set to "true"). It handles all entities defined in the W3C XHTML
- DTD file.
-
A new "_docs" folder has been introduced for the documentation.
- It is not yet complete, but I hope the community will help us to fill it better.
-
-
It is now possible (even if it is not recommended by the W3C) to force the use of
- simple ampersands (&) on attributes (like the links href) instead of its entity
- &. Just set FCKConfig.ForceSimpleAmpersand = true in the configuration
- file.
-
[SF
- Feature-1026866] The "EditorAreaCSS" configuration
- option has been introduced. In this way you can set the CSS to use in the editor
- (editable area).
-
The editing area is not anymore clipped if the toolbar is too large and exceeds
- the window width.
-
[SF
- BUG-1064902] [SF
- BUG-1033933] The editor interface is now completely localizable.
- The version ships with 19 languages including: Arabic, Bosnian, Catalan,
- English, Spanish, Estonian, Finnish, French,
- Greek, Hebrew, Croatian, Italian, Korean, Lithuanian,
- Norwegian, Polish, Serbian (Cyrillic),
- Serbian (Latin) and Swedish.
-
[SF
- BUG-1027858] Firefox 1.0 PR introduced a bug that made the editor
- stop working on it. A workaround has been developed to fix the problem.
-
There was a positioning problem over IE with the color panel. It has been corrected.
-
[SF
- BUG-1054621] Color pickers are now working with the "office2003" and
- "silver" skins.
-
[SF
- BUG-1054108] IE doesn’t recognize the "'" entity for
- apostrophes, so a workaround has been developed to replace it with "'"
- (its numeric entity representation).
[SF
- BUG-1018743] The problem with Gecko when collapsing the toolbar while in source
- mode has been fixed.
-
[SF
- BUG-1065268] [SF
- BUG-1034354] The XHTML processor now doesn’t use the minimized tag
- syntax (like <br/>) for empty elements that are not marked as EMPTY in the
- W3C XHTML DTD specifications.
[SF
- BUG-1065973] [SF
- BUG-999792] The editor now handles relative URLs in IE. In effect IE transform
- all relative URLs to absolute links, pointing to the site the editor is running.
- So now the editor removes the protocol and host part of the link if it matches the
- running server.
[SF
- BUG-1029101] The Paste from Word feature is working correctly.
-
[SF
- BUG-1034623] There is an IE bug when setting the editor value to "<p><hr></p>".
- A workaround has been developed.
-
[SF
- BUG-1052695] There are some rendering differences between Netscape and Mozilla.
- (Actually that is a bug on both browsers). A workaround has been developed to solve
- it.
[SF
- BUG-1066321] Scrollbars should not appear on dialog boxes (at least for the
- Image and Link ones).
-
[SF
- BUG-1046490] Dialogs now are forced to show on foreground over Mac.
-
[SF
- BUG-1073955] A small bug in the image dialog window has been corrected.
-
[SF
- BUG-1049534] The Resources Browser window is now working well over Gecko browsers.
-
-
[SF
- BUG-1036675] The Resources Browser window now displays the server error on bad
- installations.
-
-
- Version 2.0 Beta 2
-
-
There is a new configuration - "GeckoUseSPAN" - that
- can be used to tell Gecko browsers to use <SPAN style...> or <B>, <I>
- and <U> for the bold, italic and underline commands.
-
[SF
- Feature-1002622] New Text Color and Background Color
- commands have been added to the editor.
-
On Gecko browsers, a message is shown when, because of security settings, the
- user is not able to cut, copy or paste data from the clipboard using the
- toolbar buttons or the context menu.
-
The new "Paste as Plain Text " command has been introduced.
-
-
The new "Paste from Word " command has been introduced.
-
-
A new configuration named "StartupFocus" can be used to tell the
- editor to get the focus when the page is loaded.
-
All Java integration files has been moved to a new separated package.
-
-
[SF
- BUG-1016781] Table operations are now working when right click
- inside a table. The following commands has been introduced: Insert Row,
- Delete Row, Insert Column, Delete Column,
- Insert Cell and Delete Cells .
[SF
- BUG-1021028] If the editor doesn't have the focus, some commands were been executed
- outside the editor in the place where the focus is. It has been fixed.
-
[SF
- BUG-981191] We are now using <!--- ---> for ColdFusion comments.
-
-
- Version 2.0 Beta 1
-
- This is the first beta of the 2.x series. It brings a lot of new and important things.
- Beta versions will be released until all features available on version 1.x will
- be introduced in the 2.0.
-
- Note: As it is a beta, it is not yet completely developed. Future
- versions can bring new features that can break backward compatibility with this
- version.
-
-
-
Gecko browsers (Mozilla and Netscape) support.
-
-
Quick startup response times.
-
Complete XHTML 1.0 support.
-
Advanced link dialog box:
-
-
Target selection.
-
Popup configurator.
-
E-Mail link.
-
Anchor selector.
-
-
-
New File Manager.
-
New dialog box system, with tabbed dialogs support.
-
New context menus with icons.
-
New toolbar with "expand/collapse" feature.
-
Skins support.
-
Right to left languages support.
-
-
- Version 1.6.1
-
-
[SF
- BUG-862364] [SF
- BUG-812733] There was a problem when the user tried to delete the last row,
- collumn or cell in a table. It has been corrected.*
-
New Estonian language file. Thanks to Kristjan Kivikangur
-
New Croatian language file. Thanks to Alex Varga.
-
Updated language file for Czech. Thanks to Plachow.
-
Updated language file for Chineze (zh-cn). Thanks to Yanglin.
-
Updated language file for Catalan. Thanks to Jordi Cerdan.
-
-
- * This version has been partially sponsored by Genuitec,
- LLC.
-
- Version 1.6
-
-
Context Menu support for form elements.*
-
New "Selection Field" command with advanced dialog box
- for options definitions.*
-
New "Image Button" command is available.*
-
[SF
- Feature-936196] Many form elements bugs has been fixed and
- many improvements has been done.*
-
New Java Integration Module. There is a complete Java API and Tag
- Library implementations. Take a look at the _jsp directory. Thanks to Simone Chiaretta
- and Hao Jiang.
-
The Word Spell Checker can be used. To be able to run it, your
- browser security configuration "Initialize and script ActiveX controls not
- marked as safe" must be set to "Enable" or "Prompt". And
- easier and more secure way to do that is to add your site in the list of trusted
- sites. IeSpell can still be used. Take a look at the fck_config.js file for some
- configuration options. Thanks to EdwardRF.
Special characters are replaced with their decimal HTML entities when the XHMTL
- support is enabled (only over IE5.5+).
-
New Office 2003 Style toolbar icons are available. Just uncomment
- the config.ToolbarImagesPath key in the fck_config.js file. Thanks to Abdul-Aziz
- A. Al-Oraij. Attention: the default toolbar items have been moved
- to the "images/toolbar/default" directory.
-
[SF
- Patch-934566] Double click support for Images, Tables, Links,
- Anchors and all Form elements. Thanks to Top Man.
-
New "New Page" command to start a typing from scratch.
- Thanks to Abdul-Aziz A. Al-Oraij.
-
New "Replace" command. Thanks to Abdul-Aziz A. Al-Oraij.
-
-
New "Advanced Font Style" command. Thanks to Abdul-Aziz
- A. Al-Oraij.
-
[SF
- Feature-738193] New "Save" command. It can be used
- to simulate a save action, but in fact it just submits the form where the editor
- is placed in. Thanks to Abdul-Aziz A. Al-Oraij.
-
New "Universal Keyboard" command. This 22 charsets are
- available: Arabic, Belarusian, Bulgarian, Croatian, Czech, Danish, Finnish, French,
- Greek, Hebrew, Hungarian, Diacritical, Macedonian, Norwegian, Polish, Russian, Serbian
- (Cyrillic), Serbian (Latin), Slovak, Spanish, Ukrainian and Vietnamese. Includes
- a keystroke listener to type Arabic on none Arabic OS or machine. Thanks to Abdul-Aziz
- A. Al-Oraij.
-
[SF
- Patch-935358] New "Preview" command. Context menu
- option is included and can be deactivated throw the config.ShowPreviewContextMenu
- configuration. Thanks to Ben Ramsey.
-
New "Table Auto Format" context menu command. Hack a
- little the fck_config.js and the fck_editorarea.css files. Thanks to Alexandros
- Lezos.
-
New "Bulleted List Properties " context menu to define
- its type and class. Thanks to Alexandros Lezos.
-
The image dialog box has been a redesigned . Thanks
- to Mark Fierling.
-
Images now always have the "alt" attribute set, even
- when it's value is empty. Thanks to Andreas Barnet.
-
[SF
- Patch-942250] You can set on fck_config.js to automatically clean Word
- pasting operations without a user confirmation.
-
Forms element dialogs and other localization pending labels has been updated.
-
A new Lithuanian language file is available. Thanks to Tauras Paliulis.
-
-
A new Hebrew language file is available. Thanks to Ophir Radnitz.
-
-
A new Serbian language file is available. Thanks to Zoran Subic.
-
-
Danish language file updates. Thanks to Flemming Jensen.
-
Catalan language file updates. Thanks to Jordi Cerdan.
Updates on the testsubmit.php file. Thanks to Geat and Gabriel Schillaci
-
[SF
- BUG-924620] There was a problem when setting a name to an editor instance when
- the name is used by another tag. For example when using "description"
- as the name in a page with the <META name="description"> tag.
[SF
- BUG-743546] The XHTML content duplication problem has been
- solved . Thanks to Paul Hutchison.
-
[SF
- BUG-875853] The image dialog box now gives precedence for width
- and height values set as styles. In this way a user can change the size of the image
- directly inside the editor and the changes will be reflected in the dialog box.
-
-
[SF
- Feature-788368] The sample file upload manager for ASPX now
- uses guids for the file name generation. In this way a support
- XML file is not needed anymore.
-
It's possible now to programmatically change the Base Path of the
- editor if it's installed in a directory different of "/FCKeditor/". Something
- like this:
- oFCKeditor.BasePath = '/FCKeditor/' ;
- Take a look at the _test directory for samples.
-
There was a little bug in the TAB feature that moved the insertion point if there
- were any object (images, tables) in the content. It has been fixed.
-
The problem with accented and international characters on the PHP
- test page was solved.
-
A new Chinese (Taiwan) language file is available. Thanks to Nil.
-
-
A new Slovenian language file is available. Thanks to Pavel Rotar.
-
-
A new Catalan language file is available. Thanks to Jordi Cerdan.
-
-
A new Arabic language file is available. Thanks to Abdul-Aziz A.
- Al-Oraij.
-
Small corrections on the Norwegian language file.
-
A Java version for the test results (testsubmit.jsp) is now available. Thanks to
- Pritpal Dhaliwal.
-
When using JavaScript to create a editor instance it's possible now to easily get
- the editor's value calling oFCKeditor.GetValue() (eg.). Better JavaScript API interfaces
- will be available on version 2.0.
-
If XHTML is enabled the editor cleans the HTML before showing it
- on the Source View, so the exact result can be viewed by the user. This option can
- be activated setting config.EnableSourceXHTML = true in the fck_config.js file.
-
-
The JS integration object now escapes all configuration settings,
- in this way a user can use reserved chars on it. For example:
-
- oFCKeditor.Config["ImageBrowserURL"] = '/imgs/browse.asp?filter=abc*.jpg&userid=1';
-
-
A minimal browse server sample is now available in ASP. Thanks to Andreas Barnet.
-
-
-
- Version 1.4
-
-
ATTENTION: For PHP users: The editor was changed and now uses
- htmlspecialchars instead of htmlentities when handling
- the initial value. It should works well, but please make some tests before upgrading
- definitively. If there is any problem just uncomment the line in the fckeditor.php
- file (and send me a message!).
-
The editor is now integrated with ieSpell (http://www.iespell.com)
- for Spell Checking. You can configure the download URL in then
- fck_config.js file. Thanks to Sanjay Sharma. (ieSpell is free for personal use but
- must be paid for commercial use)
-
Table and table cell dialogs has been changed.
- Now you can select the class you want to be applied. Thanks to
- Alexander Lezos.
-
[SF
- Feature-865378]A new upload support is available for ASP. It
- uses the /UserImages/ folder in the root of the web site as the files container
- and a counter controlled by the upload.cnt file. Both must have write permissions
- set to the IUSR_xxx user. Thanks to Trax and Juanjo.
-
[SF
- Patch-798128] The user (programmer) can now define a custom separator
- for the list items of a combo in the toolbar. Thanks to Wulff D. Heiss.
-
[SF
- Feature-741963][SF
- Feature-878941][SF
- Patch-869389] A minimal support for a “fake” TAB is now available,
- even if HTML has no support for TAB. Now when the user presses the TAB key a configurable
- number of spaces ( ) is added. Take a look at config.TabSpaces on the fck_config.js
- file. No action is performed if it is set to zero. The default value is 4. Thanks
- to Phil Hassey.
[SF
- BUG-862975] Now the editor does nothing if no image is selected in the image
- dialog box and the OK button is hit.
-
[SF
- BUG-851609] The problem with ASP and null values has been solved.
-
Norwegean language pack. Thanks to Martin Kronstad.
-
Hungarian language pack. Thanks to Balázs Szabó.
-
-
Bosnian language pack. Thanks to Trax.
-
Japanese language pack. Thanks to Kato Yuichiro.
-
Updates on the Polish language pack. Thanks to Norbert Neubauer.
-
-
The Chinese (Taiwan) (zh-tw) has been removed from the package
- because it's corrupt. I'm sorry. I hope someone could send me a good version soon.
-
-
-
- Version 1.3.1
-
-
It's now possible to configure the editor the insert a <BR> tag instead
- of <P> when the user presses the <Enter> key.
- Take a look at the fck_config.js configuration file for the "UseBROnCarriageReturn"
- key. This option is disabled by default.
-
Icelandic language pack. Thanks to Andri Óskarsson.
-
[SF
- BUG-853374] On IE 5.0 there was a little error introduced with version 1.3 on
- initialization. It was corrected.
-
[SF
- BUG-853372] On IE 5.0 there was a little error introduced with version 1.3 when
- setting the focus in the editor. It was corrected.
-
Minor errors on the language file for english has been corrected.
- Thanks to Anders Madsen.
-
Minor errors on the language file for danish has been corrected.
- Thanks to Martin Johansen.
-
-
- Version 1.3
-
-
Language support for Danish, Polish, Simple Chinese, Slovak, Swedish and
- Turkish.
-
Language updates for Romanian.
-
It's now possible to override any of the editor's configurations
- (for now it's implemented just for JavaScript, ASPX and HTC modules). See _test/test.html
- for a sample. I'm now waiting for the Community for the ASP, CFM and PHP versions.
-
-
A new method is available for PHP users. It's called ReturnFCKeditor.
- It works exactly like CreateFCKeditor, but it returns a string with the HTML
- for the editor instead of output it (echo). This feature is useful for people who
- are working with Smarty Templates or something like that. Thanks to Timothy J. Finucane.
-
-
Many people have had problems with international characters over
- PHP. I had also the same problem. PHP have strange problems with
- character encoding. The code hasn't been changed but just saved again with Western
- European encoding. Now it works well in my system.
- Take a look also at the "default_charset" configuration option at the
- php.ini file. It doesn't seem to be an editor's problem but a PHP issue.
-
The "testsubmit.php" file now strips the "Magic
- Quotes " that are automatically added by PHP on form posts.
-
A new language integration module is available for ASP/Jscript.
- Thanks to Dimiter Naydenov.
-
New configuration options are available to customize the
- Target combo box in the Insert/Modify Link dialog box.
- Now you can hide it, or set which options are available in the combo box. Take a
- look at the fck_config.js file.
-
The Text as Plain Text toolbar icon has been changed
- to avoid confusion with the Normal Paste or. Thanks to Kaupo Kalda.
-
-
The file dhtmled.cab has been removed from the package. It's not
- needed to the editor to work and caused some confusion for a few users.
-
The editor's content now doesn't loose the focus
- when the user clicks with the mouse in a toolbar button.
-
On drag-and-drop operations the data to be inserted in the editor
- is now converted to plain text when the "ForcePasteAsPlainText"
- configuration is set to true.
-
The image browser sample in PHP now sorts the files
- by name. Thanks to Sergey Lupashko.
-
Two new configuration options are available to turn on/off
- by default the "Show Borders" and "Show
- Details" commands.
-
Some characters have been removed from the "Insert
- Special Chars" dialog box because they were causing encoding problems
- in some languages. Thanks to Abomb Hua.
-
JSP versions of the image and file upload and browsing
- features. Thanks to Simone Chiaretta.
-
-
- Version 1.2.4
-
-
Language support for Spanish, Finnish, Romanian and Korean.
[SF
- BUG-782779] Version 1.2 introduced a bug on the image dialog window: when changing
- the image, no update was done. This bug is now fixed.
-
-
- Version 1.2
-
-
Enhancements to the Word cleaning feature (Thanks to Karl von Randow).
-
-
The Table dialog box now handles the Style width and height set
- in the table (Thanks to Roberto Arruda). There where many problems on prior version
- when people changed manually the table's size, dragging the size handles, and then
- it was not possible to set a new size using the table dialog box.
-
For the Image dialog box:
-
-
No image is shown in the preview pane if no image has been set.
-
If no HSpace is set in the image a "-1" value was shown in the dialog
- box. Now, nothing is shown if the value is negative.
-
-
-
[SF
- BUG-739630] Image with link lost the link when changing its properties. The
- problem is solved.
-
Due to some problems in the XHTML cleaning (content duplication when the source
- HTML is dirty and malformed), the XHTML support is turned off by default
- from this version. You can still change this behavior and turn it on in the configuration
- file.
-
Some little updates on the English language file.
-
A few addition of missing entries on all languages files (translations for these
- changes are pending).
-
Language files has been added for the following languages:
-
-
Brazilian Portuguese (pt-br)
-
Czech (cz)
-
Dutch (nl)
-
Russian (ru)
-
Chinese (Taiwan) (zh-tw)
-
Greek (gr)
-
German (de)
-
-
-
-
- Version 1.1
-
-
The "Multi Language" system is now available. This version
- ships with English and Italian versions completed. Other languages will be available
- soon. The editor automatically detects the client language and sets all labels,
- tooltips and dialog boxes to it, if available. The auto detection and the default
- language can be set in the fck_config.file.
-
Two files can now be created to isolate customizations code from the original source
- code of the editor: fckeditor.config.js and fckeditor.custom.js.
- Create these files in the root folder of your web site, if needed. The first one
- can be used to add or override configurations set on fck_config.js. The second one
- is used for custom actions and behaviors.
-
A problem with relative links and images like "/test/test.doc" has been
- solved. In prior versions, only with XHTML support enabled, the URL was changed
- to something like "http://www.mysite.xxx/test/test.doc" (The domain was
- automatically added). Now the XHTML cleaning procedure gets the URLs exactly how
- they are defined in the editor’s HTML.
-
[SF
- BUG-742168] Mouse drag and drop from toolbar buttons has been disabled.
-
[SF
- BUG-768210] HTML entities, like <, were not load correctly.
- The problem is solved.
-
[SF
- BUG-748812] The link dialog window doesn't open when the link button is grayed.
-
-
-
- Version 1.0
-
-
Three new options are available in the configuration file to set what file types
- are allowed / denied to be uploaded from the "Insert Link" and "Insert
- Image" dialog boxes.
-
Upload options, for links and images, are automatically hidden on IE 5.0 browsers
- (it's not compatible).
-
[SF BUG-734894] Fixed a problem on XHTML cleaning: the value on INPUT fields were
- lost.
-
[SF BUG-713797] Fixed some image dialog errors when trying to set image properties
- when no image is available.
-
[SF BUG-736414] Developed a workaround for a DHTML control bug when loading in the
- editor some HTML started with <p><hr></p>.
-
[SF BUG-737143] Paste from Word cleaning changed to solve some IE 5.0 errors. This
- feature is still not available over IE 5.0.
-
[SF BUG-737233] CSS mappings are now OK on the PHP image browser module.
-
[SF BUG-737495] The image preview in the image dialog box is now working correctly.
-
-
[SF BUG-737532] The editor automatically switches to WYSIWYG mode when the form
- is posted.
-
[SF BUG-739571] The editor is now working well over Opera (as for Netscape, a TEXTAREA
- is shown).
-
-
- Version 1.0 Final Candidate
-
-
A new dialog box for the "Link" command is available. Now you can upload
- and browse the server exactly like the image dialog box. It's also possible to define
- the link title and target window (_blank, _self, _parent and _top). As with the
- image dialog box, a sample (and simple) file server browser is available.
-
A new configuration option is available to force every paste action to be handled
- as plain text. See "config.ForcePasteAsPlainText" in fck_config.js.
-
A new Toolbar button is available: "Paste from Word". It automatically
- cleans the clipboard content before pasting (removesWord styles, classes, xml stuff,
- etc...). This command is available for IE 5.5 and more. For IE 5.0 users, a message
- is displayed advising that the text will not be cleaned before pasting.
-
The editor automatically detects Word clipboard data on pasting operations and asks
- the user to clean it before pasting. This option is turned on by default but it
- can be configured. See "config.AutoDetectPasteFromWord" in fck_config.js.
-
-
Table properties are now available in cells' right click context menu.
-
It's now possible to edit cells advanced properties from it's right click context
- menu.
-
-
- Version 1.0 Release Candidate 1 (RC1)
-
-
Some performance improvements.
-
The file dhtmled.cab has been added to the package for clients ho needs to install
- the Microsoft DHTML Editor component.
-
[SF BUG-713952] The format command options are localized, so it depends on the IE
- language to work. Until version 0.9.5 it was working only over English IE browsers.
- Now the options are load dynamically on the client using the client's language.
-
-
[SF BUG-712103] The style command is localized, so it depends on the IE language
- to work. Until version 0.9.5 it was working only over English IE browsers. Now it
- configures itself using the client's language.
-
[SF BUG-726137] On version 0.9.5, some commands (special chars, image, emoticons,
- ...) remove the next available character before inserting the required content even
- if no selection was made in the editor. Now the editor replaces only the selected
- content (if available).
-
-
- Version 0.9.5 beta
-
-
XHTML support is now available! It can be enabled/disabled in the fck_config.js
- file.
-
"Show Table Borders" option: show borders for tables with borders size
- set to zero.
-
"Show Details" option: show hidden elements (comments, scripts, paragraphs,
- line breaks)
-
IE behavior integration module. Thanks to Daniel Shryock.
-
"Find" option: to find text in the document.
-
More performance enhancements.
-
New testsubmit.php file. Thansk to Jim Michaels.
-
Two initial PHP upload manager implementations (not working yet). Thanks to Frederic
- Tyndiuk and Christian Liljedahl.
-
Initial PHP image browser implementation (not working yet). Thanks to Frederic Tyndiuk.
-
-
Initial CFM upload manager implementation. Thanks to John Watson.
-
-
- Version 0.9.4 beta
-
-
ColdFusion module integration is now available! Thanks to John Watson.
-
"Insert Smiley" toolbar option! Thanks to Fredox. Take a look at fck_config.js
- for configuration options.
-
"Paste as plain text" toolbar option!
-
Right click support for links (edit / remove).
-
Buttons now are shown in gray when disabled.
-
Buttons are shown just when the image is downloaded (no more "red x" while
- waiting for it).
-
The toolbar background color can be set with a CSS style (see fck_editor.css).
-
Toolbar images have been reviewed:
-
-
Now they are transparent.
-
No more over...gif for every button (so the editor loads quicker).
-
Buttons states are controlled with CSS styles. (see fck_editor.css).
-
-
-
Internet Explorer 5.0 compatibility, except for the image uploading popup.
-
Optimizations when loading the editor.
-
[SF BUG-709544] - Toolbar buttons wait for the images to be downloaded to start
- watching and responding the user actions (turn buttons on/off when the user changes
- position inside the editor).
-
JavaScript integration is now Object Oriented. CreateFCKeditor function is not available
- anymore. Take a look in test.html.
-
Two new configuration options, ImageBrowser and ImageUpload, are available to turn
- on and off the image upload and image browsing options in the Image dialog box.
- This options can be hidden for a specific editor instance throw specific URL parameter
- in the editor’s IFRAME (upload=true/false&browse=true/false). All specific
- language integration modules handle this option. For sample see the _test directory.
-
-
-
-
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckcontextmenu.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckcontextmenu.js
deleted file mode 100644
index 2d30eefdd2..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckcontextmenu.js
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKContextMenu Class: renders an control a context menu.
- */
-
-var FCKContextMenu = function( parentWindow, langDir )
-{
- var oPanel = this._Panel = new FCKPanel( parentWindow, true ) ;
- oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
- oPanel.IsContextMenu = true ;
-
- // The FCKTools.DisableSelection doesn't seems to work to avoid dragging of the icons in Mozilla
- // so we stop the start of the dragging
- if ( FCKBrowserInfo.IsGecko )
- oPanel.Document.addEventListener( 'draggesture', function(e) {e.preventDefault(); return false;}, true ) ;
-
- var oMenuBlock = this._MenuBlock = new FCKMenuBlock() ;
- oMenuBlock.Panel = oPanel ;
- oMenuBlock.OnClick = FCKTools.CreateEventListener( FCKContextMenu_MenuBlock_OnClick, this ) ;
-
- this._Redraw = true ;
-}
-
-
-FCKContextMenu.prototype.SetMouseClickWindow = function( mouseClickWindow )
-{
- if ( !FCKBrowserInfo.IsIE )
- {
- this._Document = mouseClickWindow.document ;
- this._Document.addEventListener( 'contextmenu', FCKContextMenu_Document_OnContextMenu, false ) ;
- }
-}
-
-FCKContextMenu.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
-{
- var oItem = this._MenuBlock.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled) ;
- this._Redraw = true ;
- return oItem ;
-}
-
-FCKContextMenu.prototype.AddSeparator = function()
-{
- this._MenuBlock.AddSeparator() ;
- this._Redraw = true ;
-}
-
-FCKContextMenu.prototype.RemoveAllItems = function()
-{
- this._MenuBlock.RemoveAllItems() ;
- this._Redraw = true ;
-}
-
-FCKContextMenu.prototype.AttachToElement = function( element )
-{
- if ( FCKBrowserInfo.IsIE )
- FCKTools.AddEventListenerEx( element, 'contextmenu', FCKContextMenu_AttachedElement_OnContextMenu, this ) ;
- else
- element._FCKContextMenu = this ;
-
-// element.onmouseup = FCKContextMenu_AttachedElement_OnMouseUp ;
-}
-
-function FCKContextMenu_Document_OnContextMenu( e )
-{
- var el = e.target ;
-
- while ( el )
- {
- if ( el._FCKContextMenu )
- {
- FCKTools.CancelEvent( e ) ;
- FCKContextMenu_AttachedElement_OnContextMenu( e, el._FCKContextMenu, el ) ;
- }
- el = el.parentNode ;
- }
-}
-
-function FCKContextMenu_AttachedElement_OnContextMenu( ev, fckContextMenu, el )
-{
-// var iButton = e ? e.which - 1 : event.button ;
-
-// if ( iButton != 2 )
-// return ;
-
- var eTarget = el || this ;
-
- if ( fckContextMenu.OnBeforeOpen )
- fckContextMenu.OnBeforeOpen.call( fckContextMenu, eTarget ) ;
-
- if ( fckContextMenu._MenuBlock.Count() == 0 )
- return false ;
-
- if ( fckContextMenu._Redraw )
- {
- fckContextMenu._MenuBlock.Create( fckContextMenu._Panel.MainNode ) ;
- fckContextMenu._Redraw = false ;
- }
-
- // This will avoid that the content of the context menu can be dragged in IE
- // as the content of the panel is recreated we need to do it every time
- FCKTools.DisableSelection( fckContextMenu._Panel.Document.body ) ;
-
- fckContextMenu._Panel.Show(
- ev.pageX || ev.screenX,
- ev.pageY || ev.screenY,
- ev.currentTarget || null
- ) ;
-
- return false ;
-}
-
-function FCKContextMenu_MenuBlock_OnClick( menuItem, contextMenu )
-{
- contextMenu._Panel.Hide() ;
- FCKTools.RunFunction( contextMenu.OnItemClick, contextMenu, menuItem ) ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js
deleted file mode 100644
index f7c7b1b247..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is a generic Document Fragment object. It is not intended to provide
- * the W3C implementation, but is a way to fix the missing of a real Document
- * Fragment in IE (where document.createDocumentFragment() returns a normal
- * document instead), giving a standard interface for it.
- * (IE Implementation)
- */
-
-var FCKDocumentFragment = function( parentDocument, baseDocFrag )
-{
- this.RootNode = baseDocFrag || parentDocument.createDocumentFragment() ;
-}
-
-FCKDocumentFragment.prototype =
-{
-
- // Append the contents of this Document Fragment to another element.
- AppendTo : function( targetNode )
- {
- targetNode.appendChild( this.RootNode ) ;
- },
-
- InsertAfterNode : function( existingNode )
- {
- FCKDomTools.InsertAfterNode( existingNode, this.RootNode ) ;
- }
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js
deleted file mode 100644
index 3ea539f0c9..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is a generic Document Fragment object. It is not intended to provide
- * the W3C implementation, but is a way to fix the missing of a real Document
- * Fragment in IE (where document.createDocumentFragment() returns a normal
- * document instead), giving a standard interface for it.
- * (IE Implementation)
- */
-
-var FCKDocumentFragment = function( parentDocument )
-{
- this._Document = parentDocument ;
- this.RootNode = parentDocument.createElement( 'div' ) ;
-}
-
-// Append the contents of this Document Fragment to another node.
-FCKDocumentFragment.prototype =
-{
-
- AppendTo : function( targetNode )
- {
- FCKDomTools.MoveChildren( this.RootNode, targetNode ) ;
- },
-
- AppendHtml : function( html )
- {
- var eTmpDiv = this._Document.createElement( 'div' ) ;
- eTmpDiv.innerHTML = html ;
- FCKDomTools.MoveChildren( eTmpDiv, this.RootNode ) ;
- },
-
- InsertAfterNode : function( existingNode )
- {
- var eRoot = this.RootNode ;
- var eLast ;
-
- while( ( eLast = eRoot.lastChild ) )
- FCKDomTools.InsertAfterNode( existingNode, eRoot.removeChild( eLast ) ) ;
- }
-} ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange.js
deleted file mode 100644
index 0471336cc3..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange.js
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Class for working with a selection range, much like the W3C DOM Range, but
- * it is not intented to be an implementation of the W3C interface.
- */
-
-var FCKDomRange = function( sourceWindow )
-{
- this.Window = sourceWindow ;
-}
-
-FCKDomRange.prototype =
-{
-
- _UpdateElementInfo : function()
- {
- if ( !this._Range )
- this.Release( true ) ;
- else
- {
- var eStart = this._Range.startContainer ;
- var eEnd = this._Range.endContainer ;
-
- var oElementPath = new FCKElementPath( eStart ) ;
- this.StartContainer = oElementPath.LastElement ;
- this.StartBlock = oElementPath.Block ;
- this.StartBlockLimit = oElementPath.BlockLimit ;
-
- if ( eStart != eEnd )
- oElementPath = new FCKElementPath( eEnd ) ;
- this.EndContainer = oElementPath.LastElement ;
- this.EndBlock = oElementPath.Block ;
- this.EndBlockLimit = oElementPath.BlockLimit ;
- }
- },
-
- CreateRange : function()
- {
- return new FCKW3CRange( this.Window.document ) ;
- },
-
- DeleteContents : function()
- {
- if ( this._Range )
- {
- this._Range.deleteContents() ;
- this._UpdateElementInfo() ;
- }
- },
-
- ExtractContents : function()
- {
- if ( this._Range )
- {
- var docFrag = this._Range.extractContents() ;
- this._UpdateElementInfo() ;
- return docFrag ;
- }
- },
-
- CheckIsCollapsed : function()
- {
- if ( this._Range )
- return this._Range.collapsed ;
- },
-
- Collapse : function( toStart )
- {
- if ( this._Range )
- this._Range.collapse( toStart ) ;
-
- this._UpdateElementInfo() ;
- },
-
- Clone : function()
- {
- var oClone = FCKTools.CloneObject( this ) ;
-
- if ( this._Range )
- oClone._Range = this._Range.cloneRange() ;
-
- return oClone ;
- },
-
- MoveToNodeContents : function( targetNode )
- {
- if ( !this._Range )
- this._Range = this.CreateRange() ;
-
- this._Range.selectNodeContents( targetNode ) ;
-
- this._UpdateElementInfo() ;
- },
-
- MoveToElementStart : function( targetElement )
- {
- this.SetStart(targetElement,1) ;
- this.SetEnd(targetElement,1) ;
- },
-
- // Moves to the first editing point inside a element. For example, in a
- // element tree like "
Text
", the start editing point
- // is "
^ Text
" (inside ).
- MoveToElementEditStart : function( targetElement )
- {
- var child ;
-
- while ( ( child = targetElement.firstChild ) && child.nodeType == 1 && FCKListsLib.EmptyElements[ child.nodeName.toLowerCase() ] == null )
- targetElement = child ;
-
- this.MoveToElementStart( targetElement ) ;
- },
-
- InsertNode : function( node )
- {
- if ( this._Range )
- this._Range.insertNode( node ) ;
- },
-
- CheckIsEmpty : function( ignoreEndBRs )
- {
- if ( this.CheckIsCollapsed() )
- return true ;
-
- // Inserts the contents of the range in a div tag.
- var eToolDiv = this.Window.document.createElement( 'div' ) ;
- this._Range.cloneContents().AppendTo( eToolDiv ) ;
-
- FCKDomTools.TrimNode( eToolDiv, ignoreEndBRs ) ;
-
- return ( eToolDiv.innerHTML.length == 0 ) ;
- },
-
- CheckStartOfBlock : function()
- {
- // Create a clone of the current range.
- var oTestRange = this.Clone() ;
-
- // Collapse it to its start point.
- oTestRange.Collapse( true ) ;
-
- // Move the start boundary to the start of the block.
- oTestRange.SetStart( oTestRange.StartBlock || oTestRange.StartBlockLimit, 1 ) ;
-
- var bIsStartOfBlock = oTestRange.CheckIsEmpty() ;
-
- oTestRange.Release() ;
-
- return bIsStartOfBlock ;
- },
-
- CheckEndOfBlock : function( refreshSelection )
- {
- // Create a clone of the current range.
- var oTestRange = this.Clone() ;
-
- // Collapse it to its end point.
- oTestRange.Collapse( false ) ;
-
- // Move the end boundary to the end of the block.
- oTestRange.SetEnd( oTestRange.EndBlock || oTestRange.EndBlockLimit, 2 ) ;
-
- var bIsEndOfBlock = oTestRange.CheckIsCollapsed() ;
-
- if ( !bIsEndOfBlock )
- {
- // Inserts the contents of the range in a div tag.
- var eToolDiv = this.Window.document.createElement( 'div' ) ;
- oTestRange._Range.cloneContents().AppendTo( eToolDiv ) ;
- FCKDomTools.TrimNode( eToolDiv, true ) ;
-
- // Find out if we are in an empty tree of inline elements, like
- bIsEndOfBlock = true ;
- var eLastChild = eToolDiv ;
- while ( ( eLastChild = eLastChild.lastChild ) )
- {
- // Check the following:
- // 1. Is there more than one node in the parents children?
- // 2. Is the node not an element node?
- // 3. Is it not a inline element.
- if ( eLastChild.previousSibling || eLastChild.nodeType != 1 || FCKListsLib.InlineChildReqElements[ eLastChild.nodeName.toLowerCase() ] == null )
- {
- // So we are not in the end of the range.
- bIsEndOfBlock = false ;
- break ;
- }
- }
- }
-
- oTestRange.Release() ;
-
- if ( refreshSelection )
- this.Select() ;
-
- return bIsEndOfBlock ;
- },
-
- CreateBookmark : function()
- {
- // Create the bookmark info (random IDs).
- var oBookmark =
- {
- StartId : 'fck_dom_range_start_' + (new Date()).valueOf() + '_' + Math.floor(Math.random()*1000),
- EndId : 'fck_dom_range_end_' + (new Date()).valueOf() + '_' + Math.floor(Math.random()*1000)
- } ;
-
- var oDoc = this.Window.document ;
- var eSpan ;
- var oClone ;
-
- // For collapsed ranges, add just the start marker.
- if ( !this.CheckIsCollapsed() )
- {
- eSpan = oDoc.createElement( 'span' ) ;
- eSpan.id = oBookmark.EndId ;
- eSpan.innerHTML = ' ' ; // For IE, it must have something inside, otherwise it may be removed during operations.
-
- oClone = this.Clone() ;
- oClone.Collapse( false ) ;
- oClone.InsertNode( eSpan ) ;
- }
-
- eSpan = oDoc.createElement( 'span' ) ;
- eSpan.id = oBookmark.StartId ;
- eSpan.innerHTML = ' ' ; // For IE, it must have something inside, otherwise it may be removed during operations.
-
- oClone = this.Clone() ;
- oClone.Collapse( true ) ;
- oClone.InsertNode( eSpan ) ;
-
- return oBookmark ;
- },
-
- MoveToBookmark : function( bookmark, preserveBookmark )
- {
- var oDoc = this.Window.document ;
-
- var eStartSpan = oDoc.getElementById( bookmark.StartId ) ;
- var eEndSpan = oDoc.getElementById( bookmark.EndId ) ;
-
- this.SetStart( eStartSpan, 3 ) ;
-
- if ( !preserveBookmark )
- FCKDomTools.RemoveNode( eStartSpan ) ;
-
- // If collapsed, the start span will not be available.
- if ( eEndSpan )
- {
- this.SetEnd( eEndSpan, 3 ) ;
-
- if ( !preserveBookmark )
- FCKDomTools.RemoveNode( eEndSpan ) ;
- }
- else
- this.Collapse( true ) ;
- },
-
- /*
- * Moves the position of the start boundary of the range to a specific position
- * relatively to a element.
- * @position:
- * 1 = After Start ^contents
- * 2 = Before End contents^
- * 3 = Before Start ^contents
- * 4 = After End contents^
- */
- SetStart : function( targetElement, position )
- {
- var oRange = this._Range ;
- if ( !oRange )
- oRange = this._Range = this.CreateRange() ;
-
- switch( position )
- {
- case 1 : // After Start ^contents
- oRange.setStart( targetElement, 0 ) ;
- break ;
-
- case 2 : // Before End contents^
- oRange.setStart( targetElement, targetElement.childNodes.length ) ;
- break ;
-
- case 3 : // Before Start ^contents
- oRange.setStartBefore( targetElement ) ;
- break ;
-
- case 4 : // After End contents^
- oRange.setStartAfter( targetElement ) ;
- }
- this._UpdateElementInfo() ;
- },
-
- /*
- * Moves the position of the start boundary of the range to a specific position
- * relatively to a element.
- * @position:
- * 1 = After Start ^contents
- * 2 = Before End contents^
- * 3 = Before Start ^contents
- * 4 = After End contents^
- */
- SetEnd : function( targetElement, position )
- {
- var oRange = this._Range ;
- if ( !oRange )
- oRange = this._Range = this.CreateRange() ;
-
- switch( position )
- {
- case 1 : // After Start ^contents
- oRange.setEnd( targetElement, 0 ) ;
- break ;
-
- case 2 : // Before End contents^
- oRange.setEnd( targetElement, targetElement.childNodes.length ) ;
- break ;
-
- case 3 : // Before Start ^contents
- oRange.setEndBefore( targetElement ) ;
- break ;
-
- case 4 : // After End contents^
- oRange.setEndAfter( targetElement ) ;
- }
- this._UpdateElementInfo() ;
- },
-
- Expand : function( unit )
- {
- var oNode, oSibling ;
-
- switch ( unit )
- {
- case 'block_contents' :
- if ( this.StartBlock )
- this.SetStart( this.StartBlock, 1 ) ;
- else
- {
- // Get the start node for the current range.
- oNode = this._Range.startContainer ;
-
- // If it is an element, get the current child node for the range (in the offset).
- // If the offset node is not available, the the first one.
- if ( oNode.nodeType == 1 )
- {
- if ( !( oNode = oNode.childNodes[ this._Range.startOffset ] ) )
- oNode = oNode.firstChild ;
- }
-
- // Not able to defined the current position.
- if ( !oNode )
- return ;
-
- // We must look for the left boundary, relative to the range
- // start, which is limited by a block element.
- while ( true )
- {
- oSibling = oNode.previousSibling ;
-
- if ( !oSibling )
- {
- // Continue if we are not yet in the block limit (inside a , for example).
- if ( oNode.parentNode != this.StartBlockLimit )
- oNode = oNode.parentNode ;
- else
- break ;
- }
- else if ( oSibling.nodeType != 1 || !(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test( oSibling.nodeName.toUpperCase() ) )
- {
- // Continue if the sibling is not a block tag.
- oNode = oSibling ;
- }
- else
- break ;
- }
-
- this._Range.setStartBefore( oNode ) ;
- }
-
- if ( this.EndBlock )
- this.SetEnd( this.EndBlock, 2 ) ;
- else
- {
- oNode = this._Range.endContainer ;
- if ( oNode.nodeType == 1 )
- oNode = oNode.childNodes[ this._Range.endOffset ] || oNode.lastChild ;
-
- if ( !oNode )
- return ;
-
- // We must look for the right boundary, relative to the range
- // end, which is limited by a block element.
- while ( true )
- {
- oSibling = oNode.nextSibling ;
-
- if ( !oSibling )
- {
- // Continue if we are not yet in the block limit (inide a , for example).
- if ( oNode.parentNode != this.EndBlockLimit )
- oNode = oNode.parentNode ;
- else
- break ;
- }
- else if ( oSibling.nodeType != 1 || !(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test( oSibling.nodeName.toUpperCase() ) )
- {
- // Continue if the sibling is not a block tag.
- oNode = oSibling ;
- }
- else
- break ;
- }
-
- this._Range.setEndAfter( oNode ) ;
- }
-
- this._UpdateElementInfo() ;
- }
- },
-
- Release : function( preserveWindow )
- {
- if ( !preserveWindow )
- this.Window = null ;
-
- this.StartContainer = null ;
- this.StartBlock = null ;
- this.StartBlockLimit = null ;
- this.EndContainer = null ;
- this.EndBlock = null ;
- this.EndBlockLimit = null ;
- this._Range = null ;
- }
-} ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange_gecko.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange_gecko.js
deleted file mode 100644
index d77520dc9b..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange_gecko.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Class for working with a selection range, much like the W3C DOM Range, but
- * it is not intented to be an implementation of the W3C interface.
- * (Gecko Implementation)
- */
-
-FCKDomRange.prototype.MoveToSelection = function()
-{
- this.Release( true ) ;
-
- var oSel = this.Window.getSelection() ;
-
- if ( oSel.rangeCount == 1 )
- {
- this._Range = FCKW3CRange.CreateFromRange( this.Window.document, oSel.getRangeAt(0) ) ;
- this._UpdateElementInfo() ;
- }
-}
-
-FCKDomRange.prototype.Select = function()
-{
- var oRange = this._Range ;
- if ( oRange )
- {
- var oDocRange = this.Window.document.createRange() ;
- oDocRange.setStart( oRange.startContainer, oRange.startOffset ) ;
-
- try
- {
- oDocRange.setEnd( oRange.endContainer, oRange.endOffset ) ;
- }
- catch ( e )
- {
- // There is a bug in Firefox implementation (it would be too easy
- // otherwhise). The new start can't be after the end (W3C says it can).
- // So, let's create a new range and collapse it to the desired point.
- if ( e.toString().Contains( 'NS_ERROR_ILLEGAL_VALUE' ) )
- {
- oRange.collapse( true ) ;
- oDocRange.setEnd( oRange.endContainer, oRange.endOffset ) ;
- }
- else
- throw( e ) ;
- }
-
- var oSel = this.Window.getSelection() ;
- oSel.removeAllRanges() ;
-
- // We must add a clone otherwise Firefox will have rendering issues.
- oSel.addRange( oDocRange ) ;
- }
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange_ie.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange_ie.js
deleted file mode 100644
index 8fd779df20..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckdomrange_ie.js
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Class for working with a selection range, much like the W3C DOM Range, but
- * it is not intented to be an implementation of the W3C interface.
- * (IE Implementation)
- */
-
-FCKDomRange.prototype.MoveToSelection = function()
-{
- this.Release( true ) ;
-
- this._Range = new FCKW3CRange( this.Window.document ) ;
-
- var oSel = this.Window.document.selection ;
-
- if ( oSel.type != 'Control' )
- {
- // Set the start boundary.
- eMarker = this._GetSelectionMarkerTag( true ) ;
- this._Range.setStart( eMarker.parentNode, FCKDomTools.GetIndexOf( eMarker ) ) ;
- eMarker.parentNode.removeChild( eMarker ) ;
-
- // Set the end boundary.
- var eMarker = this._GetSelectionMarkerTag( false ) ;
- this._Range.setEnd( eMarker.parentNode, FCKDomTools.GetIndexOf( eMarker ) ) ;
- eMarker.parentNode.removeChild( eMarker ) ;
-
- this._UpdateElementInfo() ;
- }
- else
- {
- var oControl = oSel.createRange().item(0) ;
-
- if ( oControl )
- {
- this._Range.setStartBefore( oControl ) ;
- this._Range.setEndAfter( oControl ) ;
- this._UpdateElementInfo() ;
- }
- }
-}
-
-FCKDomRange.prototype.Select = function()
-{
- if ( this._Range )
- {
- var bIsCollapsed = this.CheckIsCollapsed() ;
-
- // Create marker tags for the start and end boundaries.
- var eStartMarker = this._GetRangeMarkerTag( true ) ;
-
- if ( !bIsCollapsed )
- var eEndMarker = this._GetRangeMarkerTag( false ) ;
-
- // Create the main range which will be used for the selection.
- var oIERange = this.Window.document.body.createTextRange() ;
-
- // Position the range at the start boundary.
- oIERange.moveToElementText( eStartMarker ) ;
- oIERange.moveStart( 'character', 1 ) ;
-
- if ( !bIsCollapsed )
- {
- // Create a tool range for the end.
- var oIERangeEnd = this.Window.document.body.createTextRange() ;
-
- // Position the tool range at the end.
- oIERangeEnd.moveToElementText( eEndMarker ) ;
-
- // Move the end boundary of the main range to match the tool range.
- oIERange.setEndPoint( 'EndToEnd', oIERangeEnd ) ;
- oIERange.moveEnd( 'character', -1 ) ;
- }
-
- // Remove the markers (reset the position, because of the changes in the DOM tree).
- this._Range.setStartBefore( eStartMarker ) ;
- eStartMarker.parentNode.removeChild( eStartMarker ) ;
-
- if ( bIsCollapsed )
- {
- // The following trick is needed so IE makes collapsed selections
- // inside empty blocks visible (expands the block).
- try
- {
- oIERange.pasteHTML(' ') ;
- oIERange.moveStart( 'character', -1 ) ;
- }
- catch (e){}
- oIERange.select() ;
- oIERange.pasteHTML('') ;
- }
- else
- {
- this._Range.setEndBefore( eEndMarker ) ;
- eEndMarker.parentNode.removeChild( eEndMarker ) ;
- oIERange.select() ;
- }
- }
-}
-
-FCKDomRange.prototype._GetSelectionMarkerTag = function( toStart )
-{
- // Get a range for the start boundary.
- var oRange = this.Window.document.selection.createRange() ;
- oRange.collapse( toStart === true ) ;
-
- // Paste a marker element at the collapsed range and get it from the DOM.
- var sMarkerId = 'fck_dom_range_temp_' + (new Date()).valueOf() + '_' + Math.floor(Math.random()*1000) ;
- oRange.pasteHTML( '' ) ;
- return this.Window.document.getElementById( sMarkerId ) ;
-}
-
-FCKDomRange.prototype._GetRangeMarkerTag = function( toStart )
-{
- // Get a range for the start boundary.
- var oRange = this._Range ;
-
- // insertNode() will add the node at the beginning of the Range, updating
- // the endOffset if necessary. So, we can work with the current range in this case.
- if ( !toStart )
- {
- oRange = oRange.cloneRange() ;
- oRange.collapse( toStart === true ) ;
- }
-
- var eSpan = this.Window.document.createElement( 'span' ) ;
- eSpan.innerHTML = ' ' ;
- oRange.insertNode( eSpan ) ;
-
- return eSpan ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckeditingarea.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckeditingarea.js
deleted file mode 100644
index 4d2ee09782..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckeditingarea.js
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKEditingArea Class: renders an editable area.
- */
-
-/**
- * @constructor
- * @param {String} targetElement The element that will hold the editing area. Any child element present in the target will be deleted.
- */
-var FCKEditingArea = function( targetElement )
-{
- this.TargetElement = targetElement ;
- this.Mode = FCK_EDITMODE_WYSIWYG ;
-
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( this, FCKEditingArea_Cleanup ) ;
-}
-
-
-/**
- * @param {String} html The complete HTML for the page, including DOCTYPE and the tag.
- */
-FCKEditingArea.prototype.Start = function( html, secondCall )
-{
- var eTargetElement = this.TargetElement ;
- var oTargetDocument = FCKTools.GetElementDocument( eTargetElement ) ;
-
- // Remove all child nodes from the target.
- while( eTargetElement.childNodes.length > 0 )
- eTargetElement.removeChild( eTargetElement.childNodes[0] ) ;
-
- if ( this.Mode == FCK_EDITMODE_WYSIWYG )
- {
- // Create the editing area IFRAME.
- var oIFrame = this.IFrame = oTargetDocument.createElement( 'iframe' ) ;
- oIFrame.src = 'javascript:void(0)' ;
- oIFrame.frameBorder = 0 ;
- oIFrame.width = oIFrame.height = '100%' ;
-
- // Append the new IFRAME to the target.
- eTargetElement.appendChild( oIFrame ) ;
-
- // IE has a bug with the tag... it must have a closer,
- // otherwise the all sucessive tags will be set as children nodes of the .
- if ( FCKBrowserInfo.IsIE )
- html = html.replace( /(]*?)\s*\/?>(?!\s*<\/base>)/gi, '$1>' ) ;
- else if ( !secondCall )
- {
- // If nothing in the body, place a BOGUS tag so the cursor will appear.
- if ( FCKBrowserInfo.IsGecko )
- html = html.replace( /(]*>)\s*(<\/body>)/i, '$1' + GECKO_BOGUS + '$2' ) ;
-
- // Gecko moves some tags out of the body to the head, so we must use
- // innerHTML to set the body contents (SF BUG 1526154).
-
- // Extract the BODY contents from the html.
- var oMatch = html.match( FCKRegexLib.BodyContents ) ;
-
- if ( oMatch )
- {
- html =
- oMatch[1] + // This is the HTML until the tag, inclusive.
- ' ' +
- oMatch[3] ; // This is the HTML from the tag, inclusive.
-
- this._BodyHTML = oMatch[2] ; // This is the BODY tag contents.
- }
- else
- this._BodyHTML = html ; // Invalid HTML input.
- }
-
- // Get the window and document objects used to interact with the newly created IFRAME.
- this.Window = oIFrame.contentWindow ;
-
- // IE: Avoid JavaScript errors thrown by the editing are source (like tags events).
- // TODO: This error handler is not being fired.
- // this.Window.onerror = function() { alert( 'Error!' ) ; return true ; }
-
- var oDoc = this.Document = this.Window.document ;
-
- oDoc.open() ;
- oDoc.write( html ) ;
- oDoc.close() ;
-
- // Firefox 1.0.x is buggy... ohh yes... so let's do it two times and it
- // will magicaly work.
- if ( FCKBrowserInfo.IsGecko10 && !secondCall )
- {
- this.Start( html, true ) ;
- return ;
- }
-
- this.Window._FCKEditingArea = this ;
-
- // FF 1.0.x is buggy... we must wait a lot to enable editing because
- // sometimes the content simply disappears, for example when pasting
- // "bla1!!bla2" in the source and then switching
- // back to design.
- if ( FCKBrowserInfo.IsGecko10 )
- this.Window.setTimeout( FCKEditingArea_CompleteStart, 500 ) ;
- else
- FCKEditingArea_CompleteStart.call( this.Window ) ;
- }
- else
- {
- var eTextarea = this.Textarea = oTargetDocument.createElement( 'textarea' ) ;
- eTextarea.className = 'SourceField' ;
- eTextarea.dir = 'ltr' ;
- eTextarea.style.width = eTextarea.style.height = '100%' ;
- eTextarea.style.border = 'none' ;
- eTargetElement.appendChild( eTextarea ) ;
-
- eTextarea.value = html ;
-
- // Fire the "OnLoad" event.
- FCKTools.RunFunction( this.OnLoad ) ;
- }
-}
-
-// "this" here is FCKEditingArea.Window
-function FCKEditingArea_CompleteStart()
-{
- // Of Firefox, the DOM takes a little to become available. So we must wait for it in a loop.
- if ( !this.document.body )
- {
- this.setTimeout( FCKEditingArea_CompleteStart, 50 ) ;
- return ;
- }
-
- var oEditorArea = this._FCKEditingArea ;
- oEditorArea.MakeEditable() ;
-
- // Fire the "OnLoad" event.
- FCKTools.RunFunction( oEditorArea.OnLoad ) ;
-}
-
-FCKEditingArea.prototype.MakeEditable = function()
-{
- var oDoc = this.Document ;
-
- if ( FCKBrowserInfo.IsIE )
- {
- oDoc.body.contentEditable = true ;
-
- /* The following commands don't throw errors, but have no effect.
- oDoc.execCommand( 'AutoDetect', false, false ) ;
- oDoc.execCommand( 'KeepSelection', false, true ) ;
- */
- }
- else
- {
- try
- {
- // Disable Firefox 2 Spell Checker.
- oDoc.body.spellcheck = ( this.FFSpellChecker !== false ) ;
-
- if ( this._BodyHTML )
- {
- oDoc.body.innerHTML = this._BodyHTML ;
- this._BodyHTML = null ;
- }
-
- oDoc.designMode = 'on' ;
-
- // Tell Gecko to use or not the tag for the bold, italic and underline.
- try
- {
- oDoc.execCommand( 'styleWithCSS', false, FCKConfig.GeckoUseSPAN ) ;
- }
- catch (e)
- {
- // As evidenced here, useCSS is deprecated in favor of styleWithCSS:
- // http://www.mozilla.org/editor/midas-spec.html
- oDoc.execCommand( 'useCSS', false, !FCKConfig.GeckoUseSPAN ) ;
- }
-
- // Analysing Firefox 1.5 source code, it seams that there is support for a
- // "insertBrOnReturn" command. Applying it gives no error, but it doesn't
- // gives the same behavior that you have with IE. It works only if you are
- // already inside a paragraph and it doesn't render correctly in the first enter.
- // oDoc.execCommand( 'insertBrOnReturn', false, false ) ;
-
- // Tell Gecko (Firefox 1.5+) to enable or not live resizing of objects (by Alfonso Martinez)
- oDoc.execCommand( 'enableObjectResizing', false, !FCKConfig.DisableObjectResizing ) ;
-
- // Disable the standard table editing features of Firefox.
- oDoc.execCommand( 'enableInlineTableEditing', false, !FCKConfig.DisableFFTableHandles ) ;
- }
- catch (e) {}
- }
-}
-
-FCKEditingArea.prototype.Focus = function()
-{
- try
- {
- if ( this.Mode == FCK_EDITMODE_WYSIWYG )
- {
- // The following check is important to avoid IE entering in a focus loop. Ref:
- // http://sourceforge.net/tracker/index.php?func=detail&aid=1567060&group_id=75348&atid=543653
- if ( FCKBrowserInfo.IsIE && this.Document.hasFocus() )
- return ;
-
- if ( FCKBrowserInfo.IsSafari )
- this.IFrame.focus() ;
- else
- {
- this.Window.focus() ;
- }
- }
- else
- {
- var oDoc = FCKTools.GetElementDocument( this.Textarea ) ;
- if ( (!oDoc.hasFocus || oDoc.hasFocus() ) && oDoc.activeElement == this.Textarea )
- return ;
-
- this.Textarea.focus() ;
- }
- }
- catch(e) {}
-}
-
-function FCKEditingArea_Cleanup()
-{
- this.TargetElement = null ;
- this.IFrame = null ;
- this.Document = null ;
- this.Textarea = null ;
-
- if ( this.Window )
- {
- this.Window._FCKEditingArea = null ;
- this.Window = null ;
- }
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckelementpath.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckelementpath.js
deleted file mode 100644
index d5ff6519fa..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckelementpath.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Manages the DOM anscensors element list of a specific DOM node
- * (limited to body, inclusive).
- */
-
-// TODO: Implement IE cleanup.
-
-var FCKElementPath = function( lastNode )
-{
- var eBlock = null ;
- var eBlockLimit = null ;
-
- var aElements = new Array() ;
-
- var e = lastNode ;
- while ( e )
- {
- if ( e.nodeType == 1 )
- {
- if ( !this.LastElement )
- this.LastElement = e ;
-
- var sElementName = e.nodeName.toLowerCase() ;
-
- if ( !eBlockLimit )
- {
- if ( !eBlock && FCKListsLib.PathBlockElements[ sElementName ] != null )
- eBlock = e ;
-
- if ( FCKListsLib.PathBlockLimitElements[ sElementName ] != null )
- eBlockLimit = e ;
- }
-
- aElements.push( e ) ;
-
- if ( sElementName == 'body' )
- break ;
- }
- e = e.parentNode ;
- }
-
- this.Block = eBlock ;
- this.BlockLimit = eBlockLimit ;
- this.Elements = aElements ;
-}
-
-
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckenterkey.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckenterkey.js
deleted file mode 100644
index eaed75867a..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckenterkey.js
+++ /dev/null
@@ -1,556 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Controls the [Enter] keystroke behavior in a document.
- */
-
-/*
- * Constructor.
- * @targetDocument : the target document.
- * @enterMode : the behavior for the keystroke.
- * May be "p", "div", "br". Default is "p".
- * @shiftEnterMode : the behavior for the + keystroke.
- * May be "p", "div", "br". Defaults to "br".
- */
-var FCKEnterKey = function( targetWindow, enterMode, shiftEnterMode )
-{
- this.Window = targetWindow ;
- this.EnterMode = enterMode || 'p' ;
- this.ShiftEnterMode = shiftEnterMode || 'br' ;
-
- // Setup the Keystroke Handler.
- var oKeystrokeHandler = new FCKKeystrokeHandler( false ) ;
- oKeystrokeHandler._EnterKey = this ;
- oKeystrokeHandler.OnKeystroke = FCKEnterKey_OnKeystroke ;
-
- oKeystrokeHandler.SetKeystrokes( [
- [ 13 , 'Enter' ],
- [ SHIFT + 13, 'ShiftEnter' ],
- [ 8 , 'Backspace' ],
- [ 46 , 'Delete' ]
- ] ) ;
-
- oKeystrokeHandler.AttachToElement( targetWindow.document ) ;
-}
-
-
-function FCKEnterKey_OnKeystroke( keyCombination, keystrokeValue )
-{
- var oEnterKey = this._EnterKey ;
-
- try
- {
- switch ( keystrokeValue )
- {
- case 'Enter' :
- return oEnterKey.DoEnter() ;
- break ;
-
- case 'ShiftEnter' :
- return oEnterKey.DoShiftEnter() ;
- break ;
-
- case 'Backspace' :
- return oEnterKey.DoBackspace() ;
- break ;
-
- case 'Delete' :
- return oEnterKey.DoDelete() ;
- }
- }
- catch (e)
- {
- // If for any reason we are not able to handle it, go
- // ahead with the browser default behavior.
- }
-
- return false ;
-}
-
-/*
- * Executes the key behavior.
- */
-FCKEnterKey.prototype.DoEnter = function( mode, hasShift )
-{
- this._HasShift = ( hasShift === true ) ;
-
- var sMode = mode || this.EnterMode ;
-
- if ( sMode == 'br' )
- return this._ExecuteEnterBr() ;
- else
- return this._ExecuteEnterBlock( sMode ) ;
-}
-
-/*
- * Executes the + key behavior.
- */
-FCKEnterKey.prototype.DoShiftEnter = function()
-{
- return this.DoEnter( this.ShiftEnterMode, true ) ;
-}
-
-/*
- * Executes the key behavior.
- */
-FCKEnterKey.prototype.DoBackspace = function()
-{
- var bCustom = false ;
-
- // Get the current selection.
- var oRange = new FCKDomRange( this.Window ) ;
- oRange.MoveToSelection() ;
-
- if ( !oRange.CheckIsCollapsed() )
- return false ;
-
- var oStartBlock = oRange.StartBlock ;
- var oEndBlock = oRange.EndBlock ;
-
- // The selection boundaries must be in the same "block limit" element
- if ( oRange.StartBlockLimit == oRange.EndBlockLimit && oStartBlock && oEndBlock )
- {
- if ( !oRange.CheckIsCollapsed() )
- {
- var bEndOfBlock = oRange.CheckEndOfBlock() ;
-
- oRange.DeleteContents() ;
-
- if ( oStartBlock != oEndBlock )
- {
- oRange.SetStart(oEndBlock,1) ;
- oRange.SetEnd(oEndBlock,1) ;
-
-// if ( bEndOfBlock )
-// oEndBlock.parentNode.removeChild( oEndBlock ) ;
- }
-
- oRange.Select() ;
-
- bCustom = ( oStartBlock == oEndBlock ) ;
- }
-
- if ( oRange.CheckStartOfBlock() )
- {
- var oCurrentBlock = oRange.StartBlock ;
-
- var ePrevious = FCKDomTools.GetPreviousSourceElement( oCurrentBlock, true, [ 'BODY', oRange.StartBlockLimit.nodeName ], ['UL','OL'] ) ;
-
- bCustom = this._ExecuteBackspace( oRange, ePrevious, oCurrentBlock ) ;
- }
- else if ( FCKBrowserInfo.IsGecko )
- {
- // Firefox looses the selection when executing CheckStartOfBlock, so we must reselect.
- oRange.Select() ;
- }
- }
-
- oRange.Release() ;
- return bCustom ;
-}
-
-FCKEnterKey.prototype._ExecuteBackspace = function( range, previous, currentBlock )
-{
- var bCustom = false ;
-
- // We could be in a nested LI.
- if ( !previous && currentBlock.nodeName.IEquals( 'LI' ) && currentBlock.parentNode.parentNode.nodeName.IEquals( 'LI' ) )
- {
- this._OutdentWithSelection( currentBlock, range ) ;
- return true ;
- }
-
- if ( previous && previous.nodeName.IEquals( 'LI' ) )
- {
- var oNestedList = FCKDomTools.GetLastChild( previous, ['UL','OL'] ) ;
-
- while ( oNestedList )
- {
- previous = FCKDomTools.GetLastChild( oNestedList, 'LI' ) ;
- oNestedList = FCKDomTools.GetLastChild( previous, ['UL','OL'] ) ;
- }
- }
-
- if ( previous && currentBlock )
- {
- // If we are in a LI, and the previous block is not an LI, we must outdent it.
- if ( currentBlock.nodeName.IEquals( 'LI' ) && !previous.nodeName.IEquals( 'LI' ) )
- {
- this._OutdentWithSelection( currentBlock, range ) ;
- return true ;
- }
-
- // Take a reference to the parent for post processing cleanup.
- var oCurrentParent = currentBlock.parentNode ;
-
- var sPreviousName = previous.nodeName.toLowerCase() ;
- if ( FCKListsLib.EmptyElements[ sPreviousName ] != null || sPreviousName == 'table' )
- {
- FCKDomTools.RemoveNode( previous ) ;
- bCustom = true ;
- }
- else
- {
- // Remove the current block.
- FCKDomTools.RemoveNode( currentBlock ) ;
-
- // Remove any empty tag left by the block removal.
- while ( oCurrentParent.innerHTML.Trim().length == 0 )
- {
- var oParent = oCurrentParent.parentNode ;
- oParent.removeChild( oCurrentParent ) ;
- oCurrentParent = oParent ;
- }
-
- // Cleanup the previous and the current elements.
- FCKDomTools.TrimNode( currentBlock ) ;
- FCKDomTools.TrimNode( previous ) ;
-
- // Append a space to the previous.
- // Maybe it is not always desirable...
- // previous.appendChild( this.Window.document.createTextNode( ' ' ) ) ;
-
- // Set the range to the end of the previous element and bookmark it.
- range.SetStart( previous, 2 ) ;
- range.Collapse( true ) ;
- var oBookmark = range.CreateBookmark() ;
-
- // Move the contents of the block to the previous element and delete it.
- FCKDomTools.MoveChildren( currentBlock, previous ) ;
-
- // Place the selection at the bookmark.
- range.MoveToBookmark( oBookmark ) ;
- range.Select() ;
-
- bCustom = true ;
- }
- }
-
- return bCustom ;
-}
-
-/*
- * Executes the key behavior.
- */
-FCKEnterKey.prototype.DoDelete = function()
-{
- // The has the same effect as the , so we have the same
- // results if we just move to the next block and apply the same logic.
-
- var bCustom = false ;
-
- // Get the current selection.
- var oRange = new FCKDomRange( this.Window ) ;
- oRange.MoveToSelection() ;
-
- // There is just one special case for collapsed selections at the end of a block.
- if ( oRange.CheckIsCollapsed() && oRange.CheckEndOfBlock( FCKBrowserInfo.IsGecko ) )
- {
- var oCurrentBlock = oRange.StartBlock ;
-
- var eNext = FCKDomTools.GetNextSourceElement( oCurrentBlock, true, [ oRange.StartBlockLimit.nodeName ], ['UL','OL'] ) ;
-
- bCustom = this._ExecuteBackspace( oRange, oCurrentBlock, eNext ) ;
- }
-
- oRange.Release() ;
- return bCustom ;
-}
-
-FCKEnterKey.prototype._ExecuteEnterBlock = function( blockTag, range )
-{
- // Get the current selection.
- var oRange = range || new FCKDomRange( this.Window ) ;
-
- // If we don't have a range, move it to the selection.
- if ( !range )
- oRange.MoveToSelection() ;
-
- // The selection boundaries must be in the same "block limit" element.
- if ( oRange.StartBlockLimit == oRange.EndBlockLimit )
- {
- // If the StartBlock or EndBlock are not available (for text without a
- // block tag), we must fix them, by moving the text to a block.
- if ( !oRange.StartBlock )
- this._FixBlock( oRange, true, blockTag ) ;
-
- if ( !oRange.EndBlock )
- this._FixBlock( oRange, false, blockTag ) ;
-
- // Get the current blocks.
- var eStartBlock = oRange.StartBlock ;
- var eEndBlock = oRange.EndBlock ;
-
- // Delete the current selection.
- if ( !oRange.CheckIsEmpty() )
- oRange.DeleteContents() ;
-
- // If the selection boundaries are in the same block element
- if ( eStartBlock == eEndBlock )
- {
- var eNewBlock ;
-
- var bIsStartOfBlock = oRange.CheckStartOfBlock() ;
- var bIsEndOfBlock = oRange.CheckEndOfBlock() ;
-
- if ( bIsStartOfBlock && !bIsEndOfBlock )
- {
- eNewBlock = eStartBlock.cloneNode(false) ;
-
- if ( FCKBrowserInfo.IsGeckoLike )
- eNewBlock.innerHTML = GECKO_BOGUS ;
-
- // Place the new block before the current block element.
- eStartBlock.parentNode.insertBefore( eNewBlock, eStartBlock ) ;
-
- // This is tricky, but to make the new block visible correctly
- // we must select it.
- if ( FCKBrowserInfo.IsIE )
- {
- // Move the selection to the new block.
- oRange.MoveToNodeContents( eNewBlock ) ;
-
- oRange.Select() ;
- }
-
- // Move the selection to the new block.
- oRange.MoveToElementEditStart( eStartBlock ) ;
- }
- else
- {
- // Check if the selection is at the end of the block.
- if ( bIsEndOfBlock )
- {
- var sStartBlockTag = eStartBlock.tagName.toUpperCase() ;
-
- // If the entire block is selected, and we are in a LI, let's decrease its indentation.
- if ( bIsStartOfBlock && sStartBlockTag == 'LI' )
- {
- this._OutdentWithSelection( eStartBlock, oRange ) ;
- oRange.Release() ;
- return true ;
- }
- else
- {
- // If is a header tag, or we are in a Shift+Enter (#77),
- // create a new block element.
- if ( (/^H[1-6]$/).test( sStartBlockTag ) || this._HasShift )
- eNewBlock = this.Window.document.createElement( blockTag ) ;
- // Otherwise, duplicate the current block.
- else
- {
- eNewBlock = eStartBlock.cloneNode(false) ;
- this._RecreateEndingTree( eStartBlock, eNewBlock ) ;
- }
-
- if ( FCKBrowserInfo.IsGeckoLike )
- {
- eNewBlock.innerHTML = GECKO_BOGUS ;
-
- // If the entire block is selected, let's add a bogus in the start block.
- if ( bIsStartOfBlock )
- eStartBlock.innerHTML = GECKO_BOGUS ;
- }
- }
- }
- else
- {
- // Extract the contents of the block from the selection point to the end of its contents.
- oRange.SetEnd( eStartBlock, 2 ) ;
- var eDocFrag = oRange.ExtractContents() ;
-
- // Duplicate the block element after it.
- eNewBlock = eStartBlock.cloneNode(false) ;
-
- // It could be that we are in a LI with a child UL/OL. Insert a bogus to give us space to type.
- FCKDomTools.TrimNode( eDocFrag.RootNode ) ;
- if ( eDocFrag.RootNode.firstChild.nodeType == 1 && eDocFrag.RootNode.firstChild.tagName.toUpperCase().Equals( 'UL', 'OL' ) )
- eNewBlock.innerHTML = GECKO_BOGUS ;
-
- // Place the extracted contents in the duplicated block.
- eDocFrag.AppendTo( eNewBlock ) ;
-
- if ( FCKBrowserInfo.IsGecko )
- {
- // In Gecko, the last child node must be a bogus .
- this._AppendBogusBr( eStartBlock ) ;
- this._AppendBogusBr( eNewBlock ) ;
- }
- }
-
- if ( eNewBlock )
- {
- FCKDomTools.InsertAfterNode( eStartBlock, eNewBlock ) ;
-
- // Move the selection to the new block.
- oRange.MoveToElementEditStart( eNewBlock ) ;
-
- if ( FCKBrowserInfo.IsGecko )
- eNewBlock.scrollIntoView( false ) ;
- }
- }
- }
- else
- {
- // Move the selection to the end block.
- oRange.MoveToElementEditStart( eEndBlock ) ;
- }
-
- oRange.Select() ;
- }
-
- // Release the resources used by the range.
- oRange.Release() ;
-
- return true ;
-}
-
-FCKEnterKey.prototype._ExecuteEnterBr = function( blockTag )
-{
- // Get the current selection.
- var oRange = new FCKDomRange( this.Window ) ;
- oRange.MoveToSelection() ;
-
- // The selection boundaries must be in the same "block limit" element.
- if ( oRange.StartBlockLimit == oRange.EndBlockLimit )
- {
- oRange.DeleteContents() ;
-
- // Get the new selection (it is collapsed at this point).
- oRange.MoveToSelection() ;
-
- var bIsStartOfBlock = oRange.CheckStartOfBlock() ;
- var bIsEndOfBlock = oRange.CheckEndOfBlock() ;
-
- var sStartBlockTag = oRange.StartBlock ? oRange.StartBlock.tagName.toUpperCase() : '' ;
-
- var bHasShift = this._HasShift ;
-
- if ( !bHasShift && sStartBlockTag == 'LI' )
- return this._ExecuteEnterBlock( null, oRange ) ;
-
- // If we are at the end of a header block.
- if ( !bHasShift && bIsEndOfBlock && (/^H[1-6]$/).test( sStartBlockTag ) )
- {
- FCKDebug.Output( 'BR - Header' ) ;
-
- // Insert a BR after the current paragraph.
- FCKDomTools.InsertAfterNode( oRange.StartBlock, this.Window.document.createElement( 'br' ) ) ;
-
- // The space is required by Gecko only to make the cursor blink.
- if ( FCKBrowserInfo.IsGecko )
- FCKDomTools.InsertAfterNode( oRange.StartBlock, this.Window.document.createTextNode( '' ) ) ;
-
- // IE and Gecko have different behaviors regarding the position.
- oRange.SetStart( oRange.StartBlock.nextSibling, FCKBrowserInfo.IsIE ? 3 : 1 ) ;
- }
- else
- {
- FCKDebug.Output( 'BR - No Header' ) ;
-
- var eBr = this.Window.document.createElement( 'br' ) ;
-
- oRange.InsertNode( eBr ) ;
-
- // The space is required by Gecko only to make the cursor blink.
- if ( FCKBrowserInfo.IsGecko )
- FCKDomTools.InsertAfterNode( eBr, this.Window.document.createTextNode( '' ) ) ;
-
- // If we are at the end of a block, we must be sure the bogus node is available in that block.
- if ( bIsEndOfBlock && FCKBrowserInfo.IsGecko )
- this._AppendBogusBr( eBr.parentNode ) ;
-
- if ( FCKBrowserInfo.IsIE )
- oRange.SetStart( eBr, 4 ) ;
- else
- oRange.SetStart( eBr.nextSibling, 1 ) ;
-
- }
-
- // This collapse guarantees the cursor will be blinking.
- oRange.Collapse( true ) ;
-
- oRange.Select() ;
- }
-
- // Release the resources used by the range.
- oRange.Release() ;
-
- return true ;
-}
-
-// Transform a block without a block tag in a valid block (orphan text in the body or td, usually).
-FCKEnterKey.prototype._FixBlock = function( range, isStart, blockTag )
-{
- // Bookmark the range so we can restore it later.
- var oBookmark = range.CreateBookmark() ;
-
- // Collapse the range to the requested ending boundary.
- range.Collapse( isStart ) ;
-
- // Expands it to the block contents.
- range.Expand( 'block_contents' ) ;
-
- // Create the fixed block.
- var oFixedBlock = this.Window.document.createElement( blockTag ) ;
-
- // Move the contents of the temporary range to the fixed block.
- range.ExtractContents().AppendTo( oFixedBlock ) ;
- FCKDomTools.TrimNode( oFixedBlock ) ;
-
- // Insert the fixed block into the DOM.
- range.InsertNode( oFixedBlock ) ;
-
- // Move the range back to the bookmarked place.
- range.MoveToBookmark( oBookmark ) ;
-}
-
-// Appends a bogus at the end of the element, if not yet available.
-FCKEnterKey.prototype._AppendBogusBr = function( element )
-{
- var eLastChild = element.getElementsByTagName('br') ;
-
- if ( eLastChild )
- eLastChild = eLastChild[ eLastChild.legth - 1 ] ;
-
- if ( !eLastChild || eLastChild.getAttribute( 'type', 2 ) != '_moz' )
- element.appendChild( FCKTools.CreateBogusBR( this.Window.document ) ) ;
-}
-
-// Recreate the elements tree at the end of the source block, at the beginning
-// of the target block. Eg.:
-// If source =
Some sample text
then target =
-// If source =
Some sample text
then target =
-FCKEnterKey.prototype._RecreateEndingTree = function( source, target )
-{
- while ( ( source = source.lastChild ) && source.nodeType == 1 && FCKListsLib.InlineChildReqElements[ source.nodeName.toLowerCase() ] != null )
- target = target.insertBefore( source.cloneNode( false ), target.firstChild ) ;
-}
-
-// Outdents a LI, maintaining the seletion defined on a range.
-FCKEnterKey.prototype._OutdentWithSelection = function( li, range )
-{
- var oBookmark = range.CreateBookmark() ;
-
- FCKListHandler.OutdentListItem( li ) ;
-
- range.MoveToBookmark( oBookmark ) ;
- range.Select() ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckevents.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckevents.js
deleted file mode 100644
index 45e84a8ae9..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckevents.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKEvents Class: used to handle events is a advanced way.
- */
-
-var FCKEvents = function( eventsOwner )
-{
- this.Owner = eventsOwner ;
- this._RegisteredEvents = new Object() ;
-}
-
-FCKEvents.prototype.AttachEvent = function( eventName, functionPointer )
-{
- var aTargets ;
-
- if ( !( aTargets = this._RegisteredEvents[ eventName ] ) )
- this._RegisteredEvents[ eventName ] = [ functionPointer ] ;
- else
- aTargets.push( functionPointer ) ;
-}
-
-FCKEvents.prototype.FireEvent = function( eventName, params )
-{
- var bReturnValue = true ;
-
- var oCalls = this._RegisteredEvents[ eventName ] ;
-
- if ( oCalls )
- {
- for ( var i = 0 ; i < oCalls.length ; i++ )
- bReturnValue = ( oCalls[ i ]( this.Owner, params ) && bReturnValue ) ;
- }
-
- return bReturnValue ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckicon.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckicon.js
deleted file mode 100644
index f053f9da61..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckicon.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKIcon Class: renders an icon from a single image, a strip or even a
- * spacer.
- */
-
-var FCKIcon = function( iconPathOrStripInfoArray )
-{
- var sTypeOf = iconPathOrStripInfoArray ? typeof( iconPathOrStripInfoArray ) : 'undefined' ;
- switch ( sTypeOf )
- {
- case 'number' :
- this.Path = FCKConfig.SkinPath + 'fck_strip.gif' ;
- this.Size = 16 ;
- this.Position = iconPathOrStripInfoArray ;
- break ;
-
- case 'undefined' :
- this.Path = FCK_SPACER_PATH ;
- break ;
-
- case 'string' :
- this.Path = iconPathOrStripInfoArray ;
- break ;
-
- default :
- // It is an array in the format [ StripFilePath, IconSize, IconPosition ]
- this.Path = iconPathOrStripInfoArray[0] ;
- this.Size = iconPathOrStripInfoArray[1] ;
- this.Position = iconPathOrStripInfoArray[2] ;
- }
-}
-
-FCKIcon.prototype.CreateIconElement = function( document )
-{
- var eIcon, eIconImage ;
-
- if ( this.Position ) // It is using an icons strip image.
- {
- var sPos = '-' + ( ( this.Position - 1 ) * this.Size ) + 'px' ;
-
- if ( FCKBrowserInfo.IsIE )
- {
- //
-
- eIcon = document.createElement( 'DIV' ) ;
-
- eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ;
- eIconImage.src = this.Path ;
- eIconImage.style.top = sPos ;
- }
- else
- {
- //
-
- eIcon = document.createElement( 'IMG' ) ;
- eIcon.src = FCK_SPACER_PATH ;
- eIcon.style.backgroundPosition = '0px ' + sPos ;
- eIcon.style.backgroundImage = 'url(' + this.Path + ')' ;
- }
- }
- else // It is using a single icon image.
- {
- // This is not working well with IE. See notes bellow.
- //
-// eIcon = document.createElement( 'IMG' ) ;
-// eIcon.src = this.Path ? this.Path : FCK_SPACER_PATH ;
-
- // IE makes the button 1px higher if using the directly, so we
- // are changing to the
system to clip the image correctly.
- eIcon = document.createElement( 'DIV' ) ;
-
- eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ;
- eIconImage.src = this.Path ? this.Path : FCK_SPACER_PATH ;
- }
-
- eIcon.className = 'TB_Button_Image' ;
-
- return eIcon ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckiecleanup.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckiecleanup.js
deleted file mode 100644
index 5468e1a295..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckiecleanup.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKIECleanup Class: a generic class used as a tool to remove IE leaks.
- */
-
-var FCKIECleanup = function( attachWindow )
-{
- // If the attachWindow already have a cleanup object, jusgt use that one.
- if ( attachWindow._FCKCleanupObj )
- this.Items = attachWindow._FCKCleanupObj.Items ;
- else
- {
- this.Items = new Array() ;
-
- attachWindow._FCKCleanupObj = this ;
- FCKTools.AddEventListenerEx( attachWindow, 'unload', FCKIECleanup_Cleanup ) ;
-// attachWindow.attachEvent( 'onunload', FCKIECleanup_Cleanup ) ;
- }
-}
-
-FCKIECleanup.prototype.AddItem = function( dirtyItem, cleanupFunction )
-{
- this.Items.push( [ dirtyItem, cleanupFunction ] ) ;
-}
-
-function FCKIECleanup_Cleanup()
-{
- if ( !this._FCKCleanupObj )
- return ;
-
- var aItems = this._FCKCleanupObj.Items ;
-
- while ( aItems.length > 0 )
- {
-
- // It is important to remove from the end to the beginning (pop()),
- // because of the order things get created in the editor. In the code,
- // elements in deeper position in the DOM are placed at the end of the
- // cleanup function, so we must cleanup then first, otherwise IE could
- // throw some crazy memory errors (IE bug).
- var oItem = aItems.pop() ;
- if ( oItem )
- oItem[1].call( oItem[0] ) ;
- }
-
- this._FCKCleanupObj = null ;
-
- if ( CollectGarbage )
- CollectGarbage() ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckimagepreloader.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckimagepreloader.js
deleted file mode 100644
index 3e35697c10..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckimagepreloader.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Preload a list of images, firing an event when complete.
- */
-
-var FCKImagePreloader = function()
-{
- this._Images = new Array() ;
-}
-
-FCKImagePreloader.prototype =
-{
- AddImages : function( images )
- {
- if ( typeof( images ) == 'string' )
- images = images.split( ';' ) ;
-
- this._Images = this._Images.concat( images ) ;
- },
-
- Start : function()
- {
- var aImages = this._Images ;
- this._PreloadCount = aImages.length ;
-
- for ( var i = 0 ; i < aImages.length ; i++ )
- {
- var eImg = document.createElement( 'img' ) ;
- eImg.onload = eImg.onerror = _FCKImagePreloader_OnImage ;
- eImg._FCKImagePreloader = this ;
- eImg.src = aImages[i] ;
-
- _FCKImagePreloader_ImageCache.push( eImg ) ;
- }
- }
-};
-
-// All preloaded images must be placed in a global array, otherwise the preload
-// magic will not happen.
-var _FCKImagePreloader_ImageCache = new Array() ;
-
-function _FCKImagePreloader_OnImage()
-{
- var oImagePreloader = this._FCKImagePreloader ;
-
- if ( (--oImagePreloader._PreloadCount) == 0 && oImagePreloader.OnComplete )
- oImagePreloader.OnComplete() ;
-
- this._FCKImagePreloader = null ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckkeystrokehandler.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckkeystrokehandler.js
deleted file mode 100644
index 334b476a54..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckkeystrokehandler.js
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Control keyboard keystroke combinations.
- */
-
-var FCKKeystrokeHandler = function( cancelCtrlDefaults )
-{
- this.Keystrokes = new Object() ;
- this.CancelCtrlDefaults = ( cancelCtrlDefaults !== false ) ;
-}
-
-/*
- * Listen to keystroke events in an element or DOM document object.
- * @target: The element or document to listen to keystroke events.
- */
-FCKKeystrokeHandler.prototype.AttachToElement = function( target )
-{
- // For newer browsers, it is enough to listen to the keydown event only.
- // Some browsers instead, don't cancel key events in the keydown, but in the
- // keypress. So we must do a longer trip in those cases.
- FCKTools.AddEventListenerEx( target, 'keydown', _FCKKeystrokeHandler_OnKeyDown, this ) ;
- if ( FCKBrowserInfo.IsGecko10 || FCKBrowserInfo.IsOpera || ( FCKBrowserInfo.IsGecko && FCKBrowserInfo.IsMac ) )
- FCKTools.AddEventListenerEx( target, 'keypress', _FCKKeystrokeHandler_OnKeyPress, this ) ;
-}
-
-/*
- * Sets a list of keystrokes. It can receive either a single array or "n"
- * arguments, each one being an array of 1 or 2 elemenst. The first element
- * is the keystroke combination, and the second is the value to assign to it.
- * If the second element is missing, the keystroke definition is removed.
- */
-FCKKeystrokeHandler.prototype.SetKeystrokes = function()
-{
- // Look through the arguments.
- for ( var i = 0 ; i < arguments.length ; i++ )
- {
- var keyDef = arguments[i] ;
-
- if ( typeof( keyDef[0] ) == 'object' ) // It is an array with arrays defining the keystrokes.
- this.SetKeystrokes.apply( this, keyDef ) ;
- else
- {
- if ( keyDef.length == 1 ) // If it has only one element, removed the keystroke.
- delete this.Keystrokes[ keyDef[0] ] ;
- else // Otherwise add it.
- this.Keystrokes[ keyDef[0] ] = keyDef[1] === true ? true : keyDef ;
- }
- }
-}
-
-function _FCKKeystrokeHandler_OnKeyDown( ev, keystrokeHandler )
-{
- // Get the key code.
- var keystroke = ev.keyCode || ev.which ;
-
- // Combine it with the CTRL, SHIFT and ALT states.
- var keyModifiers = 0 ;
-
- if ( ev.ctrlKey || ev.metaKey )
- keyModifiers += CTRL ;
-
- if ( ev.shiftKey )
- keyModifiers += SHIFT ;
-
- if ( ev.altKey )
- keyModifiers += ALT ;
-
- var keyCombination = keystroke + keyModifiers ;
-
- var cancelIt = keystrokeHandler._CancelIt = false ;
-
- // Look for its definition availability.
- var keystrokeValue = keystrokeHandler.Keystrokes[ keyCombination ] ;
-
-// FCKDebug.Output( 'KeyDown: ' + keyCombination + ' - Value: ' + keystrokeValue ) ;
-
- // If the keystroke is defined
- if ( keystrokeValue )
- {
- // If the keystroke has been explicetly set to "true" OR calling the
- // "OnKeystroke" event, it doesn't return "true", the default behavior
- // must be preserved.
- if ( keystrokeValue === true || !( keystrokeHandler.OnKeystroke && keystrokeHandler.OnKeystroke.apply( keystrokeHandler, keystrokeValue ) ) )
- return true ;
-
- cancelIt = true ;
- }
-
- // By default, it will cancel all combinations with the CTRL key only (except positioning keys).
- if ( cancelIt || ( keystrokeHandler.CancelCtrlDefaults && keyModifiers == CTRL && ( keystroke < 33 || keystroke > 40 ) ) )
- {
- keystrokeHandler._CancelIt = true ;
-
- if ( ev.preventDefault )
- return ev.preventDefault() ;
-
- ev.returnValue = false ;
- ev.cancelBubble = true ;
- return false ;
- }
-
- return true ;
-}
-
-function _FCKKeystrokeHandler_OnKeyPress( ev, keystrokeHandler )
-{
- if ( keystrokeHandler._CancelIt )
- {
-// FCKDebug.Output( 'KeyPress Cancel', 'Red') ;
-
- if ( ev.preventDefault )
- return ev.preventDefault() ;
-
- return false ;
- }
-
- return true ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckmenublock.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckmenublock.js
deleted file mode 100644
index dba67e190f..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckmenublock.js
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Renders a list of menu items.
- */
-
-var FCKMenuBlock = function()
-{
- this._Items = new Array() ;
-}
-
-
-FCKMenuBlock.prototype.Count = function()
-{
- return this._Items.length ;
-}
-
-FCKMenuBlock.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
-{
- var oItem = new FCKMenuItem( this, name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) ;
-
- oItem.OnClick = FCKTools.CreateEventListener( FCKMenuBlock_Item_OnClick, this ) ;
- oItem.OnActivate = FCKTools.CreateEventListener( FCKMenuBlock_Item_OnActivate, this ) ;
-
- this._Items.push( oItem ) ;
-
- return oItem ;
-}
-
-FCKMenuBlock.prototype.AddSeparator = function()
-{
- this._Items.push( new FCKMenuSeparator() ) ;
-}
-
-FCKMenuBlock.prototype.RemoveAllItems = function()
-{
- this._Items = new Array() ;
-
- var eItemsTable = this._ItemsTable ;
- if ( eItemsTable )
- {
- while ( eItemsTable.rows.length > 0 )
- eItemsTable.deleteRow( 0 ) ;
- }
-}
-
-FCKMenuBlock.prototype.Create = function( parentElement )
-{
- if ( !this._ItemsTable )
- {
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( this, FCKMenuBlock_Cleanup ) ;
-
- this._Window = FCKTools.GetElementWindow( parentElement ) ;
-
- var oDoc = FCKTools.GetElementDocument( parentElement ) ;
-
- var eTable = parentElement.appendChild( oDoc.createElement( 'table' ) ) ;
- eTable.cellPadding = 0 ;
- eTable.cellSpacing = 0 ;
-
- FCKTools.DisableSelection( eTable ) ;
-
- var oMainElement = eTable.insertRow(-1).insertCell(-1) ;
- oMainElement.className = 'MN_Menu' ;
-
- var eItemsTable = this._ItemsTable = oMainElement.appendChild( oDoc.createElement( 'table' ) ) ;
- eItemsTable.cellPadding = 0 ;
- eItemsTable.cellSpacing = 0 ;
- }
-
- for ( var i = 0 ; i < this._Items.length ; i++ )
- this._Items[i].Create( this._ItemsTable ) ;
-}
-
-/* Events */
-
-function FCKMenuBlock_Item_OnClick( clickedItem, menuBlock )
-{
- FCKTools.RunFunction( menuBlock.OnClick, menuBlock, [ clickedItem ] ) ;
-}
-
-function FCKMenuBlock_Item_OnActivate( menuBlock )
-{
- var oActiveItem = menuBlock._ActiveItem ;
-
- if ( oActiveItem && oActiveItem != this )
- {
- // Set the focus to this menu block window (to fire OnBlur on opened panels).
- if ( !FCKBrowserInfo.IsIE && oActiveItem.HasSubMenu && !this.HasSubMenu )
- menuBlock._Window.focus() ;
-
- oActiveItem.Deactivate() ;
- }
-
- menuBlock._ActiveItem = this ;
-}
-
-function FCKMenuBlock_Cleanup()
-{
- this._Window = null ;
- this._ItemsTable = null ;
-}
-
-// ################# //
-
-var FCKMenuSeparator = function()
-{}
-
-FCKMenuSeparator.prototype.Create = function( parentTable )
-{
- var oDoc = FCKTools.GetElementDocument( parentTable ) ;
-
- var r = parentTable.insertRow(-1) ;
-
- var eCell = r.insertCell(-1) ;
- eCell.className = 'MN_Separator MN_Icon' ;
-
- eCell = r.insertCell(-1) ;
- eCell.className = 'MN_Separator' ;
- eCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'MN_Separator_Line' ;
-
- eCell = r.insertCell(-1) ;
- eCell.className = 'MN_Separator' ;
- eCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'MN_Separator_Line' ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckmenublockpanel.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckmenublockpanel.js
deleted file mode 100644
index 45cbcc07cb..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckmenublockpanel.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This class is a menu block that behaves like a panel. It's a mix of the
- * FCKMenuBlock and FCKPanel classes.
- */
-
-var FCKMenuBlockPanel = function()
-{
- // Call the "base" constructor.
- FCKMenuBlock.call( this ) ;
-}
-
-FCKMenuBlockPanel.prototype = new FCKMenuBlock() ;
-
-
-// Override the create method.
-FCKMenuBlockPanel.prototype.Create = function()
-{
- var oPanel = this.Panel = ( this.Parent && this.Parent.Panel ? this.Parent.Panel.CreateChildPanel() : new FCKPanel() ) ;
- oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
-
- // Call the "base" implementation.
- FCKMenuBlock.prototype.Create.call( this, oPanel.MainNode ) ;
-}
-
-FCKMenuBlockPanel.prototype.Show = function( x, y, relElement )
-{
- if ( !this.Panel.CheckIsOpened() )
- this.Panel.Show( x, y, relElement ) ;
-}
-
-FCKMenuBlockPanel.prototype.Hide = function()
-{
- if ( this.Panel.CheckIsOpened() )
- this.Panel.Hide() ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckmenuitem.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckmenuitem.js
deleted file mode 100644
index 7319efa1c9..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckmenuitem.js
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Defines and renders a menu items in a menu block.
- */
-
-var FCKMenuItem = function( parentMenuBlock, name, label, iconPathOrStripInfoArray, isDisabled )
-{
- this.Name = name ;
- this.Label = label || name ;
- this.IsDisabled = isDisabled ;
-
- this.Icon = new FCKIcon( iconPathOrStripInfoArray ) ;
-
- this.SubMenu = new FCKMenuBlockPanel() ;
- this.SubMenu.Parent = parentMenuBlock ;
- this.SubMenu.OnClick = FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnClick, this ) ;
-
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( this, FCKMenuItem_Cleanup ) ;
-}
-
-
-FCKMenuItem.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
-{
- this.HasSubMenu = true ;
- return this.SubMenu.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) ;
-}
-
-FCKMenuItem.prototype.AddSeparator = function()
-{
- this.SubMenu.AddSeparator() ;
-}
-
-FCKMenuItem.prototype.Create = function( parentTable )
-{
- var bHasSubMenu = this.HasSubMenu ;
-
- var oDoc = FCKTools.GetElementDocument( parentTable ) ;
-
- // Add a row in the table to hold the menu item.
- var r = this.MainElement = parentTable.insertRow(-1) ;
- r.className = this.IsDisabled ? 'MN_Item_Disabled' : 'MN_Item' ;
-
- // Set the row behavior.
- if ( !this.IsDisabled )
- {
- FCKTools.AddEventListenerEx( r, 'mouseover', FCKMenuItem_OnMouseOver, [ this ] ) ;
- FCKTools.AddEventListenerEx( r, 'click', FCKMenuItem_OnClick, [ this ] ) ;
-
- if ( !bHasSubMenu )
- FCKTools.AddEventListenerEx( r, 'mouseout', FCKMenuItem_OnMouseOut, [ this ] ) ;
- }
-
- // Create the icon cell.
- var eCell = r.insertCell(-1) ;
- eCell.className = 'MN_Icon' ;
- eCell.appendChild( this.Icon.CreateIconElement( oDoc ) ) ;
-
- // Create the label cell.
- eCell = r.insertCell(-1) ;
- eCell.className = 'MN_Label' ;
- eCell.noWrap = true ;
- eCell.appendChild( oDoc.createTextNode( this.Label ) ) ;
-
- // Create the arrow cell and setup the sub menu panel (if needed).
- eCell = r.insertCell(-1) ;
- if ( bHasSubMenu )
- {
- eCell.className = 'MN_Arrow' ;
-
- // The arrow is a fixed size image.
- var eArrowImg = eCell.appendChild( oDoc.createElement( 'IMG' ) ) ;
- eArrowImg.src = FCK_IMAGES_PATH + 'arrow_' + FCKLang.Dir + '.gif' ;
- eArrowImg.width = 4 ;
- eArrowImg.height = 7 ;
-
- this.SubMenu.Create() ;
- this.SubMenu.Panel.OnHide = FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnHide, this ) ;
- }
-}
-
-FCKMenuItem.prototype.Activate = function()
-{
- this.MainElement.className = 'MN_Item_Over' ;
-
- if ( this.HasSubMenu )
- {
- // Show the child menu block. The ( +2, -2 ) correction is done because
- // of the padding in the skin. It is not a good solution because one
- // could change the skin and so the final result would not be accurate.
- // For now it is ok because we are controlling the skin.
- this.SubMenu.Show( this.MainElement.offsetWidth + 2, -2, this.MainElement ) ;
- }
-
- FCKTools.RunFunction( this.OnActivate, this ) ;
-}
-
-FCKMenuItem.prototype.Deactivate = function()
-{
- this.MainElement.className = 'MN_Item' ;
-
- if ( this.HasSubMenu )
- this.SubMenu.Hide() ;
-}
-
-/* Events */
-
-function FCKMenuItem_SubMenu_OnClick( clickedItem, listeningItem )
-{
- FCKTools.RunFunction( listeningItem.OnClick, listeningItem, [ clickedItem ] ) ;
-}
-
-function FCKMenuItem_SubMenu_OnHide( menuItem )
-{
- menuItem.Deactivate() ;
-}
-
-function FCKMenuItem_OnClick( ev, menuItem )
-{
- if ( menuItem.HasSubMenu )
- menuItem.Activate() ;
- else
- {
- menuItem.Deactivate() ;
- FCKTools.RunFunction( menuItem.OnClick, menuItem, [ menuItem ] ) ;
- }
-}
-
-function FCKMenuItem_OnMouseOver( ev, menuItem )
-{
- menuItem.Activate() ;
-}
-
-function FCKMenuItem_OnMouseOut( ev, menuItem )
-{
- menuItem.Deactivate() ;
-}
-
-function FCKMenuItem_Cleanup()
-{
- this.MainElement = null ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckpanel.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckpanel.js
deleted file mode 100644
index 007f9d3ead..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckpanel.js
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Component that creates floating panels. It is used by many
- * other components, like the toolbar items, context menu, etc...
- */
-
-var FCKPanel = function( parentWindow )
-{
- this.IsRTL = ( FCKLang.Dir == 'rtl' ) ;
- this.IsContextMenu = false ;
- this._LockCounter = 0 ;
-
- this._Window = parentWindow || window ;
-
- var oDocument ;
-
- if ( FCKBrowserInfo.IsIE )
- {
- // Create the Popup that will hold the panel.
- this._Popup = this._Window.createPopup() ;
- oDocument = this.Document = this._Popup.document ;
-
- FCK.IECleanup.AddItem( this, FCKPanel_Cleanup ) ;
- }
- else
- {
- var oIFrame = this._IFrame = this._Window.document.createElement('iframe') ;
- oIFrame.src = 'javascript:void(0)' ;
- oIFrame.allowTransparency = true ;
- oIFrame.frameBorder = '0' ;
- oIFrame.scrolling = 'no' ;
- oIFrame.style.position = 'absolute';
- oIFrame.style.zIndex = FCKConfig.FloatingPanelsZIndex ;
- oIFrame.width = oIFrame.height = 0 ;
-
- if ( this._Window == window.parent && window.frameElement )
- window.frameElement.parentNode.insertBefore( oIFrame, window.frameElement ) ;
- else
- this._Window.document.body.appendChild( oIFrame ) ;
-
- var oIFrameWindow = oIFrame.contentWindow ;
-
- oDocument = this.Document = oIFrameWindow.document ;
-
- // Initialize the IFRAME document body.
- oDocument.open() ;
- oDocument.write( '<\/body><\/html>' ) ;
- oDocument.close() ;
-
- FCKTools.AddEventListenerEx( oIFrameWindow, 'focus', FCKPanel_Window_OnFocus, this ) ;
- FCKTools.AddEventListenerEx( oIFrameWindow, 'blur', FCKPanel_Window_OnBlur, this ) ;
- }
-
- oDocument.dir = FCKLang.Dir ;
-
- oDocument.oncontextmenu = FCKTools.CancelEvent ;
-
-
- // Create the main DIV that is used as the panel base.
- this.MainNode = oDocument.body.appendChild( oDocument.createElement('DIV') ) ;
-
- // The "float" property must be set so Firefox calculates the size correcly.
- this.MainNode.style.cssFloat = this.IsRTL ? 'right' : 'left' ;
-}
-
-
-FCKPanel.prototype.AppendStyleSheet = function( styleSheet )
-{
- FCKTools.AppendStyleSheet( this.Document, styleSheet ) ;
-}
-
-FCKPanel.prototype.Preload = function( x, y, relElement )
-{
- // The offsetWidth and offsetHeight properties are not available if the
- // element is not visible. So we must "show" the popup with no size to
- // be able to use that values in the second call (IE only).
- if ( this._Popup )
- this._Popup.show( x, y, 0, 0, relElement ) ;
-}
-
-FCKPanel.prototype.Show = function( x, y, relElement, width, height )
-{
- var iMainWidth ;
-
- if ( this._Popup )
- {
- // The offsetWidth and offsetHeight properties are not available if the
- // element is not visible. So we must "show" the popup with no size to
- // be able to use that values in the second call.
- this._Popup.show( x, y, 0, 0, relElement ) ;
-
- // The following lines must be place after the above "show", otherwise it
- // doesn't has the desired effect.
- this.MainNode.style.width = width ? width + 'px' : '' ;
- this.MainNode.style.height = height ? height + 'px' : '' ;
-
- iMainWidth = this.MainNode.offsetWidth ;
-
- if ( this.IsRTL )
- {
- if ( this.IsContextMenu )
- x = x - iMainWidth + 1 ;
- else if ( relElement )
- x = ( x * -1 ) + relElement.offsetWidth - iMainWidth ;
- }
-
- // Second call: Show the Popup at the specified location, with the correct size.
- this._Popup.show( x, y, iMainWidth, this.MainNode.offsetHeight, relElement ) ;
-
- if ( this.OnHide )
- {
- if ( this._Timer )
- CheckPopupOnHide.call( this, true ) ;
-
- this._Timer = FCKTools.SetInterval( CheckPopupOnHide, 100, this ) ;
- }
- }
- else
- {
- // Do not fire OnBlur while the panel is opened.
- if ( typeof( FCKFocusManager ) != 'undefined' )
- FCKFocusManager.Lock() ;
-
- if ( this.ParentPanel )
- this.ParentPanel.Lock() ;
-
- this.MainNode.style.width = width ? width + 'px' : '' ;
- this.MainNode.style.height = height ? height + 'px' : '' ;
-
- iMainWidth = this.MainNode.offsetWidth ;
-
- if ( !width ) this._IFrame.width = 1 ;
- if ( !height ) this._IFrame.height = 1 ;
-
- // This is weird... but with Firefox, we must get the offsetWidth before
- // setting the _IFrame size (which returns "0"), and then after that,
- // to return the correct width. Remove the first step and it will not
- // work when the editor is in RTL.
- iMainWidth = this.MainNode.offsetWidth ;
-
- var oPos = FCKTools.GetElementPosition(
- relElement.nodeType == 9 ?
- ( FCKTools.IsStrictMode( relElement ) ? relElement.documentElement : relElement.body ) :
- relElement,
- this._Window ) ;
-
- if ( this.IsRTL && !this.IsContextMenu )
- x = ( x * -1 ) ;
-
- x += oPos.X ;
- y += oPos.Y ;
-
- if ( this.IsRTL )
- {
- if ( this.IsContextMenu )
- x = x - iMainWidth + 1 ;
- else if ( relElement )
- x = x + relElement.offsetWidth - iMainWidth ;
- }
- else
- {
- var oViewPaneSize = FCKTools.GetViewPaneSize( this._Window ) ;
- var oScrollPosition = FCKTools.GetScrollPosition( this._Window ) ;
-
- var iViewPaneHeight = oViewPaneSize.Height + oScrollPosition.Y ;
- var iViewPaneWidth = oViewPaneSize.Width + oScrollPosition.X ;
-
- if ( ( x + iMainWidth ) > iViewPaneWidth )
- x -= x + iMainWidth - iViewPaneWidth ;
-
- if ( ( y + this.MainNode.offsetHeight ) > iViewPaneHeight )
- y -= y + this.MainNode.offsetHeight - iViewPaneHeight ;
- }
-
- if ( x < 0 )
- x = 0 ;
-
- // Set the context menu DIV in the specified location.
- this._IFrame.style.left = x + 'px' ;
- this._IFrame.style.top = y + 'px' ;
-
- var iWidth = iMainWidth ;
- var iHeight = this.MainNode.offsetHeight ;
-
- this._IFrame.width = iWidth ;
- this._IFrame.height = iHeight ;
-
- // Move the focus to the IFRAME so we catch the "onblur".
- this._IFrame.contentWindow.focus() ;
- }
-
- this._IsOpened = true ;
-
- FCKTools.RunFunction( this.OnShow, this ) ;
-}
-
-FCKPanel.prototype.Hide = function( ignoreOnHide )
-{
- if ( this._Popup )
- this._Popup.hide() ;
- else
- {
- if ( !this._IsOpened )
- return ;
-
- // Enable the editor to fire the "OnBlur".
- if ( typeof( FCKFocusManager ) != 'undefined' )
- FCKFocusManager.Unlock() ;
-
- // It is better to set the sizes to 0, otherwise Firefox would have
- // rendering problems.
- this._IFrame.width = this._IFrame.height = 0 ;
-
- this._IsOpened = false ;
-
- if ( this.ParentPanel )
- this.ParentPanel.Unlock() ;
-
- if ( !ignoreOnHide )
- FCKTools.RunFunction( this.OnHide, this ) ;
- }
-}
-
-FCKPanel.prototype.CheckIsOpened = function()
-{
- if ( this._Popup )
- return this._Popup.isOpen ;
- else
- return this._IsOpened ;
-}
-
-FCKPanel.prototype.CreateChildPanel = function()
-{
- var oWindow = this._Popup ? FCKTools.GetDocumentWindow( this.Document ) : this._Window ;
-
- var oChildPanel = new FCKPanel( oWindow, true ) ;
- oChildPanel.ParentPanel = this ;
-
- return oChildPanel ;
-}
-
-FCKPanel.prototype.Lock = function()
-{
- this._LockCounter++ ;
-}
-
-FCKPanel.prototype.Unlock = function()
-{
- if ( --this._LockCounter == 0 && !this.HasFocus )
- this.Hide() ;
-}
-
-/* Events */
-
-function FCKPanel_Window_OnFocus( e, panel )
-{
- panel.HasFocus = true ;
-}
-
-function FCKPanel_Window_OnBlur( e, panel )
-{
- panel.HasFocus = false ;
-
- if ( panel._LockCounter == 0 )
- FCKTools.RunFunction( panel.Hide, panel ) ;
-}
-
-function CheckPopupOnHide( forceHide )
-{
- if ( forceHide || !this._Popup.isOpen )
- {
- window.clearInterval( this._Timer ) ;
- this._Timer = null ;
-
- FCKTools.RunFunction( this.OnHide, this ) ;
- }
-}
-
-function FCKPanel_Cleanup()
-{
- this._Popup = null ;
- this._Window = null ;
- this.Document = null ;
- this.MainNode = null ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckplugin.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckplugin.js
deleted file mode 100644
index a0df44e915..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckplugin.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKPlugin Class: Represents a single plugin.
- */
-
-var FCKPlugin = function( name, availableLangs, basePath )
-{
- this.Name = name ;
- this.BasePath = basePath ? basePath : FCKConfig.PluginsPath ;
- this.Path = this.BasePath + name + '/' ;
-
- if ( !availableLangs || availableLangs.length == 0 )
- this.AvailableLangs = new Array() ;
- else
- this.AvailableLangs = availableLangs.split(',') ;
-}
-
-FCKPlugin.prototype.Load = function()
-{
- // Load the language file, if defined.
- if ( this.AvailableLangs.length > 0 )
- {
- var sLang ;
-
- // Check if the plugin has the language file for the active language.
- if ( this.AvailableLangs.IndexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 )
- sLang = FCKLanguageManager.ActiveLanguage.Code ;
- else
- // Load the default language file (first one) if the current one is not available.
- sLang = this.AvailableLangs[0] ;
-
- // Add the main plugin script.
- LoadScript( this.Path + 'lang/' + sLang + '.js' ) ;
- }
-
- // Add the main plugin script.
- LoadScript( this.Path + 'fckplugin.js' ) ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckspecialcombo.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckspecialcombo.js
deleted file mode 100644
index 48e5942d2e..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckspecialcombo.js
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKSpecialCombo Class: represents a special combo.
- */
-
-var FCKSpecialCombo = function( caption, fieldWidth, panelWidth, panelMaxHeight, parentWindow )
-{
- // Default properties values.
- this.FieldWidth = fieldWidth || 100 ;
- this.PanelWidth = panelWidth || 150 ;
- this.PanelMaxHeight = panelMaxHeight || 150 ;
- this.Label = ' ' ;
- this.Caption = caption ;
- this.Tooltip = caption ;
- this.Style = FCK_TOOLBARITEM_ICONTEXT ;
-
- this.Enabled = true ;
-
- this.Items = new Object() ;
-
- this._Panel = new FCKPanel( parentWindow || window, true ) ;
- this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
- this._PanelBox = this._Panel.MainNode.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ;
- this._PanelBox.className = 'SC_Panel' ;
- this._PanelBox.style.width = this.PanelWidth + 'px' ;
-
- this._PanelBox.innerHTML = '
-
- These are samples of possible {Image} values:
-
- Strip - IE version:
-
-
- Strip : Firefox, Safari and Opera version
-
-
- No-Strip : Browser independent:
-
-*/
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js b/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js
deleted file mode 100644
index 11318ea2e7..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- */
-
-var FCKToolbarFontFormatCombo = function( tooltip, style )
-{
- this.CommandName = 'FontFormat' ;
- this.Label = this.GetLabel() ;
- this.Tooltip = tooltip ? tooltip : this.Label ;
- this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ;
-
- this.NormalLabel = 'Normal' ;
-
- this.PanelWidth = 190 ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarFontFormatCombo.prototype = new FCKToolbarSpecialCombo ;
-
-
-FCKToolbarFontFormatCombo.prototype.GetLabel = function()
-{
- return FCKLang.FontFormat ;
-}
-
-FCKToolbarFontFormatCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- var oTargetDoc = targetSpecialCombo._Panel.Document ;
-
- // Add the Editor Area CSS to the panel to create a realistic preview.
- FCKTools.AppendStyleSheet( oTargetDoc, FCKConfig.ToolbarComboPreviewCSS ) ;
-
- // Add ID and Class to the body
- if ( FCKConfig.BodyId && FCKConfig.BodyId.length > 0 )
- oTargetDoc.body.id = FCKConfig.BodyId ;
- if ( FCKConfig.BodyClass && FCKConfig.BodyClass.length > 0 )
- oTargetDoc.body.className += ' ' + FCKConfig.BodyClass ;
-
- // Get the format names from the language file.
- var aNames = FCKLang['FontFormats'].split(';') ;
- var oNames = {
- p : aNames[0],
- pre : aNames[1],
- address : aNames[2],
- h1 : aNames[3],
- h2 : aNames[4],
- h3 : aNames[5],
- h4 : aNames[6],
- h5 : aNames[7],
- h6 : aNames[8],
- div : aNames[9]
- } ;
-
- // Get the available formats from the configuration file.
- var aTags = FCKConfig.FontFormats.split(';') ;
-
- for ( var i = 0 ; i < aTags.length ; i++ )
- {
- // Support for DIV in Firefox has been reintroduced on version 2.2.
-// if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko )
-// continue ;
-
- var sTag = aTags[i] ;
- var sLabel = oNames[sTag] ;
-
- if ( sTag == 'p' )
- this.NormalLabel = sLabel ;
-
- this._Combo.AddItem( sTag, '
<' + sTag + '>' + sLabel + '' + sTag + '>
', sLabel ) ;
- }
-}
-
-if ( FCKBrowserInfo.IsIE )
-{
- FCKToolbarFontFormatCombo.prototype.RefreshActiveItems = function( combo, value )
- {
-// FCKDebug.Output( 'FCKToolbarFontFormatCombo Value: ' + value ) ;
-
- // IE returns normal for DIV and P, so to avoid confusion, we will not show it if normal.
- if ( value == this.NormalLabel )
- {
- if ( combo.Label != ' ' )
- combo.DeselectAll(true) ;
- }
- else
- {
- if ( this._LastValue == value )
- return ;
-
- combo.SelectItemByLabel( value, true ) ;
- }
-
- this._LastValue = value ;
- }
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js b/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js
deleted file mode 100644
index f11293efda..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- */
-
-var FCKToolbarFontsCombo = function( tooltip, style )
-{
- this.CommandName = 'FontName' ;
- this.Label = this.GetLabel() ;
- this.Tooltip = tooltip ? tooltip : this.Label ;
- this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarFontsCombo.prototype = new FCKToolbarSpecialCombo ;
-
-
-FCKToolbarFontsCombo.prototype.GetLabel = function()
-{
- return FCKLang.Font ;
-}
-
-FCKToolbarFontsCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- var aFonts = FCKConfig.FontNames.split(';') ;
-
- for ( var i = 0 ; i < aFonts.length ; i++ )
- this._Combo.AddItem( aFonts[i], '' + aFonts[i] + '' ) ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js b/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js
deleted file mode 100644
index 10538cbca3..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- */
-
-var FCKToolbarFontSizeCombo = function( tooltip, style )
-{
- this.CommandName = 'FontSize' ;
- this.Label = this.GetLabel() ;
- this.Tooltip = tooltip ? tooltip : this.Label ;
- this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarFontSizeCombo.prototype = new FCKToolbarSpecialCombo ;
-
-
-FCKToolbarFontSizeCombo.prototype.GetLabel = function()
-{
- return FCKLang.FontSize ;
-}
-
-FCKToolbarFontSizeCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- targetSpecialCombo.FieldWidth = 70 ;
-
- var aSizes = FCKConfig.FontSizes.split(';') ;
-
- for ( var i = 0 ; i < aSizes.length ; i++ )
- {
- var aSizeParts = aSizes[i].split('/') ;
- this._Combo.AddItem( aSizeParts[0], '' + aSizeParts[1] + '', aSizeParts[1] ) ;
- }
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js b/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js
deleted file mode 100644
index 7ca7a74393..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKToolbarPanelButton Class: represents a special button in the toolbar
- * that shows a panel when pressed.
- */
-
-var FCKToolbarPanelButton = function( commandName, label, tooltip, style, icon )
-{
- this.CommandName = commandName ;
-
- var oIcon ;
-
- if ( icon == null )
- oIcon = FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ;
- else if ( typeof( icon ) == 'number' )
- oIcon = [ FCKConfig.SkinPath + 'fck_strip.gif', 16, icon ] ;
-
- var oUIButton = this._UIButton = new FCKToolbarButtonUI( commandName, label, tooltip, oIcon, style ) ;
- oUIButton._FCKToolbarPanelButton = this ;
- oUIButton.ShowArrow = true ;
- oUIButton.OnClick = FCKToolbarPanelButton_OnButtonClick ;
-}
-
-FCKToolbarPanelButton.prototype.TypeName = 'FCKToolbarPanelButton' ;
-
-FCKToolbarPanelButton.prototype.Create = function( parentElement )
-{
- parentElement.className += 'Menu' ;
-
- this._UIButton.Create( parentElement ) ;
-
- var oPanel = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName )._Panel ;
- oPanel._FCKToolbarPanelButton = this ;
-
- var eLineDiv = oPanel.Document.body.appendChild( oPanel.Document.createElement( 'div' ) ) ;
- eLineDiv.style.position = 'absolute' ;
- eLineDiv.style.top = '0px' ;
-
- var eLine = this.LineImg = eLineDiv.appendChild( oPanel.Document.createElement( 'IMG' ) ) ;
- eLine.className = 'TB_ConnectionLine' ;
-// eLine.style.backgroundColor = 'Red' ;
- eLine.src = FCK_SPACER_PATH ;
-
- oPanel.OnHide = FCKToolbarPanelButton_OnPanelHide ;
-}
-
-/*
- Events
-*/
-
-function FCKToolbarPanelButton_OnButtonClick( toolbarButton )
-{
- var oButton = this._FCKToolbarPanelButton ;
- var e = oButton._UIButton.MainElement ;
-
- oButton._UIButton.ChangeState( FCK_TRISTATE_ON ) ;
-
- oButton.LineImg.style.width = ( e.offsetWidth - 2 ) + 'px' ;
-
- FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( oButton.CommandName ).Execute( 0, e.offsetHeight - 1, e ) ; // -1 to be over the border
-}
-
-function FCKToolbarPanelButton_OnPanelHide()
-{
- var oMenuButton = this._FCKToolbarPanelButton ;
- oMenuButton._UIButton.ChangeState( FCK_TRISTATE_OFF ) ;
-}
-
-// The Panel Button works like a normal button so the refresh state functions
-// defined for the normal button can be reused here.
-FCKToolbarPanelButton.prototype.RefreshState = FCKToolbarButton.prototype.RefreshState ;
-FCKToolbarPanelButton.prototype.Enable = FCKToolbarButton.prototype.Enable ;
-FCKToolbarPanelButton.prototype.Disable = FCKToolbarButton.prototype.Disable ;
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js b/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js
deleted file mode 100644
index 75f8c226ab..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKToolbarSpecialCombo Class: This is a "abstract" base class to be used
- * by the special combo toolbar elements like font name, font size, paragraph format, etc...
- *
- * The following properties and methods must be implemented when inheriting from
- * this class:
- * - Property: CommandName [ The command name to be executed ]
- * - Method: GetLabel() [ Returns the label ]
- * - CreateItems( targetSpecialCombo ) [ Add all items in the special combo ]
- */
-
-var FCKToolbarSpecialCombo = function()
-{
- this.SourceView = false ;
- this.ContextSensitive = true ;
- this._LastValue = null ;
-}
-
-
-function FCKToolbarSpecialCombo_OnSelect( itemId, item )
-{
- FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).Execute( itemId, item ) ;
-}
-
-FCKToolbarSpecialCombo.prototype.Create = function( targetElement )
-{
- this._Combo = new FCKSpecialCombo( this.GetLabel(), this.FieldWidth, this.PanelWidth, this.PanelMaxHeight, FCKBrowserInfo.IsIE ? window : FCKTools.GetElementWindow( targetElement ).parent ) ;
-
- /*
- this._Combo.FieldWidth = this.FieldWidth != null ? this.FieldWidth : 100 ;
- this._Combo.PanelWidth = this.PanelWidth != null ? this.PanelWidth : 150 ;
- this._Combo.PanelMaxHeight = this.PanelMaxHeight != null ? this.PanelMaxHeight : 150 ;
- */
-
- //this._Combo.Command.Name = this.Command.Name;
-// this._Combo.Label = this.Label ;
- this._Combo.Tooltip = this.Tooltip ;
- this._Combo.Style = this.Style ;
-
- this.CreateItems( this._Combo ) ;
-
- this._Combo.Create( targetElement ) ;
-
- this._Combo.CommandName = this.CommandName ;
-
- this._Combo.OnSelect = FCKToolbarSpecialCombo_OnSelect ;
-}
-
-function FCKToolbarSpecialCombo_RefreshActiveItems( combo, value )
-{
- combo.DeselectAll() ;
- combo.SelectItem( value ) ;
- combo.SetLabelById( value ) ;
-}
-
-FCKToolbarSpecialCombo.prototype.RefreshState = function()
-{
- // Gets the actual state.
- var eState ;
-
-// if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
-// eState = FCK_TRISTATE_DISABLED ;
-// else
-// {
- var sValue = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).GetState() ;
-
-// FCKDebug.Output( 'RefreshState of Special Combo "' + this.TypeOf + '" - State: ' + sValue ) ;
-
- if ( sValue != FCK_TRISTATE_DISABLED )
- {
- eState = FCK_TRISTATE_ON ;
-
- if ( this.RefreshActiveItems )
- this.RefreshActiveItems( this._Combo, sValue ) ;
- else
- {
- if ( this._LastValue != sValue )
- {
- this._LastValue = sValue ;
- FCKToolbarSpecialCombo_RefreshActiveItems( this._Combo, sValue ) ;
- }
- }
- }
- else
- eState = FCK_TRISTATE_DISABLED ;
-// }
-
- // If there are no state changes then do nothing and return.
- if ( eState == this.State ) return ;
-
- if ( eState == FCK_TRISTATE_DISABLED )
- {
- this._Combo.DeselectAll() ;
- this._Combo.SetLabel( '' ) ;
- }
-
- // Sets the actual state.
- this.State = eState ;
-
- // Updates the graphical state.
- this._Combo.SetEnabled( eState != FCK_TRISTATE_DISABLED ) ;
-}
-
-FCKToolbarSpecialCombo.prototype.Enable = function()
-{
- this.RefreshState() ;
-}
-
-FCKToolbarSpecialCombo.prototype.Disable = function()
-{
- this.State = FCK_TRISTATE_DISABLED ;
- this._Combo.DeselectAll() ;
- this._Combo.SetLabel( '' ) ;
- this._Combo.SetEnabled( false ) ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js b/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js
deleted file mode 100644
index 69951ec5b9..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKToolbarPanelButton Class: Handles the Fonts combo selector.
- */
-
-var FCKToolbarStyleCombo = function( tooltip, style )
-{
- this.CommandName = 'Style' ;
- this.Label = this.GetLabel() ;
- this.Tooltip = tooltip ? tooltip : this.Label ;
- this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ;
-}
-
-// Inherit from FCKToolbarSpecialCombo.
-FCKToolbarStyleCombo.prototype = new FCKToolbarSpecialCombo ;
-
-
-FCKToolbarStyleCombo.prototype.GetLabel = function()
-{
- return FCKLang.Style ;
-}
-
-FCKToolbarStyleCombo.prototype.CreateItems = function( targetSpecialCombo )
-{
- var oTargetDoc = targetSpecialCombo._Panel.Document ;
-
- // Add the Editor Area CSS to the panel so the style classes are previewed correctly.
- FCKTools.AppendStyleSheet( oTargetDoc, FCKConfig.ToolbarComboPreviewCSS ) ;
- oTargetDoc.body.className += ' ForceBaseFont' ;
-
- // Add ID and Class to the body
- if ( FCKConfig.BodyId && FCKConfig.BodyId.length > 0 )
- oTargetDoc.body.id = FCKConfig.BodyId ;
- if ( FCKConfig.BodyClass && FCKConfig.BodyClass.length > 0 )
- oTargetDoc.body.className += ' ' + FCKConfig.BodyClass ;
-
-
- // For some reason Gecko is blocking inside the "RefreshVisibleItems" function.
- // The problem is present only in old versions
- if ( !( FCKBrowserInfo.IsGecko && FCKBrowserInfo.IsGecko10 ) )
- targetSpecialCombo.OnBeforeClick = this.RefreshVisibleItems ;
-
- // Add the styles to the special combo.
- var aCommandStyles = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).Styles ;
- for ( var s in aCommandStyles )
- {
- var oStyle = aCommandStyles[s] ;
- var oItem ;
-
- if ( oStyle.IsObjectElement )
- oItem = targetSpecialCombo.AddItem( s, s ) ;
- else
- oItem = targetSpecialCombo.AddItem( s, oStyle.GetOpenerTag() + s + oStyle.GetCloserTag() ) ;
-
- oItem.Style = oStyle ;
- }
-}
-
-FCKToolbarStyleCombo.prototype.RefreshActiveItems = function( targetSpecialCombo )
-{
- // Clear the actual selection.
- targetSpecialCombo.DeselectAll() ;
-
- // Get the active styles.
- var aStyles = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).GetActiveStyles() ;
-
- if ( aStyles.length > 0 )
- {
- // Select the active styles in the combo.
- for ( var i = 0 ; i < aStyles.length ; i++ )
- targetSpecialCombo.SelectItem( aStyles[i].Name ) ;
-
- // Set the combo label to the first style in the collection.
- targetSpecialCombo.SetLabelById( aStyles[0].Name ) ;
- }
- else
- targetSpecialCombo.SetLabel('') ;
-}
-
-FCKToolbarStyleCombo.prototype.RefreshVisibleItems = function( targetSpecialCombo )
-{
- if ( FCKSelection.GetType() == 'Control' )
- var sTagName = FCKSelection.GetSelectedElement().tagName ;
-
- for ( var i in targetSpecialCombo.Items )
- {
- var oItem = targetSpecialCombo.Items[i] ;
- if ( ( sTagName && oItem.Style.Element == sTagName ) || ( ! sTagName && ! oItem.Style.IsObjectElement ) )
- oItem.style.display = '' ;
- else
- oItem.style.display = 'none' ; // For some reason Gecko is blocking here.
- }
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckw3crange.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckw3crange.js
deleted file mode 100644
index fe7a98e265..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckw3crange.js
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This class partially implements the W3C DOM Range for browser that don't
- * support the standards (like IE):
- * http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html
- */
-
-var FCKW3CRange = function( parentDocument )
-{
- this._Document = parentDocument ;
-
- this.startContainer = null ;
- this.startOffset = null ;
- this.endContainer = null ;
- this.endOffset = null ;
- this.collapsed = true ;
-}
-
-FCKW3CRange.CreateRange = function( parentDocument )
-{
- // We could opt to use the Range implentation of the browsers. The problem
- // is that every browser have different bugs on their implementations,
- // mostly related to different interpretations of the W3C specifications.
- // So, for now, let's use our implementation and pray for browsers fixings
- // soon. Otherwise will go crazy on trying to find out workarounds.
- /*
- // Get the browser implementation of the range, if available.
- if ( parentDocument.createRange )
- {
- var range = parentDocument.createRange() ;
- if ( typeof( range.startContainer ) != 'undefined' )
- return range ;
- }
- */
- return new FCKW3CRange( parentDocument ) ;
-}
-
-FCKW3CRange.CreateFromRange = function( parentDocument, sourceRange )
-{
- var range = FCKW3CRange.CreateRange( parentDocument ) ;
- range.setStart( sourceRange.startContainer, sourceRange.startOffset ) ;
- range.setEnd( sourceRange.endContainer, sourceRange.endOffset ) ;
- return range ;
-}
-
-FCKW3CRange.prototype =
-{
-
- _UpdateCollapsed : function()
- {
- this.collapsed = ( this.startContainer == this.endContainer && this.startOffset == this.endOffset ) ;
- },
-
- // W3C requires a check for the new position. If it is after the end
- // boundary, the range should be collapsed to the new start. It seams we
- // will not need this check for our use of this class so we can ignore it for now.
- setStart : function( refNode, offset )
- {
- this.startContainer = refNode ;
- this.startOffset = offset ;
-
- if ( !this.endContainer )
- {
- this.endContainer = refNode ;
- this.endOffset = offset ;
- }
-
- this._UpdateCollapsed() ;
- },
-
- // W3C requires a check for the new position. If it is before the start
- // boundary, the range should be collapsed to the new end. It seams we
- // will not need this check for our use of this class so we can ignore it for now.
- setEnd : function( refNode, offset )
- {
- this.endContainer = refNode ;
- this.endOffset = offset ;
-
- if ( !this.startContainer )
- {
- this.startContainer = refNode ;
- this.startOffset = offset ;
- }
-
- this._UpdateCollapsed() ;
- },
-
- setStartAfter : function( refNode )
- {
- this.setStart( refNode.parentNode, FCKDomTools.GetIndexOf( refNode ) + 1 ) ;
- },
-
- setStartBefore : function( refNode )
- {
- this.setStart( refNode.parentNode, FCKDomTools.GetIndexOf( refNode ) ) ;
- },
-
- setEndAfter : function( refNode )
- {
- this.setEnd( refNode.parentNode, FCKDomTools.GetIndexOf( refNode ) + 1 ) ;
- },
-
- setEndBefore : function( refNode )
- {
- this.setEnd( refNode.parentNode, FCKDomTools.GetIndexOf( refNode ) ) ;
- },
-
- collapse : function( toStart )
- {
- if ( toStart )
- {
- this.endContainer = this.startContainer ;
- this.endOffset = this.startOffset ;
- }
- else
- {
- this.startContainer = this.endContainer ;
- this.startOffset = this.endOffset ;
- }
-
- this.collapsed = true ;
- },
-
- selectNodeContents : function( refNode )
- {
- this.setStart( refNode, 0 ) ;
- this.setEnd( refNode, refNode.nodeType == 3 ? refNode.data.length : refNode.childNodes.length ) ;
- },
-
- insertNode : function( newNode )
- {
- var startContainer = this.startContainer ;
- var startOffset = this.startOffset ;
-
- // If we are in a text node.
- if ( startContainer.nodeType == 3 )
- {
- startContainer.splitText( startOffset ) ;
-
- // Check if it is necessary to update the end boundary.
- if ( startContainer == this.endContainer )
- this.setEnd( startContainer.nextSibling, this.endOffset - this.startOffset ) ;
-
- // Insert the new node it after the text node.
- FCKDomTools.InsertAfterNode( startContainer, newNode ) ;
-
- return ;
- }
- else
- {
- // Simply insert the new node before the current start node.
- startContainer.insertBefore( newNode, startContainer.childNodes[ startOffset ] || null ) ;
-
- // Check if it is necessary to update the end boundary.
- if ( startContainer == this.endContainer )
- {
- this.endOffset++ ;
- this.collapsed = false ;
- }
- }
- },
-
- deleteContents : function()
- {
- if ( this.collapsed )
- return ;
-
- this._ExecContentsAction( 0 ) ;
- },
-
- extractContents : function()
- {
- var docFrag = new FCKDocumentFragment( this._Document ) ;
-
- if ( !this.collapsed )
- this._ExecContentsAction( 1, docFrag ) ;
-
- return docFrag ;
- },
-
- // The selection may be lost when clonning (due to the splitText() call).
- cloneContents : function()
- {
- var docFrag = new FCKDocumentFragment( this._Document ) ;
-
- if ( !this.collapsed )
- this._ExecContentsAction( 2, docFrag ) ;
-
- return docFrag ;
- },
-
- _ExecContentsAction : function( action, docFrag )
- {
- var startNode = this.startContainer ;
- var endNode = this.endContainer ;
-
- var startOffset = this.startOffset ;
- var endOffset = this.endOffset ;
-
- var removeStartNode = false ;
- var removeEndNode = false ;
-
- // Check the start and end nodes and make the necessary removals or changes.
-
- // Start from the end, otherwise DOM mutations (splitText) made in the
- // start boundary may interfere on the results here.
-
- // For text containers, we must simply split the node and point to the
- // second part. The removal will be handled by the rest of the code .
- if ( endNode.nodeType == 3 )
- endNode = endNode.splitText( endOffset ) ;
- else
- {
- // If the end container has children and the offset is pointing
- // to a child, then we should start from it.
- if ( endNode.childNodes.length > 0 )
- {
- // If the offset points after the last node.
- if ( endOffset > endNode.childNodes.length - 1 )
- {
- // Let's create a temporary node and mark it for removal.
- endNode = FCKDomTools.InsertAfterNode( endNode.lastChild, this._Document.createTextNode('') ) ;
- removeEndNode = true ;
- }
- else
- endNode = endNode.childNodes[ endOffset ] ;
- }
- }
-
- // For text containers, we must simply split the node. The removal will
- // be handled by the rest of the code .
- if ( startNode.nodeType == 3 )
- {
- startNode.splitText( startOffset ) ;
-
- // In cases the end node is the same as the start node, the above
- // splitting will also split the end, so me must move the end to
- // the second part of the split.
- if ( startNode == endNode )
- endNode = startNode.nextSibling ;
- }
- else
- {
- // If the start container has children and the offset is pointing
- // to a child, then we should start from its previous sibling.
- if ( startNode.childNodes.length > 0 && startOffset <= startNode.childNodes.length - 1 )
- {
- // If the offset points to the first node, we don't have a
- // sibling, so let's use the first one, but mark it for removal.
- if ( startOffset == 0 )
- {
- // Let's create a temporary node and mark it for removal.
- startNode = startNode.insertBefore( this._Document.createTextNode(''), startNode.firstChild ) ;
- removeStartNode = true ;
- }
- else
- startNode = startNode.childNodes[ startOffset ].previousSibling ;
- }
- }
-
- // Get the parent nodes tree for the start and end boundaries.
- var startParents = FCKDomTools.GetParents( startNode ) ;
- var endParents = FCKDomTools.GetParents( endNode ) ;
-
- // Compare them, to find the top most siblings.
- var i, topStart, topEnd ;
-
- for ( i = 0 ; i < startParents.length ; i++ )
- {
- topStart = startParents[i] ;
- topEnd = endParents[i] ;
-
- // The compared nodes will match until we find the top most
- // siblings (different nodes that have the same parent).
- // "i" will hold the index in the parants array for the top
- // most element.
- if ( topStart != topEnd )
- break ;
- }
-
- var clone, levelStartNode, levelClone, currentNode, currentSibling ;
-
- if ( docFrag )
- clone = docFrag.RootNode ;
-
- // Remove all successive sibling nodes for every node in the
- // startParents tree.
- for ( var j = i ; j < startParents.length ; j++ )
- {
- levelStartNode = startParents[j] ;
-
- // For Extract and Clone, we must clone this level.
- if ( clone && levelStartNode != startNode ) // action = 0 = Delete
- levelClone = clone.appendChild( levelStartNode.cloneNode( levelStartNode == startNode ) ) ;
-
- currentNode = levelStartNode.nextSibling ;
-
- while( currentNode )
- {
- // Stop processing when the current node matches a node in the
- // endParents tree or if it is the endNode.
- if ( currentNode == endParents[j] || currentNode == endNode )
- break ;
-
- // Cache the next sibling.
- currentSibling = currentNode.nextSibling ;
-
- // If clonning, just clone it.
- if ( action == 2 ) // 2 = Clone
- clone.appendChild( currentNode.cloneNode( true ) ) ;
- else
- {
- // Both Delete and Extract will remove the node.
- currentNode.parentNode.removeChild( currentNode ) ;
-
- // When Extracting, move the removed node to the docFrag.
- if ( action == 1 ) // 1 = Extract
- clone.appendChild( currentNode ) ;
- }
-
- currentNode = currentSibling ;
- }
-
- if ( clone )
- clone = levelClone ;
- }
-
- if ( docFrag )
- clone = docFrag.RootNode ;
-
- // Remove all previous sibling nodes for every node in the
- // endParents tree.
- for ( var k = i ; k < endParents.length ; k++ )
- {
- levelStartNode = endParents[k] ;
-
- // For Extract and Clone, we must clone this level.
- if ( action > 0 && levelStartNode != endNode ) // action = 0 = Delete
- levelClone = clone.appendChild( levelStartNode.cloneNode( levelStartNode == endNode ) ) ;
-
- // The processing of siblings may have already been done by the parent.
- if ( !startParents[k] || levelStartNode.parentNode != startParents[k].parentNode )
- {
- currentNode = levelStartNode.previousSibling ;
-
- while( currentNode )
- {
- // Stop processing when the current node matches a node in the
- // startParents tree or if it is the startNode.
- if ( currentNode == startParents[k] || currentNode == startNode )
- break ;
-
- // Cache the next sibling.
- currentSibling = currentNode.previousSibling ;
-
- // If clonning, just clone it.
- if ( action == 2 ) // 2 = Clone
- clone.insertBefore( currentNode.cloneNode( true ), clone.firstChild ) ;
- else
- {
- // Both Delete and Extract will remove the node.
- currentNode.parentNode.removeChild( currentNode ) ;
-
- // When Extracting, mode the removed node to the docFrag.
- if ( action == 1 ) // 1 = Extract
- clone.insertBefore( currentNode, clone.firstChild ) ;
- }
-
- currentNode = currentSibling ;
- }
- }
-
- if ( clone )
- clone = levelClone ;
- }
-
- if ( action == 2 ) // 2 = Clone.
- {
- // No changes in the DOM should be done, so fix the split text (if any).
-
- var startTextNode = this.startContainer ;
- if ( startTextNode.nodeType == 3 )
- {
- startTextNode.data += startTextNode.nextSibling.data ;
- startTextNode.parentNode.removeChild( startTextNode.nextSibling ) ;
- }
-
- var endTextNode = this.endContainer ;
- if ( endTextNode.nodeType == 3 && endTextNode.nextSibling )
- {
- endTextNode.data += endTextNode.nextSibling.data ;
- endTextNode.parentNode.removeChild( endTextNode.nextSibling ) ;
- }
- }
- else
- {
- // Collapse the range.
-
- // If a node has been partially selected, collapse the range between
- // topStart and topEnd. Otherwise, simply collapse it to the start. (W3C specs).
- if ( topStart && topEnd && ( startNode.parentNode != topStart.parentNode || endNode.parentNode != topEnd.parentNode ) )
- this.setStart( topEnd.parentNode, FCKDomTools.GetIndexOf( topEnd ) ) ;
-
- // Collapse it to the start.
- this.collapse( true ) ;
- }
-
- // Cleanup any marked node.
- if( removeStartNode )
- startNode.parentNode.removeChild( startNode ) ;
-
- if( removeEndNode && endNode.parentNode )
- endNode.parentNode.removeChild( endNode ) ;
- },
-
- cloneRange : function()
- {
- return FCKW3CRange.CreateFromRange( this._Document, this ) ;
- },
-
- toString : function()
- {
- var docFrag = this.cloneContents() ;
-
- var tmpDiv = this._Document.createElement( 'div' ) ;
- docFrag.AppendTo( tmpDiv ) ;
-
- return tmpDiv.textContent || tmpDiv.innerText ;
- }
-} ;
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckxml_gecko.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckxml_gecko.js
deleted file mode 100644
index c9dc916748..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckxml_gecko.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKXml Class: class to load and manipulate XML files.
- */
-
-var FCKXml = function()
-{}
-
-FCKXml.prototype.LoadUrl = function( urlToCall )
-{
- this.Error = false ;
- var oFCKXml = this ;
-
- var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ;
- oXmlHttp.open( "GET", urlToCall, false ) ;
- oXmlHttp.send( null ) ;
-
- if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
- this.DOMDocument = oXmlHttp.responseXML ;
- else if ( oXmlHttp.status == 0 && oXmlHttp.readyState == 4 )
- this.DOMDocument = oXmlHttp.responseXML ;
- else
- this.DOMDocument = null ;
-
- if ( this.DOMDocument == null || this.DOMDocument.firstChild == null )
- {
- this.Error = true ;
- if (window.confirm( 'Error loading "' + urlToCall + '"\r\nDo you want to see more info?' ) )
- alert( 'URL requested: "' + urlToCall + '"\r\n' +
- 'Server response:\r\nStatus: ' + oXmlHttp.status + '\r\n' +
- 'Response text:\r\n' + oXmlHttp.responseText ) ;
-
- }
-}
-
-FCKXml.prototype.SelectNodes = function( xpath, contextNode )
-{
- if ( this.Error )
- return new Array() ;
-
- var aNodeArray = new Array();
-
- var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
- this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
- if ( xPathResult )
- {
- var oNode = xPathResult.iterateNext() ;
- while( oNode )
- {
- aNodeArray[aNodeArray.length] = oNode ;
- oNode = xPathResult.iterateNext();
- }
- }
- return aNodeArray ;
-}
-
-FCKXml.prototype.SelectSingleNode = function( xpath, contextNode )
-{
- if ( this.Error )
- return null ;
-
- var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
- this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
-
- if ( xPathResult && xPathResult.singleNodeValue )
- return xPathResult.singleNodeValue ;
- else
- return null ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/classes/fckxml_ie.js b/phpgwapi/js/fckeditor/editor/_source/classes/fckxml_ie.js
deleted file mode 100644
index 5efc12fd9a..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/classes/fckxml_ie.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKXml Class: class to load and manipulate XML files.
- * (IE specific implementation)
- */
-
-var FCKXml = function()
-{
- this.Error = false ;
-}
-
-FCKXml.prototype.LoadUrl = function( urlToCall )
-{
- this.Error = false ;
-
- var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ;
-
- if ( !oXmlHttp )
- {
- this.Error = true ;
- return ;
- }
-
- oXmlHttp.open( "GET", urlToCall, false ) ;
-
- oXmlHttp.send( null ) ;
-
- if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
- this.DOMDocument = oXmlHttp.responseXML ;
- else if ( oXmlHttp.status == 0 && oXmlHttp.readyState == 4 )
- {
- this.DOMDocument = FCKTools.CreateXmlObject( 'DOMDocument' ) ;
- this.DOMDocument.async = false ;
- this.DOMDocument.resolveExternals = false ;
- this.DOMDocument.loadXML( oXmlHttp.responseText ) ;
- }
- else
- {
- this.DOMDocument = null ;
- }
-
- if ( this.DOMDocument == null || this.DOMDocument.firstChild == null )
- {
- this.Error = true ;
- if (window.confirm( 'Error loading "' + urlToCall + '"\r\nDo you want to see more info?' ) )
- alert( 'URL requested: "' + urlToCall + '"\r\n' +
- 'Server response:\r\nStatus: ' + oXmlHttp.status + '\r\n' +
- 'Response text:\r\n' + oXmlHttp.responseText ) ;
- }
-}
-
-FCKXml.prototype.SelectNodes = function( xpath, contextNode )
-{
- if ( this.Error )
- return new Array() ;
-
- if ( contextNode )
- return contextNode.selectNodes( xpath ) ;
- else
- return this.DOMDocument.selectNodes( xpath ) ;
-}
-
-FCKXml.prototype.SelectSingleNode = function( xpath, contextNode )
-{
- if ( this.Error )
- return null ;
-
- if ( contextNode )
- return contextNode.selectSingleNode( xpath ) ;
- else
- return this.DOMDocument.selectSingleNode( xpath ) ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fck_othercommands.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fck_othercommands.js
deleted file mode 100644
index 079bfb71c2..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fck_othercommands.js
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Definition of other commands that are not available internaly in the
- * browser (see FCKNamedCommand).
- */
-
-// ### General Dialog Box Commands.
-var FCKDialogCommand = function( name, title, url, width, height, getStateFunction, getStateParam )
-{
- this.Name = name ;
- this.Title = title ;
- this.Url = url ;
- this.Width = width ;
- this.Height = height ;
-
- this.GetStateFunction = getStateFunction ;
- this.GetStateParam = getStateParam ;
-
- this.Resizable = false ;
-}
-
-FCKDialogCommand.prototype.Execute = function()
-{
- FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height, null, null, this.Resizable ) ;
-}
-
-FCKDialogCommand.prototype.GetState = function()
-{
- if ( this.GetStateFunction )
- return this.GetStateFunction( this.GetStateParam ) ;
- else
- return FCK_TRISTATE_OFF ;
-}
-
-// Generic Undefined command (usually used when a command is under development).
-var FCKUndefinedCommand = function()
-{
- this.Name = 'Undefined' ;
-}
-
-FCKUndefinedCommand.prototype.Execute = function()
-{
- alert( FCKLang.NotImplemented ) ;
-}
-
-FCKUndefinedCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### FontName
-var FCKFontNameCommand = function()
-{
- this.Name = 'FontName' ;
-}
-
-FCKFontNameCommand.prototype.Execute = function( fontName )
-{
- if (fontName == null || fontName == "")
- {
- // TODO: Remove font name attribute.
- }
- else
- FCK.ExecuteNamedCommand( 'FontName', fontName ) ;
-}
-
-FCKFontNameCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandValue( 'FontName' ) ;
-}
-
-// ### FontSize
-var FCKFontSizeCommand = function()
-{
- this.Name = 'FontSize' ;
-}
-
-FCKFontSizeCommand.prototype.Execute = function( fontSize )
-{
- if ( typeof( fontSize ) == 'string' ) fontSize = parseInt(fontSize, 10) ;
-
- if ( fontSize == null || fontSize == '' )
- {
- // TODO: Remove font size attribute (Now it works with size 3. Will it work forever?)
- FCK.ExecuteNamedCommand( 'FontSize', 3 ) ;
- }
- else
- FCK.ExecuteNamedCommand( 'FontSize', fontSize ) ;
-}
-
-FCKFontSizeCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandValue( 'FontSize' ) ;
-}
-
-// ### FormatBlock
-var FCKFormatBlockCommand = function()
-{
- this.Name = 'FormatBlock' ;
-}
-
-FCKFormatBlockCommand.prototype.Execute = function( formatName )
-{
- if ( formatName == null || formatName == '' )
- FCK.ExecuteNamedCommand( 'FormatBlock', '
' ) ;
- else if ( formatName == 'div' && FCKBrowserInfo.IsGecko )
- FCK.ExecuteNamedCommand( 'FormatBlock', 'div' ) ;
- else
- FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ;
-}
-
-FCKFormatBlockCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandValue( 'FormatBlock' ) ;
-}
-
-// ### Preview
-var FCKPreviewCommand = function()
-{
- this.Name = 'Preview' ;
-}
-
-FCKPreviewCommand.prototype.Execute = function()
-{
- FCK.Preview() ;
-}
-
-FCKPreviewCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### Save
-var FCKSaveCommand = function()
-{
- this.Name = 'Save' ;
-}
-
-FCKSaveCommand.prototype.Execute = function()
-{
- // Get the linked field form.
- var oForm = FCK.GetParentForm() ;
-
- if ( typeof( oForm.onsubmit ) == 'function' )
- {
- var bRet = oForm.onsubmit() ;
- if ( bRet != null && bRet === false )
- return ;
- }
-
- // Submit the form.
- oForm.submit() ;
-}
-
-FCKSaveCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### NewPage
-var FCKNewPageCommand = function()
-{
- this.Name = 'NewPage' ;
-}
-
-FCKNewPageCommand.prototype.Execute = function()
-{
- FCKUndo.SaveUndoStep() ;
- FCK.SetHTML( '' ) ;
- FCKUndo.Typing = true ;
-}
-
-FCKNewPageCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// ### Source button
-var FCKSourceCommand = function()
-{
- this.Name = 'Source' ;
-}
-
-FCKSourceCommand.prototype.Execute = function()
-{
- if ( FCKConfig.SourcePopup ) // Until v2.2, it was mandatory for FCKBrowserInfo.IsGecko.
- {
- var iWidth = FCKConfig.ScreenWidth * 0.65 ;
- var iHeight = FCKConfig.ScreenHeight * 0.65 ;
- FCKDialog.OpenDialog( 'FCKDialog_Source', FCKLang.Source, 'dialog/fck_source.html', iWidth, iHeight, null, null, true ) ;
- }
- else
- FCK.SwitchEditMode() ;
-}
-
-FCKSourceCommand.prototype.GetState = function()
-{
- return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ;
-}
-
-// ### Undo
-var FCKUndoCommand = function()
-{
- this.Name = 'Undo' ;
-}
-
-FCKUndoCommand.prototype.Execute = function()
-{
- if ( FCKBrowserInfo.IsIE )
- FCKUndo.Undo() ;
- else
- FCK.ExecuteNamedCommand( 'Undo' ) ;
-}
-
-FCKUndoCommand.prototype.GetState = function()
-{
- if ( FCKBrowserInfo.IsIE )
- return ( FCKUndo.CheckUndoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
- else
- return FCK.GetNamedCommandState( 'Undo' ) ;
-}
-
-// ### Redo
-var FCKRedoCommand = function()
-{
- this.Name = 'Redo' ;
-}
-
-FCKRedoCommand.prototype.Execute = function()
-{
- if ( FCKBrowserInfo.IsIE )
- FCKUndo.Redo() ;
- else
- FCK.ExecuteNamedCommand( 'Redo' ) ;
-}
-
-FCKRedoCommand.prototype.GetState = function()
-{
- if ( FCKBrowserInfo.IsIE )
- return ( FCKUndo.CheckRedoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
- else
- return FCK.GetNamedCommandState( 'Redo' ) ;
-}
-
-// ### Page Break
-var FCKPageBreakCommand = function()
-{
- this.Name = 'PageBreak' ;
-}
-
-FCKPageBreakCommand.prototype.Execute = function()
-{
-// var e = FCK.EditorDocument.createElement( 'CENTER' ) ;
-// e.style.pageBreakAfter = 'always' ;
-
- // Tidy was removing the empty CENTER tags, so the following solution has
- // been found. It also validates correctly as XHTML 1.0 Strict.
- var e = FCK.EditorDocument.createElement( 'DIV' ) ;
- e.style.pageBreakAfter = 'always' ;
- e.innerHTML = '' ;
-
- var oFakeImage = FCKDocumentProcessor_CreateFakeImage( 'FCK__PageBreak', e ) ;
- oFakeImage = FCK.InsertElement( oFakeImage ) ;
-}
-
-FCKPageBreakCommand.prototype.GetState = function()
-{
- return 0 ; // FCK_TRISTATE_OFF
-}
-
-// FCKUnlinkCommand - by Johnny Egeland (johnny@coretrek.com)
-var FCKUnlinkCommand = function()
-{
- this.Name = 'Unlink' ;
-}
-
-FCKUnlinkCommand.prototype.Execute = function()
-{
- if ( FCKBrowserInfo.IsGecko )
- {
- var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
- if ( oLink )
- FCK.Selection.SelectNode( oLink ) ;
- }
-
- FCK.ExecuteNamedCommand( this.Name ) ;
-
- if ( FCKBrowserInfo.IsGecko )
- FCK.Selection.Collapse( true ) ;
-}
-
-FCKUnlinkCommand.prototype.GetState = function()
-{
- var state = FCK.GetNamedCommandState( this.Name ) ;
-
- // Check that it isn't an anchor
- if ( state == FCK_TRISTATE_OFF && FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- var oLink = FCKSelection.MoveToAncestorNode( 'A' ) ;
- var bIsAnchor = ( oLink && oLink.name.length > 0 && oLink.href.length == 0 ) ;
- if ( bIsAnchor )
- state = FCK_TRISTATE_DISABLED ;
- }
-
- return state ;
-}
-
-// FCKSelectAllCommand
-var FCKSelectAllCommand = function()
-{
- this.Name = 'SelectAll' ;
-}
-
-FCKSelectAllCommand.prototype.Execute = function()
-{
- if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- FCK.ExecuteNamedCommand( 'SelectAll' ) ;
- }
- else
- {
- // Select the contents of the textarea
- var textarea = FCK.EditingArea.Textarea ;
- if ( FCKBrowserInfo.IsIE )
- {
- textarea.createTextRange().execCommand( 'SelectAll' ) ;
- }
- else
- {
- textarea.selectionStart = 0;
- textarea.selectionEnd = textarea.value.length ;
- }
- textarea.focus() ;
- }
-}
-
-FCKSelectAllCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-// FCKPasteCommand
-var FCKPasteCommand = function()
-{
- this.Name = 'Paste' ;
-}
-
-FCKPasteCommand.prototype =
-{
- Execute : function()
- {
- if ( FCKBrowserInfo.IsIE )
- FCK.Paste() ;
- else
- FCK.ExecuteNamedCommand( 'Paste' ) ;
- },
-
- GetState : function()
- {
- return FCK.GetNamedCommandState( 'Paste' ) ;
- }
-} ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckfitwindow.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckfitwindow.js
deleted file mode 100644
index 66fbdfa7ec..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckfitwindow.js
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Stretch the editor to full window size and back.
- */
-
-var FCKFitWindow = function()
-{
- this.Name = 'FitWindow' ;
-}
-
-FCKFitWindow.prototype.Execute = function()
-{
- var eEditorFrame = window.frameElement ;
- var eEditorFrameStyle = eEditorFrame.style ;
-
- var eMainWindow = parent ;
- var eDocEl = eMainWindow.document.documentElement ;
- var eBody = eMainWindow.document.body ;
- var eBodyStyle = eBody.style ;
- var eParent ;
-
- // No original style properties known? Go fullscreen.
- if ( !this.IsMaximized )
- {
- // Registering an event handler when the window gets resized.
- if( FCKBrowserInfo.IsIE )
- eMainWindow.attachEvent( 'onresize', FCKFitWindow_Resize ) ;
- else
- eMainWindow.addEventListener( 'resize', FCKFitWindow_Resize, true ) ;
-
- // Save the scrollbars position.
- this._ScrollPos = FCKTools.GetScrollPosition( eMainWindow ) ;
-
- // Save and reset the styles for the entire node tree. They could interfere in the result.
- eParent = eEditorFrame ;
- // The extra () is to avoid a warning with strict error checking. This is ok.
- while( (eParent = eParent.parentNode) )
- {
- if ( eParent.nodeType == 1 )
- eParent._fckSavedStyles = FCKTools.SaveStyles( eParent ) ;
- }
-
- // Hide IE scrollbars (in strict mode).
- if ( FCKBrowserInfo.IsIE )
- {
- this.documentElementOverflow = eDocEl.style.overflow ;
- eDocEl.style.overflow = 'hidden' ;
- eBodyStyle.overflow = 'hidden' ;
- }
- else
- {
- // Hide the scroolbars in Firefox.
- eBodyStyle.overflow = 'hidden' ;
- eBodyStyle.width = '0px' ;
- eBodyStyle.height = '0px' ;
- }
-
- // Save the IFRAME styles.
- this._EditorFrameStyles = FCKTools.SaveStyles( eEditorFrame ) ;
-
- // Resize.
- var oViewPaneSize = FCKTools.GetViewPaneSize( eMainWindow ) ;
-
- eEditorFrameStyle.position = "absolute";
- eEditorFrameStyle.zIndex = FCKConfig.FloatingPanelsZIndex - 1;
- eEditorFrameStyle.left = "0px";
- eEditorFrameStyle.top = "0px";
- eEditorFrameStyle.width = oViewPaneSize.Width + "px";
- eEditorFrameStyle.height = oViewPaneSize.Height + "px";
-
- // Giving the frame some (huge) borders on his right and bottom
- // side to hide the background that would otherwise show when the
- // editor is in fullsize mode and the window is increased in size
- // not for IE, because IE immediately adapts the editor on resize,
- // without showing any of the background oddly in firefox, the
- // editor seems not to fill the whole frame, so just setting the
- // background of it to white to cover the page laying behind it anyway.
- if ( !FCKBrowserInfo.IsIE )
- {
- eEditorFrameStyle.borderRight = eEditorFrameStyle.borderBottom = "9999px solid white" ;
- eEditorFrameStyle.backgroundColor = "white";
- }
-
- // Scroll to top left.
- eMainWindow.scrollTo(0, 0);
-
- this.IsMaximized = true ;
- }
- else // Resize to original size.
- {
- // Remove the event handler of window resizing.
- if( FCKBrowserInfo.IsIE )
- eMainWindow.detachEvent( "onresize", FCKFitWindow_Resize ) ;
- else
- eMainWindow.removeEventListener( "resize", FCKFitWindow_Resize, true ) ;
-
- // Restore the CSS position for the entire node tree.
- eParent = eEditorFrame ;
- // The extra () is to avoid a warning with strict error checking. This is ok.
- while( (eParent = eParent.parentNode) )
- {
- if ( eParent._fckSavedStyles )
- {
- FCKTools.RestoreStyles( eParent, eParent._fckSavedStyles ) ;
- eParent._fckSavedStyles = null ;
- }
- }
-
- // Restore IE scrollbars
- if ( FCKBrowserInfo.IsIE )
- eDocEl.style.overflow = this.documentElementOverflow ;
-
- // Restore original size
- FCKTools.RestoreStyles( eEditorFrame, this._EditorFrameStyles ) ;
-
- // Restore the window scroll position.
- eMainWindow.scrollTo( this._ScrollPos.X, this._ScrollPos.Y ) ;
-
- this.IsMaximized = false ;
- }
-
- FCKToolbarItems.GetItem('FitWindow').RefreshState() ;
-
- // It seams that Firefox restarts the editing area when making this changes.
- // On FF 1.0.x, the area is not anymore editable. On FF 1.5+, the special
- //configuration, like DisableFFTableHandles and DisableObjectResizing get
- //lost, so we must reset it. Also, the cursor position and selection are
- //also lost, even if you comment the following line (MakeEditable).
- // if ( FCKBrowserInfo.IsGecko10 ) // Initially I thought it was a FF 1.0 only problem.
- FCK.EditingArea.MakeEditable() ;
-
- FCK.Focus() ;
-}
-
-FCKFitWindow.prototype.GetState = function()
-{
- if ( FCKConfig.ToolbarLocation != 'In' )
- return FCK_TRISTATE_DISABLED ;
- else
- return ( this.IsMaximized ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF );
-}
-
-function FCKFitWindow_Resize()
-{
- var oViewPaneSize = FCKTools.GetViewPaneSize( parent ) ;
-
- var eEditorFrameStyle = window.frameElement.style ;
-
- eEditorFrameStyle.width = oViewPaneSize.Width + 'px' ;
- eEditorFrameStyle.height = oViewPaneSize.Height + 'px' ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcknamedcommand.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcknamedcommand.js
deleted file mode 100644
index 8b6909684e..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcknamedcommand.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKNamedCommand Class: represents an internal browser command.
- */
-
-var FCKNamedCommand = function( commandName )
-{
- this.Name = commandName ;
-}
-
-FCKNamedCommand.prototype.Execute = function()
-{
- FCK.ExecuteNamedCommand( this.Name ) ;
-}
-
-FCKNamedCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandState( this.Name ) ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js
deleted file mode 100644
index f12ac82853..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKPastePlainTextCommand Class: represents the
- * "Paste as Plain Text" command.
- */
-
-var FCKPastePlainTextCommand = function()
-{
- this.Name = 'PasteText' ;
-}
-
-FCKPastePlainTextCommand.prototype.Execute = function()
-{
- FCK.PasteAsPlainText() ;
-}
-
-FCKPastePlainTextCommand.prototype.GetState = function()
-{
- return FCK.GetNamedCommandState( 'Paste' ) ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js
deleted file mode 100644
index b0608d4a2b..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKPasteWordCommand Class: represents the "Paste from Word" command.
- */
-
-var FCKPasteWordCommand = function()
-{
- this.Name = 'PasteWord' ;
-}
-
-FCKPasteWordCommand.prototype.Execute = function()
-{
- FCK.PasteFromWord() ;
-}
-
-FCKPasteWordCommand.prototype.GetState = function()
-{
- if ( FCKConfig.ForcePasteAsPlainText )
- return FCK_TRISTATE_DISABLED ;
- else
- return FCK.GetNamedCommandState( 'Paste' ) ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js
deleted file mode 100644
index 527ab1e2df..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKStyleCommand Class: represents the "Spell Check" command.
- * (Gecko specific implementation)
- */
-
-var FCKSpellCheckCommand = function()
-{
- this.Name = 'SpellCheck' ;
- this.IsEnabled = ( FCKConfig.SpellChecker == 'SpellerPages' ) ;
-}
-
-FCKSpellCheckCommand.prototype.Execute = function()
-{
- FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ;
-}
-
-FCKSpellCheckCommand.prototype.GetState = function()
-{
- return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js
deleted file mode 100644
index 820578712a..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKStyleCommand Class: represents the "Spell Check" command.
- * (IE specific implementation)
- */
-
-var FCKSpellCheckCommand = function()
-{
- this.Name = 'SpellCheck' ;
- this.IsEnabled = ( FCKConfig.SpellChecker == 'ieSpell' || FCKConfig.SpellChecker == 'SpellerPages' ) ;
-}
-
-FCKSpellCheckCommand.prototype.Execute = function()
-{
- switch ( FCKConfig.SpellChecker )
- {
- case 'ieSpell' :
- this._RunIeSpell() ;
- break ;
-
- case 'SpellerPages' :
- FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ;
- break ;
- }
-}
-
-FCKSpellCheckCommand.prototype._RunIeSpell = function()
-{
- try
- {
- var oIeSpell = new ActiveXObject( "ieSpell.ieSpellExtension" ) ;
- oIeSpell.CheckAllLinkedDocuments( FCK.EditorDocument ) ;
- }
- catch( e )
- {
- if( e.number == -2146827859 )
- {
- if ( confirm( FCKLang.IeSpellDownload ) )
- window.open( FCKConfig.IeSpellDownloadUrl , 'IeSpellDownload' ) ;
- }
- else
- alert( 'Error Loading ieSpell: ' + e.message + ' (' + e.number + ')' ) ;
- }
-}
-
-FCKSpellCheckCommand.prototype.GetState = function()
-{
- return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckstylecommand.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckstylecommand.js
deleted file mode 100644
index 6ba8142075..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fckstylecommand.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKStyleCommand Class: represents the "Style" command.
- */
-
-var FCKStyleCommand = function()
-{
- this.Name = 'Style' ;
-
- // Load the Styles defined in the XML file.
- this.StylesLoader = new FCKStylesLoader() ;
- this.StylesLoader.Load( FCKConfig.StylesXmlPath ) ;
- this.Styles = this.StylesLoader.Styles ;
-}
-
-FCKStyleCommand.prototype.Execute = function( styleName, styleComboItem )
-{
- FCKUndo.SaveUndoStep() ;
-
- if ( styleComboItem.Selected )
- styleComboItem.Style.RemoveFromSelection() ;
- else
- styleComboItem.Style.ApplyToSelection() ;
-
- FCKUndo.SaveUndoStep() ;
-
- FCK.Focus() ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
-}
-
-FCKStyleCommand.prototype.GetState = function()
-{
- if ( !FCK.EditorDocument )
- return FCK_TRISTATE_DISABLED ;
-
- var oSelection = FCK.EditorDocument.selection ;
-
- if ( FCKSelection.GetType() == 'Control' )
- {
- var e = FCKSelection.GetSelectedElement() ;
- if ( e )
- return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
- }
-
- return FCK_TRISTATE_OFF ;
-}
-
-FCKStyleCommand.prototype.GetActiveStyles = function()
-{
- var aActiveStyles = new Array() ;
-
- if ( FCKSelection.GetType() == 'Control' )
- this._CheckStyle( FCKSelection.GetSelectedElement(), aActiveStyles, false ) ;
- else
- this._CheckStyle( FCKSelection.GetParentElement(), aActiveStyles, true ) ;
-
- return aActiveStyles ;
-}
-
-FCKStyleCommand.prototype._CheckStyle = function( element, targetArray, checkParent )
-{
- if ( ! element )
- return ;
-
- if ( element.nodeType == 1 )
- {
- var aStyleGroup = this.StylesLoader.StyleGroups[ element.tagName ] ;
- if ( aStyleGroup )
- {
- for ( var i = 0 ; i < aStyleGroup.length ; i++ )
- {
- if ( aStyleGroup[i].IsEqual( element ) )
- targetArray[ targetArray.length ] = aStyleGroup[i] ;
- }
- }
- }
-
- if ( checkParent )
- this._CheckStyle( element.parentNode, targetArray, checkParent ) ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcktablecommand.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcktablecommand.js
deleted file mode 100644
index ed69d858df..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcktablecommand.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKPastePlainTextCommand Class: represents the
- * "Paste as Plain Text" command.
- */
-
-var FCKTableCommand = function( command )
-{
- this.Name = command ;
-}
-
-FCKTableCommand.prototype.Execute = function()
-{
- FCKUndo.SaveUndoStep() ;
-
- switch ( this.Name )
- {
- case 'TableInsertRow' :
- FCKTableHandler.InsertRow() ;
- break ;
- case 'TableDeleteRows' :
- FCKTableHandler.DeleteRows() ;
- break ;
- case 'TableInsertColumn' :
- FCKTableHandler.InsertColumn() ;
- break ;
- case 'TableDeleteColumns' :
- FCKTableHandler.DeleteColumns() ;
- break ;
- case 'TableInsertCell' :
- FCKTableHandler.InsertCell() ;
- break ;
- case 'TableDeleteCells' :
- FCKTableHandler.DeleteCells() ;
- break ;
- case 'TableMergeCells' :
- FCKTableHandler.MergeCells() ;
- break ;
- case 'TableSplitCell' :
- FCKTableHandler.SplitCell() ;
- break ;
- case 'TableDelete' :
- FCKTableHandler.DeleteTable() ;
- break ;
- default :
- alert( FCKLang.UnknownCommand.replace( /%1/g, this.Name ) ) ;
- }
-}
-
-FCKTableCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js b/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js
deleted file mode 100644
index ba1ac0e775..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * FCKTextColorCommand Class: represents the text color comand. It shows the
- * color selection panel.
- */
-
-// FCKTextColorCommand Contructor
-// type: can be 'ForeColor' or 'BackColor'.
-var FCKTextColorCommand = function( type )
-{
- this.Name = type == 'ForeColor' ? 'TextColor' : 'BGColor' ;
- this.Type = type ;
-
- var oWindow ;
-
- if ( FCKBrowserInfo.IsIE )
- oWindow = window ;
- else if ( FCK.ToolbarSet._IFrame )
- oWindow = FCKTools.GetElementWindow( FCK.ToolbarSet._IFrame ) ;
- else
- oWindow = window.parent ;
-
- this._Panel = new FCKPanel( oWindow, true ) ;
- this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
- this._Panel.MainNode.className = 'FCK_Panel' ;
- this._CreatePanelBody( this._Panel.Document, this._Panel.MainNode ) ;
-
- FCKTools.DisableSelection( this._Panel.Document.body ) ;
-}
-
-FCKTextColorCommand.prototype.Execute = function( panelX, panelY, relElement )
-{
- // We must "cache" the actual panel type to be used in the SetColor method.
- FCK._ActiveColorPanelType = this.Type ;
-
- // Show the Color Panel at the desired position.
- this._Panel.Show( panelX, panelY, relElement ) ;
-}
-
-FCKTextColorCommand.prototype.SetColor = function( color )
-{
- if ( FCK._ActiveColorPanelType == 'ForeColor' )
- FCK.ExecuteNamedCommand( 'ForeColor', color ) ;
- else if ( FCKBrowserInfo.IsGeckoLike )
- {
- if ( FCKBrowserInfo.IsGecko && !FCKConfig.GeckoUseSPAN )
- FCK.EditorDocument.execCommand( 'useCSS', false, false ) ;
-
- FCK.ExecuteNamedCommand( 'hilitecolor', color ) ;
-
- if ( FCKBrowserInfo.IsGecko && !FCKConfig.GeckoUseSPAN )
- FCK.EditorDocument.execCommand( 'useCSS', false, true ) ;
- }
- else
- FCK.ExecuteNamedCommand( 'BackColor', color ) ;
-
- // Delete the "cached" active panel type.
- delete FCK._ActiveColorPanelType ;
-}
-
-FCKTextColorCommand.prototype.GetState = function()
-{
- return FCK_TRISTATE_OFF ;
-}
-
-function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected' ; }
-
-function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected' ; }
-
-function FCKTextColorCommand_OnClick()
-{
- this.className = 'ColorDeselected' ;
- this.Command.SetColor( '#' + this.Color ) ;
- this.Command._Panel.Hide() ;
-}
-
-function FCKTextColorCommand_AutoOnClick()
-{
- this.className = 'ColorDeselected' ;
- this.Command.SetColor( '' ) ;
- this.Command._Panel.Hide() ;
-}
-
-function FCKTextColorCommand_MoreOnClick()
-{
- this.className = 'ColorDeselected' ;
- this.Command._Panel.Hide() ;
- FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, this.Command.SetColor ) ;
-}
-
-FCKTextColorCommand.prototype._CreatePanelBody = function( targetDocument, targetDiv )
-{
- function CreateSelectionDiv()
- {
- var oDiv = targetDocument.createElement( "DIV" ) ;
- oDiv.className = 'ColorDeselected' ;
- oDiv.onmouseover = FCKTextColorCommand_OnMouseOver ;
- oDiv.onmouseout = FCKTextColorCommand_OnMouseOut ;
-
- return oDiv ;
- }
-
- // Create the Table that will hold all colors.
- var oTable = targetDiv.appendChild( targetDocument.createElement( "TABLE" ) ) ;
- oTable.className = 'ForceBaseFont' ; // Firefox 1.5 Bug.
- oTable.style.tableLayout = 'fixed' ;
- oTable.cellPadding = 0 ;
- oTable.cellSpacing = 0 ;
- oTable.border = 0 ;
- oTable.width = 150 ;
-
- var oCell = oTable.insertRow(-1).insertCell(-1) ;
- oCell.colSpan = 8 ;
-
- // Create the Button for the "Automatic" color selection.
- var oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
- oDiv.innerHTML =
- '
\
-
\
-
\
-
' + FCKLang.ColorAutomatic + '
\
-
\
-
' ;
-
- oDiv.Command = this ;
- oDiv.onclick = FCKTextColorCommand_AutoOnClick ;
-
- // Create an array of colors based on the configuration file.
- var aColors = FCKConfig.FontColors.toString().split(',') ;
-
- // Create the colors table based on the array.
- var iCounter = 0 ;
- while ( iCounter < aColors.length )
- {
- var oRow = oTable.insertRow(-1) ;
-
- for ( var i = 0 ; i < 8 && iCounter < aColors.length ; i++, iCounter++ )
- {
- oDiv = oRow.insertCell(-1).appendChild( CreateSelectionDiv() ) ;
- oDiv.Color = aColors[iCounter] ;
- oDiv.innerHTML = '
' ;
-
- oDiv.Command = this ;
- oDiv.onclick = FCKTextColorCommand_OnClick ;
- }
- }
-
- // Create the Row and the Cell for the "More Colors..." button.
- oCell = oTable.insertRow(-1).insertCell(-1) ;
- oCell.colSpan = 8 ;
-
- oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
- oDiv.innerHTML = '
' + FCKLang.ColorMoreColors + '
' ;
-
- oDiv.Command = this ;
- oDiv.onclick = FCKTextColorCommand_MoreOnClick ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/fckconstants.js b/phpgwapi/js/fckeditor/editor/_source/fckconstants.js
deleted file mode 100644
index c44ca789fe..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/fckconstants.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Defines some constants used by the editor. These constants are also
- * globally available in the page where the editor is placed.
- */
-
-// Editor Instance Status.
-var FCK_STATUS_NOTLOADED = window.parent.FCK_STATUS_NOTLOADED = 0 ;
-var FCK_STATUS_ACTIVE = window.parent.FCK_STATUS_ACTIVE = 1 ;
-var FCK_STATUS_COMPLETE = window.parent.FCK_STATUS_COMPLETE = 2 ;
-
-// Tristate Operations.
-var FCK_TRISTATE_OFF = window.parent.FCK_TRISTATE_OFF = 0 ;
-var FCK_TRISTATE_ON = window.parent.FCK_TRISTATE_ON = 1 ;
-var FCK_TRISTATE_DISABLED = window.parent.FCK_TRISTATE_DISABLED = -1 ;
-
-// For unknown values.
-var FCK_UNKNOWN = window.parent.FCK_UNKNOWN = -9 ;
-
-// Toolbar Items Style.
-var FCK_TOOLBARITEM_ONLYICON = window.parent.FCK_TOOLBARITEM_ONLYICON = 0 ;
-var FCK_TOOLBARITEM_ONLYTEXT = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 1 ;
-var FCK_TOOLBARITEM_ICONTEXT = window.parent.FCK_TOOLBARITEM_ICONTEXT = 2 ;
-
-// Edit Mode
-var FCK_EDITMODE_WYSIWYG = window.parent.FCK_EDITMODE_WYSIWYG = 0 ;
-var FCK_EDITMODE_SOURCE = window.parent.FCK_EDITMODE_SOURCE = 1 ;
-
-var FCK_IMAGES_PATH = 'images/' ; // Check usage.
-var FCK_SPACER_PATH = 'images/spacer.gif' ;
-
-var CTRL = 1000 ;
-var SHIFT = 2000 ;
-var ALT = 4000 ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/fckeditorapi.js b/phpgwapi/js/fckeditor/editor/_source/fckeditorapi.js
deleted file mode 100644
index 0a4fb46d75..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/fckeditorapi.js
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Create the FCKeditorAPI object that is available as a global object in
- * the page where the editor is placed in.
- */
-
-var FCKeditorAPI ;
-
-function InitializeAPI()
-{
- var oParentWindow = window.parent ;
-
- if ( !( FCKeditorAPI = oParentWindow.FCKeditorAPI ) )
- {
- // Make the FCKeditorAPI object available in the parent window. Use
- // eval so this core runs in the parent's scope and so it will still be
- // available if the editor instance is removed ("Can't execute code
- // from a freed script" error).
-
- // Note: we check the existence of oEditor.GetParentForm because some external
- // code (like JSON) can extend the Object protype and we get then extra oEditor
- // objects that aren't really FCKeditor instances.
- var sScript =
- 'var FCKeditorAPI = {' +
- 'Version : "2.4.1",' +
- 'VersionBuild : "14797",' +
- '__Instances : new Object(),' +
-
- 'GetInstance : function( name )' +
- '{' +
- 'return this.__Instances[ name ];' +
- '},' +
-
- '_FormSubmit : function()' +
- '{' +
- 'for ( var name in FCKeditorAPI.__Instances )' +
- '{' +
- 'var oEditor = FCKeditorAPI.__Instances[ name ] ;' +
- 'if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )' +
- 'oEditor.UpdateLinkedField() ;' +
- '}' +
- 'this._FCKOriginalSubmit() ;' +
- '},' +
-
- '_FunctionQueue : {' +
- 'Functions : new Array(),' +
- 'IsRunning : false,' +
-
- 'Add : function( f )' +
- '{' +
- 'this.Functions.push( f );' +
- 'if ( !this.IsRunning )' +
- 'this.StartNext();' +
- '},' +
-
- 'StartNext : function()' +
- '{' +
- 'var aQueue = this.Functions ;' +
- 'if ( aQueue.length > 0 )' +
- '{' +
- 'this.IsRunning = true;' +
- 'aQueue[0].call();' +
- '}' +
- 'else ' +
- 'this.IsRunning = false;' +
- '},' +
-
- 'Remove : function( f )' +
- '{' +
- 'var aQueue = this.Functions;' +
- 'var i = 0, fFunc;' +
- 'while( (fFunc = aQueue[ i ]) )' +
- '{' +
- 'if ( fFunc == f )' +
- 'aQueue.splice( i,1 );' +
- 'i++ ;' +
- '}' +
- 'this.StartNext();' +
- '}' +
- '}' +
- '}' ;
-
- // In IE, the "eval" function is not always available (it works with
- // the JavaScript samples, but not with the ASP ones, for example).
- // So, let's use the execScript instead.
- if ( oParentWindow.execScript )
- oParentWindow.execScript( sScript, 'JavaScript' ) ;
- else
- {
- if ( FCKBrowserInfo.IsGecko10 )
- {
- // FF 1.0.4 gives an error with the request bellow. The
- // following seams to work well.
- eval.call( oParentWindow, sScript ) ;
- }
- else if ( FCKBrowserInfo.IsSafari )
- {
- // oParentWindow.eval in Safari executes in the calling window
- // environment, instead of the parent one. The following should make it work.
- var oParentDocument = oParentWindow.document ;
- var eScript = oParentDocument.createElement('script') ;
- eScript.appendChild( oParentDocument.createTextNode( sScript ) ) ;
- oParentDocument.documentElement.appendChild( eScript ) ;
- }
- else
- oParentWindow.eval( sScript ) ;
- }
-
- FCKeditorAPI = oParentWindow.FCKeditorAPI ;
- }
-
- // Add the current instance to the FCKeditorAPI's instances collection.
- FCKeditorAPI.__Instances[ FCK.Name ] = FCK ;
-}
-
-// Attach to the form onsubmit event and to the form.submit().
-function _AttachFormSubmitToAPI()
-{
- // Get the linked field form.
- var oForm = FCK.GetParentForm() ;
-
- if ( oForm )
- {
- // Attach to the onsubmit event.
- FCKTools.AddEventListener( oForm, 'submit', FCK.UpdateLinkedField ) ;
-
- // IE sees oForm.submit function as an 'object'.
- if ( !oForm._FCKOriginalSubmit && ( typeof( oForm.submit ) == 'function' || ( !oForm.submit.tagName && !oForm.submit.length ) ) )
- {
- // Save the original submit.
- oForm._FCKOriginalSubmit = oForm.submit ;
-
- // Create our replacement for the submit.
- oForm.submit = FCKeditorAPI._FormSubmit ;
- }
- }
-}
-
-function FCKeditorAPI_Cleanup()
-{
- delete FCKeditorAPI.__Instances[ FCK.Name ] ;
-}
-FCKTools.AddEventListener( window, 'unload', FCKeditorAPI_Cleanup ) ;
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/fckjscoreextensions.js b/phpgwapi/js/fckeditor/editor/_source/fckjscoreextensions.js
deleted file mode 100644
index d32f505223..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/fckjscoreextensions.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Extensions to the JavaScript Core.
- *
- * All custom extentions functions are PascalCased to differ from the standard
- * camelCased ones.
- */
-
-String.prototype.Contains = function( textToCheck )
-{
- return ( this.indexOf( textToCheck ) > -1 ) ;
-}
-
-String.prototype.Equals = function()
-{
- var aArgs = arguments ;
-
- // The arguments could also be a single array.
- if ( aArgs.length == 1 && aArgs[0].pop )
- aArgs = aArgs[0] ;
-
- for ( var i = 0 ; i < aArgs.length ; i++ )
- {
- if ( this == aArgs[i] )
- return true ;
- }
- return false ;
-}
-
-String.prototype.IEquals = function()
-{
- var thisUpper = this.toUpperCase() ;
-
- var aArgs = arguments ;
-
- // The arguments could also be a single array.
- if ( aArgs.length == 1 && aArgs[0].pop )
- aArgs = aArgs[0] ;
-
- for ( var i = 0 ; i < aArgs.length ; i++ )
- {
- if ( thisUpper == aArgs[i].toUpperCase() )
- return true ;
- }
- return false ;
-}
-
-String.prototype.ReplaceAll = function( searchArray, replaceArray )
-{
- var replaced = this ;
-
- for ( var i = 0 ; i < searchArray.length ; i++ )
- {
- replaced = replaced.replace( searchArray[i], replaceArray[i] ) ;
- }
-
- return replaced ;
-}
-
-Array.prototype.AddItem = function( item )
-{
- var i = this.length ;
- this[ i ] = item ;
- return i ;
-}
-
-Array.prototype.IndexOf = function( value )
-{
- for ( var i = 0 ; i < this.length ; i++ )
- {
- if ( this[i] == value )
- return i ;
- }
- return -1 ;
-}
-
-String.prototype.StartsWith = function( value )
-{
- return ( this.substr( 0, value.length ) == value ) ;
-}
-
-// Extends the String object, creating a "EndsWith" method on it.
-String.prototype.EndsWith = function( value, ignoreCase )
-{
- var L1 = this.length ;
- var L2 = value.length ;
-
- if ( L2 > L1 )
- return false ;
-
- if ( ignoreCase )
- {
- var oRegex = new RegExp( value + '$' , 'i' ) ;
- return oRegex.test( this ) ;
- }
- else
- return ( L2 == 0 || this.substr( L1 - L2, L2 ) == value ) ;
-}
-
-String.prototype.Remove = function( start, length )
-{
- var s = '' ;
-
- if ( start > 0 )
- s = this.substring( 0, start ) ;
-
- if ( start + length < this.length )
- s += this.substring( start + length , this.length ) ;
-
- return s ;
-}
-
-String.prototype.Trim = function()
-{
- // We are not using \s because we don't want "non-breaking spaces to be caught".
- return this.replace( /(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '' ) ;
-}
-
-String.prototype.LTrim = function()
-{
- // We are not using \s because we don't want "non-breaking spaces to be caught".
- return this.replace( /^[ \t\n\r]*/g, '' ) ;
-}
-
-String.prototype.RTrim = function()
-{
- // We are not using \s because we don't want "non-breaking spaces to be caught".
- return this.replace( /[ \t\n\r]*$/g, '' ) ;
-}
-
-String.prototype.ReplaceNewLineChars = function( replacement )
-{
- return this.replace( /\n/g, replacement ) ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/fckscriptloader.js b/phpgwapi/js/fckeditor/editor/_source/fckscriptloader.js
deleted file mode 100644
index 42c7340828..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/fckscriptloader.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is a utility object which can be used to load specific components of
- * FCKeditor, including all dependencies.
- */
-
-var FCK_GENERIC = 1 ;
-var FCK_GENERIC_SPECIFIC = 2 ;
-var FCK_SPECIFIC = 3 ;
-
-var FCKScriptLoader = new Object() ;
-FCKScriptLoader.FCKeditorPath = '/fckeditor/' ;
-
-FCKScriptLoader._Scripts = new Object() ;
-FCKScriptLoader._LoadedScripts = new Object() ;
-
-FCKScriptLoader._IsIE = (/msie/).test( navigator.userAgent.toLowerCase() ) ;
-
-FCKScriptLoader.Load = function( scriptName )
-{
- // Check if the script has already been loaded.
- if ( scriptName in FCKScriptLoader._LoadedScripts )
- return ;
-
- var oScriptInfo = this._Scripts[ scriptName ] ;
-
- if ( !oScriptInfo )
- {
- alert( 'FCKScriptLoader: The script "' + scriptName + '" could not be loaded' ) ;
- return ;
- }
-
- for ( var i = 0 ; i < oScriptInfo.Dependency.length ; i++ )
- {
- this.Load( oScriptInfo.Dependency[i] ) ;
- }
-
- var sBaseScriptName = oScriptInfo.BasePath + scriptName.toLowerCase() ;
-
- if ( oScriptInfo.Compatibility == FCK_GENERIC || oScriptInfo.Compatibility == FCK_GENERIC_SPECIFIC )
- this._LoadScript( sBaseScriptName + '.js' ) ;
-
- if ( oScriptInfo.Compatibility == FCK_SPECIFIC || oScriptInfo.Compatibility == FCK_GENERIC_SPECIFIC )
- {
- if ( this._IsIE )
- this._LoadScript( sBaseScriptName + '_ie.js' ) ;
- else
- this._LoadScript( sBaseScriptName + '_gecko.js' ) ;
- }
-
- FCKScriptLoader._LoadedScripts[ scriptName ] = true ;
-}
-
-FCKScriptLoader._LoadScript = function( scriptPathFromSource )
-{
- document.write( '' + document.getElementById( 'xToolbarSpace' ).innerHTML + '' ) ;
- eTargetDocument.close() ;
-
- eTargetDocument.oncontextmenu = FCKTools.CancelEvent ;
-
- // Load external resources (must be done here, otherwise Firefox will not
- // have the document DOM ready to be used right away.
- FCKTools.AppendStyleSheet( eTargetDocument, FCKConfig.SkinPath + 'fck_editor.css' ) ;
-
- oToolbarSet = eToolbarTarget.__FCKToolbarSet = new FCKToolbarSet( eTargetDocument ) ;
- oToolbarSet._IFrame = eToolbarIFrame ;
-
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( eToolbarTarget, FCKToolbarSet_Target_Cleanup ) ;
- }
-
- oToolbarSet.CurrentInstance = FCK ;
-
- FCK.AttachToOnSelectionChange( oToolbarSet.RefreshItemsState ) ;
-
- return oToolbarSet ;
-}
-
-function FCK_OnBlur( editorInstance )
-{
- var eToolbarSet = editorInstance.ToolbarSet ;
-
- if ( eToolbarSet.CurrentInstance == editorInstance )
- eToolbarSet.Disable() ;
-}
-
-function FCK_OnFocus( editorInstance )
-{
- var oToolbarset = editorInstance.ToolbarSet ;
- var oInstance = editorInstance || FCK ;
-
- // Unregister the toolbar window from the current instance.
- oToolbarset.CurrentInstance.FocusManager.RemoveWindow( oToolbarset._IFrame.contentWindow ) ;
-
- // Set the new current instance.
- oToolbarset.CurrentInstance = oInstance ;
-
- // Register the toolbar window in the current instance.
- oInstance.FocusManager.AddWindow( oToolbarset._IFrame.contentWindow, true ) ;
-
- oToolbarset.Enable() ;
-}
-
-function FCKToolbarSet_Cleanup()
-{
- this._TargetElement = null ;
- this._IFrame = null ;
-}
-
-function FCKToolbarSet_Target_Cleanup()
-{
- this.__FCKToolbarSet = null ;
-}
-
-var FCKToolbarSet = function( targetDocument )
-{
- this._Document = targetDocument ;
-
- // Get the element that will hold the elements structure.
- this._TargetElement = targetDocument.getElementById( 'xToolbar' ) ;
-
- // Setup the expand and collapse handlers.
- var eExpandHandle = targetDocument.getElementById( 'xExpandHandle' ) ;
- var eCollapseHandle = targetDocument.getElementById( 'xCollapseHandle' ) ;
-
- eExpandHandle.title = FCKLang.ToolbarExpand ;
- eExpandHandle.onclick = FCKToolbarSet_Expand_OnClick ;
-
- eCollapseHandle.title = FCKLang.ToolbarCollapse ;
- eCollapseHandle.onclick = FCKToolbarSet_Collapse_OnClick ;
-
- // Set the toolbar state at startup.
- if ( !FCKConfig.ToolbarCanCollapse || FCKConfig.ToolbarStartExpanded )
- this.Expand() ;
- else
- this.Collapse() ;
-
- // Enable/disable the collapse handler
- eCollapseHandle.style.display = FCKConfig.ToolbarCanCollapse ? '' : 'none' ;
-
- if ( FCKConfig.ToolbarCanCollapse )
- eCollapseHandle.style.display = '' ;
- else
- targetDocument.getElementById( 'xTBLeftBorder' ).style.display = '' ;
-
- // Set the default properties.
- this.Toolbars = new Array() ;
- this.IsLoaded = false ;
-
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( this, FCKToolbarSet_Cleanup ) ;
-}
-
-function FCKToolbarSet_Expand_OnClick()
-{
- FCK.ToolbarSet.Expand() ;
-}
-
-function FCKToolbarSet_Collapse_OnClick()
-{
- FCK.ToolbarSet.Collapse() ;
-}
-
-FCKToolbarSet.prototype.Expand = function()
-{
- this._ChangeVisibility( false ) ;
-}
-
-FCKToolbarSet.prototype.Collapse = function()
-{
- this._ChangeVisibility( true ) ;
-}
-
-FCKToolbarSet.prototype._ChangeVisibility = function( collapse )
-{
- this._Document.getElementById( 'xCollapsed' ).style.display = collapse ? '' : 'none' ;
- this._Document.getElementById( 'xExpanded' ).style.display = collapse ? 'none' : '' ;
-
- if ( FCKBrowserInfo.IsGecko )
- {
- // I had to use "setTimeout" because Gecko was not responding in a right
- // way when calling window.onresize() directly.
- FCKTools.RunFunction( window.onresize ) ;
- }
-}
-
-FCKToolbarSet.prototype.Load = function( toolbarSetName )
-{
- this.Name = toolbarSetName ;
-
- this.Items = new Array() ;
-
- // Reset the array of toolbat items that are active only on WYSIWYG mode.
- this.ItemsWysiwygOnly = new Array() ;
-
- // Reset the array of toolbar items that are sensitive to the cursor position.
- this.ItemsContextSensitive = new Array() ;
-
- // Cleanup the target element.
- this._TargetElement.innerHTML = '' ;
-
- var ToolbarSet = FCKConfig.ToolbarSets[toolbarSetName] ;
-
- if ( !ToolbarSet )
- {
- alert( FCKLang.UnknownToolbarSet.replace( /%1/g, toolbarSetName ) ) ;
- return ;
- }
-
- this.Toolbars = new Array() ;
-
- for ( var x = 0 ; x < ToolbarSet.length ; x++ )
- {
- var oToolbarItems = ToolbarSet[x] ;
-
- var oToolbar ;
-
- if ( typeof( oToolbarItems ) == 'string' )
- {
- if ( oToolbarItems == '/' )
- oToolbar = new FCKToolbarBreak() ;
- }
- else
- {
- oToolbar = new FCKToolbar() ;
-
- for ( var j = 0 ; j < oToolbarItems.length ; j++ )
- {
- var sItem = oToolbarItems[j] ;
-
- if ( sItem == '-')
- oToolbar.AddSeparator() ;
- else
- {
- var oItem = FCKToolbarItems.GetItem( sItem ) ;
- if ( oItem )
- {
- oToolbar.AddItem( oItem ) ;
-
- this.Items.push( oItem ) ;
-
- if ( !oItem.SourceView )
- this.ItemsWysiwygOnly.push( oItem ) ;
-
- if ( oItem.ContextSensitive )
- this.ItemsContextSensitive.push( oItem ) ;
- }
- }
- }
-
- // oToolbar.AddTerminator() ;
- }
-
- oToolbar.Create( this._TargetElement ) ;
-
- this.Toolbars[ this.Toolbars.length ] = oToolbar ;
- }
-
- FCKTools.DisableSelection( this._Document.getElementById( 'xCollapseHandle' ).parentNode ) ;
-
- if ( FCK.Status != FCK_STATUS_COMPLETE )
- FCK.Events.AttachEvent( 'OnStatusChange', this.RefreshModeState ) ;
- else
- this.RefreshModeState() ;
-
- this.IsLoaded = true ;
- this.IsEnabled = true ;
-
- FCKTools.RunFunction( this.OnLoad ) ;
-}
-
-FCKToolbarSet.prototype.Enable = function()
-{
- if ( this.IsEnabled )
- return ;
-
- this.IsEnabled = true ;
-
- var aItems = this.Items ;
- for ( var i = 0 ; i < aItems.length ; i++ )
- aItems[i].RefreshState() ;
-}
-
-FCKToolbarSet.prototype.Disable = function()
-{
- if ( !this.IsEnabled )
- return ;
-
- this.IsEnabled = false ;
-
- var aItems = this.Items ;
- for ( var i = 0 ; i < aItems.length ; i++ )
- aItems[i].Disable() ;
-}
-
-FCKToolbarSet.prototype.RefreshModeState = function( editorInstance )
-{
- if ( FCK.Status != FCK_STATUS_COMPLETE )
- return ;
-
- var oToolbarSet = editorInstance ? editorInstance.ToolbarSet : this ;
- var aItems = oToolbarSet.ItemsWysiwygOnly ;
-
- if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- // Enable all buttons that are available on WYSIWYG mode only.
- for ( var i = 0 ; i < aItems.length ; i++ )
- aItems[i].Enable() ;
-
- // Refresh the buttons state.
- oToolbarSet.RefreshItemsState( editorInstance ) ;
- }
- else
- {
- // Refresh the buttons state.
- oToolbarSet.RefreshItemsState( editorInstance ) ;
-
- // Disable all buttons that are available on WYSIWYG mode only.
- for ( var j = 0 ; j < aItems.length ; j++ )
- aItems[j].Disable() ;
- }
-}
-
-FCKToolbarSet.prototype.RefreshItemsState = function( editorInstance )
-{
-
- var aItems = ( editorInstance ? editorInstance.ToolbarSet : this ).ItemsContextSensitive ;
-
- for ( var i = 0 ; i < aItems.length ; i++ )
- aItems[i].RefreshState() ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fcktools.js b/phpgwapi/js/fckeditor/editor/_source/internals/fcktools.js
deleted file mode 100644
index c74026f436..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fcktools.js
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Utility functions.
- */
-
-// Constant for the Gecko Bogus Node.
-//var GECKO_BOGUS = ' ' ;
-var GECKO_BOGUS = ' ' ;
-
-var FCKTools = new Object() ;
-
-FCKTools.CreateBogusBR = function( targetDocument )
-{
- var eBR = targetDocument.createElement( 'br' ) ;
-// eBR.setAttribute( '_moz_editor_bogus_node', 'TRUE' ) ;
- eBR.setAttribute( 'type', '_moz' ) ;
- return eBR ;
-}
-
-// Returns a reference to the appended style sheet or an array with all the appended references
-FCKTools.AppendStyleSheet = function( documentElement, cssFileUrlOrArray )
-{
- if ( typeof( cssFileUrlOrArray ) == 'string' )
- return this._AppendStyleSheet( documentElement, cssFileUrlOrArray ) ;
- else
- {
- var aStyleSheeArray = new Array() ;
-
- for ( var i = 0 ; i < cssFileUrlOrArray.length ; i++ )
- aStyleSheeArray.push(this._AppendStyleSheet( documentElement, cssFileUrlOrArray[i] ) ) ;
-
- return aStyleSheeArray ;
- }
-}
-
-FCKTools.GetElementDocument = function ( element )
-{
- return element.ownerDocument || element.document ;
-}
-
-// Get the window object where the element is placed in.
-FCKTools.GetElementWindow = function( element )
-{
- return this.GetDocumentWindow( this.GetElementDocument( element ) ) ;
-}
-
-FCKTools.GetDocumentWindow = function( document )
-{
- // With Safari, there is not way to retrieve the window from the document, so we must fix it.
- if ( FCKBrowserInfo.IsSafari && !document.parentWindow )
- this.FixDocumentParentWindow( window.top ) ;
-
- return document.parentWindow || document.defaultView ;
-}
-
-/*
- This is a Safari specific function that fix the reference to the parent
- window from the document object.
-*/
-FCKTools.FixDocumentParentWindow = function( targetWindow )
-{
- targetWindow.document.parentWindow = targetWindow ;
-
- for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
- FCKTools.FixDocumentParentWindow( targetWindow.frames[i] ) ;
-}
-
-FCKTools.HTMLEncode = function( text )
-{
- if ( !text )
- return '' ;
-
- text = text.replace( /&/g, '&' ) ;
- text = text.replace( //g, '>' ) ;
-
- return text ;
-}
-
-FCKTools.HTMLDecode = function( text )
-{
- if ( !text )
- return '' ;
-
- text = text.replace( />/g, '>' ) ;
- text = text.replace( /</g, '<' ) ;
- text = text.replace( /&/g, '&' ) ;
-
- return text ;
-}
-
-/**
- * Adds an option to a SELECT element.
- */
-FCKTools.AddSelectOption = function( selectElement, optionText, optionValue )
-{
- var oOption = FCKTools.GetElementDocument( selectElement ).createElement( "OPTION" ) ;
-
- oOption.text = optionText ;
- oOption.value = optionValue ;
-
- selectElement.options.add(oOption) ;
-
- return oOption ;
-}
-
-FCKTools.RunFunction = function( func, thisObject, paramsArray, timerWindow )
-{
- if ( func )
- this.SetTimeout( func, 0, thisObject, paramsArray, timerWindow ) ;
-}
-
-FCKTools.SetTimeout = function( func, milliseconds, thisObject, paramsArray, timerWindow )
-{
- return ( timerWindow || window ).setTimeout(
- function()
- {
- if ( paramsArray )
- func.apply( thisObject, [].concat( paramsArray ) ) ;
- else
- func.apply( thisObject ) ;
- },
- milliseconds ) ;
-}
-
-FCKTools.SetInterval = function( func, milliseconds, thisObject, paramsArray, timerWindow )
-{
- return ( timerWindow || window ).setInterval(
- function()
- {
- func.apply( thisObject, paramsArray || [] ) ;
- },
- milliseconds ) ;
-}
-
-FCKTools.ConvertStyleSizeToHtml = function( size )
-{
- return size.EndsWith( '%' ) ? size : parseInt( size, 10 ) ;
-}
-
-FCKTools.ConvertHtmlSizeToStyle = function( size )
-{
- return size.EndsWith( '%' ) ? size : ( size + 'px' ) ;
-}
-
-// START iCM MODIFICATIONS
-// Amended to accept a list of one or more ascensor tag names
-// Amended to check the element itself before working back up through the parent hierarchy
-FCKTools.GetElementAscensor = function( element, ascensorTagNames )
-{
-// var e = element.parentNode ;
- var e = element ;
- var lstTags = "," + ascensorTagNames.toUpperCase() + "," ;
-
- while ( e )
- {
- if ( lstTags.indexOf( "," + e.nodeName.toUpperCase() + "," ) != -1 )
- return e ;
-
- e = e.parentNode ;
- }
- return null ;
-}
-// END iCM MODIFICATIONS
-
-FCKTools.CreateEventListener = function( func, params )
-{
- var f = function()
- {
- var aAllParams = [] ;
-
- for ( var i = 0 ; i < arguments.length ; i++ )
- aAllParams.push( arguments[i] ) ;
-
- func.apply( this, aAllParams.concat( params ) ) ;
- }
-
- return f ;
-}
-
-FCKTools.IsStrictMode = function( document )
-{
- // There is no compatMode in Safari, but it seams that it always behave as
- // CSS1Compat, so let's assume it as the default.
- return ( 'CSS1Compat' == ( document.compatMode || 'CSS1Compat' ) ) ;
-}
-
-// Transforms a "arguments" object to an array.
-FCKTools.ArgumentsToArray = function( args, startIndex, maxLength )
-{
- startIndex = startIndex || 0 ;
- maxLength = maxLength || args.length ;
-
- var argsArray = new Array() ;
-
- for ( var i = startIndex ; i < startIndex + maxLength && i < args.length ; i++ )
- argsArray.push( args[i] ) ;
-
- return argsArray ;
-}
-
-FCKTools.CloneObject = function( sourceObject )
-{
- var fCloneCreator = function() {} ;
- fCloneCreator.prototype = sourceObject ;
- return new fCloneCreator ;
-}
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fcktools_gecko.js b/phpgwapi/js/fckeditor/editor/_source/internals/fcktools_gecko.js
deleted file mode 100644
index 08ed756855..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fcktools_gecko.js
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Utility functions. (Gecko version).
- */
-
-FCKTools.CancelEvent = function( e )
-{
- if ( e )
- e.preventDefault() ;
-}
-
-FCKTools.DisableSelection = function( element )
-{
- if ( FCKBrowserInfo.IsGecko )
- element.style.MozUserSelect = 'none' ; // Gecko only.
- else
- element.style.userSelect = 'none' ; // CSS3 (not supported yet).
-}
-
-// Appends a CSS file to a document.
-FCKTools._AppendStyleSheet = function( documentElement, cssFileUrl )
-{
- var e = documentElement.createElement( 'LINK' ) ;
- e.rel = 'stylesheet' ;
- e.type = 'text/css' ;
- e.href = cssFileUrl ;
- documentElement.getElementsByTagName("HEAD")[0].appendChild( e ) ;
- return e ;
-}
-
-// Removes all attributes and values from the element.
-FCKTools.ClearElementAttributes = function( element )
-{
- // Loop throw all attributes in the element
- for ( var i = 0 ; i < element.attributes.length ; i++ )
- {
- // Remove the element by name.
- element.removeAttribute( element.attributes[i].name, 0 ) ; // 0 : Case Insensitive
- }
-}
-
-// Returns an Array of strings with all defined in the elements inside another element.
-FCKTools.GetAllChildrenIds = function( parentElement )
-{
- // Create the array that will hold all Ids.
- var aIds = new Array() ;
-
- // Define a recursive function that search for the Ids.
- var fGetIds = function( parent )
- {
- for ( var i = 0 ; i < parent.childNodes.length ; i++ )
- {
- var sId = parent.childNodes[i].id ;
-
- // Check if the Id is defined for the element.
- if ( sId && sId.length > 0 ) aIds[ aIds.length ] = sId ;
-
- // Recursive call.
- fGetIds( parent.childNodes[i] ) ;
- }
- }
-
- // Start the recursive calls.
- fGetIds( parentElement ) ;
-
- return aIds ;
-}
-
-// Replaces a tag with its contents. For example "My tag"
-// will be replaced with "My tag".
-FCKTools.RemoveOuterTags = function( e )
-{
- var oFragment = e.ownerDocument.createDocumentFragment() ;
-
- for ( var i = 0 ; i < e.childNodes.length ; i++ )
- oFragment.appendChild( e.childNodes[i].cloneNode(true) ) ;
-
- e.parentNode.replaceChild( oFragment, e ) ;
-}
-
-FCKTools.CreateXmlObject = function( object )
-{
- switch ( object )
- {
- case 'XmlHttp' :
- return new XMLHttpRequest() ;
- case 'DOMDocument' :
- return document.implementation.createDocument( '', '', null ) ;
- }
- return null ;
-}
-
-FCKTools.GetScrollPosition = function( relativeWindow )
-{
- return { X : relativeWindow.pageXOffset, Y : relativeWindow.pageYOffset } ;
-}
-
-FCKTools.AddEventListener = function( sourceObject, eventName, listener )
-{
- sourceObject.addEventListener( eventName, listener, false ) ;
-}
-
-FCKTools.RemoveEventListener = function( sourceObject, eventName, listener )
-{
- sourceObject.removeEventListener( eventName, listener, false ) ;
-}
-
-// Listeners attached with this function cannot be detached.
-FCKTools.AddEventListenerEx = function( sourceObject, eventName, listener, paramsArray )
-{
- sourceObject.addEventListener(
- eventName,
- function( e )
- {
- listener.apply( sourceObject, [ e ].concat( paramsArray || [] ) ) ;
- },
- false
- ) ;
-}
-
-// Returns and object with the "Width" and "Height" properties.
-FCKTools.GetViewPaneSize = function( win )
-{
- return { Width : win.innerWidth, Height : win.innerHeight } ;
-}
-
-FCKTools.SaveStyles = function( element )
-{
- var oSavedStyles = new Object() ;
-
- if ( element.className.length > 0 )
- {
- oSavedStyles.Class = element.className ;
- element.className = '' ;
- }
-
- var sInlineStyle = element.getAttribute( 'style' ) ;
-
- if ( sInlineStyle && sInlineStyle.length > 0 )
- {
- oSavedStyles.Inline = sInlineStyle ;
- element.setAttribute( 'style', '', 0 ) ; // 0 : Case Insensitive
- }
-
- return oSavedStyles ;
-}
-
-FCKTools.RestoreStyles = function( element, savedStyles )
-{
- element.className = savedStyles.Class || '' ;
-
- if ( savedStyles.Inline )
- element.setAttribute( 'style', savedStyles.Inline, 0 ) ; // 0 : Case Insensitive
- else
- element.removeAttribute( 'style', 0 ) ;
-}
-
-FCKTools.RegisterDollarFunction = function( targetWindow )
-{
- targetWindow.$ = function( id )
- {
- return this.document.getElementById( id ) ;
- } ;
-}
-
-FCKTools.AppendElement = function( target, elementName )
-{
- return target.appendChild( target.ownerDocument.createElement( elementName ) ) ;
-}
-
-// Get the coordinates of an element.
-// @el : The element to get the position.
-// @relativeWindow: The window to which we want the coordinates relative to.
-FCKTools.GetElementPosition = function( el, relativeWindow )
-{
- // Initializes the Coordinates object that will be returned by the function.
- var c = { X:0, Y:0 } ;
-
- var oWindow = relativeWindow || window ;
-
- var oOwnerWindow = FCKTools.GetElementWindow( el ) ;
-
- // Loop throw the offset chain.
- while ( el )
- {
- var sPosition = oOwnerWindow.getComputedStyle(el, '').position ;
-
- // Check for non "static" elements.
- // 'FCKConfig.FloatingPanelsZIndex' -- Submenus are under a positioned IFRAME.
- if ( sPosition && sPosition != 'static' && el.style.zIndex != FCKConfig.FloatingPanelsZIndex )
- break ;
-
- c.X += el.offsetLeft - el.scrollLeft ;
- c.Y += el.offsetTop - el.scrollTop ;
-
- if ( el.offsetParent )
- el = el.offsetParent ;
- else
- {
- if ( oOwnerWindow != oWindow )
- {
- el = oOwnerWindow.frameElement ;
- if ( el )
- oOwnerWindow = FCKTools.GetElementWindow( el ) ;
- }
- else
- {
- c.X += el.scrollLeft ;
- c.Y += el.scrollTop ;
- break ;
- }
- }
- }
-
- // Return the Coordinates object
- return c ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fcktools_ie.js b/phpgwapi/js/fckeditor/editor/_source/internals/fcktools_ie.js
deleted file mode 100644
index 3d6be65101..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fcktools_ie.js
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Utility functions. (IE version).
- */
-
-FCKTools.CancelEvent = function( e )
-{
- return false ;
-}
-
-// Appends one or more CSS files to a document.
-FCKTools._AppendStyleSheet = function( documentElement, cssFileUrl )
-{
- return documentElement.createStyleSheet( cssFileUrl ).owningElement ;
-}
-
-// Removes all attributes and values from the element.
-FCKTools.ClearElementAttributes = function( element )
-{
- element.clearAttributes() ;
-}
-
-FCKTools.GetAllChildrenIds = function( parentElement )
-{
- var aIds = new Array() ;
- for ( var i = 0 ; i < parentElement.all.length ; i++ )
- {
- var sId = parentElement.all[i].id ;
- if ( sId && sId.length > 0 )
- aIds[ aIds.length ] = sId ;
- }
- return aIds ;
-}
-
-FCKTools.RemoveOuterTags = function( e )
-{
- e.insertAdjacentHTML( 'beforeBegin', e.innerHTML ) ;
- e.parentNode.removeChild( e ) ;
-}
-
-FCKTools.CreateXmlObject = function( object )
-{
- var aObjs ;
-
- switch ( object )
- {
- case 'XmlHttp' :
- aObjs = [ 'MSXML2.XmlHttp', 'Microsoft.XmlHttp' ] ;
- break ;
-
- case 'DOMDocument' :
- aObjs = [ 'MSXML2.DOMDocument', 'Microsoft.XmlDom' ] ;
- break ;
- }
-
- for ( var i = 0 ; i < 2 ; i++ )
- {
- try { return new ActiveXObject( aObjs[i] ) ; }
- catch (e)
- {}
- }
-
- if ( FCKLang.NoActiveX )
- {
- alert( FCKLang.NoActiveX ) ;
- FCKLang.NoActiveX = null ;
- }
- return null ;
-}
-
-FCKTools.DisableSelection = function( element )
-{
- element.unselectable = 'on' ;
-
- var e, i = 0 ;
- // The extra () is to avoid a warning with strict error checking. This is ok.
- while ( (e = element.all[ i++ ]) )
- {
- switch ( e.tagName )
- {
- case 'IFRAME' :
- case 'TEXTAREA' :
- case 'INPUT' :
- case 'SELECT' :
- /* Ignore the above tags */
- break ;
- default :
- e.unselectable = 'on' ;
- }
- }
-}
-
-FCKTools.GetScrollPosition = function( relativeWindow )
-{
- var oDoc = relativeWindow.document ;
-
- // Try with the doc element.
- var oPos = { X : oDoc.documentElement.scrollLeft, Y : oDoc.documentElement.scrollTop } ;
-
- if ( oPos.X > 0 || oPos.Y > 0 )
- return oPos ;
-
- // If no scroll, try with the body.
- return { X : oDoc.body.scrollLeft, Y : oDoc.body.scrollTop } ;
-}
-
-FCKTools.AddEventListener = function( sourceObject, eventName, listener )
-{
- sourceObject.attachEvent( 'on' + eventName, listener ) ;
-}
-
-FCKTools.RemoveEventListener = function( sourceObject, eventName, listener )
-{
- sourceObject.detachEvent( 'on' + eventName, listener ) ;
-}
-
-// Listeners attached with this function cannot be detached.
-FCKTools.AddEventListenerEx = function( sourceObject, eventName, listener, paramsArray )
-{
- // Ok... this is a closures party, but is the only way to make it clean of memory leaks.
- var o = new Object() ;
- o.Source = sourceObject ;
- o.Params = paramsArray || [] ; // Memory leak if we have DOM objects here.
- o.Listener = function( ev )
- {
- return listener.apply( o.Source, [ ev ].concat( o.Params ) ) ;
- }
-
- if ( FCK.IECleanup )
- FCK.IECleanup.AddItem( null, function() { o.Source = null ; o.Params = null ; } ) ;
-
- sourceObject.attachEvent( 'on' + eventName, o.Listener ) ;
-
- sourceObject = null ; // Memory leak cleaner (because of the above closure).
- paramsArray = null ; // Memory leak cleaner (because of the above closure).
-}
-
-// Returns and object with the "Width" and "Height" properties.
-FCKTools.GetViewPaneSize = function( win )
-{
- var oSizeSource ;
-
- var oDoc = win.document.documentElement ;
- if ( oDoc && oDoc.clientWidth ) // IE6 Strict Mode
- oSizeSource = oDoc ;
- else
- oSizeSource = top.document.body ; // Other IEs
-
- if ( oSizeSource )
- return { Width : oSizeSource.clientWidth, Height : oSizeSource.clientHeight } ;
- else
- return { Width : 0, Height : 0 } ;
-}
-
-FCKTools.SaveStyles = function( element )
-{
- var oSavedStyles = new Object() ;
-
- if ( element.className.length > 0 )
- {
- oSavedStyles.Class = element.className ;
- element.className = '' ;
- }
-
- var sInlineStyle = element.style.cssText ;
-
- if ( sInlineStyle.length > 0 )
- {
- oSavedStyles.Inline = sInlineStyle ;
- element.style.cssText = '' ;
- }
-
- return oSavedStyles ;
-}
-
-FCKTools.RestoreStyles = function( element, savedStyles )
-{
- element.className = savedStyles.Class || '' ;
- element.style.cssText = savedStyles.Inline || '' ;
-}
-
-FCKTools.RegisterDollarFunction = function( targetWindow )
-{
- targetWindow.$ = targetWindow.document.getElementById ;
-}
-
-FCKTools.AppendElement = function( target, elementName )
-{
- return target.appendChild( this.GetElementDocument( target ).createElement( elementName ) ) ;
-}
-
-// This function may be used by Regex replacements.
-FCKTools.ToLowerCase = function( strValue )
-{
- return strValue.toLowerCase() ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fckundo_gecko.js b/phpgwapi/js/fckeditor/editor/_source/internals/fckundo_gecko.js
deleted file mode 100644
index 7cf7fe8b0d..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fckundo_gecko.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Fake implementation to ignore calls on Gecko.
- */
-
-var FCKUndo = new Object() ;
-
-FCKUndo.SaveUndoStep = function()
-{}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fckundo_ie.js b/phpgwapi/js/fckeditor/editor/_source/internals/fckundo_ie.js
deleted file mode 100644
index 3216bb7cc2..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fckundo_ie.js
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * IE specific implementation for the Undo/Redo system.
- */
-
-var FCKUndo = new Object() ;
-
-FCKUndo.SavedData = new Array() ;
-FCKUndo.CurrentIndex = -1 ;
-FCKUndo.TypesCount = FCKUndo.MaxTypes = 25 ;
-FCKUndo.Typing = false ;
-
-FCKUndo.SaveUndoStep = function()
-{
- if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
- return ;
-
- // Shrink the array to the current level.
- FCKUndo.SavedData = FCKUndo.SavedData.slice( 0, FCKUndo.CurrentIndex + 1 ) ;
-
- // Get the Actual HTML.
- var sHtml = FCK.EditorDocument.body.innerHTML ;
-
- // Cancel operation if the new step is identical to the previous one.
- if ( FCKUndo.CurrentIndex >= 0 && sHtml == FCKUndo.SavedData[ FCKUndo.CurrentIndex ][0] )
- return ;
-
- // If we reach the Maximun number of undo levels, we must remove the first
- // entry of the list shifting all elements.
- if ( FCKUndo.CurrentIndex + 1 >= FCKConfig.MaxUndoLevels )
- FCKUndo.SavedData.shift() ;
- else
- FCKUndo.CurrentIndex++ ;
-
- // Get the actual selection.
- var sBookmark ;
- if ( FCK.EditorDocument.selection.type == 'Text' )
- sBookmark = FCK.EditorDocument.selection.createRange().getBookmark() ;
-
- // Save the new level in front of the actual position.
- FCKUndo.SavedData[ FCKUndo.CurrentIndex ] = [ sHtml, sBookmark ] ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
-}
-
-FCKUndo.CheckUndoState = function()
-{
- return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ) ;
-}
-
-FCKUndo.CheckRedoState = function()
-{
- return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ) ;
-}
-
-FCKUndo.Undo = function()
-{
- if ( FCKUndo.CheckUndoState() )
- {
- // If it is the first step.
- if ( FCKUndo.CurrentIndex == ( FCKUndo.SavedData.length - 1 ) )
- {
- // Save the actual state for a possible "Redo" call.
- FCKUndo.SaveUndoStep() ;
- }
-
- // Go a step back.
- FCKUndo._ApplyUndoLevel( --FCKUndo.CurrentIndex ) ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- }
-}
-
-FCKUndo.Redo = function()
-{
- if ( FCKUndo.CheckRedoState() )
- {
- // Go a step forward.
- FCKUndo._ApplyUndoLevel( ++FCKUndo.CurrentIndex ) ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- }
-}
-
-FCKUndo._ApplyUndoLevel = function(level)
-{
- var oData = FCKUndo.SavedData[ level ] ;
-
- if ( !oData )
- return ;
-
- // Update the editor contents with that step data.
- FCK.SetInnerHtml( oData[0] ) ;
-// FCK.EditorDocument.body.innerHTML = oData[0] ;
-
- if ( oData[1] )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oRange.moveToBookmark( oData[1] ) ;
- oRange.select() ;
- }
-
- FCKUndo.TypesCount = 0 ;
- FCKUndo.Typing = false ;
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fckurlparams.js b/phpgwapi/js/fckeditor/editor/_source/internals/fckurlparams.js
deleted file mode 100644
index 3ac6e1b450..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fckurlparams.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Defines the FCKURLParams object that is used to get all parameters
- * passed by the URL QueryString (after the "?").
- */
-
-// #### URLParams: holds all URL passed parameters (like ?Param1=Value1&Param2=Value2)
-var FCKURLParams = new Object() ;
-
-(function()
-{
- var aParams = document.location.search.substr(1).split('&') ;
- for ( var i = 0 ; i < aParams.length ; i++ )
- {
- var aParam = aParams[i].split('=') ;
- var sParamName = decodeURIComponent( aParam[0] ) ;
- var sParamValue = decodeURIComponent( aParam[1] ) ;
-
- FCKURLParams[ sParamName ] = sParamValue ;
- }
-})();
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml.js b/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml.js
deleted file mode 100644
index 2686349aaa..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml.js
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Defines the FCKXHtml object, responsible for the XHTML operations.
- */
-
-var FCKXHtml = new Object() ;
-
-FCKXHtml.CurrentJobNum = 0 ;
-
-FCKXHtml.GetXHTML = function( node, includeNode, format )
-{
- FCKXHtmlEntities.Initialize() ;
-
- // Set the correct entity to use for empty blocks.
- this._NbspEntity = ( FCKConfig.ProcessHTMLEntities? 'nbsp' : '#160' ) ;
-
- // Save the current IsDirty state. The XHTML processor may change the
- // original HTML, dirtying it.
- var bIsDirty = FCK.IsDirty() ;
-
- this._CreateNode = FCKConfig.ForceStrongEm ? FCKXHtml_CreateNode_StrongEm : FCKXHtml_CreateNode_Normal ;
-
- // Special blocks are blocks of content that remain untouched during the
- // process. It is used for SCRIPTs and STYLEs.
- FCKXHtml.SpecialBlocks = new Array() ;
-
- // Create the XML DOMDocument object.
- this.XML = FCKTools.CreateXmlObject( 'DOMDocument' ) ;
-
- // Add a root element that holds all child nodes.
- this.MainNode = this.XML.appendChild( this.XML.createElement( 'xhtml' ) ) ;
-
- FCKXHtml.CurrentJobNum++ ;
-
- if ( includeNode )
- this._AppendNode( this.MainNode, node ) ;
- else
- this._AppendChildNodes( this.MainNode, node, false ) ;
-
- // Get the resulting XHTML as a string.
- var sXHTML = this._GetMainXmlString() ;
-
- this.XML = null ;
-
- // Strip the "XHTML" root node.
- sXHTML = sXHTML.substr( 7, sXHTML.length - 15 ).Trim() ;
-
- // Remove the trailing added by Gecko.
- // REMOVE: Maybe the following is not anymore necessary because a similar
- // check is made on _AppendNode
- if ( FCKBrowserInfo.IsGecko )
- sXHTML = sXHTML.replace( / $/, '' ) ;
-
- // Add a space in the tags with no closing tags, like ->
- sXHTML = sXHTML.replace( FCKRegexLib.SpaceNoClose, ' />');
-
- if ( FCKConfig.ForceSimpleAmpersand )
- sXHTML = sXHTML.replace( FCKRegexLib.ForceSimpleAmpersand, '&' ) ;
-
- if ( format )
- sXHTML = FCKCodeFormatter.Format( sXHTML ) ;
-
- // Now we put back the SpecialBlocks contents.
- for ( var i = 0 ; i < FCKXHtml.SpecialBlocks.length ; i++ )
- {
- var oRegex = new RegExp( '___FCKsi___' + i ) ;
- sXHTML = sXHTML.replace( oRegex, FCKXHtml.SpecialBlocks[i] ) ;
- }
-
- // Replace entities marker with the ampersand.
- sXHTML = sXHTML.replace( FCKRegexLib.GeckoEntitiesMarker, '&' ) ;
-
- // Restore the IsDirty state if it was not dirty.
- if ( !bIsDirty )
- FCK.ResetIsDirty() ;
-
- return sXHTML ;
-}
-
-FCKXHtml._AppendAttribute = function( xmlNode, attributeName, attributeValue )
-{
- try
- {
- if ( attributeValue == undefined || attributeValue == null )
- attributeValue = '' ;
- else if ( attributeValue.replace )
- {
- if ( FCKConfig.ForceSimpleAmpersand )
- attributeValue = attributeValue.replace( /&/g, '___FCKAmp___' ) ;
-
- // Entities must be replaced in the attribute values.
- attributeValue = attributeValue.replace( FCKXHtmlEntities.EntitiesRegex, FCKXHtml_GetEntity ) ;
- }
-
- // Create the attribute.
- var oXmlAtt = this.XML.createAttribute( attributeName ) ;
- oXmlAtt.value = attributeValue ;
-
- // Set the attribute in the node.
- xmlNode.attributes.setNamedItem( oXmlAtt ) ;
- }
- catch (e)
- {}
-}
-
-FCKXHtml._AppendChildNodes = function( xmlNode, htmlNode, isBlockElement )
-{
- // Trim block elements. This is also needed to avoid Firefox leaving extra
- // BRs at the end of them.
- if ( isBlockElement )
- FCKDomTools.TrimNode( htmlNode, true ) ;
-
- var iCount = 0 ;
-
- var oNode = htmlNode.firstChild ;
-
- while ( oNode )
- {
- if ( this._AppendNode( xmlNode, oNode ) )
- iCount++ ;
-
- oNode = oNode.nextSibling ;
- }
-
- if ( iCount == 0 )
- {
- if ( isBlockElement && FCKConfig.FillEmptyBlocks )
- {
- this._AppendEntity( xmlNode, this._NbspEntity ) ;
- return xmlNode ;
- }
-
- var sNodeName = xmlNode.nodeName ;
-
- // Some inline elements are required to have something inside (span, strong, etc...).
- if ( FCKListsLib.InlineChildReqElements[ sNodeName ] )
- return null ;
-
- // We can't use short representation of empty elements that are not marked
- // as empty in th XHTML DTD.
- if ( !FCKListsLib.EmptyElements[ sNodeName ] )
- xmlNode.appendChild( this.XML.createTextNode('') ) ;
- }
-
- return xmlNode ;
-}
-
-FCKXHtml._AppendNode = function( xmlNode, htmlNode )
-{
- if ( !htmlNode )
- return false ;
-
- switch ( htmlNode.nodeType )
- {
- // Element Node.
- case 1 :
-
- // Here we found an element that is not the real element, but a
- // fake one (like the Flash placeholder image), so we must get the real one.
- if ( htmlNode.getAttribute('_fckfakelement') )
- return FCKXHtml._AppendNode( xmlNode, FCK.GetRealElement( htmlNode ) ) ;
-
- // Mozilla insert custom nodes in the DOM.
- if ( FCKBrowserInfo.IsGecko && htmlNode.hasAttribute('_moz_editor_bogus_node') )
- return false ;
-
- // This is for elements that are instrumental to FCKeditor and
- // must be removed from the final HTML.
- if ( htmlNode.getAttribute('_fcktemp') )
- return false ;
-
- // Get the element name.
- var sNodeName = htmlNode.tagName.toLowerCase() ;
-
- if ( FCKBrowserInfo.IsIE )
- {
- // IE doens't include the scope name in the nodeName. So, add the namespace.
- if ( htmlNode.scopeName && htmlNode.scopeName != 'HTML' && htmlNode.scopeName != 'FCK' )
- sNodeName = htmlNode.scopeName.toLowerCase() + ':' + sNodeName ;
- }
- else
- {
- if ( sNodeName.StartsWith( 'fck:' ) )
- sNodeName = sNodeName.Remove( 0,4 ) ;
- }
-
- // Check if the node name is valid, otherwise ignore this tag.
- // If the nodeName starts with a slash, it is a orphan closing tag.
- // On some strange cases, the nodeName is empty, even if the node exists.
- if ( !FCKRegexLib.ElementName.test( sNodeName ) )
- return false ;
-
- // Remove the if it is a bogus node.
- if ( sNodeName == 'br' && htmlNode.getAttribute( 'type', 2 ) == '_moz' )
- return false ;
-
- // The already processed nodes must be marked to avoid then to be duplicated (bad formatted HTML).
- // So here, the "mark" is checked... if the element is Ok, then mark it.
- if ( htmlNode._fckxhtmljob && htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum )
- return false ;
-
- var oNode = this._CreateNode( sNodeName ) ;
-
- // Add all attributes.
- FCKXHtml._AppendAttributes( xmlNode, htmlNode, oNode, sNodeName ) ;
-
- htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ;
-
- // Tag specific processing.
- var oTagProcessor = FCKXHtml.TagProcessors[ sNodeName ] ;
-
- if ( oTagProcessor )
- oNode = oTagProcessor( oNode, htmlNode, xmlNode ) ;
- else
- oNode = this._AppendChildNodes( oNode, htmlNode, Boolean( FCKListsLib.NonEmptyBlockElements[ sNodeName ] ) ) ;
-
- if ( !oNode )
- return false ;
-
- xmlNode.appendChild( oNode ) ;
-
- break ;
-
- // Text Node.
- case 3 :
- return this._AppendTextNode( xmlNode, htmlNode.nodeValue.ReplaceNewLineChars(' ') ) ;
-
- // Comment
- case 8 :
- // IE catches the as a comment, but it has no
- // innerHTML, so we can catch it, and ignore it.
- if ( FCKBrowserInfo.IsIE && !htmlNode.innerHTML )
- break ;
-
- try { xmlNode.appendChild( this.XML.createComment( htmlNode.nodeValue ) ) ; }
- catch (e) { /* Do nothing... probably this is a wrong format comment. */ }
- break ;
-
- // Unknown Node type.
- default :
- xmlNode.appendChild( this.XML.createComment( "Element not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) ) ;
- break ;
- }
- return true ;
-}
-
-function FCKXHtml_CreateNode_StrongEm( nodeName )
-{
- switch ( nodeName )
- {
- case 'b' :
- nodeName = 'strong' ;
- break ;
- case 'i' :
- nodeName = 'em' ;
- break ;
- }
- return this.XML.createElement( nodeName ) ;
-}
-
-function FCKXHtml_CreateNode_Normal( nodeName )
-{
- return this.XML.createElement( nodeName ) ;
-}
-
-// Append an item to the SpecialBlocks array and returns the tag to be used.
-FCKXHtml._AppendSpecialItem = function( item )
-{
- return '___FCKsi___' + FCKXHtml.SpecialBlocks.AddItem( item ) ;
-}
-
-FCKXHtml._AppendEntity = function( xmlNode, entity )
-{
- xmlNode.appendChild( this.XML.createTextNode( '#?-:' + entity + ';' ) ) ;
-}
-
-FCKXHtml._AppendTextNode = function( targetNode, textValue )
-{
- var bHadText = textValue.length > 0 ;
- if ( bHadText )
- targetNode.appendChild( this.XML.createTextNode( textValue.replace( FCKXHtmlEntities.EntitiesRegex, FCKXHtml_GetEntity ) ) ) ;
- return bHadText ;
-}
-
-// Retrieves a entity (internal format) for a given character.
-function FCKXHtml_GetEntity( character )
-{
- // We cannot simply place the entities in the text, because the XML parser
- // will translate & to &. So we use a temporary marker which is replaced
- // in the end of the processing.
- var sEntity = FCKXHtmlEntities.Entities[ character ] || ( '#' + character.charCodeAt(0) ) ;
- return '#?-:' + sEntity + ';' ;
-}
-
-// Remove part of an attribute from a node according to a regExp
-FCKXHtml._RemoveAttribute = function( xmlNode, regX, sAttribute )
-{
- var oAtt = xmlNode.attributes.getNamedItem( sAttribute ) ;
-
- if ( oAtt && regX.test( oAtt.nodeValue ) )
- {
- var sValue = oAtt.nodeValue.replace( regX, '' ) ;
-
- if ( sValue.length == 0 )
- xmlNode.attributes.removeNamedItem( sAttribute ) ;
- else
- oAtt.nodeValue = sValue ;
- }
-}
-
-// An object that hold tag specific operations.
-FCKXHtml.TagProcessors =
-{
- img : function( node, htmlNode )
- {
- // The "ALT" attribute is required in XHTML.
- if ( ! node.attributes.getNamedItem( 'alt' ) )
- FCKXHtml._AppendAttribute( node, 'alt', '' ) ;
-
- var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
- if ( sSavedUrl != null )
- FCKXHtml._AppendAttribute( node, 'src', sSavedUrl ) ;
-
- return node ;
- },
-
- a : function( node, htmlNode )
- {
- // Firefox may create empty tags when deleting the selection in some special cases (SF-BUG 1556878).
- if ( htmlNode.innerHTML.Trim().length == 0 && !htmlNode.name )
- return false ;
-
- var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
- if ( sSavedUrl != null )
- FCKXHtml._AppendAttribute( node, 'href', sSavedUrl ) ;
-
-
- // Anchors with content has been marked with an additional class, now we must remove it.
- if ( FCKBrowserInfo.IsIE )
- {
- FCKXHtml._RemoveAttribute( node, FCKRegexLib.FCK_Class, 'class' ) ;
-
- // Buggy IE, doesn't copy the name of changed anchors.
- if ( htmlNode.name )
- FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
- }
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
-
- return node ;
- },
-
- script : function( node, htmlNode )
- {
- // The "TYPE" attribute is required in XHTML.
- if ( ! node.attributes.getNamedItem( 'type' ) )
- FCKXHtml._AppendAttribute( node, 'type', 'text/javascript' ) ;
-
- node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.text ) ) ) ;
-
- return node ;
- },
-
- style : function( node, htmlNode )
- {
- // The "TYPE" attribute is required in XHTML.
- if ( ! node.attributes.getNamedItem( 'type' ) )
- FCKXHtml._AppendAttribute( node, 'type', 'text/css' ) ;
-
- node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.innerHTML ) ) ) ;
-
- return node ;
- },
-
- title : function( node, htmlNode )
- {
- node.appendChild( FCKXHtml.XML.createTextNode( FCK.EditorDocument.title ) ) ;
-
- return node ;
- },
-
- table : function( node, htmlNode )
- {
- // There is a trick to show table borders when border=0. We add to the
- // table class the FCK__ShowTableBorders rule. So now we must remove it.
-
- if ( FCKBrowserInfo.IsIE )
- FCKXHtml._RemoveAttribute( node, FCKRegexLib.FCK_Class, 'class' ) ;
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
-
- return node ;
- },
-
- // Fix nested
and .
- ol : function( node, htmlNode, targetNode )
- {
- if ( htmlNode.innerHTML.Trim().length == 0 )
- return false ;
-
- var ePSibling = targetNode.lastChild ;
-
- if ( ePSibling && ePSibling.nodeType == 3 )
- ePSibling = ePSibling.previousSibling ;
-
- if ( ePSibling && ePSibling.nodeName.toUpperCase() == 'LI' )
- {
- htmlNode._fckxhtmljob = null ;
- FCKXHtml._AppendNode( ePSibling, htmlNode ) ;
- return false ;
- }
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode ) ;
-
- return node ;
- },
-
- span : function( node, htmlNode )
- {
- // Firefox may create empty tags when deleting the selection in some special cases (SF-BUG 1084404).
- if ( htmlNode.innerHTML.length == 0 )
- return false ;
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
-
- return node ;
- },
-
- // IE loses contents of iframes, and Gecko does give it back HtmlEncoded
- // Note: Opera does lose the content and doesn't provide it in the innerHTML string
- iframe : function( node, htmlNode )
- {
- var sHtml = htmlNode.innerHTML ;
-
- // Gecko does give back the encoded html
- if ( FCKBrowserInfo.IsGecko )
- sHtml = FCKTools.HTMLDecode( sHtml );
-
- // Remove the saved urls here as the data won't be processed as nodes
- sHtml = sHtml.replace( /\s_fcksavedurl="[^"]*"/g, '' ) ;
-
- node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( sHtml ) ) ) ;
-
- return node ;
- }
-} ;
-
-FCKXHtml.TagProcessors.ul = FCKXHtml.TagProcessors.ol ;
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js b/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js
deleted file mode 100644
index 5614e9f01e..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Defines the FCKXHtml object, responsible for the XHTML operations.
- * Gecko specific.
- */
-
-FCKXHtml._GetMainXmlString = function()
-{
- // Create the XMLSerializer.
- var oSerializer = new XMLSerializer() ;
-
- // Return the serialized XML as a string.
- return oSerializer.serializeToString( this.MainNode ) ;
-}
-
-FCKXHtml._AppendAttributes = function( xmlNode, htmlNode, node )
-{
- var aAttributes = htmlNode.attributes ;
-
- for ( var n = 0 ; n < aAttributes.length ; n++ )
- {
- var oAttribute = aAttributes[n] ;
-
- if ( oAttribute.specified )
- {
- var sAttName = oAttribute.nodeName.toLowerCase() ;
- var sAttValue ;
-
- // Ignore any attribute starting with "_fck".
- if ( sAttName.StartsWith( '_fck' ) )
- continue ;
- // There is a bug in Mozilla that returns '_moz_xxx' attributes as specified.
- else if ( sAttName.indexOf( '_moz' ) == 0 )
- continue ;
- // There are one cases (on Gecko) when the oAttribute.nodeValue must be used:
- // - for the "class" attribute
- else if ( sAttName == 'class' )
- sAttValue = oAttribute.nodeValue ;
- // XHTML doens't support attribute minimization like "CHECKED". It must be trasformed to cheched="checked".
- else if ( oAttribute.nodeValue === true )
- sAttValue = sAttName ;
- else
- sAttValue = htmlNode.getAttribute( sAttName, 2 ) ; // We must use getAttribute to get it exactly as it is defined.
-
- this._AppendAttribute( node, sAttName, sAttValue ) ;
- }
- }
-}
\ No newline at end of file
diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml_ie.js b/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml_ie.js
deleted file mode 100644
index 31288e3da3..0000000000
--- a/phpgwapi/js/fckeditor/editor/_source/internals/fckxhtml_ie.js
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Defines the FCKXHtml object, responsible for the XHTML operations.
- * IE specific.
- */
-
-FCKXHtml._GetMainXmlString = function()
-{
- return this.MainNode.xml ;
-}
-
-FCKXHtml._AppendAttributes = function( xmlNode, htmlNode, node, nodeName )
-{
- var aAttributes = htmlNode.attributes ;
-
- for ( var n = 0 ; n < aAttributes.length ; n++ )
- {
- var oAttribute = aAttributes[n] ;
-
- if ( oAttribute.specified )
- {
- var sAttName = oAttribute.nodeName.toLowerCase() ;
- var sAttValue ;
-
- // Ignore any attribute starting with "_fck".
- if ( sAttName.StartsWith( '_fck' ) )
- continue ;
- // The following must be done because of a bug on IE regarding the style
- // attribute. It returns "null" for the nodeValue.
- else if ( sAttName == 'style' )
- sAttValue = htmlNode.style.cssText.replace( FCKRegexLib.StyleProperties, FCKTools.ToLowerCase ) ;
- // There are two cases when the oAttribute.nodeValue must be used:
- // - for the "class" attribute
- // - for events attributes (on IE only).
- else if ( sAttName == 'class' || sAttName.indexOf('on') == 0 )
- sAttValue = oAttribute.nodeValue ;
- else if ( nodeName == 'body' && sAttName == 'contenteditable' )
- continue ;
- // XHTML doens't support attribute minimization like "CHECKED". It must be trasformed to cheched="checked".
- else if ( oAttribute.nodeValue === true )
- sAttValue = sAttName ;
- else
- {
- // We must use getAttribute to get it exactly as it is defined.
- // There are some rare cases that IE throws an error here, so we must try/catch.
- try
- {
- sAttValue = htmlNode.getAttribute( sAttName, 2 ) ;
- }
- catch (e) {}
- }
- this._AppendAttribute( node, sAttName, sAttValue || oAttribute.nodeValue ) ;
- }
- }
-}
-
-FCKXHtml.TagProcessors['meta'] = function( node, htmlNode )
-{
- var oHttpEquiv = node.attributes.getNamedItem( 'http-equiv' ) ;
-
- if ( oHttpEquiv == null || oHttpEquiv.value.length == 0 )
- {
- // Get the http-equiv value from the outerHTML.
- var sHttpEquiv = htmlNode.outerHTML.match( FCKRegexLib.MetaHttpEquiv ) ;
-
- if ( sHttpEquiv )
- {
- sHttpEquiv = sHttpEquiv[1] ;
- FCKXHtml._AppendAttribute( node, 'http-equiv', sHttpEquiv ) ;
- }
- }
-
- return node ;
-}
-
-// IE automaticaly changes tags to .
-FCKXHtml.TagProcessors['font'] = function( node, htmlNode )
-{
- if ( node.attributes.length == 0 )
- node = FCKXHtml.XML.createDocumentFragment() ;
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode ) ;
-
- return node ;
-}
-
-// IE doens't see the value attribute as an attribute for the tag.
-FCKXHtml.TagProcessors['input'] = function( node, htmlNode )
-{
- if ( htmlNode.name )
- FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
-
- if ( htmlNode.value && !node.attributes.getNamedItem( 'value' ) )
- FCKXHtml._AppendAttribute( node, 'value', htmlNode.value ) ;
-
- if ( !node.attributes.getNamedItem( 'type' ) )
- FCKXHtml._AppendAttribute( node, 'type', 'text' ) ;
-
- return node ;
-}
-
-// IE ignores the "SELECTED" attribute so we must add it manually.
-FCKXHtml.TagProcessors['option'] = function( node, htmlNode )
-{
- if ( htmlNode.selected && !node.attributes.getNamedItem( 'selected' ) )
- FCKXHtml._AppendAttribute( node, 'selected', 'selected' ) ;
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode ) ;
-
- return node ;
-}
-
-// IE ignores the "COORDS" and "SHAPE" attribute so we must add it manually.
-FCKXHtml.TagProcessors['area'] = function( node, htmlNode )
-{
- if ( ! node.attributes.getNamedItem( 'coords' ) )
- {
- var sCoords = htmlNode.getAttribute( 'coords', 2 ) ;
- if ( sCoords && sCoords != '0,0,0' )
- FCKXHtml._AppendAttribute( node, 'coords', sCoords ) ;
- }
-
- if ( ! node.attributes.getNamedItem( 'shape' ) )
- {
- var sShape = htmlNode.getAttribute( 'shape', 2 ) ;
- if ( sShape && sShape.length > 0 )
- FCKXHtml._AppendAttribute( node, 'shape', sShape ) ;
- }
-
- return node ;
-}
-
-FCKXHtml.TagProcessors['label'] = function( node, htmlNode )
-{
- if ( htmlNode.htmlFor.length > 0 )
- FCKXHtml._AppendAttribute( node, 'for', htmlNode.htmlFor ) ;
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode ) ;
-
- return node ;
-}
-
-FCKXHtml.TagProcessors['form'] = function( node, htmlNode )
-{
- if ( htmlNode.acceptCharset && htmlNode.acceptCharset.length > 0 && htmlNode.acceptCharset != 'UNKNOWN' )
- FCKXHtml._AppendAttribute( node, 'accept-charset', htmlNode.acceptCharset ) ;
-
- if ( htmlNode.name )
- FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
-
- node = FCKXHtml._AppendChildNodes( node, htmlNode ) ;
-
- return node ;
-}
-
-// IE doens't hold the name attribute as an attribute for the