[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] news_admin/js/fckeditor/editor/_source/internals fckt
From: |
skwashd |
Subject: |
[Phpgroupware-cvs] news_admin/js/fckeditor/editor/_source/internals fcktablehandler_ie.js, 1.2 fcktablehandler_gecko.js, 1.2 fcktoolbaritems.js, 1.2 fcktoolbarset.js, 1.2 fcktools_gecko.js, 1.2 fcktools.js, 1.2 fcktablehandler.js, 1.2 fckselection_ie.js, 1.2 fckregexlib.js, 1.2 fckplugins.js, 1.2 fckscriptloader.js, 1.2 fckselection.js, 1.2 fckselection_gecko.js, 1.2 fcktools_ie.js, 1.2 fckurlparams.js, 1.2 fckxhtml_gecko.js, 1.2 fckxhtml.js, 1.2 fckxhtml_ie.js, 1.2 fckxhtmlentities.js, 1.2 fcklanguagemanager.js, 1.2 fckdialog_ie.js, 1.2 fck_1_gecko.js, 1.2 fck_1.js, 1.2 fck_1_ie.js, 1.2 fck_2.js, 1.2 fck_2_gecko.js, 1.2 fck.js, 1.2 fck_2_ie.js, 1.2 fck_last.js, 1.2 fckcoreextensions.js, 1.2 fckcontextmenu_ie.js, 1.2 fckdebug.js, 1.2 fckdialog.js, 1.2 fckdialog_gecko.js, 1.2 fckcontextmenu_gecko.js, 1.2 fckcontextmenu.js, 1.2 fckbrowserinfo.js, 1.2 fck_onload.js, 1.2 fckcodeformatter.js, 1.2 fckcommands.js, 1.2 fckconfig.js, 1.2 |
Date: |
Thu, 4 Aug 2005 05:54:00 +0200 |
Update of news_admin/js/fckeditor/editor/_source/internals
Modified Files:
Branch: MAIN
fcktablehandler_ie.js lines: +1 -4
fcktablehandler_gecko.js lines: +1 -4
fcktoolbaritems.js lines: +5 -6
fcktoolbarset.js lines: +1 -5
fcktools_gecko.js lines: +2 -4
fcktools.js lines: +24 -13
fcktablehandler.js lines: +12 -8
fckselection_ie.js lines: +10 -5
fckregexlib.js lines: +15 -5
fckplugins.js lines: +1 -4
fckscriptloader.js lines: +63 -24
fckselection.js lines: +1 -4
fckselection_gecko.js lines: +16 -20
fcktools_ie.js lines: +1 -4
fckurlparams.js lines: +1 -4
fckxhtml_gecko.js lines: +6 -4
fckxhtml.js lines: +69 -35
fckxhtml_ie.js lines: +20 -8
fckxhtmlentities.js lines: +147 -126
fcklanguagemanager.js lines: +1 -7
fckdialog_ie.js lines: +1 -5
fck_1_gecko.js lines: +83 -31
fck_1.js lines: +119 -10
fck_1_ie.js lines: +95 -69
fck_2.js lines: +65 -23
fck_2_gecko.js lines: +5 -9
fck.js lines: +36 -10
fck_2_ie.js lines: +5 -9
fck_last.js lines: +1 -4
fckcoreextensions.js lines: +8 -5
fckcontextmenu_ie.js lines: +6 -5
fckdebug.js lines: +1 -5
fckdialog.js lines: +3 -7
fckdialog_gecko.js lines: +5 -8
fckcontextmenu_gecko.js lines: +1 -4
fckcontextmenu.js lines: +10 -8
fckbrowserinfo.js lines: +9 -20
fck_onload.js lines: +121 -22
fckcodeformatter.js lines: +7 -5
fckcommands.js lines: +6 -5
fckconfig.js lines: +27 -14
Log Message:
new newsletter builder, updated FCK and a few other things
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_ie.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_ie.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_ie.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fcktablehandler_ie.js
* Manage table operations (IE specific).
- *
- * Version: 2.0 RC3
- * Modified: 2004-09-05 02:17:58
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_gecko.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_gecko.js:1.2
---
news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_gecko.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktablehandler_gecko.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fcktablehandler_gecko.js
* Manage table operations (IE specific).
- *
- * Version: 2.0 RC3
- * Modified: 2004-09-07 00:52:56
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktoolbaritems.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fcktoolbaritems.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktoolbaritems.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktoolbaritems.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktoolbaritems.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fcktoolbaritems.js
* Toolbar items definitions.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-16 19:59:20
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -37,6 +34,7 @@
{
case 'Source' : oItem = new FCKToolbarButton(
'Source' , FCKLang.Source, null, FCK_TOOLBARITEM_ICONTEXT, true, true )
; break ;
case 'DocProps' : oItem = new FCKToolbarButton(
'DocProps' , FCKLang.DocProps ) ; break ;
+ case 'Templates' : oItem = new FCKToolbarButton(
'Templates' , FCKLang.Templates ) ; break ;
case 'Save' : oItem = new
FCKToolbarButton( 'Save' , FCKLang.Save, null, null, true ) ; break ;
case 'NewPage' : oItem = new FCKToolbarButton(
'NewPage' , FCKLang.NewPage, null, null, true ) ; break ;
case 'Preview' : oItem = new FCKToolbarButton(
'Preview' , FCKLang.Preview, null, null, true ) ; break ;
@@ -47,7 +45,7 @@
case 'Paste' : oItem = new FCKToolbarButton(
'Paste' , FCKLang.Paste, null, null, false, true ) ; break ;
case 'PasteText' : oItem = new FCKToolbarButton(
'PasteText' , FCKLang.PasteText, null, null, false, true ) ; break ;
case 'PasteWord' : oItem = new FCKToolbarButton(
'PasteWord' , FCKLang.PasteWord, null, null, false, true ) ; break ;
- case 'Print' : oItem = new FCKToolbarButton(
'Print' , FCKLang.Print ) ; break ;
+ case 'Print' : oItem = new FCKToolbarButton(
'Print' , FCKLang.Print, null, null, false, true ) ; break ;
case 'SpellCheck' : oItem = new FCKToolbarButton(
'SpellCheck', FCKLang.SpellCheck ) ; break ;
case 'Undo' : oItem = new
FCKToolbarButton( 'Undo' , FCKLang.Undo, null, null, false, true ) ;
break ;
case 'Redo' : oItem = new
FCKToolbarButton( 'Redo' , FCKLang.Redo, null, null, false, true ) ;
break ;
@@ -71,12 +69,13 @@
case 'Anchor' : oItem = new FCKToolbarButton(
'Anchor' , FCKLang.Anchor ) ; break ;
case 'Image' : oItem = new FCKToolbarButton(
'Image' , FCKLang.InsertImageLbl, FCKLang.InsertImage ) ; break
;
+ case 'Flash' : oItem = new FCKToolbarButton(
'Flash' , FCKLang.InsertFlashLbl, FCKLang.InsertFlash ) ; break
;
case 'Table' : oItem = new FCKToolbarButton(
'Table' , FCKLang.InsertTableLbl, FCKLang.InsertTable ) ; break
;
case 'SpecialChar' : oItem = new FCKToolbarButton(
'SpecialChar' , FCKLang.InsertSpecialCharLbl, FCKLang.InsertSpecialChar ) ;
break ;
case 'Smiley' : oItem = new FCKToolbarButton(
'Smiley' , FCKLang.InsertSmileyLbl, FCKLang.InsertSmiley ) ;
break ;
case 'UniversalKey' : oItem = new FCKToolbarButton(
'UniversalKey' , FCKLang.UniversalKeyboard ) ; break ;
- case 'Rule' : oItem = new
FCKToolbarButton( 'InsertHorizontalRule', FCKLang.InsertLineLbl,
FCKLang.InsertLine ) ; break ;
+ case 'Rule' : oItem = new
FCKToolbarButton( 'InsertHorizontalRule', FCKLang.InsertLineLbl,
FCKLang.InsertLine, null, false, true ) ; break ;
case 'JustifyLeft' : oItem = new FCKToolbarButton(
'JustifyLeft' , FCKLang.LeftJustify, null, null, false, true ) ; break ;
case 'JustifyCenter' : oItem = new FCKToolbarButton(
'JustifyCenter' , FCKLang.CenterJustify, null, null, false, true ) ; break ;
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktoolbarset.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fcktoolbarset.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktoolbarset.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktoolbarset.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktoolbarset.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Defines the FCKToolbarSet object that is used to load and draw the
* toolbar.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-09 17:39:32
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -165,4 +162,3 @@
}
*/
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktools_gecko.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fcktools_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktools_gecko.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktools_gecko.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktools_gecko.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fcktools_gecko.js
* Utility functions. (Gecko version).
*
- * Version: 2.0 RC3
- * Modified: 2005-02-23 00:00:57
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -26,6 +23,7 @@
e.type = 'text/css' ;
e.href = cssFileUrl ;
documentElement.getElementsByTagName("HEAD")[0].appendChild( e ) ;
+ return e ;
}
// Removes all attributes and values from the element.
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktools.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fcktools.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktools.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktools.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktools.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fcktools.js
* Utility functions.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-19 15:27:16
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -68,10 +65,10 @@
// Creates a Array in the form object that will hold all Attached
function call
// (in the case there are more than one editor in the same page)
- if (! oForm.updateFCKEditor) oForm.updateFCKEditor = new Array() ;
+ if (! oForm.updateFCKeditor) oForm.updateFCKeditor = new Array() ;
// Adds the function pointer to the array of functions to call when
"submit" is called
- oForm.updateFCKEditor[oForm.updateFCKEditor.length] = functionPointer ;
+ oForm.updateFCKeditor[oForm.updateFCKeditor.length] = functionPointer ;
// Switches the original submit method with a new one that first call
all functions
// on the above array and the call the original submit
@@ -82,20 +79,22 @@
oForm.originalSubmit = oForm.submit ;
// Creates our replacement for the submit
- oForm.submit = function()
+ oForm.submit = FCKTools_SubmitReplacer ;
+ }
+ // END --
+}
+
+function FCKTools_SubmitReplacer()
{
- if (this.updateFCKEditor)
+ if (this.updateFCKeditor)
{
// Calls all functions in the functions array
- for (var i = 0 ; i <
this.updateFCKEditor.length ; i++)
- this.updateFCKEditor[i]() ;
+ for (var i = 0 ; i < this.updateFCKeditor.length ; i++)
+ this.updateFCKeditor[i]() ;
}
// Calls the original "submit"
this.originalSubmit() ;
}
- }
- // END --
-}
//**
// FCKTools.AddSelectOption: Adds a option to a SELECT element.
@@ -137,6 +136,9 @@
FCKTools.HTMLEncode = function( text )
{
+ if ( !text )
+ return '' ;
+
text = text.replace( /&/g, "&" ) ;
text = text.replace( /"/g, """ ) ;
text = text.replace( /</g, "<" ) ;
@@ -206,3 +208,12 @@
}
}
+FCKTools.ConvertStyleSizeToHtml = function( size )
+{
+ return size.endsWith( '%' ) ? size : parseInt( size ) ;
+}
+
+FCKTools.ConvertHtmlSizeToStyle = function( size )
+{
+ return size.endsWith( '%' ) ? size : ( size + 'px' ) ;
+}
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktablehandler.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fcktablehandler.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktablehandler.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktablehandler.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktablehandler.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fcktablehandler.js
* Manage table operations.
*
- * Version: 2.0 RC3
- * Modified: 2004-12-16 00:41:05
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -94,7 +91,9 @@
// Create the new cell element to be added.
oCell = FCK.EditorDocument.createElement('TD') ;
- oCell.innerHTML = ' ' ;
+ if ( FCKBrowserInfo.IsGecko )
+ oCell.innerHTML = '<br _moz_editor_bogus_node="TRUE">' ;
+// oCell.innerHTML = ' ' ;
// Get the cell that is placed in the new cell place.
var oBaseCell = oRow.cells[iIndex] ;
@@ -154,7 +153,9 @@
// Create the new cell element to be added.
var oNewCell = FCK.EditorDocument.createElement("TD");
- oNewCell.innerHTML = " " ;
+ if ( FCKBrowserInfo.IsGecko )
+ oNewCell.innerHTML = '<br _moz_editor_bogus_node="TRUE">' ;
+// oNewCell.innerHTML = " " ;
// If it is the last cell in the row.
if ( oCell.cellIndex == oCell.parentNode.cells.lenght - 1 )
@@ -345,9 +346,12 @@
// Get the array of row's cells.
var aCells = tr.cells ;
- // Replace the contents of each cell with "nbsp;".
+ // Replace the contents of each cell with "nothing".
for ( var i = 0 ; i < aCells.length ; i++ )
{
- aCells[i].innerHTML = ' ' ;
+ if ( FCKBrowserInfo.IsGecko )
+ aCells[i].innerHTML = '<br
_moz_editor_bogus_node="TRUE">' ;
+ else
+ aCells[i].innerHTML = '' ;
}
}
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckselection_ie.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckselection_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckselection_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckselection_ie.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckselection_ie.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckselection_ie.js
* Active selection functions. (IE specific implementation)
*
- * Version: 2.0 RC3
- * Modified: 2005-03-02 08:24:15
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -45,12 +42,20 @@
return
FCK.EditorDocument.selection.createRange().parentElement() ;
}
-FCKSelection.MoveToNode = function( node )
+FCKSelection.SelectNode = function( node )
{
FCK.Focus() ;
FCK.EditorDocument.selection.empty() ;
var oRange = FCK.EditorDocument.selection.createRange() ;
oRange.moveToElementText( node ) ;
+ oRange.select() ;
+}
+
+FCKSelection.Collapse = function( toStart )
+{
+ FCK.Focus() ;
+ var oRange = FCK.EditorDocument.selection.createRange() ;
+ oRange.collapse( toStart == null || toStart === true ) ;
oRange.select() ;
}
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckregexlib.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckregexlib.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckregexlib.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckregexlib.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckregexlib.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckregexlib.js
* These are some Regular Expresions used by the editor.
*
- * Version: 2.0 RC3
- * Modified: 2005-01-22 17:36:28
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -27,7 +24,7 @@
FCKRegexLib.ObjectElements =
/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i ;
// Block Elements.
-FCKRegexLib.BlockElements =
/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI)$/i ;
+FCKRegexLib.BlockElements =
/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i ;
// Elements marked as empty "Empty" in the XHTML DTD.
FCKRegexLib.EmptyElements =
/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i ;
@@ -48,3 +45,16 @@
FCKRegexLib.HeadCloser = /<\/head\s*>/i ;
FCKRegexLib.TableBorderClass = /\s*FCK__ShowTableBorders\s*/ ;
+
+// Validate element names.
+FCKRegexLib.ElementName = /^[A-Za-z_:][\w.-:]*$/ ;
+
+// Used in conjuction with the FCKConfig.ForceSimpleAmpersand configuration
option.
+FCKRegexLib.ForceSimpleAmpersand = /___FCKAmp___/g ;
+
+// Get the closing parts of the tags with no closing tags, like <br/>... gets
the "/>" part.
+FCKRegexLib.SpaceNoClose = /\/>/g ;
+
+FCKRegexLib.EmptyParagraph = /^<(p|div)>\s*<\/\1>$/i ;
+
+FCKRegexLib.TagBody = /></ ;
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckplugins.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckplugins.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckplugins.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckplugins.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckplugins.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fckplugins.js
* Defines the FCKPlugins object that is responsible for loading the
Plugins.
- *
- * Version: 2.0 RC3
- * Modified: 2005-01-19 17:36:21
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckscriptloader.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckscriptloader.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckscriptloader.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckscriptloader.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckscriptloader.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Defines the FCKScriptLoader object that is used to dynamically load
* scripts in the editor.
*
- * Version: 2.0 RC3
- * Modified: 2004-05-31 23:07:50
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -54,13 +51,63 @@
oTempArray[ i - 1 ] = this.Queue[ i ] ;
this.Queue = oTempArray ;
-// window.status = ( 'Loading ' + sScriptPath + '...' ) ;
+ this.LoadFile( sScriptPath ) ;
+ }
+ else
+ {
+ this.IsLoading = false ;
+
+ // Call the "OnEmpty" event.
+ if ( this.OnEmpty )
+ this.OnEmpty() ;
+ }
+}
+
+if ( FCKBrowserInfo.IsSafari )
+{
+ FCKScriptLoader.LoadFile = function( filePath )
+ {
+ if ( filePath.lastIndexOf( '.css' ) > 0 )
+ {
+ this.CheckQueue() ;
+ return ;
+ }
+
+ var oXmlRequest = new XMLHttpRequest() ;
+
+ // Load the script synchronously.
+ oXmlRequest.open( "GET", filePath, false ) ;
+ oXmlRequest.send( null ) ;
+
+ // Evaluate the script.
+ if ( oXmlRequest.status == 200 )
+ {
+ try
+ {
+ eval( oXmlRequest.responseText ) ;
+ }
+ catch ( e )
+ {
+ alert( 'Error parsing ' + filePath + ': ' +
e.message ) ;
+ }
+ }
+ else
+ alert( 'Error loading ' + filePath ) ;
+
+ this.CheckQueue() ;
+ }
+}
+else
+{
+ FCKScriptLoader.LoadFile = function( filePath )
+ {
+ //window.status = ( 'Loading ' + filePath + '...' ) ;
// Dynamically load the file (it can be a CSS or a JS)
var e ;
// If is a CSS
- if ( sScriptPath.lastIndexOf( '.css' ) > 0 )
+ if ( filePath.lastIndexOf( '.css' ) > 0 )
{
e = document.createElement( 'LINK' ) ;
e.rel = 'stylesheet' ;
@@ -76,40 +123,32 @@
// Add the new object to the HEAD.
document.getElementsByTagName("head")[0].appendChild( e ) ;
- var oEvent = function()
- {
- // Gecko doesn't have a "readyState" property
- if ( this.tagName == 'LINK' || !this.readyState ||
this.readyState == 'loaded' )
- // Load the next script available in the queue
- FCKScriptLoader.CheckQueue() ;
- }
-
// Start downloading it.
if ( e.tagName == 'LINK' )
{
// IE must wait for the file to be downloaded.
if ( FCKBrowserInfo.IsIE )
- e.onload = oEvent ;
+ e.onload = FCKScriptLoader_OnLoad ;
// Gecko doens't fire any event when the CSS is loaded,
so we
// can't wait for it.
else
FCKScriptLoader.CheckQueue() ;
- e.href = sScriptPath ;
+ e.href = filePath ;
}
else
{
// Gecko fires the "onload" event and IE fires
"onreadystatechange"
- e.onload = e.onreadystatechange = oEvent ;
- e.src = sScriptPath ;
+ e.onload = e.onreadystatechange =
FCKScriptLoader_OnLoad ;
+ e.src = filePath ;
}
}
- else
- {
- this.IsLoading = false ;
- // Call the "OnEmpty" event.
- if ( this.OnEmpty )
- this.OnEmpty() ;
+ function FCKScriptLoader_OnLoad()
+ {
+ // Gecko doesn't have a "readyState" property
+ if ( this.tagName == 'LINK' || !this.readyState ||
this.readyState == 'loaded' )
+ // Load the next script available in the queue
+ FCKScriptLoader.CheckQueue() ;
}
}
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckselection.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckselection.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckselection.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckselection.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckselection.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fckselection.js
* Active selection functions.
- *
- * Version: 2.0 RC3
- * Modified: 2004-11-22 11:03:02
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckselection_gecko.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fckselection_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckselection_gecko.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckselection_gecko.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckselection_gecko.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckselection_gecko.js
* Active selection functions. (Gecko specific implementation)
*
- * Version: 2.0 RC3
- * Modified: 2005-01-19 07:50:24
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -68,17 +65,26 @@
}
}
-FCKSelection.MoveToNode = function( node )
+FCKSelection.SelectNode = function( element )
{
+ FCK.Focus() ;
+
+ var oRange = FCK.EditorDocument.createRange() ;
+ oRange.selectNode( element ) ;
+
var oSel = FCK.EditorWindow.getSelection() ;
+ oSel.removeAllRanges() ;
+ oSel.addRange( oRange ) ;
+}
- for ( i = oSel.rangeCount - 1 ; i >= 0 ; i-- )
+FCKSelection.Collapse = function( toStart )
{
- if ( i == 0 )
- oSel.getRangeAt(i).selectNodeContents( node ) ;
+ var oSel = FCK.EditorWindow.getSelection() ;
+
+ if ( toStart == null || toStart === true )
+ oSel.collapseToStart() ;
else
- oSel.removeRange( oSel.getRangeAt(i) ) ;
- }
+ oSel.collapseToEnd() ;
}
// The "nodeTagName" parameter must be Upper Case.
@@ -129,13 +135,3 @@
return oSel ;
}
-
-FCKSelection.SelectElement = function( element )
-{
- var oRange = FCK.EditorDocument.createRange() ;
- oRange.selectNode( element ) ;
-
- var oSel = FCK.EditorWindow.getSelection() ;
- oSel.removeAllRanges() ;
- oSel.addRange( oRange ) ;
-}
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcktools_ie.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fcktools_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcktools_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcktools_ie.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcktools_ie.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fcktools_ie.js
* Utility functions. (IE version).
- *
- * Version: 2.0 RC3
- * Modified: 2005-02-23 00:43:29
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckurlparams.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckurlparams.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckurlparams.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckurlparams.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckurlparams.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckurlparams.js
* Defines the FCKURLParams object that is used to get all parameters
* passed by the URL QueryString (after the "?").
- *
- * Version: 2.0 RC3
- * Modified: 2004-05-31 23:07:51
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckxhtml_gecko.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Defines the FCKXHtml object, responsible for the XHTML operations.
* Gecko specific.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-24 00:20:55
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -24,10 +21,15 @@
// Create the XMLSerializer.
var oSerializer = new XMLSerializer() ;
+ if ( FCKConfig.ProcessHTMLEntities )
+ {
// Return the serialized XML as a string.
// Due to a BUG on Gecko, the special chars sequence "#?-:" must be
replaced with "&"
// for the XHTML entities.
return oSerializer.serializeToString( this.MainNode ).replace(
FCKXHtmlEntities.GeckoEntitiesMarkerRegex, '&' ) ;
+}
+ else
+ return oSerializer.serializeToString( this.MainNode ) ;
}
// There is a BUG on Gecko... createEntityReference returns null.
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckxhtml.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckxhtml.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckxhtml.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckxhtml.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckxhtml.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckxhtml.js
* Defines the FCKXHtml object, responsible for the XHTML operations.
*
- * Version: 2.0 RC3
- * Modified: 2005-03-02 11:17:23
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -47,8 +44,15 @@
// Strip the "XHTML" root node.
sXHTML = sXHTML.substr( 7, sXHTML.length - 15 ).trim() ;
+ // Remove the trailing <br> added by Gecko.
+ if ( FCKBrowserInfo.IsGecko )
+ sXHTML = sXHTML.replace( /<br\/>$/, '' ) ;
+
+ // Add a space in the tags with no closing tags, like <br/> -> <br />
+ sXHTML = sXHTML.replace( FCKRegexLib.SpaceNoClose, ' />');
+
if ( FCKConfig.ForceSimpleAmpersand )
- sXHTML = sXHTML.replace( /___FCKAmp___/g, '&' ) ;
+ sXHTML = sXHTML.replace( FCKRegexLib.ForceSimpleAmpersand, '&'
) ;
if ( format )
sXHTML = FCKCodeFormatter.Format( sXHTML ) ;
@@ -83,15 +87,21 @@
FCKXHtml._AppendChildNodes = function( xmlNode, htmlNode, isBlockElement )
{
+ var iCount = 0 ;
+
if ( htmlNode.hasChildNodes() )
{
// Get all children nodes.
var oChildren = htmlNode.childNodes ;
for ( var i = 0 ; i < oChildren.length ; i++ )
- this._AppendNode( xmlNode, oChildren[i] ) ;
+ {
+ if ( this._AppendNode( xmlNode, oChildren[i] ) )
+ iCount++ ;
}
- else
+ }
+
+ if ( iCount == 0 )
{
if ( isBlockElement && FCKConfig.FillEmptyBlocks )
{
@@ -112,27 +122,39 @@
{
// Element Node.
case 1 :
+ 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 ;
+ return false ;
+
+ if ( htmlNode.getAttribute('_fckdelete') )
+ return false ;
// Create the Element.
- var sNodeName = htmlNode.nodeName.toLowerCase() ;
+ var sNodeName = htmlNode.nodeName ;
+
+ // Check if the node name is valid, otherwise ignore
this tag.
+ if ( !FCKRegexLib.ElementName.test( sNodeName ) )
+ return false ;
+
+ sNodeName = sNodeName.toLowerCase() ;
if ( FCKBrowserInfo.IsGecko && sNodeName == 'br' &&
htmlNode.hasAttribute('type') && htmlNode.getAttribute( 'type', 2 ) == '_moz' )
- return ;
+ 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 == FCKXHtml.CurrentJobNum )
- return ;
+ return false ;
else
htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ;
// 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 ( sNodeName.length == 0 || sNodeName.substr(0,1) ==
'/' )
- break ;
+// if ( sNodeName.length == 0 || sNodeName.substr(0,1) ==
'/' )
+// break ;
var oNode = this.XML.createElement( sNodeName ) ;
@@ -156,10 +178,36 @@
// Text Node.
case 3 :
+ this._AppendTextNode( xmlNode,
htmlNode.nodeValue.replaceNewLineChars(' ') ) ;
+ break ;
+
+ // Comment
+ case 8 :
+ xmlNode.appendChild( this.XML.createComment(
htmlNode.nodeValue ) ) ;
+ break ;
+
+ // Unknown Node type.
+ default :
+ xmlNode.appendChild( this.XML.createComment( "Element
not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) )
;
+ break ;
+ }
+ return true ;
+}
+
+// Append an item to the SpecialBlocks array and returns the tag to be used.
+FCKXHtml._AppendSpecialItem = function( item )
+{
+ return '___FCKsi___' + FCKXHtml.SpecialBlocks.addItem( item ) ;
+}
+
+if ( FCKConfig.ProcessHTMLEntities )
+{
+ FCKXHtml._AppendTextNode = function( targetNode, textValue )
+ {
// We can't just replace the special chars with
entities and create a
// text node with it. We must split the text isolating
the special chars
// and add each piece a time.
- var asPieces = htmlNode.nodeValue.replaceNewLineChars('
').match( FCKXHtmlEntities.EntitiesRegex ) ;
+ var asPieces = textValue.match( FCKXHtmlEntities.EntitiesRegex
) ;
if ( asPieces )
{
@@ -170,35 +218,21 @@
var sEntity =
FCKXHtmlEntities.Entities[ asPieces[i] ] ;
if ( sEntity != null )
{
- this._AppendEntity(
xmlNode, sEntity ) ;
+ this._AppendEntity( targetNode,
sEntity ) ;
continue ;
}
}
- xmlNode.appendChild(
this.XML.createTextNode( asPieces[i] ) ) ;
+ targetNode.appendChild(
this.XML.createTextNode( asPieces[i] ) ) ;
}
}
-
- // This is the original code. It doesn't care about the
entities.
- //xmlNode.appendChild( this.XML.createTextNode(
htmlNode.nodeValue ) ) ;
-
- break ;
-
- // Comment
- case 8 :
- xmlNode.appendChild( this.XML.createComment(
htmlNode.nodeValue ) ) ;
- break ;
-
- // Unknown Node type.
- default :
- xmlNode.appendChild( this.XML.createComment( "Element
not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) )
;
- break ;
}
}
-
-// Append an item to the SpecialBlocks array and returns the tag to be used.
-FCKXHtml._AppendSpecialItem = function( item )
+else
{
- return '___FCKsi___' + FCKXHtml.SpecialBlocks.addItem( item ) ;
+ FCKXHtml._AppendTextNode = function( targetNode, textValue )
+ {
+ targetNode.appendChild( this.XML.createTextNode( textValue ) ) ;
+ }
}
// An object that hold tag specific operations.
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckxhtml_ie.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckxhtml_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckxhtml_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckxhtml_ie.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckxhtml_ie.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Defines the FCKXHtml object, responsible for the XHTML operations.
* IE specific.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-24 00:20:19
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -40,6 +37,7 @@
if ( oAttribute.specified )
{
var sAttName = oAttribute.nodeName.toLowerCase() ;
+ var sAttValue ;
// The "_fckxhtmljob" attribute is used to mark the
already processed elements.
if ( sAttName == '_fckxhtmljob' )
@@ -47,20 +45,20 @@
// 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' )
- var sAttValue = htmlNode.style.cssText ;
+ sAttValue = htmlNode.style.cssText ;
// 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 )
- var sAttValue = oAttribute.nodeValue ;
+ 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 ;
// We must use getAttribute to get it exactly as it is
defined.
- else
- var sAttValue = htmlNode.getAttribute(
sAttName, 2 ) ;
+ else if ( ! (sAttValue = htmlNode.getAttribute(
sAttName, 2 ) ) )
+ sAttValue = oAttribute.nodeValue ;
if ( FCKConfig.ForceSimpleAmpersand &&
sAttValue.replace )
sAttValue = sAttValue.replace( /&/g,
'___FCKAmp___' ) ;
@@ -176,6 +174,20 @@
{
if ( htmlNode.acceptCharset.length > 0 && htmlNode.acceptCharset !=
'UNKNOWN' )
FCKXHtml._AppendAttribute( node, 'accept-charset',
htmlNode.acceptCharset ) ;
+
+ if ( htmlNode.name )
+ FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
+
+ FCKXHtml._AppendChildNodes( node, htmlNode ) ;
+
+ return node ;
+}
+
+// IE doens't hold the name attribute as an attribute for the <TEXTAREA> and
<SELECT> tags.
+FCKXHtml.TagProcessors['textarea'] = FCKXHtml.TagProcessors['select'] =
function( node, htmlNode )
+{
+ if ( htmlNode.name )
+ FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
FCKXHtml._AppendChildNodes( node, htmlNode ) ;
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckxhtmlentities.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fckxhtmlentities.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckxhtmlentities.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckxhtmlentities.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckxhtmlentities.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,13 +11,12 @@
* File Name: fckxhtmlentities.js
* This file define the HTML entities handled by the editor.
*
- * Version: 2.0 RC3
- * Modified: 2004-11-22 16:23:11
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
+if ( FCKConfig.ProcessHTMLEntities )
+{
FCKXHtmlEntities = new Object();
FCKXHtmlEntities.Entities = {
@@ -54,6 +53,119 @@
'½':'frac12',
'¾':'frac34',
'¿':'iquest',
+ 'Ã':'times',
+ '÷':'divide',
+
+ // Symbols and Greek Letters
+
+ 'Æ':'fnof',
+ 'â¢':'bull',
+ 'â¦':'hellip',
+ 'â²':'prime',
+ 'â³':'Prime',
+ 'â¾':'oline',
+ 'â':'frasl',
+ 'â':'weierp',
+ 'â':'image',
+ 'â':'real',
+ 'â¢':'trade',
+ 'âµ':'alefsym',
+ 'â':'larr',
+ 'â':'uarr',
+ 'â':'rarr',
+ 'â':'darr',
+ 'â':'harr',
+ 'âµ':'crarr',
+ 'â':'lArr',
+ 'â':'uArr',
+ 'â':'rArr',
+ 'â':'dArr',
+ 'â':'hArr',
+ 'â':'forall',
+ 'â':'part',
+ 'â':'exist',
+ 'â
':'empty',
+ 'â':'nabla',
+ 'â':'isin',
+ 'â':'notin',
+ 'â':'ni',
+ 'â':'prod',
+ 'â':'sum',
+ 'â':'minus',
+ 'â':'lowast',
+ 'â':'radic',
+ 'â':'prop',
+ 'â':'infin',
+ 'â ':'ang',
+ 'â§':'and',
+ 'â¨':'or',
+ 'â©':'cap',
+ 'âª':'cup',
+ 'â«':'int',
+ 'â´':'there4',
+ 'â¼':'sim',
+ 'â
':'cong',
+ 'â':'asymp',
+ 'â ':'ne',
+ 'â¡':'equiv',
+ 'â¤':'le',
+ 'â¥':'ge',
+ 'â':'sub',
+ 'â':'sup',
+ 'â':'nsub',
+ 'â':'sube',
+ 'â':'supe',
+ 'â':'oplus',
+ 'â':'otimes',
+ 'â¥':'perp',
+ 'â
':'sdot',
+ 'â':'loz',
+ 'â ':'spades',
+ 'â£':'clubs',
+ 'â¥':'hearts',
+ 'â¦':'diams',
+
+ // Other Special Characters
+
+ '"':'quot',
+ // '&':'amp', // This entity is automatically handled
by the XHTML parser.
+ // '<':'lt', // This entity is automatically handled
by the XHTML parser.
+ // '>':'gt', // This entity is automatically handled
by the XHTML parser.
+ 'Ë':'circ',
+ 'Ë':'tilde',
+ 'â':'ensp',
+ 'â':'emsp',
+ 'â':'thinsp',
+ 'â':'zwnj',
+ 'â':'zwj',
+ 'â':'lrm',
+ 'â':'rlm',
+ 'â':'ndash',
+ 'â':'mdash',
+ 'â':'lsquo',
+ 'â':'rsquo',
+ 'â':'sbquo',
+ 'â':'ldquo',
+ 'â':'rdquo',
+ 'â':'bdquo',
+ 'â ':'dagger',
+ 'â¡':'Dagger',
+ 'â°':'permil',
+ 'â¹':'lsaquo',
+ 'âº':'rsaquo',
+ 'â¬':'euro'
+ } ;
+
+ FCKXHtmlEntities.Chars = '' ;
+
+ // Process Base Entities.
+ for ( var e in FCKXHtmlEntities.Entities )
+ FCKXHtmlEntities.Chars += e ;
+
+ // Include Latin Letters Entities.
+ if ( FCKConfig.IncludeLatinEntities )
+ {
+ var oEntities = {
'Ã':'Agrave',
'Ã':'Aacute',
'Ã':'Acirc',
@@ -77,7 +189,6 @@
'Ã':'Ocirc',
'Ã':'Otilde',
'Ã':'Ouml',
- 'Ã':'times',
'Ã':'Oslash',
'Ã':'Ugrave',
'Ã':'Uacute',
@@ -109,7 +220,6 @@
'ô':'ocirc',
'õ':'otilde',
'ö':'ouml',
- '÷':'divide',
'ø':'oslash',
'ù':'ugrave',
'ú':'uacute',
@@ -118,10 +228,26 @@
'ý':'yacute',
'þ':'thorn',
'ÿ':'yuml',
-
- // Symbols and Greek Letters
-
- 'Æ':'fnof',
+ 'Å':'OElig',
+ 'Å':'oelig',
+ 'Å ':'Scaron',
+ 'Å¡':'scaron',
+ 'Ÿ':'Yuml'
+ } ;
+
+ for ( var e in oEntities )
+ {
+ FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
+ FCKXHtmlEntities.Chars += e ;
+ }
+
+ oEntities = null ;
+ }
+
+ // Include Greek Letters Entities.
+ if ( FCKConfig.IncludeGreekEntities )
+ {
+ var oEntities = {
'Î':'Alpha',
'Î':'Beta',
'Î':'Gamma',
@@ -170,126 +296,21 @@
'Ï':'phi',
'Ï':'chi',
'Ï':'psi',
- 'Ï':'omega',
- 'Ï':'thetasym',
- 'Ï':'upsih',
- 'Ï':'piv',
- 'â¢':'bull',
- 'â¦':'hellip',
- 'â²':'prime',
- 'â³':'Prime',
- 'â¾':'oline',
- 'â':'frasl',
- 'â':'weierp',
- 'â':'image',
- 'â':'real',
- 'â¢':'trade',
- 'âµ':'alefsym',
- 'â':'larr',
- 'â':'uarr',
- 'â':'rarr',
- 'â':'darr',
- 'â':'harr',
- 'âµ':'crarr',
- 'â':'lArr',
- 'â':'uArr',
- 'â':'rArr',
- 'â':'dArr',
- 'â':'hArr',
- 'â':'forall',
- 'â':'part',
- 'â':'exist',
- 'â
':'empty',
- 'â':'nabla',
- 'â':'isin',
- 'â':'notin',
- 'â':'ni',
- 'â':'prod',
- 'â':'sum',
- 'â':'minus',
- 'â':'lowast',
- 'â':'radic',
- 'â':'prop',
- 'â':'infin',
- 'â ':'ang',
- 'â§':'and',
- 'â¨':'or',
- 'â©':'cap',
- 'âª':'cup',
- 'â«':'int',
- 'â´':'there4',
- 'â¼':'sim',
- 'â
':'cong',
- 'â':'asymp',
- 'â ':'ne',
- 'â¡':'equiv',
- 'â¤':'le',
- 'â¥':'ge',
- 'â':'sub',
- 'â':'sup',
- 'â':'nsub',
- 'â':'sube',
- 'â':'supe',
- 'â':'oplus',
- 'â':'otimes',
- 'â¥':'perp',
- 'â
':'sdot',
- 'â':'lceil',
- 'â':'rceil',
- 'â':'lfloor',
- 'â':'rfloor',
- 'â©':'lang',
- 'âª':'rang',
- 'â':'loz',
- 'â ':'spades',
- 'â£':'clubs',
- 'â¥':'hearts',
- 'â¦':'diams',
-
- // Other Special Characters
-
- '"':'quot',
-// '&':'amp', // This entity is automatically handled by the
XHTML parser.
-// '<':'lt', // This entity is automatically handled by the
XHTML parser.
-// '>':'gt', // This entity is automatically handled by the
XHTML parser.
- 'Å':'OElig',
- 'Å':'oelig',
- 'Å ':'Scaron',
- 'Å¡':'scaron',
- 'Ÿ':'Yuml',
- 'Ë':'circ',
- 'Ë':'tilde',
- 'â':'ensp',
- 'â':'emsp',
- 'â':'thinsp',
- 'â':'zwnj',
- 'â':'zwj',
- 'â':'lrm',
- 'â':'rlm',
- 'â':'ndash',
- 'â':'mdash',
- 'â':'lsquo',
- 'â':'rsquo',
- 'â':'sbquo',
- 'â':'ldquo',
- 'â':'rdquo',
- 'â':'bdquo',
- 'â ':'dagger',
- 'â¡':'Dagger',
- 'â°':'permil',
- 'â¹':'lsaquo',
- 'âº':'rsaquo',
- 'â¬':'euro'
-
+ 'Ï':'omega'
} ;
-FCKXHtmlEntities.Chars = '' ;
-
-for ( var e in FCKXHtmlEntities.Entities )
+ for ( var e in oEntities )
+ {
+ FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
FCKXHtmlEntities.Chars += e ;
+ }
-FCKXHtmlEntities.EntitiesRegex = new RegExp('','') ;
+ oEntities = null ;
+ }
+ // Create and Compile the Regex used to separate the entities from the
text.
+ FCKXHtmlEntities.EntitiesRegex = new RegExp('','') ;
FCKXHtmlEntities.EntitiesRegex.compile( '[' + FCKXHtmlEntities.Chars + ']|[^'
+ FCKXHtmlEntities.Chars + ']+', 'g' ) ;
-FCKXHtmlEntities.GeckoEntitiesMarkerRegex = /#\?-\:/g ;
\ No newline at end of file
+FCKXHtmlEntities.GeckoEntitiesMarkerRegex = /#\?-\:/g ;
+}
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fcklanguagemanager.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fcklanguagemanager.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fcklanguagemanager.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fcklanguagemanager.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fcklanguagemanager.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Defines the FCKLanguageManager object that is used for language
* operations.
*
- * Version: 2.0 RC3
- * Modified: 2005-03-02 10:25:49
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -36,8 +33,6 @@
return FCKConfig.DefaultLanguage ;
}
- FCKDebug.Output( 'Navigator Language = ' + sUserLang ) ;
-
// Some language codes are set in 5 characters,
// like "pt-br" for Brasilian Portuguese.
if ( sUserLang.length >= 5 )
@@ -93,7 +88,6 @@
FCKLanguageManager.ActiveLanguage.Name =
FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ]
;
FCK.Language = FCKLanguageManager ;
-
// Load the language file and start the editor.
LoadLanguageFile() ;
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckdialog_ie.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckdialog_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckdialog_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckdialog_ie.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckdialog_ie.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckdialog_ie.js
* Dialog windows operations. (IE specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2004-12-19 23:28:42
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -25,4 +22,3 @@
parentWindow.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" +
dialogWidth + "px;dialogHeight:" + dialogHeight +
"px;help:no;scroll:no;status:no") ;
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_1_gecko.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_1_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_1_gecko.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_1_gecko.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_1_gecko.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -13,9 +13,6 @@
* object that represents an editor instance.
* (Gecko specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2005-02-23 18:27:28
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -24,6 +21,13 @@
FCK.InitializeBehaviors = function()
{
+ // Enable table borders visibility.
+ if ( FCKConfig.ShowBorders )
+ {
+ var oStyle = FCKTools.AppendStyleSheet( this.EditorDocument,
FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css' ) ;
+ oStyle.setAttribute( '_fcktemp', 'true' ) ;
+ }
+
// Disable Right-Click
var oOnContextMenu = function( e )
{
@@ -32,6 +36,7 @@
}
this.EditorDocument.addEventListener( 'contextmenu', oOnContextMenu,
true ) ;
+ // Handle pasting operations.
var oOnKeyDown = function( e )
{
if ( e.ctrlKey && !e.shiftKey && !e.altKey )
@@ -39,17 +44,15 @@
// Char 86/118 = V/v
if ( e.which == 86 || e.which == 118 )
{
- if ( FCK.Status == FCK_STATUS_COMPLETE )
+ if ( FCK.Status != FCK_STATUS_COMPLETE ||
!FCK.Events.FireEvent( "OnPaste" ) )
{
- if ( !FCK.Events.FireEvent( "OnPaste" )
)
e.preventDefault() ;
+ e.stopPropagation() ;
}
- else
- e.preventDefault() ;
}
}
}
- this.EditorDocument.addEventListener( 'keydown', oOnKeyDown, true ) ;
+ this.EditorDocument.addEventListener( 'keypress', oOnKeyDown, true ) ;
this.ExecOnSelectionChange = function()
{
@@ -75,7 +78,6 @@
FCK.OnDoubleClick( e.target ) ;
e.stopPropagation() ;
}
-
this.EditorDocument.addEventListener( 'dblclick',
this._DblClickListener, true ) ;
this._OnLoad = function()
@@ -86,12 +88,26 @@
this._FCK_HTML = null ;
}
}
-
this.EditorWindow.addEventListener( 'load', this._OnLoad, true ) ;
+
+// var oEditorWindow_OnUnload = function()
+// {
+// FCK.EditorWindow.location = 'fckblank.html' ;
+// }
+// this.EditorWindow.addEventListener( 'unload', oEditorWindow_OnUnload,
true ) ;
+
+// var oEditorDocument_OnFocus = function()
+// {
+// FCK.MakeEditable() ;
+// }
+// this.EditorDocument.addEventListener( 'focus', oEditorDocument_OnFocus,
true ) ;
}
FCK.MakeEditable = function()
{
+ if ( this.EditorWindow.document.designMode == 'on' )
+ return ;
+
this.EditorWindow.document.designMode = 'on' ;
// Tell Gecko to use or not the <SPAN> tag for the bold, italic and
underline.
@@ -102,6 +118,7 @@
{
try
{
+// window.focus() ;
FCK.EditorWindow.focus() ;
}
catch(e) {}
@@ -117,8 +134,6 @@
// then insert the body contents.
// (Oh yes... it took me a lot of time to find out this
workaround)
- this.EditorDocument.open() ;
-
if ( FCKConfig.FullPage && FCKRegexLib.BodyContents.test( html
) )
{
// Add the <BASE> tag to the input HTML.
@@ -133,11 +148,34 @@
var sContents = oMatch[2] ; // This is the BODY tag
contents.
var sCloser = oMatch[3] ; // This is the
HTML from the </body> tag, inclusive.
- this.EditorDocument.write( sOpener + ' ' + sCloser
) ;
+ var sHtml = sOpener + ' ' + sCloser ;
+
+ if ( !this._Initialized )
+ {
+ FCK.EditorDocument.designMode = "on" ;
+
+ // Tell Gecko to use or not the <SPAN> tag for
the bold, italic and underline.
+ FCK.EditorDocument.execCommand( "useCSS",
false, !FCKConfig.GeckoUseSPAN ) ;
+
+ this._Initialized = true ;
+ }
+
+ this.EditorDocument.open() ;
+ this.EditorDocument.write( sHtml ) ;
+ this.EditorDocument.close() ;
+
+ if ( this.EditorDocument.body )
+ this.EditorDocument.body.innerHTML = sContents ;
+ else
+ this.EditorWindow._FCK_HTML = sContents ;
+
+ this.InitializeBehaviors() ;
}
else
{
- var sHtml =
+ /* TODO: Wait stable and remove it.
+ sHtml =
+ '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
'<html dir="' + FCKConfig.ContentLangDirection
+ '">' +
'<head><title></title>' +
'<link href="' + FCKConfig.EditorAreaCSS + '"
rel="stylesheet" type="text/css" />' +
@@ -146,31 +184,45 @@
sHtml += FCK.TempBaseTag ;
sHtml += '</head><body> </body></html>' ;
+ */
- this.EditorDocument.write( sHtml ) ;
+ if ( !this._Initialized )
+ {
+ this.EditorDocument.dir =
FCKConfig.ContentLangDirection ;
+
+ var sHtml =
+ '<title></title>' +
+ '<link href="' +
FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
+ '<link href="' + FCKConfig.BasePath +
'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true"
/>' ;
+
+ sHtml += FCK.TempBaseTag ;
+
+
this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML = sHtml ;
+
+ this.InitializeBehaviors() ;
+
+ this._Initialized = true ;
}
- this.EditorDocument.close() ;
+ // On Gecko we must disable editing before setting the
BODY innerHTML.
+// FCK.EditorDocument.designMode = 'off' ;
- if ( this.EditorDocument.body )
- this.EditorDocument.body.innerHTML = sContents ?
sContents : html ;
+ if ( html.length == 0 )
+ FCK.EditorDocument.body.innerHTML = '<br
_moz_editor_bogus_node="TRUE">' ;
+ else if ( FCKRegexLib.EmptyParagraph.test( html ) )
+ FCK.EditorDocument.body.innerHTML =
html.replace( FCKRegexLib.TagBody, '><br _moz_editor_bogus_node="TRUE"><' ) ;
else
- this.EditorWindow._FCK_HTML = sContents ? sContents :
html ;
+ FCK.EditorDocument.body.innerHTML = html ;
- // TODO: Wait stable version and remove the following commented
lines.
- // We must load the CSS style after setting the innerHTML to
avoid an error.
- // The body is not available is the style link tag is written
inside the <html> tag.
-// if ( !FCKConfig.FullPage )
-// {
-// FCKTools.AppendStyleSheet( this.EditorDocument,
FCKConfig.EditorAreaCSS ) ;
-// FCKTools.AppendStyleSheet( this.EditorDocument,
FCKConfig.BasePath + 'css/fck_internal.css' ) ;
-// }
+ // On Gecko we must set the desingMode on again after
setting the BODY innerHTML.
+// FCK.EditorDocument.designMode = 'on' ;
- this.InitializeBehaviors() ;
+ // Tell Gecko to use or not the <SPAN> tag for the
bold, italic and underline.
+ FCK.EditorDocument.execCommand( 'useCSS', false,
!FCKConfig.GeckoUseSPAN ) ;
+ }
- this.Events.FireEvent( 'OnAfterSetHTML' ) ;
+ FCK.OnAfterSetHTML() ;
}
else
document.getElementById('eSourceField').value = html ;
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_1.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_1.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_1.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_1.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_1.js Thu Aug 4
03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* This is the first part of the "FCK" object creation. This is the main
* object that represents an editor instance.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-27 21:46:32
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -43,9 +40,16 @@
// Attach the editor to the form onsubmit event
FCKTools.AttachToLinkedFieldFormSubmit( this.UpdateLinkedField ) ;
+ FCKUndo.SaveUndoStep() ;
+
this.SetStatus( FCK_STATUS_ACTIVE ) ;
}
+function Window_OnFocus()
+{
+ FCK.Focus() ;
+}
+
FCK.SetStatus = function( newStatus )
{
this.Status = newStatus ;
@@ -53,7 +57,7 @@
if ( newStatus == FCK_STATUS_ACTIVE )
{
// Force the focus in the window to go to the editor.
- window.onfocus = window.document.body.onfocus = FCK.Focus ;
+ window.onfocus = window.document.body.onfocus = Window_OnFocus ;
// Force the focus in the editor.
if ( FCKConfig.StartupFocus )
@@ -85,7 +89,6 @@
FCKScriptLoader.AddScript( '_source/internals/fckcommands.js' )
;
FCKScriptLoader.AddScript(
'_source/classes/fcktoolbarbutton.js' ) ;
- FCKScriptLoader.AddScript( '_source/classes/fcktoolbarcombo.js'
) ;
FCKScriptLoader.AddScript( '_source/classes/fckspecialcombo.js'
) ;
FCKScriptLoader.AddScript(
'_source/classes/fcktoolbarspecialcombo.js' ) ;
FCKScriptLoader.AddScript(
'_source/classes/fcktoolbarfontscombo.js' ) ;
@@ -120,8 +123,6 @@
}
this.Events.FireEvent( 'OnStatusChange', newStatus ) ;
- if ( this.OnStatusChange ) this.OnStatusChange( newStatus ) ;
-
}
FCK.GetHTML = function( format )
@@ -162,7 +163,12 @@
if ( FCKConfig.FullPage )
var sXHTML = FCKXHtml.GetXHTML(
this.EditorDocument.getElementsByTagName( 'html' )[0], true, format ) ;
else
+ {
+ if ( FCKConfig.IgnoreEmptyParagraphValue &&
this.EditorDocument.body.innerHTML == '<P> </P>' )
+ var sXHTML = '' ;
+ else
var sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body,
false, format ) ;
+ }
if ( bSource )
this.SwitchEditMode() ;
@@ -202,10 +208,8 @@
{
var oHandler = FCK.RegisteredDoubleClickHandlers[ element.tagName ] ;
if ( oHandler )
- {
oHandler( element ) ;
}
-}
// Register objects that can handle double click operations.
FCK.RegisterDoubleClickHandler = function( handlerFunction, tag )
@@ -213,3 +217,108 @@
FCK.RegisteredDoubleClickHandlers[ tag.toUpperCase() ] =
handlerFunction ;
}
+FCK.OnAfterSetHTML = function()
+{
+ var oProcessor, i = 0 ;
+ while( oProcessor = FCKDocumentProcessors[i++] )
+ oProcessor.ProcessDocument( FCK.EditorDocument ) ;
+
+ this.Events.FireEvent( 'OnAfterSetHTML' ) ;
+}
+
+// Advanced document processors.
+
+var FCKDocumentProcessors = new Array() ;
+
+var FCKDocumentProcessors_CreateFakeImage = function( fakeClass, realElement )
+{
+ var oImg = FCK.EditorDocument.createElement( 'IMG' ) ;
+ oImg.className = fakeClass ;
+ oImg.src = FCKConfig.FullBasePath + 'images/spacer.gif' ;
+ oImg.setAttribute( '_fckfakelement', 'true', 0 ) ;
+ oImg.setAttribute( '_fckrealelement', FCKTempBin.AddElement(
realElement ), 0 ) ;
+ return oImg ;
+}
+
+// Link Anchors
+var FCKAnchorsProcessor = new Object() ;
+FCKAnchorsProcessor.ProcessDocument = function( document )
+{
+ var aLinks = document.getElementsByTagName( 'A' ) ;
+
+ var oLink ;
+ var i = aLinks.length - 1 ;
+ while ( i >= 0 && ( oLink = aLinks[i--] ) )
+ {
+ // If it is anchor.
+ if ( oLink.name.length > 0 && ( !oLink.getAttribute('href') ||
oLink.getAttribute('href').length == 0 ) )
+ {
+ var oImg = FCKDocumentProcessors_CreateFakeImage(
'FCK__Anchor', oLink.cloneNode(true) ) ;
+ oImg.setAttribute( '_fckanchor', 'true', 0 ) ;
+
+ oLink.parentNode.insertBefore( oImg, oLink ) ;
+ oLink.parentNode.removeChild( oLink ) ;
+ }
+ }
+}
+
+FCKDocumentProcessors.addItem( FCKAnchorsProcessor ) ;
+
+// Flash Embeds.
+var FCKFlashProcessor = new Object() ;
+FCKFlashProcessor.ProcessDocument = function( document )
+{
+ /*
+ Sample code:
+ This is some <embed
src="/UserFiles/Flash/Yellow_Runners.swf"></embed><strong>sample text</strong>.
You are <a name="fred"></a> using <a
href="http://www.fckeditor.net/">FCKeditor</a>.
+ */
+
+ var aEmbeds = document.getElementsByTagName( 'EMBED' ) ;
+
+ var oEmbed ;
+ var i = aEmbeds.length - 1 ;
+ while ( i >= 0 && ( oEmbed = aEmbeds[i--] ) )
+ {
+ if ( oEmbed.src.endsWith( '.swf', true ) )
+ {
+ var oImg = FCKDocumentProcessors_CreateFakeImage(
'FCK__Flash', oEmbed.cloneNode(true) ) ;
+ oImg.setAttribute( '_fckflash', 'true', 0 ) ;
+
+ FCKFlashProcessor.RefreshView( oImg, oEmbed ) ;
+
+ oEmbed.parentNode.insertBefore( oImg, oEmbed ) ;
+ oEmbed.parentNode.removeChild( oEmbed ) ;
+
+// oEmbed.setAttribute( '_fckdelete', 'true', 0) ;
+// oEmbed.style.display = 'none' ;
+// oEmbed.hidden = true ;
+ }
+ }
+}
+
+FCKFlashProcessor.RefreshView = function( placholderImage, originalEmbed )
+{
+ if ( originalEmbed.width > 0 )
+ placholderImage.style.width = FCKTools.ConvertHtmlSizeToStyle(
originalEmbed.width ) ;
+
+ if ( originalEmbed.height > 0 )
+ placholderImage.style.height = FCKTools.ConvertHtmlSizeToStyle(
originalEmbed.height ) ;
+}
+
+FCKDocumentProcessors.addItem( FCKFlashProcessor ) ;
+
+FCK.GetRealElement = function( fakeElement )
+{
+ var e = FCKTempBin.Elements[
fakeElement.getAttribute('_fckrealelement') ] ;
+
+ if ( fakeElement.getAttribute('_fckflash') )
+ {
+ if ( fakeElement.style.width.length > 0 )
+ e.width = FCKTools.ConvertStyleSizeToHtml(
fakeElement.style.width ) ;
+
+ if ( fakeElement.style.height.length > 0 )
+ e.height = FCKTools.ConvertStyleSizeToHtml(
fakeElement.style.height ) ;
+ }
+
+ return e ;
+}
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_1_ie.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_1_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_1_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_1_ie.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_1_ie.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -13,9 +13,6 @@
* object that represents an editor instance.
* (IE specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2005-03-02 08:58:17
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -26,16 +23,26 @@
// errors when using a differente BaseHref.
FCK._BehaviorsStyle =
'<style type="text/css" _fcktemp="true"> \
- TABLE { behavior: url(' + FCKConfig.FullBasePath +
'css/behaviors/showtableborders.htc) ; } \
- A { behavior: url(' + FCKConfig.FullBasePath +
'css/behaviors/anchors.htc) ; } \
INPUT { behavior: url(' + FCKConfig.FullBasePath +
'css/behaviors/hiddenfield.htc) ; } \
- </style>' ;
+ INPUT { behavior: url(' + FCKConfig.FullBasePath +
'css/behaviors/disablehandles.htc) ; } \
+ TEXTAREA { behavior: url(' + FCKConfig.FullBasePath +
'css/behaviors/disablehandles.htc) ; } \
+ SELECT { behavior: url(' + FCKConfig.FullBasePath +
'css/behaviors/disablehandles.htc) ; }' ;
-FCK.InitializeBehaviors = function( dontReturn )
-{
- // Set the focus to the editable area when clicking in the document
area.
- // TODO: The cursor must be positioned at the end.
- this.EditorDocument.onmousedown = this.EditorDocument.onmouseup =
function()
+if ( FCKConfig.ShowBorders )
+ FCK._BehaviorsStyle += 'TABLE { behavior: url(' +
FCKConfig.FullBasePath + 'css/behaviors/showtableborders.htc) ; }' ;
+
+if ( FCKConfig.DisableImageHandles )
+ FCK._BehaviorsStyle += 'IMG { behavior: url(' + FCKConfig.FullBasePath
+ 'css/behaviors/disablehandles.htc) ; }' ;
+
+if ( FCKConfig.DisableTableHandles )
+ FCK._BehaviorsStyle += 'TABLE { behavior: url(' +
FCKConfig.FullBasePath + 'css/behaviors/disablehandles.htc) ; }' ;
+
+// Disable anchors handles
+FCK._BehaviorsStyle += '.FCK__Anchor { behavior: url(' +
FCKConfig.FullBasePath + 'css/behaviors/disablehandles.htc) ; }' ;
+
+FCK._BehaviorsStyle += '</style>' ;
+
+function Doc_OnMouseDown()
{
FCK.Focus() ;
@@ -43,8 +50,7 @@
FCK.EditorWindow.event.returnValue = false ;
}
- // Intercept pasting operations
- this.EditorDocument.body.onpaste = function()
+function Doc_OnPaste()
{
if ( FCK.Status == FCK_STATUS_COMPLETE )
return FCK.Events.FireEvent( "OnPaste" ) ;
@@ -52,25 +58,15 @@
return false ;
}
- // Disable Right-Click and shows the context menu.
- this.EditorDocument.oncontextmenu = function()
+function Doc_OnContextMenu()
{
- var e = this.parentWindow.event ;
+ var e = FCK.EditorWindow.event ;
+
FCK.ShowContextMenu( e.screenX, e.screenY ) ;
return false ;
}
- // Check if key strokes must be monitored.
- if ( FCKConfig.UseBROnCarriageReturn || FCKConfig.TabSpaces > 0 )
- {
- // Build the "TAB" key replacement.
- if ( FCKConfig.TabSpaces > 0 )
- {
- window.FCKTabHTML = '' ;
- for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ )
- window.FCKTabHTML += " " ;
- }
- this.EditorDocument.onkeydown = function()
+function Doc_OnKeyDown()
{
var e = FCK.EditorWindow.event ;
@@ -104,20 +100,70 @@
return true ;
}
+
+function Doc_OnKeyDownUndo()
+{
+ if ( !FCKUndo.Typing )
+ {
+ FCKUndo.SaveUndoStep() ;
+ FCKUndo.Typing = true ;
+ FCK.Events.FireEvent( "OnSelectionChange" ) ;
}
- this.EditorDocument.ondblclick = function()
+ FCKUndo.TypesCount++ ;
+
+ if ( FCKUndo.TypesCount > FCKUndo.MaxTypes )
+ {
+ FCKUndo.TypesCount = 0 ;
+ FCKUndo.SaveUndoStep() ;
+ }
+}
+
+function Doc_OnDblClick()
{
FCK.OnDoubleClick( FCK.EditorWindow.event.srcElement ) ;
FCK.EditorWindow.event.cancelBubble = true ;
}
- // Catch cursor movements
- this.EditorDocument.onselectionchange = function()
+function Doc_OnSelectionChange()
{
FCK.Events.FireEvent( "OnSelectionChange" ) ;
}
+FCK.InitializeBehaviors = function( dontReturn )
+{
+ // Set the focus to the editable area when clicking in the document
area.
+ // TODO: The cursor must be positioned at the end.
+ this.EditorDocument.attachEvent( 'onmousedown', Doc_OnMouseDown ) ;
+ this.EditorDocument.attachEvent( 'onmouseup', Doc_OnMouseDown ) ;
+
+ // Intercept pasting operations
+ this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ;
+
+ // Disable Right-Click and shows the context menu.
+ this.EditorDocument.attachEvent('oncontextmenu', Doc_OnContextMenu ) ;
+
+ // Check if key strokes must be monitored.
+ if ( FCKConfig.UseBROnCarriageReturn || FCKConfig.TabSpaces > 0 )
+ {
+ // Build the "TAB" key replacement.
+ if ( FCKConfig.TabSpaces > 0 )
+ {
+ window.FCKTabHTML = '' ;
+ for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ )
+ window.FCKTabHTML += " " ;
+ }
+
+ this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDown ) ;
+ }
+
+ this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDownUndo ) ;
+
+ this.EditorDocument.attachEvent("ondblclick", Doc_OnDblClick ) ;
+
+ // Catch cursor movements
+ this.EditorDocument.attachEvent("onselectionchange",
Doc_OnSelectionChange ) ;
+
//Enable editing
// this.EditorDocument.body.contentEditable = true ;
}
@@ -144,42 +190,46 @@
// this.EditorDocument.body.innerHTML = '<div
id="__fakeFCKRemove__"> </div>' + html.replace( FCKRegexLib.AposEntity,
''' ) ;
//
this.EditorDocument.getElementById('__fakeFCKRemove__').removeNode(true) ;
- this.EditorDocument.open() ;
+ var sHtml ;
if ( FCKConfig.FullPage )
{
- var sExtraHtml =
+ var sHtml =
FCK._BehaviorsStyle +
'<link href="' + FCKConfig.FullBasePath +
'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true"
/>' ;
if ( FCK.TempBaseTag.length > 0 &&
!FCKRegexLib.HasBaseTag.test( html ) )
- sExtraHtml += FCK.TempBaseTag ;
-
- html = html.replace( FCKRegexLib.HeadCloser, sExtraHtml
+ '</head>' ) ;
+ sHtml += FCK.TempBaseTag ;
- this.EditorDocument.write( html ) ;
+ sHtml = html.replace( FCKRegexLib.HeadCloser, sHtml +
'</head>' ) ;
}
else
{
- var sHtml =
- '<html dir="' + FCKConfig.ContentLangDirection
+ '">' +
- '<head><title></title>' +
+ sHtml =
+ FCKConfig.DocType +
+ '<html dir="' + FCKConfig.ContentLangDirection
+ '"' ;
+
+ if ( FCKConfig.IEForceVScroll )
+ sHtml += ' style="overflow-y: scroll"' ;
+
+ sHtml +=
+ '><head><title></title>' +
'<link href="' + FCKConfig.EditorAreaCSS + '"
rel="stylesheet" type="text/css" />' +
'<link href="' + FCKConfig.FullBasePath +
'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true"
/>' ;
sHtml += FCK._BehaviorsStyle ;
sHtml += FCK.TempBaseTag ;
sHtml += '</head><body>' + html + '</body></html>' ;
-
- this.EditorDocument.write( sHtml ) ;
}
+ this.EditorDocument.open( '', '_self', '', true ) ;
+ this.EditorDocument.write( sHtml ) ;
this.EditorDocument.close() ;
this.InitializeBehaviors() ;
this.EditorDocument.body.contentEditable = true ;
- this.Events.FireEvent( 'OnAfterSetHTML' ) ;
+ FCK.OnAfterSetHTML() ;
// TODO: Wait stable version and remove the following commented
lines.
// this.EditorDocument.body.innerHTML = '' ;
@@ -192,35 +242,12 @@
document.getElementById('eSourceField').value = html ;
}
-// TODO: Wait stable version and remove the following commented lines.
-/*
-FCK.CheckRelativeLinks = function()
-{
- // IE automatically change relative URLs to absolute, so we use a trick
- // to solve this problem (the document base points to "fckeditor:".
-
- for ( var i = 0 ; i < this.EditorDocument.links.length ; i++ )
- {
- var e = this.EditorDocument.links[i] ;
-
- if ( e.href.startsWith( FCK.BaseUrl ) )
- e.href = e.href.remove( 0, FCK.BaseUrl.length ) ;
- }
-
- for ( var i = 0 ; i < this.EditorDocument.images.length ; i++ )
- {
- var e = this.EditorDocument.images[i] ;
-
- if ( e.src.startsWith( FCK.BaseUrl ) )
- e.src = e.src.remove( 0, FCK.BaseUrl.length ) ;
- }
-}
-*/
-
FCK.InsertHtml = function( html )
{
FCK.Focus() ;
+ FCKUndo.SaveUndoStep() ;
+
// Gets the actual selection.
var oSel = FCK.EditorDocument.selection ;
@@ -231,4 +258,3 @@
// Inset the HTML.
oSel.createRange().pasteHTML( html ) ;
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_2.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_2.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_2.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_2.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_2.js Thu Aug 4
03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* This is the second part of the "FCK" object creation. This is the main
* object that represents an editor instance.
*
- * Version: 2.0 RC3
- * Modified: 2005-03-02 10:44:27
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -25,6 +22,8 @@
FCK.ExecuteNamedCommand = function( commandName, commandParameter )
{
+ FCKUndo.SaveUndoStep() ;
+
if ( FCK.RedirectNamedCommands[ commandName ] != null )
FCK.ExecuteRedirectedNamedCommand( commandName,
commandParameter ) ;
else
@@ -67,40 +66,81 @@
return sValue ? sValue : '' ;
}
-FCK.CleanAndPaste = function( html )
+FCK.PasteFromWord = function()
{
+ FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord,
'dialog/fck_paste.html', 400, 330, 'Word' ) ;
+}
+
+// TODO: Wait Stable and remove this block.
+//FCK.CleanAndPaste = function( html )
+//{
// Remove all SPAN tags
- html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
+// html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
+
+// html = html.replace(/<o:p> <\/o:p>/g, "") ;
+// html = html.replace(/<o:p><\/o:p>/g, "") ;
+
+ // Remove mso-xxx styles.
+// html = html.replace( /mso-.[^:]:.[^;"]/g, "" ) ;
+
// Remove Class attributes
- html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+// html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+
// Remove Style attributes
- html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
+// html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
+
// Remove Lang attributes
- html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+// html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+
// Remove XML elements and declarations
- html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
+// html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
+
// Remove Tags with XML namespace declarations: <o:p></o:p>
- html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
+// html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
+
// Replace the
- html = html.replace(/ /, " " );
+// html = html.replace(/ /, " " );
+ // Replace the from the beggining.
+// html = html.replace(/^ [\s\r\n]*/, "");
+
// Transform <P> to <DIV>
- var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different
because of a IE 5.0 error
- html = html.replace( re, "<div$2</div>" ) ;
+// var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ; // Different
because of a IE 5.0 error
+// html = html.replace( re, "<div$2</div>" ) ;
- FCK.InsertHtml( html ) ;
-}
+// FCK.InsertHtml( html ) ;
+//}
FCK.Preview = function()
{
- var oWindow = window.open( '', null,
'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes'
) ;
+ var iWidth = screen.width * 0.8 ;
+ var iHeight = screen.height * 0.7 ;
+ var iLeft = ( screen.width - iWidth ) / 2 ;
+ var oWindow = window.open( '', null,
'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='
+ iWidth + ',height=' + iHeight + ',left=' + iLeft ) ;
+
+ var sHTML ;
- var sHTML = '<html><head><link href="' + FCKConfig.EditorAreaCSS + '"
rel="stylesheet" type="text/css" /></head><body>' + FCK.GetHTML() +
'</body></html>' ;
+ if ( FCKConfig.FullPage )
+ {
+ if ( FCK.TempBaseTag.length > 0 )
+ sHTML = FCK.GetXHTML().replace( FCKRegexLib.HeadCloser,
FCK.TempBaseTag + '</head>' ) ;
+ else
+ sHTML = FCK.GetXHTML() ;
+ }
+ else
+ {
+ sHTML =
+ FCKConfig.DocType +
+ '<html dir="' + FCKConfig.ContentLangDirection + '">' +
+ '<head><title>' + FCKLang.Preview + '</title>' +
+ '<link href="' + FCKConfig.EditorAreaCSS + '"
rel="stylesheet" type="text/css" />' +
+ FCK.TempBaseTag +
+ '</head><body>' +
+ FCK.GetXHTML() +
+ '</body></html>' ;
+ }
oWindow.document.write( sHTML );
oWindow.document.close();
-
- // TODO: The CSS of the editor area must be configurable.
- // oWindow.document.createStyleSheet( config.EditorAreaCSS );
}
FCK.SwitchEditMode = function()
@@ -114,7 +154,11 @@
// Update the HTML in the view output to show.
if ( bWYSIWYG )
+ {
+ if ( FCKBrowserInfo.IsIE )
+ FCKUndo.SaveUndoStep() ;
document.getElementById('eSourceField').value = (
FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML(
FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ;
+ }
else
FCK.SetHTML( FCK.GetHTML(), true ) ;
@@ -128,7 +172,6 @@
FCK.Focus() ;
}
-
FCK.CreateElement = function( tag )
{
var e = FCK.EditorDocument.createElement( tag ) ;
@@ -152,4 +195,3 @@
}
}
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_2_gecko.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_2_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_2_gecko.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_2_gecko.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_2_gecko.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -13,9 +13,6 @@
* object that represents an editor instance.
* (Gecko specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2004-12-20 14:04:19
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -79,7 +76,7 @@
FCK.PasteAsPlainText() ;
return false ;
}
- else if ( FCKConfig.AutoDetectPasteFromWord &&
FCKBrowserInfo.IsIE55OrMore )
+ else if ( FCKConfig.AutoDetectPasteFromWord )
{
var sHTML = FCK.GetClipboardHTML() ;
var re = /<\w[^>]* class="?MsoNormal"?/gi ;
@@ -87,7 +84,7 @@
{
if ( confirm( FCKLang["PasteWordConfirm"] ) )
{
- FCK.CleanAndPaste( sHTML ) ;
+ FCK.PasteFromWord() ;
return false ;
}
}
@@ -164,7 +161,7 @@
this.InsertHtml( sText ) ;
*/
}
-
+/*
FCK.PasteFromWord = function()
{
// TODO: Implement the "Paste as Plain Text" code.
@@ -173,7 +170,7 @@
// FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
}
-
+*/
FCK.GetClipboardHTML = function()
{
return '' ;
@@ -201,4 +198,3 @@
}
}
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck.js:1.1 Tue May 24
14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck.js Thu Aug 4
03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Creation and initialization of the "FCK" object. This is the main object
* that represents an editor instance.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-23 20:51:12
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -26,10 +23,39 @@
FCK.Status = FCK_STATUS_NOTLOADED ;
FCK.EditMode = FCK_EDITMODE_WYSIWYG ;
-FCK.PasteEnabled = false ;
+// There is a bug on IE... getElementById returns any META tag that has the
+// name set to the ID you are looking for. So the best way in to get the array
+// by names and look for the correct one.
+
+var aElements = window.parent.document.getElementsByName( FCK.Name ) ;
+var i = 0;
+while ( FCK.LinkedField = aElements[i++] )
+{
+ if ( FCK.LinkedField.tagName == 'INPUT' || FCK.LinkedField.tagName ==
'TEXTAREA' )
+ break ;
+}
+
+var FCKTempBin = new Object() ;
+FCKTempBin.Elements = new Array() ;
+
+FCKTempBin.AddElement = function( element )
+{
+ var iIndex = FCKTempBin.Elements.length ;
+ FCKTempBin.Elements[ iIndex ] = element ;
+ return iIndex ;
+}
+
+FCKTempBin.RemoveElement = function( index )
+{
+ var e = FCKTempBin.Elements[ index ] ;
+ FCKTempBin.Elements[ index ] = null ;
+ return e ;
+}
-// First try to get the Linked field using its ID.
-FCK.LinkedField = window.parent.document.getElementById( FCK.Name ) ;
-// If no linked field is available with that ID, try with the "Name".
-if ( !FCK.LinkedField )
- FCK.LinkedField = window.parent.document.getElementsByName( FCK.Name
)[0] ;
+FCKTempBin.Reset = function()
+{
+ var i = 0 ;
+ while ( i < FCKTempBin.Elements.length )
+ FCKTempBin.Elements[ i++ ] == null ;
+ FCKTempBin.Elements.length = 0 ;
+}
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_2_ie.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_2_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_2_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_2_ie.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_2_ie.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -13,9 +13,6 @@
* object that represents an editor instance.
* (IE specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2005-01-11 15:45:01
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -51,7 +48,7 @@
FCK.PasteAsPlainText() ;
return false ;
}
- else if ( FCKConfig.AutoDetectPasteFromWord &&
FCKBrowserInfo.IsIE55OrMore )
+ else if ( FCKConfig.AutoDetectPasteFromWord )
{
var sHTML = FCK.GetClipboardHTML() ;
var re = /<\w[^>]* class="?MsoNormal"?/gi ;
@@ -59,7 +56,7 @@
{
if ( confirm( FCKLang["PasteWordConfirm"] ) )
{
- FCK.CleanAndPaste( sHTML ) ;
+ FCK.PasteFromWord() ;
return false ;
}
}
@@ -79,12 +76,12 @@
// Insert the resulting data in the editor.
this.InsertHtml( sText ) ;
}
-
+/*
FCK.PasteFromWord = function()
{
FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
}
-
+*/
FCK.InsertElement = function( element )
{
FCK.InsertHtml( element.outerHTML ) ;
@@ -156,4 +153,3 @@
}
}
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_last.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_last.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_last.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_last.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_last.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fck_last.js
* These are the last script lines executed in the editor loading process.
- *
- * Version: 2.0 RC3
- * Modified: 2005-01-19 17:36:02
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckcoreextensions.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fckcoreextensions.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckcoreextensions.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckcoreextensions.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckcoreextensions.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckcoreextensions.js
* Some extensions to the Javascript Core.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-20 00:54:00
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -42,7 +39,7 @@
}
// Extends the String object, creating a "endsWith" method on it.
-String.prototype.endsWith = function( value )
+String.prototype.endsWith = function( value, ignoreCase )
{
var L1 = this.length ;
var L2 = value.length ;
@@ -50,6 +47,12 @@
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 ) ;
}
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_ie.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_ie.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_ie.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_ie.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_ie.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,13 +11,12 @@
* File Name: fckcontextmenu_ie.js
* Context Menu operations. (IE specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2004-08-20 22:58:12
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
+function FCKContextMenu_OnContextMenu() { return false ; }
+
FCKContextMenu.Show = function( x, y )
{
// Create the Popup used to show the menu (this is a IE 5.5+ feature).
@@ -26,7 +25,9 @@
this._Popup = window.createPopup() ;
this._Document = this._Popup.document ;
this._Document.createStyleSheet( FCKConfig.SkinPath +
'fck_contextmenu.css' ) ;
- this._Document.oncontextmenu = function() { return false ; }
+ this._Document.oncontextmenu = FCKContextMenu_OnContextMenu ;
+
+ aCleanupDocs[ aCleanupDocs.length ] = this._Document ;
}
// Create the context menu if needed.
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckdebug.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckdebug.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckdebug.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckdebug.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckdebug.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckdebug.js
* Debug window control and operations.
*
- * Version: 2.0 RC3
- * Modified: 2004-11-08 18:34:12
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -38,4 +35,3 @@
}
else
FCKDebug.Output = function() {}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckdialog.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckdialog.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckdialog.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckdialog.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckdialog.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckdialog.js
* Dialog windows operations.
*
- * Version: 2.0 RC3
- * Modified: 2004-12-19 23:28:55
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -21,7 +18,7 @@
var FCKDialog = new Object() ;
// This method opens a dialog window using the standard dialog template.
-FCKDialog.OpenDialog = function( dialogName, dialogTitle, dialogPage, width,
height, customValue, parentWindow )
+FCKDialog.OpenDialog = function( dialogName, dialogTitle, dialogPage, width,
height, customValue, parentWindow, resizable )
{
// Setup the dialog info.
var oDialogInfo = new Object() ;
@@ -31,6 +28,5 @@
oDialogInfo.CustomValue = customValue ; // Optional
var sUrl = FCKConfig.BasePath + 'fckdialog.html' ;
- this.Show( oDialogInfo, dialogName, sUrl, width, height, parentWindow )
;
+ this.Show( oDialogInfo, dialogName, sUrl, width, height, parentWindow,
resizable ) ;
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckdialog_gecko.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckdialog_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckdialog_gecko.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckdialog_gecko.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckdialog_gecko.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,19 +11,17 @@
* File Name: fckdialog_gecko.js
* Dialog windows operations. (Gecko specific implementations)
*
- * Version: 2.0 RC3
- * Modified: 2004-12-28 00:42:29
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
-FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth,
dialogHeight, parentWindow )
+FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth,
dialogHeight, parentWindow, resizable )
{
var iTop = (screen.height - dialogHeight) / 2 ;
var iLeft = (screen.width - dialogWidth) / 2 ;
- var sOption =
"location=no,menubar=no,resizable=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"
+
+ var sOption =
"location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"
+
+ ",resizable=" + ( resizable ? 'yes' : 'no' ) +
",width=" + dialogWidth +
",height=" + dialogHeight +
",top=" + iTop +
@@ -32,7 +30,7 @@
if ( !parentWindow )
parentWindow = window ;
- var oWindow = parentWindow.open( '', 'FCKEditorDialog_' + dialogName,
sOption, true ) ;
+ var oWindow = parentWindow.open( '', 'FCKeditorDialog_' + dialogName,
sOption, true ) ;
oWindow.moveTo( iLeft, iTop ) ;
oWindow.resizeTo( dialogWidth, dialogHeight ) ;
oWindow.focus() ;
@@ -91,4 +89,3 @@
{}
}
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js:1.2
---
news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -10,9 +10,6 @@
*
* File Name: fckcontextmenu_gecko.js
* Context Menu operations. (Gecko specific implementations)
- *
- * Version: 2.0 RC3
- * Modified: 2004-08-27 16:58:07
*
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckcontextmenu.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,9 +12,6 @@
* Defines the FCKContextMenu object that is responsible for all
* Context Menu operations.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-16 20:34:58
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -111,6 +108,9 @@
case 'Image' :
return new FCKContextMenuGroup( true, this, 'Image',
FCKLang.ImageProperties, true ) ;
+ case 'Flash' :
+ return new FCKContextMenuGroup( true, this, 'Flash',
FCKLang.FlashProperties, true ) ;
+
case 'Form' :
return new FCKContextMenuGroup( true, this, 'Form',
FCKLang.FormProp, true ) ;
@@ -164,14 +164,16 @@
// Set items visibility.
- var bIsAnchor = ( sTagName == 'A' && oTag.name.length > 0 &&
oTag.href.length == 0 ) ;
+// var bIsAnchor = ( sTagName == 'A' && oTag.name.length > 0 &&
oTag.href.length == 0 ) ;
- if ( this.Groups['Anchor'] )
this.Groups['Anchor'].SetVisible( bIsAnchor ) ;
- if ( this.Groups['Link'] )
this.Groups['Link'].SetVisible( !bIsAnchor && FCK.GetNamedCommandState(
'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
+ if ( this.Groups['Link'] )
this.Groups['Link'].SetVisible( /*!bIsAnchor &&*/ FCK.GetNamedCommandState(
'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
if ( this.Groups['TableCell'] )
this.Groups['TableCell'].SetVisible( sTagName != 'TABLE' &&
FCKSelection.HasAncestorNode('TABLE') ) ;
if ( this.Groups['Table'] )
this.Groups['Table'].SetVisible( sTagName == 'TABLE' ) ;
- if ( this.Groups['Image'] )
this.Groups['Image'].SetVisible( sTagName == 'IMG' ) ;
+
+ if ( this.Groups['Image'] )
this.Groups['Image'].SetVisible( sTagName == 'IMG' &&
!oTag.getAttribute('_fckflash') && !oTag.getAttribute('_fckanchor') ) ;
+ if ( this.Groups['Flash'] )
this.Groups['Flash'].SetVisible( sTagName == 'IMG' &&
oTag.getAttribute('_fckflash') ) ;
+ if ( this.Groups['Anchor'] )
this.Groups['Anchor'].SetVisible( sTagName == 'IMG' &&
oTag.getAttribute('_fckanchor') ) ;
if ( this.Groups['BulletedList'] )
this.Groups['BulletedList'].SetVisible( FCKSelection.HasAncestorNode('UL') ) ;
if ( this.Groups['NumberedList'] )
this.Groups['NumberedList'].SetVisible( FCKSelection.HasAncestorNode('OL') ) ;
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckbrowserinfo.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckbrowserinfo.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckbrowserinfo.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckbrowserinfo.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckbrowserinfo.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,31 +11,20 @@
* File Name: fckbrowserinfo.js
* Defines the FCKBrowserInfo object that hold some browser informations.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-23 00:43:57
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
-var FCKBrowserInfo = new Object() ;
+var FCKBrowserInfo ;
+
+if ( !( FCKBrowserInfo = NS.FCKBrowserInfo ) )
+{
+ FCKBrowserInfo = NS.FCKBrowserInfo = new Object() ;
var sAgent = navigator.userAgent.toLowerCase() ;
-FCKBrowserInfo.IsIE = sAgent.indexOf("msie") != -1 ;
+ FCKBrowserInfo.IsIE = ( sAgent.indexOf("msie") !=
-1 ) ;
FCKBrowserInfo.IsGecko = !FCKBrowserInfo.IsIE ;
-FCKBrowserInfo.IsNetscape = sAgent.indexOf("netscape") != -1 ;
-
-if ( FCKBrowserInfo.IsIE )
-{
- FCKBrowserInfo.MajorVer = navigator.appVersion.match(/MSIE (.)/)[1] ;
- FCKBrowserInfo.MinorVer = navigator.appVersion.match(/MSIE .\.(.)/)[1] ;
-}
-else
-{
- // TODO: Other browsers
- FCKBrowserInfo.MajorVer = 0 ;
- FCKBrowserInfo.MinorVer = 0 ;
+ FCKBrowserInfo.IsSafari = ( sAgent.indexOf("safari") != -1 ) ;
+ FCKBrowserInfo.IsNetscape = ( sAgent.indexOf("netscape") != -1 ) ;
}
-
-FCKBrowserInfo.IsIE55OrMore = FCKBrowserInfo.IsIE && ( FCKBrowserInfo.MajorVer
> 5 || FCKBrowserInfo.MinorVer >= 5 ) ;
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fck_onload.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fck_onload.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fck_onload.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fck_onload.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fck_onload.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -12,26 +12,30 @@
* This is the script that is called when the editor page is loaded inside
* its IFRAME. It's the editor startup.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-19 13:00:42
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
// Disable the context menu in the editor (areas outside the editor area).
-window.document.oncontextmenu = function( e )
+function Window_OnContextMenu( e )
{
if ( e )
- e.preventDefault() ; // This is the Gecko way to do that.
- return false ; // This is the IE way to do
that.
+ e.preventDefault() ; // The Gecko way.
+ else
+ {
+ if ( event.srcElement ==
document.getElementById('eSourceField') )
+ return true ;
+ }
+
+ return false ; // The IE way.
}
+window.document.oncontextmenu = Window_OnContextMenu ;
// Gecko browsers doens't calculate well that IFRAME size so we must
// recalculate it every time the window size changes.
-if ( ! FCKBrowserInfo.IsIE )
+if ( FCKBrowserInfo.IsGecko )
{
- window.onresize = function()
+ function Window_OnResize()
{
var oFrame = document.getElementById('eEditorArea') ;
oFrame.height = 0 ;
@@ -41,37 +45,121 @@
oFrame.height = iHeight - 2 ;
}
+ window.onresize = Window_OnResize ;
+}
+
+if ( FCKBrowserInfo.IsIE )
+{
+ var aCleanupDocs = new Array() ;
+ aCleanupDocs[0] = document ;
+
+ // On IE, some circular references must be cleared to avoid memory leak.
+ function Window_OnBeforeUnload()
+ {
+// if ( typeof( FCKToolbarSet ) != 'undefined' )
+// FCKToolbarSet.Collapse() ;
+
+ var d, e ;
+
+ var j = 0 ;
+ while ( d = aCleanupDocs[j++] )
+ {
+ var i = 0 ;
+ while ( e = d.getElementsByTagName("DIV").item(i++) )
+ {
+ if ( e.FCKToolbarButton )
+ e.FCKToolbarButton = null ;
+
+ if ( e.FCKSpecialCombo )
+ e.FCKSpecialCombo = null ;
+
+ if ( e.Command )
+ e.Command = null ;
+ }
+
+ i = 0 ;
+ while ( e = d.getElementsByTagName("TR").item(i++) )
+ {
+ if ( e.FCKContextMenuItem )
+ e.FCKContextMenuItem = null ;
+ }
+
+ aCleanupDocs[j] = null ;
+ }
+
+ if ( typeof( FCKTempBin ) != 'undefined' )
+ FCKTempBin.Reset() ;
+ }
+ window.attachEvent( "onunload", Window_OnBeforeUnload ) ;
}
+// The editor startup follows these steps:
+// 1. Load the editor main page (fckeditor.html).
+// 2. Load the main configuration file (fckconfig.js)
+// 3. Process the configurations set directly in the page code
(just load then).
+// 4. Override the configurations with the custom config file (if
set).
+// 5. Override the configurations with that ones set directly in
the page code.
+// 6. Load the editor skin styles CSS files.
+// 7. Load the first part of tha main scripts.
+// 8. Load the language file.
+// 9. Start the editor.
+
// Start the editor as soon as the window is loaded.
-window.onload = function()
+function Window_OnLoad()
{
// There is a bug on Netscape when rendering the frame. It goes over the
// right border. So we must correct it.
if ( FCKBrowserInfo.IsNetscape )
document.getElementById('eWysiwygCell').style.paddingRight =
'2px' ;
- FCKScriptLoader.OnEmpty = function()
+ LoadConfigFile() ;
+}
+window.onload = Window_OnLoad ;
+
+function LoadConfigFile()
{
- FCKScriptLoader.OnEmpty = null ;
+ FCKScriptLoader.OnEmpty = ProcessHiddenField ;
- // Override the configurations passed throw the hidden field.
- FCKConfig.LoadHiddenField() ;
+ // First of all load the configuration file.
+ FCKScriptLoader.AddScript( '../fckconfig.js' ) ;
+}
+
+function ProcessHiddenField()
+{
+ FCKConfig.ProcessHiddenField() ;
+
+ LoadCustomConfigFile() ;
+}
+function LoadCustomConfigFile()
+{
// Load the custom configurations file (if defined).
if ( FCKConfig.CustomConfigurationsPath.length > 0 )
+ {
+ // Wait for the configuration file to be loaded to call the
"LoadPageConfig".
+ FCKScriptLoader.OnEmpty = LoadPageConfig ;
+
FCKScriptLoader.AddScript(
FCKConfig.CustomConfigurationsPath ) ;
+ }
+ else
+ {
+ // Load the page defined configurations immediately.
+ LoadPageConfig() ;
+ }
+}
+
+function LoadPageConfig()
+{
+ FCKConfig.LoadPageConfig() ;
// Load the styles for the configured skin.
LoadStyles() ;
}
- // First of all load the configuration file.
- FCKScriptLoader.AddScript( '../fckconfig.js' ) ;
-}
-
function LoadStyles()
{
+ if( window.console ) window.console.log( 'LoadStyles()' ) ; //
@Packager.Compactor.RemoveLine
+
FCKScriptLoader.OnEmpty = LoadScripts ;
// Load the active skin CSS.
@@ -81,6 +169,8 @@
function LoadScripts()
{
+ if( window.console ) window.console.log( 'LoadScripts()' ) ; //
@Packager.Compactor.RemoveLine
+
FCKScriptLoader.OnEmpty = null ;
// @Packager.Compactor.Remove.Start
@@ -98,6 +188,7 @@
AddScript( '_source/internals/fckxhtml.js' ) ;
AddScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;
AddScript( '_source/internals/fckcodeformatter.js' ) ;
+ AddScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;
AddScript( '_source/internals/fck_1.js' ) ;
AddScript( '_source/internals/fck_1_' + sSuffix + '.js' ) ;
}
@@ -113,8 +204,19 @@
function LoadLanguageFile()
{
- FCKScriptLoader.OnEmpty = function()
+ if( window.console ) window.console.log( 'LoadLanguageFile()' ) ;
// @Packager.Compactor.RemoveLine
+
+ FCKScriptLoader.OnEmpty = LoadEditor ;
+
+ if( window.console ) window.console.log( 'Active Language: ' +
FCKLanguageManager.ActiveLanguage.Code ) ; //
@Packager.Compactor.RemoveLine
+
+ FCKScriptLoader.AddScript( 'lang/' +
FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
+}
+
+function LoadEditor()
{
+ if( window.console ) window.console.log( 'LoadEditor()' ) ; //
@Packager.Compactor.RemoveLine
+
// Removes the OnEmpty listener.
FCKScriptLoader.OnEmpty = null ;
@@ -125,6 +227,3 @@
// Starts the editor.
FCK.StartEditor() ;
}
-
- FCKScriptLoader.AddScript( 'lang/' +
FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
-}
\ No newline at end of file
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckcodeformatter.js
diff -u
news_admin/js/fckeditor/editor/_source/internals/fckcodeformatter.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckcodeformatter.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckcodeformatter.js:1.1
Tue May 24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckcodeformatter.js
Thu Aug 4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,14 +11,15 @@
* File Name: fckcodeformatter.js
* Format the HTML.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-07 19:48:21
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
-var FCKCodeFormatter = new Object() ;
+var FCKCodeFormatter ;
+
+if ( !( FCKCodeFormatter = NS.FCKCodeFormatter ) )
+{
+ FCKCodeFormatter = NS.FCKCodeFormatter = new Object() ;
FCKCodeFormatter.Regex = new Object() ;
@@ -68,4 +69,5 @@
}
return sFormatted.trim() ;
+}
}
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckcommands.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckcommands.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckcommands.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckcommands.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckcommands.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckcommands.js
* Define all commands available in the editor.
*
- * Version: 2.0 RC3
- * Modified: 2005-03-02 08:22:35
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -36,6 +33,7 @@
switch ( commandName )
{
case 'DocProps' : oCommand = new FCKDialogCommand(
'DocProps' , FCKLang.DocProps ,
'dialog/fck_docprops.html' , 400, 390, FCKCommands.GetFullPageState ) ;
break ;
+ case 'Templates' : oCommand = new FCKDialogCommand(
'Templates' , FCKLang.DlgTemplatesTitle ,
'dialog/fck_template.html' , 380, 450 ) ; break ;
case 'Link' : oCommand = new
FCKDialogCommand( 'Link' , FCKLang.DlgLnkWindowTitle
, 'dialog/fck_link.html' , 400, 330, FCK.GetNamedCommandState,
'CreateLink' ) ; break ;
case 'Anchor' : oCommand = new FCKDialogCommand(
'Anchor' , FCKLang.DlgAnchorTitle ,
'dialog/fck_anchor.html' , 370, 170 ) ; break ;
case 'BulletedList' : oCommand = new FCKDialogCommand(
'BulletedList', FCKLang.BulletedListProp ,
'dialog/fck_listprop.html' , 370, 170 ) ; break ;
@@ -46,6 +44,7 @@
case 'Replace' : oCommand = new FCKDialogCommand(
'Replace' , FCKLang.DlgReplaceTitle ,
'dialog/fck_replace.html' , 340, 200 ) ; break ;
case 'Image' : oCommand = new FCKDialogCommand(
'Image' , FCKLang.DlgImgTitle ,
'dialog/fck_image.html' , 450, 400 ) ; break ;
+ case 'Flash' : oCommand = new FCKDialogCommand(
'Flash' , FCKLang.DlgFlashTitle ,
'dialog/fck_flash.html' , 450, 400 ) ; break ;
case 'SpecialChar' : oCommand = new FCKDialogCommand(
'SpecialChar', FCKLang.DlgSpecialCharTitle , 'dialog/fck_specialchar.html' ,
400, 300 ) ; break ;
case 'Smiley' : oCommand = new FCKDialogCommand(
'Smiley' , FCKLang.DlgSmileyTitle ,
'dialog/fck_smiley.html' , FCKConfig.SmileyWindowWidth,
FCKConfig.SmileyWindowHeight ) ; break ;
case 'Table' : oCommand = new FCKDialogCommand(
'Table' , FCKLang.DlgTableTitle ,
'dialog/fck_table.html' , 400, 250 ) ; break ;
@@ -91,6 +90,9 @@
case 'SpellCheck' : oCommand = new FCKSpellCheckCommand()
; break ;
+ case 'Undo' : oCommand = new FCKUndoCommand() ; break ;
+ case 'Redo' : oCommand = new FCKRedoCommand() ; break ;
+
// Generic Undefined command (usually used when a command is
under development).
case 'Undefined' : oCommand = new FCKUndefinedCommand()
; break ;
@@ -116,4 +118,3 @@
{
return FCKConfig.FullPage ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
}
-
====================================================
Index: news_admin/js/fckeditor/editor/_source/internals/fckconfig.js
diff -u news_admin/js/fckeditor/editor/_source/internals/fckconfig.js:1.1
news_admin/js/fckeditor/editor/_source/internals/fckconfig.js:1.2
--- news_admin/js/fckeditor/editor/_source/internals/fckconfig.js:1.1 Tue May
24 14:32:53 2005
+++ news_admin/js/fckeditor/editor/_source/internals/fckconfig.js Thu Aug
4 03:54:31 2005
@@ -1,6 +1,6 @@
/*
* FCKeditor - The text editor for internet
- * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
@@ -11,9 +11,6 @@
* File Name: fckconfig.js
* Creates and initializes the FCKConfig object.
*
- * Version: 2.0 RC3
- * Modified: 2005-02-02 14:02:33
- *
* File Authors:
* Frederico Caldeira Knabben (address@hidden)
*/
@@ -33,10 +30,14 @@
FCKConfig.FullBasePath = document.location.protocol + '//' +
document.location.host + FCKConfig.BasePath ;
}
+FCKConfig.EditorPath = FCKConfig.BasePath.replace( /editor\/$/, '' ) ;
+
// Override the actual configuration values with the values passed throw the
// hidden field "<InstanceName>___Config".
-FCKConfig.LoadHiddenField = function()
+FCKConfig.ProcessHiddenField = function()
{
+ this.PageConfig = new Object() ;
+
// Get the hidden field.
var oConfigField = window.parent.document.getElementById( FCK.Name +
'___Config' ) ;
@@ -51,18 +52,30 @@
continue ;
var aConfig = aCouples[i].split('=') ;
- var sConfigName = unescape( aConfig[0] ) ;
- var sConfigValue = unescape( aConfig[1] ) ;
+ var sKey = unescape( aConfig[0] ) ;
+ var sVal = unescape( aConfig[1] ) ;
+
+ if ( sKey == 'CustomConfigurationsPath' ) // The Custom
Config File path must be loaded immediately.
+ FCKConfig[ sKey ] = sVal ;
+
+ else if ( sVal.toLowerCase() == "true" ) // If it is a
boolean TRUE.
+ this.PageConfig[ sKey ] = true ;
+
+ else if ( sVal.toLowerCase() == "false" ) // If it is a
boolean FALSE.
+ this.PageConfig[ sKey ] = false ;
+
+ else if ( ! isNaN( sVal ) )
// If it is a number.
+ this.PageConfig[ sKey ] = parseInt( sVal ) ;
- if ( sConfigValue.toLowerCase() == "true" )
// If it is a boolean TRUE.
- FCKConfig[sConfigName] = true ;
- else if ( sConfigValue.toLowerCase() == "false" ) // If
it is a boolean FALSE.
- FCKConfig[sConfigName] = false ;
- else if ( ! isNaN(sConfigValue) ) // If it is a
number.
- FCKConfig[sConfigName] = parseInt( sConfigValue ) ;
else
// In any other case it is a string.
- FCKConfig[sConfigName] = sConfigValue ;
+ this.PageConfig[ sKey ] = sVal ;
}
+ }
+
+FCKConfig.LoadPageConfig = function()
+{
+ for ( var sKey in this.PageConfig )
+ FCKConfig[ sKey ] = this.PageConfig[ sKey ] ;
}
// Define toolbar sets collection.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] news_admin/js/fckeditor/editor/_source/internals fcktablehandler_ie.js, 1.2 fcktablehandler_gecko.js, 1.2 fcktoolbaritems.js, 1.2 fcktoolbarset.js, 1.2 fcktools_gecko.js, 1.2 fcktools.js, 1.2 fcktablehandler.js, 1.2 fckselection_ie.js, 1.2 fckregexlib.js, 1.2 fckplugins.js, 1.2 fckscriptloader.js, 1.2 fckselection.js, 1.2 fckselection_gecko.js, 1.2 fcktools_ie.js, 1.2 fckurlparams.js, 1.2 fckxhtml_gecko.js, 1.2 fckxhtml.js, 1.2 fckxhtml_ie.js, 1.2 fckxhtmlentities.js, 1.2 fcklanguagemanager.js, 1.2 fckdialog_ie.js, 1.2 fck_1_gecko.js, 1.2 fck_1.js, 1.2 fck_1_ie.js, 1.2 fck_2.js, 1.2 fck_2_gecko.js, 1.2 fck.js, 1.2 fck_2_ie.js, 1.2 fck_last.js, 1.2 fckcoreextensions.js, 1.2 fckcontextmenu_ie.js, 1.2 fckdebug.js, 1.2 fckdialog.js, 1.2 fckdialog_gecko.js, 1.2 fckcontextmenu_gecko.js, 1.2 fckcontextmenu.js, 1.2 fckbrowserinfo.js, 1.2 fck_onload.js, 1.2 fckcodeformatter.js, 1.2 fckcommands.js, 1.2 fckconfig.js, 1.2,
skwashd <=
- Prev by Date:
[Phpgroupware-cvs] news_admin/js/fckeditor fckeditor.js, 1.3 fckconfig.js, 1.2 fckeditor.php, 1.2 fckstyles.xml, 1.2
- Next by Date:
[Phpgroupware-cvs] news_admin/js/fckeditor/editor/_source/globals fckeditorapi.js, 1.2 fck_constants.js, 1.2
- Previous by thread:
[Phpgroupware-cvs] news_admin/js/fckeditor fckeditor.js, 1.3 fckconfig.js, 1.2 fckeditor.php, 1.2 fckstyles.xml, 1.2
- Next by thread:
[Phpgroupware-cvs] news_admin/js/fckeditor/editor/_source/globals fckeditorapi.js, 1.2 fck_constants.js, 1.2
- Index(es):