diff --git a/ccm-core/web/assets/ckeditor/_documentation.html b/ccm-core/web/assets/ckeditor/_documentation.html deleted file mode 100755 index 096e0f37d..000000000 --- a/ccm-core/web/assets/ckeditor/_documentation.html +++ /dev/null @@ -1,30 +0,0 @@ - - - -
-You can find all the available documentation for FCKeditor online, at our wiki - web site:
-- -- - diff --git a/ccm-core/web/assets/ckeditor/config/fckconfig_forum.js b/ccm-core/web/assets/ckeditor/config/fckconfig_forum.js deleted file mode 100644 index c33cc84cd..000000000 --- a/ccm-core/web/assets/ckeditor/config/fckconfig_forum.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2005 Frederico Caldeira Knabben - * - * Custom amendments for Forum application. - */ -FCKConfig.FillEmptyBlocks = false ; - -FCKConfig.ToolbarSets["Basic"] = [ - ['Source','-','Preview','-'], - ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], - ['Cut','Copy','Paste','PasteText','PasteWord','-','Print'], - '/', - ['OrderedList','UnorderedList','-','Outdent','Indent'], - ['Link','Unlink'], - ['Undo','Redo','-','SelectAll'], - ['TextColor','BGColor'], - ['Rule','SpecialChar','Smiley'], - '/', - ['FontFormat','FontName','FontSize'] -] ; - -//only licenced for private use -//FCKConfig.SpellChecker = 'ieSpell' ; // 'ieSpell' | 'SpellerPages' -//FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/rel/ieSpellSetup211325.exe' ; - -FCKConfig.LinkUpload = false ; -FCKConfig.LinkBrowser = false ; // forum - don't allow users to browse content centre or server file system -FCKConfig.ImageBrowser = false ; -FCKConfig.FlashBrowser = false ; - -FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ; diff --git a/ccm-core/web/assets/ckeditor/config/fckconfigstyledefault.js b/ccm-core/web/assets/ckeditor/config/fckconfigstyledefault.js deleted file mode 100755 index d38f07d2f..000000000 --- a/ccm-core/web/assets/ckeditor/config/fckconfigstyledefault.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * File Name: fckconfigstyledefault.js - * Default Editor configuration settings for use in admin interface in APLAWS. - * This config is loaded from the Javascript in the calling page using AFTER the - * default fckconfig.js is loaded. - * - * File Authors: - * Chris Burnett - */ - - -FCKConfig.ToolbarSets["AplawsBasic"] = [ - ['Style','-','Bold','OrderedList','UnorderedList','-','SpellCheck','Link','Unlink','RemoveFormat','-','AdvToolbar'] -] ; - -FCKConfig.ToolbarSets["AplawsAdvanced"] = [ - ['Style','-','Bold','OrderedList','UnorderedList'], - ['Cut','Copy','Paste','PasteText','PasteWord','Undo','Redo','RemoveFormat'], - ['Find','Replace','SelectAll', '-','SpellCheck'], - '/', - ['UniversalKey'], - ['Link','Unlink','Anchor','-','Source'], - ['SimpleToolbar'] -] ; - - -// Replace the Advanced toolbar with AplawsAdvanced & setup the Basic toolbar to use the AplawsBasic toolbar -// The two toolbars are used to support the dynamic toolbar switching plugin. -// Set the Default to be the Basic version so that the editor loads the basic toolbar on startup. - -FCKConfig.ToolbarSets["Advanced"] = FCKConfig.ToolbarSets["AplawsAdvanced"] ; -FCKConfig.ToolbarSets["Basic"] = FCKConfig.ToolbarSets["AplawsBasic"] ; -FCKConfig.ToolbarSets["Default"] = FCKConfig.ToolbarSets["Basic"] ; - - -FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'config/fckconfigstyledefault.xml' ; -FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','TableCell','Table','Form'] ; - -FCKConfig.SpellChecker = 'ieSpell' ; // 'ieSpell' | 'SpellerPages' -FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/rel/ieSpellSetup211325.exe' ; - -FCKConfig.ImageDlgHideLink = true ; -FCKConfig.ImageDlgHideAdvanced = true ; - -FCKConfig.FlashDlgHideAdvanced = true ; - -FCKConfig.LinkBrowser = true ; -FCKConfig.LinkBrowserURL = "/ccm/content/admin/search.jsp?useURL=true&widget=getElementById('txtUrl')" ; -FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70% -FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% - - diff --git a/ccm-core/web/assets/ckeditor/config/fckconfigstyledefault.xml b/ccm-core/web/assets/ckeditor/config/fckconfigstyledefault.xml deleted file mode 100755 index c0416ddc0..000000000 --- a/ccm-core/web/assets/ckeditor/config/fckconfigstyledefault.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - -
| ' + this.Caption + ' | ' + - '
| - | - |
| ' + this.Label + ' | ' ; - - sHtml += - '
| ' + this.Label + ' | ' ; - - sHtml += - '
' ) ; - else if ( formatName == 'div' && FCKBrowserInfo.IsGecko ) - FCK.ExecuteNamedCommand( 'FormatBlock', 'div' ) ; - else - FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ; -} - -FCKFormatBlockCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandValue( 'FormatBlock' ) ; -} - -// ### Preview -var FCKPreviewCommand = function() -{ - this.Name = 'Preview' ; -} - -FCKPreviewCommand.prototype.Execute = function() -{ - FCK.Preview() ; -} - -FCKPreviewCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -// ### Save -var FCKSaveCommand = function() -{ - this.Name = 'Save' ; -} - -FCKSaveCommand.prototype.Execute = function() -{ - // Get the linked field form. - var oForm = FCK.LinkedField.form ; - - if ( typeof( oForm.onsubmit ) == 'function' ) - { - var bRet = oForm.onsubmit() ; - if ( bRet != null && bRet === false ) - return ; - } - - // Submit the form. - oForm.submit() ; -} - -FCKSaveCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -// ### NewPage -var FCKNewPageCommand = function() -{ - this.Name = 'NewPage' ; -} - -FCKNewPageCommand.prototype.Execute = function() -{ - FCKUndo.SaveUndoStep() ; - FCK.SetHTML( '' ) ; - FCKUndo.Typing = true ; -// FCK.SetHTML( FCKBrowserInfo.IsGecko ? ' ' : '' ) ; -// FCK.SetHTML( FCKBrowserInfo.IsGecko ? GECKO_BOGUS : '' ) ; -} - -FCKNewPageCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -// ### Source button -var FCKSourceCommand = function() -{ - this.Name = 'Source' ; -} - -FCKSourceCommand.prototype.Execute = function() -{ - if ( FCKBrowserInfo.IsGecko ) - { - var iWidth = FCKConfig.ScreenWidth * 0.65 ; - var iHeight = FCKConfig.ScreenHeight * 0.65 ; - FCKDialog.OpenDialog( 'FCKDialog_Source', FCKLang.Source, 'dialog/fck_source.html', iWidth, iHeight, null, null, true ) ; - } - else - FCK.SwitchEditMode() ; -} - -FCKSourceCommand.prototype.GetState = function() -{ - return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ; -} - -// ### Undo -var FCKUndoCommand = function() -{ - this.Name = 'Undo' ; -} - -FCKUndoCommand.prototype.Execute = function() -{ - if ( FCKBrowserInfo.IsIE ) - FCKUndo.Undo() ; - else - FCK.ExecuteNamedCommand( 'Undo' ) ; -} - -FCKUndoCommand.prototype.GetState = function() -{ - if ( FCKBrowserInfo.IsIE ) - return ( FCKUndo.CheckUndoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ; - else - return FCK.GetNamedCommandState( 'Undo' ) ; -} - -// ### Redo -var FCKRedoCommand = function() -{ - this.Name = 'Redo' ; -} - -FCKRedoCommand.prototype.Execute = function() -{ - if ( FCKBrowserInfo.IsIE ) - FCKUndo.Redo() ; - else - FCK.ExecuteNamedCommand( 'Redo' ) ; -} - -FCKRedoCommand.prototype.GetState = function() -{ - if ( FCKBrowserInfo.IsIE ) - return ( FCKUndo.CheckRedoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ; - else - return FCK.GetNamedCommandState( 'Redo' ) ; -} - -// ### Page Break -var FCKPageBreakCommand = function() -{ - this.Name = 'PageBreak' ; -} - -FCKPageBreakCommand.prototype.Execute = function() -{ -// var e = FCK.EditorDocument.createElement( 'CENTER' ) ; -// e.style.pageBreakAfter = 'always' ; - - // Tidy was removing the empty CENTER tags, so the following solution has - // been found. It also validates correctly as XHTML 1.0 Strict. - var e = FCK.EditorDocument.createElement( 'DIV' ) ; - e.style.pageBreakAfter = 'always' ; - e.innerHTML = ' ' ; - - var oFakeImage = FCKDocumentProcessors_CreateFakeImage( 'FCK__PageBreak', e ) ; - oFakeImage = FCK.InsertElement( oFakeImage ) ; -} - -FCKPageBreakCommand.prototype.GetState = function() -{ - return 0 ; // FCK_TRISTATE_OFF -} \ No newline at end of file diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcknamedcommand.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcknamedcommand.js deleted file mode 100755 index e4e901a8d..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcknamedcommand.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * "Support Open Source software. What about a donation today?" - * - * File Name: fcknamedcommand.js - * FCKNamedCommand Class: represents an internal browser command. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKNamedCommand = function( commandName ) -{ - this.Name = commandName ; -} - -FCKNamedCommand.prototype.Execute = function() -{ - FCK.ExecuteNamedCommand( this.Name ) ; -} - -FCKNamedCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandState( this.Name ) ; -} diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js deleted file mode 100755 index ca117ad73..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * "Support Open Source software. What about a donation today?" - * - * File Name: fckpasteplaintextcommand.js - * FCKPastePlainTextCommand Class: represents the - * "Paste as Plain Text" command. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKPastePlainTextCommand = function() -{ - this.Name = 'PasteText' ; -} - -FCKPastePlainTextCommand.prototype.Execute = function() -{ - FCK.PasteAsPlainText() ; -} - -FCKPastePlainTextCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandState( 'Paste' ) ; -} diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckpastewordcommand.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckpastewordcommand.js deleted file mode 100755 index b4e3a6390..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckpastewordcommand.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * "Support Open Source software. What about a donation today?" - * - * File Name: fckpastewordcommand.js - * FCKPasteWordCommand Class: represents the "Paste from Word" command. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKPasteWordCommand = function() -{ - this.Name = 'PasteWord' ; -} - -FCKPasteWordCommand.prototype.Execute = function() -{ - FCK.PasteFromWord() ; -} - -FCKPasteWordCommand.prototype.GetState = function() -{ - if ( FCKConfig.ForcePasteAsPlainText ) - return FCK_TRISTATE_DISABLED ; - else - return FCK.GetNamedCommandState( 'Paste' ) ; -} diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js deleted file mode 100755 index 808ff8c55..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +++ /dev/null @@ -1,15 +0,0 @@ -var FCKSpellCheckCommand = function() -{ - this.Name = 'SpellCheck' ; - this.IsEnabled = ( FCKConfig.SpellChecker == 'SpellerPages' ) ; -} - -FCKSpellCheckCommand.prototype.Execute = function() -{ - FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ; -} - -FCKSpellCheckCommand.prototype.GetState = function() -{ - return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; -} \ No newline at end of file diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js deleted file mode 100755 index a4a3915dc..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +++ /dev/null @@ -1,43 +0,0 @@ -var FCKSpellCheckCommand = function() -{ - this.Name = 'SpellCheck' ; - this.IsEnabled = ( FCKConfig.SpellChecker == 'ieSpell' || FCKConfig.SpellChecker == 'SpellerPages' ) ; -} - -FCKSpellCheckCommand.prototype.Execute = function() -{ - switch ( FCKConfig.SpellChecker ) - { - case 'ieSpell' : - this._RunIeSpell() ; - break ; - - case 'SpellerPages' : - FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ; - break ; - } -} - -FCKSpellCheckCommand.prototype._RunIeSpell = function() -{ - try - { - var oIeSpell = new ActiveXObject( "ieSpell.ieSpellExtension" ) ; - oIeSpell.CheckAllLinkedDocuments( FCK.EditorDocument ) ; - } - catch( e ) - { - if( e.number == -2146827859 ) - { - if ( confirm( FCKLang.IeSpellDownload ) ) - window.open( FCKConfig.IeSpellDownloadUrl , 'IeSpellDownload' ) ; - } - else - alert( 'Error Loading ieSpell: ' + e.message + ' (' + e.number + ')' ) ; - } -} - -FCKSpellCheckCommand.prototype.GetState = function() -{ - return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; -} \ No newline at end of file diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckstylecommand.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckstylecommand.js deleted file mode 100755 index 52c8cff29..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fckstylecommand.js +++ /dev/null @@ -1,92 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * "Support Open Source software. What about a donation today?" - * - * File Name: fckstylecommand.js - * FCKStyleCommand Class: represents the "Style" command. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKStyleCommand = function() -{ - this.Name = 'Style' ; - - // Load the Styles defined in the XML file. - this.StylesLoader = new FCKStylesLoader() ; - this.StylesLoader.Load( FCKConfig.StylesXmlPath ) ; - this.Styles = this.StylesLoader.Styles ; -} - -FCKStyleCommand.prototype.Execute = function( styleName, styleComboItem ) -{ - FCKUndo.SaveUndoStep() ; - - if ( styleComboItem.Selected ) - styleComboItem.Style.RemoveFromSelection() ; - else - styleComboItem.Style.ApplyToSelection() ; - - FCKUndo.SaveUndoStep() ; - - FCK.Focus() ; - - FCK.Events.FireEvent( "OnSelectionChange" ) ; -} - -FCKStyleCommand.prototype.GetState = function() -{ - var oSelection = FCK.EditorDocument.selection ; - - if ( FCKSelection.GetType() == 'Control' ) - { - var e = FCKSelection.GetSelectedElement() ; - if ( e ) - return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; - } - - return FCK_TRISTATE_OFF ; -} - -FCKStyleCommand.prototype.GetActiveStyles = function() -{ - var aActiveStyles = new Array() ; - - if ( FCKSelection.GetType() == 'Control' ) - this._CheckStyle( FCKSelection.GetSelectedElement(), aActiveStyles, false ) ; - else - this._CheckStyle( FCKSelection.GetParentElement(), aActiveStyles, true ) ; - - return aActiveStyles ; -} - -FCKStyleCommand.prototype._CheckStyle = function( element, targetArray, checkParent ) -{ - if ( ! element ) - return ; - - if ( element.nodeType == 1 ) - { - var aStyleGroup = this.StylesLoader.StyleGroups[ element.tagName ] ; - if ( aStyleGroup ) - { - for ( var i = 0 ; i < aStyleGroup.length ; i++ ) - { - if ( aStyleGroup[i].IsEqual( element ) ) - targetArray[ targetArray.length ] = aStyleGroup[i] ; - } - } - } - - if ( checkParent ) - this._CheckStyle( element.parentNode, targetArray, checkParent ) ; -} \ No newline at end of file diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcktablecommand.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcktablecommand.js deleted file mode 100755 index fa5a16dad..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcktablecommand.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * "Support Open Source software. What about a donation today?" - * - * File Name: fcktablecommand.js - * FCKPastePlainTextCommand Class: represents the - * "Paste as Plain Text" command. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKTableCommand = function( command ) -{ - this.Name = command ; -} - -FCKTableCommand.prototype.Execute = function() -{ - FCKUndo.SaveUndoStep() ; - - switch ( this.Name ) - { - case 'TableInsertRow' : - FCKTableHandler.InsertRow() ; - break ; - case 'TableDeleteRows' : - FCKTableHandler.DeleteRows() ; - break ; - case 'TableInsertColumn' : - FCKTableHandler.InsertColumn() ; - break ; - case 'TableDeleteColumns' : - FCKTableHandler.DeleteColumns() ; - break ; - case 'TableInsertCell' : - FCKTableHandler.InsertCell() ; - break ; - case 'TableDeleteCells' : - FCKTableHandler.DeleteCells() ; - break ; - case 'TableMergeCells' : - FCKTableHandler.MergeCells() ; - break ; - case 'TableSplitCell' : - FCKTableHandler.SplitCell() ; - break ; - case 'TableDelete' : - FCKTableHandler.DeleteTable() ; - break ; - default : - alert( FCKLang.UnknownCommand.replace( /%1/g, this.Name ) ) ; - } -} - -FCKTableCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} \ No newline at end of file diff --git a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcktextcolorcommand.js b/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcktextcolorcommand.js deleted file mode 100755 index f109efbfe..000000000 --- a/ccm-core/web/assets/ckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +++ /dev/null @@ -1,181 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * 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 - * - * For further information visit: - * http://www.fckeditor.net/ - * - * "Support Open Source software. What about a donation today?" - * - * File Name: fcktextcolorcommand.js - * FCKTextColorCommand Class: represents the text color comand. It shows the - * color selection panel. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -// FCKTextColorCommand Contructor -// type: can be 'ForeColor' or 'BackColor'. -var FCKTextColorCommand = function( type ) -{ - this.Name = type == 'ForeColor' ? 'TextColor' : 'BGColor' ; - this.Type = type ; - - /* BEGIN ### - The panel should be created in the "Execute" method for best - memory use, but it not works in Gecko in that way. - */ - - this._Panel = new FCKPanel() ; - this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; -// this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; -// this._Panel.Create() ; - - this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ; - - FCKTools.DisableSelection( this._Panel.Document.body ) ; - - // END ### -} - -FCKTextColorCommand.prototype.Execute = function( panelX, panelY, relElement ) -{ - /* - BEGIN ### - This is the right code to create the panel, but it is not - working well with Gecko, so it has been moved to the - class contructor. - - // Create the Color Panel if needed. - if ( ! this._Panel ) - { - this._Panel = new FCKPanel() ; - this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; - this._Panel.Create() ; - - this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ; - } - END ### - */ - - // We must "cache" the actual panel type to be used in the SetColor method. - FCK._ActiveColorPanelType = this.Type ; - - // Show the Color Panel at the desired position. - this._Panel.Show( panelX, panelY, relElement ) ; -} - -FCKTextColorCommand.prototype.SetColor = function( color ) -{ - if ( FCK._ActiveColorPanelType == 'ForeColor' ) - FCK.ExecuteNamedCommand( 'ForeColor', color ) ; - else if ( FCKBrowserInfo.IsGecko ) - FCK.ExecuteNamedCommand( 'hilitecolor', color ) ; - else - FCK.ExecuteNamedCommand( 'BackColor', color ) ; - - // Delete the "cached" active panel type. - delete FCK._ActiveColorPanelType ; -} - -FCKTextColorCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected' ; } - -function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected' ; } - -function FCKTextColorCommand_OnClick() -{ - this.className = 'ColorDeselected' ; - this.Command.SetColor( '#' + this.Color ) ; - this.Command._Panel.Hide() ; -} - -function FCKTextColorCommand_AutoOnClick() -{ - this.className = 'ColorDeselected' ; - this.Command.SetColor( '' ) ; - this.Command._Panel.Hide() ; -} - -function FCKTextColorCommand_MoreOnClick() -{ - this.className = 'ColorDeselected' ; - this.Command._Panel.Hide() ; - FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, this.Command.SetColor ) ; -} - -FCKTextColorCommand.prototype._CreatePanelBody = function( targetDocument, targetDiv ) -{ - function CreateSelectionDiv() - { - var oDiv = targetDocument.createElement( "DIV" ) ; - oDiv.className = 'ColorDeselected' ; - oDiv.onmouseover = FCKTextColorCommand_OnMouseOver ; - oDiv.onmouseout = FCKTextColorCommand_OnMouseOut ; - - return oDiv ; - } - - // Create the Table that will hold all colors. - var oTable = targetDiv.appendChild( targetDocument.createElement( "TABLE" ) ) ; - oTable.className = 'ForceBaseFont' ; // Firefox 1.5 Bug. - oTable.style.tableLayout = 'fixed' ; - oTable.cellPadding = 0 ; - oTable.cellSpacing = 0 ; - oTable.border = 0 ; - oTable.width = 150 ; - - var oCell = oTable.insertRow(-1).insertCell(-1) ; - oCell.colSpan = 8 ; - - // Create the Button for the "Automatic" color selection. - var oDiv = oCell.appendChild( CreateSelectionDiv() ) ; - oDiv.innerHTML = - '
| ' + FCKLang.ColorAutomatic + ' | \ -
| ' + FCKLang.ColorMoreColors + ' |
' ) - sXHTML = '' ; - else - sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body, false, format ) ; - } - - if ( bSource ) - this.SwitchEditMode() ; - - if ( FCKBrowserInfo.IsIE ) - sXHTML = sXHTML.replace( FCKRegexLib.ToReplace, '$1' ) ; - - if ( FCK.DocTypeDeclaration && FCK.DocTypeDeclaration.length > 0 ) - sXHTML = FCK.DocTypeDeclaration + '\n' + sXHTML ; - - if ( FCK.XmlDeclaration && FCK.XmlDeclaration.length > 0 ) - sXHTML = FCK.XmlDeclaration + '\n' + sXHTML ; - - return FCKConfig.ProtectedSource.Revert( sXHTML ) ; -} - -FCK.UpdateLinkedField = function() -{ - // EnableXHTML has been deprecated -// if ( FCKConfig.EnableXHTML ) - FCK.LinkedField.value = FCK.GetXHTML( FCKConfig.FormatOutput ) ; -// else -// FCK.LinkedField.value = FCK.GetHTML( FCKConfig.FormatOutput ) ; - - FCK.Events.FireEvent( 'OnAfterLinkedFieldUpdate' ) ; -} - -FCK.ShowContextMenu = function( x, y ) -{ - if ( this.Status != FCK_STATUS_COMPLETE ) - return ; - - FCKContextMenu.Show( x, y ) ; - this.Events.FireEvent( "OnContextMenu" ) ; -} - -FCK.RegisteredDoubleClickHandlers = new Object() ; - -FCK.OnDoubleClick = function( element ) -{ - var oHandler = FCK.RegisteredDoubleClickHandlers[ element.tagName ] ; - if ( oHandler ) - oHandler( element ) ; -} - -// Register objects that can handle double click operations. -FCK.RegisterDoubleClickHandler = function( handlerFunction, tag ) -{ - FCK.RegisteredDoubleClickHandlers[ tag.toUpperCase() ] = handlerFunction ; -} - -FCK.OnAfterSetHTML = function() -{ - var oProcessor, i = 0 ; - while( ( oProcessor = FCKDocumentProcessors[i++] ) ) - oProcessor.ProcessDocument( FCK.EditorDocument ) ; - - this.Events.FireEvent( 'OnAfterSetHTML' ) ; -} - -// Saves URLs on links and images on special attributes, so they don't change when -// moving around. -FCK.ProtectUrls = function( html ) -{ - // href - html = html.replace( FCKRegexLib.ProtectUrlsAApo , '$1$2$3$2 _fcksavedurl=$2$3$2' ) ; - html = html.replace( FCKRegexLib.ProtectUrlsANoApo , '$1$2 _fcksavedurl="$2"' ) ; - - //
to
]*>.*?)(<\/P>)","gi") ; // Different because of a IE 5.0 error -// html = html.replace( re, "
]*>)([\s\S]*?)(<\/PRE>)/gi ;
-
- FCKCodeFormatter._ProtectData = function( outer, opener, data, closer )
- {
- return opener + '___FCKpd___' + FCKCodeFormatter.ProtectedData.addItem( data ) + closer ;
- }
-
- FCKCodeFormatter.Format = function( html )
- {
- // Protected content that remain untouched during the
- // process go in the following array.
- FCKCodeFormatter.ProtectedData = new Array() ;
-
- var sFormatted = html.replace( this.Regex.ProtectedTags, FCKCodeFormatter._ProtectData ) ;
-
- // Line breaks.
- sFormatted = sFormatted.replace( this.Regex.BlocksOpener, '\n$&' ) ; ;
- sFormatted = sFormatted.replace( this.Regex.BlocksCloser, '$&\n' ) ;
- sFormatted = sFormatted.replace( this.Regex.NewLineTags, '$&\n' ) ;
- sFormatted = sFormatted.replace( this.Regex.MainTags, '\n$&\n' ) ;
-
- // Indentation.
- var sIndentation = '' ;
-
- var asLines = sFormatted.split( this.Regex.LineSplitter ) ;
- sFormatted = '' ;
-
- for ( var i = 0 ; i < asLines.length ; i++ )
- {
- var sLine = asLines[i] ;
-
- if ( sLine.length == 0 )
- continue ;
-
- if ( this.Regex.DecreaseIndent.test( sLine ) )
- sIndentation = sIndentation.replace( this.Regex.FormatIndentatorRemove, '' ) ;
-
- sFormatted += sIndentation + sLine + '\n' ;
-
- if ( this.Regex.IncreaseIndent.test( sLine ) )
- sIndentation += FCKConfig.FormatIndentator ;
- }
-
- // Now we put back the protected data.
- for ( var i = 0 ; i < FCKCodeFormatter.ProtectedData.length ; i++ )
- {
- var oRegex = new RegExp( '___FCKpd___' + i ) ;
- sFormatted = sFormatted.replace( oRegex, FCKCodeFormatter.ProtectedData[i] ) ;
- }
-
- return sFormatted.trim() ;
- }
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcommands.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcommands.js
deleted file mode 100755
index 9b94d5bbc..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcommands.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckcommands.js
- * Define all commands available in the editor.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKCommands = FCK.Commands = new Object() ;
-FCKCommands.LoadedCommands = new Object() ;
-
-FCKCommands.RegisterCommand = function( commandName, command )
-{
- this.LoadedCommands[ commandName ] = command ;
-}
-
-FCKCommands.GetCommand = function( commandName )
-{
- var oCommand = FCKCommands.LoadedCommands[ commandName ] ;
-
- if ( oCommand )
- return oCommand ;
-
- 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 ;
- case 'NumberedList' : oCommand = new FCKDialogCommand( 'NumberedList', FCKLang.NumberedListProp , 'dialog/fck_listprop.html' , 370, 170 ) ; break ;
- case 'About' : oCommand = new FCKDialogCommand( 'About' , FCKLang.About , 'dialog/fck_about.html' , 400, 330 ) ; break ;
-
- case 'Find' : oCommand = new FCKDialogCommand( 'Find' , FCKLang.DlgFindTitle , 'dialog/fck_find.html' , 340, 170 ) ; break ;
- 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, 320 ) ; 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 ;
- case 'TableProp' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html?Parent', 400, 250 ) ; break ;
- case 'TableCellProp': oCommand = new FCKDialogCommand( 'TableCell' , FCKLang.DlgCellTitle , 'dialog/fck_tablecell.html' , 500, 250 ) ; break ;
- case 'UniversalKey' : oCommand = new FCKDialogCommand( 'UniversalKey', FCKLang.UniversalKeyboard , 'dialog/fck_universalkey.html', 415, 300 ) ; break ;
-
- case 'Style' : oCommand = new FCKStyleCommand() ; break ;
-
- case 'FontName' : oCommand = new FCKFontNameCommand() ; break ;
- case 'FontSize' : oCommand = new FCKFontSizeCommand() ; break ;
- case 'FontFormat' : oCommand = new FCKFormatBlockCommand() ; break ;
-
- case 'Source' : oCommand = new FCKSourceCommand() ; break ;
- case 'Preview' : oCommand = new FCKPreviewCommand() ; break ;
- case 'Save' : oCommand = new FCKSaveCommand() ; break ;
- case 'NewPage' : oCommand = new FCKNewPageCommand() ; break ;
- case 'PageBreak' : oCommand = new FCKPageBreakCommand() ; break ;
-
- case 'TextColor' : oCommand = new FCKTextColorCommand('ForeColor') ; break ;
- case 'BGColor' : oCommand = new FCKTextColorCommand('BackColor') ; break ;
-
- case 'PasteText' : oCommand = new FCKPastePlainTextCommand() ; break ;
- case 'PasteWord' : oCommand = new FCKPasteWordCommand() ; break ;
-
- case 'TableInsertRow' : oCommand = new FCKTableCommand('TableInsertRow') ; break ;
- case 'TableDeleteRows' : oCommand = new FCKTableCommand('TableDeleteRows') ; break ;
- case 'TableInsertColumn' : oCommand = new FCKTableCommand('TableInsertColumn') ; break ;
- case 'TableDeleteColumns' : oCommand = new FCKTableCommand('TableDeleteColumns') ; break ;
- case 'TableInsertCell' : oCommand = new FCKTableCommand('TableInsertCell') ; break ;
- case 'TableDeleteCells' : oCommand = new FCKTableCommand('TableDeleteCells') ; break ;
- case 'TableMergeCells' : oCommand = new FCKTableCommand('TableMergeCells') ; break ;
- case 'TableSplitCell' : oCommand = new FCKTableCommand('TableSplitCell') ; break ;
- case 'TableDelete' : oCommand = new FCKTableCommand('TableDelete') ; break ;
-
- case 'Form' : oCommand = new FCKDialogCommand( 'Form' , FCKLang.Form , 'dialog/fck_form.html' , 380, 230 ) ; break ;
- case 'Checkbox' : oCommand = new FCKDialogCommand( 'Checkbox' , FCKLang.Checkbox , 'dialog/fck_checkbox.html' , 380, 230 ) ; break ;
- case 'Radio' : oCommand = new FCKDialogCommand( 'Radio' , FCKLang.RadioButton , 'dialog/fck_radiobutton.html' , 380, 230 ) ; break ;
- case 'TextField' : oCommand = new FCKDialogCommand( 'TextField' , FCKLang.TextField , 'dialog/fck_textfield.html' , 380, 230 ) ; break ;
- case 'Textarea' : oCommand = new FCKDialogCommand( 'Textarea' , FCKLang.Textarea , 'dialog/fck_textarea.html' , 380, 230 ) ; break ;
- case 'HiddenField' : oCommand = new FCKDialogCommand( 'HiddenField', FCKLang.HiddenField , 'dialog/fck_hiddenfield.html' , 380, 230 ) ; break ;
- case 'Button' : oCommand = new FCKDialogCommand( 'Button' , FCKLang.Button , 'dialog/fck_button.html' , 380, 230 ) ; break ;
- case 'Select' : oCommand = new FCKDialogCommand( 'Select' , FCKLang.SelectionField, 'dialog/fck_select.html' , 400, 380 ) ; break ;
- case 'ImageButton' : oCommand = new FCKDialogCommand( 'ImageButton', FCKLang.ImageButton , 'dialog/fck_image.html?ImageButton', 450, 400 ) ; break ;
-
- 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 ;
-
- // By default we assume that it is a named command.
- default:
- if ( FCKRegexLib.NamedCommands.test( commandName ) )
- oCommand = new FCKNamedCommand( commandName ) ;
- else
- {
- alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ;
- return null ;
- }
- }
-
- FCKCommands.LoadedCommands[ commandName ] = oCommand ;
-
- return oCommand ;
-}
-
-// Gets the state of the "Document Properties" button. It must be enabled only
-// when "Full Page" editing is available.
-FCKCommands.GetFullPageState = function()
-{
- return FCKConfig.FullPage ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckconfig.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckconfig.js
deleted file mode 100755
index 5a4535701..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckconfig.js
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckconfig.js
- * Creates and initializes the FCKConfig object.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKConfig = FCK.Config = new Object() ;
-
-// Editor Base Path
-if ( document.location.protocol == 'file:' )
-{
- FCKConfig.BasePath = unescape( document.location.pathname.substr(1) ) ;
- FCKConfig.BasePath = FCKConfig.BasePath.replace( /\\/gi, '/' ) ;
- FCKConfig.BasePath = 'file://' + FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1) ;
-}
-else
-{
- FCKConfig.BasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1) ;
- FCKConfig.FullBasePath = document.location.protocol + '//' + document.location.host + FCKConfig.BasePath ;
-}
-
-FCKConfig.EditorPath = FCKConfig.BasePath.replace( /editor\/$/, '' ) ;
-
-// There is a bug in Gecko. If the editor is hidden on startup, an error is
-// thrown when trying to get the screen dimentions.
-try
-{
- FCKConfig.ScreenWidth = screen.width ;
- FCKConfig.ScreenHeight = screen.height ;
-}
-catch (e)
-{
- FCKConfig.ScreenWidth = 800 ;
- FCKConfig.ScreenHeight = 600 ;
-}
-
-// Override the actual configuration values with the values passed throw the
-// hidden field "___Config".
-FCKConfig.ProcessHiddenField = function()
-{
- this.PageConfig = new Object() ;
-
- // Get the hidden field.
- var oConfigField = window.parent.document.getElementById( FCK.Name + '___Config' ) ;
-
- // Do nothing if the config field was not defined.
- if ( ! oConfigField ) return ;
-
- var aCouples = oConfigField.value.split('&') ;
-
- for ( var i = 0 ; i < aCouples.length ; i++ )
- {
- if ( aCouples[i].length == 0 )
- continue ;
-
- var aConfig = aCouples[i].split( '=' ) ;
- 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 ) ;
-
- else // In any other case it is a string.
- this.PageConfig[ sKey ] = sVal ;
- }
-}
-
-FCKConfig.LoadPageConfig = function()
-{
- for ( var sKey in this.PageConfig )
- FCKConfig[ sKey ] = this.PageConfig[ sKey ] ;
-}
-
-// Define toolbar sets collection.
-FCKConfig.ToolbarSets = new Object() ;
-
-// Defines the plugins collection.
-FCKConfig.Plugins = new Object() ;
-FCKConfig.Plugins.Items = new Array() ;
-
-FCKConfig.Plugins.Add = function( name, langs, path )
-{
- FCKConfig.Plugins.Items.addItem( [name, langs, path] ) ;
-}
-
-// FCKConfig.ProtectedSource: object that holds a collection of Regular
-// Expressions that defined parts of the raw HTML that must remain untouched
-// like custom tags, scripts, server side code, etc...
-FCKConfig.ProtectedSource = new Object() ;
-FCKConfig.ProtectedSource.RegexEntries = new Array() ;
-
-FCKConfig.ProtectedSource.Add = function( regexPattern )
-{
- this.RegexEntries.addItem( regexPattern ) ;
-}
-
-FCKConfig.ProtectedSource.Protect = function( html )
-{
- function _Replace( protectedSource )
- {
- var index = FCKTempBin.AddElement( protectedSource ) ;
- return '' ;
- }
-
- for ( var i = 0 ; i < this.RegexEntries.length ; i++ )
- {
- html = html.replace( this.RegexEntries[i], _Replace ) ;
- }
-
- return html ;
-}
-
-
-FCKConfig.ProtectedSource.Revert = function( html, clearBin )
-{
- function _Replace( m, opener, index )
- {
- var protectedValue = clearBin ? FCKTempBin.RemoveElement( index ) : FCKTempBin.Elements[ index ] ;
- // There could be protected source inside another one.
- return FCKConfig.ProtectedSource.Revert( protectedValue, clearBin ) ;
- }
-
- return html.replace( /(<|<)!--\{PS..(\d+)\}--(>|>)/g, _Replace ) ;
-}
-
-// First of any other protection, we must protect all comments to avoid
-// loosing them (of course, IE related).
-FCKConfig.ProtectedSource.Add( //g ) ;
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcontextmenu.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcontextmenu.js
deleted file mode 100755
index 1167e26c9..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcontextmenu.js
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckcontextmenu.js
- * Defines the FCKContextMenu object that is responsible for all
- * Context Menu operations.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKContextMenu = new Object() ;
-
-FCKContextMenu._Panel = new FCKPanel( FCKBrowserInfo.IsIE ? window : window.parent ) ;
-FCKContextMenu._Panel.PanelDiv.className = 'CM_ContextMenu' ;
-FCKContextMenu._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
-FCKContextMenu._Panel.IsContextMenu = true ;
-
-FCKContextMenu._Document = FCKContextMenu._Panel.Document ;
-
-// This property is internally used to indicate that the context menu has been created.
-FCKContextMenu._IsLoaded = false ;
-
-FCKContextMenu.Show = function( x, y )
-{
- if ( !this._IsLoaded )
- this.Reload() ;
-
- this.RefreshState() ;
-
- // If not IE, x and y are relative to the editing area, so we must "fix" it.
- if ( !FCKBrowserInfo.IsIE )
- {
- var oCoordsA = FCKTools.GetElementPosition( FCK.EditorWindow.frameElement, this._Panel._Window ) ;
- x += oCoordsA.X ;
- y += oCoordsA.Y ;
- }
-
- this._Panel.Show( x, y ) ;
-}
-
-FCKContextMenu.Hide = function()
-{
- this._Panel.Hide() ;
-}
-
-// This method creates the context menu inside a DIV tag. Take a look at the end of this file for a sample output.
-FCKContextMenu.Reload = function()
-{
- // Create the Main DIV that holds the Context Menu.
-// this._Div = this._Document.createElement( 'DIV' ) ;
-// this._Div.className = 'CM_ContextMenu' ;
-// this._Div.style.position = 'absolute' ;
-// this._Div.style.visibility = 'hidden' ;
-// this._Document.body.appendChild( this._Div );
-
- // Create the main table for the menu items.
- var oTable = this._Document.createElement( 'TABLE' ) ;
- oTable.cellSpacing = 0 ;
- oTable.cellPadding = 0 ;
- this._Panel.PanelDiv.appendChild( oTable ) ;
-// this._Div.appendChild( oTable ) ;
-
- // Load all configured groups.
- this.Groups = new Object() ;
-
- for ( var i = 0 ; i < FCKConfig.ContextMenu.length ; i++ )
- {
- var sGroup = FCKConfig.ContextMenu[i] ;
- this.Groups[ sGroup ] = this._GetGroup( sGroup ) ;
- this.Groups[ sGroup ].CreateTableRows( oTable ) ;
- }
-
- FCKTools.DisableSelection( this._Panel.Document.body ) ;
-
- this._IsLoaded = true ;
-}
-
-FCKContextMenu._GetGroup = function( groupName )
-{
- var oGroup ;
-
- switch ( groupName )
- {
- case 'Generic' :
- // Generic items that are always available.
- oGroup = new FCKContextMenuGroup() ;
-
- oGroup.Add( new FCKContextMenuItem( this, 'Cut' , FCKLang.Cut , true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'Copy' , FCKLang.Copy , true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'Paste' , FCKLang.Paste , true ) ) ;
-
- break ;
-
- case 'Link' :
- oGroup = new FCKContextMenuGroup() ;
-
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'Link' , FCKLang.EditLink , true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'Unlink' , FCKLang.RemoveLink, true ) ) ;
-
- break ;
-
- case 'TableCell' :
- oGroup = new FCKContextMenuGroup() ;
-
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableInsertRow' , FCKLang.InsertRow, true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteRows' , FCKLang.DeleteRows, true ) ) ;
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableInsertColumn' , FCKLang.InsertColumn, true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteColumns' , FCKLang.DeleteColumns, true ) ) ;
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableInsertCell' , FCKLang.InsertCell, true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteCells' , FCKLang.DeleteCells, true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableMergeCells' , FCKLang.MergeCells, true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableSplitCell' , FCKLang.SplitCell, true ) ) ;
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableDelete' , FCKLang.TableDelete, false ) ) ;
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableCellProp' , FCKLang.CellProperties, true ) ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableProp' , FCKLang.TableProperties, true ) ) ;
-
- break ;
-
- case 'Table' :
- oGroup = new FCKContextMenuGroup() ;
-
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'TableDelete' , FCKLang.TableDelete, false ) ) ;
- oGroup.Add( new FCKContextMenuSeparator() ) ;
- oGroup.Add( new FCKContextMenuItem( this, 'Table' , FCKLang.TableProperties, true ) ) ;
-
- break ;
-
- 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 ) ;
-
- case 'Checkbox' :
- return new FCKContextMenuGroup( true, this, 'Checkbox', FCKLang.CheckboxProp, true ) ;
-
- case 'Radio' :
- return new FCKContextMenuGroup( true, this, 'Radio', FCKLang.RadioButtonProp, true ) ;
-
- case 'TextField' :
- return new FCKContextMenuGroup( true, this, 'TextField', FCKLang.TextFieldProp, true ) ;
-
- case 'HiddenField' :
- return new FCKContextMenuGroup( true, this, 'HiddenField', FCKLang.HiddenFieldProp, true ) ;
-
- case 'ImageButton' :
- return new FCKContextMenuGroup( true, this, 'ImageButton', FCKLang.ImageButtonProp, true ) ;
-
- case 'Button' :
- return new FCKContextMenuGroup( true, this, 'Button', FCKLang.ButtonProp, true ) ;
-
- case 'Select' :
- return new FCKContextMenuGroup( true, this, 'Select', FCKLang.SelectionFieldProp, true ) ;
-
- case 'Textarea' :
- return new FCKContextMenuGroup( true, this, 'Textarea', FCKLang.TextareaProp, true ) ;
-
- case 'BulletedList' :
- return new FCKContextMenuGroup( true, this, 'BulletedList', FCKLang.BulletedListProp, true ) ;
-
- case 'NumberedList' :
- return new FCKContextMenuGroup( true, this, 'NumberedList', FCKLang.NumberedListProp, true ) ;
-
- case 'Anchor' :
- return new FCKContextMenuGroup( true, this, 'Anchor', FCKLang.AnchorProp, true ) ;
- }
-
- return oGroup ;
-}
-
-FCKContextMenu.RefreshState = function()
-{
- // Get the actual selected tag (if any).
- var oTag = FCKSelection.GetSelectedElement() ;
- var sTagName ;
-
- if ( oTag )
- sTagName = oTag.tagName ;
-
- // Set items visibility.
-
-// var bIsAnchor = ( sTagName == 'A' && oTag.name.length > 0 && oTag.href.length == 0 ) ;
-
-// if ( this.Groups['Link'] ) this.Groups['Link'].SetVisible( !bIsAnchor && FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
- if ( this.Groups['Link'] ) this.Groups['Link'].SetVisible( 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' && !oTag.getAttribute('_fckfakelement') ) ;
- 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') ) ;
-
- if ( this.Groups['Select'] ) this.Groups['Select'].SetVisible( sTagName == 'SELECT' ) ;
- if ( this.Groups['Textarea'] ) this.Groups['Textarea'].SetVisible( sTagName == 'TEXTAREA' ) ;
- if ( this.Groups['Form'] ) this.Groups['Form'].SetVisible( FCKSelection.HasAncestorNode('FORM') ) ;
- if ( this.Groups['Checkbox'] ) this.Groups['Checkbox'].SetVisible( sTagName == 'INPUT' && oTag.type == 'checkbox' ) ;
- if ( this.Groups['Radio'] ) this.Groups['Radio'].SetVisible( sTagName == 'INPUT' && oTag.type == 'radio' ) ;
- if ( this.Groups['TextField'] ) this.Groups['TextField'].SetVisible( sTagName == 'INPUT' && ( oTag.type == 'text' || oTag.type == 'password' ) ) ;
- if ( this.Groups['HiddenField'] ) this.Groups['HiddenField'].SetVisible( sTagName == 'INPUT' && oTag.type == 'hidden' ) ;
- if ( this.Groups['ImageButton'] ) this.Groups['ImageButton'].SetVisible( sTagName == 'INPUT' && oTag.type == 'image' ) ;
- if ( this.Groups['Button'] ) this.Groups['Button'].SetVisible( sTagName == 'INPUT' && ( oTag.type == 'button' || oTag.type == 'submit' || oTag.type == 'reset' ) ) ;
-
- // Refresh the state of all visible items (active/disactive)
- for ( var o in this.Groups )
- {
- this.Groups[o].RefreshState() ;
- }
-}
-
-/*
-Sample Context Menu Output
------------------------------------------
-
-
-
- 
- Cut
-
-
- 
- Copy
-
-
- 
- Paste
-
-
-
-
-
-
- 
- Print
-
-
-
-
-
-
-
- Do Something
-
-
-
- Just Testing
-
-
-
-*/
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcoreextensions.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcoreextensions.js
deleted file mode 100755
index d0566736e..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckcoreextensions.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckcoreextensions.js
- * Some extensions to the Javascript Core.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Extends the Array object, creating a "addItem" method on it.
-Array.prototype.addItem = function( item )
-{
- var i = this.length ;
- this[ i ] = item ;
- return i ;
-}
-
-Array.prototype.indexOf = function( value )
-{
- for ( var i = 0 ; i < this.length ; i++ )
- {
- if ( this[i] == value )
- return i ;
- }
- return -1 ;
-}
-
-String.prototype.startsWith = function( value )
-{
- return ( this.substr( 0, value.length ) == value ) ;
-}
-
-// Extends the String object, creating a "endsWith" method on it.
-String.prototype.endsWith = function( value, ignoreCase )
-{
- var L1 = this.length ;
- var L2 = value.length ;
-
- if ( L2 > L1 )
- return false ;
-
- if ( ignoreCase )
- {
- var oRegex = new RegExp( value + '$' , 'i' ) ;
- return oRegex.test( this ) ;
- }
- else
- return ( L2 == 0 || this.substr( L1 - L2, L2 ) == value ) ;
-}
-
-String.prototype.remove = function( start, length )
-{
- var s = '' ;
-
- if ( start > 0 )
- s = this.substring( 0, start ) ;
-
- if ( start + length < this.length )
- s += this.substring( start + length , this.length ) ;
-
- return s ;
-}
-
-String.prototype.trim = function()
-{
- return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
-}
-
-String.prototype.ltrim = function()
-{
- return this.replace( /^\s*/g, '' ) ;
-}
-
-String.prototype.rtrim = function()
-{
- return this.replace( /\s*$/g, '' ) ;
-}
-
-String.prototype.replaceNewLineChars = function( replacement )
-{
- return this.replace( /\n/g, replacement ) ;
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdebug.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdebug.js
deleted file mode 100755
index 5a70e1cd7..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdebug.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckdebug.js
- * Debug window control and operations.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKDebug = new Object() ;
-
-if ( FCKConfig.Debug )
-{
- FCKDebug.Output = function( message, color, noParse )
- {
- if ( ! FCKConfig.Debug ) return ;
-
- if ( !noParse && message != null && isNaN( message ) )
- message = message.replace(/' ;
-
- for (var prop in anyObject)
- {
- var sVal = anyObject[ prop ] ? anyObject[ prop ] + '' : '[null]' ;
- try
- {
- message += '' + prop + ' : ' + sVal.replace(/' ;
- }
- catch (e)
- {
- message += '' + prop + ' : [' + typeof( anyObject[ prop ] ) + ']
' ;
- }
- }
-
- message += '
' ;
- } else
- message = 'OutputObject : Object is "null".' ;
-
- FCKDebug.Output( message, color, true ) ;
- }
-}
-else
-{
- FCKDebug.Output = function() {}
- FCKDebug.OutputObject = function() {}
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog.js
deleted file mode 100755
index 102d6b8bc..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckdialog.js
- * Dialog windows operations.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-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, resizable )
-{
- // Setup the dialog info.
- var oDialogInfo = new Object() ;
- oDialogInfo.Title = dialogTitle ;
- oDialogInfo.Page = dialogPage ;
- oDialogInfo.Editor = window ;
- oDialogInfo.CustomValue = customValue ; // Optional
-
- var sUrl = FCKConfig.BasePath + 'fckdialog.html' ;
- this.Show( oDialogInfo, dialogName, sUrl, width, height, parentWindow, resizable ) ;
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog_gecko.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog_gecko.js
deleted file mode 100755
index 45e31f958..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog_gecko.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckdialog_gecko.js
- * Dialog windows operations. (Gecko specific implementations)
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow, resizable )
-{
- var iTop = (FCKConfig.ScreenHeight - dialogHeight) / 2 ;
- var iLeft = (FCKConfig.ScreenWidth - dialogWidth) / 2 ;
-
- 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 +
- ",left=" + iLeft ;
-
- if ( !parentWindow )
- parentWindow = window ;
-
- var oWindow = parentWindow.open( '', 'FCKeditorDialog_' + dialogName, sOption, true ) ;
-
- if ( !oWindow )
- {
- alert( FCKLang.DialogBlocked ) ;
- return ;
- }
-
- oWindow.moveTo( iLeft, iTop ) ;
- oWindow.resizeTo( dialogWidth, dialogHeight ) ;
- oWindow.focus() ;
- oWindow.location.href = pageUrl ;
-
- oWindow.dialogArguments = dialogInfo ;
-
- // On some Gecko browsers (probably over slow connections) the
- // "dialogArguments" are not set to the target window so we must
- // put it in the opener window so it can be used by the target one.
- parentWindow.FCKLastDialogInfo = dialogInfo ;
-
- this.Window = oWindow ;
-
- // Try/Catch must be used to avoit an error when using a frameset
- // on a different domain:
- // "Permission denied to get property Window.releaseEvents".
- try
- {
- window.top.captureEvents( Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS ) ;
- window.top.parent.addEventListener( 'mousedown', this.CheckFocus, true ) ;
- window.top.parent.addEventListener( 'mouseup', this.CheckFocus, true ) ;
- window.top.parent.addEventListener( 'click', this.CheckFocus, true ) ;
- window.top.parent.addEventListener( 'focus', this.CheckFocus, true ) ;
- }
- catch (e)
- {}
-}
-
-FCKDialog.CheckFocus = function()
-{
- // It is strange, but we have to check the FCKDialog existence to avoid a
- // random error: "FCKDialog is not defined".
- if ( typeof( FCKDialog ) != "object" )
- return false ;
-
- if ( FCKDialog.Window && !FCKDialog.Window.closed )
- FCKDialog.Window.focus() ;
- else
- {
- // Try/Catch must be used to avoit an error when using a frameset
- // on a different domain:
- // "Permission denied to get property Window.releaseEvents".
- try
- {
- window.top.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS) ;
- window.top.parent.removeEventListener( 'onmousedown', FCKDialog.CheckFocus, true ) ;
- window.top.parent.removeEventListener( 'mouseup', FCKDialog.CheckFocus, true ) ;
- window.top.parent.removeEventListener( 'click', FCKDialog.CheckFocus, true ) ;
- window.top.parent.removeEventListener( 'onfocus', FCKDialog.CheckFocus, true ) ;
- }
- catch (e)
- {}
- }
- return false ;
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog_ie.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog_ie.js
deleted file mode 100755
index 3e50b45d1..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckdialog_ie.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckdialog_ie.js
- * Dialog windows operations. (IE specific implementations)
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow )
-{
- if ( !parentWindow )
- parentWindow = window ;
-
- this.IsOpened = true ;
-
- parentWindow.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" + dialogWidth + "px;dialogHeight:" + dialogHeight + "px;help:no;scroll:no;status:no") ;
-
- this.IsOpened = false ;
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcklanguagemanager.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcklanguagemanager.js
deleted file mode 100755
index f7fcb4180..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcklanguagemanager.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcklanguagemanager.js
- * Defines the FCKLanguageManager object that is used for language
- * operations.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKLanguageManager.GetActiveLanguage = function()
-{
- if ( FCKConfig.AutoDetectLanguage )
- {
- var sUserLang ;
-
- // IE accepts "navigator.userLanguage" while Gecko "navigator.language".
- if ( navigator.userLanguage )
- sUserLang = navigator.userLanguage.toLowerCase() ;
- else if ( navigator.language )
- sUserLang = navigator.language.toLowerCase() ;
- else
- {
- // Firefox 1.0 PR has a bug: it doens't support the "language" property.
- return FCKConfig.DefaultLanguage ;
- }
-
- // Some language codes are set in 5 characters,
- // like "pt-br" for Brasilian Portuguese.
- if ( sUserLang.length >= 5 )
- {
- sUserLang = sUserLang.substr(0,5) ;
- if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
- }
-
- // If the user's browser is set to, for example, "pt-br" but only the
- // "pt" language file is available then get that file.
- if ( sUserLang.length >= 2 )
- {
- sUserLang = sUserLang.substr(0,2) ;
- if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
- }
- }
-
- return this.DefaultLanguage ;
-}
-
-FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet )
-{
- var e = targetDocument.getElementsByTagName(tag) ;
-
- for ( var i = 0 ; i < e.length ; i++ )
- {
- var sKey = e[i].getAttribute( 'fckLang' ) ;
-
- if ( sKey )
- {
- var s = FCKLang[ sKey ] ;
- if ( s )
- eval( 'e[i].' + propertyToSet + ' = s' ) ;
- }
- }
-}
-
-FCKLanguageManager.TranslatePage = function( targetDocument )
-{
- this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;
- this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;
- this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;
- this.TranslateElements( targetDocument, 'OPTION', 'innerHTML' ) ;
-}
-
-if ( FCKLanguageManager.AvailableLanguages[ FCKConfig.DefaultLanguage ] )
- FCKLanguageManager.DefaultLanguage = FCKConfig.DefaultLanguage ;
-else
- FCKLanguageManager.DefaultLanguage = 'en' ;
-
-FCKLanguageManager.ActiveLanguage = new Object() ;
-FCKLanguageManager.ActiveLanguage.Code = FCKLanguageManager.GetActiveLanguage() ;
-FCKLanguageManager.ActiveLanguage.Name = FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ] ;
-
-FCK.Language = FCKLanguageManager ;
-
-// Load the language file and start the editor.
-LoadLanguageFile() ;
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcknamespace.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcknamespace.js
deleted file mode 100755
index 136471a78..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcknamespace.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcknamespace.js
- * This file declares the namespace (object holder) where the common editor
- * objects and classes are defined.
- * The namespace is located in the page the editor is running on, so it is
- * shared by all editor instances.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var NS ;
-
-if ( !( NS = window.parent.__FCKeditorNS ) )
- NS = window.parent.__FCKeditorNS = new Object() ;
-
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckplugins.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckplugins.js
deleted file mode 100755
index fa307c53c..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckplugins.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckplugins.js
- * Defines the FCKPlugins object that is responsible for loading the Plugins.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKPlugins = FCK.Plugins = new Object() ;
-FCKPlugins.ItemsCount = 0 ;
-FCKPlugins.Loaded = false ;
-FCKPlugins.Items = new Object() ;
-
-// Set the defined plugins scripts paths.
-for ( var i = 0 ; i < FCKConfig.Plugins.Items.length ; i++ )
-{
- var oItem = FCKConfig.Plugins.Items[i] ;
- FCKPlugins.Items[ oItem[0] ] = new FCKPlugin( oItem[0], oItem[1], oItem[2] ) ;
- FCKPlugins.ItemsCount++ ;
-}
-
-FCKPlugins.Load = function()
-{
- // Load all items.
- for ( var s in this.Items )
- this.Items[s].Load() ;
-
- // Mark as loaded.
- this.Loaded = true ;
-
- // This is a self destroyable function (must be called once).
- FCKPlugins.Load = null ;
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckregexlib.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckregexlib.js
deleted file mode 100755
index 6188d86fa..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckregexlib.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckregexlib.js
- * These are some Regular Expresions used by the editor.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKRegexLib = new Object() ;
-
-// This is the Regular expression used by the SetHTML method for the "'" entity.
-FCKRegexLib.AposEntity = /'/gi ;
-
-// Used by the Styles combo to identify styles that can't be applied to text.
-FCKRegexLib.ObjectElements = /^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i ;
-
-// START iCM MODIFICATIONS
-// Added TABLE and CAPTION to the block elements for ENTER key handling
-// Block Elements.
-/*
-FCKRegexLib.BlockElements = /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TABLE|CAPTION)$/i ;
-*/
-// END iCM MODIFICATIONS
-FCKRegexLib.BlockElements = /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TH)$/i ;
-
-// Elements marked as empty "Empty" in the XHTML DTD.
-FCKRegexLib.EmptyElements = /^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i ;
-
-// List all named commands (commands that can be interpreted by the browser "execCommand" method.
-FCKRegexLib.NamedCommands = /^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i ;
-
-FCKRegexLib.BodyContents = /([\s\S]*\]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i ;
-
-// Temporary text used to solve some browser specific limitations.
-FCKRegexLib.ToReplace = /___fcktoreplace:([\w]+)/ig ;
-
-// Get the META http-equiv attribute from the tag.
-FCKRegexLib.MetaHttpEquiv = /http-equiv\s*=\s*["']?([^"' ]+)/i ;
-
-FCKRegexLib.HasBaseTag = / ]*>/i ;
-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
... gets the "/>" part.
-FCKRegexLib.SpaceNoClose = /\/>/g ;
-
-FCKRegexLib.EmptyParagraph = /^<(p|div)>\s*<\/\1>$/i ;
-
-FCKRegexLib.TagBody = /> ;
-
-// START iCM MODIFICATIONS
-/*
-// HTML table cell elements
-FCKRegexLib.TableCellElements = /^(?:TD|TH)$/i ;
-// Block elements that can themselves contain block elements - used within the FCKTools.SplitNode
-// function. I know BODY isn't really a block element but means can do the check in one hit.
-FCKRegexLib.SpecialBlockElements = /^(?:BODY|TH|TD|CAPTION)$/i ;
-// Block elements that can validly contain a nested table. Ditto above for the BODY entry.
-FCKRegexLib.TableBlockElements = /^(?:BODY|DIV|LI|TD|TH)$/i ;
-// List elements
-FCKRegexLib.ListElements = /^(?:OL|UL)$/i ;
-// Used to remove empty tags after the split process used on ENTER key press
-FCKRegexLib.EmptyElement = /<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|SPAN|A)[^\>]*>\s*<\/\1>/gi ;
-*/
-// END iCM MODIFICATIONS
-
-FCKRegexLib.StrongOpener = /])/gi ;
-FCKRegexLib.StrongCloser = /<\/STRONG>/gi ;
-FCKRegexLib.EmOpener = /])/gi ;
-FCKRegexLib.EmCloser = /<\/EM>/gi ;
-
-FCKRegexLib.GeckoEntitiesMarker = /#\?-\:/g ;
-
-FCKRegexLib.ProtectUrlsAApo = /(]+)/gi ;
-
-FCKRegexLib.ProtectUrlsImgApo = /(
]+)/gi ;
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckscriptloader.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckscriptloader.js
deleted file mode 100755
index a0067711d..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckscriptloader.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckscriptloader.js
- * Defines the FCKScriptLoader object that is used to dynamically load
- * scripts in the editor.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// This object is used to download scripts and css files sequentialy.
-// A file download is not started until the previous file was not completelly
-// downloaded.
-var FCKScriptLoader = new Object() ;
-FCKScriptLoader.IsLoading = false ;
-FCKScriptLoader.Queue = new Array() ;
-
-// Adds a script or css to the queue.
-FCKScriptLoader.AddScript = function( scriptPath )
-{
- FCKScriptLoader.Queue[ FCKScriptLoader.Queue.length ] = scriptPath ;
-
- if ( !this.IsLoading )
- this.CheckQueue() ;
-}
-
-// Checks the queue to see if there is something to load.
-// This function should not be called by code. It's a internal function
-// that's called recursively.
-FCKScriptLoader.CheckQueue = function()
-{
- // Check if the queue is not empty.
- if ( this.Queue.length > 0 )
- {
- this.IsLoading = true ;
-
- // Get the first item in the queue
- var sScriptPath = this.Queue[0] ;
-
- // Removes the first item from the queue
- var oTempArray = new Array() ;
- for ( i = 1 ; i < this.Queue.length ; i++ )
- oTempArray[ i - 1 ] = this.Queue[ i ] ;
- this.Queue = oTempArray ;
-
- this.LoadFile( sScriptPath ) ;
- }
- else
- {
- this.IsLoading = false ;
-
- // Call the "OnEmpty" event.
- if ( this.OnEmpty )
- this.OnEmpty() ;
- }
-}
-
-FCKScriptLoader.LoadFile = function( filePath )
-{
- //window.status = ( 'Loading ' + filePath + '...' ) ;
-
- // Dynamically load the file (it can be a CSS or a JS)
- var e ;
-
- // If it is a CSS
- if ( filePath.lastIndexOf( '.css' ) > 0 )
- {
- e = document.createElement( 'LINK' ) ;
- e.rel = 'stylesheet' ;
- e.type = 'text/css' ;
- }
- // It it is a JS
- else
- {
- e = document.createElement( "script" ) ;
- e.type = "text/javascript" ;
- }
-
- // Add the new object to the HEAD.
- document.getElementsByTagName("head")[0].appendChild( e ) ;
-
- // Start downloading it.
- if ( e.tagName == 'LINK' )
- {
- // IE must wait for the file to be downloaded.
- if ( FCKBrowserInfo.IsIE )
- 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 = filePath ;
- }
- else
- {
- // Gecko fires the "onload" event and IE fires "onreadystatechange"
- e.onload = e.onreadystatechange = FCKScriptLoader_OnLoad ;
- e.src = filePath ;
- }
-}
-
-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() ;
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection.js
deleted file mode 100755
index 124756d72..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckselection.js
- * Active selection functions.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKSelection = new Object() ;
-
-FCK.Selection = FCKSelection ;
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection_gecko.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection_gecko.js
deleted file mode 100755
index 758e885d8..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection_gecko.js
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckselection_gecko.js
- * Active selection functions. (Gecko specific implementation)
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Get the selection type (like document.select.type in IE).
-FCKSelection.GetType = function()
-{
-// if ( ! this._Type )
-// {
- // By default set the type to "Text".
- this._Type = 'Text' ;
-
- // Check if the actual selection is a Control (IMG, TABLE, HR, etc...).
- var oSel ;
- try { oSel = FCK.EditorWindow.getSelection() ; }
- catch (e) {}
-
- if ( oSel && oSel.rangeCount == 1 )
- {
- var oRange = oSel.getRangeAt(0) ;
- if ( oRange.startContainer == oRange.endContainer && (oRange.endOffset - oRange.startOffset) == 1 )
- this._Type = 'Control' ;
- }
-// }
- return this._Type ;
-}
-
-// Retrieves the selected element (if any), just in the case that a single
-// element (object like and image or a table) is selected.
-FCKSelection.GetSelectedElement = function()
-{
- if ( this.GetType() == 'Control' )
- {
- var oSel = FCK.EditorWindow.getSelection() ;
- return oSel.anchorNode.childNodes[ oSel.anchorOffset ] ;
- }
-}
-
-FCKSelection.GetParentElement = function()
-{
- if ( this.GetType() == 'Control' )
- return FCKSelection.GetSelectedElement().parentNode ;
- else
- {
- var oSel = FCK.EditorWindow.getSelection() ;
- if ( oSel )
- {
- var oNode = oSel.anchorNode ;
-
- while ( oNode && oNode.nodeType != 1 )
- oNode = oNode.parentNode ;
-
- return oNode ;
- }
- }
-}
-
-FCKSelection.SelectNode = function( element )
-{
- FCK.Focus() ;
-
- var oRange = FCK.EditorDocument.createRange() ;
- oRange.selectNode( element ) ;
-
- var oSel = FCK.EditorWindow.getSelection() ;
- oSel.removeAllRanges() ;
- oSel.addRange( oRange ) ;
-}
-
-FCKSelection.Collapse = function( toStart )
-{
- var oSel = FCK.EditorWindow.getSelection() ;
-
- if ( toStart == null || toStart === true )
- oSel.collapseToStart() ;
- else
- oSel.collapseToEnd() ;
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.HasAncestorNode = function( nodeTagName )
-{
- var oContainer = this.GetSelectedElement() ;
- if ( ! oContainer && FCK.EditorWindow )
- {
- try { oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ; }
- catch(e){}
- }
-
- while ( oContainer )
- {
- if ( oContainer.nodeType == 1 && oContainer.tagName == nodeTagName ) return true ;
- oContainer = oContainer.parentNode ;
- }
-
- return false ;
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.MoveToAncestorNode = function( nodeTagName )
-{
- var oNode ;
-
- var oContainer = this.GetSelectedElement() ;
- if ( ! oContainer )
- oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ;
-
- while ( oContainer )
- {
- if ( oContainer.tagName == nodeTagName )
- return oContainer ;
- oContainer = oContainer.parentNode ;
- }
- return null ;
-}
-
-FCKSelection.Delete = function()
-{
- // Gets the actual selection.
- var oSel = FCK.EditorWindow.getSelection() ;
-
- // Deletes the actual selection contents.
- for ( var i = 0 ; i < oSel.rangeCount ; i++ )
- {
- oSel.getRangeAt(i).deleteContents() ;
- }
-
- return oSel ;
-}
-
-// START iCM MODIFICATIONS
-/*
-// Move the cursor position (the selection point) to a specific offset within a specific node
-// If no offset specified, the start of the node is assumed
-FCKSelection.SetCursorPosition = function ( oNode, nOffset )
-{
- if ( typeof nOffset == "undefined" ) nOffset = 0 ;
-
- var oSel = FCK.EditorWindow.getSelection() ;
- var oRange = FCK.EditorDocument.createRange() ;
-
- oRange.setStart( oNode, nOffset ) ;
- oRange.collapse( true ) ;
-
- oSel.removeAllRanges() ;
- oSel.addRange( oRange );
-
- if ( oNode.scrollIntoView )
- oNode.scrollIntoView( false );
-}
-*/
-// END iCM MODIFICATIONS
-
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection_ie.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection_ie.js
deleted file mode 100755
index e674fb81e..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckselection_ie.js
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckselection_ie.js
- * Active selection functions. (IE specific implementation)
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Get the selection type.
-FCKSelection.GetType = function()
-{
- return FCK.EditorDocument.selection.type ;
-}
-
-// Retrieves the selected element (if any), just in the case that a single
-// element (object like and image or a table) is selected.
-FCKSelection.GetSelectedElement = function()
-{
- if ( this.GetType() == 'Control' )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
-
- if ( oRange && oRange.item )
- return FCK.EditorDocument.selection.createRange().item(0) ;
- }
-}
-
-FCKSelection.GetParentElement = function()
-{
- switch ( this.GetType() )
- {
- case 'Control' :
- return FCKSelection.GetSelectedElement().parentElement ;
- case 'None' :
- return ;
- default :
- return FCK.EditorDocument.selection.createRange().parentElement() ;
- }
-}
-
-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() ;
-}
-
-// The "nodeTagName" parameter must be Upper Case.
-FCKSelection.HasAncestorNode = function( nodeTagName )
-{
- var oContainer ;
-
- if ( FCK.EditorDocument.selection.type == "Control" )
- {
- oContainer = this.GetSelectedElement() ;
- }
- else
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oContainer = oRange.parentElement() ;
- }
-
- while ( oContainer )
- {
- if ( oContainer.tagName == nodeTagName ) return true ;
- oContainer = oContainer.parentNode ;
- }
-
- return false ;
-}
-
-// The "nodeTagName" parameter must be UPPER CASE.
-FCKSelection.MoveToAncestorNode = function( nodeTagName )
-{
- var oNode ;
-
- if ( FCK.EditorDocument.selection.type == "Control" )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- for ( i = 0 ; i < oRange.length ; i++ )
- {
- if (oRange(i).parentNode)
- {
- oNode = oRange(i).parentNode ;
- break ;
- }
- }
- }
- else
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oNode = oRange.parentElement() ;
- }
-
- while ( oNode && oNode.nodeName != nodeTagName )
- oNode = oNode.parentNode ;
-
- return oNode ;
-}
-
-FCKSelection.Delete = function()
-{
- // Gets the actual selection.
- var oSel = FCK.EditorDocument.selection ;
-
- // Deletes the actual selection contents.
- if ( oSel.type.toLowerCase() != "none" )
- {
- oSel.clear() ;
- }
-
- return oSel ;
-}
-// START iCM Modifications
-/*
-// Move the cursor position (the selection point) to a specific offset within a specific node
-// If no offset specified, the start of the node is assumed
-FCKSelection.SetCursorPosition = function ( oNode, nOffset )
-{
- if ( typeof nOffset == "undefined" ) nOffset = 0 ;
-
- FCK.Selection.SelectNode( oNode ) ; // Doesn't handle offsets currently but offset always zero at mo
- FCK.Selection.Collapse( true ) ;
-
- oNode.scrollIntoView( false );
-}
-*/
-// END iCM Modifications
-
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler.js
deleted file mode 100755
index e3da3a79a..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler.js
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktablehandler.js
- * Manage table operations.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKTableHandler = new Object() ;
-
-FCKTableHandler.InsertRow = function()
-{
- // Get the row where the selection is placed in.
- var oRow = FCKSelection.MoveToAncestorNode("TR") ;
- if ( !oRow ) return ;
-
- // Create a clone of the row.
- var oNewRow = oRow.cloneNode( true ) ;
-
- // Insert the new row (copy) before of it.
- oRow.parentNode.insertBefore( oNewRow, oRow ) ;
-
- // Clean the row (it seems that the new row has been added after it).
- FCKTableHandler.ClearRow( oRow ) ;
-}
-
-FCKTableHandler.DeleteRows = function( row )
-{
- // If no row has been passed as a parameer,
- // then get the row where the selection is placed in.
- if ( !row )
- row = FCKSelection.MoveToAncestorNode("TR") ;
- if ( !row ) return ;
-
- // Get the row's table.
- var oTable = FCKTools.GetElementAscensor( row, 'TABLE' ) ;
-
- // If just one row is available then delete the entire table.
- if ( oTable.rows.length == 1 )
- {
- FCKTableHandler.DeleteTable( oTable ) ;
- return ;
- }
-
- // Delete the row.
- row.parentNode.removeChild( row ) ;
-}
-
-FCKTableHandler.DeleteTable = function( table )
-{
- // If no table has been passed as a parameer,
- // then get the table where the selection is placed in.
- if ( !table )
- {
- var table = FCKSelection.GetSelectedElement() ;
- if ( !table || table.tagName != 'TABLE' )
- table = FCKSelection.MoveToAncestorNode("TABLE") ;
- }
- if ( !table ) return ;
-
- // Delete the table.
- FCKSelection.SelectNode( table ) ;
- FCKSelection.Collapse();
- table.parentNode.removeChild( table ) ;
-}
-
-FCKTableHandler.InsertColumn = function()
-{
- // Get the cell where the selection is placed in.
- var oCell = FCKSelection.MoveToAncestorNode("TD") ;
- if ( !oCell )
- oCell = FCKSelection.MoveToAncestorNode("TH") ;
-
- if ( !oCell ) return ;
-
- // Get the cell's table.
- var oTable = FCKTools.GetElementAscensor( oCell, 'TABLE' ) ;
-
- // Get the index of the column to be created (based on the cell).
- var iIndex = oCell.cellIndex + 1 ;
-
- // Loop throw all rows available in the table.
- for ( var i = 0 ; i < oTable.rows.length ; i++ )
- {
- // Get the row.
- var oRow = oTable.rows[i] ;
-
- // If the row doens't have enought cells, ignore it.
- if ( oRow.cells.length < iIndex )
- continue ;
-
- oCell = oRow.cells[iIndex-1].cloneNode(false) ;
-
- if ( FCKBrowserInfo.IsGecko )
- oCell.innerHTML = FCKBrowserInfo.IsGecko ? GECKO_BOGUS : '' ;
-
- // Get the cell that is placed in the new cell place.
- var oBaseCell = oRow.cells[iIndex] ;
-
- // If the cell is available (we are not in the last cell of the row).
- if ( oBaseCell )
- oRow.insertBefore( oCell, oBaseCell ) ; // Insert the new cell just before of it.
- else
- oRow.appendChild( oCell ) ; // Append the cell at the end of the row.
- }
-}
-
-FCKTableHandler.DeleteColumns = function()
-{
- // Get the cell where the selection is placed in.
- var oCell = FCKSelection.MoveToAncestorNode('TD') || FCKSelection.MoveToAncestorNode('TH') ;
-
- if ( !oCell ) return ;
-
- // Get the cell's table.
- var oTable = FCKTools.GetElementAscensor( oCell, 'TABLE' ) ;
-
- // Get the cell index.
- var iIndex = oCell.cellIndex ;
-
- // Loop throw all rows (from down to up, because it's possible that some
- // rows will be deleted).
- for ( var i = oTable.rows.length - 1 ; i >= 0 ; i-- )
- {
- // Get the row.
- var oRow = oTable.rows[i] ;
-
- // If the cell to be removed is the first one and the row has just one cell.
- if ( iIndex == 0 && oRow.cells.length == 1 )
- {
- // Remove the entire row.
- FCKTableHandler.DeleteRows( oRow ) ;
- continue ;
- }
-
- // If the cell to be removed exists the delete it.
- if ( oRow.cells[iIndex] )
- oRow.removeChild( oRow.cells[iIndex] ) ;
- }
-}
-
-FCKTableHandler.InsertCell = function( cell )
-{
- // Get the cell where the selection is placed in.
- var oCell = cell ? cell : FCKSelection.MoveToAncestorNode("TD") ;
- if ( !oCell ) return ;
-
- // Create the new cell element to be added.
- var oNewCell = FCK.EditorDocument.createElement("TD");
- if ( FCKBrowserInfo.IsGecko )
- oNewCell.innerHTML = GECKO_BOGUS ;
-// oNewCell.innerHTML = " " ;
-
- // If it is the last cell in the row.
- if ( oCell.cellIndex == oCell.parentNode.cells.length - 1 )
- {
- // Add the new cell at the end of the row.
- oCell.parentNode.appendChild( oNewCell ) ;
- }
- else
- {
- // Add the new cell before the next cell (after the active one).
- oCell.parentNode.insertBefore( oNewCell, oCell.nextSibling ) ;
- }
-
- return oNewCell ;
-}
-
-FCKTableHandler.DeleteCell = function( cell )
-{
- // If this is the last cell in the row.
- if ( cell.parentNode.cells.length == 1 )
- {
- // Delete the entire row.
- FCKTableHandler.DeleteRows( FCKTools.GetElementAscensor( cell, 'TR' ) ) ;
- return ;
- }
-
- // Delete the cell from the row.
- cell.parentNode.removeChild( cell ) ;
-}
-
-FCKTableHandler.DeleteCells = function()
-{
- var aCells = FCKTableHandler.GetSelectedCells() ;
-
- for ( var i = aCells.length - 1 ; i >= 0 ; i-- )
- {
- FCKTableHandler.DeleteCell( aCells[i] ) ;
- }
-}
-
-FCKTableHandler.MergeCells = function()
-{
- // Get all selected cells.
- var aCells = FCKTableHandler.GetSelectedCells() ;
-
- // At least 2 cells must be selected.
- if ( aCells.length < 2 )
- return ;
-
- // The merge can occour only if the selected cells are from the same row.
- if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode )
- return ;
-
- // Calculate the new colSpan for the first cell.
- var iColSpan = isNaN( aCells[0].colSpan ) ? 1 : aCells[0].colSpan ;
-
- var sHtml = '' ;
-
- for ( var i = aCells.length - 1 ; i > 0 ; i-- )
- {
- iColSpan += isNaN( aCells[i].colSpan ) ? 1 : aCells[i].colSpan ;
-
- // Append the HTML of each cell.
- sHtml = aCells[i].innerHTML + sHtml ;
-
- // Delete the cell.
- FCKTableHandler.DeleteCell( aCells[i] ) ;
- }
-
- // Set the innerHTML of the remaining cell (the first one).
- aCells[0].colSpan = iColSpan ;
- aCells[0].innerHTML += sHtml ;
-}
-
-FCKTableHandler.SplitCell = function()
-{
- // Check that just one cell is selected, otherwise return.
- var aCells = FCKTableHandler.GetSelectedCells() ;
- if ( aCells.length != 1 )
- return ;
-
- var aMap = this._CreateTableMap( aCells[0].parentNode.parentNode ) ;
- var iCellIndex = FCKTableHandler._GetCellIndexSpan( aMap, aCells[0].parentNode.rowIndex , aCells[0] ) ;
-
- var aCollCells = this._GetCollumnCells( aMap, iCellIndex ) ;
-
- for ( var i = 0 ; i < aCollCells.length ; i++ )
- {
- if ( aCollCells[i] == aCells[0] )
- {
- var oNewCell = this.InsertCell( aCells[0] ) ;
- if ( !isNaN( aCells[0].rowSpan ) && aCells[0].rowSpan > 1 )
- oNewCell.rowSpan = aCells[0].rowSpan ;
- }
- else
- {
- if ( isNaN( aCollCells[i].colSpan ) )
- aCollCells[i].colSpan = 2 ;
- else
- aCollCells[i].colSpan += 1 ;
- }
- }
-}
-
-// Get the cell index from a TableMap.
-FCKTableHandler._GetCellIndexSpan = function( tableMap, rowIndex, cell )
-{
- if ( tableMap.length < rowIndex + 1 )
- return null ;
-
- var oRow = tableMap[ rowIndex ] ;
-
- for ( var c = 0 ; c < oRow.length ; c++ )
- {
- if ( oRow[c] == cell )
- return c ;
- }
-
- return null ;
-}
-
-// Get the cells available in a collumn of a TableMap.
-FCKTableHandler._GetCollumnCells = function( tableMap, collumnIndex )
-{
- var aCollCells = new Array() ;
-
- for ( var r = 0 ; r < tableMap.length ; r++ )
- {
- var oCell = tableMap[r][collumnIndex] ;
- if ( oCell && ( aCollCells.length == 0 || aCollCells[ aCollCells.length - 1 ] != oCell ) )
- aCollCells[ aCollCells.length ] = oCell ;
- }
-
- return aCollCells ;
-}
-
-// This function is quite hard to explain. It creates a matrix representing all cells in a table.
-// The difference here is that the "spanned" cells (colSpan and rowSpan) are duplicated on the matrix
-// cells that are "spanned". For example, a row with 3 cells where the second cell has colSpan=2 and rowSpan=3
-// will produce a bi-dimensional matrix with the following values (representing the cells):
-// Cell1, Cell2, Cell2, Cell 3
-// Cell4, Cell2, Cell2, Cell 5
-FCKTableHandler._CreateTableMap = function( table )
-{
- var aRows = table.rows ;
-
- // Row and Collumn counters.
- var r = -1 ;
-
- var aMap = new Array() ;
-
- for ( var i = 0 ; i < aRows.length ; i++ )
- {
- r++ ;
- if ( !aMap[r] )
- aMap[r] = new Array() ;
-
- var c = -1 ;
-
- for ( var j = 0 ; j < aRows[i].cells.length ; j++ )
- {
- var oCell = aRows[i].cells[j] ;
-
- c++ ;
- while ( aMap[r][c] )
- c++ ;
-
- var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan ;
- var iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan ;
-
- for ( var rs = 0 ; rs < iRowSpan ; rs++ )
- {
- if ( !aMap[r + rs] )
- aMap[r + rs] = new Array() ;
-
- for ( var cs = 0 ; cs < iColSpan ; cs++ )
- {
- aMap[r + rs][c + cs] = aRows[i].cells[j] ;
- }
- }
-
- c += iColSpan - 1 ;
- }
- }
- return aMap ;
-}
-
-FCKTableHandler.ClearRow = function( tr )
-{
- // Get the array of row's cells.
- var aCells = tr.cells ;
-
- // Replace the contents of each cell with "nothing".
- for ( var i = 0 ; i < aCells.length ; i++ )
- {
- if ( FCKBrowserInfo.IsGecko )
- aCells[i].innerHTML = GECKO_BOGUS ;
- else
- aCells[i].innerHTML = '' ;
- }
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler_gecko.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler_gecko.js
deleted file mode 100755
index 398deb37d..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler_gecko.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktablehandler_gecko.js
- * Manage table operations (IE specific).
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKTableHandler.GetSelectedCells = function()
-{
- var aCells = new Array() ;
-
- var oSelection = FCK.EditorWindow.getSelection() ;
-
- // If the selection is a text.
- if ( oSelection.rangeCount == 1 && oSelection.anchorNode.nodeType == 3 )
- {
- var oParent = FCKTools.GetElementAscensor( oSelection.anchorNode, 'TD' ) ;
-
- if ( oParent )
- {
- aCells[0] = oParent ;
- return aCells ;
- }
- }
-
- for ( var i = 0 ; i < oSelection.rangeCount ; i++ )
- {
- var oRange = oSelection.getRangeAt(i) ;
- var oCell = oRange.startContainer.childNodes[ oRange.startOffset ] ;
-
- if ( oCell.tagName == 'TD' )
- aCells[aCells.length] = oCell ;
- }
-
- return aCells ;
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler_ie.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler_ie.js
deleted file mode 100755
index 779dc80d3..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktablehandler_ie.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktablehandler_ie.js
- * Manage table operations (IE specific).
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-FCKTableHandler.GetSelectedCells = function()
-{
- var aCells = new Array() ;
-
- var oRange = FCK.EditorDocument.selection.createRange() ;
-// var oParent = oRange.parentElement() ;
- var oParent = FCKSelection.GetParentElement() ;
-
- if ( oParent && oParent.tagName == "TD" )
- aCells[0] = oParent ;
- else
- {
- var oParent = FCKSelection.MoveToAncestorNode( "TABLE" ) ;
-
- if ( oParent )
- {
- // Loops throw all cells checking if the cell is, or part of it, is inside the selection
- // and then add it to the selected cells collection.
- for ( var i = 0 ; i < oParent.cells.length ; i++ )
- {
- var oCellRange = FCK.EditorDocument.selection.createRange() ;
- oCellRange.moveToElementText( oParent.cells[i] ) ;
-
- if ( oRange.inRange( oCellRange )
- || ( oRange.compareEndPoints('StartToStart',oCellRange) >= 0 && oRange.compareEndPoints('StartToEnd',oCellRange) <= 0 )
- || ( oRange.compareEndPoints('EndToStart',oCellRange) >= 0 && oRange.compareEndPoints('EndToEnd',oCellRange) <= 0 ) )
- {
- aCells[aCells.length] = oParent.cells[i] ;
- }
- }
- }
- }
-
- return aCells ;
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktoolbaritems.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktoolbaritems.js
deleted file mode 100755
index 17f815a33..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktoolbaritems.js
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktoolbaritems.js
- * Toolbar items definitions.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarItems = new Object() ;
-FCKToolbarItems.LoadedItems = new Object() ;
-
-FCKToolbarItems.RegisterItem = function( itemName, item )
-{
- this.LoadedItems[ itemName ] = item ;
-}
-
-FCKToolbarItems.GetItem = function( itemName )
-{
- var oItem = FCKToolbarItems.LoadedItems[ itemName ] ;
-
- if ( oItem )
- return oItem ;
-
- switch ( itemName )
- {
- 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 ;
- case 'About' : oItem = new FCKToolbarButton( 'About' , FCKLang.About, null, null, true ) ; break ;
-
- case 'Cut' : oItem = new FCKToolbarButton( 'Cut' , FCKLang.Cut, null, null, false, true ) ; break ;
- case 'Copy' : oItem = new FCKToolbarButton( 'Copy' , FCKLang.Copy, null, null, false, true ) ; break ;
- 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, 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 ;
- case 'SelectAll' : oItem = new FCKToolbarButton( 'SelectAll' , FCKLang.SelectAll ) ; break ;
- case 'RemoveFormat' : oItem = new FCKToolbarButton( 'RemoveFormat', FCKLang.RemoveFormat, null, null, false, true ) ; break ;
-
- case 'Bold' : oItem = new FCKToolbarButton( 'Bold' , FCKLang.Bold, null, null, false, true ) ; break ;
- case 'Italic' : oItem = new FCKToolbarButton( 'Italic' , FCKLang.Italic, null, null, false, true ) ; break ;
- case 'Underline' : oItem = new FCKToolbarButton( 'Underline' , FCKLang.Underline, null, null, false, true ) ; break ;
- case 'StrikeThrough' : oItem = new FCKToolbarButton( 'StrikeThrough' , FCKLang.StrikeThrough, null, null, false, true ) ; break ;
- case 'Subscript' : oItem = new FCKToolbarButton( 'Subscript' , FCKLang.Subscript, null, null, false, true ) ; break ;
- case 'Superscript' : oItem = new FCKToolbarButton( 'Superscript' , FCKLang.Superscript, null, null, false, true ) ; break ;
-
- case 'OrderedList' : oItem = new FCKToolbarButton( 'InsertOrderedList' , FCKLang.NumberedListLbl, FCKLang.NumberedList, null, false, true ) ; break ;
- case 'UnorderedList' : oItem = new FCKToolbarButton( 'InsertUnorderedList' , FCKLang.BulletedListLbl, FCKLang.BulletedList, null, false, true ) ; break ;
- case 'Outdent' : oItem = new FCKToolbarButton( 'Outdent' , FCKLang.DecreaseIndent, null, null, false, true ) ; break ;
- case 'Indent' : oItem = new FCKToolbarButton( 'Indent' , FCKLang.IncreaseIndent, null, null, false, true ) ; break ;
-
- case 'Link' : oItem = new FCKToolbarButton( 'Link' , FCKLang.InsertLinkLbl, FCKLang.InsertLink, null, false, true ) ; break ;
- case 'Unlink' : oItem = new FCKToolbarButton( 'Unlink' , FCKLang.RemoveLink, null, null, false, true ) ; break ;
- 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 'PageBreak' : oItem = new FCKToolbarButton( 'PageBreak' , FCKLang.PageBreakLbl, FCKLang.PageBreak ) ; break ;
- case 'UniversalKey' : oItem = new FCKToolbarButton( 'UniversalKey' , FCKLang.UniversalKeyboard ) ; 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 ;
- case 'JustifyRight' : oItem = new FCKToolbarButton( 'JustifyRight' , FCKLang.RightJustify, null, null, false, true ) ; break ;
- case 'JustifyFull' : oItem = new FCKToolbarButton( 'JustifyFull' , FCKLang.BlockJustify, null, null, false, true ) ; break ;
-
- case 'Style' : oItem = new FCKToolbarStyleCombo() ; break ;
- case 'FontName' : oItem = new FCKToolbarFontsCombo() ; break ;
- case 'FontSize' : oItem = new FCKToolbarFontSizeCombo() ; break ;
- case 'FontFormat' : oItem = new FCKToolbarFontFormatCombo() ; break ;
-
- case 'TextColor' : oItem = new FCKToolbarPanelButton( 'TextColor', FCKLang.TextColor ) ; break ;
- case 'BGColor' : oItem = new FCKToolbarPanelButton( 'BGColor' , FCKLang.BGColor ) ; break ;
-
- case 'Find' : oItem = new FCKToolbarButton( 'Find' , FCKLang.Find ) ; break ;
- case 'Replace' : oItem = new FCKToolbarButton( 'Replace' , FCKLang.Replace ) ; break ;
-
- case 'Form' : oItem = new FCKToolbarButton( 'Form' , FCKLang.Form ) ; break ;
- case 'Checkbox' : oItem = new FCKToolbarButton( 'Checkbox' , FCKLang.Checkbox ) ; break ;
- case 'Radio' : oItem = new FCKToolbarButton( 'Radio' , FCKLang.RadioButton ) ; break ;
- case 'TextField' : oItem = new FCKToolbarButton( 'TextField' , FCKLang.TextField ) ; break ;
- case 'Textarea' : oItem = new FCKToolbarButton( 'Textarea' , FCKLang.Textarea ) ; break ;
- case 'HiddenField' : oItem = new FCKToolbarButton( 'HiddenField' , FCKLang.HiddenField ) ; break ;
- case 'Button' : oItem = new FCKToolbarButton( 'Button' , FCKLang.Button ) ; break ;
- case 'Select' : oItem = new FCKToolbarButton( 'Select' , FCKLang.SelectionField ) ; break ;
- case 'ImageButton' : oItem = new FCKToolbarButton( 'ImageButton' , FCKLang.ImageButton ) ; break ;
-
- default:
- alert( FCKLang.UnknownToolbarItem.replace( /%1/g, itemName ) ) ;
- return null ;
- }
-
- // to enable the toolbar switch, we have to stop to cache the toolbar items
- // Please note, that we still need FCKToolbarItems.LoadedItems, to register
- // plug in buttons there. But be aware, that plug in buttons can not be
- // shared between different Toolbars!!! It will be better, to think about
- // a button factory register instead of this.
-// FCKToolbarItems.LoadedItems[ itemName ] = oItem ;
-
- return oItem ;
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktoolbarset.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktoolbarset.js
deleted file mode 100755
index 310978f1c..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktoolbarset.js
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktoolbarset.js
- * Defines the FCKToolbarSet object that is used to load and draw the
- * toolbar.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKToolbarSet = FCK.ToolbarSet = new Object() ;
-
-// A map of toolbar sets, key is the name, value is the state of the toolbar set.
-// It is used to save and restore states, when the toolbars are switched.
-FCKToolbarSet.LoadedSets = new Object();
-
-
-document.getElementById( 'ExpandHandle' ).title = FCKLang.ToolbarExpand ;
-document.getElementById( 'CollapseHandle' ).title = FCKLang.ToolbarCollapse ;
-
-FCKToolbarSet.Toolbars = new Array() ;
-
-// Array of toolbat items that are active only on WYSIWYG mode.
-FCKToolbarSet.ItemsWysiwygOnly = new Array() ;
-
-// Array of toolbar items that are sensitive to the cursor position.
-FCKToolbarSet.ItemsContextSensitive = new Array() ;
-
-FCKToolbarSet.Expand = function()
-{
- document.getElementById( 'Collapsed' ).style.display = 'none' ;
- document.getElementById( 'Expanded' ).style.display = '' ;
-
- if ( ! FCKBrowserInfo.IsIE )
- {
- // I had to use "setTimeout" because Gecko was not responding in a right
- // way when calling window.onresize() directly.
- window.setTimeout( "window.onresize()", 1 ) ;
- }
-}
-
-FCKToolbarSet.Collapse = function()
-{
- document.getElementById( 'Collapsed' ).style.display = '' ;
- document.getElementById( 'Expanded' ).style.display = 'none' ;
-
- if ( ! FCKBrowserInfo.IsIE )
- {
- // I had to use "setTimeout" because Gecko was not responding in a right
- // way when calling window.onresize() directly.
- window.setTimeout( "window.onresize()", 1 ) ;
- }
-}
-
-FCKToolbarSet.Restart = function()
-{
- if ( !FCKConfig.ToolbarCanCollapse || FCKConfig.ToolbarStartExpanded )
- this.Expand() ;
- else
- this.Collapse() ;
-
- document.getElementById( 'CollapseHandle' ).style.display = FCKConfig.ToolbarCanCollapse ? '' : 'none' ;
-}
-
-FCKToolbarSet.Load = function( toolbarSetName )
-{
- this.DOMElement = document.getElementById( 'eToolbar' ) ;
-
- // first, save the current state, if any
- this.SaveCurrentState();
- // try to restore a saved state (if it has been already loaded)
- if (this.RestoreState(toolbarSetName)) {
- // the toolbar set is completely restored...
- return;
- }
- // we have to create a new toolbar set
- this.ToolbarSetName = toolbarSetName;
- this.ItemsWysiwygOnly = new Array();
- this.ItemsContextSensitive = new Array() ;
-
- var ToolbarSet = FCKConfig.ToolbarSets[toolbarSetName] ;
-
- if (! ToolbarSet)
- {
- alert( FCKLang.UnknownToolbarSet.replace( /%1/g, toolbarSetName ) ) ;
- return ;
- }
-
- this.Toolbars = new Array() ;
-
- for ( var x = 0 ; x < ToolbarSet.length ; x++ )
- {
- var oToolbarItems = ToolbarSet[x] ;
-
- var oToolbar ;
-
- if ( typeof( oToolbarItems ) == 'string' )
- {
- if ( oToolbarItems == '/' )
- oToolbar = new FCKToolbarBreak() ;
- }
- else
- {
- oToolbar = new FCKToolbar() ;
-
- for ( var j = 0 ; j < oToolbarItems.length ; j++ )
- {
- var sItem = oToolbarItems[j] ;
-
- if ( sItem == '-')
- oToolbar.AddSeparator() ;
- else
- {
- var oItem = FCKToolbarItems.GetItem( sItem ) ;
- if ( oItem )
- {
- oToolbar.AddItem( oItem ) ;
-
- if ( !oItem.SourceView )
- this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length] = oItem ;
-
- if ( oItem.ContextSensitive )
- this.ItemsContextSensitive[this.ItemsContextSensitive.length] = oItem ;
- }
- }
- }
-
- oToolbar.AddTerminator() ;
- }
-
- this.Toolbars[ this.Toolbars.length ] = oToolbar ;
- }
- FCKToolbarSet.EnableItems();
-}
-
-FCKToolbarSet.RefreshModeState = function()
-{
- if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
- {
- // Enable all buttons that are available on WYSIWYG mode only.
- for ( var i = 0 ; i < FCKToolbarSet.ItemsWysiwygOnly.length ; i++ )
- FCKToolbarSet.ItemsWysiwygOnly[i].Enable() ;
-
- // Refresh the buttons state.
- FCKToolbarSet.RefreshItemsState() ;
- }
- else
- {
- // Refresh the buttons state.
- FCKToolbarSet.RefreshItemsState() ;
-
- // Disable all buttons that are available on WYSIWYG mode only.
- for ( var i = 0 ; i < FCKToolbarSet.ItemsWysiwygOnly.length ; i++ )
- FCKToolbarSet.ItemsWysiwygOnly[i].Disable() ;
- }
-}
-
-FCKToolbarSet.RefreshItemsState = function()
-{
-
- for ( var i = 0 ; i < FCKToolbarSet.ItemsContextSensitive.length ; i++ )
- FCKToolbarSet.ItemsContextSensitive[i].RefreshState() ;
-/*
- TODO: Delete this commented block on stable version.
- for ( var i = 0 ; i < FCKToolbarSet.Toolbars.length ; i++ )
- {
- var oToolbar = FCKToolbarSet.Toolbars[i] ;
- for ( var j = 0 ; j < oToolbar.Items.length ; j++ )
- {
- oToolbar.Items[j].RefreshState() ;
- }
- }
-*/
-}
-
-// Saves the current toolbar set (if any)
-FCKToolbarSet.SaveCurrentState = function()
-{
- // Do we have a current toolbar?
- if (this.ToolbarSetName) {
- FCKToolbarSet.DisableItems();
- if (!this.LoadedSets[this.ToolbarSetName]) {
- // Save some toolbar set properties, this can be done only once..
- this.LoadedSets[this.ToolbarSetName] = new Object();
- this.LoadedSets[this.ToolbarSetName].Toolbars = this.Toolbars;
- this.LoadedSets[this.ToolbarSetName].ItemsWysiwygOnly = this.ItemsWysiwygOnly;
- this.LoadedSets[this.ToolbarSetName].ItemsContextSensitive = this.ItemsContextSensitive;
- }
- // move all its elements to a hidden div.
- var oHiddenToolbarsDiv = document.getElementById('hiddenToolbars_' + this.ToolbarSetName);
- if (!oHiddenToolbarsDiv) {
- // create a hidden div with the name of the toolbarset..
- oHiddenToolbarsDiv = document.createElement('DIV');
- oHiddenToolbarsDiv.id = 'hiddenToolbars_' + this.ToolbarSetName;
- // NOTE: We need a hidden div, because some elements should be deinitialized, when the editor is unloaded.
- var oHiddenDiv = document.getElementById('hiddenDiv');
- if (!oHiddenDiv) {
- oHiddenDiv = document.createElement('DIV');
- oHiddenDiv.style.display = 'none';
- oHiddenDiv.style.visibility = 'hidden';
- oHiddenDiv.id = 'hiddenDiv';
- document.body.appendChild(oHiddenDiv);
- }
- oHiddenDiv.appendChild(oHiddenToolbarsDiv);
- }
- var f = true;
- var e = this.DOMElement.firstChild;
- while (e) {
- var oElementToMove = e;
- e = e.nextSibling;
- this.DOMElement.removeChild(oElementToMove);
- oHiddenToolbarsDiv.appendChild(oElementToMove);
- }
- }
-}
-
-// Try to restore one (if it has been already saved),
-// returns true, if the restoration was succesfull else and false
-FCKToolbarSet.RestoreState = function( toolbarSetName )
-{
- // Do we have a saved state?
- if (this.LoadedSets[toolbarSetName]) {
- this.ToolbarSetName = toolbarSetName;
- // than simply restore it'state
- this.Toolbars = this.LoadedSets[toolbarSetName].Toolbars;
- this.ItemsWysiwygOnly = this.LoadedSets[toolbarSetName].ItemsWysiwygOnly;
- this.ItemsContextSensitive = this.LoadedSets[toolbarSetName].ItemsContextSensitive;
- //
- var oHiddenToolbarsDiv = document.getElementById('hiddenToolbars_' + toolbarSetName);
- var e = oHiddenToolbarsDiv.firstChild;
- while (e) {
- var oElementToMove = e;
- e = e.nextSibling;
-// oHiddenToolbarsDiv.removeChild(oElementToMove);
- this.DOMElement.appendChild(oElementToMove);
- }
- // refresh its state...
- FCKToolbarSet.EnableItems();
- FCKToolbarSet.Restart();
- // that's all
- return true;
- }
-
- return false;
-}
-
-FCKToolbarSet.EnableItems = function()
-{
- FCK.Focus();
- window.setTimeout('FCKToolbarSet.DoEnableItems();', 100);
-}
-
-FCKToolbarSet.DoEnableItems = function()
-{
- for ( var i = 0 ; i < FCKToolbarSet.Toolbars.length ; i++ )
- {
- var oToolbar = FCKToolbarSet.Toolbars[i] ;
- if (oToolbar && oToolbar.Items) {
- for ( var j = 0 ; j < oToolbar.Items.length ; j++ )
- {
- oToolbar.Items[j].RefreshState() ;
- }
- }
- }
-
-}
-FCKToolbarSet.DisableItems = function()
-{
- for ( var i = 0 ; i < FCKToolbarSet.Toolbars.length ; i++ )
- {
- var oToolbar = FCKToolbarSet.Toolbars[i] ;
- if (oToolbar && oToolbar.Items) {
- for ( var j = 0 ; j < oToolbar.Items.length ; j++ )
- {
- if (oToolbar.Items[j].Disable) {
- oToolbar.Items[j].Disable() ;
- }
- }
- }
- }
-
-}
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools.js
deleted file mode 100755
index 9c5310b41..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools.js
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktools.js
- * Utility functions.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKTools = new Object() ;
-
-//**
-// FCKTools.GetLinkedFieldValue: Gets the value of the hidden INPUT element
-// that is associated to the editor. This element has its ID set to the
-// editor's instance name so the user reffers to the instance name when getting
-// the posted data.
-FCKTools.GetLinkedFieldValue = function()
-{
- return FCK.LinkedField.value ;
-}
-
-//**
-// FCKTools.AttachToLinkedFieldFormSubmit: attaches a function call to the
-// submit event of the linked field form. This function us generally used to
-// update the linked field value before submitting the form.
-FCKTools.AttachToLinkedFieldFormSubmit = function( functionPointer )
-{
- // Gets the linked field form
- var oForm = FCK.LinkedField.form ;
-
- // Return now if no form is available
- if (!oForm) return ;
-
- // Attaches the functionPointer call to the onsubmit event
- if ( FCKBrowserInfo.IsIE )
- oForm.attachEvent( "onsubmit", functionPointer ) ;
- else
- oForm.addEventListener( 'submit', functionPointer, true ) ;
-
- //**
- // Attaches the functionPointer call to the submit method
- // This is done because IE doesn't fire onsubmit when the submit method is called
- // BEGIN --
-
- // 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() ;
-
- // Adds the function pointer to the array of functions to call when "submit" is called
- 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
- // IE sees it oForm.submit function as an 'object'.
- if (! oForm.originalSubmit && ( typeof( oForm.submit ) == 'function' || ( !oForm.submit.tagName && !oForm.submit.length ) ) )
- {
- // Creates a copy of the original submit
- oForm.originalSubmit = oForm.submit ;
-
- // Creates our replacement for the submit
- oForm.submit = FCKTools_SubmitReplacer ;
- }
- // END --
-}
-
-function FCKTools_SubmitReplacer()
-{
- if (this.updateFCKeditor)
- {
- // Calls all functions in the functions array
- for (var i = 0 ; i < this.updateFCKeditor.length ; i++)
- this.updateFCKeditor[i]() ;
- }
- // Calls the original "submit"
- this.originalSubmit() ;
-}
-
-//**
-// FCKTools.AddSelectOption: Adds a option to a SELECT element.
-FCKTools.AddSelectOption = function( targetDocument, selectElement, optionText, optionValue )
-{
- var oOption = targetDocument.createElement("OPTION") ;
-
- oOption.text = optionText ;
- oOption.value = optionValue ;
-
- selectElement.options.add(oOption) ;
-
- return oOption ;
-}
-/*
-FCKTools.RemoveAllSelectOptions = function( selectElement )
-{
- for ( var i = selectElement.options.length - 1 ; i >= 0 ; i-- )
- {
- selectElement.options.remove(i) ;
- }
-}
-
-FCKTools.SelectNoCase = function( selectElement, value, defaultValue )
-{
- var sNoCaseValue = value.toString().toLowerCase() ;
-
- for ( var i = 0 ; i < selectElement.options.length ; i++ )
- {
- if ( sNoCaseValue == selectElement.options[i].value.toLowerCase() )
- {
- selectElement.selectedIndex = i ;
- return ;
- }
- }
-
- if ( defaultValue != null ) FCKTools.SelectNoCase( selectElement, defaultValue ) ;
-}
-*/
-FCKTools.HTMLEncode = function( text )
-{
- if ( !text )
- return '' ;
-
- text = text.replace( /&/g, "&" ) ;
- text = text.replace( /"/g, """ ) ;
- text = text.replace( //g, ">" ) ;
- text = text.replace( /'/g, "'" ) ;
-
- return text ;
-}
-/*
-//**
-// FCKTools.GetResultingArray: Gets a array from a string (where the elements
-// are separated by a character), a fuction (that returns a array) or a array.
-FCKTools.GetResultingArray = function( arraySource, separator )
-{
- switch ( typeof( arraySource ) )
- {
- case "string" :
- return arraySource.split( separator ) ;
- case "function" :
- return separator() ;
- default :
- if ( isArray( arraySource ) ) return arraySource ;
- else return new Array() ;
- }
-}
-*/
-FCKTools.GetElementPosition = function( el, relativeWindow )
-{
-// Initializes the Coordinates object that will be returned by the function.
- var c = { X:0, Y:0 } ;
-
- var oWindow = relativeWindow || window ;
-
- // Loop throw the offset chain.
- while ( el )
- {
- c.X += el.offsetLeft ;
- c.Y += el.offsetTop ;
-
- if ( el.offsetParent == null )
- {
- var oOwnerWindow = FCKTools.GetElementWindow( el ) ;
-
- if ( oOwnerWindow != oWindow )
- el = oOwnerWindow.frameElement ;
- else
- break ;
- }
- else
- el = el.offsetParent ;
- }
-
- // Return the Coordinates object
- return c ;
-}
-
-// START iCM MODIFICATIONS
-// Amended to accept a list of one or more ascensor tag names
-// Amended to check the element itself before working back up through the parent hierarchy
-FCKTools.GetElementAscensor = function( element, ascensorTagNames )
-{
-// var e = element.parentNode ;
- var e = element ;
- var lstTags = "," + ascensorTagNames.toUpperCase() + "," ;
-
- while ( e )
- {
- if ( lstTags.indexOf( "," + e.nodeName.toUpperCase() + "," ) != -1 )
- return e ;
-
- e = e.parentNode ;
- }
- return null ;
-}
-// END iCM MODIFICATIONS
-
-FCKTools.Pause = function( miliseconds )
-{
- var oStart = new Date() ;
-
- while (true)
- {
- var oNow = new Date() ;
- if ( miliseconds < oNow - oStart )
- return ;
- }
-}
-
-FCKTools.ConvertStyleSizeToHtml = function( size )
-{
- return size.endsWith( '%' ) ? size : parseInt( size ) ;
-}
-
-FCKTools.ConvertHtmlSizeToStyle = function( size )
-{
- return size.endsWith( '%' ) ? size : ( size + 'px' ) ;
-}
-
-// Get the window object where the element is placed in.
-FCKTools.GetElementWindow = function( element )
-{
- var oDocument = element.ownerDocument || element.document ;
-
- // With Safari, there is not way to retrieve the window from the document, so we must fix it.
- if ( FCKBrowserInfo.IsSafari && !oDocument.parentWindow )
- FCKTools._FixDocumentParentWindow( window.top ) ;
-
- return oDocument.parentWindow || oDocument.defaultView ;
-}
-
-/*
- This is a Safari specific function that fix the reference to the parent
- window from the document object.
-*/
-FCKTools._FixDocumentParentWindow = function( targetWindow )
-{
- targetWindow.document.parentWindow = targetWindow ;
-
- for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
- FCKTools._FixDocumentParentWindow( targetWindow.frames[i] ) ;
-}
-
-FCKTools.CancelEvent = function( e )
-{
- return false ;
-}
-
-// START iCM MODIFICATIONS
-/*
-// Transfers the supplied attributes to the supplied node
-FCKTools.SetElementAttributes = function( oElement, oAttributes )
-{
- for ( var i = 0; i < oAttributes.length; i++ )
- {
- if ( oAttributes[i].specified ) // Needed for IE which always returns all attributes whether set or not
- oElement.setAttribute( oAttributes[i].nodeName, oAttributes[i].nodeValue, 0 ) ;
- }
-}
-
-// Get immediate block node (P, H1, for example) for the supplied node - the supplied node may itself be a block node in which
-// case it will be returned. If no block node found, returns null.
-FCKTools.GetParentBlockNode = function( oNode )
-{
- if ( oNode.nodeName.toUpperCase() == "BODY" )
- return null ;
- else if ( oNode.nodeType == 1 && FCKRegexLib.BlockElements.test(oNode.tagName) )
- return oNode ;
- else
- return FCKTools.GetParentBlockNode( oNode.parentNode ) ;
-}
-
-// Run through any children of the supplied node. If there are none, or they only comprise
-// empty text nodes and BR nodes, then the node is effectively empty.
-// Sometimes (on Gecko) a seemingly empty node is coming back with several children that are solely
-// empty text nodes and BRs e.g. the first item in an OL list, for example, when
-// UseBROnCarriageReturn is set to false.
-// Seems to be due to the use of the
(GECKO_BOGUS) as fillers both
-// in fck_gecko_1.js when html is empty and in ENTER key handler ? If normal BR tags are
-// used instead this doesn't seem to happen....
-FCKTools.NodeIsEmpty = function( oNode )
-{
- var oSibling = oNode.childNodes[0] ;
- while ( oSibling )
- {
- if ( ( oSibling.nodeType != 1 && oSibling.nodeType != 3 ) || ( oSibling.nodeType == 1 && oSibling.nodeName.toUpperCase() != "BR" ) || ( oSibling.nodeType == 3 && oSibling.nodeValue && oSibling.nodeValue.trim() != '' ) )
- return false ;
-
- oSibling = oSibling.nextSibling ;
- }
-
- return true ;
-}
-
-// Returns a document fragment that contains a copy of the specified range of nodes
-FCKTools.GetDocumentFragment = function( oParentNode, oFromNode, oToNode, bIncludeFromNode, bIncludeToNode, bClone )
-{
- if ( typeof bIncludeFromNode == "undefined" ) bIncludeFromNode = true ;
- if ( typeof bIncludeToNode == "undefined" ) bIncludeToNode = true ;
- if ( typeof bClone == "undefined" ) bClone = true ;
-
- var oFragment = FCK.EditorDocument.createDocumentFragment() ;
-
- var oNode = oFromNode ;
- while ( oNode && oNode != oToNode )
- {
- if ( oNode != oFromNode || bIncludeFromNode )
- oFragment.appendChild( bClone ? oNode.cloneNode( true ) : oNode ) ;
-
- oNode = oNode.nextSibling ;
- }
-
- if ( oNode && (oFromNode != oToNode && bIncludeToNode) )
- oFragment.appendChild( bClone ? oNode.cloneNode( true ) : oNode ) ; // Include To Node
-
- return oFragment ;
-}
-*/
-// END iCM MODIFICATIONS
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools_gecko.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools_gecko.js
deleted file mode 100755
index 9015418c7..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools_gecko.js
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktools_gecko.js
- * Utility functions. (Gecko version).
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Constant for the Gecko Bogus Node.
-var GECKO_BOGUS = '
' ;
-
-// Appends a CSS file to a document.
-FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
-{
- var e = documentElement.createElement( 'LINK' ) ;
- e.rel = 'stylesheet' ;
- e.type = 'text/css' ;
- e.href = cssFileUrl ;
- documentElement.getElementsByTagName("HEAD")[0].appendChild( e ) ;
- return e ;
-}
-
-// Removes all attributes and values from the element.
-FCKTools.ClearElementAttributes = function( element )
-{
- // Loop throw all attributes in the element
- for ( var i = 0 ; i < element.attributes.length ; i++ )
- {
- // Remove the element by name.
- element.removeAttribute( element.attributes[i].name, 0 ) ; // 0 : Case Insensitive
- }
-}
-
-// Returns an Array of strings with all defined in the elements inside another element.
-FCKTools.GetAllChildrenIds = function( parentElement )
-{
- // Create the array that will hold all Ids.
- var aIds = new Array() ;
-
- // Define a recursive function that search for the Ids.
- var fGetIds = function( parent )
- {
- for ( var i = 0 ; i < parent.childNodes.length ; i++ )
- {
- var sId = parent.childNodes[i].id ;
-
- // Check if the Id is defined for the element.
- if ( sId && sId.length > 0 ) aIds[ aIds.length ] = sId ;
-
- // Recursive call.
- fGetIds( parent.childNodes[i] ) ;
- }
- }
-
- // Start the recursive calls.
- fGetIds( parentElement ) ;
-
- return aIds ;
-}
-
-FCKTools.RemoveOuterTags = function( e )
-{
- var oFragment = e.ownerDocument.createDocumentFragment() ;
-
- for ( var i = 0 ; i < e.childNodes.length ; i++ )
- oFragment.appendChild( e.childNodes[i] ) ;
-
- e.parentNode.replaceChild( oFragment, e ) ;
-}
-
-FCKTools.CreateXmlObject = function( object )
-{
- switch ( object )
- {
- case 'XmlHttp' :
- return new XMLHttpRequest() ;
- case 'DOMDocument' :
- return document.implementation.createDocument( '', '', null ) ;
- }
- return null ;
-}
-
-FCKTools.DisableSelection = function( element )
-{
- element.style.MozUserSelect = 'none' ; // Gecko only.
- // element.style.userSelect = 'none' ; // CSS3 (not supported yet).
-}
-
-// START iCM Modifications
-/*
-// Starting at the specified node, find the first inline node of the sequence
-// For example, assume we have the following elements : Some text some more text and some link yet some more text
-// If the "some link" text node is the one specified, then the "Some text" text node will be the first inline node returned.
-FCKTools.GetFirstInlineNode = function( oNode )
-{
- if ( FCKRegexLib.BlockElements.test( oNode.nodeName ) )
- return oNode ;
- else if ( oNode.previousSibling && !FCKRegexLib.BlockElements.test( oNode.previousSibling.nodeName ) )
- return FCKTools.GetFirstInlineNode( oNode.previousSibling ) ;
- else if ( oNode.parentNode && !FCKRegexLib.BlockElements.test( oNode.parentNode.nodeName ) && oNode.parentNode.nodeName.toUpperCase() != "BODY" )
- return FCKTools.GetFirstInlineNode( oNode.parentNode ) ;
- else
- return oNode ;
-}
-
-// Starting at the specified node, find the last inline node of the sequence
-// For example, assume we have the following elements : Some text some more text and some link yet some more text
-// If the "some link" text node is the one specified, then the " yet some more text" text node will be the last inline node returned.
-FCKTools.GetLastInlineNode = function( oNode )
-{
- if ( FCKRegexLib.BlockElements.test( oNode.nodeName ) )
- return oNode ;
- else if ( oNode.nextSibling && !FCKRegexLib.BlockElements.test( oNode.nextSibling.nodeName ) )
- return FCKTools.GetLastInlineNode( oNode.nextSibling ) ;
- else if ( oNode.parentNode && !FCKRegexLib.BlockElements.test( oNode.parentNode.nodeName ) && oNode.parentNode.nodeName.toUpperCase() != "BODY" )
- return FCKTools.GetLastInlineNode( oNode.parentNode ) ;
- else
- return oNode ;
-}
-
-
-// Split the supplied parent at the specified child and (optionally) offset.
-// Ensure that enclosing block elements are created where missing but that existing
-// block elements (table for example) don't get incorrectly nested.
-FCKTools.SplitNode = function( oParentBlockNode, oChildNode, nOffset )
-{
- if ( typeof nOffset == "undefined" ) nOffset = 0 ;
-
- var oFragment = FCK.EditorDocument.createDocumentFragment() ;
- var oRange = FCK.EditorDocument.createRange() ;
-
- if ( FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
- {
- // Treat OL/UL parents differently as want to split at the specified
- // child LI node to create to OL/UL lists.
- oStartNode = oParentBlockNode.firstChild ;
- oEndNode = oParentBlockNode.lastChild ;
- }
- else
- {
- // Locate the inline nodes adjacent to the specified child node so that these can
- // be kept together.
- oStartNode = FCKTools.GetFirstInlineNode( oChildNode ) ;
- oEndNode = FCKTools.GetLastInlineNode( oChildNode ) ;
- }
-
- // Create a new tag which holds the content of the affected node(s) located before (but not including) the child node and offset
- if ( FCKRegexLib.BlockElements.test( oStartNode.nodeName ) && !FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
- {
- // First element of the bunch is already a block element so we don't want to wrap it with a new block element.
- // Just use this first node provided it is not the same as the last node (to prevent duplication), otherwise
- // create a new empty P element.
- if ( oStartNode != oEndNode )
- {
- oBlockNode1 = oStartNode.cloneNode( true ) ;
- }
- else
- {
- oBlockNode1 = FCK.EditorDocument.createElement( "P" ) ;
- oBlockNode1.innerHTML = GECKO_BOGUS ;
-
- if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
- FCKTools.SetElementAttributes( oBlockNode1, oParentBlockNode.attributes ) ; // Transfer across any class attributes, etc
- }
- }
- else
- {
- // First element of the bunch is not a block element (or it is a LI element which is a special case).
- // So ensure all of the inline nodes before the selection are wrapped with a suitable block element.
- var oBlockNode1 = FCK.EditorDocument.createElement( FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) ? "P" : oParentBlockNode.tagName ) ;
- oRange.setStartBefore( oStartNode ) ;
- if ( nOffset == 0 )
- oRange.setEndBefore( oChildNode ) ;
- else
- oRange.setEnd( oChildNode, nOffset ) ;
- oBlockNode1.appendChild( oRange.cloneContents() ) ;
- oBlockNode1.innerHTML = oBlockNode1.innerHTML.replace(/[\x00-\x1F]/g, "") ; // Prevent any control characters returned within the innerHTML from causing problems
- if ( FCKTools.NodeIsEmpty( oBlockNode1 ) )
- oBlockNode1.innerHTML = GECKO_BOGUS ; // Ensure it has some content, required for Gecko
- else
- oBlockNode1.innerHTML = oBlockNode1.innerHTML.replace( FCKRegexLib.EmptyElement, "" ) ; // Strip out any empty tags that may have been generated by the split
- if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
- FCKTools.SetElementAttributes( oBlockNode1, oParentBlockNode.attributes ) ; // Transfer across any class attributes, etc
- }
-
- // Create a new tag which holds the content of the affected node(s) located after (and including) the child node
- if ( FCKRegexLib.BlockElements.test( oEndNode.nodeName ) && !FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
- {
- // Last element of the bunch is already a block element so we don't want to wrap it with a new block element.
- oBlockNode2 = oEndNode.cloneNode( true ) ;
- }
- else
- {
- // Last element of the bunch is not a block element (or it is a LI element which is a special case).
- // So ensure all of the inline nodes after and including the child/offset are wrapped with a suitable block element.
- var oBlockNode2 = FCK.EditorDocument.createElement( FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) ? "P" : oParentBlockNode.tagName );
- oRange.setEndAfter( oEndNode );
- if ( nOffset == 0 )
- oRange.setStartBefore( oChildNode ) ;
- else
- oRange.setStart( oChildNode, nOffset );
- oBlockNode2.appendChild( oRange.cloneContents() ) ;
- oBlockNode2.innerHTML = oBlockNode2.innerHTML.replace(/[\x00-\x1F]/g, "") ; // Prevent any control characters returned within the innerHTML from causing problems
- if ( FCKTools.NodeIsEmpty( oBlockNode2 ) )
- oBlockNode2.innerHTML = GECKO_BOGUS ; // Ensure it has some content, required for Gecko
- else
- oBlockNode2.innerHTML = oBlockNode2.innerHTML.replace( FCKRegexLib.EmptyElement, "" ) ; // Strip out any empty tags that may have been generated by the split
- if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
- FCKTools.SetElementAttributes( oBlockNode2, oParentBlockNode.attributes ) ; // Transfer across any class attributes, etc
- }
-
- // Insert the resulting nodes into a document fragment
- oFragment.appendChild( oBlockNode1 );
- oFragment.appendChild( oBlockNode2 );
-
- // Replace the affected nodes with the new nodes (fragment)
- FCKTools.ReplaceNodes( oParentBlockNode, oStartNode, oEndNode, oFragment ) ;
-
- // Return the second node so it can be used for setting cursor position, etc
- return oBlockNode2 ;
-}
-
-// Function that replaces the specified range of nodes (inclusive) within the supplied parent
-// with the nodes stored in the supplied document fragment.
-FCKTools.ReplaceNodes = function( oParentBlockNode, oStartNode, oEndNode, oFragment )
-{
- var oRange = FCK.EditorDocument.createRange() ;
-
- // Delete the affected node(s)
- if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) && (oParentBlockNode.firstChild == oStartNode) && (oParentBlockNode.lastChild == oEndNode) )
- {
- // Entire parent block node is to be replaced so insert the two new block elements before it
- // and then remove the old node
- oRange.selectNode ( oParentBlockNode );
- }
- else
- {
- // Only part of the parent block node is to be replaced so insert the two new block elements
- // before the first inline node of the affected content and then remove the old nodes
- oRange.setEndAfter( oEndNode ) ;
- oRange.setStartBefore( oStartNode ) ;
- }
-
- // Insert the replacement nodes
- oRange.deleteContents() ;
- oRange.insertNode( oFragment ) ;
-}
-*/
-// END iCM Modifications
-
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools_ie.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools_ie.js
deleted file mode 100755
index dce196d21..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fcktools_ie.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktools_ie.js
- * Utility functions. (IE version).
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// Appends a CSS file to a document.
-FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
-{
- return documentElement.createStyleSheet( cssFileUrl ) ;
-}
-
-// Removes all attributes and values from the element.
-FCKTools.ClearElementAttributes = function( element )
-{
- element.clearAttributes() ;
-}
-
-FCKTools.GetAllChildrenIds = function( parentElement )
-{
- var aIds = new Array() ;
- for ( var i = 0 ; i < parentElement.all.length ; i++ )
- {
- var sId = parentElement.all[i].id ;
- if ( sId && sId.length > 0 )
- aIds[ aIds.length ] = sId ;
- }
- return aIds ;
-}
-
-FCKTools.RemoveOuterTags = function( e )
-{
- e.insertAdjacentHTML( 'beforeBegin', e.innerHTML ) ;
- e.parentNode.removeChild( e ) ;
-}
-
-FCKTools.CreateXmlObject = function( object )
-{
- var aObjs ;
-
- switch ( object )
- {
- case 'XmlHttp' :
- aObjs = [ 'MSXML2.XmlHttp', 'Microsoft.XmlHttp' ] ;
- break ;
-
- case 'DOMDocument' :
- aObjs = [ 'MSXML2.DOMDocument', 'Microsoft.XmlDom' ] ;
- break ;
- }
-
- for ( var i = 0 ; i < 2 ; i++ )
- {
- try { return new ActiveXObject( aObjs[i] ) ; }
- catch (e)
- {}
- }
-
- if ( FCKLang.NoActiveX )
- {
- alert( FCKLang.NoActiveX ) ;
- FCKLang.NoActiveX = null ;
- }
-}
-
-FCKTools.DisableSelection = function( element )
-{
- element.unselectable = 'on' ;
-
- var e, i = 0 ;
- while ( e = element.all[ i++ ] )
- {
- switch ( e.tagName )
- {
- case 'IFRAME' :
- case 'TEXTAREA' :
- case 'INPUT' :
- case 'SELECT' :
- /* Ignore the above tags */
- break ;
- default :
- e.unselectable = 'on' ;
- }
- }
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckundo_gecko.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckundo_gecko.js
deleted file mode 100755
index 9bb7cf6ea..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckundo_gecko.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var FCKUndo = new Object() ;
-
-FCKUndo.SaveUndoStep = function()
-{}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckundo_ie.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckundo_ie.js
deleted file mode 100755
index b84429eaa..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckundo_ie.js
+++ /dev/null
@@ -1,97 +0,0 @@
-var FCKUndo = new Object() ;
-
-FCKUndo.SavedData = new Array() ;
-FCKUndo.CurrentIndex = -1 ;
-FCKUndo.TypesCount = FCKUndo.MaxTypes = 25 ;
-FCKUndo.Typing = false ;
-
-FCKUndo.SaveUndoStep = function()
-{
- // Shrink the array to the current level.
- FCKUndo.SavedData = FCKUndo.SavedData.slice( 0, FCKUndo.CurrentIndex + 1 ) ;
-
- // Get the Actual HTML.
- var sHtml = FCK.EditorDocument.body.innerHTML ;
-
- // Cancel operation if the new step is identical to the previous one.
- if ( FCKUndo.CurrentIndex >= 0 && sHtml == FCKUndo.SavedData[ FCKUndo.CurrentIndex ][0] )
- return ;
-
- // If we reach the Maximun number of undo levels, we must remove the first
- // entry of the list shifting all elements.
- if ( FCKUndo.CurrentIndex + 1 >= FCKConfig.MaxUndoLevels )
- FCKUndo.SavedData.shift() ;
- else
- FCKUndo.CurrentIndex++ ;
-
- // Get the actual selection.
- var sBookmark ;
- if ( FCK.EditorDocument.selection.type == 'Text' )
- sBookmark = FCK.EditorDocument.selection.createRange().getBookmark() ;
-
- // Save the new level in front of the actual position.
- FCKUndo.SavedData[ FCKUndo.CurrentIndex ] = [ sHtml, sBookmark ] ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
-}
-
-FCKUndo.CheckUndoState = function()
-{
- return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ) ;
-}
-
-FCKUndo.CheckRedoState = function()
-{
- return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ) ;
-}
-
-FCKUndo.Undo = function()
-{
- if ( FCKUndo.CheckUndoState() )
- {
- // If it is the first step.
- if ( FCKUndo.CurrentIndex == ( FCKUndo.SavedData.length - 1 ) )
- {
- // Save the actual state for a possible "Redo" call.
- FCKUndo.SaveUndoStep() ;
- }
-
- // Go a step back.
- FCKUndo._ApplyUndoLevel( --FCKUndo.CurrentIndex ) ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- }
-}
-
-FCKUndo.Redo = function()
-{
- if ( FCKUndo.CheckRedoState() )
- {
- // Go a step forward.
- FCKUndo._ApplyUndoLevel( ++FCKUndo.CurrentIndex ) ;
-
- FCK.Events.FireEvent( "OnSelectionChange" ) ;
- }
-}
-
-FCKUndo._ApplyUndoLevel = function(level)
-{
- var oData = FCKUndo.SavedData[ level ] ;
-
- if ( !oData )
- return ;
-
- // Update the editor contents with that step data.
- FCK.SetInnerHtml( oData[0] ) ;
-// FCK.EditorDocument.body.innerHTML = oData[0] ;
-
- if ( oData[1] )
- {
- var oRange = FCK.EditorDocument.selection.createRange() ;
- oRange.moveToBookmark( oData[1] ) ;
- oRange.select() ;
- }
-
- FCKUndo.TypesCount = 0 ;
- FCKUndo.Typing = false ;
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckurlparams.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckurlparams.js
deleted file mode 100755
index 8bff773f1..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckurlparams.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckurlparams.js
- * Defines the FCKURLParams object that is used to get all parameters
- * passed by the URL QueryString (after the "?").
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-// #### URLParams: holds all URL passed parameters (like ?Param1=Value1&Param2=Value2)
-var FCKURLParams = new Object() ;
-
-var aParams = document.location.search.substr(1).split('&') ;
-for ( var i = 0 ; i < aParams.length ; i++ )
-{
- var aParam = aParams[i].split('=') ;
- var sParamName = aParam[0] ;
- var sParamValue = aParam[1] ;
-
- FCKURLParams[ sParamName ] = sParamValue ;
-}
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckxhtml.js b/ccm-core/web/assets/ckeditor/editor/_source/internals/fckxhtml.js
deleted file mode 100755
index 37fc2040c..000000000
--- a/ccm-core/web/assets/ckeditor/editor/_source/internals/fckxhtml.js
+++ /dev/null
@@ -1,371 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fckxhtml.js
- * Defines the FCKXHtml object, responsible for the XHTML operations.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var FCKXHtml = new Object() ;
-
-FCKXHtml.CurrentJobNum = 0 ;
-
-FCKXHtml.GetXHTML = function( node, includeNode, format )
-{
- // Special blocks are blocks of content that remain untouched during the
- // process. It is used for SCRIPTs and STYLEs.
- FCKXHtml.SpecialBlocks = new Array() ;
-
- // Create the XML DOMDocument object.
- this.XML = FCKTools.CreateXmlObject( 'DOMDocument' ) ;
-
- // Add a root element that holds all child nodes.
- this.MainNode = this.XML.appendChild( this.XML.createElement( 'xhtml' ) ) ;
-
- FCKXHtml.CurrentJobNum++ ;
-
- if ( includeNode )
- this._AppendNode( this.MainNode, node ) ;
- else
- this._AppendChildNodes( this.MainNode, node, false ) ;
-
- // Get the resulting XHTML as a string.
- var sXHTML = this._GetMainXmlString() ;
-
- // Strip the "XHTML" root node.
- sXHTML = sXHTML.substr( 7, sXHTML.length - 15 ).trim() ;
-
- // Remove the trailing
added by Gecko.
- if ( FCKBrowserInfo.IsGecko )
- sXHTML = sXHTML.replace( /
$/, '' ) ;
-
- // Add a space in the tags with no closing tags, like
->
- sXHTML = sXHTML.replace( FCKRegexLib.SpaceNoClose, ' />');
-
- if ( FCKConfig.ForceSimpleAmpersand )
- sXHTML = sXHTML.replace( FCKRegexLib.ForceSimpleAmpersand, '&' ) ;
-
- if ( format )
- sXHTML = FCKCodeFormatter.Format( sXHTML ) ;
-
- // Now we put back the SpecialBlocks contents.
- for ( var i = 0 ; i < FCKXHtml.SpecialBlocks.length ; i++ )
- {
- var oRegex = new RegExp( '___FCKsi___' + i ) ;
- sXHTML = sXHTML.replace( oRegex, FCKXHtml.SpecialBlocks[i] ) ;
- }
-
- this.XML = null ;
-
- return sXHTML
-}
-
-FCKXHtml._AppendAttribute = function( xmlNode, attributeName, attributeValue )
-{
- try
- {
- // Create the attribute.
- var oXmlAtt = this.XML.createAttribute( attributeName ) ;
-
- oXmlAtt.value = attributeValue ? attributeValue : '' ;
-
- // Set the attribute in the node.
- xmlNode.attributes.setNamedItem( oXmlAtt ) ;
- }
- catch (e)
- {}
-}
-
-FCKXHtml._AppendChildNodes = function( xmlNode, htmlNode, isBlockElement )
-{
- var iCount = 0 ;
-
- var oNode = htmlNode.firstChild ;
-
- while ( oNode )
- {
- if ( this._AppendNode( xmlNode, oNode ) )
- iCount++ ;
-
- oNode = oNode.nextSibling ;
- }
-
- if ( iCount == 0 )
- {
- if ( isBlockElement && FCKConfig.FillEmptyBlocks )
- {
- this._AppendEntity( xmlNode, 'nbsp' ) ;
- return ;
- }
-
- // We can't use short representation of empty elements that are not marked
- // as empty in th XHTML DTD.
- if ( !FCKRegexLib.EmptyElements.test( htmlNode.nodeName ) )
- xmlNode.appendChild( this.XML.createTextNode('') ) ;
- }
-}
-
-FCKXHtml._AppendNode = function( xmlNode, htmlNode )
-{
- if ( !htmlNode )
- return ;
-
- switch ( htmlNode.nodeType )
- {
- // 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 false ;
-
- if ( htmlNode.getAttribute('_fckdelete') )
- return false ;
-
- // Get the element name.
- var sNodeName = htmlNode.nodeName ;
-
- //Add namespace:
- if ( FCKBrowserInfo.IsIE && htmlNode.scopeName && htmlNode.scopeName != 'HTML' )
- sNodeName = htmlNode.scopeName + ':' + sNodeName ;
-
- // Check if the node name is valid, otherwise ignore this tag.
- // If the nodeName starts with a slash, it is a orphan closing tag.
- // On some strange cases, the nodeName is empty, even if the node exists.
- if ( !FCKRegexLib.ElementName.test( sNodeName ) )
- return false ;
-
- sNodeName = sNodeName.toLowerCase() ;
-
- if ( FCKBrowserInfo.IsGecko && sNodeName == 'br' && htmlNode.hasAttribute('type') && htmlNode.getAttribute( 'type', 2 ) == '_moz' )
- return false ;
-
- // The already processed nodes must be marked to avoid then to be duplicated (bad formatted HTML).
- // So here, the "mark" is checked... if the element is Ok, then mark it.
- if ( htmlNode._fckxhtmljob && htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum )
- return false ;
-
- var oNode = this._CreateNode( sNodeName ) ;
-
- // Add all attributes.
- FCKXHtml._AppendAttributes( xmlNode, htmlNode, oNode, sNodeName ) ;
-
- htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ;
-
- // Tag specific processing.
- var oTagProcessor = FCKXHtml.TagProcessors[ sNodeName ] ;
-
- if ( oTagProcessor )
- {
- oNode = oTagProcessor( oNode, htmlNode ) ;
- if ( !oNode ) break ;
- }
- else
- this._AppendChildNodes( oNode, htmlNode, FCKRegexLib.BlockElements.test( sNodeName ) ) ;
-
- xmlNode.appendChild( oNode ) ;
-
- break ;
-
- // Text Node.
- case 3 :
- this._AppendTextNode( xmlNode, htmlNode.nodeValue.replaceNewLineChars(' ') ) ;
- break ;
-
- // Comment
- case 8 :
- try { xmlNode.appendChild( this.XML.createComment( htmlNode.nodeValue ) ) ; }
- catch (e) { /* Do nothing... probably this is a wrong format comment. */ }
- break ;
-
- // Unknown Node type.
- default :
- xmlNode.appendChild( this.XML.createComment( "Element not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) ) ;
- break ;
- }
- return true ;
-}
-
-if ( FCKConfig.ForceStrongEm )
-{
- FCKXHtml._CreateNode = function( nodeName )
- {
- switch ( nodeName )
- {
- case 'b' :
- nodeName = 'strong' ;
- break ;
- case 'i' :
- nodeName = 'em' ;
- break ;
- }
- return this.XML.createElement( nodeName ) ;
- }
-}
-else
-{
- FCKXHtml._CreateNode = function( nodeName )
- {
- return this.XML.createElement( nodeName ) ;
- }
-}
-
-// Append an item to the SpecialBlocks array and returns the tag to be used.
-FCKXHtml._AppendSpecialItem = function( item )
-{
- return '___FCKsi___' + FCKXHtml.SpecialBlocks.addItem( item ) ;
-}
-
-//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 = textValue.match( FCKXHtmlEntities.EntitiesRegex ) ;
-
- if ( asPieces )
- {
- for ( var i = 0 ; i < asPieces.length ; i++ )
- {
- if ( asPieces[i].length == 1 )
- {
- var sEntity = FCKXHtmlEntities.Entities[ asPieces[i] ] ;
- if ( sEntity != null )
- {
- this._AppendEntity( targetNode, sEntity ) ;
- continue ;
- }
- }
- targetNode.appendChild( this.XML.createTextNode( asPieces[i] ) ) ;
- }
- }
- }
-//}
-//else
-//{
-// FCKXHtml._AppendTextNode = function( targetNode, textValue )
-// {
-// targetNode.appendChild( this.XML.createTextNode( textValue ) ) ;
-// }
-//}
-
-// An object that hold tag specific operations.
-FCKXHtml.TagProcessors = new Object() ;
-
-FCKXHtml.TagProcessors['img'] = function( node, htmlNode )
-{
- // The "ALT" attribute is required in XHTML.
- if ( ! node.attributes.getNamedItem( 'alt' ) )
- FCKXHtml._AppendAttribute( node, 'alt', '' ) ;
-
- var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
- if ( sSavedUrl && sSavedUrl.length > 0 )
- FCKXHtml._AppendAttribute( node, 'src', sSavedUrl ) ;
-
- return node ;
-}
-
-FCKXHtml.TagProcessors['a'] = function( node, htmlNode )
-{
- var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
- if ( sSavedUrl && sSavedUrl.length > 0 )
- FCKXHtml._AppendAttribute( node, 'href', sSavedUrl ) ;
-
- FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
-
- return node ;
-}
-
-FCKXHtml.TagProcessors['script'] = function( node, htmlNode )
-{
- // The "TYPE" attribute is required in XHTML.
- if ( ! node.attributes.getNamedItem( 'type' ) )
- FCKXHtml._AppendAttribute( node, 'type', 'text/javascript' ) ;
-
- node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.text ) ) ) ;
-
- return node ;
-}
-
-FCKXHtml.TagProcessors['style'] = function( node, htmlNode )
-{
- // The "_fcktemp" attribute is used to mark the
-
-
- GNU Lesser General Public License
-
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite
- 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute
- verbatim copies of this license document, but changing it is not allowed.
- [This is the first released version of the Lesser GPL. It also counts as the
- successor of the GNU Library Public License, version 2, hence the version
- number 2.1.]
-
- Preamble
- The licenses for most software are designed to take away your freedom to share
- and change it. By contrast, the GNU General Public Licenses are intended to
- guarantee your freedom to share and change free software--to make sure the
- software is free for all its users.
-
- This license, the Lesser General Public License, applies to some specially
- designated software packages--typically libraries--of the Free Software
- Foundation and other authors who decide to use it. You can use it too, but we
- suggest you first think carefully about whether this license or the ordinary
- General Public License is the better strategy to use in any particular case,
- based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use, not price.
- Our General Public Licenses are designed to make sure that you have the freedom
- to distribute copies of free software (and charge for this service if you
- wish); that you receive source code or can get it if you want it; that you can
- change the software and use pieces of it in new free programs; and that you are
- informed that you can do these things.
- To protect your rights, we need to make restrictions that forbid distributors to
- deny you these rights or to ask you to surrender these rights. These
- restrictions translate to certain responsibilities for you if you distribute
- copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis or for a
- fee, you must give the recipients all the rights that we gave you. You must
- make sure that they, too, receive or can get the source code. If you link other
- code with the library, you must provide complete object files to the
- recipients, so that they can relink them with the library after making changes
- to the library and recompiling it. And you must show them these terms so they
- know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the library, and
- (2) we offer you this license, which gives you legal permission to copy,
- distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that there is no
- warranty for the free library. Also, if the library is modified by someone else
- and passed on, the recipients should know that what they have is not the
- original version, so that the original author's reputation will not be affected
- by problems that might be introduced by others.
-
- Finally, software patents pose a constant threat to the existence of any free
- program. We wish to make sure that a company cannot effectively restrict the
- users of a free program by obtaining a restrictive license from a patent
- holder. Therefore, we insist that any patent license obtained for a version of
- the library must be consistent with the full freedom of use specified in this
- license.
-
- Most GNU software, including some libraries, is covered by the ordinary GNU
- General Public License. This license, the GNU Lesser General Public License,
- applies to certain designated libraries, and is quite different from the
- ordinary General Public License. We use this license for certain libraries in
- order to permit linking those libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using a shared
- library, the combination of the two is legally speaking a combined work, a
- derivative of the original library. The ordinary General Public License
- therefore permits such linking only if the entire combination fits its criteria
- of freedom. The Lesser General Public License permits more lax criteria for
- linking other code with the library.
-
- We call this license the "Lesser" General Public License because it does Less to
- protect the user's freedom than the ordinary General Public License. It also
- provides other free software developers Less of an advantage over competing
- non-free programs. These disadvantages are the reason we use the ordinary
- General Public License for many libraries. However, the Lesser license provides
- advantages in certain special circumstances.
-
- For example, on rare occasions, there may be a special need to encourage the
- widest possible use of a certain library, so that it becomes a de-facto
- standard. To achieve this, non-free programs must be allowed to use the
- library. A more frequent case is that a free library does the same job as
- widely used non-free libraries. In this case, there is little to gain by
- limiting the free library to free software only, so we use the Lesser General
- Public License.
-
- In other cases, permission to use a particular library in non-free programs
- enables a greater number of people to use a large body of free software. For
- example, permission to use the GNU C Library in non-free programs enables many
- more people to use the whole GNU operating system, as well as its variant, the
- GNU/Linux operating system.
-
- Although the Lesser General Public License is Less protective of the users'
- freedom, it does ensure that the user of a program that is linked with the
- Library has the freedom and the wherewithal to run that program using a
- modified version of the Library.
-
- The precise terms and conditions for copying, distribution and modification
- follow. Pay close attention to the difference between a "work based on the
- library" and a "work that uses the library". The former contains code derived
- from the library, whereas the latter must be combined with the library in order
- to run.
-
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- 0. This License Agreement applies to any software library or
- other program which contains a notice placed by the copyright holder or other
- authorized party saying it may be distributed under the terms of this Lesser
- General Public License (also called "this License"). Each licensee is addressed
- as "you".
- A "library" means a collection of software functions and/or data prepared so as
- to be conveniently linked with application programs (which use some of those
- functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work which has been
- distributed under these terms. A "work based on the Library" means either the
- Library or any derivative work under copyright law: that is to say, a work
- containing the Library or a portion of it, either verbatim or with
- modifications and/or translated straightforwardly into another language.
- (Hereinafter, translation is included without limitation in the term
- "modification".)
-
- "Source code" for a work means the preferred form of the work for making
- modifications to it. For a library, complete source code means all the source
- code for all modules it contains, plus any associated interface definition
- files, plus the scripts used to control compilation and installation of the
- library.
- Activities other than copying, distribution and modification are not covered by
- this License; they are outside its scope. The act of running a program using
- the Library is not restricted, and output from such a program is covered only
- if its contents constitute a work based on the Library (independent of the use
- of the Library in a tool for writing it). Whether that is true depends on what
- the Library does and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
- complete source code as you receive it, in any medium, provided that you
- conspicuously and appropriately publish on each copy an appropriate copyright
- notice and disclaimer of warranty; keep intact all the notices that refer to
- this License and to the absence of any warranty; and distribute a copy of this
- License along with the Library.
-
- You may charge a fee for the physical act of transferring a copy, and you may at
- your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Library or any
- portion of it, thus forming a work based on the Library, and copy and
- distribute such modifications or work under the terms of Section 1 above,
- provided that you also meet all of these conditions:
-
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices stating that you
- changed the files and the date of any change.
- c) You must cause the whole of the work to be licensed at no charge to all third
- parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a table of data
- to be supplied by an application program that uses the facility, other than as
- an argument passed when the facility is invoked, then you must make a good
- faith effort to ensure that, in the event an application does not supply such
- function or table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has a purpose that
- is entirely well-defined independent of the application. Therefore, Subsection
- 2d requires that any application-supplied function or table used by this
- function must be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
- These requirements apply to the modified work as a whole. If identifiable
- sections of that work are not derived from the Library, and can be reasonably
- considered independent and separate works in themselves, then this License, and
- its terms, do not apply to those sections when you distribute them as separate
- works. But when you distribute the same sections as part of a whole which is a
- work based on the Library, the distribution of the whole must be on the terms
- of this License, whose permissions for other licensees extend to the entire
- whole, and thus to each and every part regardless of who wrote it.
-
- Thus, it is not the intent of this section to claim rights or contest your
- rights to work written entirely by you; rather, the intent is to exercise the
- right to control the distribution of derivative or collective works based on
- the Library.
-
- In addition, mere aggregation of another work not based on the Library with the
- Library (or with a work based on the Library) on a volume of a storage or
- distribution medium does not bring the other work under the scope of this
- License.
-
-
- 3. You may opt to apply the terms of the ordinary GNU General
- Public License instead of this License to a given copy of the Library. To do
- this, you must alter all the notices that refer to this License, so that they
- refer to the ordinary GNU General Public License, version 2, instead of to this
- License. (If a newer version than version 2 of the ordinary GNU General Public
- License has appeared, then you can specify that version instead if you wish.)
- Do not make any other change in these notices.
-
- Once this change is made in a given copy, it is irreversible for that copy, so
- the ordinary GNU General Public License applies to all subsequent copies and
- derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of the Library into
- a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
- derivative of it, under Section 2) in object code or executable form under the
- terms of Sections 1 and 2 above provided that you accompany it with the
- complete corresponding machine-readable source code, which must be distributed
- under the terms of Sections 1 and 2 above on a medium customarily used for
- software interchange.
-
- If distribution of object code is made by offering access to copy from a
- designated place, then offering equivalent access to copy the source code from
- the same place satisfies the requirement to distribute the source code, even
- though third parties are not compelled to copy the source along with the object
- code.
- 5. A program that contains no derivative of any portion of the
- Library, but is designed to work with the Library by being compiled or linked
- with it, is called a "work that uses the Library". Such a work, in isolation,
- is not a derivative work of the Library, and therefore falls outside the scope
- of this License.
-
- However, linking a "work that uses the Library" with the Library creates an
- executable that is a derivative of the Library (because it contains portions of
- the Library), rather than a "work that uses the library". The executable is
- therefore covered by this License. Section 6 states terms for distribution of
- such executables.
-
- When a "work that uses the Library" uses material from a header file that is
- part of the Library, the object code for the work may be a derivative work of
- the Library even though the source code is not. Whether this is true is
- especially significant if the work can be linked without the Library, or if the
- work is itself a library. The threshold for this to be true is not precisely
- defined by law.
-
- If such an object file uses only numerical parameters, data structure layouts
- and accessors, and small macros and small inline functions (ten lines or less
- in length), then the use of the object file is unrestricted, regardless of
- whether it is legally a derivative work. (Executables containing this object
- code plus portions of the Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may distribute the
- object code for the work under the terms of Section 6. Any executables
- containing that work also fall under Section 6, whether or not they are linked
- directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine
- or link a "work that uses the Library" with the Library to produce a work
- containing portions of the Library, and distribute that work under terms of
- your choice, provided that the terms permit modification of the work for the
- customer's own use and reverse engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the Library is
- used in it and that the Library and its use are covered by this License. You
- must supply a copy of this License. If the work during execution displays
- copyright notices, you must include the copyright notice for the Library among
- them, as well as a reference directing the user to the copy of this License.
- Also, you must do one of these things:
-
-
- a) Accompany the work with the complete corresponding machine-readable source
- code for the Library including whatever changes were used in the work (which
- must be distributed under Sections 1 and 2 above); and, if the work is an
- executable linked with the Library, with the complete machine-readable "work
- that uses the Library", as object code and/or source code, so that the user can
- modify the Library and then relink to produce a modified executable containing
- the modified Library. (It is understood that the user who changes the contents
- of definitions files in the Library will not necessarily be able to recompile
- the application to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the Library. A
- suitable mechanism is one that (1) uses at run time a copy of the library
- already present on the user's computer system, rather than copying library
- functions into the executable, and (2) will operate properly with a modified
- version of the library, if the user installs one, as long as the modified
- version is interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at least three years, to
- give the same user the materials specified in Subsection 6a, above, for a
- charge no more than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy from a
- designated place, offer equivalent access to copy the above specified materials
- from the same place.
-
- e) Verify that the user has already received a copy of these materials or that
- you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the Library" must
- include any data and utility programs needed for reproducing the executable
- from it. However, as a special exception, the materials to be distributed need
- not include anything that is normally distributed (in either source or binary
- form) with the major components (compiler, kernel, and so on) of the operating
- system on which the executable runs, unless that component itself accompanies
- the executable.
-
- It may happen that this requirement contradicts the license restrictions of
- other proprietary libraries that do not normally accompany the operating
- system. Such a contradiction means you cannot use both them and the Library
- together in an executable that you distribute.
-
- 7. You may place library facilities that are a work based on
- the Library side-by-side in a single library together with other library
- facilities not covered by this License, and distribute such a combined library,
- provided that the separate distribution of the work based on the Library and of
- the other library facilities is otherwise permitted, and provided that you do
- these two things:
-
-
- a) Accompany the combined library with a copy of the same work based on the
- Library, uncombined with any other library facilities. This must be distributed
- under the terms of the Sections above.
-
- b) Give prominent notice with the combined library of the fact that part of it
- is a work based on the Library, and explaining where to find the accompanying
- uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or
- distribute the Library except as expressly provided under this License. Any
- attempt otherwise to copy, modify, sublicense, link with, or distribute the
- Library is void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights, from you under
- this License will not have their licenses terminated so long as such parties
- remain in full compliance.
-
- 9. You are not required to accept this License, since you have
- not signed it. However, nothing else grants you permission to modify or
- distribute the Library or its derivative works. These actions are prohibited by
- law if you do not accept this License. Therefore, by modifying or distributing
- the Library (or any work based on the Library), you indicate your acceptance of
- this License to do so, and all its terms and conditions for copying,
- distributing or modifying the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based
- on the Library), the recipient automatically receives a license from the
- original licensor to copy, distribute, link with or modify the Library subject
- to these terms and conditions. You may not impose any further restrictions on
- the recipients' exercise of the rights granted herein. You are not responsible
- for enforcing compliance by third parties with this License.
-
- 11. If, as a consequence of a court judgment or allegation of
- patent infringement or for any other reason (not limited to patent issues),
- conditions are imposed on you (whether by court order, agreement or otherwise)
- that contradict the conditions of this License, they do not excuse you from the
- conditions of this License. If you cannot distribute so as to satisfy
- simultaneously your obligations under this License and any other pertinent
- obligations, then as a consequence you may not distribute the Library at all.
- For example, if a patent license would not permit royalty-free redistribution
- of the Library by all those who receive copies directly or indirectly through
- you, then the only way you could satisfy both it and this License would be to
- refrain entirely from distribution of the Library.
-
- If any portion of this section is held invalid or unenforceable under any
- particular circumstance, the balance of the section is intended to apply, and
- the section as a whole is intended to apply in other circumstances.
-
- It is not the purpose of this section to induce you to infringe any patents or
- other property right claims or to contest validity of any such claims; this
- section has the sole purpose of protecting the integrity of the free software
- distribution system which is implemented by public license practices. Many
- people have made generous contributions to the wide range of software
- distributed through that system in reliance on consistent application of that
- system; it is up to the author/donor to decide if he or she is willing to
- distribute software through any other system and a licensee cannot impose that
- choice.
-
- This section is intended to make thoroughly clear what is believed to be a
- consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted
- in certain countries either by patents or by copyrighted interfaces, the
- original copyright holder who places the Library under this License may add an
- explicit geographical distribution limitation excluding those countries, so
- that distribution is permitted only in or among countries not thus excluded. In
- such case, this License incorporates the limitation as if written in the body
- of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
- versions of the Lesser General Public License from time to time. Such new
- versions will be similar in spirit to the present version, but may differ in
- detail to address new problems or concerns.
- Each version is given a distinguishing version number. If the Library specifies
- a version number of this License which applies to it and "any later version",
- you have the option of following the terms and conditions either of that
- version or of any later version published by the Free Software Foundation. If
- the Library does not specify a license version number, you may choose any
- version ever published by the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other
- free programs whose distribution conditions are incompatible with these, write
- to the author to ask for permission. For software which is copyrighted by the
- Free Software Foundation, write to the Free Software Foundation; we sometimes
- make exceptions for this. Our decision will be guided by the two goals of
- preserving the free status of all derivatives of our free software and of
- promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
- WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
- WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
- PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
- IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
- QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
- DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
- CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO
- IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
- REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
- OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS
- OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
- PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN
- IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
-
-
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_about/logo_fckeditor.gif b/ccm-core/web/assets/ckeditor/editor/dialog/fck_about/logo_fckeditor.gif
deleted file mode 100755
index b7d6bc6fe..000000000
Binary files a/ccm-core/web/assets/ckeditor/editor/dialog/fck_about/logo_fckeditor.gif and /dev/null differ
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_about/logo_fredck.gif b/ccm-core/web/assets/ckeditor/editor/dialog/fck_about/logo_fredck.gif
deleted file mode 100755
index 3108dd9ec..000000000
Binary files a/ccm-core/web/assets/ckeditor/editor/dialog/fck_about/logo_fredck.gif and /dev/null differ
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_anchor.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_anchor.html
deleted file mode 100755
index feb0090e8..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_anchor.html
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
- Anchor Properties
-
-
-
-
-
-
-
-
-
-
-
-
- Anchor Name
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_button.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_button.html
deleted file mode 100755
index 906e5a429..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_button.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
- Button Properties
-
-
-
-
-
-
-
-
-
-
-
-
- Name
-
-
-
-
-
- Text (Value)
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_checkbox.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_checkbox.html
deleted file mode 100755
index 37a7eb0bf..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_checkbox.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
- Checkbox Properties
-
-
-
-
-
-
-
-
-
-
-
-
- Name
-
-
-
-
-
- Value
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_colorselector.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_colorselector.html
deleted file mode 100755
index 031f866f9..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_colorselector.html
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Highlight
-
-
- Selected
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_docprops.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_docprops.html
deleted file mode 100755
index ab6e3f4a8..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_docprops.html
+++ /dev/null
@@ -1,570 +0,0 @@
-
-
-
-
- Document Properties
-
-
-
-
-
-
-
-
-
-
- Page Title
-
-
-
-
-
- Language Direction
-
-
-
-
- Language Code
-
-
-
-
-
-
-
- Character Set Encoding
-
-
-
-
- Other Character Set Encoding
-
-
-
-
-
-
-
-
- Document Type Heading
-
-
-
-
- Other Document Type Heading
-
-
-
-
-
-
-
-
- Background Color
-
-
- Background Image URL
-
-
-
-
-
-
-
-
-
-
-
-
- Text
-
-
- Link
-
-
- Visited Link
-
-
- Active Link
-
-
-
-
-
- Page Margins
-
-
-
-
-
-
- Top
-
-
-
-
-
- Left
-
-
-
-
- Right
-
-
-
-
-
- Bottom
-
-
-
-
-
-
-
-
-
-
-
-
- Document Indexing Keywords (comma separated)
-
-
- Document Description
-
-
- Author
-
-
- Copyright
-
-
-
-
-
-
- Preview
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_docprops/fck_document_preview.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_docprops/fck_document_preview.html
deleted file mode 100755
index c620010e5..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_docprops/fck_document_preview.html
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
- Document Properties - Preview
-
-
-
-
-
-
-
-
- Normal Text
-
-
- Link Text
-
-
-
-
- Visited Link
-
-
- Active Link
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_find.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_find.html
deleted file mode 100755
index 4c0b5a8a7..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_find.html
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_flash.html b/ccm-core/web/assets/ckeditor/editor/dialog/fck_flash.html
deleted file mode 100755
index d7f6cfdda..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_flash.html
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
- Flash Properties
-
-
-
-
-
-
-
-
-
-
-
-
-
- URL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Width
-
-
-
-
- Height
-
-
-
-
-
-
-
-
-
-
-
-
-
- Preview
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Scale
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Id
-
-
-
- Stylesheet Classes
-
-
-
- Advisory Title
-
-
-
-
- Style
-
-
-
-
diff --git a/ccm-core/web/assets/ckeditor/editor/dialog/fck_flash/fck_flash.js b/ccm-core/web/assets/ckeditor/editor/dialog/fck_flash/fck_flash.js
deleted file mode 100755
index 9cfc79f57..000000000
--- a/ccm-core/web/assets/ckeditor/editor/dialog/fck_flash/fck_flash.js
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * FCKeditor - The text editor for internet
- * 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
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fck_flash.js
- * Scripts related to the Flash dialog window (see fck_flash.html).
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
-
-var oEditor = window.parent.InnerDialogLoaded() ;
-var FCK = oEditor.FCK ;
-var FCKLang = oEditor.FCKLang ;
-var FCKConfig = oEditor.FCKConfig ;
-
-//#### Dialog Tabs
-
-// Set the dialog tabs.
-window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
-
-if ( FCKConfig.FlashUpload )
- window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
-
-if ( !FCKConfig.FlashDlgHideAdvanced )
- window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
-
-// Function called when a dialog tag is selected.
-function OnDialogTabChange( tabCode )
-{
- ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
- ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
- ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;
-}
-
-// Get the selected flash embed (if available).
-var oFakeImage = FCK.Selection.GetSelectedElement() ;
-var oEmbed ;
-
-if ( oFakeImage )
-{
- if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
- oEmbed = FCK.GetRealElement( oFakeImage ) ;
- else
- oFakeImage = null ;
-}
-
-window.onload = function()
-{
- // Translate the dialog box texts.
- oEditor.FCKLanguageManager.TranslatePage(document) ;
-
- // Load the selected element information (if any).
- LoadSelection() ;
-
- // Show/Hide the "Browse Server" button.
- GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ;
-
- // Set the actual uploader URL.
- if ( FCKConfig.FlashUpload )
- GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
-
- window.parent.SetAutoSize( true ) ;
-
- // Activate the "OK" button.
- window.parent.SetOkButton( true ) ;
-}
-
-function LoadSelection()
-{
- if ( ! oEmbed ) return ;
-
- var sUrl = GetAttribute( oEmbed, 'src', '' ) ;
-
- GetE('txtUrl').value = GetAttribute( oEmbed, 'src', '' ) ;
- GetE('txtWidth').value = GetAttribute( oEmbed, 'width', '' ) ;
- GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;
-
- // Get Advances Attributes
- GetE('txtAttId').value = oEmbed.id ;
- GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
- GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
- GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
- GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
-
- GetE('txtAttTitle').value = oEmbed.title ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- {
- GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ;
- GetE('txtAttStyle').value = oEmbed.style.cssText ;
- }
- else
- {
- GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ;
- GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) ;
- }
-
- UpdatePreview() ;
-}
-
-//#### The OK button was hit.
-function Ok()
-{
- if ( GetE('txtUrl').value.length == 0 )
- {
- window.parent.SetSelectedTab( 'Info' ) ;
- GetE('txtUrl').focus() ;
-
- alert( oEditor.FCKLang.DlgAlertUrl ) ;
-
- return false ;
- }
-
- if ( !oEmbed )
- {
- oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ;
- oFakeImage = null ;
- }
- UpdateEmbed( oEmbed ) ;
-
- if ( !oFakeImage )
- {
- oFakeImage = oEditor.FCKDocumentProcessors_CreateFakeImage( 'FCK__Flash', oEmbed ) ;
- oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;
- oFakeImage = FCK.InsertElementAndGetIt( oFakeImage ) ;
- }
- else
- oEditor.FCKUndo.SaveUndoStep() ;
-
- oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;
-
- return true ;
-}
-
-function UpdateEmbed( e )
-{
- SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
- SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
-
- e.src = GetE('txtUrl').value ;
- SetAttribute( e, "width" , GetE('txtWidth').value ) ;
- SetAttribute( e, "height", GetE('txtHeight').value ) ;
-
- // Advances Attributes
-
- SetAttribute( e, 'id' , GetE('txtAttId').value ) ;
- SetAttribute( e, 'scale', GetE('cmbScale').value ) ;
-
- SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
- SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ;
- SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ;
-
- SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;
-
- if ( oEditor.FCKBrowserInfo.IsIE )
- {
- SetAttribute( e, 'className', GetE('txtAttClasses').value ) ;
- e.style.cssText = GetE('txtAttStyle').value ;
- }
- else
- {
- SetAttribute( e, 'class', GetE('txtAttClasses').value ) ;
- SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
- }
-}
-
-var ePreview ;
-
-function SetPreviewElement( previewEl )
-{
- ePreview = previewEl ;
-
- if ( GetE('txtUrl').value.length > 0 )
- UpdatePreview() ;
-}
-
-function UpdatePreview()
-{
- if ( !ePreview )
- return ;
-
- while ( ePreview.firstChild )
- ePreview.removeChild( ePreview.firstChild ) ;
-
- if ( GetE('txtUrl').value.length == 0 )
- ePreview.innerHTML = ' ' ;
- else
- {
- var oDoc = ePreview.ownerDocument || ePreview.document ;
- var e = oDoc.createElement( 'EMBED' ) ;
-
- e.src = GetE('txtUrl').value ;
- e.type = 'application/x-shockwave-flash' ;
- e.width = '100%' ;
- e.height = '100%' ;
-
- ePreview.appendChild( e ) ;
- }
-}
-
-//