diff --git a/htdocs/includes/fckeditor/editor/.cvsignore b/htdocs/includes/fckeditor/editor/.cvsignore new file mode 100644 index 00000000000..a5156980bc9 --- /dev/null +++ b/htdocs/includes/fckeditor/editor/.cvsignore @@ -0,0 +1 @@ +_sources diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckcontextmenu.js b/htdocs/includes/fckeditor/editor/_source/classes/fckcontextmenu.js deleted file mode 100644 index 062bcb06b23..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckcontextmenu.js +++ /dev/null @@ -1,120 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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 - * FCKContextMenu Class: renders an control a context menu. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKContextMenu = function( parentWindow, mouseClickWindow, langDir ) -{ - var oPanel = this._Panel = new FCKPanel( parentWindow, true ) ; - oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; - oPanel.IsContextMenu = true ; - - var oMenuBlock = this._MenuBlock = new FCKMenuBlock() ; - oMenuBlock.Panel = oPanel ; - oMenuBlock.OnClick = FCKTools.CreateEventListener( FCKContextMenu_MenuBlock_OnClick, this ) ; - - this._Redraw = true ; - - this.SetMouseClickWindow( mouseClickWindow || parentWindow ) ; -} - - -FCKContextMenu.prototype.SetMouseClickWindow = function( mouseClickWindow ) -{ - if ( !FCKBrowserInfo.IsIE ) - { - this._Document = mouseClickWindow.document ; - this._Document.addEventListener( 'contextmenu', FCKContextMenu_Document_OnContextMenu, false ) ; - } -} - -FCKContextMenu.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) -{ - var oItem = this._MenuBlock.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled) ; - this._Redraw = true ; - return oItem ; -} - -FCKContextMenu.prototype.AddSeparator = function() -{ - this._MenuBlock.AddSeparator() ; - this._Redraw = true ; -} - -FCKContextMenu.prototype.RemoveAllItems = function() -{ - this._MenuBlock.RemoveAllItems() ; - this._Redraw = true ; -} - -FCKContextMenu.prototype.AttachToElement = function( element ) -{ - if ( FCKBrowserInfo.IsIE ) - FCKTools.AddEventListenerEx( element, 'contextmenu', FCKContextMenu_AttachedElement_OnContextMenu, this ) ; - else - element._FCKContextMenu = this ; - -// element.onmouseup = FCKContextMenu_AttachedElement_OnMouseUp ; -} - -function FCKContextMenu_Document_OnContextMenu( e ) -{ - var el = e.target ; - - while ( el ) - { - if ( el._FCKContextMenu ) - { - FCKTools.CancelEvent( e ) ; - FCKContextMenu_AttachedElement_OnContextMenu( e, el._FCKContextMenu, el ) ; - } - el = el.parentNode ; - } -} - -function FCKContextMenu_AttachedElement_OnContextMenu( ev, fckContextMenu, el ) -{ -// var iButton = e ? e.which - 1 : event.button ; - -// if ( iButton != 2 ) -// return ; - - var eTarget = el || this ; - - if ( fckContextMenu.OnBeforeOpen ) - fckContextMenu.OnBeforeOpen.call( fckContextMenu, eTarget ) ; - - if ( fckContextMenu._Redraw ) - { - fckContextMenu._MenuBlock.Create( fckContextMenu._Panel.MainNode ) ; - fckContextMenu._Redraw = false ; - } - - fckContextMenu._Panel.Show( - ev.pageX || ev.screenX, - ev.pageY || ev.screenY, - ev.currentTarget || null - ) ; - - return false ; -} - -function FCKContextMenu_MenuBlock_OnClick( menuItem, contextMenu ) -{ - contextMenu._Panel.Hide() ; - FCKTools.RunFunction( contextMenu.OnItemClick, contextMenu, menuItem ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckeditingarea.js b/htdocs/includes/fckeditor/editor/_source/classes/fckeditingarea.js deleted file mode 100644 index 5800183a95b..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckeditingarea.js +++ /dev/null @@ -1,179 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckeditingarea.js - * FCKEditingArea Class: renders an editable area. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -/** - * @constructor - * @param {String} targetElement The element that will hold the editing area. Any child element present in the target will be deleted. - */ -var FCKEditingArea = function( targetElement ) -{ - this.TargetElement = targetElement ; - this.Mode = FCK_EDITMODE_WYSIWYG ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKEditingArea_Cleanup ) ; -} - - -/** - * @param {String} html The complete HTML for the page, including DOCTYPE and the tag. - */ -FCKEditingArea.prototype.Start = function( html ) -{ - var eTargetElement = this.TargetElement ; - var oTargetDocument = eTargetElement.ownerDocument ; - - // Remove all child nodes from the target. - while( eTargetElement.childNodes.length > 0 ) - eTargetElement.removeChild( eTargetElement.childNodes[0] ) ; - - if ( this.Mode == FCK_EDITMODE_WYSIWYG ) - { - if ( FCKBrowserInfo.IsGecko ) - { - html = html.replace( /(]*>)\s*(<\/body>)/i, '$1' + GECKO_BOGUS + '$2' ) ; - } - - // Create the editing area IFRAME. - var oIFrame = this.IFrame = oTargetDocument.createElement( 'iframe' ) ; - oIFrame.src = 'javascript:void(0)' ; - oIFrame.frameBorder = 0 ; - oIFrame.width = oIFrame.height = '100%' ; - - // Append the new IFRAME to the target. - eTargetElement.appendChild( oIFrame ) ; - - // Get the window and document objects used to interact with the newly created IFRAME. - this.Window = oIFrame.contentWindow ; - - // IE: Avoid JavaScript errors thrown by the editing are source (like tags events). - // TODO: This error handler is not being fired. - // this.Window.onerror = function() { alert( 'Error!' ) ; return true ; } - - var oDoc = this.Document = this.Window.document ; - - oDoc.open() ; - oDoc.write( html ) ; - oDoc.close() ; - - this.Window._FCKEditingArea = this ; - - // FF 1.0.x is buggy... we must wait a lot to enable editing because - // sometimes the content simply disappears, for example when pasting - // "bla1!!bla2" in the source and then switching - // back to design. - if ( FCKBrowserInfo.IsGecko10 ) - this.Window.setTimeout( FCKEditingArea_CompleteStart, 500 ) ; - else - FCKEditingArea_CompleteStart.call( this.Window ) ; - } - else - { - var eTextarea = this.Textarea = oTargetDocument.createElement( 'textarea' ) ; - eTextarea.className = 'SourceField' ; - eTextarea.dir = 'ltr' ; - eTextarea.style.width = eTextarea.style.height = '100%' ; - eTextarea.style.border = 'none' ; - eTargetElement.appendChild( eTextarea ) ; - - eTextarea.value = html ; - - // Fire the "OnLoad" event. - FCKTools.RunFunction( this.OnLoad ) ; - } -} - -// "this" here is FCKEditingArea.Window -function FCKEditingArea_CompleteStart() -{ - // Of Firefox, the DOM takes a little to become available. So we must wait for it in a loop. - if ( !this.document.body ) - { - this.setTimeout( FCKEditingArea_CompleteStart, 50 ) ; - return ; - } - - var oEditorArea = this._FCKEditingArea ; - oEditorArea.MakeEditable() ; - - // Fire the "OnLoad" event. - FCKTools.RunFunction( oEditorArea.OnLoad ) ; -} - -FCKEditingArea.prototype.MakeEditable = function() -{ - var oDoc = this.Document ; - - if ( FCKBrowserInfo.IsIE ) - oDoc.body.contentEditable = true ; - else - { - try - { - oDoc.designMode = 'on' ; - - // Tell Gecko to use or not the tag for the bold, italic and underline. - oDoc.execCommand( 'useCSS', false, !FCKConfig.GeckoUseSPAN ) ; - - // Analysing Firefox 1.5 source code, it seams that there is support for a - // "insertBrOnReturn" command. Applying it gives no error, but it doesn't - // gives the same behavior that you have with IE. It works only if you are - // already inside a paragraph and it doesn't render correctly in the first enter. - // oDoc.execCommand( 'insertBrOnReturn', false, false ) ; - - // Tell Gecko (Firefox 1.5+) to enable or not live resizing of objects (by Alfonso Martinez) - oDoc.execCommand( 'enableObjectResizing', false, !FCKConfig.DisableObjectResizing ) ; - - // Disable the standard table editing features of Firefox. - oDoc.execCommand( 'enableInlineTableEditing', false, !FCKConfig.DisableFFTableHandles ) ; - } - catch (e) {} - } -} - -FCKEditingArea.prototype.Focus = function() -{ - try - { - if ( this.Mode == FCK_EDITMODE_WYSIWYG ) - { - if ( FCKBrowserInfo.IsSafari ) - this.IFrame.focus() ; - else - this.Window.focus() ; - } - else - this.Textarea.focus() ; - } - catch(e) {} -} - -function FCKEditingArea_Cleanup() -{ - this.TargetElement = null ; - this.IFrame = null ; - this.Document = null ; - this.Textarea = null ; - - if ( this.Window ) - { - this.Window._FCKEditingArea = null ; - this.Window = null ; - } -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckevents.js b/htdocs/includes/fckeditor/editor/_source/classes/fckevents.js deleted file mode 100644 index cd1e2ad48cb..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckevents.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckevents.js - * FCKEvents Class: used to handle events is a advanced way. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKEvents ; - -FCKEvents = function( eventsOwner ) -{ - this.Owner = eventsOwner ; - this.RegisteredEvents = new Object() ; -} - -FCKEvents.prototype.AttachEvent = function( eventName, functionPointer ) -{ - var aTargets ; - - if ( !( aTargets = this.RegisteredEvents[ eventName ] ) ) - this.RegisteredEvents[ eventName ] = [ functionPointer ] ; - else - aTargets.push( functionPointer ) ; -} - -FCKEvents.prototype.FireEvent = function( eventName, params ) -{ - var bReturnValue = true ; - - var oCalls = this.RegisteredEvents[ eventName ] ; - - if ( oCalls ) - { - for ( var i = 0 ; i < oCalls.length ; i++ ) - bReturnValue = ( oCalls[ i ]( this.Owner, params ) && bReturnValue ) ; - } - - return bReturnValue ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckicon.js b/htdocs/includes/fckeditor/editor/_source/classes/fckicon.js deleted file mode 100644 index 665e44ad128..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckicon.js +++ /dev/null @@ -1,86 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckicon.js - * FCKIcon Class: renders an icon from a single image, a strip or even a - * spacer. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKIcon = function( iconPathOrStripInfoArray ) -{ - var sTypeOf = iconPathOrStripInfoArray ? typeof( iconPathOrStripInfoArray ) : 'undefined' ; - switch ( sTypeOf ) - { - case 'number' : - this.Path = FCKConfig.SkinPath + 'fck_strip.gif' ; - this.Size = 16 ; - this.Position = iconPathOrStripInfoArray ; - break ; - - case 'undefined' : - this.Path = FCK_SPACER_PATH ; - break ; - - case 'string' : - this.Path = iconPathOrStripInfoArray ; - break ; - - default : - // It is an array in the format [ StripFilePath, IconSize, IconPosition ] - this.Path = iconPathOrStripInfoArray[0] ; - this.Size = iconPathOrStripInfoArray[1] ; - this.Position = iconPathOrStripInfoArray[2] ; - } -} - -FCKIcon.prototype.CreateIconElement = function( document ) -{ - var eIcon ; - - if ( this.Position ) // It is using an icons strip image. - { - var sPos = '-' + ( ( this.Position - 1 ) * this.Size ) + 'px' ; - - if ( FCKBrowserInfo.IsIE ) - { - //
- - eIcon = document.createElement( 'DIV' ) ; - - var eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ; - eIconImage.src = this.Path ; - eIconImage.style.top = sPos ; - } - else - { - // - - eIcon = document.createElement( 'IMG' ) ; - eIcon.src = FCK_SPACER_PATH ; - eIcon.style.backgroundPosition = '0px ' + sPos ; - eIcon.style.backgroundImage = 'url(' + this.Path + ')' ; - } - } - else // It is using a single icon image. - { - // - eIcon = document.createElement( 'IMG' ) ; - eIcon.src = this.Path ? this.Path : FCK_SPACER_PATH ; - } - - eIcon.className = 'TB_Button_Image' ; - - return eIcon ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckiecleanup.js b/htdocs/includes/fckeditor/editor/_source/classes/fckiecleanup.js deleted file mode 100644 index c06d40891d8..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckiecleanup.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckiecleanup.js - * FCKIECleanup Class: a generic class used as a tool to remove IE leaks. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - - -var FCKIECleanup = function( attachWindow ) -{ - - this.Items = new Array() ; - - attachWindow._FCKCleanupObj = this ; - attachWindow.attachEvent( 'onunload', FCKIECleanup_Cleanup ) ; -} - -FCKIECleanup.prototype.AddItem = function( dirtyItem, cleanupFunction ) -{ - this.Items.push( [ dirtyItem, cleanupFunction ] ) ; -} - -function FCKIECleanup_Cleanup() -{ - var aItems = this._FCKCleanupObj.Items ; - var iLenght = aItems.length ; - - for ( var i = 0 ; i < iLenght ; i++ ) - { - var oItem = aItems[i] ; - oItem[1].call( oItem[0] ) ; - aItems[i] = null ; - } - - this._FCKCleanupObj = null ; - - if ( CollectGarbage ) - CollectGarbage() ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckmenublock.js b/htdocs/includes/fckeditor/editor/_source/classes/fckmenublock.js deleted file mode 100644 index 3b6cd3d5b8d..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckmenublock.js +++ /dev/null @@ -1,135 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckmenublock.js - * Renders a list of menu items. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - - -var FCKMenuBlock = function() -{ - this._Items = new Array() ; -} - - -FCKMenuBlock.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) -{ - var oItem = new FCKMenuItem( this, name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) ; - - oItem.OnClick = FCKTools.CreateEventListener( FCKMenuBlock_Item_OnClick, this ) ; - oItem.OnActivate = FCKTools.CreateEventListener( FCKMenuBlock_Item_OnActivate, this ) ; - - this._Items.push( oItem ) ; - - return oItem ; -} - -FCKMenuBlock.prototype.AddSeparator = function() -{ - this._Items.push( new FCKMenuSeparator() ) ; -} - -FCKMenuBlock.prototype.RemoveAllItems = function() -{ - this._Items = new Array() ; - - var eItemsTable = this._ItemsTable ; - if ( eItemsTable ) - { - while ( eItemsTable.rows.length > 0 ) - eItemsTable.deleteRow( 0 ) ; - } -} - -FCKMenuBlock.prototype.Create = function( parentElement ) -{ - if ( !this._ItemsTable ) - { - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKMenuBlock_Cleanup ) ; - - this._Window = FCKTools.GetElementWindow( parentElement ) ; - - var oDoc = parentElement.ownerDocument ; - - var eTable = parentElement.appendChild( oDoc.createElement( 'table' ) ) ; - eTable.cellPadding = 0 ; - eTable.cellSpacing = 0 ; - - FCKTools.DisableSelection( eTable ) ; - - var oMainElement = eTable.insertRow(-1).insertCell(-1) ; - oMainElement.className = 'MN_Menu' ; - - var eItemsTable = this._ItemsTable = oMainElement.appendChild( oDoc.createElement( 'table' ) ) ; - eItemsTable.cellPadding = 0 ; - eItemsTable.cellSpacing = 0 ; - } - - for ( var i = 0 ; i < this._Items.length ; i++ ) - this._Items[i].Create( this._ItemsTable ) ; -} - -/* Events */ - -function FCKMenuBlock_Item_OnClick( clickedItem, menuBlock ) -{ - FCKTools.RunFunction( menuBlock.OnClick, menuBlock, [ clickedItem ] ) ; -} - -function FCKMenuBlock_Item_OnActivate( menuBlock ) -{ - var oActiveItem = menuBlock._ActiveItem ; - - if ( oActiveItem && oActiveItem != this ) - { - // Set the focus to this menu block window (to fire OnBlur on opened panels). - if ( !FCKBrowserInfo.IsIE && oActiveItem.HasSubMenu && !this.HasSubMenu ) - menuBlock._Window.focus() ; - - oActiveItem.Deactivate() ; - } - - menuBlock._ActiveItem = this ; -} - -function FCKMenuBlock_Cleanup() -{ - this._Window = null ; - this._ItemsTable = null ; -} - -// ################# // - -var FCKMenuSeparator = function() -{} - -FCKMenuSeparator.prototype.Create = function( parentTable ) -{ - var oDoc = parentTable.ownerDocument ; // This is IE 6+ - - var r = parentTable.insertRow(-1) ; - - var eCell = r.insertCell(-1) ; - eCell.className = 'MN_Separator MN_Icon' ; - - eCell = r.insertCell(-1) ; - eCell.className = 'MN_Separator' ; - eCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'MN_Separator_Line' ; - - eCell = r.insertCell(-1) ; - eCell.className = 'MN_Separator' ; - eCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'MN_Separator_Line' ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckmenublockpanel.js b/htdocs/includes/fckeditor/editor/_source/classes/fckmenublockpanel.js deleted file mode 100644 index c149e1998e1..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckmenublockpanel.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckmenublockpanel.js - * This class is a menu block that behaves like a panel. It's a mix of the - * FCKMenuBlock and FCKPanel classes. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - - -var FCKMenuBlockPanel = function() -{ - // Call the "base" constructor. - FCKMenuBlock.call( this ) ; -} - -FCKMenuBlockPanel.prototype = new FCKMenuBlock() ; - - -// Override the create method. -FCKMenuBlockPanel.prototype.Create = function() -{ - var oPanel = this.Panel = ( this.Parent && this.Parent.Panel ? this.Parent.Panel.CreateChildPanel() : new FCKPanel() ) ; - oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; - - // Call the "base" implementation. - FCKMenuBlock.prototype.Create.call( this, oPanel.MainNode ) ; -} - -FCKMenuBlockPanel.prototype.Show = function( x, y, relElement ) -{ - if ( !this.Panel.CheckIsOpened() ) - this.Panel.Show( x, y, relElement ) ; -} - -FCKMenuBlockPanel.prototype.Hide = function() -{ - if ( this.Panel.CheckIsOpened() ) - this.Panel.Hide() ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckmenuitem.js b/htdocs/includes/fckeditor/editor/_source/classes/fckmenuitem.js deleted file mode 100644 index fb0502a69f2..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckmenuitem.js +++ /dev/null @@ -1,157 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckmenuitem.js - * Defines and renders a menu items in a menu block. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - - -var FCKMenuItem = function( parentMenuBlock, name, label, iconPathOrStripInfoArray, isDisabled ) -{ - this.Name = name ; - this.Label = label || name ; - this.IsDisabled = isDisabled ; - - this.Icon = new FCKIcon( iconPathOrStripInfoArray ) ; - - this.SubMenu = new FCKMenuBlockPanel() ; - this.SubMenu.Parent = parentMenuBlock ; - this.SubMenu.OnClick = FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnClick, this ) ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKMenuItem_Cleanup ) ; -} - - -FCKMenuItem.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) -{ - this.HasSubMenu = true ; - return this.SubMenu.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled ) ; -} - -FCKMenuItem.prototype.AddSeparator = function() -{ - this.SubMenu.AddSeparator() ; -} - -FCKMenuItem.prototype.Create = function( parentTable ) -{ - var bHasSubMenu = this.HasSubMenu ; - - var oDoc = parentTable.ownerDocument ; // This is not IE 5.5 - - // Add a row in the table to hold the menu item. - var r = this.MainElement = parentTable.insertRow(-1) ; - r.className = this.IsDisabled ? 'MN_Item_Disabled' : 'MN_Item' ; - - // Set the row behavior. - if ( !this.IsDisabled ) - { - FCKTools.AddEventListenerEx( r, 'mouseover', FCKMenuItem_OnMouseOver, [ this ] ) ; - FCKTools.AddEventListenerEx( r, 'click', FCKMenuItem_OnClick, [ this ] ) ; - - if ( !bHasSubMenu ) - FCKTools.AddEventListenerEx( r, 'mouseout', FCKMenuItem_OnMouseOut, [ this ] ) ; - } - - // Create the icon cell. - var eCell = r.insertCell(-1) ; - eCell.className = 'MN_Icon' ; - eCell.appendChild( this.Icon.CreateIconElement( oDoc ) ) ; - - // Create the label cell. - eCell = r.insertCell(-1) ; - eCell.className = 'MN_Label' ; - eCell.noWrap = true ; - eCell.appendChild( oDoc.createTextNode( this.Label ) ) ; - - // Create the arrow cell and setup the sub menu panel (if needed). - eCell = r.insertCell(-1) ; - if ( bHasSubMenu ) - { - eCell.className = 'MN_Arrow' ; - - // The arrow is a fixed size image. - var eArrowImg = eCell.appendChild( oDoc.createElement( 'IMG' ) ) ; - eArrowImg.src = FCK_IMAGES_PATH + 'arrow_' + FCKLang.Dir + '.gif' ; - eArrowImg.width = 4 ; - eArrowImg.height = 7 ; - - this.SubMenu.Create() ; - this.SubMenu.Panel.OnHide = FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnHide, this ) ; - } -} - -FCKMenuItem.prototype.Activate = function() -{ - this.MainElement.className = 'MN_Item_Over' ; - - if ( this.HasSubMenu ) - { - // Show the child menu block. The ( +2, -2 ) correction is done because - // of the padding in the skin. It is not a good solution because one - // could change the skin and so the final result would not be accurate. - // For now it is ok because we are controlling the skin. - this.SubMenu.Show( this.MainElement.offsetWidth + 2, -2, this.MainElement ) ; - } - - FCKTools.RunFunction( this.OnActivate, this ) ; -} - -FCKMenuItem.prototype.Deactivate = function() -{ - this.MainElement.className = 'MN_Item' ; - - if ( this.HasSubMenu ) - this.SubMenu.Hide() ; -} - -/* Events */ - -function FCKMenuItem_SubMenu_OnClick( clickedItem, listeningItem ) -{ - FCKTools.RunFunction( listeningItem.OnClick, listeningItem, [ clickedItem ] ) ; -} - -function FCKMenuItem_SubMenu_OnHide( menuItem ) -{ - menuItem.Deactivate() ; -} - -function FCKMenuItem_OnClick( ev, menuItem ) -{ - if ( menuItem.HasSubMenu ) - menuItem.Activate() ; - else - { - menuItem.Deactivate() ; - FCKTools.RunFunction( menuItem.OnClick, menuItem, [ menuItem ] ) ; - } -} - -function FCKMenuItem_OnMouseOver( ev, menuItem ) -{ - menuItem.Activate() ; -} - -function FCKMenuItem_OnMouseOut( ev, menuItem ) -{ - menuItem.Deactivate() ; -} - -function FCKMenuItem_Cleanup() -{ - this.MainElement = null ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckpanel.js b/htdocs/includes/fckeditor/editor/_source/classes/fckpanel.js deleted file mode 100644 index 27672e5703a..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckpanel.js +++ /dev/null @@ -1,290 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckpanel.js - * Component that creates floating panels. It is used by many - * other components, like the toolbar items, context menu, etc... - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - - -var FCKPanel = function( parentWindow ) -{ - this.IsRTL = ( FCKLang.Dir == 'rtl' ) ; - this.IsContextMenu = false ; - this._LockCounter = 0 ; - - this._Window = parentWindow || window ; - - var oDocument ; - - if ( FCKBrowserInfo.IsIE ) - { - // Create the Popup that will hold the panel. - this._Popup = this._Window.createPopup() ; - oDocument = this.Document = this._Popup.document ; - } - else - { - var oIFrame = this._IFrame = this._Window.document.createElement('iframe') ; - oIFrame.src = 'javascript:void(0)' ; - oIFrame.allowTransparency = true ; - oIFrame.frameBorder = '0' ; - oIFrame.scrolling = 'no' ; - oIFrame.style.position = 'absolute'; - oIFrame.style.zIndex = FCKConfig.FloatingPanelsZIndex ; - oIFrame.width = oIFrame.height = 0 ; - - this._Window.document.body.appendChild( oIFrame ) ; - - var oIFrameWindow = oIFrame.contentWindow ; - - oDocument = this.Document = oIFrameWindow.document ; - - // Initialize the IFRAME document body. - oDocument.open() ; - oDocument.write( '<\/body><\/html>' ) ; - oDocument.close() ; - - FCKTools.AddEventListenerEx( oIFrameWindow, 'focus', FCKPanel_Window_OnFocus, this ) ; - FCKTools.AddEventListenerEx( oIFrameWindow, 'blur', FCKPanel_Window_OnBlur, this ) ; - } - - oDocument.dir = FCKLang.Dir ; - - oDocument.oncontextmenu = FCKTools.CancelEvent ; - - - // Create the main DIV that is used as the panel base. - this.MainNode = oDocument.body.appendChild( oDocument.createElement('DIV') ) ; - - // The "float" property must be set so Firefox calculates the size correcly. - this.MainNode.style.cssFloat = this.IsRTL ? 'right' : 'left' ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKPanel_Cleanup ) ; -} - - -FCKPanel.prototype.AppendStyleSheet = function( styleSheet ) -{ - FCKTools.AppendStyleSheet( this.Document, styleSheet ) ; -} - -FCKPanel.prototype.Preload = function( x, y, relElement ) -{ - // The offsetWidth and offsetHeight properties are not available if the - // element is not visible. So we must "show" the popup with no size to - // be able to use that values in the second call (IE only). - if ( this._Popup ) - this._Popup.show( x, y, 0, 0, relElement ) ; -} - -FCKPanel.prototype.Show = function( x, y, relElement, width, height ) -{ - if ( this._Popup ) - { - // The offsetWidth and offsetHeight properties are not available if the - // element is not visible. So we must "show" the popup with no size to - // be able to use that values in the second call. - this._Popup.show( x, y, 0, 0, relElement ) ; - - // The following lines must be place after the above "show", otherwise it - // doesn't has the desired effect. - this.MainNode.style.width = width ? width + 'px' : '' ; - this.MainNode.style.height = height ? height + 'px' : '' ; - - var iMainWidth = this.MainNode.offsetWidth ; - - if ( this.IsRTL ) - { - if ( this.IsContextMenu ) - x = x - iMainWidth + 1 ; - else if ( relElement ) - x = ( x * -1 ) + relElement.offsetWidth - iMainWidth ; - } - - // Second call: Show the Popup at the specified location, with the correct size. - this._Popup.show( x, y, iMainWidth, this.MainNode.offsetHeight, relElement ) ; - - if ( this.OnHide ) - { - if ( this._Timer ) - CheckPopupOnHide.call( this, true ) ; - - this._Timer = FCKTools.SetInterval( CheckPopupOnHide, 100, this ) ; - } - } - else - { - // Do not fire OnBlur while the panel is opened. - FCKFocusManager.Lock() ; - - if ( this.ParentPanel ) - this.ParentPanel.Lock() ; - - this.MainNode.style.width = width ? width + 'px' : '' ; - this.MainNode.style.height = height ? height + 'px' : '' ; - - var iMainWidth = this.MainNode.offsetWidth ; - - if ( !width ) this._IFrame.width = 1 ; - if ( !height ) this._IFrame.height = 1 ; - - // This is weird... but with Firefox, we must get the offsetWidth before - // setting the _IFrame size (which returns "0"), and then after that, - // to return the correct width. Remove the first step and it will not - // work when the editor is in RTL. - iMainWidth = this.MainNode.offsetWidth ; - - var oPos = FCKTools.GetElementPosition( ( relElement.nodeType == 9 ? relElement.body : relElement), this._Window ) ; - - if ( this.IsRTL && !this.IsContextMenu ) - x = ( x * -1 ) ; - - x += oPos.X ; - y += oPos.Y ; - - if ( this.IsRTL ) - { - if ( this.IsContextMenu ) - x = x - iMainWidth + 1 ; - else if ( relElement ) - x = x + relElement.offsetWidth - iMainWidth ; - } - else - { - var oViewPaneSize = FCKTools.GetViewPaneSize( this._Window ) ; - var oScrollPosition = FCKTools.GetScrollPosition( this._Window ) ; - - var iViewPaneHeight = oViewPaneSize.Height + oScrollPosition.Y ; - var iViewPaneWidth = oViewPaneSize.Width + oScrollPosition.X ; - - if ( ( x + iMainWidth ) > iViewPaneWidth ) - x -= x + iMainWidth - iViewPaneWidth ; - - if ( ( y + this.MainNode.offsetHeight ) > iViewPaneHeight ) - y -= y + this.MainNode.offsetHeight - iViewPaneHeight ; - } - - if ( x < 0 ) - x = 0 ; - - // Set the context menu DIV in the specified location. - this._IFrame.style.left = x + 'px' ; - this._IFrame.style.top = y + 'px' ; - - var iWidth = iMainWidth ; - var iHeight = this.MainNode.offsetHeight ; - - this._IFrame.width = iWidth ; - this._IFrame.height = iHeight ; - - // Move the focus to the IFRAME so we catch the "onblur". - this._IFrame.contentWindow.focus() ; - } - - this._IsOpened = true ; - - FCKTools.RunFunction( this.OnShow, this ) ; -} - -FCKPanel.prototype.Hide = function( ignoreOnHide ) -{ - if ( this._Popup ) - this._Popup.hide() ; - else - { - if ( !this._IsOpened ) - return ; - - // Enable the editor to fire the "OnBlur". - FCKFocusManager.Unlock() ; - - // It is better to set the sizes to 0, otherwise Firefox would have - // rendering problems. - this._IFrame.width = this._IFrame.height = 0 ; - - this._IsOpened = false ; - - if ( this.ParentPanel ) - this.ParentPanel.Unlock() ; - - if ( !ignoreOnHide ) - FCKTools.RunFunction( this.OnHide, this ) ; - } -} - -FCKPanel.prototype.CheckIsOpened = function() -{ - if ( this._Popup ) - return this._Popup.isOpen ; - else - return this._IsOpened ; -} - -FCKPanel.prototype.CreateChildPanel = function() -{ - var oWindow = this._Popup ? FCKTools.GetParentWindow( this.Document ) : this._Window ; - - var oChildPanel = new FCKPanel( oWindow, true ) ; - oChildPanel.ParentPanel = this ; - - return oChildPanel ; -} - -FCKPanel.prototype.Lock = function() -{ - this._LockCounter++ ; -} - -FCKPanel.prototype.Unlock = function() -{ - if ( --this._LockCounter == 0 && !this.HasFocus ) - this.Hide() ; -} - -/* Events */ - -function FCKPanel_Window_OnFocus( e, panel ) -{ - panel.HasFocus = true ; -} - -function FCKPanel_Window_OnBlur( e, panel ) -{ - panel.HasFocus = false ; - - if ( panel._LockCounter == 0 ) - FCKTools.RunFunction( panel.Hide, panel ) ; -} - -function CheckPopupOnHide( forceHide ) -{ - if ( forceHide || !this._Popup.isOpen ) - { - window.clearInterval( this._Timer ) ; - this._Timer = null ; - - FCKTools.RunFunction( this.OnHide, this ) ; - } -} - -function FCKPanel_Cleanup() -{ - this._Popup = null ; - this._Window = null ; - this.Document = null ; - this.MainNode = null ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckplugin.js b/htdocs/includes/fckeditor/editor/_source/classes/fckplugin.js deleted file mode 100644 index b94799800a0..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckplugin.js +++ /dev/null @@ -1,52 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckplugin.js - * FCKPlugin Class: Represents a single plugin. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKPlugin = function( name, availableLangs, basePath ) -{ - this.Name = name ; - this.BasePath = basePath ? basePath : FCKConfig.PluginsPath ; - this.Path = this.BasePath + name + '/' ; - - if ( !availableLangs || availableLangs.length == 0 ) - this.AvailableLangs = new Array() ; - else - this.AvailableLangs = availableLangs.split(',') ; -} - -FCKPlugin.prototype.Load = function() -{ - // Load the language file, if defined. - if ( this.AvailableLangs.length > 0 ) - { - var sLang ; - - // Check if the plugin has the language file for the active language. - if ( this.AvailableLangs.indexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 ) - sLang = FCKLanguageManager.ActiveLanguage.Code ; - else - // Load the default language file (first one) if the current one is not available. - sLang = this.AvailableLangs[0] ; - - // Add the main plugin script. - LoadScript( this.Path + 'lang/' + sLang + '.js' ) ; - } - - // Add the main plugin script. - LoadScript( this.Path + 'fckplugin.js' ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckspecialcombo.js b/htdocs/includes/fckeditor/editor/_source/classes/fckspecialcombo.js deleted file mode 100644 index baf37d2e353..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckspecialcombo.js +++ /dev/null @@ -1,350 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckspecialcombo.js - * FCKSpecialCombo Class: represents a special combo. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKSpecialCombo = function( caption, fieldWidth, panelWidth, panelMaxHeight, parentWindow ) -{ - // Default properties values. - this.FieldWidth = fieldWidth || 100 ; - this.PanelWidth = panelWidth || 150 ; - this.PanelMaxHeight = panelMaxHeight || 150 ; - this.Label = ' ' ; - this.Caption = caption ; - this.Tooltip = caption ; - this.Style = FCK_TOOLBARITEM_ICONTEXT ; - - this.Enabled = true ; - - this.Items = new Object() ; - - this._Panel = new FCKPanel( parentWindow || window, true ) ; - this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; - this._PanelBox = this._Panel.MainNode.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ; - this._PanelBox.className = 'SC_Panel' ; - this._PanelBox.style.width = this.PanelWidth + 'px' ; - - this._PanelBox.innerHTML = '
' ; - - this._ItemsHolderEl = this._PanelBox.getElementsByTagName('TD')[0] ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKSpecialCombo_Cleanup ) ; - -// this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; -// this._Panel.Create() ; -// this._Panel.PanelDiv.className += ' SC_Panel' ; -// this._Panel.PanelDiv.innerHTML = '
' ; -// this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ; -} - -function FCKSpecialCombo_ItemOnMouseOver() -{ - this.className += ' SC_ItemOver' ; -} - -function FCKSpecialCombo_ItemOnMouseOut() -{ - this.className = this.originalClass ; -} - -function FCKSpecialCombo_ItemOnClick() -{ - this.className = this.originalClass ; - - this.FCKSpecialCombo._Panel.Hide() ; - - this.FCKSpecialCombo.SetLabel( this.FCKItemLabel ) ; - - if ( typeof( this.FCKSpecialCombo.OnSelect ) == 'function' ) - this.FCKSpecialCombo.OnSelect( this.FCKItemID, this ) ; -} - -FCKSpecialCombo.prototype.AddItem = function( id, html, label, bgColor ) -{ - //
Bold 1
- var oDiv = this._ItemsHolderEl.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ; - oDiv.className = oDiv.originalClass = 'SC_Item' ; - oDiv.innerHTML = html ; - oDiv.FCKItemID = id ; - oDiv.FCKItemLabel = label || id ; - oDiv.FCKSpecialCombo = this ; - oDiv.Selected = false ; - - // In IE, the width must be set so the borders are shown correctly when the content overflows. - if ( FCKBrowserInfo.IsIE ) - oDiv.style.width = '100%' ; - - if ( bgColor ) - oDiv.style.backgroundColor = bgColor ; - - oDiv.onmouseover = FCKSpecialCombo_ItemOnMouseOver ; - oDiv.onmouseout = FCKSpecialCombo_ItemOnMouseOut ; - oDiv.onclick = FCKSpecialCombo_ItemOnClick ; - - this.Items[ id.toString().toLowerCase() ] = oDiv ; - - return oDiv ; -} - -FCKSpecialCombo.prototype.SelectItem = function( itemId ) -{ - itemId = itemId ? itemId.toString().toLowerCase() : '' ; - - var oDiv = this.Items[ itemId ] ; - if ( oDiv ) - { - oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ; - oDiv.Selected = true ; - } -} - -FCKSpecialCombo.prototype.SelectItemByLabel = function( itemLabel, setLabel ) -{ - for ( var id in this.Items ) - { - var oDiv = this.Items[id] ; - - if ( oDiv.FCKItemLabel == itemLabel ) - { - oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ; - oDiv.Selected = true ; - - if ( setLabel ) - this.SetLabel( itemLabel ) ; - } - } -} - -FCKSpecialCombo.prototype.DeselectAll = function( clearLabel ) -{ - for ( var i in this.Items ) - { - this.Items[i].className = this.Items[i].originalClass = 'SC_Item' ; - this.Items[i].Selected = false ; - } - - if ( clearLabel ) - this.SetLabel( '' ) ; -} - -FCKSpecialCombo.prototype.SetLabelById = function( id ) -{ - id = id ? id.toString().toLowerCase() : '' ; - - var oDiv = this.Items[ id ] ; - this.SetLabel( oDiv ? oDiv.FCKItemLabel : '' ) ; -} - -FCKSpecialCombo.prototype.SetLabel = function( text ) -{ - this.Label = text.length == 0 ? ' ' : text ; - - if ( this._LabelEl ) - this._LabelEl.innerHTML = this.Label ; -} - -FCKSpecialCombo.prototype.SetEnabled = function( isEnabled ) -{ - this.Enabled = isEnabled ; - - this._OuterTable.className = isEnabled ? '' : 'SC_FieldDisabled' ; -} - -FCKSpecialCombo.prototype.Create = function( targetElement ) -{ - var eOuterTable = this._OuterTable = targetElement.appendChild( targetElement.ownerDocument.createElement( 'TABLE' ) ) ; - eOuterTable.cellPadding = 0 ; - eOuterTable.cellSpacing = 0 ; - - eOuterTable.insertRow(-1) ; - - var sClass ; - var bShowLabel ; - - switch ( this.Style ) - { - case FCK_TOOLBARITEM_ONLYICON : - sClass = 'TB_ButtonType_Icon' ; - bShowLabel = false; - break ; - case FCK_TOOLBARITEM_ONLYTEXT : - sClass = 'TB_ButtonType_Text' ; - bShowLabel = false; - break ; - case FCK_TOOLBARITEM_ICONTEXT : - bShowLabel = true; - break ; - } - - if ( this.Caption && this.Caption.length > 0 && bShowLabel ) - { - var oCaptionCell = eOuterTable.rows[0].insertCell(-1) ; - oCaptionCell.innerHTML = this.Caption ; - oCaptionCell.className = 'SC_FieldCaption' ; - } - - // Create the main DIV element. - var oField = eOuterTable.rows[0].insertCell(-1).appendChild( targetElement.ownerDocument.createElement( 'DIV' ) ) ; - if ( bShowLabel ) - { - oField.className = 'SC_Field' ; - oField.style.width = this.FieldWidth + 'px' ; - oField.innerHTML = '
 
' ; - - this._LabelEl = oField.getElementsByTagName('label')[0] ; // Memory Leak - this._LabelEl.innerHTML = this.Label ; - } - else - { - oField.className = 'TB_Button_Off' ; - //oField.innerHTML = '' + this.Caption + '
 
' ; - //oField.innerHTML = '
 
' ; - - // Gets the correct CSS class to use for the specified style (param). - oField.innerHTML = '' + - '' + - //'' + - '' + - '' + - '' + - '' + - '' + - '' + - '
' + this.Caption + '
' ; - } - - - // Events Handlers - - oField.SpecialCombo = this ; - - oField.onmouseover = FCKSpecialCombo_OnMouseOver ; - oField.onmouseout = FCKSpecialCombo_OnMouseOut ; - oField.onclick = FCKSpecialCombo_OnClick ; - - FCKTools.DisableSelection( this._Panel.Document.body ) ; -} - -function FCKSpecialCombo_Cleanup() -{ - this._LabelEl = null ; - this._OuterTable = null ; - this._ItemsHolderEl = null ; - this._PanelBox = null ; - - if ( this.Items ) - { - for ( var key in this.Items ) - this.Items[key] = null ; - } -} - -function FCKSpecialCombo_OnMouseOver() -{ - if ( this.SpecialCombo.Enabled ) - { - switch ( this.SpecialCombo.Style ) - { - case FCK_TOOLBARITEM_ONLYICON : - this.className = 'TB_Button_On_Over'; - break ; - case FCK_TOOLBARITEM_ONLYTEXT : - this.className = 'TB_Button_On_Over'; - break ; - case FCK_TOOLBARITEM_ICONTEXT : - this.className = 'SC_Field SC_FieldOver' ; - break ; - } - } -} - -function FCKSpecialCombo_OnMouseOut() -{ - switch ( this.SpecialCombo.Style ) - { - case FCK_TOOLBARITEM_ONLYICON : - this.className = 'TB_Button_Off'; - break ; - case FCK_TOOLBARITEM_ONLYTEXT : - this.className = 'TB_Button_Off'; - break ; - case FCK_TOOLBARITEM_ICONTEXT : - this.className='SC_Field' ; - break ; - } -} - -function FCKSpecialCombo_OnClick( e ) -{ - // For Mozilla we must stop the event propagation to avoid it hiding - // the panel because of a click outside of it. -// if ( e ) -// { -// e.stopPropagation() ; -// FCKPanelEventHandlers.OnDocumentClick( e ) ; -// } - - var oSpecialCombo = this.SpecialCombo ; - - if ( oSpecialCombo.Enabled ) - { - var oPanel = oSpecialCombo._Panel ; - var oPanelBox = oSpecialCombo._PanelBox ; - var oItemsHolder = oSpecialCombo._ItemsHolderEl ; - var iMaxHeight = oSpecialCombo.PanelMaxHeight ; - - if ( oSpecialCombo.OnBeforeClick ) - oSpecialCombo.OnBeforeClick( oSpecialCombo ) ; - - // This is a tricky thing. We must call the "Load" function, otherwise - // it will not be possible to retrieve "oItemsHolder.offsetHeight" (IE only). - if ( FCKBrowserInfo.IsIE ) - oPanel.Preload( 0, this.offsetHeight, this ) ; - - if ( oItemsHolder.offsetHeight > iMaxHeight ) -// { - oPanelBox.style.height = iMaxHeight + 'px' ; - -// if ( FCKBrowserInfo.IsGecko ) -// oPanelBox.style.overflow = '-moz-scrollbars-vertical' ; -// } - else - oPanelBox.style.height = '' ; - -// oPanel.PanelDiv.style.width = oSpecialCombo.PanelWidth + 'px' ; - - oPanel.Show( 0, this.offsetHeight, this ) ; - } - -// return false ; -} - -/* -Sample Combo Field HTML output: - -
- - - - - - - -
 
-
-*/ \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef.js b/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef.js deleted file mode 100644 index b2789509ae6..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckstyledef.js - * FCKStyleDef Class: represents a single style definition. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKStyleDef = function( name, element ) -{ - this.Name = name ; - this.Element = element.toUpperCase() ; - this.IsObjectElement = FCKRegexLib.ObjectElements.test( this.Element ) ; - this.Attributes = new Object() ; -} - -FCKStyleDef.prototype.AddAttribute = function( name, value ) -{ - this.Attributes[ name ] = value ; -} - -FCKStyleDef.prototype.GetOpenerTag = function() -{ - var s = '<' + this.Element ; - - for ( var a in this.Attributes ) - s += ' ' + a + '="' + this.Attributes[a] + '"' ; - - return s + '>' ; -} - -FCKStyleDef.prototype.GetCloserTag = function() -{ - return '' ; -} - - -FCKStyleDef.prototype.RemoveFromSelection = function() -{ - if ( FCKSelection.GetType() == 'Control' ) - this._RemoveMe( FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement() ) ; - else - this._RemoveMe( FCK.ToolbarSet.CurrentInstance.Selection.GetParentElement() ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef_gecko.js b/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef_gecko.js deleted file mode 100644 index b43c8fcd9b5..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef_gecko.js +++ /dev/null @@ -1,116 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckstyledef_gecko.js - * FCKStyleDef Class: represents a single stylke definition. (Gecko specific) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -FCKStyleDef.prototype.ApplyToSelection = function() -{ - if ( FCKSelection.GetType() == 'Text' && !this.IsObjectElement ) - { - var oSelection = FCK.ToolbarSet.CurrentInstance.EditorWindow.getSelection() ; - - // Create the main element. - var e = FCK.ToolbarSet.CurrentInstance.EditorDocument.createElement( this.Element ) ; - - for ( var i = 0 ; i < oSelection.rangeCount ; i++ ) - { - e.appendChild( oSelection.getRangeAt(i).extractContents() ) ; - } - - // Set the attributes. - this._AddAttributes( e ) ; - - // Remove the duplicated elements. - this._RemoveDuplicates( e ) ; - - var oRange = oSelection.getRangeAt(0) ; - oRange.insertNode( e ) ; - } - else - { - var oControl = FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement() ; - if ( oControl.tagName == this.Element ) - this._AddAttributes( oControl ) ; - } -} - -FCKStyleDef.prototype._AddAttributes = function( targetElement ) -{ - for ( var a in this.Attributes ) - { - switch ( a.toLowerCase() ) - { - case 'src' : - targetElement.setAttribute( '_fcksavedurl', this.Attributes[a], 0 ) ; - - default : - targetElement.setAttribute( a, this.Attributes[a], 0 ) ; - } - } -} - -FCKStyleDef.prototype._RemoveDuplicates = function( parent ) -{ - for ( var i = 0 ; i < parent.childNodes.length ; i++ ) - { - var oChild = parent.childNodes[i] ; - - if ( oChild.nodeType != 1 ) - continue ; - - this._RemoveDuplicates( oChild ) ; - - if ( this.IsEqual( oChild ) ) - FCKTools.RemoveOuterTags( oChild ) ; - } -} - -FCKStyleDef.prototype.IsEqual = function( e ) -{ - if ( e.tagName != this.Element ) - return false ; - - for ( var a in this.Attributes ) - { - if ( e.getAttribute( a ) != this.Attributes[a] ) - return false ; - } - - return true ; -} - -FCKStyleDef.prototype._RemoveMe = function( elementToCheck ) -{ - if ( ! elementToCheck ) - return ; - - var oParent = elementToCheck.parentNode ; - - if ( elementToCheck.nodeType == 1 && this.IsEqual( elementToCheck ) ) - { - if ( this.IsObjectElement ) - { - for ( var a in this.Attributes ) - elementToCheck.removeAttribute( a, 0 ) ; - return ; - } - else - FCKTools.RemoveOuterTags( elementToCheck ) ; - } - - this._RemoveMe( oParent ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef_ie.js b/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef_ie.js deleted file mode 100644 index b02f82f22e4..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckstyledef_ie.js +++ /dev/null @@ -1,139 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckstyledef_ie.js - * FCKStyleDef Class: represents a single stylke definition. (IE specific) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -FCKStyleDef.prototype.ApplyToSelection = function() -{ - var oSelection = FCK.ToolbarSet.CurrentInstance.EditorDocument.selection ; - - if ( oSelection.type == 'Text' ) - { - var oRange = oSelection.createRange() ; - - // Create the main element. - var e = document.createElement( this.Element ) ; - e.innerHTML = oRange.htmlText ; - - // Set the attributes. - this._AddAttributes( e ) ; - - // Remove the duplicated elements. - this._RemoveDuplicates( e ) ; - - // Replace the selection with the resulting HTML. - oRange.pasteHTML( e.outerHTML ) ; - } - else if ( oSelection.type == 'Control' ) - { - var oControl = FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement() ; - if ( oControl.tagName == this.Element ) - this._AddAttributes( oControl ) ; - } -} - -FCKStyleDef.prototype._AddAttributes = function( targetElement ) -{ - for ( var a in this.Attributes ) - { - switch ( a.toLowerCase() ) - { - case 'style' : - targetElement.style.cssText = this.Attributes[a] ; - break ; - - case 'class' : - targetElement.setAttribute( 'className', this.Attributes[a], 0 ) ; - break ; - - case 'src' : - targetElement.setAttribute( '_fcksavedurl', this.Attributes[a], 0 ) ; - - default : - targetElement.setAttribute( a, this.Attributes[a], 0 ) ; - } - } -} - -FCKStyleDef.prototype._RemoveDuplicates = function( parent ) -{ - for ( var i = 0 ; i < parent.children.length ; i++ ) - { - var oChild = parent.children[i] ; - this._RemoveDuplicates( oChild ) ; - - if ( this.IsEqual( oChild ) ) - FCKTools.RemoveOuterTags( oChild ) ; - } -} - -FCKStyleDef.prototype.IsEqual = function( e ) -{ - if ( e.tagName != this.Element ) - return false ; - - for ( var a in this.Attributes ) - { - switch ( a.toLowerCase() ) - { - case 'style' : - if ( e.style.cssText.toLowerCase() != this.Attributes[a].toLowerCase() ) - return false ; - break ; - case 'class' : - if ( e.getAttribute( 'className', 0 ) != this.Attributes[a] ) - return false ; - break ; - default : - if ( e.getAttribute( a, 0 ) != this.Attributes[a] ) - return false ; - } - } - - return true ; -} - -FCKStyleDef.prototype._RemoveMe = function( elementToCheck ) -{ - if ( ! elementToCheck ) - return ; - - var oParent = elementToCheck.parentElement ; - - if ( this.IsEqual( elementToCheck ) ) - { - if ( this.IsObjectElement ) - { - for ( var a in this.Attributes ) - { - switch ( a.toLowerCase() ) - { - case 'class' : - elementToCheck.removeAttribute( 'className', 0 ) ; - break ; - default : - elementToCheck.removeAttribute( a, 0 ) ; - } - } - return ; - } - else - FCKTools.RemoveOuterTags( elementToCheck ) ; - } - - this._RemoveMe( oParent ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckstylesloader.js b/htdocs/includes/fckeditor/editor/_source/classes/fckstylesloader.js deleted file mode 100644 index 575c07571bc..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckstylesloader.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckstylesloader.js - * FCKStylesLoader Class: this class define objects that are responsible - * for loading the styles defined in the XML file. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKStylesLoader = function() -{ - this.Styles = new Object() ; - this.StyleGroups = new Object() ; - this.Loaded = false ; - this.HasObjectElements = false ; -} - -FCKStylesLoader.prototype.Load = function( stylesXmlUrl ) -{ - // Load the XML file into a FCKXml object. - var oXml = new FCKXml() ; - oXml.LoadUrl( stylesXmlUrl ) ; - - // Get the "Style" nodes defined in the XML file. - var aStyleNodes = oXml.SelectNodes( 'Styles/Style' ) ; - - // Add each style to our "Styles" collection. - for ( var i = 0 ; i < aStyleNodes.length ; i++ ) - { - var sElement = aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase() ; - - // Create the style definition object. - var oStyleDef = new FCKStyleDef( aStyleNodes[i].attributes.getNamedItem('name').value, sElement ) ; - - if ( oStyleDef.IsObjectElement ) - this.HasObjectElements = true ; - - // Get the attributes defined for the style (if any). - var aAttNodes = oXml.SelectNodes( 'Attribute', aStyleNodes[i] ) ; - - // Add the attributes to the style definition object. - for ( var j = 0 ; j < aAttNodes.length ; j++ ) - { - var sAttName = aAttNodes[j].attributes.getNamedItem('name').value ; - var sAttValue = aAttNodes[j].attributes.getNamedItem('value').value ; - - // IE changes the "style" attribute value when applied to an element - // so we must get the final resulting value (for comparision issues). - if ( sAttName.toLowerCase() == 'style' ) - { - var oTempE = document.createElement( 'SPAN' ) ; - oTempE.style.cssText = sAttValue ; - sAttValue = oTempE.style.cssText ; - } - - oStyleDef.AddAttribute( sAttName, sAttValue ) ; - } - - // Add the style to the "Styles" collection using it's name as the key. - this.Styles[ oStyleDef.Name ] = oStyleDef ; - - // Add the style to the "StyleGroups" collection. - var aGroup = this.StyleGroups[sElement] ; - if ( aGroup == null ) - { - this.StyleGroups[sElement] = new Array() ; - aGroup = this.StyleGroups[sElement] ; - } - aGroup[aGroup.length] = oStyleDef ; - } - - this.Loaded = true ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbar.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbar.js deleted file mode 100644 index 15282e5aae9..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbar.js +++ /dev/null @@ -1,116 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbar.js - * FCKToolbar Class: represents a toolbar in the toolbarset. It is a group of - * toolbar items. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbar = function() -{ - this.Items = new Array() ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKToolbar_Cleanup ) ; -} - -FCKToolbar.prototype.AddItem = function( item ) -{ - return this.Items[ this.Items.length ] = item ; -} - -FCKToolbar.prototype.AddButton = function( name, label, tooltip, iconPathOrStripInfoArrayOrIndex, style, state ) -{ - if ( typeof( iconPathOrStripInfoArrayOrIndex ) == 'number' ) - iconPathOrStripInfoArrayOrIndex = [ this.DefaultIconsStrip, this.DefaultIconSize, iconPathOrStripInfoArrayOrIndex ] ; - - var oButton = new FCKToolbarButtonUI( name, label, tooltip, iconPathOrStripInfoArrayOrIndex, style, state ) ; - oButton._FCKToolbar = this ; - oButton.OnClick = FCKToolbar_OnItemClick ; - - return this.AddItem( oButton ) ; -} - -function FCKToolbar_OnItemClick( item ) -{ - var oToolbar = item._FCKToolbar ; - - if ( oToolbar.OnItemClick ) - oToolbar.OnItemClick( oToolbar, item ) ; -} - -FCKToolbar.prototype.AddSeparator = function() -{ - this.AddItem( new FCKToolbarSeparator() ) ; -} - -FCKToolbar.prototype.Create = function( parentElement ) -{ - if ( this.MainElement ) - { -// this._Cleanup() ; - if ( this.MainElement.parentNode ) - this.MainElement.parentNode.removeChild( this.MainElement ) ; - this.MainElement = null ; - } - - var oDoc = parentElement.ownerDocument ; // This is IE 6+ - - var e = this.MainElement = oDoc.createElement( 'table' ) ; - e.className = 'TB_Toolbar' ; - e.style.styleFloat = e.style.cssFloat = ( FCKLang.Dir == 'ltr' ? 'left' : 'right' ) ; - e.dir = FCKLang.Dir ; - e.cellPadding = 0 ; - e.cellSpacing = 0 ; - - this.RowElement = e.insertRow(-1) ; - - // Insert the start cell. - var eCell ; - - if ( !this.HideStart ) - { - eCell = this.RowElement.insertCell(-1) ; - eCell.appendChild( oDoc.createElement( 'div' ) ).className = 'TB_Start' ; - } - - for ( var i = 0 ; i < this.Items.length ; i++ ) - { - this.Items[i].Create( this.RowElement.insertCell(-1) ) ; - } - - // Insert the ending cell. - if ( !this.HideEnd ) - { - eCell = this.RowElement.insertCell(-1) ; - eCell.appendChild( oDoc.createElement( 'div' ) ).className = 'TB_End' ; - } - - parentElement.appendChild( e ) ; -} - -function FCKToolbar_Cleanup() -{ - this.MainElement = null ; - this.RowElement = null ; -} - -var FCKToolbarSeparator = function() -{} - -FCKToolbarSeparator.prototype.Create = function( parentElement ) -{ - parentElement.appendChild( parentElement.ownerDocument.createElement( 'div' ) ).className = 'TB_Separator' ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js deleted file mode 100644 index 89aeb67fd51..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarbreak_gecko.js - * FCKToolbarBreak Class: breaks the toolbars. - * It makes it possible to force the toolbar to break to a new line. - * This is the Gecko specific implementation. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarBreak = function() -{} - -FCKToolbarBreak.prototype.Create = function( targetElement ) -{ - var oBreakDiv = targetElement.ownerDocument.createElement( 'div' ) ; - - oBreakDiv.style.clear = oBreakDiv.style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ; - - targetElement.appendChild( oBreakDiv ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js deleted file mode 100644 index ea8034351e2..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarbreak_ie.js - * FCKToolbarBreak Class: breaks the toolbars. - * It makes it possible to force the toolbar to brak to a new line. - * This is the IE specific implementation. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarBreak = function() -{} - -FCKToolbarBreak.prototype.Create = function( targetElement ) -{ - var oBreakDiv = targetElement.ownerDocument.createElement( 'div' ) ; - - oBreakDiv.className = 'TB_Break' ; - - oBreakDiv.style.clear = FCKLang.Dir == 'rtl' ? 'left' : 'right' ; - - targetElement.appendChild( oBreakDiv ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbutton.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbutton.js deleted file mode 100644 index b4d38a64fdf..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbutton.js +++ /dev/null @@ -1,70 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarbutton.js - * FCKToolbarButton Class: represents a button in the toolbar. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarButton = function( commandName, label, tooltip, style, sourceView, contextSensitive, icon ) -{ - this.CommandName = commandName ; - this.Label = label ; - this.Tooltip = tooltip ; - this.Style = style ; - this.SourceView = sourceView ? true : false ; - this.ContextSensitive = contextSensitive ? true : false ; - - if ( icon == null ) - this.IconPath = FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ; - else if ( typeof( icon ) == 'number' ) - this.IconPath = [ FCKConfig.SkinPath + 'fck_strip.gif', 16, icon ] ; -} - -FCKToolbarButton.prototype.Create = function( targetElement ) -{ - this._UIButton = new FCKToolbarButtonUI( this.CommandName, this.Label, this.Tooltip, this.IconPath, this.Style ) ; - this._UIButton.OnClick = this.Click ; - this._UIButton._ToolbarButton = this ; - this._UIButton.Create( targetElement ) ; -} - -FCKToolbarButton.prototype.RefreshState = function() -{ - // Gets the actual state. - var eState = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).GetState() ; - - // If there are no state changes than do nothing and return. - if ( eState == this._UIButton.State ) return ; - - // Sets the actual state. - this._UIButton.ChangeState( eState ) ; -} - -FCKToolbarButton.prototype.Click = function() -{ - var oToolbarButton = this._ToolbarButton || this ; - FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( oToolbarButton.CommandName ).Execute() ; -} - -FCKToolbarButton.prototype.Enable = function() -{ - this.RefreshState() ; -} - -FCKToolbarButton.prototype.Disable = function() -{ - // Sets the actual state. - this._UIButton.ChangeState( FCK_TRISTATE_DISABLED ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js deleted file mode 100644 index 746a75337d0..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +++ /dev/null @@ -1,218 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarbuttonui.js - * FCKToolbarButtonUI Class: interface representation of a toolbar button. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarButtonUI = function( name, label, tooltip, iconPathOrStripInfoArray, style, state ) -{ - this.Name = name ; - this.Label = label || name ; - this.Tooltip = tooltip || this.Label ; - this.Style = style || FCK_TOOLBARITEM_ONLYICON ; - this.State = state || FCK_TRISTATE_OFF ; - - this.Icon = new FCKIcon( iconPathOrStripInfoArray ) ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKToolbarButtonUI_Cleanup ) ; -} - - -FCKToolbarButtonUI.prototype._CreatePaddingElement = function( document ) -{ - var oImg = document.createElement( 'IMG' ) ; - oImg.className = 'TB_Button_Padding' ; - oImg.src = FCK_SPACER_PATH ; - return oImg ; -} - -FCKToolbarButtonUI.prototype.Create = function( parentElement ) -{ - var oMainElement = this.MainElement ; - - if ( oMainElement ) - { - FCKToolbarButtonUI_Cleanup.call(this) ; - - if ( oMainElement.parentNode ) - oMainElement.parentNode.removeChild( oMainElement ) ; - oMainElement = this.MainElement = null ; - } - - var oDoc = parentElement.ownerDocument ; // This is IE 6+ - - // Create the Main Element. - oMainElement = this.MainElement = oDoc.createElement( 'DIV' ) ; - oMainElement._FCKButton = this ; // IE Memory Leak (Circular reference). - oMainElement.title = this.Tooltip ; - - // The following will prevent the button from catching the focus. - if ( FCKBrowserInfo.IsGecko ) - oMainElement.onmousedown = FCKTools.CancelEvent ; - - this.ChangeState( this.State, true ) ; - - if ( this.Style == FCK_TOOLBARITEM_ONLYICON && !this.ShowArrow ) - { - //
{Image}
- - oMainElement.appendChild( this.Icon.CreateIconElement( oDoc ) ) ; - } - else - { - //
{Image}Toolbar Button
- //
Toolbar Button
- - var oTable = oMainElement.appendChild( oDoc.createElement( 'TABLE' ) ) ; - oTable.cellPadding = 0 ; - oTable.cellSpacing = 0 ; - - var oRow = oTable.insertRow(-1) ; - - // The Image cell (icon or padding). - var oCell = oRow.insertCell(-1) ; - - if ( this.Style == FCK_TOOLBARITEM_ONLYICON || this.Style == FCK_TOOLBARITEM_ICONTEXT ) - oCell.appendChild( this.Icon.CreateIconElement( oDoc ) ) ; - else - oCell.appendChild( this._CreatePaddingElement( oDoc ) ) ; - - if ( this.Style == FCK_TOOLBARITEM_ONLYTEXT || this.Style == FCK_TOOLBARITEM_ICONTEXT ) - { - // The Text cell. - oCell = oRow.insertCell(-1) ; - oCell.className = 'TB_Button_Text' ; - oCell.noWrap = true ; - oCell.appendChild( oDoc.createTextNode( this.Label ) ) ; - } - - if ( this.ShowArrow ) - { - if ( this.Style != FCK_TOOLBARITEM_ONLYICON ) - { - // A padding cell. - oRow.insertCell(-1).appendChild( this._CreatePaddingElement( oDoc ) ) ; - } - - oCell = oRow.insertCell(-1) ; - var eImg = oCell.appendChild( oDoc.createElement( 'IMG' ) ) ; - eImg.src = FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ; - eImg.width = 5 ; - eImg.height = 3 ; - } - - // The last padding cell. - oCell = oRow.insertCell(-1) ; - oCell.appendChild( this._CreatePaddingElement( oDoc ) ) ; - } - - parentElement.appendChild( oMainElement ) ; -} - -FCKToolbarButtonUI.prototype.ChangeState = function( newState, force ) -{ - if ( !force && this.State == newState ) - return ; - - var e = this.MainElement ; - - switch ( parseInt( newState ) ) - { - case FCK_TRISTATE_OFF : - e.className = 'TB_Button_Off' ; - e.onmouseover = FCKToolbarButton_OnMouseOverOff ; - e.onmouseout = FCKToolbarButton_OnMouseOutOff ; - e.onclick = FCKToolbarButton_OnClick ; - - break ; - - case FCK_TRISTATE_ON : - e.className = 'TB_Button_On' ; - e.onmouseover = FCKToolbarButton_OnMouseOverOn ; - e.onmouseout = FCKToolbarButton_OnMouseOutOn ; - e.onclick = FCKToolbarButton_OnClick ; - - break ; - - case FCK_TRISTATE_DISABLED : - e.className = 'TB_Button_Disabled' ; - e.onmouseover = null ; - e.onmouseout = null ; - e.onclick = null ; - bEnableEvents = false ; - break ; - } - - this.State = newState ; -} - -function FCKToolbarButtonUI_Cleanup() -{ - if ( this.MainElement ) - { - this.MainElement._FCKButton = null ; - this.MainElement = null ; - } -} - -// Event Handlers. - -function FCKToolbarButton_OnMouseOverOn() -{ - this.className = 'TB_Button_On_Over' ; -} - -function FCKToolbarButton_OnMouseOutOn() -{ - this.className = 'TB_Button_On' ; -} - -function FCKToolbarButton_OnMouseOverOff() -{ - this.className = 'TB_Button_Off_Over' ; -} - -function FCKToolbarButton_OnMouseOutOff() -{ - this.className = 'TB_Button_Off' ; -} - -function FCKToolbarButton_OnClick( e ) -{ - if ( this._FCKButton.OnClick ) - this._FCKButton.OnClick( this._FCKButton ) ; -} - -/* - Sample outputs: - - This is the base structure. The variation is the image that is marked as {Image}: -
{Image}
-
{Image}Toolbar Button
-
Toolbar Button
- - These are samples of possible {Image} values: - - Strip - IE version: -
- - Strip : Firefox, Safari and Opera version - - - No-Strip : Browser independent: - -*/ \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js deleted file mode 100644 index 9d1288608ee..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +++ /dev/null @@ -1,99 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarfontformatcombo.js - * FCKToolbarPanelButton Class: Handles the Fonts combo selector. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarFontFormatCombo = function( tooltip, style ) -{ - this.CommandName = 'FontFormat' ; - this.Label = this.GetLabel() ; - this.Tooltip = tooltip ? tooltip : this.Label ; - this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; - - this.NormalLabel = 'Normal' ; - - this.PanelWidth = 190 ; -} - -// Inherit from FCKToolbarSpecialCombo. -FCKToolbarFontFormatCombo.prototype = new FCKToolbarSpecialCombo ; - - -FCKToolbarFontFormatCombo.prototype.GetLabel = function() -{ - return FCKLang.FontFormat ; -} - -FCKToolbarFontFormatCombo.prototype.CreateItems = function( targetSpecialCombo ) -{ - // Get the format names from the language file. - var aNames = FCKLang['FontFormats'].split(';') ; - var oNames = { - p : aNames[0], - pre : aNames[1], - address : aNames[2], - h1 : aNames[3], - h2 : aNames[4], - h3 : aNames[5], - h4 : aNames[6], - h5 : aNames[7], - h6 : aNames[8], - div : aNames[9] - } ; - - // Get the available formats from the configuration file. - var aTags = FCKConfig.FontFormats.split(';') ; - - for ( var i = 0 ; i < aTags.length ; i++ ) - { - // Support for DIV in Firefox has been reintroduced on version 2.2. -// if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko ) -// continue ; - - var sTag = aTags[i] ; - var sLabel = oNames[sTag] ; - - if ( sTag == 'p' ) - this.NormalLabel = sLabel ; - - this._Combo.AddItem( sTag, '
<' + sTag + '>' + sLabel + '
', sLabel ) ; - } -} - -if ( FCKBrowserInfo.IsIE ) -{ - FCKToolbarFontFormatCombo.prototype.RefreshActiveItems = function( combo, value ) - { -// FCKDebug.Output( 'FCKToolbarFontFormatCombo Value: ' + value ) ; - - // IE returns normal for DIV and P, so to avoid confusion, we will not show it if normal. - if ( value == this.NormalLabel ) - { - if ( combo.Label != ' ' ) - combo.DeselectAll(true) ; - } - else - { - if ( this._LastValue == value ) - return ; - - combo.SelectItemByLabel( value, true ) ; - } - - this._LastValue = value ; - } -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js deleted file mode 100644 index 4acbbfa035a..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarfontscombo.js - * FCKToolbarPanelButton Class: Handles the Fonts combo selector. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarFontsCombo = function( tooltip, style ) -{ - this.CommandName = 'FontName' ; - this.Label = this.GetLabel() ; - this.Tooltip = tooltip ? tooltip : this.Label ; - this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; -} - -// Inherit from FCKToolbarSpecialCombo. -FCKToolbarFontsCombo.prototype = new FCKToolbarSpecialCombo ; - - -FCKToolbarFontsCombo.prototype.GetLabel = function() -{ - return FCKLang.Font ; -} - -FCKToolbarFontsCombo.prototype.CreateItems = function( targetSpecialCombo ) -{ - var aFonts = FCKConfig.FontNames.split(';') ; - - for ( var i = 0 ; i < aFonts.length ; i++ ) - this._Combo.AddItem( aFonts[i], '' + aFonts[i] + '' ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js deleted file mode 100644 index 40fc378e31a..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +++ /dev/null @@ -1,48 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarfontsizecombo.js - * FCKToolbarPanelButton Class: Handles the Fonts combo selector. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarFontSizeCombo = function( tooltip, style ) -{ - this.CommandName = 'FontSize' ; - this.Label = this.GetLabel() ; - this.Tooltip = tooltip ? tooltip : this.Label ; - this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; -} - -// Inherit from FCKToolbarSpecialCombo. -FCKToolbarFontSizeCombo.prototype = new FCKToolbarSpecialCombo ; - - -FCKToolbarFontSizeCombo.prototype.GetLabel = function() -{ - return FCKLang.FontSize ; -} - -FCKToolbarFontSizeCombo.prototype.CreateItems = function( targetSpecialCombo ) -{ - targetSpecialCombo.FieldWidth = 70 ; - - var aSizes = FCKConfig.FontSizes.split(';') ; - - for ( var i = 0 ; i < aSizes.length ; i++ ) - { - var aSizeParts = aSizes[i].split('/') ; - this._Combo.AddItem( aSizeParts[0], '' + aSizeParts[1] + '', aSizeParts[1] ) ; - } -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js deleted file mode 100644 index 4a81fdc6902..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +++ /dev/null @@ -1,87 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarpanelbutton.js - * FCKToolbarPanelButton Class: represents a special button in the toolbar - * that shows a panel when pressed. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarPanelButton = function( commandName, label, tooltip, style, icon ) -{ - this.CommandName = commandName ; - - var oIcon ; - - if ( icon == null ) - oIcon = FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ; - else if ( typeof( icon ) == 'number' ) - oIcon = [ FCKConfig.SkinPath + 'fck_strip.gif', 16, icon ] ; - - var oUIButton = this._UIButton = new FCKToolbarButtonUI( commandName, label, tooltip, oIcon, style ) ; - oUIButton._FCKToolbarPanelButton = this ; - oUIButton.ShowArrow = true ; - oUIButton.OnClick = FCKToolbarPanelButton_OnButtonClick ; -} - -FCKToolbarPanelButton.prototype.TypeName = 'FCKToolbarPanelButton' ; - -FCKToolbarPanelButton.prototype.Create = function( parentElement ) -{ - parentElement.className += 'Menu' ; - - this._UIButton.Create( parentElement ) ; - - var oPanel = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName )._Panel ; - oPanel._FCKToolbarPanelButton = this ; - - var eLineDiv = oPanel.Document.body.appendChild( oPanel.Document.createElement( 'div' ) ) ; - eLineDiv.style.position = 'absolute' ; - eLineDiv.style.top = '0px' ; - - var eLine = this.LineImg = eLineDiv.appendChild( oPanel.Document.createElement( 'IMG' ) ) ; - eLine.className = 'TB_ConnectionLine' ; -// eLine.style.backgroundColor = 'Red' ; - eLine.src = FCK_SPACER_PATH ; - - oPanel.OnHide = FCKToolbarPanelButton_OnPanelHide ; -} - -/* - Events -*/ - -function FCKToolbarPanelButton_OnButtonClick( toolbarButton ) -{ - var oButton = this._FCKToolbarPanelButton ; - var e = oButton._UIButton.MainElement ; - - oButton._UIButton.ChangeState( FCK_TRISTATE_ON ) ; - - oButton.LineImg.style.width = ( e.offsetWidth - 2 ) + 'px' ; - - FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( oButton.CommandName ).Execute( 0, e.offsetHeight - 1, e ) ; // -1 to be over the border -} - -function FCKToolbarPanelButton_OnPanelHide() -{ - var oMenuButton = this._FCKToolbarPanelButton ; - oMenuButton._UIButton.ChangeState( FCK_TRISTATE_OFF ) ; -} - -// The Panel Button works like a normal button so the refresh state functions -// defined for the normal button can be reused here. -FCKToolbarPanelButton.prototype.RefreshState = FCKToolbarButton.prototype.RefreshState ; -FCKToolbarPanelButton.prototype.Enable = FCKToolbarButton.prototype.Enable ; -FCKToolbarPanelButton.prototype.Disable = FCKToolbarButton.prototype.Disable ; diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js deleted file mode 100644 index 8cb750d205e..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +++ /dev/null @@ -1,129 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarspecialcombo.js - * FCKToolbarSpecialCombo Class: This is a "abstract" base class to be used - * by the special combo toolbar elements like font name, font size, paragraph format, etc... - * - * The following properties and methods must be implemented when inheriting from - * this class: - * - Property: CommandName [ The command name to be executed ] - * - Method: GetLabel() [ Returns the label ] - * - CreateItems( targetSpecialCombo ) [ Add all items in the special combo ] - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarSpecialCombo = function() -{ - this.SourceView = false ; - this.ContextSensitive = true ; -} - - -function FCKToolbarSpecialCombo_OnSelect( itemId, item ) -{ - FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).Execute( itemId, item ) ; -} - -FCKToolbarSpecialCombo.prototype.Create = function( targetElement ) -{ - this._Combo = new FCKSpecialCombo( this.GetLabel(), this.FieldWidth, this.PanelWidth, this.PanelMaxHeight, FCKBrowserInfo.IsIE ? window : FCKTools.GetElementWindow( targetElement ).parent ) ; - - /* - this._Combo.FieldWidth = this.FieldWidth != null ? this.FieldWidth : 100 ; - this._Combo.PanelWidth = this.PanelWidth != null ? this.PanelWidth : 150 ; - this._Combo.PanelMaxHeight = this.PanelMaxHeight != null ? this.PanelMaxHeight : 150 ; - */ - - //this._Combo.Command.Name = this.Command.Name; -// this._Combo.Label = this.Label ; - this._Combo.Tooltip = this.Tooltip ; - this._Combo.Style = this.Style ; - - this.CreateItems( this._Combo ) ; - - this._Combo.Create( targetElement ) ; - - this._Combo.CommandName = this.CommandName ; - - this._Combo.OnSelect = FCKToolbarSpecialCombo_OnSelect ; -} - -function FCKToolbarSpecialCombo_RefreshActiveItems( combo, value ) -{ - combo.DeselectAll() ; - combo.SelectItem( value ) ; - combo.SetLabelById( value ) ; -} - -FCKToolbarSpecialCombo.prototype.RefreshState = function() -{ - // Gets the actual state. - var eState ; - -// if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView ) -// eState = FCK_TRISTATE_DISABLED ; -// else -// { - var sValue = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).GetState() ; - -// FCKDebug.Output( 'RefreshState of Special Combo "' + this.TypeOf + '" - State: ' + sValue ) ; - - if ( sValue != FCK_TRISTATE_DISABLED ) - { - eState = FCK_TRISTATE_ON ; - - if ( this.RefreshActiveItems ) - this.RefreshActiveItems( this._Combo, sValue ) ; - else - { - if ( this._LastValue != sValue ) - { - this._LastValue = sValue ; - FCKToolbarSpecialCombo_RefreshActiveItems( this._Combo, sValue ) ; - } - } - } - else - eState = FCK_TRISTATE_DISABLED ; -// } - - // If there are no state changes then do nothing and return. - if ( eState == this.State ) return ; - - if ( eState == FCK_TRISTATE_DISABLED ) - { - this._Combo.DeselectAll() ; - this._Combo.SetLabel( '' ) ; - } - - // Sets the actual state. - this.State = eState ; - - // Updates the graphical state. - this._Combo.SetEnabled( eState != FCK_TRISTATE_DISABLED ) ; -} - -FCKToolbarSpecialCombo.prototype.Enable = function() -{ - this.RefreshState() ; -} - -FCKToolbarSpecialCombo.prototype.Disable = function() -{ - this.State = FCK_TRISTATE_DISABLED ; - this._Combo.DeselectAll() ; - this._Combo.SetLabel( '' ) ; - this._Combo.SetEnabled( false ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js b/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js deleted file mode 100644 index cbd8f6abd87..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +++ /dev/null @@ -1,102 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fcktoolbarstylecombo.js - * FCKToolbarPanelButton Class: Handles the Fonts combo selector. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKToolbarStyleCombo = function( tooltip, style ) -{ - this.CommandName = 'Style' ; - this.Label = this.GetLabel() ; - this.Tooltip = tooltip ? tooltip : this.Label ; - this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; -} - -// Inherit from FCKToolbarSpecialCombo. -FCKToolbarStyleCombo.prototype = new FCKToolbarSpecialCombo ; - - -FCKToolbarStyleCombo.prototype.GetLabel = function() -{ - return FCKLang.Style ; -} - -FCKToolbarStyleCombo.prototype.CreateItems = function( targetSpecialCombo ) -{ - var oTargetDoc = targetSpecialCombo._Panel.Document ; - - // Add the Editor Area CSS to the Styles panel so the style classes are previewed correctly. - var aCSSs = FCKConfig.EditorAreaCSS ; - for ( var i = 0 ; i < aCSSs.length ; i++ ) - FCKTools.AppendStyleSheet( oTargetDoc, aCSSs[i] ) ; - - oTargetDoc.body.className += ' ForceBaseFont' ; - - // For some reason Gecko is blocking inside the "RefreshVisibleItems" function. - if ( ! FCKBrowserInfo.IsGecko ) - targetSpecialCombo.OnBeforeClick = this.RefreshVisibleItems ; - - // Add the styles to the special combo. - var aCommandStyles = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).Styles ; - for ( var s in aCommandStyles ) - { - var oStyle = aCommandStyles[s] ; - var oItem ; - - if ( oStyle.IsObjectElement ) - oItem = targetSpecialCombo.AddItem( s, s ) ; - else - oItem = targetSpecialCombo.AddItem( s, oStyle.GetOpenerTag() + s + oStyle.GetCloserTag() ) ; - - oItem.Style = oStyle ; - } -} - -FCKToolbarStyleCombo.prototype.RefreshActiveItems = function( targetSpecialCombo ) -{ - // Clear the actual selection. - targetSpecialCombo.DeselectAll() ; - - // Get the active styles. - var aStyles = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName ).GetActiveStyles() ; - - if ( aStyles.length > 0 ) - { - // Select the active styles in the combo. - for ( var i = 0 ; i < aStyles.length ; i++ ) - targetSpecialCombo.SelectItem( aStyles[i].Name ) ; - - // Set the combo label to the first style in the collection. - targetSpecialCombo.SetLabelById( aStyles[0].Name ) ; - } - else - targetSpecialCombo.SetLabel('') ; -} - -FCKToolbarStyleCombo.prototype.RefreshVisibleItems = function( targetSpecialCombo ) -{ - if ( FCKSelection.GetType() == 'Control' ) - var sTagName = FCKSelection.GetSelectedElement().tagName ; - - for ( var i in targetSpecialCombo.Items ) - { - var oItem = targetSpecialCombo.Items[i] ; - if ( ( sTagName && oItem.Style.Element == sTagName ) || ( ! sTagName && ! oItem.Style.IsObjectElement ) ) - oItem.style.display = '' ; - else - oItem.style.display = 'none' ; // For some reason Gecko is blocking here. - } -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckxml_gecko.js b/htdocs/includes/fckeditor/editor/_source/classes/fckxml_gecko.js deleted file mode 100644 index 33f71bb91ce..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckxml_gecko.js +++ /dev/null @@ -1,66 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckxml_gecko.js - * FCKXml Class: class to load and manipulate XML files. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKXml = function() -{} - -FCKXml.prototype.LoadUrl = function( urlToCall ) -{ - var oFCKXml = this ; - - var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ; - oXmlHttp.open( "GET", urlToCall, false ) ; - oXmlHttp.send( null ) ; - - if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 ) - this.DOMDocument = oXmlHttp.responseXML ; - else if ( oXmlHttp.status == 0 && oXmlHttp.readyState == 4 ) - this.DOMDocument = oXmlHttp.responseXML ; - else - alert( 'Error loading "' + urlToCall + '"' ) ; -} - -FCKXml.prototype.SelectNodes = function( xpath, contextNode ) -{ - var aNodeArray = new Array(); - - var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument, - this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ; - if ( xPathResult ) - { - var oNode = xPathResult.iterateNext() ; - while( oNode ) - { - aNodeArray[aNodeArray.length] = oNode ; - oNode = xPathResult.iterateNext(); - } - } - return aNodeArray ; -} - -FCKXml.prototype.SelectSingleNode = function( xpath, contextNode ) -{ - var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument, - this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null); - - if ( xPathResult && xPathResult.singleNodeValue ) - return xPathResult.singleNodeValue ; - else - return null ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/classes/fckxml_ie.js b/htdocs/includes/fckeditor/editor/_source/classes/fckxml_ie.js deleted file mode 100644 index 067817af043..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/classes/fckxml_ie.js +++ /dev/null @@ -1,78 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckxml_ie.js - * FCKXml Class: class to load and manipulate XML files. - * (IE specific implementation) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKXml = function() -{ - this.Error = false ; -} - -FCKXml.prototype.LoadUrl = function( urlToCall ) -{ - this.Error = false ; - - var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ; - - if ( !oXmlHttp ) - { - this.Error = true ; - return ; - } - - oXmlHttp.open( "GET", urlToCall, false ) ; - - oXmlHttp.send( null ) ; - - if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 ) - this.DOMDocument = oXmlHttp.responseXML ; - else if ( oXmlHttp.status == 0 && oXmlHttp.readyState == 4 ) - { - this.DOMDocument = FCKTools.CreateXmlObject( 'DOMDocument' ) ; - this.DOMDocument.async = false ; - this.DOMDocument.resolveExternals = false ; - this.DOMDocument.loadXML( oXmlHttp.responseText ) ; - } - else - { - this.Error = true ; - alert( 'Error loading "' + urlToCall + '"' ) ; - } -} - -FCKXml.prototype.SelectNodes = function( xpath, contextNode ) -{ - if ( this.Error ) - return new Array() ; - - if ( contextNode ) - return contextNode.selectNodes( xpath ) ; - else - return this.DOMDocument.selectNodes( xpath ) ; -} - -FCKXml.prototype.SelectSingleNode = function( xpath, contextNode ) -{ - if ( this.Error ) - return ; - - if ( contextNode ) - return contextNode.selectSingleNode( xpath ) ; - else - return this.DOMDocument.selectSingleNode( xpath ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/commandclasses/fck_othercommands.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fck_othercommands.js deleted file mode 100644 index 9c83d4cd4fd..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fck_othercommands.js +++ /dev/null @@ -1,309 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_othercommands.js - * Definition of other commands that are not available internaly in the - * browser (see FCKNamedCommand). - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -// ### General Dialog Box Commands. -var FCKDialogCommand = function( name, title, url, width, height, getStateFunction, getStateParam ) -{ - this.Name = name ; - this.Title = title ; - this.Url = url ; - this.Width = width ; - this.Height = height ; - - this.GetStateFunction = getStateFunction ; - this.GetStateParam = getStateParam ; -} - -FCKDialogCommand.prototype.Execute = function() -{ - FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height ) ; -} - -FCKDialogCommand.prototype.GetState = function() -{ - if ( this.GetStateFunction ) - return this.GetStateFunction( this.GetStateParam ) ; - else - return FCK_TRISTATE_OFF ; -} - -// Generic Undefined command (usually used when a command is under development). -var FCKUndefinedCommand = function() -{ - this.Name = 'Undefined' ; -} - -FCKUndefinedCommand.prototype.Execute = function() -{ - alert( FCKLang.NotImplemented ) ; -} - -FCKUndefinedCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -// ### FontName -var FCKFontNameCommand = function() -{ - this.Name = 'FontName' ; -} - -FCKFontNameCommand.prototype.Execute = function( fontName ) -{ - if (fontName == null || fontName == "") - { - // TODO: Remove font name attribute. - } - else - FCK.ExecuteNamedCommand( 'FontName', fontName ) ; -} - -FCKFontNameCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandValue( 'FontName' ) ; -} - -// ### FontSize -var FCKFontSizeCommand = function() -{ - this.Name = 'FontSize' ; -} - -FCKFontSizeCommand.prototype.Execute = function( fontSize ) -{ - if ( typeof( fontSize ) == 'string' ) fontSize = parseInt(fontSize) ; - - if ( fontSize == null || fontSize == '' ) - { - // TODO: Remove font size attribute (Now it works with size 3. Will it work forever?) - FCK.ExecuteNamedCommand( 'FontSize', 3 ) ; - } - else - FCK.ExecuteNamedCommand( 'FontSize', fontSize ) ; -} - -FCKFontSizeCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandValue( 'FontSize' ) ; -} - -// ### FormatBlock -var FCKFormatBlockCommand = function() -{ - this.Name = 'FormatBlock' ; -} - -FCKFormatBlockCommand.prototype.Execute = function( formatName ) -{ - if ( formatName == null || formatName == '' ) - FCK.ExecuteNamedCommand( 'FormatBlock', '

' ) ; - else if ( formatName == 'div' && FCKBrowserInfo.IsGecko ) - FCK.ExecuteNamedCommand( 'FormatBlock', 'div' ) ; - else - FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ; -} - -FCKFormatBlockCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandValue( 'FormatBlock' ) ; -} - -// ### Preview -var FCKPreviewCommand = function() -{ - this.Name = 'Preview' ; -} - -FCKPreviewCommand.prototype.Execute = function() -{ - FCK.Preview() ; -} - -FCKPreviewCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -// ### Save -var FCKSaveCommand = function() -{ - this.Name = 'Save' ; -} - -FCKSaveCommand.prototype.Execute = function() -{ - // Get the linked field form. - var oForm = FCK.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 ( FCKConfig.SourcePopup ) // Until v2.2, it was mandatory for FCKBrowserInfo.IsGecko. - { - var iWidth = FCKConfig.ScreenWidth * 0.65 ; - var iHeight = FCKConfig.ScreenHeight * 0.65 ; - FCKDialog.OpenDialog( 'FCKDialog_Source', FCKLang.Source, 'dialog/fck_source.html', iWidth, iHeight, null, null, true ) ; - } - else - FCK.SwitchEditMode() ; -} - -FCKSourceCommand.prototype.GetState = function() -{ - return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ; -} - -// ### Undo -var FCKUndoCommand = function() -{ - this.Name = 'Undo' ; -} - -FCKUndoCommand.prototype.Execute = function() -{ - if ( FCKBrowserInfo.IsIE ) - FCKUndo.Undo() ; - else - FCK.ExecuteNamedCommand( 'Undo' ) ; -} - -FCKUndoCommand.prototype.GetState = function() -{ - if ( FCKBrowserInfo.IsIE ) - return ( FCKUndo.CheckUndoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ; - else - return FCK.GetNamedCommandState( 'Undo' ) ; -} - -// ### Redo -var FCKRedoCommand = function() -{ - this.Name = 'Redo' ; -} - -FCKRedoCommand.prototype.Execute = function() -{ - if ( FCKBrowserInfo.IsIE ) - FCKUndo.Redo() ; - else - FCK.ExecuteNamedCommand( 'Redo' ) ; -} - -FCKRedoCommand.prototype.GetState = function() -{ - if ( FCKBrowserInfo.IsIE ) - return ( FCKUndo.CheckRedoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ; - else - return FCK.GetNamedCommandState( 'Redo' ) ; -} - -// ### Page Break -var FCKPageBreakCommand = function() -{ - this.Name = 'PageBreak' ; -} - -FCKPageBreakCommand.prototype.Execute = function() -{ -// var e = FCK.EditorDocument.createElement( 'CENTER' ) ; -// e.style.pageBreakAfter = 'always' ; - - // Tidy was removing the empty CENTER tags, so the following solution has - // been found. It also validates correctly as XHTML 1.0 Strict. - var e = FCK.EditorDocument.createElement( 'DIV' ) ; - e.style.pageBreakAfter = 'always' ; - e.innerHTML = ' ' ; - - var oFakeImage = FCKDocumentProcessor_CreateFakeImage( 'FCK__PageBreak', e ) ; - oFakeImage = FCK.InsertElement( oFakeImage ) ; -} - -FCKPageBreakCommand.prototype.GetState = function() -{ - return 0 ; // FCK_TRISTATE_OFF -} - -// FCKUnlinkCommand - by Johnny Egeland (johnny@coretrek.com) -var FCKUnlinkCommand = function() -{ - this.Name = 'Unlink' ; -} - -FCKUnlinkCommand.prototype.Execute = function() -{ - if ( FCKBrowserInfo.IsGecko ) - { - var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ; - if ( oLink ) - FCK.Selection.SelectNode( oLink ) ; - } - - FCK.ExecuteNamedCommand( this.Name ) ; - - if ( FCKBrowserInfo.IsGecko ) - FCK.Selection.Collapse( true ) ; -} - -FCKUnlinkCommand.prototype.GetState = function() -{ - return FCK.GetNamedCommandState( this.Name ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckfitwindow.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fckfitwindow.js deleted file mode 100644 index a6c3058d7f0..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckfitwindow.js +++ /dev/null @@ -1,164 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckfitwindow.js - * Stretch the editor to full window size and back. - * - * File Authors: - * Paul Moers (mail@saulmade.nl) - * Thanks to Christian Fecteau (webmaster@christianfecteau.com) - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKFitWindow = function() -{ - this.Name = 'FitWindow' ; -} - -FCKFitWindow.prototype.Execute = function() -{ - var eEditorFrame = window.frameElement ; - var eEditorFrameStyle = eEditorFrame.style ; - - var eMainWindow = parent ; - var eDocEl = eMainWindow.document.documentElement ; - var eBody = eMainWindow.document.body ; - var eBodyStyle = eBody.style ; - - // No original style properties known? Go fullscreen. - if ( !this.IsMaximized ) - { - // Registering an event handler when the window gets resized. - if( FCKBrowserInfo.IsIE ) - eMainWindow.attachEvent( 'onresize', FCKFitWindow_Resize ) ; - else - eMainWindow.addEventListener( 'resize', FCKFitWindow_Resize, true ) ; - - // Save the scrollbars position. - this._ScrollPos = FCKTools.GetScrollPosition( eMainWindow ) ; - - // Save and reset the styles for the entire node tree. They could interfere in the result. - var eParent = eEditorFrame ; - while( eParent = eParent.parentNode ) - { - if ( eParent.nodeType == 1 ) - eParent._fckSavedStyles = FCKTools.SaveStyles( eParent ) ; - } - - // Hide IE scrollbars (in strict mode). - if ( FCKBrowserInfo.IsIE ) - { - this.documentElementOverflow = eDocEl.style.overflow ; - eDocEl.style.overflow = 'hidden' ; - eBodyStyle.overflow = 'hidden' ; - } - else - { - // Hide the scroolbars in Firefox. - eBodyStyle.overflow = 'hidden' ; - eBodyStyle.width = '0px' ; - eBodyStyle.height = '0px' ; - } - - // Save the IFRAME styles. - this._EditorFrameStyles = FCKTools.SaveStyles( eEditorFrame ) ; - - // Resize. - var oViewPaneSize = FCKTools.GetViewPaneSize( eMainWindow ) ; - - eEditorFrameStyle.position = "absolute"; - eEditorFrameStyle.zIndex = FCKConfig.FloatingPanelsZIndex - 1; - eEditorFrameStyle.left = "0px"; - eEditorFrameStyle.top = "0px"; - eEditorFrameStyle.width = oViewPaneSize.Width + "px"; - eEditorFrameStyle.height = oViewPaneSize.Height + "px"; - - // Giving the frame some (huge) borders on his right and bottom - // side to hide the background that would otherwise show when the - // editor is in fullsize mode and the window is increased in size - // not for IE, because IE immediately adapts the editor on resize, - // without showing any of the background oddly in firefox, the - // editor seems not to fill the whole frame, so just setting the - // background of it to white to cover the page laying behind it anyway. - if ( !FCKBrowserInfo.IsIE ) - { - eEditorFrameStyle.borderRight = eEditorFrameStyle.borderBottom = "9999px solid white" ; - eEditorFrameStyle.backgroundColor = "white"; - } - - // Scroll to top left. - eMainWindow.scrollTo(0, 0); - - this.IsMaximized = true ; - } - else // Resize to original size. - { - // Remove the event handler of window resizing. - if( FCKBrowserInfo.IsIE ) - eMainWindow.detachEvent( "onresize", FCKFitWindow_Resize ) ; - else - eMainWindow.removeEventListener( "resize", FCKFitWindow_Resize, true ) ; - - // Restore the CSS position for the entire node tree. - var eParent = eEditorFrame ; - while( eParent = eParent.parentNode ) - { - if ( eParent._fckSavedStyles ) - { - FCKTools.RestoreStyles( eParent, eParent._fckSavedStyles ) ; - eParent._fckSavedStyles = null ; - } - } - - // Restore IE scrollbars - if ( FCKBrowserInfo.IsIE ) - eDocEl.style.overflow = this.documentElementOverflow ; - - // Restore original size - FCKTools.RestoreStyles( eEditorFrame, this._EditorFrameStyles ) ; - - // Restore the window scroll position. - eMainWindow.scrollTo( this._ScrollPos.X, this._ScrollPos.Y ) ; - - this.IsMaximized = false ; - } - - FCKToolbarItems.GetItem('FitWindow').RefreshState() ; - - // It seams that Firefox restarts the editing area when making this changes. - // On FF 1.0.x, the area is not anymore editable. On FF 1.5+, the special - //configuration, like DisableFFTableHandles and DisableObjectResizing get - //lost, so we must reset it. Also, the cursor position and selection are - //also lost, even if you comment the following line (MakeEditable). - // if ( FCKBrowserInfo.IsGecko10 ) // Initially I thought it was a FF 1.0 only problem. - FCK.EditingArea.MakeEditable() ; - - FCK.Focus() ; -} - -FCKFitWindow.prototype.GetState = function() -{ - if ( FCKConfig.ToolbarLocation != 'In' ) - return FCK_TRISTATE_DISABLED ; - else - return ( this.IsMaximized ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ); -} - -function FCKFitWindow_Resize() -{ - var oViewPaneSize = FCKTools.GetViewPaneSize( parent ) ; - - var eEditorFrameStyle = window.frameElement.style ; - - eEditorFrameStyle.width = oViewPaneSize.Width + 'px' ; - eEditorFrameStyle.height = oViewPaneSize.Height + 'px' ; -} diff --git a/htdocs/includes/fckeditor/editor/_source/commandclasses/fcknamedcommand.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fcknamedcommand.js deleted file mode 100644 index 86add2f0314..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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/htdocs/includes/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js deleted file mode 100644 index 6c2769745d2..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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/htdocs/includes/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js deleted file mode 100644 index 2e598b17c36..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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/htdocs/includes/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js deleted file mode 100644 index e8eb09cffb4..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckspellcheckcommand_gecko.js - * FCKStyleCommand Class: represents the "Spell Check" command. - * (Gecko specific implementation) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -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/htdocs/includes/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js deleted file mode 100644 index 176d0db7627..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +++ /dev/null @@ -1,63 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckspellcheckcommand_ie.js - * FCKStyleCommand Class: represents the "Spell Check" command. - * (IE specific implementation) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -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/htdocs/includes/fckeditor/editor/_source/commandclasses/fckstylecommand.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fckstylecommand.js deleted file mode 100644 index b4a44a0fd5d..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fckstylecommand.js +++ /dev/null @@ -1,95 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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() -{ - if ( !FCK.EditorDocument ) - return FCK_TRISTATE_DISABLED ; - - var oSelection = FCK.EditorDocument.selection ; - - if ( FCKSelection.GetType() == 'Control' ) - { - var e = FCKSelection.GetSelectedElement() ; - if ( e ) - return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; - } - - return FCK_TRISTATE_OFF ; -} - -FCKStyleCommand.prototype.GetActiveStyles = function() -{ - var aActiveStyles = new Array() ; - - if ( FCKSelection.GetType() == 'Control' ) - this._CheckStyle( FCKSelection.GetSelectedElement(), aActiveStyles, false ) ; - else - this._CheckStyle( FCKSelection.GetParentElement(), aActiveStyles, true ) ; - - return aActiveStyles ; -} - -FCKStyleCommand.prototype._CheckStyle = function( element, targetArray, checkParent ) -{ - if ( ! element ) - return ; - - if ( element.nodeType == 1 ) - { - var aStyleGroup = this.StylesLoader.StyleGroups[ element.tagName ] ; - if ( aStyleGroup ) - { - for ( var i = 0 ; i < aStyleGroup.length ; i++ ) - { - if ( aStyleGroup[i].IsEqual( element ) ) - targetArray[ targetArray.length ] = aStyleGroup[i] ; - } - } - } - - if ( checkParent ) - this._CheckStyle( element.parentNode, targetArray, checkParent ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/commandclasses/fcktablecommand.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fcktablecommand.js deleted file mode 100644 index 4237df8f872..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fcktablecommand.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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/htdocs/includes/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js b/htdocs/includes/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js deleted file mode 100644 index 11dd5d5e8f7..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +++ /dev/null @@ -1,171 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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 ; - - var oWindow ; - - if ( FCKBrowserInfo.IsIE ) - oWindow = window ; - else if ( FCK.ToolbarSet._IFrame ) - oWindow = FCKTools.GetElementWindow( FCK.ToolbarSet._IFrame ) ; - else - oWindow = window.parent ; - - this._Panel = new FCKPanel( oWindow, true ) ; - this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ; - this._Panel.MainNode.className = 'FCK_Panel' ; - this._CreatePanelBody( this._Panel.Document, this._Panel.MainNode ) ; - - FCKTools.DisableSelection( this._Panel.Document.body ) ; -} - -FCKTextColorCommand.prototype.Execute = function( panelX, panelY, relElement ) -{ - // We must "cache" the actual panel type to be used in the SetColor method. - FCK._ActiveColorPanelType = this.Type ; - - // Show the Color Panel at the desired position. - this._Panel.Show( panelX, panelY, relElement ) ; -} - -FCKTextColorCommand.prototype.SetColor = function( color ) -{ - if ( FCK._ActiveColorPanelType == 'ForeColor' ) - FCK.ExecuteNamedCommand( 'ForeColor', color ) ; - else if ( FCKBrowserInfo.IsGeckoLike ) - { - if ( FCKBrowserInfo.IsGecko && !FCKConfig.GeckoUseSPAN ) - FCK.EditorDocument.execCommand( 'useCSS', false, false ) ; - - FCK.ExecuteNamedCommand( 'hilitecolor', color ) ; - - if ( FCKBrowserInfo.IsGecko && !FCKConfig.GeckoUseSPAN ) - FCK.EditorDocument.execCommand( 'useCSS', false, true ) ; - } - else - FCK.ExecuteNamedCommand( 'BackColor', color ) ; - - // Delete the "cached" active panel type. - delete FCK._ActiveColorPanelType ; -} - -FCKTextColorCommand.prototype.GetState = function() -{ - return FCK_TRISTATE_OFF ; -} - -function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected' ; } - -function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected' ; } - -function FCKTextColorCommand_OnClick() -{ - this.className = 'ColorDeselected' ; - this.Command.SetColor( '#' + this.Color ) ; - this.Command._Panel.Hide() ; -} - -function FCKTextColorCommand_AutoOnClick() -{ - this.className = 'ColorDeselected' ; - this.Command.SetColor( '' ) ; - this.Command._Panel.Hide() ; -} - -function FCKTextColorCommand_MoreOnClick() -{ - this.className = 'ColorDeselected' ; - this.Command._Panel.Hide() ; - FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, this.Command.SetColor ) ; -} - -FCKTextColorCommand.prototype._CreatePanelBody = function( targetDocument, targetDiv ) -{ - function CreateSelectionDiv() - { - var oDiv = targetDocument.createElement( "DIV" ) ; - oDiv.className = 'ColorDeselected' ; - oDiv.onmouseover = FCKTextColorCommand_OnMouseOver ; - oDiv.onmouseout = FCKTextColorCommand_OnMouseOut ; - - return oDiv ; - } - - // Create the Table that will hold all colors. - var oTable = targetDiv.appendChild( targetDocument.createElement( "TABLE" ) ) ; - oTable.className = 'ForceBaseFont' ; // Firefox 1.5 Bug. - oTable.style.tableLayout = 'fixed' ; - oTable.cellPadding = 0 ; - oTable.cellSpacing = 0 ; - oTable.border = 0 ; - oTable.width = 150 ; - - var oCell = oTable.insertRow(-1).insertCell(-1) ; - oCell.colSpan = 8 ; - - // Create the Button for the "Automatic" color selection. - var oDiv = oCell.appendChild( CreateSelectionDiv() ) ; - oDiv.innerHTML = - '\ - \ - \ - \ - \ -
' + FCKLang.ColorAutomatic + '
' ; - - oDiv.Command = this ; - oDiv.onclick = FCKTextColorCommand_AutoOnClick ; - - // Create an array of colors based on the configuration file. - var aColors = FCKConfig.FontColors.toString().split(',') ; - - // Create the colors table based on the array. - var iCounter = 0 ; - while ( iCounter < aColors.length ) - { - var oRow = oTable.insertRow(-1) ; - - for ( var i = 0 ; i < 8 && iCounter < aColors.length ; i++, iCounter++ ) - { - oDiv = oRow.insertCell(-1).appendChild( CreateSelectionDiv() ) ; - oDiv.Color = aColors[iCounter] ; - oDiv.innerHTML = '

' ; - - oDiv.Command = this ; - oDiv.onclick = FCKTextColorCommand_OnClick ; - } - } - - // Create the Row and the Cell for the "More Colors..." button. - oCell = oTable.insertRow(-1).insertCell(-1) ; - oCell.colSpan = 8 ; - - oDiv = oCell.appendChild( CreateSelectionDiv() ) ; - oDiv.innerHTML = '
' + FCKLang.ColorMoreColors + '
' ; - - oDiv.Command = this ; - oDiv.onclick = FCKTextColorCommand_MoreOnClick ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/fckconstants.js b/htdocs/includes/fckeditor/editor/_source/fckconstants.js deleted file mode 100644 index ef2d7c95665..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/fckconstants.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckconstants.js - * Defines some constants used by the editor. These constants are also - * globally available in the page where the editor is placed. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -// Editor Instance Status. -var FCK_STATUS_NOTLOADED = window.parent.FCK_STATUS_NOTLOADED = 0 ; -var FCK_STATUS_ACTIVE = window.parent.FCK_STATUS_ACTIVE = 1 ; -var FCK_STATUS_COMPLETE = window.parent.FCK_STATUS_COMPLETE = 2 ; - -// Tristate Operations. -var FCK_TRISTATE_OFF = window.parent.FCK_TRISTATE_OFF = 0 ; -var FCK_TRISTATE_ON = window.parent.FCK_TRISTATE_ON = 1 ; -var FCK_TRISTATE_DISABLED = window.parent.FCK_TRISTATE_DISABLED = -1 ; - -// For unknown values. -var FCK_UNKNOWN = window.parent.FCK_UNKNOWN = -9 ; - -// Toolbar Items Style. -var FCK_TOOLBARITEM_ONLYICON = window.parent.FCK_TOOLBARITEM_ONLYICON = 0 ; -var FCK_TOOLBARITEM_ONLYTEXT = window.parent.FCK_TOOLBARITEM_ONLYTEXT = 1 ; -var FCK_TOOLBARITEM_ICONTEXT = window.parent.FCK_TOOLBARITEM_ICONTEXT = 2 ; - -// Edit Mode -var FCK_EDITMODE_WYSIWYG = window.parent.FCK_EDITMODE_WYSIWYG = 0 ; -var FCK_EDITMODE_SOURCE = window.parent.FCK_EDITMODE_SOURCE = 1 ; - -var FCK_IMAGES_PATH = 'images/' ; // Check usage. -var FCK_SPACER_PATH = 'images/spacer.gif' ; \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/fckeditorapi.js b/htdocs/includes/fckeditor/editor/_source/fckeditorapi.js deleted file mode 100644 index c2709a106c8..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/fckeditorapi.js +++ /dev/null @@ -1,91 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckeditorapi.js - * Create the FCKeditorAPI object that is available as a global object in - * the page where the editor is placed in. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKeditorAPI ; - -function InitializeAPI() -{ - var oAPI ; - - if ( !( oAPI = FCKeditorAPI = window.parent.FCKeditorAPI ) ) - { - // Make the FCKeditorAPI object available in the parent window. - oAPI = FCKeditorAPI = window.parent.FCKeditorAPI = new Object() ; - oAPI.Version = '2.3' ; - oAPI.VersionBuild = '1054' ; - - oAPI.__Instances = new Object() ; - - // Function used to get a instance of an existing editor present in the - // page. - oAPI.GetInstance = FCKeditorAPI_GetInstance ; - - var oQueue = oAPI._FunctionQueue = new Object() ; - oQueue.Functions = new Array() ; - oQueue.IsRunning = false ; - oQueue.Add = FCKeditorAPI_FunctionQueue_Add ; - oQueue.StartNext = FCKeditorAPI_FunctionQueue_StartNext ; - oQueue.Remove = FCKeditorAPI_FunctionQueue_Remove ; - } - - // Add the current instance to the FCKeditorAPI's instances collection. - oAPI.__Instances[ FCK.Name ] = FCK ; -} - -function FCKeditorAPI_GetInstance( instanceName ) -{ - return this.__Instances[ instanceName ] ; -} - -function FCKeditorAPI_FunctionQueue_Add( functionToAdd ) -{ - this.Functions.push( functionToAdd ) ; - - if ( !this.IsRunning ) - this.StartNext() ; -} - -function FCKeditorAPI_FunctionQueue_StartNext() -{ - var aQueue = this.Functions ; - - if ( aQueue.length > 0 ) - { - this.IsRunning = true ; - FCKTools.RunFunction( aQueue[0] ) ; - } - else - this.IsRunning = false ; -} - -function FCKeditorAPI_FunctionQueue_Remove( func ) -{ - var aQueue = this.Functions ; - - var i = 0, fFunc ; - while( fFunc = aQueue[ i ] ) - { - if ( fFunc == func ) - aQueue.splice( i,1 ) ; - i++ ; - } - - this.StartNext() ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/fckjscoreextensions.js b/htdocs/includes/fckeditor/editor/_source/fckjscoreextensions.js deleted file mode 100644 index e61e233c2e2..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/fckjscoreextensions.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckjscoreextensions.js - * Extensions to the JavaScript Core. - * - * All custom extentions functions are PascalCased to differ from the standard - * camelCased ones. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -String.prototype.Contains = function( textToCheck ) -{ - return ( this.indexOf( textToCheck ) > -1 ) ; -} - -String.prototype.Equals = function() -{ - for ( var i = 0 ; i < arguments.length ; i++ ) - if ( this == arguments[i] ) - return true ; - - return false ; -} - -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/htdocs/includes/fckeditor/editor/_source/internals/fck.js b/htdocs/includes/fckeditor/editor/_source/internals/fck.js deleted file mode 100644 index f37450f9c8a..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck.js +++ /dev/null @@ -1,77 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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.js - * Creation and initialization of the "FCK" object. This is the main object - * that represents an editor instance. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -// FCK represents the active editor instance -var FCK = new Object() ; -FCK.Name = FCKURLParams[ 'InstanceName' ] ; - -FCK.Status = FCK_STATUS_NOTLOADED ; -FCK.EditMode = FCK_EDITMODE_WYSIWYG ; - -FCK.LoadLinkedFile = function() -{ - // There is a bug on IE... getElementById returns any META tag that has the - // name set to the ID you are looking for. So the best way in to get the array - // by names and look for the correct one. - // As ASP.Net generates a ID that is different from the Name, we must also - // look for the field based on the ID (the first one is the ID). - - var oDocument = window.parent.document ; - - var eLinkedField = oDocument.getElementById( FCK.Name ) ; - var colElementsByName = oDocument.getElementsByName( FCK.Name ) ; - - var i = 0; - while ( eLinkedField || i == 0 ) - { - if ( eLinkedField && ( eLinkedField.tagName == 'INPUT' || eLinkedField.tagName == 'TEXTAREA' ) ) - { - FCK.LinkedField = eLinkedField ; - break ; - } - eLinkedField = colElementsByName[i++] ; - } -} -FCK.LoadLinkedFile() ; - -var FCKTempBin = new Object() ; -FCKTempBin.Elements = new Array() ; - -FCKTempBin.AddElement = function( element ) -{ - var iIndex = this.Elements.length ; - this.Elements[ iIndex ] = element ; - return iIndex ; -} - -FCKTempBin.RemoveElement = function( index ) -{ - var e = this.Elements[ index ] ; - this.Elements[ index ] = null ; - return e ; -} - -FCKTempBin.Reset = function() -{ - var i = 0 ; - while ( i < this.Elements.length ) - this.Elements[ i++ ] == null ; - this.Elements.length = 0 ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_1.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_1.js deleted file mode 100644 index 3e71f52a172..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_1.js +++ /dev/null @@ -1,355 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_1.js - * This is the first part of the "FCK" object creation. This is the main - * object that represents an editor instance. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCK_StartupValue ; - -FCK.Events = new FCKEvents( FCK ) ; -FCK.Toolbar = null ; -FCK.HasFocus = false ; - -FCK.StartEditor = function() -{ - FCK.TempBaseTag = FCKConfig.BaseHref.length > 0 ? '' : '' ; - - FCK.EditingArea = new FCKEditingArea( document.getElementById( 'xEditingArea' ) ) ; - - // Set the editor's startup contents - this.SetHTML( FCKTools.GetLinkedFieldValue() ) ; -} - -FCK.Focus = function() -{ - FCK.EditingArea.Focus() ; -} - -FCK.SetStatus = function( newStatus ) -{ - this.Status = newStatus ; - - if ( newStatus == FCK_STATUS_ACTIVE ) - { - FCKFocusManager.AddWindow( window, true ) ; - - if ( FCKBrowserInfo.IsIE ) - FCKFocusManager.AddWindow( window.frameElement, true ) ; - - // Force the focus in the editor. - if ( FCKConfig.StartupFocus ) - FCK.Focus() ; - } - - this.Events.FireEvent( 'OnStatusChange', newStatus ) ; -} - -// GetHTML is Deprecated : returns the same value as GetXHTML. -FCK.GetHTML = FCK.GetXHTML = function( format ) -{ - // We assume that if the user is in source editing, the editor value must - // represent the exact contents of the source, as the user wanted it to be. - if ( FCK.EditMode == FCK_EDITMODE_SOURCE ) - return FCK.EditingArea.Textarea.value ; - - var sXHTML ; - - if ( FCKConfig.FullPage ) - sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.getElementsByTagName( 'html' )[0], true, format ) ; - else - { - if ( FCKConfig.IgnoreEmptyParagraphValue && this.EditorDocument.body.innerHTML == '

 

' ) - sXHTML = '' ; - else - sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body, false, format ) ; - } - - 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() -{ - FCK.LinkedField.value = FCK.GetXHTML( FCKConfig.FormatOutput ) ; - FCK.Events.FireEvent( 'OnAfterLinkedFieldUpdate' ) ; -} - -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() -{ - FCKDocumentProcessor.Process( FCK.EditorDocument ) ; - FCK.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"' ) ; - - // src - html = html.replace( FCKRegexLib.ProtectUrlsImgApo , '$1$2$3$2 _fcksavedurl=$2$3$2' ) ; - html = html.replace( FCKRegexLib.ProtectUrlsImgNoApo, '$1$2 _fcksavedurl="$2"' ) ; - - return html ; -} - -FCK.IsDirty = function() -{ - return ( FCK_StartupValue != FCK.EditorDocument.body.innerHTML ) ; -} - -FCK.ResetIsDirty = function() -{ - if ( FCK.EditorDocument.body ) - FCK_StartupValue = FCK.EditorDocument.body.innerHTML ; -} - -FCK.SetHTML = function( html ) -{ - this.EditingArea.Mode = FCK.EditMode ; - - if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) - { - // Firefox can't handle correctly the editing of the STRONG and EM tags. - // We must replace them with B and I. - if ( FCKBrowserInfo.IsGecko ) - { - html = html.replace( FCKRegexLib.StrongOpener, '' ) ; - html = html.replace( FCKRegexLib.EmOpener, '' ) ; - } - - html = FCKConfig.ProtectedSource.Protect( html ) ; - html = FCK.ProtectUrls( html ) ; - - var sHtml ; - - if ( FCKConfig.FullPage ) - { - var sHtml ; - - if ( FCKBrowserInfo.IsIE ) - sHtml = FCK._GetBehaviorsStyle() ; - else if ( FCKConfig.ShowBorders ) - sHtml = '' ; - - sHtml += '' ; - - sHtml = html.replace( FCKRegexLib.HeadCloser, sHtml + '$&' ) ; - - // Insert the base tag (FCKConfig.BaseHref), if not exists in the source. - if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( html ) ) - sHtml = sHtml.replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ; - } - else - { - sHtml = - FCKConfig.DocType + - '' + - this._GetEditorAreaStyleTags() + - '' ; - - if ( FCKBrowserInfo.IsIE ) - sHtml += FCK._GetBehaviorsStyle() ; - else if ( FCKConfig.ShowBorders ) - sHtml += '' ; - - sHtml += FCK.TempBaseTag ; - sHtml += '' ; - - if ( FCKBrowserInfo.IsGecko && ( html.length == 0 || FCKRegexLib.EmptyParagraph.test( html ) ) ) - sHtml += GECKO_BOGUS ; - else - sHtml += html ; - - sHtml += '' ; - } - - this.EditingArea.OnLoad = FCK_EditingArea_OnLoad ; - this.EditingArea.Start( sHtml ) ; - } - else - { - this.EditingArea.OnLoad = null ; - this.EditingArea.Start( html ) ; - - // Enables the context menu in the textarea. - this.EditingArea.Textarea._FCKShowContextMenu = true ; - } -} - -function FCK_EditingArea_OnLoad() -{ - // Get the editor's window and document (DOM) - FCK.EditorWindow = FCK.EditingArea.Window ; - FCK.EditorDocument = FCK.EditingArea.Document ; - - FCK.InitializeBehaviors() ; - - FCK.OnAfterSetHTML() ; - - // Check if it is not a startup call, otherwise complete the startup. - if ( FCK.Status != FCK_STATUS_NOTLOADED ) - return ; - - // Save the startup value for the "IsDirty()" check. - FCK.ResetIsDirty() ; - - // Attach the editor to the form onsubmit event - FCKTools.AttachToLinkedFieldFormSubmit( FCK.UpdateLinkedField ) ; - - FCKUndo.SaveUndoStep() ; - - FCK.SetStatus( FCK_STATUS_ACTIVE ) ; -} - -FCK._GetEditorAreaStyleTags = function() -{ - var sTags = '' ; - var aCSSs = FCKConfig.EditorAreaCSS ; - - for ( var i = 0 ; i < aCSSs.length ; i++ ) - sTags += '' ; - - return sTags ; -} - -// # Focus Manager: Manages the focus in the editor. -var FCKFocusManager = FCK.FocusManager = new Object() ; -FCKFocusManager.IsLocked = false ; -FCK.HasFocus = false ; - -FCKFocusManager.AddWindow = function( win, sendToEditingArea ) -{ - var oTarget ; - - if ( FCKBrowserInfo.IsIE ) - oTarget = win.nodeType == 1 ? win : win.frameElement ? win.frameElement : win.document ; - else - oTarget = win.document ; - - FCKTools.AddEventListener( oTarget, 'blur', FCKFocusManager_Win_OnBlur ) ; - FCKTools.AddEventListener( oTarget, 'focus', sendToEditingArea ? FCKFocusManager_Win_OnFocus_Area : FCKFocusManager_Win_OnFocus ) ; -} - -FCKFocusManager.RemoveWindow = function( win ) -{ - if ( FCKBrowserInfo.IsIE ) - oTarget = win.nodeType == 1 ? win : win.frameElement ? win.frameElement : win.document ; - else - oTarget = win.document ; - - FCKTools.RemoveEventListener( oTarget, 'blur', FCKFocusManager_Win_OnBlur ) ; - FCKTools.RemoveEventListener( oTarget, 'focus', FCKFocusManager_Win_OnFocus_Area ) ; - FCKTools.RemoveEventListener( oTarget, 'focus', FCKFocusManager_Win_OnFocus ) ; -} - -FCKFocusManager.Lock = function() -{ - this.IsLocked = true ; -} - -FCKFocusManager.Unlock = function() -{ - if ( this._HasPendingBlur ) - FCKFocusManager._Timer = window.setTimeout( FCKFocusManager_FireOnBlur, 100 ) ; - - this.IsLocked = false ; -} - -FCKFocusManager._ResetTimer = function() -{ - this._HasPendingBlur = false ; - - if ( this._Timer ) - { - window.clearTimeout( this._Timer ) ; - delete this._Timer ; - } -} - -function FCKFocusManager_Win_OnBlur() -{ - if ( FCK && FCK.HasFocus ) - { - FCKFocusManager._ResetTimer() ; - FCKFocusManager._Timer = window.setTimeout( FCKFocusManager_FireOnBlur, 100 ) ; - } -} - -function FCKFocusManager_FireOnBlur() -{ - if ( FCKFocusManager.IsLocked ) - FCKFocusManager._HasPendingBlur = true ; - else - { - FCK.HasFocus = false ; - FCK.Events.FireEvent( "OnBlur" ) ; - } -} - -function FCKFocusManager_Win_OnFocus_Area() -{ - FCKFocusManager_Win_OnFocus() ; - FCK.Focus() ; -} - -function FCKFocusManager_Win_OnFocus() -{ - FCKFocusManager._ResetTimer() ; - - if ( !FCK.HasFocus && !FCKFocusManager.IsLocked ) - { - FCK.HasFocus = true ; - FCK.Events.FireEvent( "OnFocus" ) ; - } -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_1_gecko.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_1_gecko.js deleted file mode 100644 index 8b900470fe6..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_1_gecko.js +++ /dev/null @@ -1,127 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_1_gecko.js - * This is the first part of the "FCK" object creation. This is the main - * object that represents an editor instance. - * (Gecko specific implementations) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -FCK.Description = "FCKeditor for Gecko Browsers" ; - -FCK.InitializeBehaviors = function() -{ - FCKFocusManager.AddWindow( this.EditorWindow ) ; - - // Handle pasting operations. - var oOnKeyDown = function( e ) - { - - // START iCM Modifications - /* - // Need to amend carriage return key handling so inserts block element tags rather than BR all the time - if ( e.which == 13 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UseBROnCarriageReturn && !FCK.Events.FireEvent( "OnEnter" ) ) - { - e.preventDefault() ; - e.stopPropagation() ; - } - // Amend backspace handling so correctly removes empty block elements i.e. those block elements containing nothing or - // just the bogus BR node - if ( e.which == 8 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UseBROnCarriageReturn && !FCK.Events.FireEvent( "OnBackSpace" ) ) - { - e.preventDefault() ; - e.stopPropagation() ; - } - */ - // END iCM Modifications - - var bPrevent ; - - if ( e.ctrlKey && !e.shiftKey && !e.altKey ) - { - switch ( e.which ) - { - case 66 : // B - case 98 : // b - FCK.ExecuteNamedCommand( 'bold' ) ; bPrevent = true ; - break; - case 105 : // i - case 73 : // I - FCK.ExecuteNamedCommand( 'italic' ) ; bPrevent = true ; - break; - case 117 : // u - case 85 : // U - FCK.ExecuteNamedCommand( 'underline' ) ; bPrevent = true ; - break; - case 86 : // V - case 118 : // v - bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ; - break ; - } - } - else if ( e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode == 45 ) // SHIFT + - bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ; - - if ( bPrevent ) - { - e.preventDefault() ; - e.stopPropagation() ; - } - } - this.EditorDocument.addEventListener( 'keypress', oOnKeyDown, true ) ; - - this.ExecOnSelectionChange = function() - { - FCK.Events.FireEvent( "OnSelectionChange" ) ; - } - - this.ExecOnSelectionChangeTimer = function() - { - if ( FCK.LastOnChangeTimer ) - window.clearTimeout( FCK.LastOnChangeTimer ) ; - - FCK.LastOnChangeTimer = window.setTimeout( FCK.ExecOnSelectionChange, 100 ) ; - } - - this.EditorDocument.addEventListener( 'mouseup', this.ExecOnSelectionChange, false ) ; - - // On Gecko, firing the "OnSelectionChange" event on every key press started to be too much - // slow. So, a timer has been implemented to solve performance issues when tipying to quickly. - this.EditorDocument.addEventListener( 'keyup', this.ExecOnSelectionChangeTimer, false ) ; - - this._DblClickListener = function( e ) - { - FCK.OnDoubleClick( e.target ) ; - e.stopPropagation() ; - } - this.EditorDocument.addEventListener( 'dblclick', this._DblClickListener, true ) ; - - // Reset the context menu. - FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow( FCK.EditorWindow ) ; - FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument ) ; -} - -FCK.MakeEditable = function() -{ - this.EditingArea.MakeEditable() ; -} - -// Disable the context menu in the editor (outside the editing area). -function Document_OnContextMenu( e ) -{ - if ( !e.target._FCKShowContextMenu ) - e.preventDefault() ; -} -document.oncontextmenu = Document_OnContextMenu ; \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_1_ie.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_1_ie.js deleted file mode 100644 index 7456243a6eb..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_1_ie.js +++ /dev/null @@ -1,285 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_1_ie.js - * This is the first part of the "FCK" object creation. This is the main - * object that represents an editor instance. - * (IE specific implementations) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -FCK.Description = "FCKeditor for Internet Explorer 5.5+" ; - -FCK._GetBehaviorsStyle = function() -{ - if ( !FCK._BehaviorsStyle ) - { - var sBasePath = FCKConfig.FullBasePath ; - var sStyle ; - - // The behaviors should be pointed using the FullBasePath to avoid security - // errors when using a differente BaseHref. - sStyle = - '' ; - FCK._BehaviorsStyle = sStyle ; - } - - return FCK._BehaviorsStyle ; -} - -function Doc_OnMouseUp() -{ - if ( FCK.EditorWindow.event.srcElement.tagName == 'HTML' ) - { - FCK.Focus() ; - FCK.EditorWindow.event.cancelBubble = true ; - FCK.EditorWindow.event.returnValue = false ; - } -} - -function Doc_OnPaste() -{ - if ( FCK.Status == FCK_STATUS_COMPLETE ) - return FCK.Events.FireEvent( "OnPaste" ) ; - else - return false ; -} - -/* -function Doc_OnContextMenu() -{ - var e = FCK.EditorWindow.event ; - - FCK.ShowContextMenu( e.screenX, e.screenY ) ; - return false ; -} -*/ - -function Doc_OnKeyDown() -{ - var e = FCK.EditorWindow.event ; - - - switch ( e.keyCode ) - { - case 13 : // ENTER - if ( FCKConfig.UseBROnCarriageReturn && !(e.ctrlKey || e.altKey || e.shiftKey) ) - { - Doc_OnKeyDownUndo() ; - - // We must ignore it if we are inside a List. - if ( FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' ) ) - return true ; - - // Insert the
(The   must be also inserted to make it work) - FCK.InsertHtml( '
 ' ) ; - - // Remove the   - var oRange = FCK.EditorDocument.selection.createRange() ; - oRange.moveStart( 'character', -1 ) ; - oRange.select() ; - FCK.EditorDocument.selection.clear() ; - - return false ; - } - break ; - - case 8 : // BACKSPACE - // We must delete a control selection by code and cancels the - // keystroke, otherwise IE will execute the browser's "back" button. - if ( FCKSelection.GetType() == 'Control' ) - { - FCKSelection.Delete() ; - return false ; - } - break ; - - case 9 : // TAB - if ( FCKConfig.TabSpaces > 0 && !(e.ctrlKey || e.altKey || e.shiftKey) ) - { - Doc_OnKeyDownUndo() ; - - FCK.InsertHtml( window.FCKTabHTML ) ; - return false ; - } - break ; - case 90 : // Z - if ( e.ctrlKey && !(e.altKey || e.shiftKey) ) - { - FCKUndo.Undo() ; - return false ; - } - break ; - case 89 : // Y - if ( e.ctrlKey && !(e.altKey || e.shiftKey) ) - { - FCKUndo.Redo() ; - return false ; - } - break ; - } - - if ( !( e.keyCode >=16 && e.keyCode <= 18 ) ) - Doc_OnKeyDownUndo() ; - return true ; -} - -function Doc_OnKeyDownUndo() -{ - if ( !FCKUndo.Typing ) - { - FCKUndo.SaveUndoStep() ; - FCKUndo.Typing = true ; - FCK.Events.FireEvent( "OnSelectionChange" ) ; - } - - FCKUndo.TypesCount++ ; - - if ( FCKUndo.TypesCount > FCKUndo.MaxTypes ) - { - FCKUndo.TypesCount = 0 ; - FCKUndo.SaveUndoStep() ; - } -} - -function Doc_OnDblClick() -{ - FCK.OnDoubleClick( FCK.EditorWindow.event.srcElement ) ; - FCK.EditorWindow.event.cancelBubble = true ; -} - -function Doc_OnSelectionChange() -{ - FCK.Events.FireEvent( "OnSelectionChange" ) ; -} - -FCK.InitializeBehaviors = function( dontReturn ) -{ - // Set the focus to the editable area when clicking in the document area. - // TODO: The cursor must be positioned at the end. - this.EditorDocument.attachEvent( 'onmouseup', Doc_OnMouseUp ) ; - - // Intercept pasting operations - this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ; - - // Reset the context menu. - FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument.body ) ; - - // Build the "TAB" key replacement (if necessary). - if ( FCKConfig.TabSpaces > 0 ) - { - window.FCKTabHTML = '' ; - for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ ) - window.FCKTabHTML += " " ; - } - this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDown ) ; - - this.EditorDocument.attachEvent("ondblclick", Doc_OnDblClick ) ; - - // Catch cursor movements - this.EditorDocument.attachEvent("onselectionchange", Doc_OnSelectionChange ) ; - - //Enable editing -// this.EditorDocument.body.contentEditable = true ; -} - -FCK.InsertHtml = function( html ) -{ - html = FCKConfig.ProtectedSource.Protect( html ) ; - html = FCK.ProtectUrls( html ) ; - - FCK.Focus() ; - - FCKUndo.SaveUndoStep() ; - - // Gets the actual selection. - var oSel = FCK.EditorDocument.selection ; - - // Deletes the actual selection contents. - if ( oSel.type.toLowerCase() == 'control' ) - oSel.clear() ; - - // Insert the HTML. - oSel.createRange().pasteHTML( html ) ; -} - -FCK.SetInnerHtml = function( html ) // IE Only -{ - var oDoc = FCK.EditorDocument ; - // Using the following trick, any comment in the begining of the HTML will - // be preserved. - oDoc.body.innerHTML = '
 
' + html ; - oDoc.getElementById('__fakeFCKRemove__').removeNode( true ) ; -} - -var FCK_PreloadImages_Count = 0 ; -var FCK_PreloadImages_Images = new Array() ; - -function FCK_PreloadImages() -{ - // Get the images to preload. - var aImages = FCKConfig.PreloadImages || [] ; - - if ( typeof( aImages ) == 'string' ) - aImages = aImages.split( ';' ) ; - - // Add the skin icons strip. - aImages.push( FCKConfig.SkinPath + 'fck_strip.gif' ) ; - - FCK_PreloadImages_Count = aImages.length ; - - var aImageElements = new Array() ; - - for ( var i = 0 ; i < aImages.length ; i++ ) - { - var eImg = document.createElement( 'img' ) ; - eImg.onload = eImg.onerror = FCK_PreloadImages_OnImage ; - eImg.src = aImages[i] ; - - FCK_PreloadImages_Images[i] = eImg ; - } -} - -function FCK_PreloadImages_OnImage() -{ - if ( (--FCK_PreloadImages_Count) == 0 ) - FCKTools.RunFunction( LoadToolbarSetup ) ; -} - -// Disable the context menu in the editor (outside the editing area). -function Document_OnContextMenu() -{ - return ( event.srcElement._FCKShowContextMenu == true ) ; -} -document.oncontextmenu = Document_OnContextMenu ; - -function FCK_Cleanup() -{ - this.EditorWindow = null ; - this.EditorDocument = null ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_2.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_2.js deleted file mode 100644 index ba071f92c86..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_2.js +++ /dev/null @@ -1,165 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_2.js - * This is the second part of the "FCK" object creation. This is the main - * object that represents an editor instance. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -// This collection is used by the browser specific implementations to tell -// wich named commands must be handled separately. -FCK.RedirectNamedCommands = new Object() ; - -FCK.ExecuteNamedCommand = function( commandName, commandParameter, noRedirect ) -{ - FCKUndo.SaveUndoStep() ; - - if ( !noRedirect && FCK.RedirectNamedCommands[ commandName ] != null ) - FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ; - else - { - FCK.Focus() ; - FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; - FCK.Events.FireEvent( 'OnSelectionChange' ) ; - } - - FCKUndo.SaveUndoStep() ; -} - -FCK.GetNamedCommandState = function( commandName ) -{ - try - { - if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) ) - return FCK_TRISTATE_DISABLED ; - else - return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ; - } - catch ( e ) - { - return FCK_TRISTATE_OFF ; - } -} - -FCK.GetNamedCommandValue = function( commandName ) -{ - var sValue = '' ; - var eState = FCK.GetNamedCommandState( commandName ) ; - - if ( eState == FCK_TRISTATE_DISABLED ) - return null ; - - try - { - sValue = this.EditorDocument.queryCommandValue( commandName ) ; - } - catch(e) {} - - return sValue ? sValue : '' ; -} - -FCK.PasteFromWord = function() -{ - FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ; -} - -FCK.Preview = function() -{ - var iWidth = FCKConfig.ScreenWidth * 0.8 ; - var iHeight = FCKConfig.ScreenHeight * 0.7 ; - var iLeft = ( FCKConfig.ScreenWidth - iWidth ) / 2 ; - var oWindow = window.open( '', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ) ; - - var sHTML ; - - if ( FCKConfig.FullPage ) - { - if ( FCK.TempBaseTag.length > 0 ) - sHTML = FCK.GetXHTML().replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ; - else - sHTML = FCK.GetXHTML() ; - } - else - { - sHTML = - FCKConfig.DocType + - '' + - '' + - FCK.TempBaseTag + - '' + FCKLang.Preview + '' + - FCK._GetEditorAreaStyleTags() + - '' + - FCK.GetXHTML() + - '' ; - } - - oWindow.document.write( sHTML ); - oWindow.document.close(); -} - -FCK.SwitchEditMode = function( noUndo ) -{ - var bIsWysiwyg = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ; - var sHtml ; - - // Update the HTML in the view output to show. - if ( bIsWysiwyg ) - { - if ( !noUndo && FCKBrowserInfo.IsIE ) - FCKUndo.SaveUndoStep() ; - - sHtml = FCK.GetXHTML( FCKConfig.FormatSource ) ; - } - else - sHtml = this.EditingArea.Textarea.value ; - - FCK.EditMode = bIsWysiwyg ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ; - - FCK.SetHTML( sHtml ) ; - - if ( FCKBrowserInfo.IsGecko ) - window.onresize() ; - - // Set the Focus. - FCK.Focus() ; - - // Update the toolbar (Running it directly causes IE to fail). - FCKTools.RunFunction( FCK.ToolbarSet.RefreshModeState, FCK.ToolbarSet ) ; -} - -FCK.CreateElement = function( tag ) -{ - var e = FCK.EditorDocument.createElement( tag ) ; - return FCK.InsertElementAndGetIt( e ) ; -} - -FCK.InsertElementAndGetIt = function( e ) -{ - e.setAttribute( 'FCKTempLabel', 'true' ) ; - - this.InsertElement( e ) ; - - var aEls = FCK.EditorDocument.getElementsByTagName( e.tagName ) ; - - for ( var i = 0 ; i < aEls.length ; i++ ) - { - if ( aEls[i].getAttribute( 'FCKTempLabel' ) ) - { - aEls[i].removeAttribute( 'FCKTempLabel' ) ; - return aEls[i] ; - } - } - return null ; -} diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_2_gecko.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_2_gecko.js deleted file mode 100644 index 3c621569d88..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_2_gecko.js +++ /dev/null @@ -1,461 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_2_gecko.js - * This is the second part of the "FCK" object creation. This is the main - * object that represents an editor instance. - * (Gecko specific implementations) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -// GetNamedCommandState overload for Gecko. -FCK._BaseGetNamedCommandState = FCK.GetNamedCommandState ; -FCK.GetNamedCommandState = function( commandName ) -{ - switch ( commandName ) - { - case 'Unlink' : - return FCKSelection.HasAncestorNode('A') ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; - default : - return FCK._BaseGetNamedCommandState( commandName ) ; - } -} - -// Named commands to be handled by this browsers specific implementation. -FCK.RedirectNamedCommands = -{ - Print : true, - Paste : true, - Cut : true, - Copy : true - // START iCM MODIFICATIONS - // Include list functions so we can ensure content is wrapped - // with P tags if not using BRs on carriage return, etc - /* - InsertOrderedList : true, - InsertUnorderedList : true - */ - // END iCM MODIFICATIONS -} - -// ExecuteNamedCommand overload for Gecko. -FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter ) -{ - switch ( commandName ) - { - case 'Print' : - FCK.EditorWindow.print() ; - break ; - case 'Paste' : - try { if ( FCK.Paste() ) FCK.ExecuteNamedCommand( 'Paste', null, true ) ; } - catch (e) { alert(FCKLang.PasteErrorPaste) ; } - break ; - case 'Cut' : - try { FCK.ExecuteNamedCommand( 'Cut', null, true ) ; } - catch (e) { alert(FCKLang.PasteErrorCut) ; } - break ; - case 'Copy' : - try { FCK.ExecuteNamedCommand( 'Copy', null, true ) ; } - catch (e) { alert(FCKLang.PasteErrorCopy) ; } - break ; - - // START iCM MODIFICATIONS - /* - case 'InsertOrderedList' : - case 'InsertUnorderedList' : - - if ( !FCKConfig.UseBROnCarriageReturn && FCK.EditorDocument.queryCommandState( commandName ) ) - { - // We're in a list item which is in the same type of list as the toolbar button clicked - // Therefore, move the selected list item out of the list as is done on an ENTER key within - // an empty list item. - var oSel = FCK.EditorWindow.getSelection() ; - var oSelNode = oSel.focusNode ; - var oLINode = FCKTools.GetElementAscensor( oSelNode, "LI" ) ; - FCK.ToggleListItem( oLINode, oSelNode ) ; - } - else - { - // Let the default handler do its stuff - FCK.Focus() ; - FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; - } - - FCK.Events.FireEvent( 'OnSelectionChange' ) ; - break ; - */ - // END iCM MODIFICATIONS - - default : - FCK.ExecuteNamedCommand( commandName, commandParameter ) ; - } -} - -FCK.AttachToOnSelectionChange = function( functionPointer ) -{ - this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ; -} - -FCK.Paste = function() -{ - if ( FCKConfig.ForcePasteAsPlainText ) - { - FCK.PasteAsPlainText() ; - return false ; - } -/* For now, the AutoDetectPasteFromWord feature is IE only. - else if ( FCKConfig.AutoDetectPasteFromWord ) - { - var sHTML = FCK.GetClipboardHTML() ; - var re = /<\w[^>]* class="?MsoNormal"?/gi ; - if ( re.test( sHTML ) ) - { - if ( confirm( FCKLang["PasteWordConfirm"] ) ) - { - FCK.PasteFromWord() ; - return false ; - } - } - } -*/ - else - return true ; -} - -//** -// FCK.InsertHtml: Inserts HTML at the current cursor location. Deletes the -// selected content if any. -FCK.InsertHtml = function( html ) -{ - html = FCKConfig.ProtectedSource.Protect( html ) ; - html = FCK.ProtectUrls( html ) ; - - // Delete the actual selection. - var oSel = FCKSelection.Delete() ; - - // Get the first available range. - var oRange = oSel.getRangeAt(0) ; - - // Create a fragment with the input HTML. - var oFragment = oRange.createContextualFragment( html ) ; - - // Get the last available node. - var oLastNode = oFragment.lastChild ; - - // Insert the fragment in the range. - oRange.insertNode(oFragment) ; - - // Set the cursor after the inserted fragment. - FCKSelection.SelectNode( oLastNode ) ; - FCKSelection.Collapse( false ) ; - - this.Focus() ; -} - -FCK.InsertElement = function( element ) -{ - // Deletes the actual selection. - var oSel = FCKSelection.Delete() ; - - // Gets the first available range. - var oRange = oSel.getRangeAt(0) ; - - // Inserts the element in the range. - oRange.insertNode( element ) ; - - // Set the cursor after the inserted fragment. - FCKSelection.SelectNode( element ) ; - FCKSelection.Collapse( false ) ; - - this.Focus() ; -} - -FCK.PasteAsPlainText = function() -{ - // TODO: Implement the "Paste as Plain Text" code. - - FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteAsText, 'dialog/fck_paste.html', 400, 330, 'PlainText' ) ; - -/* - var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ; - sText = sText.replace( /\n/g, '
' ) ; - this.InsertHtml( sText ) ; -*/ -} -/* -FCK.PasteFromWord = function() -{ - // TODO: Implement the "Paste as Plain Text" code. - - FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ; - -// FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ; -} -*/ -FCK.GetClipboardHTML = function() -{ - return '' ; -} - -FCK.CreateLink = function( url ) -{ - FCK.ExecuteNamedCommand( 'Unlink' ) ; - - if ( url.length > 0 ) - { - // Generate a temporary name for the link. - var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ; - - // Use the internal "CreateLink" command to create the link. - FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ; - - // Retrieve the just created link using XPath. - var oLink = document.evaluate("//a[@href='" + sTempUrl + "']", this.EditorDocument.body, null, 9, null).singleNodeValue ; - - if ( oLink ) - { - oLink.href = url ; - return oLink ; - } - } -} - -// START iCM Modifications -/* -// Ensure that behaviour of the ENTER key or the list toolbar button works correctly for a list item. -// ENTER in empty list item at top of list should result in the empty list item being -// removed and selection being moved out of the list into a P tag above it. -// ENTER in empty list item at bottom of list should result in the empty list item being -// removed and selection being moved out of the list into a P tag below it. -// ENTER in empty list item in middle of the list should result in the list being split -// into two and the selection being moved into a P tag between the two resulting lists. -// Clicking the list toolbar button in a list item at top of list should result in the list item's contents being -// moved out of the list into a P tag above it. -// Clicking the list toolbar button in a list item at the bottom of list should result in the list item's contents being -// moved out of the list into a P tag below it. -// Clicking the list toolbar button in a list item in the middle of the list should result in the list being split -// into two and the list item's contents being moved into a P tag between the two resulting lists. -FCK.ToggleListItem = function( oLINode, oSelNode ) -{ - var oListNode = FCKTools.GetElementAscensor( oLINode, "UL,OL" ) ; - var oRange = FCK.EditorDocument.createRange() ; - - // Create a new block element - var oBlockNode = FCK.EditorDocument.createElement( "P" ) ; - oBlockNode.innerHTML = oLINode.innerHTML ; // Transfer any list item contents - if ( FCKTools.NodeIsEmpty( oBlockNode ) ) - oBlockNode.innerHTML = GECKO_BOGUS ; // Ensure it has some content, required for Gecko - if ( oLINode.className && oLINode.className != '' ) - oBlockNode.className = oLINode.className ; // Transfer across any class attribute - - var oCursorNode = oBlockNode ; - - // Then, perform list processing and locate the point at which the new P tag is to be inserted - if ( oListNode.childNodes[0] == oLINode ) - { - // First LI was empty so want to leave list and insert P above it - oListNode.removeChild( oLINode ); - // Need to insert a new P tag (or other suitable block element) just before the list - oRange.setStartBefore( oListNode ) ; - oRange.setEndBefore( oListNode ) ; - } - else if ( oListNode.childNodes[oListNode.childNodes.length-1] == oLINode ) - { - // Last LI was empty so want to leave list and insert new block element in the parent - oListNode.removeChild( oLINode ); - // Need to insert a new P tag (or other suitable block element) just after the list - oRange.setEndAfter( oListNode ) ; - oRange.setStartAfter( oListNode ) ; - } - else - { - // A middle LI was empty so want to break list into two and insert the new block/text node in between them - oListNode = FCKTools.SplitNode( oListNode, oSelNode, 0 ) ; - oListNode.removeChild( oListNode.childNodes[0] ) ; - oRange.setStartBefore( oListNode ) ; - oRange.setEndBefore( oListNode ) ; - } - - // Insert new block/text node - oRange.insertNode( oBlockNode ) ; - - // Ensure that we don't leave empty UL/OL tags behind - if ( oListNode.childNodes.length == 0 ) - oListNode.parentNode.removeChild( oListNode ) ; - - // Reset cursor position to start of the new P tag's contents ready for typing - FCK.Selection.SetCursorPosition( oCursorNode ) ; -} - -FCK.ListItemEnter = function( oLINode, oSelNode, nSelOffset ) -{ - // Ensure that behaviour of ENTER key within an empty list element works correctly. - // ENTER in empty list item at top of list should result in the empty list item being - // removed and selection being moved out of the list into a P tag above it. - // ENTER in empty list item at bottom of list should result in the empty list item being - // removed and selection being moved out of the list into a P tag below it. - // ENTER in empty list item in middle of the list should result in the list being split - // into two and the selection being moved into a P tag between the two resulting lists. - if ( FCKTools.NodeIsEmpty( oLINode ) ) - { - FCK.ToggleListItem( oLINode, oSelNode ) ; - return false ; // Job done, perform no default handling - } - - return true ; // If non-empty list item, let default handler do its stuff -} - -FCK.ListItemBackSpace = function( oSelNode, nSelOffset ) -{ - // Ensure that behaviour of BACKSPACE key within an empty list element works correctly. - // BACKSPACE in empty list item at top of list should result in the empty list item being - // removed and selection being moved out of the list into a P tag above it. - // Allow the default handler to do its stuff for backspace in other list elements. - var oListNode = oSelNode.parentNode ; - - if ( FCKTools.NodeIsEmpty( oSelNode ) && ( oListNode.childNodes[0] == oSelNode ) ) - { - var oRange = FCK.EditorDocument.createRange() ; - - // Create a new P element - var oBlockNode = FCK.EditorDocument.createElement( "P" ) ; - if ( FCKTools.NodeIsEmpty( oBlockNode ) ) - oBlockNode.innerHTML = GECKO_BOGUS ; // Ensure it has some content, required for Gecko - - // First LI was empty so want to leave list and insert P above it - oListNode.removeChild( oSelNode ); - oRange.setStartBefore( oListNode ) ; - oRange.setEndBefore( oListNode ) ; - - // Insert new P tag - oRange.insertNode( oBlockNode ) ; - - // Ensure that we don't leave empty UL/OL tags behind - if ( oListNode.childNodes.length == 0 ) - oListNode.parentNode.removeChild( oListNode ) ; - - // Reset cursor position to start of the new P tag's contents ready for typing - FCK.Selection.SetCursorPosition( oBlockNode ) ; - - return false ; // Job done, perform no default handling - } - - return true ; // Let default handler do its stuff if not backspacing in an empty first LI -} - -FCK.Enter = function() -{ - // Remove any selected content before we begin so we end up with a single selection point - FCK.Selection.Delete() ; - - // Determine the current cursor (selection) point, the node it's within and the offset - // position of the cursor within that node - var oSel = FCK.EditorWindow.getSelection() ; - var nSelOffset = oSel.focusOffset; - var oSelNode = oSel.focusNode ; - - // Guard against a null focus node. - if ( !oSelNode ) - return false ; - - var oLINode = FCKTools.GetElementAscensor( oSelNode, "LI" ) ; - - if ( oLINode ) // An LI element is selected - { - // Handle list items separately as need to handle termination of the list, etc - return FCK.ListItemEnter( oLINode, oSelNode, nSelOffset ) ; - } - else if ( oSelNode.nodeType == 3 ) // A TEXT node is selected - { - // Split it at the selection point and ensure both halves have a suitable enclosing block element - var oParentBlockNode = FCKTools.GetParentBlockNode( oSelNode ) ; - var oBlockNode2 = FCKTools.SplitNode( oParentBlockNode ? oParentBlockNode : FCK.EditorDocument.body, oSelNode, nSelOffset ) ; - - FCK.Selection.SetCursorPosition( oBlockNode2 ); - - return false ; - } - else // An ELEMENT node is selected - { - // Cater for ENTER being pressed after very last element in the editor e.g. pressing ENTER after table element at very end of the editor's content - if ( nSelOffset >= oSelNode.childNodes.length ) - { - var oBlockNode = FCK.EditorDocument.createElement( "P" ) ; - if ( FCKTools.NodeIsEmpty( oBlockNode ) ) - oBlockNode.innerHTML = GECKO_BOGUS ; // Ensure it has some content, required for Gecko - oSelNode.appendChild( oBlockNode ) ; - FCK.Selection.SetCursorPosition( oBlockNode ) ; - return false ; - } - - var oBlockNode2 = FCKTools.SplitNode( oSelNode, oSelNode.childNodes[nSelOffset] ) ; - - FCK.Selection.SetCursorPosition( oBlockNode2 ); - - return false ; - } - - return true ; -} - -FCK.BackSpace = function() -{ - var oSel = FCK.EditorWindow.getSelection() ; - var oSelNode = oSel.focusNode ; - var nSelOffset = oSel.focusOffset; - var oParentNode = null ; - - // Guard against a null focus node. - if ( !oSelNode ) - return false ; - - if ( oSelNode.nodeName.toUpperCase() == "LI" ) // An LI element is selected - { - // Handle list items separately as need to handle termination of the list, etc - return FCK.ListItemBackSpace( oSelNode, nSelOffset ) ; - } - else - { - // If we are anything other than a TEXT node, move to the child indicated by the selection offset - if ( oSelNode.nodeType != 3 ) - { - oSelNode = oSelNode.childNodes[nSelOffset] ; - nSelOffset = 0 ; - } - - // If we are the first child and the previous sibling of the parent is an empty block element (containing nothing or just the filler element) - // want the backspace to completely remove the empty block element - if ( !oSelNode.previousSibling && nSelOffset <= 0 ) - { - oParentNode = oSelNode.parentNode ; - - if ( oParentNode && oParentNode.previousSibling && FCKRegexLib.BlockElements.test( oParentNode.previousSibling.nodeName ) ) - { - if ( FCKTools.NodeIsEmpty( oParentNode.previousSibling ) ) - { - var oRange = FCK.EditorDocument.createRange() ; - oRange.selectNode ( oParentNode.previousSibling ); - oRange.deleteContents() ; - - // Don't do any default processing - return false ; - } - } - } - } - return true ; // Let default processing do its stuff -} -*/ -// END iCM Modifications - diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_2_ie.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_2_ie.js deleted file mode 100644 index 2b16e3916b1..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_2_ie.js +++ /dev/null @@ -1,157 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_2_ie.js - * This is the second part of the "FCK" object creation. This is the main - * object that represents an editor instance. - * (IE specific implementations) - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -/* -if ( FCKConfig.UseBROnCarriageReturn ) -{ - // Named commands to be handled by this browsers specific implementation. - FCK.RedirectNamedCommands = - { - InsertOrderedList : true, - InsertUnorderedList : true - } - - FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter ) - { - if ( commandName == 'InsertOrderedList' || commandName == 'InsertUnorderedList' ) - { - if ( !(FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' )) ) - { - } - } - - FCK.ExecuteNamedCommand( commandName, commandParameter ) ; - } -} -*/ - -FCK.Paste = function() -{ - if ( FCKConfig.ForcePasteAsPlainText ) - { - FCK.PasteAsPlainText() ; - return false ; - } - else if ( FCKConfig.AutoDetectPasteFromWord ) - { - var sHTML = FCK.GetClipboardHTML() ; - var re = /<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi ; - if ( re.test( sHTML ) ) - { - if ( confirm( FCKLang["PasteWordConfirm"] ) ) - { - FCK.PasteFromWord() ; - return false ; - } - } - } - else - return true ; -} - -FCK.PasteAsPlainText = function() -{ - // Get the data available in the clipboard and encodes it in HTML. - var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ; - - // Replace the carriage returns with
- sText = sText.replace( /\n/g, '
' ) ; - - // Insert the resulting data in the editor. - this.InsertHtml( sText ) ; -} -/* -FCK.PasteFromWord = function() -{ - FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ; -} -*/ -FCK.InsertElement = function( element ) -{ - FCK.InsertHtml( element.outerHTML ) ; -} - -FCK.GetClipboardHTML = function() -{ - var oDiv = document.getElementById( '___FCKHiddenDiv' ) ; - - if ( !oDiv ) - { - var oDiv = document.createElement( 'DIV' ) ; - oDiv.id = '___FCKHiddenDiv' ; - oDiv.style.visibility = 'hidden' ; - oDiv.style.overflow = 'hidden' ; - oDiv.style.position = 'absolute' ; - oDiv.style.width = 1 ; - oDiv.style.height = 1 ; - - document.body.appendChild( oDiv ) ; - } - - oDiv.innerHTML = '' ; - - var oTextRange = document.body.createTextRange() ; - oTextRange.moveToElementText( oDiv ) ; - oTextRange.execCommand( 'Paste' ) ; - - var sData = oDiv.innerHTML ; - oDiv.innerHTML = '' ; - - return sData ; -} - -FCK.AttachToOnSelectionChange = function( functionPointer ) -{ - this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ; -} - -/* -FCK.AttachToOnSelectionChange = function( functionPointer ) -{ - FCK.EditorDocument.attachEvent( 'onselectionchange', functionPointer ) ; -} -*/ - -FCK.CreateLink = function( url ) -{ - FCK.ExecuteNamedCommand( 'Unlink' ) ; - - if ( url.length > 0 ) - { - // Generate a temporary name for the link. - var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ; - - // Use the internal "CreateLink" command to create the link. - FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ; - - // Loof for the just create link. - var oLinks = this.EditorDocument.links ; - - for ( i = 0 ; i < oLinks.length ; i++ ) - { - if ( oLinks[i].href == sTempUrl ) - { - oLinks[i].href = url ; - return oLinks[i] ; - } - } - } -} diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fck_contextmenu.js b/htdocs/includes/fckeditor/editor/_source/internals/fck_contextmenu.js deleted file mode 100644 index cd181f5d870..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fck_contextmenu.js +++ /dev/null @@ -1,287 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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_contextmenu.js - * Defines the FCK.ContextMenu object that is responsible for all - * Context Menu operations in the editing area. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -FCK.ContextMenu = new Object() ; -FCK.ContextMenu.Listeners = new Array() ; - -FCK.ContextMenu.RegisterListener = function( listener ) -{ - if ( listener ) - this.Listeners.push( listener ) ; -} - -function FCK_ContextMenu_Init() -{ - var oInnerContextMenu = FCK.ContextMenu._InnerContextMenu = new FCKContextMenu( FCKBrowserInfo.IsIE ? window : window.parent, FCK.EditorWindow, FCKLang.Dir ) ; - oInnerContextMenu.OnBeforeOpen = FCK_ContextMenu_OnBeforeOpen ; - oInnerContextMenu.OnItemClick = FCK_ContextMenu_OnItemClick ; - - // Get the registering function. - var oMenu = FCK.ContextMenu ; - - // Register all configured context menu listeners. - for ( var i = 0 ; i < FCKConfig.ContextMenu.length ; i++ ) - oMenu.RegisterListener( FCK_ContextMenu_GetListener( FCKConfig.ContextMenu[i] ) ) ; -} - -function FCK_ContextMenu_GetListener( listenerName ) -{ - switch ( listenerName ) - { - case 'Generic' : - return { - AddItems : function( menu, tag, tagName ) - { - menu.AddItem( 'Cut' , FCKLang.Cut , 7, FCKCommands.GetCommand( 'Cut' ).GetState() == FCK_TRISTATE_DISABLED ) ; - menu.AddItem( 'Copy' , FCKLang.Copy , 8, FCKCommands.GetCommand( 'Copy' ).GetState() == FCK_TRISTATE_DISABLED ) ; - menu.AddItem( 'Paste' , FCKLang.Paste , 9, FCKCommands.GetCommand( 'Paste' ).GetState() == FCK_TRISTATE_DISABLED ) ; - }} ; - - case 'Table' : - return { - AddItems : function( menu, tag, tagName ) - { - var bIsTable = ( tagName == 'TABLE' ) ; - var bIsCell = ( !bIsTable && FCKSelection.HasAncestorNode( 'TABLE' ) ) ; - - if ( bIsCell ) - { - menu.AddSeparator() ; - var oItem = menu.AddItem( 'Cell' , FCKLang.CellCM ) ; - oItem.AddItem( 'TableInsertCell' , FCKLang.InsertCell, 58 ) ; - oItem.AddItem( 'TableDeleteCells' , FCKLang.DeleteCells, 59 ) ; - oItem.AddItem( 'TableMergeCells' , FCKLang.MergeCells, 60 ) ; - oItem.AddItem( 'TableSplitCell' , FCKLang.SplitCell, 61 ) ; - oItem.AddSeparator() ; - oItem.AddItem( 'TableCellProp' , FCKLang.CellProperties, 57 ) ; - - menu.AddSeparator() ; - oItem = menu.AddItem( 'Row' , FCKLang.RowCM ) ; - oItem.AddItem( 'TableInsertRow' , FCKLang.InsertRow, 62 ) ; - oItem.AddItem( 'TableDeleteRows' , FCKLang.DeleteRows, 63 ) ; - - menu.AddSeparator() ; - oItem = menu.AddItem( 'Column' , FCKLang.ColumnCM ) ; - oItem.AddItem( 'TableInsertColumn' , FCKLang.InsertColumn, 64 ) ; - oItem.AddItem( 'TableDeleteColumns' , FCKLang.DeleteColumns, 65 ) ; - } - - if ( bIsTable || bIsCell ) - { - menu.AddSeparator() ; - menu.AddItem( 'TableDelete' , FCKLang.TableDelete ) ; - menu.AddItem( 'TableProp' , FCKLang.TableProperties, 39 ) ; - } - }} ; - - case 'Link' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) - { - menu.AddSeparator() ; - menu.AddItem( 'Link' , FCKLang.EditLink , 34 ) ; - menu.AddItem( 'Unlink' , FCKLang.RemoveLink , 35 ) ; - } - }} ; - - case 'Image' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'IMG' && !tag.getAttribute( '_fckfakelement' ) ) - { - menu.AddSeparator() ; - menu.AddItem( 'Image', FCKLang.ImageProperties, 37 ) ; - } - }} ; - - case 'Anchor' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'IMG' && tag.getAttribute( '_fckanchor' ) ) - { - menu.AddSeparator() ; - menu.AddItem( 'Anchor', FCKLang.AnchorProp, 36 ) ; - } - }} ; - - case 'Flash' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'IMG' && tag.getAttribute( '_fckflash' ) ) - { - menu.AddSeparator() ; - menu.AddItem( 'Flash', FCKLang.FlashProperties, 38 ) ; - } - }} ; - - case 'Form' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( FCKSelection.HasAncestorNode('FORM') ) - { - menu.AddSeparator() ; - menu.AddItem( 'Form', FCKLang.FormProp, 48 ) ; - } - }} ; - - case 'Checkbox' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'INPUT' && tag.type == 'checkbox' ) - { - menu.AddSeparator() ; - menu.AddItem( 'Checkbox', FCKLang.CheckboxProp, 49 ) ; - } - }} ; - - case 'Radio' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'INPUT' && tag.type == 'radio' ) - { - menu.AddSeparator() ; - menu.AddItem( 'Radio', FCKLang.RadioButtonProp, 50 ) ; - } - }} ; - - case 'TextField' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'INPUT' && ( tag.type == 'text' || tag.type == 'password' ) ) - { - menu.AddSeparator() ; - menu.AddItem( 'TextField', FCKLang.TextFieldProp, 51 ) ; - } - }} ; - - case 'HiddenField' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'INPUT' && tag.type == 'hidden' ) - { - menu.AddSeparator() ; - menu.AddItem( 'HiddenField', FCKLang.HiddenFieldProp, 56 ) ; - } - }} ; - - case 'ImageButton' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'INPUT' && tag.type == 'image' ) - { - menu.AddSeparator() ; - menu.AddItem( 'ImageButton', FCKLang.ImageButtonProp, 55 ) ; - } - }} ; - - case 'Button' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'INPUT' && ( tag.type == 'button' || tag.type == 'submit' || tag.type == 'reset' ) ) - { - menu.AddSeparator() ; - menu.AddItem( 'Button', FCKLang.ButtonProp, 54 ) ; - } - }} ; - - case 'Select' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'SELECT' ) - { - menu.AddSeparator() ; - menu.AddItem( 'Select', FCKLang.SelectionFieldProp, 53 ) ; - } - }} ; - - case 'Textarea' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( tagName == 'TEXTAREA' ) - { - menu.AddSeparator() ; - menu.AddItem( 'Textarea', FCKLang.TextareaProp, 52 ) ; - } - }} ; - - case 'BulletedList' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( FCKSelection.HasAncestorNode('UL') ) - { - menu.AddSeparator() ; - menu.AddItem( 'BulletedList', FCKLang.BulletedListProp, 27 ) ; - } - }} ; - - case 'NumberedList' : - return { - AddItems : function( menu, tag, tagName ) - { - if ( FCKSelection.HasAncestorNode('OL') ) - { - menu.AddSeparator() ; - menu.AddItem( 'NumberedList', FCKLang.NumberedListProp, 26 ) ; - } - }} ; - } -} - -function FCK_ContextMenu_OnBeforeOpen() -{ - // Update the UI. - FCK.Events.FireEvent( "OnSelectionChange" ) ; - - // Get the actual selected tag (if any). - var oTag, sTagName ; - - if ( oTag = FCKSelection.GetSelectedElement() ) - sTagName = oTag.tagName ; - - // Cleanup the current menu items. - var oMenu = FCK.ContextMenu._InnerContextMenu ; - oMenu.RemoveAllItems() ; - - // Loop through the listeners. - var aListeners = FCK.ContextMenu.Listeners ; - for ( var i = 0 ; i < aListeners.length ; i++ ) - aListeners[i].AddItems( oMenu, oTag, sTagName ) ; -} - -function FCK_ContextMenu_OnItemClick( item ) -{ - FCK.Focus() ; - FCKCommands.GetCommand( item.Name ).Execute() ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fckbrowserinfo.js b/htdocs/includes/fckeditor/editor/_source/internals/fckbrowserinfo.js deleted file mode 100644 index d0e22e346e8..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckbrowserinfo.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckbrowserinfo.js - * Contains browser detection information. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var s = navigator.userAgent.toLowerCase() ; - -var FCKBrowserInfo = -{ - IsIE : s.Contains('msie'), - IsIE7 : s.Contains('msie 7'), - IsGecko : s.Contains('gecko/'), - IsSafari : s.Contains('safari'), - IsOpera : s.Contains('opera') -} - -FCKBrowserInfo.IsGeckoLike = FCKBrowserInfo.IsGecko || FCKBrowserInfo.IsSafari || FCKBrowserInfo.IsOpera ; - -if ( FCKBrowserInfo.IsGecko ) -{ - var sGeckoVersion = s.match( /gecko\/(\d+)/ )[1] ; - FCKBrowserInfo.IsGecko10 = sGeckoVersion < 20051111 ; // Actually "10" refers to versions before Firefox 1.5, where Gecko 20051111 has been released. -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fckcodeformatter.js b/htdocs/includes/fckeditor/editor/_source/internals/fckcodeformatter.js deleted file mode 100644 index f4a59e00cbe..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckcodeformatter.js +++ /dev/null @@ -1,96 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckcodeformatter.js - * Format the HTML. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKCodeFormatter = new Object() ; - -FCKCodeFormatter.Init = function() -{ - var oRegex = this.Regex = new Object() ; - - // Regex for line breaks. - oRegex.BlocksOpener = /\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi ; - oRegex.BlocksCloser = /\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi ; - - oRegex.NewLineTags = /\<(BR|HR)[^\>]*\>/gi ; - - oRegex.MainTags = /\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi ; - - oRegex.LineSplitter = /\s*\n+\s*/g ; - - // Regex for indentation. - oRegex.IncreaseIndent = /^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i ; - oRegex.DecreaseIndent = /^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i ; - oRegex.FormatIndentatorRemove = new RegExp( '^' + FCKConfig.FormatIndentator ) ; - - oRegex.ProtectedTags = /(]*>)([\s\S]*?)(<\/PRE>)/gi ; -} - -FCKCodeFormatter._ProtectData = function( outer, opener, data, closer ) -{ - return opener + '___FCKpd___' + FCKCodeFormatter.ProtectedData.AddItem( data ) + closer ; -} - -FCKCodeFormatter.Format = function( html ) -{ - if ( !this.Regex ) - this.Init() ; - - // 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].replace( /\$/g, '$$$$' ) ) ; - } - - return sFormatted.trim() ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fckcommands.js b/htdocs/includes/fckeditor/editor/_source/internals/fckcommands.js deleted file mode 100644 index 0ad66647a63..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckcommands.js +++ /dev/null @@ -1,126 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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 'Unlink' : oCommand = new FCKUnlinkCommand() ; 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' , 450, 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 'FitWindow' : oCommand = new FCKFitWindow() ; 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/htdocs/includes/fckeditor/editor/_source/internals/fckconfig.js b/htdocs/includes/fckeditor/editor/_source/internals/fckconfig.js deleted file mode 100644 index 793f5a4b9a0..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckconfig.js +++ /dev/null @@ -1,175 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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() ; - -/* - For the next major version (probably 3.0) we should move all this stuff to - another dedicated object and leave FCKConfig as a holder object for settings only). -*/ - -// 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) ; - FCKConfig.FullBasePath = FCKConfig.BasePath ; -} -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 ; - } -} - -function FCKConfig_LoadPageConfig() -{ - var oPageConfig = FCKConfig.PageConfig ; - for ( var sKey in oPageConfig ) - FCKConfig[ sKey ] = oPageConfig[ sKey ] ; -} - -function FCKConfig_PreProcess() -{ - var oConfig = FCKConfig ; - - // Force debug mode if fckdebug=true in the QueryString (main page). - if ( oConfig.AllowQueryStringDebug && (/fckdebug=true/i).test( window.top.location.search ) ) - oConfig.Debug = true ; - - // Certifies that the "PluginsPath" configuration ends with a slash. - if ( !oConfig.PluginsPath.endsWith('/') ) - oConfig.PluginsPath += '/' ; - - // EditorAreaCSS accepts an array of paths or a single path (as string). - // In the last case, transform it in an array. - if ( typeof( oConfig.EditorAreaCSS ) == 'string' ) - oConfig.EditorAreaCSS = [ oConfig.EditorAreaCSS ] ; -} - -// 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/htdocs/includes/fckeditor/editor/_source/internals/fckdebug.js b/htdocs/includes/fckeditor/editor/_source/internals/fckdebug.js deleted file mode 100644 index 78b1b352174..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckdebug.js +++ /dev/null @@ -1,77 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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() ; - -FCKDebug.Output = function( message, color, noParse ) -{ - if ( ! FCKConfig.Debug ) return ; - - if ( !noParse && message != null && isNaN( message ) ) - message = message.replace(/
' ; - - for (var prop in anyObject) - { - try - { - var sVal = anyObject[ prop ] ? anyObject[ prop ] + '' : '[null]' ; - message += '' + prop + ' : ' + sVal.replace(/' ; - } - catch (e) - { - try - { - message += '' + prop + ' : [' + typeof( anyObject[ prop ] ) + ']
' ; - } - catch (e) - { - message += '' + prop + ' : [-error-]
' ; - } - } - } - - message += '
' ; - } else - message = 'OutputObject : Object is "null".' ; - - FCKDebug.Output( message, color, true ) ; -} \ No newline at end of file diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fckdialog.js b/htdocs/includes/fckeditor/editor/_source/internals/fckdialog.js deleted file mode 100644 index c84f13d1944..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckdialog.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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/htdocs/includes/fckeditor/editor/_source/internals/fckdialog_gecko.js b/htdocs/includes/fckeditor/editor/_source/internals/fckdialog_gecko.js deleted file mode 100644 index ce7b4b776fc..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckdialog_gecko.js +++ /dev/null @@ -1,101 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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 ; - - FCKFocusManager.Lock() ; - - var oWindow = parentWindow.open( '', 'FCKeditorDialog_' + dialogName, sOption, true ) ; - - if ( !oWindow ) - { - alert( FCKLang.DialogBlocked ) ; - FCKFocusManager.Unlock() ; - 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/htdocs/includes/fckeditor/editor/_source/internals/fckdialog_ie.js b/htdocs/includes/fckeditor/editor/_source/internals/fckdialog_ie.js deleted file mode 100644 index 2de32396340..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckdialog_ie.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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 ; - - FCKFocusManager.Lock() ; - - var oReturn = parentWindow.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" + dialogWidth + "px;dialogHeight:" + dialogHeight + "px;help:no;scroll:no;status:no") ; - - if ( !oReturn ) - alert( FCKLang.DialogBlocked ) ; - - FCKFocusManager.Unlock() ; -} diff --git a/htdocs/includes/fckeditor/editor/_source/internals/fckdocumentprocessor.js b/htdocs/includes/fckeditor/editor/_source/internals/fckdocumentprocessor.js deleted file mode 100644 index 2b59faec6bd..00000000000 --- a/htdocs/includes/fckeditor/editor/_source/internals/fckdocumentprocessor.js +++ /dev/null @@ -1,230 +0,0 @@ -/* - * FCKeditor - The text editor for internet - * Copyright (C) 2003-2006 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: fckdocumentprocessor.js - * Advanced document processors. - * - * File Authors: - * Frederico Caldeira Knabben (fredck@fckeditor.net) - */ - -var FCKDocumentProcessor = new Object() ; -FCKDocumentProcessor._Items = new Array() ; - -FCKDocumentProcessor.AppendNew = function() -{ - var oNewItem = new Object() ; - this._Items.AddItem( oNewItem ) ; - return oNewItem ; -} - -FCKDocumentProcessor.Process = function( document ) -{ - var oProcessor, i = 0 ; - while( ( oProcessor = this._Items[i++] ) ) - oProcessor.ProcessDocument( document ) ; -} - -var FCKDocumentProcessor_CreateFakeImage = function( fakeClass, realElement ) -{ - var oImg = FCK.EditorDocument.createElement( 'IMG' ) ; - oImg.className = fakeClass ; - oImg.src = FCKConfig.FullBasePath + 'images/spacer.gif' ; - oImg.setAttribute( '_fckfakelement', 'true', 0 ) ; - oImg.setAttribute( '_fckrealelement', FCKTempBin.AddElement( realElement ), 0 ) ; - return oImg ; -} - -// Link Anchors -var FCKAnchorsProcessor = FCKDocumentProcessor.AppendNew() ; -FCKAnchorsProcessor.ProcessDocument = function( document ) -{ - var aLinks = document.getElementsByTagName( 'A' ) ; - - var oLink ; - var i = aLinks.length - 1 ; - while ( i >= 0 && ( oLink = aLinks[i--] ) ) - { - // If it is anchor. - if ( oLink.name.length > 0 && ( !oLink.getAttribute('href') || oLink.getAttribute('href').length == 0 ) ) - { - var oImg = FCKDocumentProcessor_CreateFakeImage( 'FCK__Anchor', oLink.cloneNode(true) ) ; - oImg.setAttribute( '_fckanchor', 'true', 0 ) ; - - oLink.parentNode.insertBefore( oImg, oLink ) ; - oLink.parentNode.removeChild( oLink ) ; - } - } -} - -// Page Breaks -var FCKPageBreaksProcessor = FCKDocumentProcessor.AppendNew() ; -FCKPageBreaksProcessor.ProcessDocument = function( document ) -{ - var aDIVs = document.getElementsByTagName( 'DIV' ) ; - - var eDIV ; - var i = aDIVs.length - 1 ; - while ( i >= 0 && ( eDIV = aDIVs[i--] ) ) - { - if ( eDIV.style.pageBreakAfter == 'always' && eDIV.childNodes.length == 1 && eDIV.childNodes[0].style && eDIV.childNodes[0].style.display == 'none' ) - { - var oFakeImage = FCKDocumentProcessor_CreateFakeImage( 'FCK__PageBreak', eDIV.cloneNode(true) ) ; - - eDIV.parentNode.insertBefore( oFakeImage, eDIV ) ; - eDIV.parentNode.removeChild( eDIV ) ; - } - } -/* - var aCenters = document.getElementsByTagName( 'CENTER' ) ; - - var oCenter ; - var i = aCenters.length - 1 ; - while ( i >= 0 && ( oCenter = aCenters[i--] ) ) - { - if ( oCenter.style.pageBreakAfter == 'always' && oCenter.innerHTML.trim().length == 0 ) - { - var oFakeImage = FCKDocumentProcessor_CreateFakeImage( 'FCK__PageBreak', oCenter.cloneNode(true) ) ; - - oCenter.parentNode.insertBefore( oFakeImage, oCenter ) ; - oCenter.parentNode.removeChild( oCenter ) ; - } - } -*/ -} - -// Flash Embeds. -var FCKFlashProcessor = FCKDocumentProcessor.AppendNew() ; -FCKFlashProcessor.ProcessDocument = function( document ) -{ - /* - Sample code: - This is some sample text. You are 
using FCKeditor. - */ - - var aEmbeds = document.getElementsByTagName( 'EMBED' ) ; - - var oEmbed ; - var i = aEmbeds.length - 1 ; - while ( i >= 0 && ( oEmbed = aEmbeds[i--] ) ) - { - if ( oEmbed.src.endsWith( '.swf', true ) ) - { - var oCloned = oEmbed.cloneNode( true ) ; - - // On IE, some properties are not getting clonned properly, so we - // must fix it. Thanks to Alfonso Martinez. - if ( FCKBrowserInfo.IsIE ) - { - var oAtt ; - if ( oAtt = oEmbed.getAttribute( 'scale' ) ) oCloned.setAttribute( 'scale', oAtt ) ; - if ( oAtt = oEmbed.getAttribute( 'play' ) ) oCloned.setAttribute( 'play', oAtt ) ; - if ( oAtt = oEmbed.getAttribute( 'loop' ) ) oCloned.setAttribute( 'loop', oAtt ) ; - if ( oAtt = oEmbed.getAttribute( 'menu' ) ) oCloned.setAttribute( 'menu', oAtt ) ; - if ( oAtt = oEmbed.getAttribute( 'wmode' ) ) oCloned.setAttribute( 'wmode', oAtt ) ; - if ( oAtt = oEmbed.getAttribute( 'quality' ) ) oCloned.setAttribute( 'quality', oAtt ) ; - } - - var oImg = FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oCloned ) ; - oImg.setAttribute( '_fckflash', 'true', 0 ) ; - - FCKFlashProcessor.RefreshView( oImg, oEmbed ) ; - - oEmbed.parentNode.insertBefore( oImg, oEmbed ) ; - oEmbed.parentNode.removeChild( oEmbed ) ; - -// oEmbed.setAttribute( '_fckdelete', 'true', 0) ; -// oEmbed.style.display = 'none' ; -// oEmbed.hidden = true ; - } - } -} - -FCKFlashProcessor.RefreshView = function( placholderImage, originalEmbed ) -{ - if ( originalEmbed.width > 0 ) - placholderImage.style.width = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.width ) ; - - if ( originalEmbed.height > 0 ) - placholderImage.style.height = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.height ) ; -} - -FCK.GetRealElement = function( fakeElement ) -{ - var e = FCKTempBin.Elements[ fakeElement.getAttribute('_fckrealelement') ] ; - - if ( fakeElement.getAttribute('_fckflash') ) - { - if ( fakeElement.style.width.length > 0 ) - e.width = FCKTools.ConvertStyleSizeToHtml( fakeElement.style.width ) ; - - if ( fakeElement.style.height.length > 0 ) - e.height = FCKTools.ConvertStyleSizeToHtml( fakeElement.style.height ) ; - } - - return e ; -} - -// START iCM MODIFICATIONS -/* -var FCKTablesProcessor = FCKDocumentProcessor.AppendNew() ; -FCKTablesProcessor.ProcessDocument = function( document ) -{ - FCKTablesProcessor.CheckTablesNesting( document ) ; -} - -// Ensure that tables are not incorrectly nested within P, H1, H2, etc tags -FCKTablesProcessor.CheckTablesNesting = function( document ) -{ - var aTables = document.getElementsByTagName( "TABLE" ) ; - var oParentNode ; - - for ( var i=0; i= 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, encode ) -{ - var e = targetDocument.getElementsByTagName(tag) ; - var sKey, s ; - for ( var i = 0 ; i < e.length ; i++ ) - { - if ( sKey = e[i].getAttribute( 'fckLang' ) ) - { - if ( s = FCKLang[ sKey ] ) - { - if ( encode ) - s = FCKTools.HTMLEncode( 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', true ) ; -} - -FCKLanguageManager.Initialize = function() -{ - if ( this.AvailableLanguages[ FCKConfig.DefaultLanguage ] ) - this.DefaultLanguage = FCKConfig.DefaultLanguage ; - else - this.DefaultLanguage = 'en' ; - - this.ActiveLanguage = new Object() ; - this.ActiveLanguage.Code = this.GetActiveLanguage() ; - this.ActiveLanguage.Name = this.AvailableLanguages[ this.ActiveLanguage.Code ] ; -} \ No newline at end of file