diff --git a/addons/website/static/lib/ckeditor/CHANGES.md b/addons/website/static/lib/ckeditor/CHANGES.md index 89ee6bdfe44..79ab7064742 100644 --- a/addons/website/static/lib/ckeditor/CHANGES.md +++ b/addons/website/static/lib/ckeditor/CHANGES.md @@ -1,7 +1,9 @@ CKEditor 4 Changelog ==================== -## CKEditor 4.3 +## CKEditor 4.3 beta + +* [#10708](http://dev.ckeditor.com/ticket/10708): New smileys. ## CKEditor 4.2.1 diff --git a/addons/website/static/lib/ckeditor/core/dom/range.js b/addons/website/static/lib/ckeditor/core/dom/range.js index 95c64ea85bf..d567a50ad43 100644 --- a/addons/website/static/lib/ckeditor/core/dom/range.js +++ b/addons/website/static/lib/ckeditor/core/dom/range.js @@ -692,7 +692,7 @@ CKEDITOR.dom.range = function( root ) { collapsed: collapsed, is2: true // It's a createBookmark2 bookmark. }; - } + }; })(), /** diff --git a/addons/website/static/lib/ckeditor/core/editable.js b/addons/website/static/lib/ckeditor/core/editable.js index 840893f744b..a7bfb72531c 100644 --- a/addons/website/static/lib/ckeditor/core/editable.js +++ b/addons/website/static/lib/ckeditor/core/editable.js @@ -237,56 +237,92 @@ /** * @see CKEDITOR.editor#insertElement */ - insertElement: function( element ) { - beforeInsert( this ); + insertElement: function( element, range ) { + if ( !range ) + this.insertElementIntoSelection( element ); + else + this.insertElementIntoRange( element, range ); + }, + /** + * Inserts an element into the position in the editor determined by range. + * + * @param {CKEDITOR.dom.element} element The element to be inserted. + * @param {CKEDITOR.dom.range} range The range as a place of insertion. + * @returns {Boolean} Informs whether insertion was successful. + */ + insertElementIntoRange: function( element, range ) { + var editor = this.editor, + enterMode = editor.config.enterMode, + elementName = element.getName(), + isBlock = CKEDITOR.dtd.$block[ elementName ]; + + if ( range.checkReadOnly() ) + return false; + + // Remove the original contents, merge split nodes. + range.deleteContents( 1 ); + + // If we're inserting a block at dtd-violated position, split + // the parent blocks until we reach blockLimit. + var current, dtd; + + if ( isBlock ) { + while ( ( current = range.getCommonAncestor( 0, 1 ) ) && + ( dtd = CKEDITOR.dtd[ current.getName() ] ) && + !( dtd && dtd[ elementName ] ) ) { + + // Split up inline elements. + if ( current.getName() in CKEDITOR.dtd.span ) + range.splitElement( current ); + + // If we're in an empty block which indicate a new paragraph, + // simply replace it with the inserting block.(#3664) + else if ( range.checkStartOfBlock() && range.checkEndOfBlock() ) { + range.setStartBefore( current ); + range.collapse( true ); + current.remove(); + } else + range.splitBlock( enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p', editor.editable() ); + } + } + + // Insert the new node. + range.insertNode( element ); + + // Return true if insertion was successful. + return true; + }, + + /** + * Inserts an element into the currently selected position in the editor. + * + * @param {CKEDITOR.dom.element} element The element to be inserted. + */ + insertElementIntoSelection: function( element ) { var editor = this.editor, enterMode = editor.activeEnterMode, selection = editor.getSelection(), ranges = selection.getRanges(), elementName = element.getName(), - isBlock = CKEDITOR.dtd.$block[ elementName ]; + isBlock = CKEDITOR.dtd.$block[ elementName ], + clone, lastElement, range; - var range, clone, lastElement; + // Prepare for the insertion. + beforeInsert( this ); - for ( var i = ranges.length - 1; i >= 0; i-- ) { + // Insert the element into all ranges by cloning. + for ( var i = ranges.length; i--; ) { range = ranges[ i ]; - if ( !range.checkReadOnly() ) { - // Remove the original contents, merge split nodes. - range.deleteContents( 1 ); + // Clone is an element for the first range. + clone = !i && element || element.clone( 1 ); - clone = !i && element || element.clone( 1 ); - - // If we're inserting a block at dtd-violated position, split - // the parent blocks until we reach blockLimit. - var current, dtd; - if ( isBlock ) { - while ( ( current = range.getCommonAncestor( 0, 1 ) ) && - ( dtd = CKEDITOR.dtd[ current.getName() ] ) && - !( dtd && dtd[ elementName ] ) ) { - // Split up inline elements. - if ( current.getName() in CKEDITOR.dtd.span ) - range.splitElement( current ); - // If we're in an empty block which indicate a new paragraph, - // simply replace it with the inserting block.(#3664) - else if ( range.checkStartOfBlock() && range.checkEndOfBlock() ) { - range.setStartBefore( current ); - range.collapse( true ); - current.remove(); - } else - range.splitBlock( enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p', editor.editable() ); - } - } - - // Insert the new node. - range.insertNode( clone ); - - // Save the last element reference so we can make the - // selection later. - if ( !lastElement ) - lastElement = clone; - } + // Put the clone into a particular range. + // Save the last **successfully inserted** element reference + // so we can make the selection later. + if ( this.insertElementIntoRange( clone, range ) && !lastElement ); + lastElement = clone; } if ( lastElement ) { @@ -301,8 +337,7 @@ return isNotEmpty( node ) && !isBogus( node ); } ); - if ( next && next.type == CKEDITOR.NODE_ELEMENT && - next.is( CKEDITOR.dtd.$block ) ) { + if ( next && next.type == CKEDITOR.NODE_ELEMENT && next.is( CKEDITOR.dtd.$block ) ) { // If the next one is a text block, move cursor to the start of it's content. if ( next.getDtd()[ '#' ] ) @@ -319,6 +354,7 @@ } } + // Set up the correct selection. selection.selectRanges( [ range ] ); // Do not scroll after inserting, because Opera may fail on certain element (e.g. iframe/iframe.html). diff --git a/addons/website/static/lib/ckeditor/core/editor.js b/addons/website/static/lib/ckeditor/core/editor.js index 6507fd3d458..01f793efa44 100644 --- a/addons/website/static/lib/ckeditor/core/editor.js +++ b/addons/website/static/lib/ckeditor/core/editor.js @@ -705,7 +705,7 @@ function isFunction( f ) { // For IE8 typeof fun == object so we cannot use it. return !!( f && f.call && f.apply ); - }; + } // Check if there is no element/elements input with name == "submit". // If they exists they will overwrite form submit function (form.$.submit). diff --git a/addons/website/static/lib/ckeditor/core/filter.js b/addons/website/static/lib/ckeditor/core/filter.js index 5c36d9725ad..e17047b4fae 100644 --- a/addons/website/static/lib/ckeditor/core/filter.js +++ b/addons/website/static/lib/ckeditor/core/filter.js @@ -108,7 +108,7 @@ var editor = this.editor = editorOrRules; this.customConfig = true; - var allowedContent = editor.config.allowedContent + var allowedContent = editor.config.allowedContent; // Disable filter completely by setting config.allowedContent = true. if ( allowedContent === true ) { diff --git a/addons/website/static/lib/ckeditor/core/htmldataprocessor.js b/addons/website/static/lib/ckeditor/core/htmldataprocessor.js index 3cdb7737427..5353e4b58e5 100644 --- a/addons/website/static/lib/ckeditor/core/htmldataprocessor.js +++ b/addons/website/static/lib/ckeditor/core/htmldataprocessor.js @@ -391,7 +391,7 @@ // Convert the filler into appropriate form. else { createFiller( isOutput ).insertAfter( node ); - node.remove() + node.remove(); } } @@ -505,7 +505,7 @@ var dtd = CKEDITOR.dtd, // Define orders of table elements. - tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ]; + tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ], // List of all block elements. blockLikeTags = CKEDITOR.tools.extend( {}, dtd.$blockLimit, dtd.$block ); diff --git a/addons/website/static/lib/ckeditor/lang/en-gb.js b/addons/website/static/lib/ckeditor/lang/en.js similarity index 86% rename from addons/website/static/lib/ckeditor/lang/en-gb.js rename to addons/website/static/lib/ckeditor/lang/en.js index e888b10eafa..88ba2c114fd 100644 --- a/addons/website/static/lib/ckeditor/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/lang/en.js @@ -4,8 +4,8 @@ */ /** - * @fileOverview Defines the {@link CKEDITOR.lang} object, for the - * English (United Kingdom) language. + * @fileOverview Defines the {@link CKEDITOR.lang} object for the English + * language. This is the base file for all translations. */ /**#@+ @@ -17,7 +17,7 @@ * Contains the dictionary of language entries. * @namespace */ -CKEDITOR.lang[ 'en-gb' ] = { +CKEDITOR.lang[ 'en' ] = { // ARIA description. editor: 'Rich Text Editor', @@ -25,7 +25,7 @@ CKEDITOR.lang[ 'en-gb' ] = { common: { // Screenreader titles. Please note that screenreaders are not always capable // of reading non-English words. So be careful while translating it. - editorHelp: 'Press ALT 0 for help', // MISSING + editorHelp: 'Press ALT 0 for help', browseServer: 'Browse Server', url: 'URL', @@ -58,7 +58,7 @@ CKEDITOR.lang[ 'en-gb' ] = { cancel: 'Cancel', close: 'Close', preview: 'Preview', - resize: 'Drag to resize', + resize: 'Resize', generalTab: 'General', advancedTab: 'Advanced', validateNumberFailed: 'This value is not a number.', @@ -76,20 +76,20 @@ CKEDITOR.lang[ 'en-gb' ] = { cssClasses: 'Stylesheet Classes', width: 'Width', height: 'Height', - align: 'Align', + align: 'Alignment', alignLeft: 'Left', alignRight: 'Right', - alignCenter: 'Centre', + alignCenter: 'Center', alignTop: 'Top', alignMiddle: 'Middle', alignBottom: 'Bottom', - invalidValue : 'Invalid value.', // MISSING + invalidValue : 'Invalid value.', invalidHeight: 'Height must be a number.', invalidWidth: 'Width must be a number.', - invalidCssLength: 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength: 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle: 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip: 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength: 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', + invalidHtmlLength: 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', + invalidInlineStyle: 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', + cssLengthTooltip: 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // Put the voice-only part of the label in the span. unavailable: '%1, unavailable' diff --git a/addons/website/static/lib/ckeditor/plugins/a11yhelp/dialogs/lang/en.js b/addons/website/static/lib/ckeditor/plugins/a11yhelp/dialogs/lang/en.js new file mode 100644 index 00000000000..1df642771b5 --- /dev/null +++ b/addons/website/static/lib/ckeditor/plugins/a11yhelp/dialogs/lang/en.js @@ -0,0 +1,106 @@ +/** + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'en', { + title: 'Accessibility Instructions', + contents: 'Help Contents. To close this dialog press ESC.', + legend: [ + { + name: 'General', + items: [ + { + name: 'Editor Toolbar', + legend: 'Press ${toolbarFocus} to navigate to the toolbar. ' + + 'Move to the next and previous toolbar group with TAB and SHIFT-TAB. ' + + 'Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. ' + + 'Press SPACE or ENTER to activate the toolbar button.' + }, + + { + name: 'Editor Dialog', + legend: 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. ' + + 'For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. ' + + 'Then move to next tab with TAB OR RIGTH ARROW. ' + + 'Move to previous tab with SHIFT + TAB or LEFT ARROW. ' + + 'Press SPACE or ENTER to select the tab page.' + }, + + { + name: 'Editor Context Menu', + legend: 'Press ${contextMenu} or APPLICATION KEY to open context-menu. ' + + 'Then move to next menu option with TAB or DOWN ARROW. ' + + 'Move to previous option with SHIFT+TAB or UP ARROW. ' + + 'Press SPACE or ENTER to select the menu option. ' + + 'Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. ' + + 'Go back to parent menu item with ESC or LEFT ARROW. ' + + 'Close context menu with ESC.' + }, + + { + name: 'Editor List Box', + legend: 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. ' + + 'Move to previous list item with SHIFT + TAB or UP ARROW. ' + + 'Press SPACE or ENTER to select the list option. ' + + 'Press ESC to close the list-box.' + }, + + { + name: 'Editor Element Path Bar', + legend: 'Press ${elementsPathFocus} to navigate to the elements path bar. ' + + 'Move to next element button with TAB or RIGHT ARROW. ' + + 'Move to previous button with SHIFT+TAB or LEFT ARROW. ' + + 'Press SPACE or ENTER to select the element in editor.' + } + ] + }, + { + name: 'Commands', + items: [ + { + name: ' Undo command', + legend: 'Press ${undo}' + }, + { + name: ' Redo command', + legend: 'Press ${redo}' + }, + { + name: ' Bold command', + legend: 'Press ${bold}' + }, + { + name: ' Italic command', + legend: 'Press ${italic}' + }, + { + name: ' Underline command', + legend: 'Press ${underline}' + }, + { + name: ' Link command', + legend: 'Press ${link}' + }, + { + name: ' Toolbar Collapse command', + legend: 'Press ${toolbarCollapse}' + }, + { + name: ' Access previous focus space command', + legend: 'Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, ' + + 'for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.' + }, + { + name: ' Access next focus space command', + legend: 'Press ${accessNextSpace} to access the closest unreachable focus space after the caret, ' + + 'for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.' + }, + { + name: ' Accessibility Help', + legend: 'Press ${a11yHelp}' + } + ] + } + ] +}); diff --git a/addons/website/static/lib/ckeditor/plugins/about/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/about/lang/en.js similarity index 80% rename from addons/website/static/lib/ckeditor/plugins/about/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/about/lang/en.js index bd663276329..316efaea785 100644 --- a/addons/website/static/lib/ckeditor/plugins/about/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/about/lang/en.js @@ -2,10 +2,10 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'about', 'en-gb', { +CKEDITOR.plugins.setLang( 'about', 'en', { copy: 'Copyright © $1. All rights reserved.', dlgTitle: 'About CKEditor', - help: 'Check $1 for help.', // MISSING + help: 'Check $1 for help.', moreInfo: 'For licensing information please visit our web site:', title: 'About CKEditor', userGuide: 'CKEditor User\'s Guide' diff --git a/addons/website/static/lib/ckeditor/plugins/basicstyles/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/basicstyles/lang/en.js similarity index 84% rename from addons/website/static/lib/ckeditor/plugins/basicstyles/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/basicstyles/lang/en.js index e12ef802a42..7a782d0c35d 100644 --- a/addons/website/static/lib/ckeditor/plugins/basicstyles/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/basicstyles/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'basicstyles', 'en-gb', { +CKEDITOR.plugins.setLang( 'basicstyles', 'en', { bold: 'Bold', italic: 'Italic', strike: 'Strike Through', diff --git a/addons/website/static/lib/ckeditor/plugins/bidi/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/bidi/lang/en.js similarity index 83% rename from addons/website/static/lib/ckeditor/plugins/bidi/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/bidi/lang/en.js index 54284e95d19..b0fbe8cf27a 100644 --- a/addons/website/static/lib/ckeditor/plugins/bidi/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/bidi/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'bidi', 'en-gb', { +CKEDITOR.plugins.setLang( 'bidi', 'en', { ltr: 'Text direction from left to right', rtl: 'Text direction from right to left' }); diff --git a/addons/website/static/lib/ckeditor/plugins/blockquote/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/blockquote/lang/en.js similarity index 77% rename from addons/website/static/lib/ckeditor/plugins/blockquote/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/blockquote/lang/en.js index 9a6a3e2651c..db4801cdeb9 100644 --- a/addons/website/static/lib/ckeditor/plugins/blockquote/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/blockquote/lang/en.js @@ -2,6 +2,6 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'blockquote', 'en-gb', { +CKEDITOR.plugins.setLang( 'blockquote', 'en', { toolbar: 'Block Quote' }); diff --git a/addons/website/static/lib/ckeditor/plugins/clipboard/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/clipboard/lang/en.js similarity index 94% rename from addons/website/static/lib/ckeditor/plugins/clipboard/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/clipboard/lang/en.js index 783e9884c7f..61de6044d4c 100644 --- a/addons/website/static/lib/ckeditor/plugins/clipboard/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/clipboard/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'clipboard', 'en-gb', { +CKEDITOR.plugins.setLang( 'clipboard', 'en', { copy: 'Copy', copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', cut: 'Cut', diff --git a/addons/website/static/lib/ckeditor/plugins/colorbutton/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/colorbutton/lang/en.js similarity index 78% rename from addons/website/static/lib/ckeditor/plugins/colorbutton/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/colorbutton/lang/en.js index 72c53ae082f..0131673e6c1 100644 --- a/addons/website/static/lib/ckeditor/plugins/colorbutton/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/colorbutton/lang/en.js @@ -2,18 +2,18 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'colorbutton', 'en-gb', { +CKEDITOR.plugins.setLang( 'colorbutton', 'en', { auto: 'Automatic', - bgColorTitle: 'Background Colour', + bgColorTitle: 'Background Color', colors: { '000': 'Black', '800000': 'Maroon', '8B4513': 'Saddle Brown', - '2F4F4F': 'Dark Slate Grey', + '2F4F4F': 'Dark Slate Gray', '008080': 'Teal', '000080': 'Navy', '4B0082': 'Indigo', - '696969': 'Dark Grey', + '696969': 'Dark Gray', B22222: 'Fire Brick', A52A2A: 'Brown', DAA520: 'Golden Rod', @@ -21,7 +21,7 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'en-gb', { '40E0D0': 'Turquoise', '0000CD': 'Medium Blue', '800080': 'Purple', - '808080': 'Grey', + '808080': 'Gray', F00: 'Red', FF8C00: 'Dark Orange', FFD700: 'Gold', @@ -29,7 +29,7 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'en-gb', { '0FF': 'Cyan', '00F': 'Blue', EE82EE: 'Violet', - A9A9A9: 'Dim Grey', + A9A9A9: 'Dim Gray', FFA07A: 'Light Salmon', FFA500: 'Orange', FFFF00: 'Yellow', @@ -47,7 +47,7 @@ CKEDITOR.plugins.setLang( 'colorbutton', 'en-gb', { E6E6FA: 'Lavender', FFF: 'White' }, - more: 'More Colours...', - panelTitle: 'Colours', - textColorTitle: 'Text Colour' + more: 'More Colors...', + panelTitle: 'Colors', + textColorTitle: 'Text Color' }); diff --git a/addons/website/static/lib/ckeditor/plugins/colordialog/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/colordialog/lang/en.js similarity index 58% rename from addons/website/static/lib/ckeditor/plugins/colordialog/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/colordialog/lang/en.js index 1a98709ef4a..3bc8587a406 100644 --- a/addons/website/static/lib/ckeditor/plugins/colordialog/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/colordialog/lang/en.js @@ -2,10 +2,10 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'colordialog', 'en-gb', { +CKEDITOR.plugins.setLang( 'colordialog', 'en', { clear: 'Clear', highlight: 'Highlight', - options: 'Colour Options', - selected: 'Selected Colour', - title: 'Select colour' + options: 'Color Options', + selected: 'Selected Color', + title: 'Select color' }); diff --git a/addons/website/static/lib/ckeditor/plugins/contextmenu/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/contextmenu/lang/en.js similarity index 77% rename from addons/website/static/lib/ckeditor/plugins/contextmenu/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/contextmenu/lang/en.js index e099dee2bf0..fea4479bc72 100644 --- a/addons/website/static/lib/ckeditor/plugins/contextmenu/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/contextmenu/lang/en.js @@ -2,6 +2,6 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'contextmenu', 'en-gb', { +CKEDITOR.plugins.setLang( 'contextmenu', 'en', { options: 'Context Menu Options' }); diff --git a/addons/website/static/lib/ckeditor/plugins/devtools/lang/en.js b/addons/website/static/lib/ckeditor/plugins/devtools/lang/en.js new file mode 100644 index 00000000000..17798a278f7 --- /dev/null +++ b/addons/website/static/lib/ckeditor/plugins/devtools/lang/en.js @@ -0,0 +1,12 @@ +/** + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.setLang( 'devtools', 'en', { + title: 'Element Information', + dialogName: 'Dialog window name', + tabName: 'Tab name', + elementId: 'Element ID', + elementType: 'Element type' +}); diff --git a/addons/website/static/lib/ckeditor/plugins/div/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/div/lang/en.js similarity index 93% rename from addons/website/static/lib/ckeditor/plugins/div/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/div/lang/en.js index 129a78cb029..1a24ee4f431 100644 --- a/addons/website/static/lib/ckeditor/plugins/div/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/div/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'div', 'en-gb', { +CKEDITOR.plugins.setLang( 'div', 'en', { IdInputLabel: 'Id', advisoryTitleInputLabel: 'Advisory Title', cssClassInputLabel: 'Stylesheet Classes', diff --git a/addons/website/static/lib/ckeditor/plugins/docprops/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/docprops/lang/en-gb.js deleted file mode 100644 index a336f855293..00000000000 --- a/addons/website/static/lib/ckeditor/plugins/docprops/lang/en-gb.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'docprops', 'en-gb', { - bgColor: 'Background Color', // MISSING - bgFixed: 'Non-scrolling (Fixed) Background', // MISSING - bgImage: 'Background Image URL', // MISSING - charset: 'Character Set Encoding', // MISSING - charsetASCII: 'ASCII', // MISSING - charsetCE: 'Central European', // MISSING - charsetCR: 'Cyrillic', // MISSING - charsetCT: 'Chinese Traditional (Big5)', // MISSING - charsetGR: 'Greek', // MISSING - charsetJP: 'Japanese', // MISSING - charsetKR: 'Korean', // MISSING - charsetOther: 'Other Character Set Encoding', // MISSING - charsetTR: 'Turkish', // MISSING - charsetUN: 'Unicode (UTF-8)', // MISSING - charsetWE: 'Western European', // MISSING - chooseColor: 'Choose', // MISSING - design: 'Design', // MISSING - docTitle: 'Page Title', // MISSING - docType: 'Document Type Heading', // MISSING - docTypeOther: 'Other Document Type Heading', // MISSING - label: 'Document Properties', // MISSING - margin: 'Page Margins', // MISSING - marginBottom: 'Bottom', // MISSING - marginLeft: 'Left', // MISSING - marginRight: 'Right', // MISSING - marginTop: 'Top', // MISSING - meta: 'Meta Tags', // MISSING - metaAuthor: 'Author', // MISSING - metaCopyright: 'Copyright', // MISSING - metaDescription: 'Document Description', // MISSING - metaKeywords: 'Document Indexing Keywords (comma separated)', // MISSING - other: 'Other...', // MISSING - previewHtml: '
This is some sample text. You are using CKEditor.
', // MISSING - title: 'Document Properties', // MISSING - txtColor: 'Text Color', // MISSING - xhtmlDec: 'Include XHTML Declarations' // MISSING -}); diff --git a/addons/website/static/lib/ckeditor/plugins/docprops/lang/en.js b/addons/website/static/lib/ckeditor/plugins/docprops/lang/en.js new file mode 100644 index 00000000000..2f522be4c17 --- /dev/null +++ b/addons/website/static/lib/ckeditor/plugins/docprops/lang/en.js @@ -0,0 +1,42 @@ +/* +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'docprops', 'en', { + bgColor: 'Background Color', + bgFixed: 'Non-scrolling (Fixed) Background', + bgImage: 'Background Image URL', + charset: 'Character Set Encoding', + charsetASCII: 'ASCII', + charsetCE: 'Central European', + charsetCR: 'Cyrillic', + charsetCT: 'Chinese Traditional (Big5)', + charsetGR: 'Greek', + charsetJP: 'Japanese', + charsetKR: 'Korean', + charsetOther: 'Other Character Set Encoding', + charsetTR: 'Turkish', + charsetUN: 'Unicode (UTF-8)', + charsetWE: 'Western European', + chooseColor: 'Choose', + design: 'Design', + docTitle: 'Page Title', + docType: 'Document Type Heading', + docTypeOther: 'Other Document Type Heading', + label: 'Document Properties', + margin: 'Page Margins', + marginBottom: 'Bottom', + marginLeft: 'Left', + marginRight: 'Right', + marginTop: 'Top', + meta: 'Meta Tags', + metaAuthor: 'Author', + metaCopyright: 'Copyright', + metaDescription: 'Document Description', + metaKeywords: 'Document Indexing Keywords (comma separated)', + other: 'Other...', + previewHtml: 'This is some sample text. You are using CKEditor.
', + title: 'Document Properties', + txtColor: 'Text Color', + xhtmlDec: 'Include XHTML Declarations' +}); diff --git a/addons/website/static/lib/ckeditor/plugins/elementspath/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/elementspath/lang/en.js similarity index 79% rename from addons/website/static/lib/ckeditor/plugins/elementspath/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/elementspath/lang/en.js index 58d2c8568eb..efce8a3a92d 100644 --- a/addons/website/static/lib/ckeditor/plugins/elementspath/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/elementspath/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'elementspath', 'en-gb', { +CKEDITOR.plugins.setLang( 'elementspath', 'en', { eleLabel: 'Elements path', eleTitle: '%1 element' }); diff --git a/addons/website/static/lib/ckeditor/plugins/fakeobjects/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/fakeobjects/lang/en.js similarity index 83% rename from addons/website/static/lib/ckeditor/plugins/fakeobjects/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/fakeobjects/lang/en.js index ec7383ba979..b5897509d93 100644 --- a/addons/website/static/lib/ckeditor/plugins/fakeobjects/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/fakeobjects/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'fakeobjects', 'en-gb', { +CKEDITOR.plugins.setLang( 'fakeobjects', 'en', { anchor: 'Anchor', flash: 'Flash Animation', hiddenfield: 'Hidden Field', diff --git a/addons/website/static/lib/ckeditor/plugins/find/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/find/lang/en.js similarity index 91% rename from addons/website/static/lib/ckeditor/plugins/find/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/find/lang/en.js index d15d11da3ff..383654895a3 100644 --- a/addons/website/static/lib/ckeditor/plugins/find/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/find/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'find', 'en-gb', { +CKEDITOR.plugins.setLang( 'find', 'en', { find: 'Find', findOptions: 'Find Options', findWhat: 'Find what:', diff --git a/addons/website/static/lib/ckeditor/plugins/flash/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/flash/lang/en.js similarity index 93% rename from addons/website/static/lib/ckeditor/plugins/flash/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/flash/lang/en.js index 516ed6ea758..c228ddb5116 100644 --- a/addons/website/static/lib/ckeditor/plugins/flash/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/flash/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'flash', 'en-gb', { +CKEDITOR.plugins.setLang( 'flash', 'en', { access: 'Script Access', accessAlways: 'Always', accessNever: 'Never', @@ -11,7 +11,7 @@ CKEDITOR.plugins.setLang( 'flash', 'en-gb', { alignAbsMiddle: 'Abs Middle', alignBaseline: 'Baseline', alignTextTop: 'Text Top', - bgcolor: 'Background colour', + bgcolor: 'Background color', chkFull: 'Allow Fullscreen', chkLoop: 'Loop', chkMenu: 'Enable Flash Menu', diff --git a/addons/website/static/lib/ckeditor/plugins/floatingspace/plugin.js b/addons/website/static/lib/ckeditor/plugins/floatingspace/plugin.js index 0baa514f2d1..328d5aaf311 100644 --- a/addons/website/static/lib/ckeditor/plugins/floatingspace/plugin.js +++ b/addons/website/static/lib/ckeditor/plugins/floatingspace/plugin.js @@ -272,7 +272,7 @@ alignSide == 'left' ? pageScrollX : -pageScrollX; floatSpace.setStyle( alignSide, pixelate( ( mode == 'pin' ? pinnedOffsetX : dockedOffsetX ) + offset + scroll ) ); - } + }; })(); if ( topHtml ) { diff --git a/addons/website/static/lib/ckeditor/plugins/font/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/font/lang/en.js similarity index 86% rename from addons/website/static/lib/ckeditor/plugins/font/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/font/lang/en.js index 9e604775c45..f26e1900282 100644 --- a/addons/website/static/lib/ckeditor/plugins/font/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/font/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'font', 'en-gb', { +CKEDITOR.plugins.setLang( 'font', 'en', { fontSize: { label: 'Size', voiceLabel: 'Font Size', diff --git a/addons/website/static/lib/ckeditor/plugins/format/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/format/lang/en.js similarity index 90% rename from addons/website/static/lib/ckeditor/plugins/format/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/format/lang/en.js index b10afec0cd2..269b21913a4 100644 --- a/addons/website/static/lib/ckeditor/plugins/format/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/format/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'format', 'en-gb', { +CKEDITOR.plugins.setLang( 'format', 'en', { label: 'Format', panelTitle: 'Paragraph Format', tag_address: 'Address', diff --git a/addons/website/static/lib/ckeditor/plugins/forms/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/forms/lang/en.js similarity index 89% rename from addons/website/static/lib/ckeditor/plugins/forms/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/forms/lang/en.js index ddf1d3630dd..6063bc68ae7 100644 --- a/addons/website/static/lib/ckeditor/plugins/forms/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/forms/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'forms', 'en-gb', { +CKEDITOR.plugins.setLang( 'forms', 'en', { button: { title: 'Button Properties', text: 'Text (Value)', @@ -60,9 +60,9 @@ CKEDITOR.plugins.setLang( 'forms', 'en-gb', { type: 'Type', typeText: 'Text', typePass: 'Password', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING + typeEmail: 'Email', + typeSearch: 'Search', + typeTel: 'Telephone Number', typeUrl: 'URL' } }); diff --git a/addons/website/static/lib/ckeditor/plugins/horizontalrule/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/horizontalrule/lang/en.js similarity index 77% rename from addons/website/static/lib/ckeditor/plugins/horizontalrule/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/horizontalrule/lang/en.js index 9900a2a27d7..e5cca60996e 100644 --- a/addons/website/static/lib/ckeditor/plugins/horizontalrule/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/horizontalrule/lang/en.js @@ -2,6 +2,6 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'horizontalrule', 'en-gb', { +CKEDITOR.plugins.setLang( 'horizontalrule', 'en', { toolbar: 'Insert Horizontal Line' }); diff --git a/addons/website/static/lib/ckeditor/plugins/iframe/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/iframe/lang/en.js similarity index 86% rename from addons/website/static/lib/ckeditor/plugins/iframe/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/iframe/lang/en.js index c1a4505ecee..95c12de56fb 100644 --- a/addons/website/static/lib/ckeditor/plugins/iframe/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/iframe/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'iframe', 'en-gb', { +CKEDITOR.plugins.setLang( 'iframe', 'en', { border: 'Show frame border', noUrl: 'Please type the iframe URL', scrolling: 'Enable scrollbars', diff --git a/addons/website/static/lib/ckeditor/plugins/image/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/image/lang/en.js similarity index 95% rename from addons/website/static/lib/ckeditor/plugins/image/lang/en-gb.js rename to addons/website/static/lib/ckeditor/plugins/image/lang/en.js index 286c1250b6c..76d8dc4b498 100644 --- a/addons/website/static/lib/ckeditor/plugins/image/lang/en-gb.js +++ b/addons/website/static/lib/ckeditor/plugins/image/lang/en.js @@ -2,7 +2,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.plugins.setLang( 'image', 'en-gb', { +CKEDITOR.plugins.setLang( 'image', 'en', { alertUrl: 'Please type the image URL', alt: 'Alternative Text', border: 'Border', diff --git a/addons/website/static/lib/ckeditor/plugins/image2/dev/assets/image1.jpg b/addons/website/static/lib/ckeditor/plugins/image2/dev/assets/image1.jpg new file mode 100644 index 00000000000..2fe79eb2cce Binary files /dev/null and b/addons/website/static/lib/ckeditor/plugins/image2/dev/assets/image1.jpg differ diff --git a/addons/website/static/lib/ckeditor/plugins/image2/dev/assets/image2.jpg b/addons/website/static/lib/ckeditor/plugins/image2/dev/assets/image2.jpg new file mode 100644 index 00000000000..453ece5d339 Binary files /dev/null and b/addons/website/static/lib/ckeditor/plugins/image2/dev/assets/image2.jpg differ diff --git a/addons/website/static/lib/ckeditor/plugins/image2/dev/contents.css b/addons/website/static/lib/ckeditor/plugins/image2/dev/contents.css new file mode 100644 index 00000000000..1392835036d --- /dev/null +++ b/addons/website/static/lib/ckeditor/plugins/image2/dev/contents.css @@ -0,0 +1,32 @@ +/* +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ + +figure.caption { + text-align: center; + border: solid 1px #ccc; + border-radius: 2px; + background: rgba(0,0,0,0.05); + padding: 10px; + margin: 10px 20px; + display: block; /* For IE8 */ +} + +figure.caption figcaption { + text-align: center; + display: block; /* For IE8 */ +} + +.cke_widget_wrapper:hover:after { + content: "id: " attr(data-widget-id); + position: absolute; + top: 0; + right: 0; + padding: 2px 4px; + background: #EEE; + border: solid 1px #DDD; + border-radius: 2px; + color: #BBB; + font: bold 10px sans-serif; +} \ No newline at end of file diff --git a/addons/website/static/lib/ckeditor/plugins/image2/dev/image2.html b/addons/website/static/lib/ckeditor/plugins/image2/dev/image2.html new file mode 100644 index 00000000000..18a530843d9 --- /dev/null +++ b/addons/website/static/lib/ckeditor/plugins/image2/dev/image2.html @@ -0,0 +1,199 @@ + + + + +
+ Apollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.
+ +Armstrong spent about three and a half two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5 kg) of lunar material for return to Earth. A third member of the mission, Michael Collins, piloted the command spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.
Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:
+ +++ +One small step for [a] man, one giant leap for mankind.
+
Apollo 11 effectively ended the Space Race and fulfilled a national goal proposed in 1961 by the late U.S. President John F. Kennedy in a speech before the United States Congress:
+ +++ +[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.
+
+ Launched by a Saturn V rocket from Kennedy Space Center in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of NASA's Apollo program. The Apollo spacecraft had three parts:
+ +After being sent to the Moon by the Saturn V's upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the Sea of Tranquility. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the Pacific Ocean on July 24.
+ +
+
+
Source: Wikipedia.org
+ centering wrapper.
+ p: {
+ match: isCenterWrapper,
+ styles: 'text-align'
+ }
+ },
+
+ // This widget has an editable caption.
+ editables: {
+ caption: {
+ selector: 'figcaption',
+ allowedContent: 'br em strong sub sup u; a[!href]'
+ }
+ },
+
+ // Parts of this widget: image and caption.
+ parts: {
+ image: 'img',
+ caption: 'figcaption'
+ },
+
+ // Template of the widget: figure with image and caption.
+ template: template,
+
+ // Widget upcasting.
+ upcast: createUpcastFunction( true )
+ }, image2 );
+
+ CKEDITOR.plugins.image2 = {
+ stateShifter: function( editor ) {
+ // Tag name used for centering non-captioned widgets.
+ var centerElement = editor.config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div',
+
+ // The order that stateActions get executed. It matters!
+ shiftables = [ 'hasCaption', 'align' ],
+
+ editable = editor.editable(),
+
+ // Atomic procedures, one per state variable.
+ stateActions = {
+ align: function( data, oldValue, newValue ) {
+ var hasCaptionAfter = data.newState.hasCaption,
+ element = data.element;
+
+ // Alignment changed.
+ if ( changed( data, 'align' ) ) {
+ // No caption in the new state.
+ if ( !hasCaptionAfter ) {
+ // Changed to "center" (non-captioned).
+ if ( newValue == 'center' ) {
+ data.destroy();
+ data.element = wrapInCentering( element );
+ }
+
+ // Changed to "non-center" from "center" while caption removed.
+ if ( !changed( data, 'hasCaption' ) && oldValue == 'center' && newValue != 'center' ) {
+ data.destroy();
+ data.element = unwrapFromCentering( element );
+ }
+ }
+ }
+
+ // Alignment remains and "center" removed caption.
+ else if ( newValue == 'center' && changed( data, 'hasCaption' ) && !hasCaptionAfter ) {
+ data.destroy();
+ data.element = wrapInCentering( element );
+ }
+
+ // Finally set display for figure.
+ if ( element.is( 'figure' ) ) {
+ if ( newValue == 'center' )
+ element.setStyle( 'display', 'inline-block' );
+ else
+ element.removeStyle( 'display' );
+ }
+ },
+ hasCaption: function( data, oldValue, newValue ) {
+ // This action is for real state change only.
+ if ( !changed( data, 'hasCaption' ) )
+ return;
+
+ var element = data.element,
+ oldState = data.oldState,
+ newState = data.newState,
+ img;
+
+ // Switching hasCaption always destroys the widget.
+ data.destroy();
+
+ // There was no caption, but the caption is to be added.
+ if ( newValue ) {
+ // Get from element. As element may be either
+ //
or centering
, consider it now.
+ img = element.findOne( 'img' ) || element;
+
+ // Create new with text-align:center.
+ var center = editor.document.createElement( centerElement, {
+ // Centering wrapper is.. centering.
+ styles: { 'text-align': 'center' }
+ } );
+
+ // Replace element with centering wrapper.
+ replaceSafely( center, element );
+
+ // Append element into centering wrapper.
+ element.move( center );
+
+ return center;
+ }
+
+ function unwrapFromCentering( element ) {
+ var img = element.findOne( 'img' );
+
+ img.replace( element );
+
+ return img;
+ }
+
+ function replaceSafely( replacing, replaced ) {
+ if ( replaced.getParent() ) {
+ // Create a range that corresponds with old element's position.
+ var range = editor.createRange();
+
+ // Move the range before old element.
+ range.moveToPosition( replaced, CKEDITOR.POSITION_BEFORE_START );
+
+ // Insert element at range position.
+ editable.insertElementIntoRange( replacing, range );
+
+ // Remove old element.
+ replaced.remove();
+ }
+ else
+ replacing.replace( replaced );
+ }
+
+ return function( data ) {
+ var oldState = data.oldState,
+ newState = data.newState,
+ name;
+
+ // Iterate over possible state variables.
+ for ( var i = 0; i < shiftables.length; i++ ) {
+ name = shiftables[ i ];
+
+ stateActions[ name ]( data,
+ oldState ? oldState[ name ] : null,
+ newState[ name ] );
+ }
+
+ data.init( data.element );
+ };
+ }
+ };
+
+ function setWrapperAlign( widget ) {
+ var wrapper = widget.wrapper,
+ align = widget.data.align;
+
+ if ( align == 'center' ) {
+ if ( !widget.inline )
+ wrapper.setStyle( 'text-align', 'center' );
+
+ wrapper.removeStyle( 'float' );
+ } else {
+ if ( !widget.inline )
+ wrapper.removeStyle( 'text-align' );
+
+ if ( align == 'none' )
+ wrapper.removeStyle( 'float' );
+ else
+ wrapper.setStyle( 'float', align );
+ }
+ }
+
+ // Creates widgets from all takes charge of and .
+ if ( !( el.name in { div:1,p:1 } ) )
+ return false;
+
+ var children = el.children;
+
+ // Centering wrapper can have only one child.
+ if ( children.length !== 1 )
+ return false;
+
+ var styles = CKEDITOR.tools.parseCssText( el.attributes.style || '' );
+
+ // Centering wrapper got to be... centering.
+ if ( !styles[ 'text-align' ] || styles[ 'text-align' ] != 'center' )
+ return false;
+
+ var child = children[ 0 ],
+ childName = child.name;
+
+ // The only child of centering wrapper can be instead of the one from the template,
+ // so we won't lose additional attributes.
+ img.replace( figure.findOne( 'img' ) );
+
+ // Update widget's element.
+ data.element = figure;
+ }
+
+ // The caption was present, but now it's to be removed.
+ else {
+ // Unwrap
from figure.
+ img = element.findOne( 'img' );
+
+ // Replace
.
+ img.replace( element );
+
+ // Update widget's element.
+ data.element = img;
+ }
+ }
+ };
+
+ function getValue( state, name ) {
+ return state && state[ name ] !== undefined ? state[ name ] : null;
+ }
+
+ function changed( data, name ) {
+ if ( !data.oldState )
+ return false;
+ else
+ return data.oldState[ name ] !== data.newState[ name ];
+ }
+
+ function wrapInCentering( element ) {
+ // When widget gets centered. Wrapper must be created.
+ // Create new
and
and
.
+ if ( childName == 'img' || ( childName == 'figure' && child.hasClass( 'caption' ) ) )
+ return true;
+
+ return false;
+ }
+
+ // Sets width and height of the widget image according to
+ // current widget data.
+ //
+ // @param {CKEDITOR.plugins.widget} widget
+ function setDimensions( widget ) {
+ var dimensions = CKEDITOR.tools.extend( {}, widget.data, false, { width:1,height:1 } ),
+ image = widget.parts.image;
+
+ for ( var d in dimensions ) {
+ if ( dimensions[ d ] )
+ image.setAttribute( d, dimensions[ d ] );
+ else
+ image.removeAttribute( d );
+ }
+ }
+
+ // Defines all features related to drag-driven image resizing.
+ // @param {CKEDITOR.plugins.widget} widget
+ function setupResizer( widget ) {
+ var editor = widget.editor,
+ doc = editor.document,
+ resizer = doc.createElement( 'span' );
+
+ resizer.addClass( 'cke_image2_resizer' );
+ resizer.setAttribute( 'title', editor.lang.image2.resizer );
+ resizer.append( new CKEDITOR.dom.text( '\u200b', doc ) );
+
+ // Inline widgets don't need a resizer wrapper as an image spans the entire widget.
+ if ( !widget.inline ) {
+ var oldResizeWrapper = widget.element.getFirst(),
+ resizeWrapper = doc.createElement( 'span' );
+
+ resizeWrapper.addClass( 'cke_image2_resizer_wrapper' );
+ resizeWrapper.append( widget.parts.image );
+ resizeWrapper.append( resizer );
+ widget.element.append( resizeWrapper, true );
+
+ // Remove the old wrapper which could came from e.g. pasted HTML
+ // and which could be corrupted (e.g. resizer span has been lost).
+ if ( oldResizeWrapper.is( 'span' ) )
+ oldResizeWrapper.remove();
+ } else
+ widget.wrapper.append( resizer );
+
+ // Calculate values of size variables and mouse offsets.
+ // Start observing mousemove.
+ resizer.on( 'mousedown', function( evt ) {
+ var image = widget.parts.image,
+
+ // "factor" can be either 1 or -1. I.e.: For right-aligned images, we need to
+ // subtract the difference to get proper width, etc. Without "factor",
+ // resizer starts working the opposite way.
+ factor = widget.data.align == 'right' ? -1 : 1,
+
+ // The x-coordinate of the mouse relative to the screen
+ // when button gets pressed.
+ startX = evt.data.$.screenX,
+ startY = evt.data.$.screenY,
+
+ // The initial dimensions and aspect ratio of the image.
+ startWidth = image.$.clientWidth,
+ startHeight = image.$.clientHeight,
+ ratio = startWidth / startHeight,
+
+ moveListeners = [],
+
+ nativeEvt, newWidth, newHeight, updateData,
+ moveDiffX, moveDiffY, moveRatio;
+
+ // Save the undo snapshot first: before resizing.
+ editor.fire( 'saveSnapshot' );
+
+ // Mousemove listeners are removed on mouseup.
+ attachToDocuments( 'mousemove', onMouseMove, moveListeners );
+
+ // Clean up the mousemove listener. Update widget data if valid.
+ attachToDocuments( 'mouseup', onMouseUp );
+
+ // Attaches an event to a global document if inline editor.
+ // Additionally, if framed, also attaches the same event to iframe's document.
+ function attachToDocuments( name, callback, collection ) {
+ var globalDoc = CKEDITOR.document,
+ listeners = [];
+
+ if ( !doc.equals( globalDoc ) )
+ listeners.push( globalDoc.on( name, callback ) );
+
+ listeners.push( doc.on( name, callback ) );
+
+ if ( collection ) {
+ for ( var i = listeners.length; i--; )
+ collection.push( listeners.pop() );
+ }
+ }
+
+ // Calculate with first, and then adjust height, preserving ratio.
+ function adjustToX() {
+ newWidth = startWidth + factor * moveDiffX;
+ newHeight = 0 | newWidth / ratio;
+ }
+
+ // Calculate height first, and then adjust width, preserving ratio.
+ function adjustToY() {
+ newHeight = startHeight - moveDiffY;
+ newWidth = 0 | newHeight * ratio;
+ }
+
+ // This is how variables refer to the geometry.
+ // Note: x corresponds to moveOffset, this is the position of mouse
+ // Note: o corresponds to [startX, startY].
+ //
+ // +--------------+--------------+
+ // | | |
+ // | I | II |
+ // | | |
+ // +------------- o -------------+ _ _ _
+ // | | | ^
+ // | VI | III | | moveDiffY
+ // | | x _ _ _ _ _ v
+ // +--------------+---------|----+
+ // | |
+ // <------->
+ // moveDiffX
+ function onMouseMove( evt ) {
+ nativeEvt = evt.data.$;
+
+ // This is how far the mouse is from the point the button was pressed.
+ moveDiffX = nativeEvt.screenX - startX;
+ moveDiffY = startY - nativeEvt.screenY;
+
+ // This is the aspect ratio of the move difference.
+ moveRatio = Math.abs( moveDiffX / moveDiffY );
+
+ // Left, center or none-aligned widget.
+ if ( factor == 1 ) {
+ if ( moveDiffX <= 0 ) {
+ // Case: IV.
+ if ( moveDiffY <= 0 )
+ adjustToX();
+
+ // Case: I.
+ else {
+ if ( moveRatio >= ratio )
+ adjustToX();
+ else
+ adjustToY();
+ }
+ } else {
+ // Case: III.
+ if ( moveDiffY <= 0 ) {
+ if ( moveRatio >= ratio )
+ adjustToY();
+ else
+ adjustToX();
+ }
+
+ // Case: II.
+ else
+ adjustToY();
+ }
+ }
+
+ // Right-aligned widget. It mirrors behaviours, so I becomes II,
+ // IV becomes III and vice-versa.
+ else {
+ if ( moveDiffX <= 0 ) {
+ // Case: IV.
+ if ( moveDiffY <= 0 ) {
+ if ( moveRatio >= ratio )
+ adjustToY();
+ else
+ adjustToX();
+ }
+
+ // Case: I.
+ else
+ adjustToY();
+ } else {
+ // Case: III.
+ if ( moveDiffY <= 0 )
+ adjustToX();
+
+ // Case: II.
+ else {
+ if ( moveRatio >= ratio )
+ adjustToX();
+ else
+ adjustToY();
+ }
+ }
+ }
+
+ // Don't update attributes if less than 10.
+ // This is to prevent images to visually disappear.
+ if ( newWidth >= 15 && newHeight >= 15 ) {
+ image.setAttributes( { width: newWidth, height: newHeight } );
+ updateData = true;
+ } else
+ updateData = false;
+ }
+
+ function onMouseUp( evt ) {
+ var l;
+
+ while ( ( l = moveListeners.pop() ) )
+ l.removeListener();
+
+ if ( updateData ) {
+ widget.setData( { width: newWidth, height: newHeight } );
+
+ // Save another undo snapshot: after resizing.
+ editor.fire( 'saveSnapshot' );
+ }
+
+ // Don't update data twice or more.
+ updateData = false;
+ }
+ } );
+
+ // Change the position of the widget resizer when data changes.
+ widget.on( 'data', function() {
+ resizer[ widget.data.align == 'right' ? 'addClass' : 'removeClass' ]( 'cke_image2_resizer_left' );
+ } );
+ }
+
+ // Integrates widget alignment setting with justify
+ // plugin's commands (execution and refreshment).
+ // @param {CKEDITOR.editor} editor
+ // @param {String} value 'left', 'right', 'center' or 'block'
+ function alignCommandIntegrator( editor ) {
+ var execCallbacks = [];
+
+ return function( value ) {
+ var command = editor.getCommand( 'justify' + value );
+
+ // Most likely, the justify plugin isn't loaded.
+ if ( !command )
+ return;
+
+ // This command will be manually refreshed along with
+ // other commands after exec.
+ execCallbacks.push( function() {
+ command.refresh( editor, editor.elementPath() );
+ } );
+
+ if ( value in { right:1,left:1,center:1 } ) {
+ command.on( 'exec', function( evt ) {
+ var widget = getFocusedWidget( editor );
+
+ if ( widget ) {
+ widget.setData( 'align', value );
+
+ // Once the widget changed its align, all the align commands
+ // must be refreshed: the event is to be cancelled.
+ for ( var i = execCallbacks.length; i--; )
+ execCallbacks[ i ]();
+
+ evt.cancel();
+ }
+ } );
+ }
+
+ command.on( 'refresh', function( evt ) {
+ var widget = getFocusedWidget( editor ),
+ allowed = { right:1,left:1,center:1 };
+
+ if ( !widget )
+ return;
+
+ this.setState(
+ ( widget.data.align == value ) ?
+ CKEDITOR.TRISTATE_ON
+ :
+ ( value in allowed ) ?
+ CKEDITOR.TRISTATE_OFF
+ :
+ CKEDITOR.TRISTATE_DISABLED );
+
+ evt.cancel();
+ } );
+ };
+ }
+
+ // Returns the focused widget, if of the type specific for this plugin.
+ // If no widget is focused, `null` is returned.
+ // @param {CKEDITOR.editor}
+ // @returns {CKEDITOR.plugins.widget}
+ function getFocusedWidget( editor ) {
+ var widget = editor.widgets.focused;
+
+ if ( widget && widget.name in { image2inline:1,image2block:1 } )
+ return widget;
+
+ return null;
+ }
+})();
\ No newline at end of file
diff --git a/addons/website/static/lib/ckeditor/plugins/indent/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/indent/lang/en.js
similarity index 81%
rename from addons/website/static/lib/ckeditor/plugins/indent/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/indent/lang/en.js
index 2a308e25d7c..0308f2ba354 100644
--- a/addons/website/static/lib/ckeditor/plugins/indent/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/indent/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'indent', 'en-gb', {
+CKEDITOR.plugins.setLang( 'indent', 'en', {
indent: 'Increase Indent',
outdent: 'Decrease Indent'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/justify/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/justify/lang/en.js
similarity index 75%
rename from addons/website/static/lib/ckeditor/plugins/justify/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/justify/lang/en.js
index 86650257c0c..90588e791d0 100644
--- a/addons/website/static/lib/ckeditor/plugins/justify/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/justify/lang/en.js
@@ -2,9 +2,9 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'justify', 'en-gb', {
+CKEDITOR.plugins.setLang( 'justify', 'en', {
block: 'Justify',
- center: 'Centre',
+ center: 'Center',
left: 'Align Left',
right: 'Align Right'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/link/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/link/lang/en.js
similarity index 95%
rename from addons/website/static/lib/ckeditor/plugins/link/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/link/lang/en.js
index 63b8d34a067..efb7882c7b9 100644
--- a/addons/website/static/lib/ckeditor/plugins/link/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/link/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'link', 'en-gb', {
+CKEDITOR.plugins.setLang( 'link', 'en', {
acccessKey: 'Access Key',
advanced: 'Advanced',
advisoryContentType: 'Advisory Content Type',
@@ -45,7 +45,7 @@ CKEDITOR.plugins.setLang( 'link', 'en-gb', {
popupStatusBar: 'Status Bar',
popupToolbar: 'Toolbar',
popupTop: 'Top Position',
- rel: 'Relationship', // MISSING
+ rel: 'Relationship',
selectAnchor: 'Select an Anchor',
styles: 'Style',
tabIndex: 'Tab Index',
diff --git a/addons/website/static/lib/ckeditor/plugins/list/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/list/lang/en.js
similarity index 84%
rename from addons/website/static/lib/ckeditor/plugins/list/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/list/lang/en.js
index a89fbdbda5f..fdb0e90892e 100644
--- a/addons/website/static/lib/ckeditor/plugins/list/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/list/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'list', 'en-gb', {
+CKEDITOR.plugins.setLang( 'list', 'en', {
bulletedlist: 'Insert/Remove Bulleted List',
numberedlist: 'Insert/Remove Numbered List'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/liststyle/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/liststyle/lang/en.js
similarity index 94%
rename from addons/website/static/lib/ckeditor/plugins/liststyle/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/liststyle/lang/en.js
index 143983724ed..8592adda105 100644
--- a/addons/website/static/lib/ckeditor/plugins/liststyle/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/liststyle/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'liststyle', 'en-gb', {
+CKEDITOR.plugins.setLang( 'liststyle', 'en', {
armenian: 'Armenian numbering',
bulletedTitle: 'Bulleted List Properties',
circle: 'Circle',
diff --git a/addons/website/static/lib/ckeditor/plugins/magicline/lang/en.js b/addons/website/static/lib/ckeditor/plugins/magicline/lang/en.js
new file mode 100644
index 00000000000..8111a671569
--- /dev/null
+++ b/addons/website/static/lib/ckeditor/plugins/magicline/lang/en.js
@@ -0,0 +1,8 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+CKEDITOR.plugins.setLang( 'magicline', 'en', {
+ title: 'Insert paragraph here'
+});
diff --git a/addons/website/static/lib/ckeditor/plugins/maximize/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/maximize/lang/en-gb.js
deleted file mode 100644
index 3fd62783a08..00000000000
--- a/addons/website/static/lib/ckeditor/plugins/maximize/lang/en-gb.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.md or http://ckeditor.com/license
-*/
-CKEDITOR.plugins.setLang( 'maximize', 'en-gb', {
- maximize: 'Maximise',
- minimize: 'Minimise'
-});
diff --git a/addons/website/static/lib/ckeditor/plugins/maximize/lang/en.js b/addons/website/static/lib/ckeditor/plugins/maximize/lang/en.js
new file mode 100644
index 00000000000..da43c27affd
--- /dev/null
+++ b/addons/website/static/lib/ckeditor/plugins/maximize/lang/en.js
@@ -0,0 +1,8 @@
+/*
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or http://ckeditor.com/license
+*/
+CKEDITOR.plugins.setLang( 'maximize', 'en', {
+ maximize: 'Maximize',
+ minimize: 'Minimize'
+});
diff --git a/addons/website/static/lib/ckeditor/plugins/newpage/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/newpage/lang/en.js
similarity index 78%
rename from addons/website/static/lib/ckeditor/plugins/newpage/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/newpage/lang/en.js
index a3b42450117..28cd1633f83 100644
--- a/addons/website/static/lib/ckeditor/plugins/newpage/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/newpage/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'newpage', 'en-gb', {
+CKEDITOR.plugins.setLang( 'newpage', 'en', {
toolbar: 'New Page'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/pagebreak/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/pagebreak/lang/en.js
similarity index 70%
rename from addons/website/static/lib/ckeditor/plugins/pagebreak/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/pagebreak/lang/en.js
index 9802060bcd1..5e1c0512f43 100644
--- a/addons/website/static/lib/ckeditor/plugins/pagebreak/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/pagebreak/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'pagebreak', 'en-gb', {
- alt: 'Page Break', // MISSING
+CKEDITOR.plugins.setLang( 'pagebreak', 'en', {
+ alt: 'Page Break',
toolbar: 'Insert Page Break for Printing'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/pastefromword/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/pastefromword/lang/en.js
similarity index 88%
rename from addons/website/static/lib/ckeditor/plugins/pastefromword/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/pastefromword/lang/en.js
index d4f71777bc8..c7bcc72f1de 100644
--- a/addons/website/static/lib/ckeditor/plugins/pastefromword/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/pastefromword/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'pastefromword', 'en-gb', {
+CKEDITOR.plugins.setLang( 'pastefromword', 'en', {
confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',
error: 'It was not possible to clean up the pasted data due to an internal error',
title: 'Paste from Word',
diff --git a/addons/website/static/lib/ckeditor/plugins/pastetext/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/pastetext/lang/en.js
similarity index 80%
rename from addons/website/static/lib/ckeditor/plugins/pastetext/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/pastetext/lang/en.js
index aa90a1c4fe4..131594e5fa8 100644
--- a/addons/website/static/lib/ckeditor/plugins/pastetext/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/pastetext/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'pastetext', 'en-gb', {
+CKEDITOR.plugins.setLang( 'pastetext', 'en', {
button: 'Paste as plain text',
title: 'Paste as Plain Text'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/placeholder/lang/en.js b/addons/website/static/lib/ckeditor/plugins/placeholder/lang/en.js
new file mode 100644
index 00000000000..61b8185c304
--- /dev/null
+++ b/addons/website/static/lib/ckeditor/plugins/placeholder/lang/en.js
@@ -0,0 +1,12 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+CKEDITOR.plugins.setLang( 'placeholder', 'en', {
+ title: 'Placeholder Properties',
+ toolbar: 'Create Placeholder',
+ text: 'Placeholder Text',
+ edit: 'Edit Placeholder',
+ textMissing: 'The placeholder must contain text.'
+});
diff --git a/addons/website/static/lib/ckeditor/plugins/preview/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/preview/lang/en.js
similarity index 77%
rename from addons/website/static/lib/ckeditor/plugins/preview/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/preview/lang/en.js
index fe010b9b945..f06bb819cbc 100644
--- a/addons/website/static/lib/ckeditor/plugins/preview/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/preview/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'preview', 'en-gb', {
+CKEDITOR.plugins.setLang( 'preview', 'en', {
preview: 'Preview'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/print/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/print/lang/en.js
similarity index 78%
rename from addons/website/static/lib/ckeditor/plugins/print/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/print/lang/en.js
index 518186bf953..dee9b3d7025 100644
--- a/addons/website/static/lib/ckeditor/plugins/print/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/print/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'print', 'en-gb', {
+CKEDITOR.plugins.setLang( 'print', 'en', {
toolbar: 'Print'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/removeformat/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/removeformat/lang/en.js
similarity index 76%
rename from addons/website/static/lib/ckeditor/plugins/removeformat/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/removeformat/lang/en.js
index 06acaeb3c03..29fa4dfd921 100644
--- a/addons/website/static/lib/ckeditor/plugins/removeformat/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/removeformat/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'removeformat', 'en-gb', {
+CKEDITOR.plugins.setLang( 'removeformat', 'en', {
toolbar: 'Remove Format'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/save/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/save/lang/en.js
similarity index 78%
rename from addons/website/static/lib/ckeditor/plugins/save/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/save/lang/en.js
index 54749e9aa57..8eb35206c1c 100644
--- a/addons/website/static/lib/ckeditor/plugins/save/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/save/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'save', 'en-gb', {
+CKEDITOR.plugins.setLang( 'save', 'en', {
toolbar: 'Save'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/selectall/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/selectall/lang/en.js
similarity index 77%
rename from addons/website/static/lib/ckeditor/plugins/selectall/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/selectall/lang/en.js
index 2a5faf44fbc..804ef843c5a 100644
--- a/addons/website/static/lib/ckeditor/plugins/selectall/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/selectall/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'selectall', 'en-gb', {
+CKEDITOR.plugins.setLang( 'selectall', 'en', {
toolbar: 'Select All'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/showblocks/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/showblocks/lang/en.js
similarity index 77%
rename from addons/website/static/lib/ckeditor/plugins/showblocks/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/showblocks/lang/en.js
index 29dc560212d..45d3f8988de 100644
--- a/addons/website/static/lib/ckeditor/plugins/showblocks/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/showblocks/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'showblocks', 'en-gb', {
+CKEDITOR.plugins.setLang( 'showblocks', 'en', {
toolbar: 'Show Blocks'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/smiley/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/smiley/lang/en.js
similarity index 82%
rename from addons/website/static/lib/ckeditor/plugins/smiley/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/smiley/lang/en.js
index c2c451c590b..1f4b6489c20 100644
--- a/addons/website/static/lib/ckeditor/plugins/smiley/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/smiley/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'smiley', 'en-gb', {
+CKEDITOR.plugins.setLang( 'smiley', 'en', {
options: 'Smiley Options',
title: 'Insert a Smiley',
toolbar: 'Smiley'
diff --git a/addons/website/static/lib/ckeditor/plugins/smiley/plugin.js b/addons/website/static/lib/ckeditor/plugins/smiley/plugin.js
index 7a369c88f35..198523c0b40 100644
--- a/addons/website/static/lib/ckeditor/plugins/smiley/plugin.js
+++ b/addons/website/static/lib/ckeditor/plugins/smiley/plugin.js
@@ -40,20 +40,20 @@ CKEDITOR.plugins.add( 'smiley', {
*
* // This is actually the default value.
* config.smiley_images = [
- * 'regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tongue_smile.gif',
- * 'embarrassed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif',
- * 'devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif',
- * 'broken_heart.gif','kiss.gif','envelope.gif'
+ * 'regular_smile.png','sad_smile.png','wink_smile.png','teeth_smile.png','confused_smile.png','tongue_smile.png',
+ * 'embarrassed_smile.png','omg_smile.png','whatchutalkingabout_smile.png','angry_smile.png','angel_smile.png','shades_smile.png',
+ * 'devil_smile.png','cry_smile.png','lightbulb.png','thumbs_down.png','thumbs_up.png','heart.png',
+ * 'broken_heart.png','kiss.png','envelope.png'
* ];
*
* @cfg
* @member CKEDITOR.config
*/
CKEDITOR.config.smiley_images = [
- 'regular_smile.gif', 'sad_smile.gif', 'wink_smile.gif', 'teeth_smile.gif', 'confused_smile.gif', 'tongue_smile.gif',
- 'embarrassed_smile.gif', 'omg_smile.gif', 'whatchutalkingabout_smile.gif', 'angry_smile.gif', 'angel_smile.gif', 'shades_smile.gif',
- 'devil_smile.gif', 'cry_smile.gif', 'lightbulb.gif', 'thumbs_down.gif', 'thumbs_up.gif', 'heart.gif',
- 'broken_heart.gif', 'kiss.gif', 'envelope.gif' ];
+ 'regular_smile.png', 'sad_smile.png', 'wink_smile.png', 'teeth_smile.png', 'confused_smile.png', 'tongue_smile.png',
+ 'embarrassed_smile.png', 'omg_smile.png', 'whatchutalkingabout_smile.png', 'angry_smile.png', 'angel_smile.png', 'shades_smile.png',
+ 'devil_smile.png', 'cry_smile.png', 'lightbulb.png', 'thumbs_down.png', 'thumbs_up.png', 'heart.png',
+ 'broken_heart.png', 'kiss.png', 'envelope.png' ];
/**
* The description to be used for each of the smileys defined in the
diff --git a/addons/website/static/lib/ckeditor/plugins/sourcearea/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/sourcearea/lang/en.js
similarity index 76%
rename from addons/website/static/lib/ckeditor/plugins/sourcearea/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/sourcearea/lang/en.js
index 07859d2d669..17bdd00641c 100644
--- a/addons/website/static/lib/ckeditor/plugins/sourcearea/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/sourcearea/lang/en.js
@@ -2,6 +2,6 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'sourcearea', 'en-gb', {
+CKEDITOR.plugins.setLang( 'sourcearea', 'en', {
toolbar: 'Source'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/sourcedialog/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/sourcedialog/lang/en.js
similarity index 78%
rename from addons/website/static/lib/ckeditor/plugins/sourcedialog/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/sourcedialog/lang/en.js
index 42e6b281366..80aff46d753 100644
--- a/addons/website/static/lib/ckeditor/plugins/sourcedialog/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/sourcedialog/lang/en.js
@@ -3,7 +3,7 @@ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'sourcedialog', 'en-gb', {
+CKEDITOR.plugins.setLang( 'sourcedialog', 'en', {
toolbar: 'Source',
title: 'Source'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/specialchar/dialogs/lang/en.js b/addons/website/static/lib/ckeditor/plugins/specialchar/dialogs/lang/en.js
new file mode 100644
index 00000000000..b3dca6c7643
--- /dev/null
+++ b/addons/website/static/lib/ckeditor/plugins/specialchar/dialogs/lang/en.js
@@ -0,0 +1,125 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+CKEDITOR.plugins.setLang( 'specialchar', 'en', {
+ euro: 'Euro sign',
+ lsquo: 'Left single quotation mark',
+ rsquo: 'Right single quotation mark',
+ ldquo: 'Left double quotation mark',
+ rdquo: 'Right double quotation mark',
+ ndash: 'En dash',
+ mdash: 'Em dash',
+ iexcl: 'Inverted exclamation mark',
+ cent: 'Cent sign',
+ pound: 'Pound sign',
+ curren: 'Currency sign',
+ yen: 'Yen sign',
+ brvbar: 'Broken bar',
+ sect: 'Section sign',
+ uml: 'Diaeresis',
+ copy: 'Copyright sign',
+ ordf: 'Feminine ordinal indicator',
+ laquo: 'Left-pointing double angle quotation mark',
+ not: 'Not sign',
+ reg: 'Registered sign',
+ macr: 'Macron',
+ deg: 'Degree sign',
+ sup2: 'Superscript two',
+ sup3: 'Superscript three',
+ acute: 'Acute accent',
+ micro: 'Micro sign',
+ para: 'Pilcrow sign',
+ middot: 'Middle dot',
+ cedil: 'Cedilla',
+ sup1: 'Superscript one',
+ ordm: 'Masculine ordinal indicator',
+ raquo: 'Right-pointing double angle quotation mark',
+ frac14: 'Vulgar fraction one quarter',
+ frac12: 'Vulgar fraction one half',
+ frac34: 'Vulgar fraction three quarters',
+ iquest: 'Inverted question mark',
+ Agrave: 'Latin capital letter A with grave accent',
+ Aacute: 'Latin capital letter A with acute accent',
+ Acirc: 'Latin capital letter A with circumflex',
+ Atilde: 'Latin capital letter A with tilde',
+ Auml: 'Latin capital letter A with diaeresis',
+ Aring: 'Latin capital letter A with ring above',
+ AElig: 'Latin Capital letter Æ',
+ Ccedil: 'Latin capital letter C with cedilla',
+ Egrave: 'Latin capital letter E with grave accent',
+ Eacute: 'Latin capital letter E with acute accent',
+ Ecirc: 'Latin capital letter E with circumflex',
+ Euml: 'Latin capital letter E with diaeresis',
+ Igrave: 'Latin capital letter I with grave accent',
+ Iacute: 'Latin capital letter I with acute accent',
+ Icirc: 'Latin capital letter I with circumflex',
+ Iuml: 'Latin capital letter I with diaeresis',
+ ETH: 'Latin capital letter Eth',
+ Ntilde: 'Latin capital letter N with tilde',
+ Ograve: 'Latin capital letter O with grave accent',
+ Oacute: 'Latin capital letter O with acute accent',
+ Ocirc: 'Latin capital letter O with circumflex',
+ Otilde: 'Latin capital letter O with tilde',
+ Ouml: 'Latin capital letter O with diaeresis',
+ times: 'Multiplication sign',
+ Oslash: 'Latin capital letter O with stroke',
+ Ugrave: 'Latin capital letter U with grave accent',
+ Uacute: 'Latin capital letter U with acute accent',
+ Ucirc: 'Latin capital letter U with circumflex',
+ Uuml: 'Latin capital letter U with diaeresis',
+ Yacute: 'Latin capital letter Y with acute accent',
+ THORN: 'Latin capital letter Thorn',
+ szlig: 'Latin small letter sharp s',
+ agrave: 'Latin small letter a with grave accent',
+ aacute: 'Latin small letter a with acute accent',
+ acirc: 'Latin small letter a with circumflex',
+ atilde: 'Latin small letter a with tilde',
+ auml: 'Latin small letter a with diaeresis',
+ aring: 'Latin small letter a with ring above',
+ aelig: 'Latin small letter æ',
+ ccedil: 'Latin small letter c with cedilla',
+ egrave: 'Latin small letter e with grave accent',
+ eacute: 'Latin small letter e with acute accent',
+ ecirc: 'Latin small letter e with circumflex',
+ euml: 'Latin small letter e with diaeresis',
+ igrave: 'Latin small letter i with grave accent',
+ iacute: 'Latin small letter i with acute accent',
+ icirc: 'Latin small letter i with circumflex',
+ iuml: 'Latin small letter i with diaeresis',
+ eth: 'Latin small letter eth',
+ ntilde: 'Latin small letter n with tilde',
+ ograve: 'Latin small letter o with grave accent',
+ oacute: 'Latin small letter o with acute accent',
+ ocirc: 'Latin small letter o with circumflex',
+ otilde: 'Latin small letter o with tilde',
+ ouml: 'Latin small letter o with diaeresis',
+ divide: 'Division sign',
+ oslash: 'Latin small letter o with stroke',
+ ugrave: 'Latin small letter u with grave accent',
+ uacute: 'Latin small letter u with acute accent',
+ ucirc: 'Latin small letter u with circumflex',
+ uuml: 'Latin small letter u with diaeresis',
+ yacute: 'Latin small letter y with acute accent',
+ thorn: 'Latin small letter thorn',
+ yuml: 'Latin small letter y with diaeresis',
+ OElig: 'Latin capital ligature OE',
+ oelig: 'Latin small ligature oe',
+ '372': 'Latin capital letter W with circumflex',
+ '374': 'Latin capital letter Y with circumflex',
+ '373': 'Latin small letter w with circumflex',
+ '375': 'Latin small letter y with circumflex',
+ sbquo: 'Single low-9 quotation mark',
+ '8219': 'Single high-reversed-9 quotation mark',
+ bdquo: 'Double low-9 quotation mark',
+ hellip: 'Horizontal ellipsis',
+ trade: 'Trade mark sign',
+ '9658': 'Black right-pointing pointer',
+ bull: 'Bullet',
+ rarr: 'Rightwards arrow',
+ rArr: 'Rightwards double arrow',
+ hArr: 'Left right double arrow',
+ diams: 'Black diamond suit',
+ asymp: 'Almost equal to'
+});
diff --git a/addons/website/static/lib/ckeditor/plugins/specialchar/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/specialchar/lang/en.js
similarity index 83%
rename from addons/website/static/lib/ckeditor/plugins/specialchar/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/specialchar/lang/en.js
index ddd75638d2f..263ccbedfb8 100644
--- a/addons/website/static/lib/ckeditor/plugins/specialchar/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/specialchar/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'specialchar', 'en-gb', {
+CKEDITOR.plugins.setLang( 'specialchar', 'en', {
options: 'Special Character Options',
title: 'Select Special Character',
toolbar: 'Insert Special Character'
diff --git a/addons/website/static/lib/ckeditor/plugins/stylescombo/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/stylescombo/lang/en.js
similarity index 84%
rename from addons/website/static/lib/ckeditor/plugins/stylescombo/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/stylescombo/lang/en.js
index dea342b1dc4..c9f9f5cd397 100644
--- a/addons/website/static/lib/ckeditor/plugins/stylescombo/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/stylescombo/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'stylescombo', 'en-gb', {
+CKEDITOR.plugins.setLang( 'stylescombo', 'en', {
label: 'Styles',
panelTitle: 'Formatting Styles',
panelTitle1: 'Block Styles',
diff --git a/addons/website/static/lib/ckeditor/plugins/table/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/table/lang/en.js
similarity index 92%
rename from addons/website/static/lib/ckeditor/plugins/table/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/table/lang/en.js
index 3d1722dc913..bc3e38c5418 100644
--- a/addons/website/static/lib/ckeditor/plugins/table/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/table/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'table', 'en-gb', {
+CKEDITOR.plugins.setLang( 'table', 'en', {
border: 'Border size',
caption: 'Caption',
cell: {
@@ -51,8 +51,8 @@ CKEDITOR.plugins.setLang( 'table', 'en-gb', {
headersNone: 'None',
headersRow: 'First Row',
invalidBorder: 'Border size must be a number.',
- invalidCellPadding: 'Cell padding must be a number.',
- invalidCellSpacing: 'Cell spacing must be a number.',
+ invalidCellPadding: 'Cell padding must be a positive number.',
+ invalidCellSpacing: 'Cell spacing must be a positive number.',
invalidCols: 'Number of columns must be a number greater than 0.',
invalidHeight: 'Table height must be a number.',
invalidRows: 'Number of rows must be a number greater than 0.',
diff --git a/addons/website/static/lib/ckeditor/plugins/templates/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/templates/lang/en.js
similarity index 88%
rename from addons/website/static/lib/ckeditor/plugins/templates/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/templates/lang/en.js
index f8660dd5585..612707456e3 100644
--- a/addons/website/static/lib/ckeditor/plugins/templates/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/templates/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'templates', 'en-gb', {
+CKEDITOR.plugins.setLang( 'templates', 'en', {
button: 'Templates',
emptyListMsg: '(No templates defined)',
insertOption: 'Replace actual contents',
diff --git a/addons/website/static/lib/ckeditor/plugins/toolbar/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/toolbar/lang/en.js
similarity index 84%
rename from addons/website/static/lib/ckeditor/plugins/toolbar/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/toolbar/lang/en.js
index eeeb7ed981f..cb441b18cd0 100644
--- a/addons/website/static/lib/ckeditor/plugins/toolbar/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/toolbar/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'toolbar', 'en-gb', {
+CKEDITOR.plugins.setLang( 'toolbar', 'en', {
toolbarCollapse: 'Collapse Toolbar',
toolbarExpand: 'Expand Toolbar',
toolbarGroups: {
@@ -18,5 +18,5 @@ CKEDITOR.plugins.setLang( 'toolbar', 'en-gb', {
colors: 'Colors',
tools: 'Tools'
},
- toolbars: 'Editor toolbars' // MISSING
+ toolbars: 'Editor toolbars'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/uicolor/lang/en.js b/addons/website/static/lib/ckeditor/plugins/uicolor/lang/en.js
new file mode 100644
index 00000000000..edbbc5ae54e
--- /dev/null
+++ b/addons/website/static/lib/ckeditor/plugins/uicolor/lang/en.js
@@ -0,0 +1,11 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or http://ckeditor.com/license
+ */
+
+CKEDITOR.plugins.setLang( 'uicolor', 'en', {
+ title: 'UI Color Picker',
+ preview: 'Live preview',
+ config: 'Paste this string into your config.js file',
+ predefined: 'Predefined color sets'
+});
diff --git a/addons/website/static/lib/ckeditor/plugins/undo/lang/en-gb.js b/addons/website/static/lib/ckeditor/plugins/undo/lang/en.js
similarity index 79%
rename from addons/website/static/lib/ckeditor/plugins/undo/lang/en-gb.js
rename to addons/website/static/lib/ckeditor/plugins/undo/lang/en.js
index 31ad7adf751..68a58007d5d 100644
--- a/addons/website/static/lib/ckeditor/plugins/undo/lang/en-gb.js
+++ b/addons/website/static/lib/ckeditor/plugins/undo/lang/en.js
@@ -2,7 +2,7 @@
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
-CKEDITOR.plugins.setLang( 'undo', 'en-gb', {
+CKEDITOR.plugins.setLang( 'undo', 'en', {
redo: 'Redo',
undo: 'Undo'
});
diff --git a/addons/website/static/lib/ckeditor/plugins/widget/plugin.js b/addons/website/static/lib/ckeditor/plugins/widget/plugin.js
index 0fa79feaf6d..8763f663783 100644
--- a/addons/website/static/lib/ckeditor/plugins/widget/plugin.js
+++ b/addons/website/static/lib/ckeditor/plugins/widget/plugin.js
@@ -614,6 +614,9 @@
if ( !that.fire( 'dialog', dialog ) )
return;
+ // Make widget accessible beyond setup and commit.
+ dialog._.widget = that;
+
showListener = dialog.on( 'show', function() {
dialog.setupContent( that );
} );
@@ -826,7 +829,7 @@
NestedEditable.prototype = CKEDITOR.tools.extend( CKEDITOR.tools.prototypedCopy( CKEDITOR.dom.element.prototype ), {
setData: function( data ) {
- var data = this.editor.dataProcessor.toHtml( data, {
+ data = this.editor.dataProcessor.toHtml( data, {
context: this.getName(),
filter: this.filter,
enterMode: this.filter ? this.filter.getAllowedEnterMode() : this.editor.enterMode
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index ebcfb98635d..ae66130f921 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -331,6 +331,8 @@
'tab', 'table', 'templates', 'toolbar', 'undo', 'wysiwygarea'
];
return {
+ // FIXME
+ language: 'en',
// Disable auto-generated titles
// FIXME: accessibility, need to generate user-sensible title, used for @title and @aria-label
title: false,