diff --git a/scripts/ckeditor/CHANGES.md b/scripts/ckeditor/CHANGES.md old mode 100755 new mode 100644 index b718aabf..0b079eee --- a/scripts/ckeditor/CHANGES.md +++ b/scripts/ckeditor/CHANGES.md @@ -1,612 +1,897 @@ -CKEditor 4 Changelog -==================== - -## CKEditor 4.4.3 - -**Security Updates:** - -* Fixed XSS vulnerability in the Preview plugin reported by Mario Heiderich of [Cure53](https://cure53.de/). - -**An upgrade is highly recommended!** - -New Features: - -* [#12164](http://dev.ckeditor.com/ticket/12164): Added the "Justify" option to the "Horizontal Alignment" drop-down in the Table Cell Properties dialog window. - -Fixed Issues: - -* [#12110](http://dev.ckeditor.com/ticket/12110): Fixed: Editor crash after deleting a table. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! -* [#11897](http://dev.ckeditor.com/ticket/11897): Fixed: **Enter** key used in an empty list item creates a new line instead of breaking the list. Thanks to [noam-si](https://github.com/noam-si)! -* [#12140](http://dev.ckeditor.com/ticket/12140): Fixed: Double-clicking linked widgets opens two dialog windows. -* [#12132](http://dev.ckeditor.com/ticket/12132): Fixed: Image is inserted with `width` and `height` styles even when they are not allowed. -* [#9317](http://dev.ckeditor.com/ticket/9317): [IE] Fixed: [`config.disableObjectResizing`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-disableObjectResizing) does not work on IE. **Note**: We were not able to fix this issue on IE11+ because necessary events stopped working. See a [last resort workaround](http://dev.ckeditor.com/ticket/9317#comment:16) and make sure to [support our complaint to Microsoft](https://connect.microsoft.com/IE/feedback/details/742593/please-respect-execcommand-enableobjectresizing-in-contenteditable-elements). -* [#9638](http://dev.ckeditor.com/ticket/9638): Fixed: There should be no information about accessibility help available under the *Alt+0* keyboard shortcut if the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) plugin is not available. -* [#8117](http://dev.ckeditor.com/ticket/8117) and [#9186](http://dev.ckeditor.com/ticket/9186): Fixed: In HTML5 `` tags should be allowed everywhere, including inside the `` element. -* [#10422](http://dev.ckeditor.com/ticket/10422): Fixed: [`config.fillEmptyBlocks`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) not working properly if a function is specified. - -## CKEditor 4.4.2 - -Important Notes: - -* The CKEditor testing environment is now publicly available. Read more about how to set up the environment and execute tests in the [CKEditor Testing Environment](http://docs.ckeditor.com/#!/guide/dev_tests) guide. - Please note that the [`tests/`](https://github.com/ckeditor/ckeditor-dev/tree/master/tests) directory which contains editor tests is not available in release packages. It can only be found in the development version of CKEditor on [GitHub](https://github.com/ckeditor/ckeditor-dev/). - -New Features: - -* [#11909](http://dev.ckeditor.com/ticket/11909): Introduced a parameter to prevent the [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData) method from recording undo snapshots. - -Fixed Issues: - -* [#11757](http://dev.ckeditor.com/ticket/11757): Fixed: Imperfections in the [Moono](http://ckeditor.com/addon/moono) skin. Thanks to [danyaPostfactum](https://github.com/danyaPostfactum)! -* [#10091](http://dev.ckeditor.com/ticket/10091): Blockquote should be treated like an object by the styles system. Thanks to [dan-james-deeson](https://github.com/dan-james-deeson)! -* [#11478](http://dev.ckeditor.com/ticket/11478): Fixed: Issue with passing jQuery objects to [adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) configuration. -* [#10867](http://dev.ckeditor.com/ticket/10867): Fixed: Issue with setting encoded URI as image link. -* [#11983](http://dev.ckeditor.com/ticket/11983): Fixed: Clicking a nested widget does not focus it. Additionally, performance of the [`widget.repository.getByElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-getByElement) method was improved. -* [#12000](http://dev.ckeditor.com/ticket/12000): Fixed: Nested widgets should be initialized on [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData) and [`nestedEditable.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.nestedEditable-method-setData). -* [#12022](http://dev.ckeditor.com/ticket/12022): Fixed: Outer widget's drag handler is not created at all if it has any nested widgets inside. -* [#11960](http://dev.ckeditor.com/ticket/11960): [Blink/WebKit] Fixed: The caret should be scrolled into view on *Backspace* and *Delete* (covers only the merging blocks case). -* [#11306](http://dev.ckeditor.com/ticket/11306): [OSX][Blink/WebKit] Fixed: No widget entries in the context menu on widget right-click. -* [#11957](http://dev.ckeditor.com/ticket/11957): Fixed: Alignment labels in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window are not translated. -* [#11980](http://dev.ckeditor.com/ticket/11980): [Blink/WebKit] Fixed: `` elements created when joining adjacent elements (non-collapsed selection). -* [#12009](http://dev.ckeditor.com/ticket/12009): [Nested widgets] Integration with the [Magic Line](http://ckeditor.com/addon/magicline) plugin. -* [#11387](http://dev.ckeditor.com/ticket/11387): Fixed: `role="radiogroup"` should be applied only to radio inputs' container. -* [#7975](http://dev.ckeditor.com/ticket/7975): [IE8] Fixed: Errors when trying to select an empty table cell. -* [#11947](http://dev.ckeditor.com/ticket/11947): [Firefox+IE11] Fixed: *Shift+Enter* in lists produces two line breaks. -* [#11972](http://dev.ckeditor.com/ticket/11972): Fixed: Feature detection in the [`element.setText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-setText) method should not trigger the layout engine. -* [#7634](http://dev.ckeditor.com/ticket/7634): Fixed: The [Flash Dialog](http://ckeditor.com/addon/flash) plugin omits the `allowFullScreen` parameter in the editor data if set to `true`. -* [#11910](http://dev.ckeditor.com/ticket/11910): Fixed: [Enhanced Image](http://ckeditor.com/addon/image2) does not take [`config.baseHref`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-baseHref) into account when updating image dimensions. -* [#11753](http://dev.ckeditor.com/ticket/11753): Fixed: Wrong [`checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method value after focusing or blurring a widget. -* [#11830](http://dev.ckeditor.com/ticket/11830): Fixed: Impossible to pass some arguments to [CKBuilder](https://github.com/ckeditor/ckbuilder) when using the `/dev/builder/build.sh` script. -* [#11945](http://dev.ckeditor.com/ticket/11945): Fixed: [Form Elements](http://ckeditor.com/addon/forms) plugin should not change a core method. -* [#11384](http://dev.ckeditor.com/ticket/11384): [IE9+] Fixed: `IndexSizeError` thrown when pasting into a non-empty selection anchored in one text node. - -## CKEditor 4.4.1 - -New Features: - -* [#9661](http://dev.ckeditor.com/ticket/9661): Added the option to [configure](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-linkJavaScriptLinksAllowed) anchor tags with JavaScript code in the `href` attribute. - -Fixed Issues: - -* [#11861](http://dev.ckeditor.com/ticket/11861): [Webkit/Blink] Fixed: Span elements created while joining adjacent elements. **Note:** This patch only covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) selection. The remaining case, with a non-empty selection, will be fixed in the next release. -* [#10714](http://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and drop-downs are broken if a touch event listener is used due to a [Webkit bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty Gus](https://github.com/artygus)! -* [#11911](http://dev.ckeditor.com/ticket/11911): Fixed setting the `dir` attribute for a preloaded language in [CKEDITOR.lang](http://docs.ckeditor.com/#!/api/CKEDITOR.lang). Thanks to [Akash Mohapatra](https://github.com/akashmohapatra)! -* [#11926](http://dev.ckeditor.com/ticket/11926): Fixed: [Code Snippet](http://ckeditor.com/addon/codesnippet) does not decode HTML entities when loading code from the `` element. -* [#11223](http://dev.ckeditor.com/ticket/11223): Fixed: Issue when [Protected Source](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-protectedSource) was not working in the `` element. -* [#11859](http://dev.ckeditor.com/ticket/11859): Fixed: Removed the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin dependency from the [Code Snippet](http://ckeditor.com/addon/codesnippet) sample. -* [#11754](http://dev.ckeditor.com/ticket/11754): [Chrome] Fixed: Infinite loop when content includes not closed attributes. -* [#11848](http://dev.ckeditor.com/ticket/11848): [IE] Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) throwing an exception when there was no selection in the editor. -* [#11801](http://dev.ckeditor.com/ticket/11801): Fixed: Editor anchors unavailable when linking the [Enhanced Image](http://ckeditor.com/addon/image2) widget. -* [#11626](http://dev.ckeditor.com/ticket/11626): Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) sets invalid column width. -* [#11872](http://dev.ckeditor.com/ticket/11872): Made [`element.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-addClass) chainable symmetrically to [`element.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-removeClass). -* [#11813](http://dev.ckeditor.com/ticket/11813): Fixed: Link lost while pasting a captioned image and restoring an undo snapshot ([Enhanced Image](http://ckeditor.com/addon/image2)). -* [#11814](http://dev.ckeditor.com/ticket/11814): Fixed: _Link_ and _Unlink_ entries persistently displayed in the [Enhanced Image](http://ckeditor.com/addon/image2) context menu. -* [#11839](http://dev.ckeditor.com/ticket/11839): [IE9] Fixed: The caret jumps out of the editable area when resizing the editor in the source mode. -* [#11822](http://dev.ckeditor.com/ticket/11822): [Webkit] Fixed: Editing anchors by double-click is broken in some cases. -* [#11823](http://dev.ckeditor.com/ticket/11823): [IE8] Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) throws an error over scrollbar. -* [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: It is not possible to change the language back to _Not set_ in the [Code Snippet](http://ckeditor.com/addon/codesnippet) dialog window. -* [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: [Filter](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are not applied inside elements with the `contenteditable` attribute set to `true`. -* [#11798](http://dev.ckeditor.com/ticket/11798): Fixed: Inserting a non-editable element inside a table cell breaks the table. -* [#11793](http://dev.ckeditor.com/ticket/11793): Fixed: Drop-down is not "on" when clicking it while the editor is blurred. -* [#11850](http://dev.ckeditor.com/ticket/11850): Fixed: Fake objects with the `contenteditable` attribute set to `false` are not downcasted properly. -* [#11811](http://dev.ckeditor.com/ticket/11811): Fixed: Widget's data is not encoded correctly when passed to an attribute. -* [#11777](http://dev.ckeditor.com/ticket/11777): Fixed encoding ampersand in the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin. -* [#11880](http://dev.ckeditor.com/ticket/11880): [IE8-9] Fixed: Linked image has a default thick border. - -Other Changes: - -* [#11807](http://dev.ckeditor.com/ticket/11807): Updated jQuery version used in the sample to 1.11.0 and tested CKEditor jQuery Adapter with version 1.11.0 and 2.1.0. -* [#9504](http://dev.ckeditor.com/ticket/9504): Stopped using deprecated `attribute.specified` in all browsers except Internet Explorer. -* [#11809](http://dev.ckeditor.com/ticket/11809): Changed tab size in `<pre>` to 4 spaces. - -## CKEditor 4.4 - -**Important Notes:** - -* Marked the [`editor.beforePaste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-beforePaste) event as deprecated. -* The default class of captioned images has changed to `image` (was: `caption`). Please note that once edited in CKEditor 4.4+, all existing images of the `caption` class (`<figure class="caption">`) will be [filtered out](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) unless the [`config.image2_captionedClass`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_captionedClass) option is set to `caption`. For backward compatibility (i.e. when upgrading), it is highly recommended to use this setting, which also helps prevent CSS conflicts, etc. This does not apply to new CKEditor integrations. -* Widgets without defined buttons are no longer registered automatically to the [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). Before CKEditor 4.4 widgets were registered to the ACF which was an incorrect behavior ([#11567](http://dev.ckeditor.com/ticket/11567)). This change should not have any impact on standard scenarios, but if your button does not execute the widget command, you need to set [`allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.feature-property-allowedContent) and [`requiredContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.feature-property-requiredContent) properties for it manually, because the editor will not be able to find them. -* The [Show Borders](http://ckeditor.com/addon/showborders) plugin was added to the Standard installation package in order to ensure that unstyled tables are still visible for the user ([#11665](http://dev.ckeditor.com/ticket/11665)). -* Since CKEditor 4.4 the editor instance should be passed to [`CKEDITOR.style`](http://docs.ckeditor.com/#!/api/CKEDITOR.style) methods to ensure full compatibility with other features (e.g. applying styles to widgets requires that). We ensured backward compatibility though, so the [`CKEDITOR.style`](http://docs.ckeditor.com/#!/api/CKEDITOR.style) will work even when the editor instance is not provided. - -New Features: - -* [#11297](http://dev.ckeditor.com/ticket/11297): Styles can now be applied to widgets. The definition of a style which can be applied to a specific widget must contain two additional properties — `type` and `widget`. Read more in the [Widget Styles](http://docs.ckeditor.com/#!/guide/dev_styles-section-widget-styles) section of the "Syles Drop-down" guide. Note that by default, widgets support only classes and no other attributes or styles. Related changes and features: - * Introduced the [`CKEDITOR.style.addCustomHandler()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-static-method-addCustomHandler) method for registering custom style handlers. - * The [`CKEDITOR.style.apply()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-method-apply) and [`CKEDITOR.style.remove()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-method-remove) methods are now called with an editor instance instead of the document so they can be reused by the [`CKEDITOR.editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) and [`CKEDITOR.editor.removeStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-removeStyle) methods. Backward compatibility was preserved, but from CKEditor 4.4 it is highly recommended to pass an editor instead of a document to these methods. - * Many new methods and properties were introduced in the [Widget API](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) to make the handling of styles by widgets fully customizable. See: [`widget.definition.styleableElements`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-styleableElements), [`widget.definition.styleToAllowedContentRule`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-styleToAllowedContentRules), [`widget.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-addClass), [`widget.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-removeClass), [`widget.getClasses()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-getClasses), [`widget.hasClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-hasClass), [`widget.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-applyStyle), [`widget.removeStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-removeStyle), [`widget.checkStyleActive()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-checkStyleActive). - * Integration with the [Allowed Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) required an introduction of the [`CKEDITOR.style.toAllowedContent()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-method-toAllowedContentRules) method which can be implemented by the custom style handler and if exists, it is used by the [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) to translate a style to [allowed content rules](http://docs.ckeditor.com/#!/api/CKEDITOR.filter.allowedContentRules). -* [#11300](http://dev.ckeditor.com/ticket/11300): Various changes in the [Enhanced Image](http://ckeditor.com/addon/image2) plugin: - * Introduced the [`config.image2_captionedClass`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_captionedClass) option to configure the class of captioned images. - * Introduced the [`config.image2_alignClasses`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_alignClasses) option to configure the way images are aligned with CSS classes. - If this setting is defined, the editor produces classes instead of inline styles for aligned images. - * Default image caption can be translated (customized) with the `editor.lang.image2.captionPlaceholder` string. -* [#11341](http://dev.ckeditor.com/ticket/11341): [Enhanced Image](http://ckeditor.com/addon/image2) plugin: It is now possible to add a link to any image type. -* [#10202](http://dev.ckeditor.com/ticket/10202): Introduced wildcard support in the [Allowed Content Rules](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules) format. -* [#10276](http://dev.ckeditor.com/ticket/10276): Introduced blacklisting in the [Allowed Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). -* [#10480](http://dev.ckeditor.com/ticket/10480): Introduced code snippets with code highlighting. There are two versions available so far — the default [Code Snippet](http://ckeditor.com/addon/codesnippet) which uses the [highlight.js](http://highlightjs.org) library and the [Code Snippet GeSHi](http://ckeditor.com/addon/codesnippetgeshi) which uses the [GeSHi](http://qbnz.com/highlighter/) library. -* [#11737](http://dev.ckeditor.com/ticket/11737): Introduced an option to prevent [filtering](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) of an element that matches custom criteria (see [`filter.addElementCallback()`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter-method-addElementCallback)). -* [#11532](http://dev.ckeditor.com/ticket/11532): Introduced the [`editor.addContentsCss()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-addContentsCss) method that can be used for [adding custom CSS files](http://docs.ckeditor.com/#!/guide/plugin_sdk_styles). -* [#11536](http://dev.ckeditor.com/ticket/11536): Added the [`CKEDITOR.tools.htmlDecode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlDecode) method for decoding HTML entities. -* [#11225](http://dev.ckeditor.com/ticket/11225): Introduced the [`CKEDITOR.tools.transparentImageData`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-property-transparentImageData) property which contains transparent image data to be used in CSS or as image source. - -Other Changes: - -* [#11377](http://dev.ckeditor.com/ticket/11377): Unified internal representation of empty anchors using the [fake objects](http://ckeditor.com/addon/fakeobjects). -* [#11422](http://dev.ckeditor.com/ticket/11422): Removed Firefox 3.x, Internet Explorer 6 and Opera 12.x leftovers in code. -* [#5217](http://dev.ckeditor.com/ticket/5217): Setting data (including switching between modes) creates a new undo snapshot. Besides that: - * Introduced the [`editable.status`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-property-status) property. - * Introduced a new `forceUpdate` option for the [`editor.lockSnapshot`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-lockSnapshot) event. - * Fixed: Selection not being unlocked in inline editor after setting data ([#11500](http://dev.ckeditor.com/ticket/11500)). -* The [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin was updated to the latest version. - -Fixed Issues: - -* [#10190](http://dev.ckeditor.com/ticket/10190): Fixed: Removing block style with [`editor.removeStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-removeStyle) should result in a paragraph and not a div. -* [#11727](http://dev.ckeditor.com/ticket/11727): Fixed: The editor tries to select a non-editable image which was clicked. - -## CKEditor 4.3.5 - -New Features: - -* Added new translation: Tatar. - -Fixed Issues: - -* [#11677](http://dev.ckeditor.com/ticket/11677): Fixed: Undo/Redo keystrokes are blocked in the source mode. -* [#11717](http://dev.ckeditor.com/ticket/11717): [Document Properties](http://ckeditor.com/addon/docprops) plugin requires the [Color Dialog](http://ckeditor.com/addon/colordialog) plugin to work. - -## CKEditor 4.3.4 - -Fixed Issues: - -* [#11597](http://dev.ckeditor.com/ticket/11597): [IE11] Fixed: Error thrown when trying to open the [preview](http://ckeditor.com/addon/preview) using the keyboard. -* [#11544](http://dev.ckeditor.com/ticket/11544): [Placeholders](http://ckeditor.com/addon/placeholder) will no longer be upcasted in parents not accepting `<span>` elements. -* [#8663](http://dev.ckeditor.com/ticket/8663): Fixed [`element.renameNode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-renameNode) not clearing the [`element.getName()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-getName) cache. -* [#11574](http://dev.ckeditor.com/ticket/11574): Fixed: *Backspace* destroying the DOM structure if an inline editable is placed in a list item. -* [#11603](http://dev.ckeditor.com/ticket/11603): Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) attaches to tables outside the editable. -* [#9205](http://dev.ckeditor.com/ticket/9205), [#7805](http://dev.ckeditor.com/ticket/7805), [#8216](http://dev.ckeditor.com/ticket/8216): Fixed: `{cke_protected_1}` appearing in data in various cases where HTML comments are placed next to `"` or `'`. -* [#11635](http://dev.ckeditor.com/ticket/11635): Fixed: Some attributes are not protected before the content is passed through the fix bin. -* [#11660](http://dev.ckeditor.com/ticket/11660): [IE] Fixed: Table content is lost when some extra markup is inside the table. -* [#11641](http://dev.ckeditor.com/ticket/11641): Fixed: Switching between modes in the classic editor removes content styles for the inline editor. -* [#11568](http://dev.ckeditor.com/ticket/11568): Fixed: [Styles](http://ckeditor.com/addon/stylescombo) drop-down list is not enabled on selection change. - -## CKEditor 4.3.3 - -Fixed Issues: - -* [#11500](http://dev.ckeditor.com/ticket/11500): [Webkit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root). -* [#11104](http://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues with scrolling and selection when focusing widgets. -* [#11487](http://dev.ckeditor.com/ticket/11487): Moving mouse over the [Enhanced Image](http://ckeditor.com/addon/image2) widget will no longer change the value returned by the [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method. -* [#8673](http://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select and remove the [Page Break](http://ckeditor.com/addon/pagebreak). -* [#11413](http://dev.ckeditor.com/ticket/11413): Fixed: Incorrect [`editor.execCommand()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-execCommand) behavior. -* [#11438](http://dev.ckeditor.com/ticket/11438): Splitting table cells vertically is no longer changing table structure. -* [#8899](http://dev.ckeditor.com/ticket/8899): Fixed: Links in the [About CKEditor](http://ckeditor.com/addon/about) dialog window now open in a new browser window or tab. -* [#11490](http://dev.ckeditor.com/ticket/11490): Fixed: [Menu button](http://ckeditor.com/addon/menubutton) panel not showing in the source mode. -* [#11417](http://dev.ckeditor.com/ticket/11417): The [`widget.doubleclick`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-event-doubleclick) event is not canceled anymore after editing was triggered. -* [#11253](http://dev.ckeditor.com/ticket/11253): [IE] Fixed: Clipped upload button in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. -* [#11359](http://dev.ckeditor.com/ticket/11359): Standardized the way anchors are discovered by the [Link](http://ckeditor.com/addon/link) plugin. -* [#11058](http://dev.ckeditor.com/ticket/11058): [IE8] Fixed: Error when deleting a table row. -* [#11508](http://dev.ckeditor.com/ticket/11508): Fixed: [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) discovering protected attributes within other attributes' values. -* [#11533](http://dev.ckeditor.com/ticket/11533): Widgets: Avoid recurring upcasts if the DOM structure was modified during an upcast. -* [#11400](http://dev.ckeditor.com/ticket/11400): Fixed: The [`domObject.removeAllListeners()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.domObject-method-removeAllListeners) method does not remove custom listeners completely. -* [#11493](http://dev.ckeditor.com/ticket/11493): Fixed: The [`selection.getRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-getRanges) method does not override cached ranges when used with the `onlyEditables` argument. -* [#11390](http://dev.ckeditor.com/ticket/11390): [IE] All [XML](http://ckeditor.com/addon/xml) plugin [methods](http://docs.ckeditor.com/#!/api/CKEDITOR.xml) now work in IE10+. -* [#11542](http://dev.ckeditor.com/ticket/11542): [IE11] Fixed: Blurry toolbar icons when Right-to-Left UI language is set. -* [#11504](http://dev.ckeditor.com/ticket/11504): Fixed: When [`config.fullPage`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fullPage) is set to `true`, entities are not encoded in editor output. -* [#11004](http://dev.ckeditor.com/ticket/11004): Integrated [Enhanced Image](http://ckeditor.com/addon/image2) dialog window with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). -* [#11439](http://dev.ckeditor.com/ticket/11439): Fixed: Properties get cloned in the Cell Properties dialog window if multiple cells are selected. - -## CKEditor 4.3.2 - -Fixed Issues: - -* [#11331](http://dev.ckeditor.com/ticket/11331): A menu button will have a changed label when selected instead of using the `aria-pressed` attribute. -* [#11177](http://dev.ckeditor.com/ticket/11177): Widget drag handler improvements: - * [#11176](http://dev.ckeditor.com/ticket/11176): Fixed: Initial position is not updated when the widget data object is empty. - * [#11001](http://dev.ckeditor.com/ticket/11001): Fixed: Multiple synchronous layout recalculations are caused by initial drag handler positioning causing performance issues. - * [#11161](http://dev.ckeditor.com/ticket/11161): Fixed: Drag handler is not repositioned in various situations. - * [#11281](http://dev.ckeditor.com/ticket/11281): Fixed: Drag handler and mask are duplicated after widget reinitialization. -* [#11207](http://dev.ckeditor.com/ticket/11207): [Firefox] Fixed: Misplaced [Enhanced Image](http://ckeditor.com/addon/image2) resizer in the inline editor. -* [#11102](http://dev.ckeditor.com/ticket/11102): `CKEDITOR.template` improvements: - * [#11102](http://dev.ckeditor.com/ticket/11102): Added newline character support. - * [#11216](http://dev.ckeditor.com/ticket/11216): Added "\\'" substring support. -* [#11121](http://dev.ckeditor.com/ticket/11121): [Firefox] Fixed: High Contrast mode is enabled when the editor is loaded in a hidden iframe. -* [#11350](http://dev.ckeditor.com/ticket/11350): The default value of [`config.contentsCss`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-contentsCss) is affected by [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl). -* [#11097](http://dev.ckeditor.com/ticket/11097): Improved the [Autogrow](http://ckeditor.com/addon/autogrow) plugin performance when dealing with very big tables. -* [#11290](http://dev.ckeditor.com/ticket/11290): Removed redundant code in the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin. -* [#11133](http://dev.ckeditor.com/ticket/11133): [Page Break](http://ckeditor.com/addon/pagebreak) becomes editable if pasted. -* [#11126](http://dev.ckeditor.com/ticket/11126): Fixed: Native Undo executed once the bottom of the snapshot stack is reached. -* [#11131](http://dev.ckeditor.com/ticket/11131): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Error thrown when switching to source mode if the selection was in widget's nested editable. -* [#11139](http://dev.ckeditor.com/ticket/11139): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Elements Path is not cleared after switching to source mode. -* [#10778](http://dev.ckeditor.com/ticket/10778): Fixed a bug with range enlargement. The range no longer expands to visible whitespace. -* [#11146](http://dev.ckeditor.com/ticket/11146): [IE] Fixed: Preview window switches Internet Explorer to Quirks Mode. -* [#10762](http://dev.ckeditor.com/ticket/10762): [IE] Fixed: JavaScript code displayed in preview window's URL bar. -* [#11186](http://dev.ckeditor.com/ticket/11186): Introduced the [`widgets.repository.addUpcastCallback()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-addUpcastCallback) method that allows to block upcasting given element to a widget. -* [#11307](http://dev.ckeditor.com/ticket/11307): Fixed: Paste as Plain Text conflict with the [MooTools](http://mootools.net) library. -* [#11140](http://dev.ckeditor.com/ticket/11140): [IE11] Fixed: Anchors are not draggable. -* [#11379](http://dev.ckeditor.com/ticket/11379): Changed default contents `line-height` to unitless values to avoid huge text overlapping (like in [#9696](http://dev.ckeditor.com/ticket/9696)). -* [#10787](http://dev.ckeditor.com/ticket/10787): [Firefox] Fixed: Broken replacement of text while pasting into `div`-based editor. -* [#10884](http://dev.ckeditor.com/ticket/10884): Widgets integration with the [Show Blocks](http://ckeditor.com/addon/showblocks) plugin. -* [#11021](http://dev.ckeditor.com/ticket/11021): Fixed: An error thrown when selecting entire editable contents while fake selection is on. -* [#11086](http://dev.ckeditor.com/ticket/11086): [IE8] Re-enable inline widgets drag&drop in Internet Explorer 8. -* [#11372](http://dev.ckeditor.com/ticket/11372): Widgets: Special characters encoded twice in nested editables. -* [#10068](http://dev.ckeditor.com/ticket/10068): Fixed: Support for protocol-relative URLs. -* [#11283](http://dev.ckeditor.com/ticket/11283): [Enhanced Image](http://ckeditor.com/addon/image2): A `<div>` element with `text-align: center` and an image inside is not recognised correctly. -* [#11196](http://dev.ckeditor.com/ticket/11196): [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp): Allowed additional keyboard button labels to be translated in the dialog window. - -## CKEditor 4.3.1 - -**Important Notes:** - -* To match the naming convention, the `language` button is now `Language` ([#11201](http://dev.ckeditor.com/ticket/11201)). -* [Enhanced Image](http://ckeditor.com/addon/image2) button, context menu, command, and icon names match those of the [Image](http://ckeditor.com/addon/image) plugin ([#11222](http://dev.ckeditor.com/ticket/11222)). - -Fixed Issues: - -* [#11244](http://dev.ckeditor.com/ticket/11244): Changed: The [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method now fires the [`widget.repository.checkWidgets`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-event-checkWidgets) event, so from CKEditor 4.3.1 it is preferred to use the method rather than fire the event. -* [#11171](http://dev.ckeditor.com/ticket/11171): Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) and [`editor.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText) methods do not call the [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method. -* [#11085](http://dev.ckeditor.com/ticket/11085): [IE8] Replaced preview generated by the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget with a placeholder. -* [#11044](http://dev.ckeditor.com/ticket/11044): Enhanced WAI-ARIA support for the [Language](http://ckeditor.com/addon/language) plugin drop-down menu. -* [#11075](http://dev.ckeditor.com/ticket/11075): With drop-down menu button focused, pressing the *Down Arrow* key will now open the menu and focus its first option. -* [#11165](http://dev.ckeditor.com/ticket/11165): Fixed: The [File Browser](http://ckeditor.com/addon/filebrowser) plugin cannot be removed from the editor. -* [#11159](http://dev.ckeditor.com/ticket/11159): [IE9-10] [Enhanced Image](http://ckeditor.com/addon/image2): Fixed buggy discovery of image dimensions. -* [#11101](http://dev.ckeditor.com/ticket/11101): Drop-down lists no longer break when given double quotes. -* [#11077](http://dev.ckeditor.com/ticket/11077): [Enhanced Image](http://ckeditor.com/addon/image2): Empty undo step recorded when resizing the image. -* [#10853](http://dev.ckeditor.com/ticket/10853): [Enhanced Image](http://ckeditor.com/addon/image2): Widget has paragraph wrapper when de-captioning unaligned image. -* [#11198](http://dev.ckeditor.com/ticket/11198): Widgets: Drag handler is not fully visible when an inline widget is in a heading. -* [#11132](http://dev.ckeditor.com/ticket/11132): [Firefox] Fixed: Caret is lost after drag and drop of an inline widget. -* [#11182](http://dev.ckeditor.com/ticket/11182): [IE10-11] Fixed: Editor crashes (IE11) or works with minor issues (IE10) if a page is loaded in Quirks Mode. See [`env.quirks`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-quirks) for more details. -* [#11204](http://dev.ckeditor.com/ticket/11204): Added `figure` and `figcaption` styles to the `contents.css` file so [Enhanced Image](http://ckeditor.com/addon/image2) looks nicer. -* [#11202](http://dev.ckeditor.com/ticket/11202): Fixed: No newline in [BBCode](http://ckeditor.com/addon/bbcode) mode. -* [#10890](http://dev.ckeditor.com/ticket/10890): Fixed: Error thrown when pressing the *Delete* key in a list item. -* [#10055](http://dev.ckeditor.com/ticket/10055): [IE8-10] Fixed: *Delete* pressed on a selected image causes the browser to go back. -* [#11183](http://dev.ckeditor.com/ticket/11183): Fixed: Inserting a horizontal rule or a table in multiple row selection causes a browser crash. Additionally, the [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) method does not insert the element into every range of a selection any more. -* [#11042](http://dev.ckeditor.com/ticket/11042): Fixed: Selection made on an element containing a non-editable element was not auto faked. -* [#11125](http://dev.ckeditor.com/ticket/11125): Fixed: Keyboard navigation through menu and drop-down items will now cycle. -* [#11011](http://dev.ckeditor.com/ticket/11011): Fixed: The [`editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) method removes attributes from nested elements. -* [#11179](http://dev.ckeditor.com/ticket/11179): Fixed: [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy) does not cleanup content generated by the [Table Resize](http://ckeditor.com/addon/tableresize) plugin for inline editors. -* [#11237](http://dev.ckeditor.com/ticket/11237): Fixed: Table border attribute value is deleted when pasting content from Microsoft Word. -* [#11250](http://dev.ckeditor.com/ticket/11250): Fixed: HTML entities inside the `<textarea>` element are not encoded. -* [#11260](http://dev.ckeditor.com/ticket/11260): Fixed: Initially disabled buttons are not read by JAWS as disabled. -* [#11200](http://dev.ckeditor.com/ticket/11200): Added [Clipboard](http://ckeditor.com/addon/clipboard) plugin as a dependency for [Widget](http://ckeditor.com/addon/widget) to fix drag and drop. - -## CKEditor 4.3 - -New Features: - -* [#10612](http://dev.ckeditor.com/ticket/10612): Internet Explorer 11 support. -* [#10869](http://dev.ckeditor.com/ticket/10869): Widgets: Added better integration with the [Elements Path](http://ckeditor.com/addon/elementspath) plugin. -* [#10886](http://dev.ckeditor.com/ticket/10886): Widgets: Added tooltip to the drag handle. -* [#10933](http://dev.ckeditor.com/ticket/10933): Widgets: Introduced drag and drop of block widgets with the [Line Utilities](http://ckeditor.com/addon/lineutils) plugin. -* [#10936](http://dev.ckeditor.com/ticket/10936): Widget System changes for easier integration with other dialog systems. -* [#10895](http://dev.ckeditor.com/ticket/10895): [Enhanced Image](http://ckeditor.com/addon/image2): Added file browser integration. -* [#11002](http://dev.ckeditor.com/ticket/11002): Added the [`draggable`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-draggable) option to disable drag and drop support for widgets. -* [#10937](http://dev.ckeditor.com/ticket/10937): [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget improvements: - * loading indicator ([#10948](http://dev.ckeditor.com/ticket/10948)), - * applying paragraph changes (like font color change) to iframe ([#10841](http://dev.ckeditor.com/ticket/10841)), - * Firefox and IE9 clipboard fixes ([#10857](http://dev.ckeditor.com/ticket/10857)), - * fixing same origin policy issue ([#10840](http://dev.ckeditor.com/ticket/10840)), - * fixing undo bugs ([#10842](http://dev.ckeditor.com/ticket/10842), [#10930](http://dev.ckeditor.com/ticket/10930)), - * fixing other minor bugs. -* [#10862](http://dev.ckeditor.com/ticket/10862): [Placeholder](http://ckeditor.com/addon/placeholder) plugin was rewritten as a widget. -* [#10822](http://dev.ckeditor.com/ticket/10822): Added styles system integration with non-editable elements (for example widgets) and their nested editables. Styles cannot change non-editable content and are applied in nested editable only if allowed by its type and content filter. -* [#10856](http://dev.ckeditor.com/ticket/10856): Menu buttons will now toggle the visibility of their panels when clicked multiple times. [Language](http://ckeditor.com/addon/language) plugin fixes: Added active language highlighting, added an option to remove the language. -* [#10028](http://dev.ckeditor.com/ticket/10028): New [`config.dialog_noConfirmCancel`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-dialog_noConfirmCancel) configuration option that eliminates the need to confirm closing of a dialog window when the user changed any of its fields. -* [#10848](http://dev.ckeditor.com/ticket/10848): Integrate remaining plugins ([Styles](http://ckeditor.com/addon/stylescombo), [Format](http://ckeditor.com/addon/format), [Font](http://ckeditor.com/addon/font), [Color Button](http://ckeditor.com/addon/colorbutton), [Language](http://ckeditor.com/addon/language) and [Indent](http://ckeditor.com/addon/indent)) with [active filter](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeFilter). -* [#10855](http://dev.ckeditor.com/ticket/10855): Change the extension of emoticons in the [BBCode](http://ckeditor.com/addon/bbcode) sample from GIF to PNG. - -Fixed Issues: - -* [#10831](http://dev.ckeditor.com/ticket/10831): [Enhanced Image](http://ckeditor.com/addon/image2): Merged `image2inline` and `image2block` into one `image2` widget. -* [#10835](http://dev.ckeditor.com/ticket/10835): [Enhanced Image](http://ckeditor.com/addon/image2): Improved visibility of the resize handle. -* [#10836](http://dev.ckeditor.com/ticket/10836): [Enhanced Image](http://ckeditor.com/addon/image2): Preserve custom mouse cursor while resizing the image. -* [#10939](http://dev.ckeditor.com/ticket/10939): [Firefox] [Enhanced Image](http://ckeditor.com/addon/image2): hovering the image causes it to change. -* [#10866](http://dev.ckeditor.com/ticket/10866): Fixed: Broken *Tab* key navigation in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. -* [#10833](http://dev.ckeditor.com/ticket/10833): Fixed: *Lock ratio* option should be on by default in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. -* [#10881](http://dev.ckeditor.com/ticket/10881): Various improvements to *Enter* key behavior in nested editables. -* [#10879](http://dev.ckeditor.com/ticket/10879): [Remove Format](http://ckeditor.com/addon/removeformat) should not leak from a nested editable. -* [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: [WebSpellChecker](http://ckeditor.com/addon/wsc) fails to apply changes if a nested editable was focused. -* [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: [SCAYT](http://ckeditor.com/addon/wsc) blocks typing in nested editables. -* [#11079](http://dev.ckeditor.com/ticket/11079): Add button icons to the [Placeholder](http://ckeditor.com/addon/placeholder) sample. -* [#10870](http://dev.ckeditor.com/ticket/10870): The `paste` command is no longer being disabled when the clipboard is empty. -* [#10854](http://dev.ckeditor.com/ticket/10854): Fixed: Firefox prepends `<br>` to `<body>`, so it is stripped by the HTML data processor. -* [#10823](http://dev.ckeditor.com/ticket/10823): Fixed: [Link](http://ckeditor.com/addon/link) plugin does not work with non-editable content. -* [#10828](http://dev.ckeditor.com/ticket/10828): [Magic Line](http://ckeditor.com/addon/magicline) integration with the Widget System. -* [#10865](http://dev.ckeditor.com/ticket/10865): Improved hiding copybin, so copying widgets works smoothly. -* [#11066](http://dev.ckeditor.com/ticket/11066): Widget's private parts use CSS reset. -* [#11027](http://dev.ckeditor.com/ticket/11027): Fixed: Block commands break on widgets; added the [`contentDomInvalidated`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-contentDomInvalidated) event. -* [#10430](http://dev.ckeditor.com/ticket/10430): Resolve dependence of the [Image](http://ckeditor.com/addon/image) plugin on the [Form Elements](http://ckeditor.com/addon/forms) plugin. -* [#10911](http://dev.ckeditor.com/ticket/10911): Fixed: Browser *Alt* hotkeys will no longer be blocked while a widget is focused. -* [#11082](http://dev.ckeditor.com/ticket/11082): Fixed: Selected widget is not copied or cut when using toolbar buttons or context menu. -* [#11083](http://dev.ckeditor.com/ticket/11083): Fixed list and div element application to block widgets. -* [#10887](http://dev.ckeditor.com/ticket/10887): Internet Explorer 8 compatibility issues related to the Widget System. -* [#11074](http://dev.ckeditor.com/ticket/11074): Temporarily disabled inline widget drag and drop, because of seriously buggy native `range#moveToPoint` method. -* [#11098](http://dev.ckeditor.com/ticket/11098): Fixed: Wrong selection position after undoing widget drag and drop. -* [#11110](http://dev.ckeditor.com/ticket/11110): Fixed: IFrame and Flash objects are being incorrectly pasted in certain conditions. -* [#11129](http://dev.ckeditor.com/ticket/11129): Page break is lost when loading data. -* [#11123](http://dev.ckeditor.com/ticket/11123): [Firefox] Widget is destroyed after being dragged outside of `<body>`. -* [#11124](http://dev.ckeditor.com/ticket/11124): Fixed the [Elements Path](http://ckeditor.com/addon/elementspath) in an editor using the [Div Editing Area](http://ckeditor.com/addon/divarea). - -## CKEditor 4.3 Beta - -New Features: - -* [#9764](http://dev.ckeditor.com/ticket/9764): Widget System. - * [Widget plugin](http://ckeditor.com/addon/widget) introducing the [Widget API](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget). - * New [`editor.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-enterMode) and [`editor.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-shiftEnterMode) properties – normalized versions of [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) and [`config.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode). - * Dynamic editor settings. Starting from CKEditor 4.3 Beta, *Enter* mode values and [content filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) instances may be changed dynamically (for example when the caret was placed in an element in which editor features should be adjusted). When you are implementing a new editor feature, you should base its behavior on [dynamic](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeEnterMode) or [static](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-enterMode) *Enter* mode values depending on whether this feature works in selection context or globally on editor content. - * Dynamic *Enter* mode values – [`editor.setActiveEnterMode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setActiveEnterMode) method, [`editor.activeEnterModeChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-activeEnterModeChange) event, and two properties: [`editor.activeEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeEnterMode) and [`editor.activeShiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeShiftEnterMode). - * Dynamic content filter instances – [`editor.setActiveFilter()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setActiveFilter) method, [`editor.activeFilterChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-activeFilterChange) event, and [`editor.activeFilter`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeFilter) property. - * "Fake" selection was introduced. It makes it possible to virtually select any element when the real selection remains hidden. See the [`selection.fake()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-fake) method. - * Default [`htmlParser.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are not applied to non-editable elements (elements with `contenteditable` attribute set to `false` and their descendants) anymore. To add a rule which will be applied to all elements you need to pass an additional argument to the [`filter.addRules()`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter-method-addRules) method. - * Dozens of new methods were introduced – most interesting ones: - * [`document.find()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.document-method-find), - * [`document.findOne()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.document-method-findOne), - * [`editable.insertElementIntoRange()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElementIntoRange), - * [`range.moveToClosestEditablePosition()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-moveToClosestEditablePosition), - * New methods for [`htmlParser.node`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.node) and [`htmlParser.element`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.element). -* [#10659](http://dev.ckeditor.com/ticket/10659): New [Enhanced Image](http://ckeditor.com/addon/image2) plugin that introduces a widget with integrated image captions, an option to center images, and dynamic "click and drag" resizing. -* [#10664](http://dev.ckeditor.com/ticket/10664): New [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin that introduces the MathJax widget. -* [#7987](https://dev.ckeditor.com/ticket/7987): New [Language](http://ckeditor.com/addon/language) plugin that implements Language toolbar button to support [WCAG 3.1.2 Language of Parts](http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html). -* [#10708](http://dev.ckeditor.com/ticket/10708): New [smileys](http://ckeditor.com/addon/smiley). - -## CKEditor 4.2.3 - -Fixed Issues: - -* [#10994](http://dev.ckeditor.com/ticket/10994): Fixed: Loading external jQuery library when opening the [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) sample directly from file. -* [#10975](http://dev.ckeditor.com/ticket/10975): [IE] Fixed: Error thrown while opening the color palette. -* [#9929](http://dev.ckeditor.com/ticket/9929): [Blink/WebKit] Fixed: A non-breaking space is created once a character is deleted and a regular space is typed. -* [#10963](http://dev.ckeditor.com/ticket/10963): Fixed: JAWS issue with the keyboard shortcut for [Magic Line](http://ckeditor.com/addon/magicline). -* [#11096](http://dev.ckeditor.com/ticket/11096): Fixed: TypeError: Object has no method 'is'. - -## CKEditor 4.2.2 - -Fixed Issues: - -* [#9314](http://dev.ckeditor.com/ticket/9314): Fixed: Incorrect error message on closing a dialog window without saving changs. -* [#10308](http://dev.ckeditor.com/ticket/10308): [IE10] Fixed: Unspecified error when deleting a row. -* [#10945](http://dev.ckeditor.com/ticket/10945): [Chrome] Fixed: Clicking with a mouse inside the editor does not show the caret. -* [#10912](http://dev.ckeditor.com/ticket/10912): Prevent default action when content of a non-editable link is clicked. -* [#10913](http://dev.ckeditor.com/ticket/10913): Fixed [`CKEDITOR.plugins.addExternal()`](http://docs.ckeditor.com/#!/api/CKEDITOR.resourceManager-method-addExternal) not handling paths including file name specified. -* [#10666](http://dev.ckeditor.com/ticket/10666): Fixed [`CKEDITOR.tools.isArray()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-isArray) not working cross frame. -* [#10910](http://dev.ckeditor.com/ticket/10910): [IE9] Fixed JavaScript error thrown in Compatibility Mode when clicking and/or typing in the editing area. -* [#10868](http://dev.ckeditor.com/ticket/10868): [IE8] Prevent the browser from crashing when applying the Inline Quotation style. -* [#10915](http://dev.ckeditor.com/ticket/10915): Fixed: Invalid CSS filter in the Kama skin. -* [#10914](http://dev.ckeditor.com/ticket/10914): Plugins [Indent List](http://ckeditor.com/addon/indentlist) and [Indent Block](http://ckeditor.com/addon/indentblock) are now included in the build configuration. -* [#10812](http://dev.ckeditor.com/ticket/10812): Fixed [`range.createBookmark2()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-createBookmark2) incorrectly normalizing offsets. This bug was causing many issues: [#10850](http://dev.ckeditor.com/ticket/10850), [#10842](http://dev.ckeditor.com/ticket/10842). -* [#10951](http://dev.ckeditor.com/ticket/10951): Reviewed and optimized focus handling on panels (combo, menu buttons, color buttons, and context menu) to enhance accessibility. Fixed [#10705](http://dev.ckeditor.com/ticket/10705), [#10706](http://dev.ckeditor.com/ticket/10706) and [#10707](http://dev.ckeditor.com/ticket/10707). -* [#10704](http://dev.ckeditor.com/ticket/10704): Fixed a JAWS issue with the Select Color dialog window title not being announced. -* [#10753](http://dev.ckeditor.com/ticket/10753): The floating toolbar in inline instances now has a dedicated accessibility label. - -## CKEditor 4.2.1 - -Fixed Issues: - -* [#10301](http://dev.ckeditor.com/ticket/10301): [IE9-10] Undo fails after 3+ consecutive paste actions with a JavaScript error. -* [#10689](http://dev.ckeditor.com/ticket/10689): Save toolbar button saves only the first editor instance. -* [#10368](http://dev.ckeditor.com/ticket/10368): Move language reading direction definition (`dir`) from main language file to core. -* [#9330](http://dev.ckeditor.com/ticket/9330): Fixed pasting anchors from MS Word. -* [#8103](http://dev.ckeditor.com/ticket/8103): Fixed pasting nested lists from MS Word. -* [#9958](http://dev.ckeditor.com/ticket/9958): [IE9] Pressing the "OK" button will trigger the `onbeforeunload` event in the popup dialog. -* [#10662](http://dev.ckeditor.com/ticket/10662): Fixed styles from the Styles drop-down list not registering to the ACF in case when the [Shared Spaces plugin](http://ckeditor.com/addon/sharedspace) is used. -* [#9654](http://dev.ckeditor.com/ticket/9654): Problems with Internet Explorer 10 Quirks Mode. -* [#9816](http://dev.ckeditor.com/ticket/9816): Floating toolbar does not reposition vertically in several cases. -* [#10646](http://dev.ckeditor.com/ticket/10646): Removing a selected sublist or nested table with *Backspace/Delete* removes the parent element. -* [#10623](http://dev.ckeditor.com/ticket/10623): [WebKit] Page is scrolled when opening a drop-down list. -* [#10004](http://dev.ckeditor.com/ticket/10004): [ChromeVox] Button names are not announced. -* [#10731](http://dev.ckeditor.com/ticket/10731): [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin breaks cloning of editor configuration. -* It is now possible to set per instance [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin configuration instead of setting the configuration globally. - -## CKEditor 4.2 - -**Important Notes:** - -* Dropped compatibility support for Internet Explorer 7 and Firefox 3.6. - -* Both the Basic and the Standard distribution packages will not contain the new [Indent Block](http://ckeditor.com/addon/indentblock) plugin. Because of this the [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) might remove block indentations from existing contents. If you want to prevent this, either [add an appropriate ACF rule to your filter](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules) or create a custom build based on the Basic/Standard package and add the Indent Block plugin in [CKBuilder](http://ckeditor.com/builder). - -New Features: - -* [#10027](http://dev.ckeditor.com/ticket/10027): Separated list and block indentation into two plugins: [Indent List](http://ckeditor.com/addon/indentlist) and [Indent Block](http://ckeditor.com/addon/indentblock). -* [#8244](http://dev.ckeditor.com/ticket/8244): Use *(Shift+)Tab* to indent and outdent lists. -* [#10281](http://dev.ckeditor.com/ticket/10281): The [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) is now available. Several jQuery-related issues fixed: [#8261](http://dev.ckeditor.com/ticket/8261), [#9077](http://dev.ckeditor.com/ticket/9077), [#8710](http://dev.ckeditor.com/ticket/8710), [#8530](http://dev.ckeditor.com/ticket/8530), [#9019](http://dev.ckeditor.com/ticket/9019), [#6181](http://dev.ckeditor.com/ticket/6181), [#7876](http://dev.ckeditor.com/ticket/7876), [#6906](http://dev.ckeditor.com/ticket/6906). -* [#10042](http://dev.ckeditor.com/ticket/10042): Introduced [`config.title`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-title) setting to change the human-readable title of the editor. -* [#9794](http://dev.ckeditor.com/ticket/9794): Added [`editor.onChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event. -* [#9923](http://dev.ckeditor.com/ticket/9923): HiDPI support in the editor UI. HiDPI icons for [Moono skin](http://ckeditor.com/addon/moono) added. -* [#8031](http://dev.ckeditor.com/ticket/8031): Handle `required` attributes on `<textarea>` elements — introduced [`editor.required`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-required) event. -* [#10280](http://dev.ckeditor.com/ticket/10280): Ability to replace `<textarea>` elements with the inline editor. - -Fixed Issues: - -* [#10599](http://dev.ckeditor.com/ticket/10599): [Indent](http://ckeditor.com/addon/indent) plugin is no longer required by the [List](http://ckeditor.com/addon/list) plugin. -* [#10370](http://dev.ckeditor.com/ticket/10370): Inconsistency in data events between framed and inline editors. -* [#10438](http://dev.ckeditor.com/ticket/10438): [FF, IE] No selection is done on an editable element on executing [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData). - -## CKEditor 4.1.3 - -New Features: - -* Added new translation: Indonesian. - -Fixed Issues: - -* [#10644](http://dev.ckeditor.com/ticket/10644): Fixed a critical bug when pasting plain text in Blink-based browsers. -* [#5189](http://dev.ckeditor.com/ticket/5189): [Find/Replace](http://ckeditor.com/addon/find) dialog window: rename "Cancel" button to "Close". -* [#10562](http://dev.ckeditor.com/ticket/10562): [Housekeeping] Unified CSS gradient filter formats in the [Moono](http://ckeditor.com/addon/moono) skin. -* [#10537](http://dev.ckeditor.com/ticket/10537): Advanced Content Filter should register a default rule for [`config.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode). -* [#10610](http://dev.ckeditor.com/ticket/10610): [`CKEDITOR.dialog.addIframe()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-static-method-addIframe) incorrectly sets the iframe size in dialog windows. - -## CKEditor 4.1.2 - -New Features: - -* Added new translation: Sinhala. - -Fixed Issues: - -* [#10339](http://dev.ckeditor.com/ticket/10339): Fixed: Error thrown when inserted data was totally stripped out after filtering and processing. -* [#10298](http://dev.ckeditor.com/ticket/10298): Fixed: Data processor breaks attributes containing protected parts. -* [#10367](http://dev.ckeditor.com/ticket/10367): Fixed: [`editable.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertText) loses characters when `RegExp` replace controls are being inserted. -* [#10165](http://dev.ckeditor.com/ticket/10165): [IE] Access denied error when `document.domain` has been altered. -* [#9761](http://dev.ckeditor.com/ticket/9761): Update the *Backspace* key state in [`keystrokeHandler.blockedKeystrokes`](http://docs.ckeditor.com/#!/api/CKEDITOR.keystrokeHandler-property-blockedKeystrokes) when calling [`editor.setReadOnly()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setReadOnly). -* [#6504](http://dev.ckeditor.com/ticket/6504): Fixed: Race condition while loading several [`config.customConfig`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-customConfig) files. -* [#10146](http://dev.ckeditor.com/ticket/10146): [Firefox] Empty lines are being removed while [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is [`CKEDITOR.ENTER_BR`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-ENTER_BR). -* [#10360](http://dev.ckeditor.com/ticket/10360): Fixed: ARIA `role="application"` should not be used for dialog windows. -* [#10361](http://dev.ckeditor.com/ticket/10361): Fixed: ARIA `role="application"` should not be used for floating panels. -* [#10510](http://dev.ckeditor.com/ticket/10510): Introduced unique voice labels to differentiate between different editor instances. -* [#9945](http://dev.ckeditor.com/ticket/9945): [iOS] Scrolling not possible on iPad. -* [#10389](http://dev.ckeditor.com/ticket/10389): Fixed: Invalid HTML in the "Text and Table" template. -* [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin user interface was changed to match CKEditor 4 style. - -## CKEditor 4.1.1 - -New Features: - -* Added new translation: Albanian. - -Fixed Issues: - -* [#10172](http://dev.ckeditor.com/ticket/10172): Pressing *Delete* or *Backspace* in an empty table cell moves the cursor to the next/previous cell. -* [#10219](http://dev.ckeditor.com/ticket/10219): Error thrown when destroying an editor instance in parallel with a `mouseup` event. -* [#10265](http://dev.ckeditor.com/ticket/10265): Wrong loop type in the [File Browser](http://ckeditor.com/addon/filebrowser) plugin. -* [#10249](http://dev.ckeditor.com/ticket/10249): Wrong undo/redo states at start. -* [#10268](http://dev.ckeditor.com/ticket/10268): [Show Blocks](http://ckeditor.com/addon/showblocks) does not recover after switching to Source view. -* [#9995](http://dev.ckeditor.com/ticket/9995): HTML code in the `<textarea>` should not be modified by the [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor). -* [#10320](http://dev.ckeditor.com/ticket/10320): [Justify](http://ckeditor.com/addon/justify) plugin should add elements to Advanced Content Filter based on current [Enter mode](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode). -* [#10260](http://dev.ckeditor.com/ticket/10260): Fixed: Advanced Content Filter blocks [`tabSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-tabSpaces). Unified `data-cke-*` attributes filtering. -* [#10315](http://dev.ckeditor.com/ticket/10315): [WebKit] [Undo manager](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager) should not record snapshots after a filling character was added/removed. -* [#10291](http://dev.ckeditor.com/ticket/10291): [WebKit] Space after a filling character should be secured. -* [#10330](http://dev.ckeditor.com/ticket/10330): [WebKit] The filling character is not removed on `keydown` in specific cases. -* [#10285](http://dev.ckeditor.com/ticket/10285): Fixed: Styled text pasted from MS Word causes an infinite loop. -* [#10131](http://dev.ckeditor.com/ticket/10131): Fixed: [`undoManager.update()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager-method-update) does not refresh the command state. -* [#10337](http://dev.ckeditor.com/ticket/10337): Fixed: Unable to remove `<s>` using [Remove Format](http://ckeditor.com/addon/removeformat). - -## CKEditor 4.1 - -Fixed Issues: - -* [#10192](http://dev.ckeditor.com/ticket/10192): Closing lists with the *Enter* key does not work with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) in several cases. -* [#10191](http://dev.ckeditor.com/ticket/10191): Fixed allowed content rules unification, so the [`filter.allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-allowedContent) property always contains rules in the same format. -* [#10224](http://dev.ckeditor.com/ticket/10224): Advanced Content Filter does not remove non-empty `<a>` elements anymore. -* Minor issues in plugin integration with Advanced Content Filter: - * [#10166](http://dev.ckeditor.com/ticket/10166): Added transformation from the `align` attribute to `float` style to preserve backward compatibility after the introduction of Advanced Content Filter. - * [#10195](http://dev.ckeditor.com/ticket/10195): [Image](http://ckeditor.com/addon/image) plugin no longer registers rules for links to Advanced Content Filter. - * [#10213](http://dev.ckeditor.com/ticket/10213): [Justify](http://ckeditor.com/addon/justify) plugin is now correctly registering rules to Advanced Content Filter when [`config.justifyClasses`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-justifyClasses) is defined. - -## CKEditor 4.1 RC - -New Features: - -* [#9829](http://dev.ckeditor.com/ticket/9829): Advanced Content Filter - data and features activation based on editor configuration. - - Brand new data filtering system that works in 2 modes: - - * Based on loaded features (toolbar items, plugins) - the data will be filtered according to what the editor in its - current configuration can handle. - * Based on [`config.allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-allowedContent) rules - the data - will be filtered and the editor features (toolbar items, commands, keystrokes) will be enabled if they are allowed. - - See the `datafiltering.html` sample, [guides](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) and [`CKEDITOR.filter` API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.filter). -* [#9387](http://dev.ckeditor.com/ticket/9387): Reintroduced [Shared Spaces](http://ckeditor.com/addon/sharedspace) - the ability to display toolbar and bottom editor space in selected locations and to share them by different editor instances. -* [#9907](http://dev.ckeditor.com/ticket/9907): Added the [`contentPreview`](http://docs.ckeditor.com/#!/api/CKEDITOR-event-contentPreview) event for preview data manipulation. -* [#9713](http://dev.ckeditor.com/ticket/9713): Introduced the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin that brings raw HTML editing for inline editor instances. -* Included in [#9829](http://dev.ckeditor.com/ticket/9829): Introduced new events, [`toHtml`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toHtml) and [`toDataFormat`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toDataFormat), allowing for better integration with data processing. -* [#9981](http://dev.ckeditor.com/ticket/9981): Added ability to filter [`htmlParser.fragment`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.fragment), [`htmlParser.element`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.element) etc. by many [`htmlParser.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter)s before writing structure to an HTML string. -* Included in [#10103](http://dev.ckeditor.com/ticket/10103): - * Introduced the [`editor.status`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-status) property to make it easier to check the current status of the editor. - * Default [`command`](http://docs.ckeditor.com/#!/api/CKEDITOR.command) state is now [`CKEDITOR.TRISTATE_DISABLE`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-TRISTATE_DISABLED). It will be activated on [`editor.instanceReady`](http://docs.ckeditor.com/#!/api/CKEDITOR-event-instanceReady) or immediately after being added if the editor is already initialized. -* [#9796](http://dev.ckeditor.com/ticket/9796): Introduced `<s>` as a default tag for strikethrough, which replaces obsolete `<strike>` in HTML5. - -## CKEditor 4.0.3 - -Fixed Issues: - -* [#10196](http://dev.ckeditor.com/ticket/10196): Fixed context menus not opening with keyboard shortcuts when [Autogrow](http://ckeditor.com/addon/autogrow) is enabled. -* [#10212](http://dev.ckeditor.com/ticket/10212): [IE7-10] Undo command throws errors after multiple switches between Source and WYSIWYG view. -* [#10219](http://dev.ckeditor.com/ticket/10219): [Inline editor] Error thrown after calling [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy). - -## CKEditor 4.0.2 - -Fixed Issues: - -* [#9779](http://dev.ckeditor.com/ticket/9779): Fixed overriding [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl) with `CKEDITOR_GETURL`. -* [#9772](http://dev.ckeditor.com/ticket/9772): Custom buttons in the dialog window footer have different look and size ([Moono](http://ckeditor.com/addon/moono), [Kama](http://ckeditor.com/addon/kama) skins). -* [#9029](http://dev.ckeditor.com/ticket/9029): Custom styles added with the [`stylesSet.add()`](http://docs.ckeditor.com/#!/api/CKEDITOR.stylesSet-method-add) are displayed in the wrong order. -* [#9887](http://dev.ckeditor.com/ticket/9887): Disable [Magic Line](http://ckeditor.com/addon/magicline) when [`editor.readOnly`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) is set. -* [#9882](http://dev.ckeditor.com/ticket/9882): Fixed empty document title on [`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData) if set via the Document Properties dialog window. -* [#9773](http://dev.ckeditor.com/ticket/9773): Fixed rendering problems with selection fields in the Kama skin. -* [#9851](http://dev.ckeditor.com/ticket/9851): The [`selectionChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-selectionChange) event is not fired when mouse selection ended outside editable. -* [#9903](http://dev.ckeditor.com/ticket/9903): [Inline editor] Bad positioning of floating space with page horizontal scroll. -* [#9872](http://dev.ckeditor.com/ticket/9872): [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) returns `true` when called onload. Removed the obsolete `editor.mayBeDirty` flag. -* [#9893](http://dev.ckeditor.com/ticket/9893): [IE] Fixed broken toolbar when editing mixed direction content in Quirks mode. -* [#9845](http://dev.ckeditor.com/ticket/9845): Fixed TAB navigation in the [Link](http://ckeditor.com/addon/link) dialog window when the Anchor option is used and no anchors are available. -* [#9883](http://dev.ckeditor.com/ticket/9883): Maximizing was making the entire page editable with [divarea](http://ckeditor.com/addon/divarea)-based editors. -* [#9940](http://dev.ckeditor.com/ticket/9940): [Firefox] Navigating back to a page with the editor was making the entire page editable. -* [#9966](http://dev.ckeditor.com/ticket/9966): Fixed: Unable to type square brackets with French keyboard layout. Changed [Magic Line](http://ckeditor.com/addon/magicline) keystrokes. -* [#9507](http://dev.ckeditor.com/ticket/9507): [Firefox] Selection is moved before editable position when the editor is focused for the first time. -* [#9947](http://dev.ckeditor.com/ticket/9947): [WebKit] Editor overflows parent container in some edge cases. -* [#10105](http://dev.ckeditor.com/ticket/10105): Fixed: Broken [sourcearea](http://ckeditor.com/addon/sourcearea) view when an RTL language is set. -* [#10123](http://dev.ckeditor.com/ticket/10123): [WebKit] Fixed: Several dialog windows have broken layout since the latest WebKit release. -* [#10152](http://dev.ckeditor.com/ticket/10152): Fixed: Invalid ARIA property used on menu items. - -## CKEditor 4.0.1.1 - -Fixed Issues: - -* Security update: Added protection against XSS attack and possible path disclosure in the PHP sample. - -## CKEditor 4.0.1 - -Fixed Issues: - -* [#9655](http://dev.ckeditor.com/ticket/9655): Support for IE Quirks Mode in the new [Moono skin](http://ckeditor.com/addon/moono). -* Accessibility issues (mainly in inline editor): [#9364](http://dev.ckeditor.com/ticket/9364), [#9368](http://dev.ckeditor.com/ticket/9368), [#9369](http://dev.ckeditor.com/ticket/9369), [#9370](http://dev.ckeditor.com/ticket/9370), [#9541](http://dev.ckeditor.com/ticket/9541), [#9543](http://dev.ckeditor.com/ticket/9543), [#9841](http://dev.ckeditor.com/ticket/9841), [#9844](http://dev.ckeditor.com/ticket/9844). -* [Magic Line](http://ckeditor.com/addon/magicline) plugin: - * [#9481](http://dev.ckeditor.com/ticket/9481): Added accessibility support for Magic Line. - * [#9509](http://dev.ckeditor.com/ticket/9509): Added Magic Line support for forms. - * [#9573](http://dev.ckeditor.com/ticket/9573): Magic Line does not disappear on `mouseout` in a specific case. -* [#9754](http://dev.ckeditor.com/ticket/9754): [WebKit] Cutting & pasting simple unformatted text generates an inline wrapper in WebKit browsers. -* [#9456](http://dev.ckeditor.com/ticket/9456): [Chrome] Properly paste bullet list style from MS Word. -* [#9699](http://dev.ckeditor.com/ticket/9699), [#9758](http://dev.ckeditor.com/ticket/9758): Improved selection locking when selecting by dragging. -* Context menu: - * [#9712](http://dev.ckeditor.com/ticket/9712): Opening the context menu destroys editor focus. - * [#9366](http://dev.ckeditor.com/ticket/9366): Context menu should be displayed over the floating toolbar. - * [#9706](http://dev.ckeditor.com/ticket/9706): Context menu generates a JavaScript error in inline mode when the editor is attached to a header element. -* [#9800](http://dev.ckeditor.com/ticket/9800): Hide float panel when resizing the window. -* [#9721](http://dev.ckeditor.com/ticket/9721): Padding in content of div-based editor puts the editing area under the bottom UI space. -* [#9528](http://dev.ckeditor.com/ticket/9528): Host page `box-sizing` style should not influence the editor UI elements. -* [#9503](http://dev.ckeditor.com/ticket/9503): [Form Elements](http://ckeditor.com/addon/forms) plugin adds context menu listeners only on supported input types. Added support for `tel`, `email`, `search` and `url` input types. -* [#9769](http://dev.ckeditor.com/ticket/9769): Improved floating toolbar positioning in a narrow window. -* [#9875](http://dev.ckeditor.com/ticket/9875): Table dialog window does not populate width correctly. -* [#8675](http://dev.ckeditor.com/ticket/8675): Deleting cells in a nested table removes the outer table cell. -* [#9815](http://dev.ckeditor.com/ticket/9815): Cannot edit dialog window fields in an editor initialized in the jQuery UI modal dialog. -* [#8888](http://dev.ckeditor.com/ticket/8888): CKEditor dialog windows do not show completely in a small window. -* [#9360](http://dev.ckeditor.com/ticket/9360): [Inline editor] Blocks shown for a `<div>` element stay permanently even after the user exits editing the `<div>`. -* [#9531](http://dev.ckeditor.com/ticket/9531): [Firefox & Inline editor] Toolbar is lost when closing the Format drop-down list by clicking its button. -* [#9553](http://dev.ckeditor.com/ticket/9553): Table width incorrectly set when the `border-width` style is specified. -* [#9594](http://dev.ckeditor.com/ticket/9594): Cannot tab past CKEditor when it is in read-only mode. -* [#9658](http://dev.ckeditor.com/ticket/9658): [IE9] Justify not working on selected images. -* [#9686](http://dev.ckeditor.com/ticket/9686): Added missing contents styles for `<pre>` elements. -* [#9709](http://dev.ckeditor.com/ticket/9709): [Paste from Word](http://ckeditor.com/addon/pastefromword) should not depend on configuration from other styles. -* [#9726](http://dev.ckeditor.com/ticket/9726): Removed [Color Dialog](http://ckeditor.com/addon/colordialog) plugin dependency from [Table Tools](http://ckeditor.com/addon/tabletools). -* [#9765](http://dev.ckeditor.com/ticket/9765): Toolbar Collapse command documented incorrectly in the [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp) dialog window. -* [#9771](http://dev.ckeditor.com/ticket/9771): [WebKit & Opera] Fixed scrolling issues when pasting. -* [#9787](http://dev.ckeditor.com/ticket/9787): [IE9] `onChange` is not fired for checkboxes in dialogs. -* [#9842](http://dev.ckeditor.com/ticket/9842): [Firefox 17] When opening a toolbar menu for the first time and pressing the *Down Arrow* key, focus goes to the next toolbar button instead of the menu options. -* [#9847](http://dev.ckeditor.com/ticket/9847): [Elements Path](http://ckeditor.com/addon/elementspath) should not be initialized in the inline editor. -* [#9853](http://dev.ckeditor.com/ticket/9853): [`editor.addRemoveFormatFilter()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-addRemoveFormatFilter) is exposed before it really works. -* [#8893](http://dev.ckeditor.com/ticket/8893): Value of the [`pasteFromWordCleanupFile`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordCleanupFile) configuration option is now taken from the instance configuration. -* [#9693](http://dev.ckeditor.com/ticket/9693): Removed "Live Preview" checkbox from UI color picker. - - -## CKEditor 4.0 - -The first stable release of the new CKEditor 4 code line. - -The CKEditor JavaScript API has been kept compatible with CKEditor 4, whenever -possible. The list of relevant changes can be found in the [API Changes page of -the CKEditor 4 documentation][1]. - -[1]: http://docs.ckeditor.com/#!/guide/dev_api_changes "API Changes" +CKEditor 4 Changelog +==================== + +## CKEditor 4.5.1 + +Fixed Issues: + +* [#13486](http://dev.ckeditor.com/ticket/13486): Fixed: The [Upload Image](http://ckeditor.com/addon/uploadimage) plugin should log an error, not throw an error when upload URL is not set. + +## CKEditor 4.5 + +New Features: + +* [#13304](http://dev.ckeditor.com/ticket/13304): Added support for passing DOM elements to [`config.sharedSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-sharedSpaces). Thanks to [Undergrounder](https://github.com/Undergrounder)! +* [#13215](http://dev.ckeditor.com/ticket/13215): Added ability to cancel fetching a resource by the Embed plugins. +* [#13213](http://dev.ckeditor.com/ticket/13213): Added the [`dialog#setState()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-method-setState) method and used it in the [Embed](http://ckeditor.com/addon/embed) dialog to indicate that a resource is being loaded. +* [#13337](http://dev.ckeditor.com/ticket/13337): Added the [`repository.onWidget()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-onWidget) method — a convenient way to listen to [widget](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) events through the [repository](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository). +* [#13214](http://dev.ckeditor.com/ticket/13214): Added support for pasting links that convert into embeddable resources on the fly. + +Fixed Issues: + +* [#13334](http://dev.ckeditor.com/ticket/13334): Fixed: Error after nesting widgets and playing with undo/redo. +* [#13118](http://dev.ckeditor.com/ticket/13118): Fixed: The [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) method throws an error when called in the source mode. +* [#13158](http://dev.ckeditor.com/ticket/13158): Fixed: Error after canceling a dialog when creating a widget. +* [#13197](http://dev.ckeditor.com/ticket/13197): Fixed: Linked inline [Enhanced Image](http://ckeditor.com/addon/image2) alignment class is not transferred to the widget wrapper. +* [#13199](http://dev.ckeditor.com/ticket/13199): Fixed: [Semantic Embed](http://ckeditor.com/addon/embedsemantic) does not support widget classes. +* [#13003](http://dev.ckeditor.com/ticket/13003): Fixed: Anchors are uploaded when moving them by drag and drop. +* [#13032](http://dev.ckeditor.com/ticket/13032): Fixed: When upload is done, notification update should be marked as important. +* [#13300](http://dev.ckeditor.com/ticket/13300): Fixed: The `internalCommit` argument in the [Image](http://ckeditor.com/addon/image) dialog seems to be never used. +* [#13036](http://dev.ckeditor.com/ticket/13036): Fixed: Notifications are moved 10px to the right. +* [#13280](http://dev.ckeditor.com/ticket/13280): [IE8] Fixed: Undo after inline widget drag&drop throws an error. +* [#13186](http://dev.ckeditor.com/ticket/13186): Fixed: Content dropped into a nested editable is not filtered by [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_acf). +* [#13140](http://dev.ckeditor.com/ticket/13140): Fixed: Error thrown when dropping a block widget right after itself. +* [#13176](http://dev.ckeditor.com/ticket/13176): [IE8] Fixed: Errors on drag&drop of embed widgets. +* [#13015](http://dev.ckeditor.com/ticket/13015): Fixed: Dropping an image file on [Enhanced Image](http://ckeditor.com/addon/image2) causes a page reload. +* [#13080](http://dev.ckeditor.com/ticket/13080): Fixed: Ugly notification shown when the response contains HTML content. +* [#13011](http://dev.ckeditor.com/ticket/13011): [IE8] Fixed: Anchors are duplicated on drag&drop in specific locations. +* [#13105](http://dev.ckeditor.com/ticket/13105): Fixed: Various issues related to [`CKEDITOR.tools.htmlEncode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlEncode) and [`CKEDITOR.tools.htmlDecode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlDecode) methods. +* [#11976](http://dev.ckeditor.com/ticket/11976): [Chrome] Fixed: Copy&paste and drag&drop lists from Microsoft Word. +* [#13128](http://dev.ckeditor.com/ticket/13128): Fixed: Various issues with cloning element IDs: + * Fixed the default behavior of [`range.cloneContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) and [`range.extractContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) methods which now clone IDs similarly to their native counterparts. + * Added `cloneId` arguments to the above methods, [`range.splitBlock()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-splitBlock) and [`element.breakParent()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-breakParent). Mind the default values and special behavior in the `extractContents()` method! + * Fixed issues where IDs were lost on copy&paste and drag&drop. +* Toolbar configurators: + * [#13185](http://dev.ckeditor.com/ticket/13185): Fixed: Wrong position of the suggestion box if there is not enough space below the caret. + * [#13138](http://dev.ckeditor.com/ticket/13138): Fixed: The "Toggle empty elements" button label is unclear. + * [#13136](http://dev.ckeditor.com/ticket/13136): Fixed: Autocompleter is far too intrusive. + * [#13133](http://dev.ckeditor.com/ticket/13133): Fixed: Tab leaves the editor. + * [#13173](http://dev.ckeditor.com/ticket/13173): Fixed: [`config.removeButtons`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-removeButtons) is ignored by the advanced toolbar configurator. + +Other Changes: + +* [#13119](http://dev.ckeditor.com/ticket/13119): Improved compatibility of editor skins ([Moono](http://ckeditor.com/addon/moono) and [Kama](http://ckeditor.com/addon/kama)) with external web page style sheets. +* Toolbar configurators: + * [#13147](http://dev.ckeditor.com/ticket/13147): Added buttons to the sticky toolbar. + * [#13207](http://dev.ckeditor.com/ticket/13207): Used modal window to display toolbar configurator help. +* [#13316](http://dev.ckeditor.com/ticket/13316): Made [`CKEDITOR.env.isCompatible`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-isCompatible) a blacklist rather than a whitelist. More about the change in the [Browser Compatibility](http://docs.ckeditor.com/#!/guide/dev_browsers) guide. +* [#13398](http://dev.ckeditor.com/ticket/13398): Renamed `CKEDITOR.fileTools.UploadsRepository` to [`CKEDITOR.fileTools.UploadRepository`](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadRepository) and changed all related properties. +* [#13279](http://dev.ckeditor.com/ticket/13279): Reviewed CSS vendor prefixes. +* [#13454](http://dev.ckeditor.com/ticket/13454): Removed unused `lang.image.alertUrl` token from the [Image](http://ckeditor.com/addon/image) plugin. + +## CKEditor 4.5 Beta + +New Features: + +* Clipboard (copy&paste, drag&drop) and file uploading features and improvements ([#11437](http://dev.ckeditor.com/ticket/11437)). + + * Major features: + * Support for dropping and pasting files into the editor was introduced. Through a set of new facades for native APIs it is now possible to easily intercept and process inserted files. + * [File upload tools](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools) were introduced in order to simplify controlling the loading, uploading and handling server response, properly handle [new upload configuration](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uploadUrl) options, etc. + * [Upload Image](http://ckeditor.com/addon/uploadimage) widget was introduced to upload dropped images. A base class for the [upload widget](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition) was exposed, too, to make it simple to create new types of upload widgets which can handle any type of dropped file, show the upload progress and update the content when the process is done. It also handles editing and undo/redo operations when a file is being uploaded and integrates with the [notification aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator) to show progress and success or error. + * All drag and drop operations were integrated with the editor. All dropped content is passed through the [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event and a set of new editor events was introduced — [`dragstart`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-dragstart), [`drop`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-drop), [`dragend`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-dragend). + * The [Data Transfer](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer) facade was introduced to unify access to data in various types and files. [Data Transfer](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer) is now always available in the [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event. + * Switched from the pastebin to using the native clipboard access whenever possible. This solved many issues related to pastebin such as unnecessary scrolling or data loss. Additionally, on copy and cut from the editor the clipboard data is set. Therefore, on paste the editor has access to clean data, undisturbed by the browsers. + * Drag and drop of inline and block widgets was integrated with the standard clipboard APIs. By listening to drag events you will thus be notified about widgets, too. This opens a possibility to filter pasted and dropped widgets. + * The [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event can have the `range` parameter so it is possible to change the paste position in the listener or paste in the not selectable position. Also the [`editor.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml) method now accepts `range` as an additional parameter. + * [#11621](http://dev.ckeditor.com/ticket/11621): A configurable [paste filter](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFilter) was introduced. The filter is by default turned to `'semantic-content'` on Webkit and Blink for all pasted content coming from external sources because of the low quality of HTML that these engines put into the clipboard. Internal and cross-editor paste is safe due to the change explained in the previous point. + + * Other changes and related fixes: + * [#12095](http://dev.ckeditor.com/ticket/12095): On drag and copy of widgets [the same method](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) is used to get selected HTML as in the normal case. Thanks to that styles applied to inline widgets are not lost. + * [#11219](http://dev.ckeditor.com/ticket/11219): Fixed: Dragging a [captioned image](http://ckeditor.com/addon/image2) does not fire the [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event. + * [#9554](http://dev.ckeditor.com/ticket/9554): [Webkit Mac] Fixed: Editor scrolls on paste. + * [#9898](http://dev.ckeditor.com/ticket/9898): [Webkit&Divarea] Fixed: Pasting causes undesirable scrolling. + * [#11993](http://dev.ckeditor.com/ticket/11993): [Chrome] Fixed: Pasting content scrolls the document. + * [#12613](http://dev.ckeditor.com/ticket/12613): Show the user that they can not drop on editor UI (toolbar, bottom bar). + * [#12851](http://dev.ckeditor.com/ticket/12851): [Blink/Webkit] Fixed: Formatting disappears when pasting content into cells. + * [#12914](http://dev.ckeditor.com/ticket/12914): Fixed: Copy/Paste of table broken in `div`-based editor. + + * Browser support.<br>Browser support for related features varies significantly (see http://caniuse.com/clipboard). + * File APIs needed to operate and file upload is not supported in Internet Explorer 9 and below. + * Only Chrome and Safari on Mac OS support setting custom data items in the clipboard, so currently it is possible to recognize the origin of the copied content in these browsers only. All drag and drop operations can be identified thanks to the new Data Transfer facade. + * No Internet Explorer browser supports the standard clipboard API which results in small glitches like where only plain text can be dropped from outside the editor. Thanks to the new Data Transfer facade, internal and cross-editor drag and drop supports the full range of data. + * Direct access to clipboard could only be implemented in Chrome, Safari on Mac OS, Opera and Firefox. In other browsers the pastebin must still be used. + +* [#12875](http://dev.ckeditor.com/ticket/12875): Samples and toolbar configuration tools. + * The old set of samples shipped with every CKEditor package was replaced with a shiny new single-page sample. This change concluded a long term plan which started from introducing the [CKEditor SDK](http://sdk.ckeditor.com/) and [CKEditor Functionality Overview](http://docs.ckeditor.com/#!/guide/dev_features) section in the documentation which essentially redefined the old samples. + * Toolbar configurators with live previews were introduced. They will be shipped with every CKEditor package and are meant to help in configuring toolbar layouts. + +* [#10925](http://dev.ckeditor.com/ticket/10925): The [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins were introduced. Read more about the new features in the [Embedding Content](http://docs.ckeditor.com/#!/guide/dev_media_embed) article. +* [#10931](http://dev.ckeditor.com/ticket/10931): Added support for nesting widgets. It is now possible to insert one widget into another widget's nested editable. Note that unless nested editable's [allowed content](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.nestedEditable.definition-property-allowedContent) is defined precisely, starting from CKEditor 4.5 some widget buttons may become enabled. This feature is not supported in IE8. Included issues: + * [#12018](http://dev.ckeditor.com/ticket/12018): Fixed and reviewed: Nested widgets garbage collection. + * [#12024](http://dev.ckeditor.com/ticket/12024): [Firefox] Fixed: Outline is extended to the left by unpositioned drag handlers. + * [#12006](http://dev.ckeditor.com/ticket/12006): Fixed: Drag and drop of nested block widgets. + * [#12008](http://dev.ckeditor.com/ticket/12008): Fixed various cases of inserting a single non-editable element using the [`editor.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml) method. Fixes pasting a widget with a nested editable inside another widget's nested editable. + +* Notification system: + * [#11580](http://dev.ckeditor.com/ticket/11580): Introduced the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification). + * [#12810](http://dev.ckeditor.com/ticket/12810): Introduced a [notification aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator) for the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification) which simplifies displaying progress of many concurrent tasks. +* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it — [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.deleteSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml). +* [#12416](http://dev.ckeditor.com/ticket/12416): Added the [`widget.definition.upcastPriority`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-upcastPriority) property which gives more control over widget upcasting order to the widget author. +* [#12036](http://dev.ckeditor.com/ticket/12036): Initialize the editor in [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) mode when the `<textarea>` element has a `readonly` attribute. +* [#11905](http://dev.ckeditor.com/ticket/11905): The [`resize` event](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-resize) passes the current dimensions in its data. +* [#12126](http://dev.ckeditor.com/ticket/12126): Introduced [`config.image_prefillDimensions`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image_prefillDimensions) and [`config.image2_prefillDimensions`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_prefillDimensions) to make pre-filling `width` and `height` configurable for the [Enhanced Image](http://ckeditor.com/addon/image2). +* [#12746](http://dev.ckeditor.com/ticket/12746): Added a new configuration option to hide the [Enhanced Image](http://ckeditor.com/addon/image2) resizer. +* [#12150](http://dev.ckeditor.com/ticket/12150): Exposed the [`getNestedEditable()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-static-method-getNestedEditable) and `is*` [widget helper](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) functions (see the static methods). +* [#12448](http://dev.ckeditor.com/ticket/12448): Introduced the [`editable.insertHtmlIntoRange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertHtmlIntoRange) method. +* [#12143](http://dev.ckeditor.com/ticket/12143): Added the [`config.floatSpacePreferRight`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-floatSpacePreferRight) configuration option that switches the alignment of the floating toolbar. Thanks to [InvisibleBacon](http://github.com/InvisibleBacon)! +* [#10986](http://dev.ckeditor.com/ticket/10986): Added support for changing dialog input and textarea text directions by using the *Shift+Alt+Home/End* keystrokes. The direction is stored in the value of the input by prepending the [`\u202A`](http://unicode.org/cldr/utility/character.jsp?a=202A) or [`\u202B`](http://unicode.org/cldr/utility/character.jsp?a=202B) marker to it. Read more in the [documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog.definition.textInput-property-bidi). Thanks to [edithkk](https://github.com/edithkk)! +* [#12770](http://dev.ckeditor.com/ticket/12770): Added support for passing [widget](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget)'s startup data as a widget command's argument. Thanks to [Rebrov Boris](https://github.com/zipp3r) and [Tieme van Veen](https://github.com/tiemevanveen)! +* [#11583](http://dev.ckeditor.com/ticket/11583): Added support for the HTML5 `required` attribute in various form elements. Thanks to [Steven Busse](https://github.com/sbusse)! + +Changes: + +* [#12858](http://dev.ckeditor.com/ticket/12858): Basic [Spartan](http://blogs.windows.com/bloggingwindows/2015/03/30/introducing-project-spartan-the-new-browser-built-for-windows-10/) browser compatibility. Full compatibility will be introduced later, because at the moment Spartan is still too unstable to be used for tests and we see many changes from version to version. +* [#12948](http://dev.ckeditor.com/ticket/12948): The [`config.mathJaxLibrary`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-mathJaxLib) option does not default to the MathJax CDN any more. It needs to be configured to enable the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin now. +* [#13069](http://dev.ckeditor.com/ticket/13069): Fixed inconsistencies between [`editable.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElement) and [`editable.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElement) when the `range` parameter is used. Now, the `editor.insertElement()` method works on a higher level, which means that it saves undo snapshots and sets the selection after insertion. Use the [`editable.insertElementIntoRange()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElementIntoRange) method directly for the pre 4.5 behavior of `editable.insertElement()`. +* [#12870](http://dev.ckeditor.com/ticket/12870): Use [`editor.showNotification()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-showNotification) instead of `alert()` directly whenever possible. When the [Notification plugin](http://ckeditor.com/addon/notification) is loaded, the notification system is used automatically. Otherwise, the native `alert()` is displayed. +* [#8024](http://dev.ckeditor.com/ticket/8024): Swapped behavior of the Split Cell Vertically and Horizontally features of the [Table Tools](http://ckeditor.com/addon/tabletools) plugin to be more intuitive. Thanks to [kevinisagit](https://github.com/kevinisagit)! +* [#10903](http://dev.ckeditor.com/ticket/10903): Performance improvements for the [`dom.element.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-addClass), [`dom.element.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-removeClass) and [`dom.element.hasClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-hasClass) methods. Note: The previous implementation allowed passing multiple classes to `addClass()` although it was only a side effect of that implementation. The new implementation does not allow this. +* [#11856](http://dev.ckeditor.com/ticket/11856): The jQuery adapter throws a meaningful error if CKEditor or jQuery are not loaded. + +Fixed issues: + +* [#11586](http://dev.ckeditor.com/ticket/11586): Fixed: [`range.cloneContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) should not change the DOM in order not to affect selection. +* [#12148](http://dev.ckeditor.com/ticket/12148): Fixed: [`dom.element.getChild()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-getChild) should not modify a passed array. +* [#12503](http://dev.ckeditor.com/ticket/12503): [Blink/Webkit] Fixed: Incorrect result of Select All and *Backspace* or *Delete*. +* [#13001](http://dev.ckeditor.com/ticket/13001): [Firefox] Fixed: The `<br />` filler is placed in the wrong position by the [`range.fixBlock()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-fixBlock) method due to quirky Firefox behavior. +* [#13101](http://dev.ckeditor.com/ticket/13101): [IE8] Fixed: Colons are prepended to HTML5 element names when cloning them. + +## CKEditor 4.4.8 + +**Security Updates:** + +* Fixed XSS vulnerability in the HTML parser reported by [Dheeraj Joshi](https://twitter.com/dheerajhere) and [Prem Kumar](https://twitter.com/iAmPr3m). + + Issue summary: It was possible to execute XSS inside CKEditor after persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a specially crafted HTML code, prepared by the attacker, into the opened CKEditor source area, and (iii) switch back to WYSIWYG mode. + +**An upgrade is highly recommended!** + +Fixed Issues: + +* [#12899](http://dev.ckeditor.com/ticket/12899): Fixed: Corrected wrong tag ending for horizontal box definition in the [Dialog User Interface](http://ckeditor.com/addon/dialogui) plugin. Thanks to [mizafish](https://github.com/mizafish)! +* [#13254](http://dev.ckeditor.com/ticket/13254): Fixed: Cannot outdent block after indent when using the [Div Editing Area](http://ckeditor.com/addon/divarea) plugin. Thanks to [Jonathan Cottrill](https://github.com/jcttrll)! +* [#13268](http://dev.ckeditor.com/ticket/13268): Fixed: Documentation for [`CKEDITOR.dom.text`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.text) is incorrect. Thanks to [Ben Kiefer](https://github.com/benkiefer)! +* [#12739](http://dev.ckeditor.com/ticket/12739): Fixed: Link loses inline styles when edited without the [Advanced Tab for Dialogs](http://ckeditor.com/addon/dialogadvtab) plugin. Thanks to [Віталій Крутько](https://github.com/asmforce)! +* [#13292](http://dev.ckeditor.com/ticket/13292): Fixed: Protection pattern does not work in attribute in self-closing elements with no space before `/>`. Thanks to [Віталій Крутько](https://github.com/asmforce)! +* [PR#192](https://github.com/ckeditor/ckeditor-dev/pull/192): Fixed: Variable name typo in the [Dialog User Interface](http://ckeditor.com/addon/dialogui) plugin which caused [`CKEDITOR.ui.dialog.radio`](http://docs.ckeditor.com/#!/api/CKEDITOR.ui.dialog.radio) validation to not work. Thanks to [Florian Ludwig](https://github.com/FlorianLudwig)! +* [#13232](http://dev.ckeditor.com/ticket/13232): [Safari] Fixed: The [`element.appendText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-appendText) method does not work properly for empty elements. +* [#13233](http://dev.ckeditor.com/ticket/13233): Fixed: [HTMLDataProcessor](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) can process `foo:href` attributes. +* [#12796](http://dev.ckeditor.com/ticket/12796): Fixed: The [Indent List](http://ckeditor.com/addon/indentlist) plugin unwraps parent `<li>` elements. Thanks to [Andrew Stucki](https://github.com/andrewstucki)! +* [#12885](http://dev.ckeditor.com/ticket/12885): Added missing [`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData) parameter documentation. +* [#11982](http://dev.ckeditor.com/ticket/11982): Fixed: Bullet added in a wrong position after the *Enter* key is pressed in a nested list. +* [#13027](http://dev.ckeditor.com/ticket/13027): Fixed: Keyboard navigation in dialog windows with multiple tabs not following IBM CI 162 instructions or [ARIA Authoring Practices](http://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel). +* [#12256](http://dev.ckeditor.com/ticket/12256): Fixed: Basic styles classes are lost when pasting from Microsoft Word if [basic styles](http://ckeditor.com/addon/basicstyles) were configured to use classes. +* [#12729](http://dev.ckeditor.com/ticket/12729): Fixed: Incorrect structure created when merging a block into a list item on *Backspace* and *Delete*. +* [#13031](http://dev.ckeditor.com/ticket/13031): [Firefox] Fixed: No more line breaks in source view since Firefox 36. +* [#13131](http://dev.ckeditor.com/ticket/13131): Fixed: The [Code Snippet](http://ckeditor.com/addon/codesnippet) plugin cannot be used without the [IFrame Editing Area](http://ckeditor.com/addon/wysiwygarea) plugin. +* [#9086](http://dev.ckeditor.com/ticket/9086): Fixed: Invalid ARIA property used on paste area `<iframe>`. +* [#13164](http://dev.ckeditor.com/ticket/13164): Fixed: Error when inserting a hidden field. +* [#13155](http://dev.ckeditor.com/ticket/13155): Fixed: Incorrect [Line Utilities](http://ckeditor.com/addon/lineutils) positioning when `<body>` has a margin. +* [#13351](http://dev.ckeditor.com/ticket/13351): Fixed: Link lost when editing a linked image with the Link tab disabled. This also fixed a bug when inserting an image into a fully selected link would throw an error ([#12847](https://dev.ckeditor.com/ticket/12847)). +* [#13344](http://dev.ckeditor.com/ticket/13344): [WebKit/Blink] Fixed: It is possible to remove or change editor content in [read-only mode](http://docs.ckeditor.com/#!/guide/dev_readonly). + +Other Changes: + +* [#12844](http://dev.ckeditor.com/ticket/12844) and [#13103](http://dev.ckeditor.com/ticket/13103): Upgraded the [testing environment](http://docs.ckeditor.com/#!/guide/dev_tests) to [Bender.js](https://github.com/benderjs/benderjs) `0.2.3`. +* [#12930](http://dev.ckeditor.com/ticket/12930): Because of licensing issues, `truncated-mathjax/` is now removed from the `tests/` directory. Now `bender.config.mathJaxLibPath` must be configured manually in order to run [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin tests. +* [#13266](http://dev.ckeditor.com/ticket/13266): Added more shades of gray in the [Color Dialog](http://ckeditor.com/addon/colordialog) window. Thanks to [mizafish](https://github.com/mizafish)! + + +## CKEditor 4.4.7 + +Fixed Issues: + +* [#12825](http://dev.ckeditor.com/ticket/12825): Fixed: Preventing the [Table Resize](http://ckeditor.com/addon/tableresize) plugin from operating on elements outside the editor. Thanks to [Paul Martin](https://github.com/Paul-Martin)! +* [#12157](http://dev.ckeditor.com/ticket/12157): Fixed: Lost text formatting on pressing *Tab* when the [`config.tabSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-tabSpaces) configuration option value was greater than zero. +* [#12777](http://dev.ckeditor.com/ticket/12777): Fixed: The `table-layout` CSS property should be reset by skins. Thanks to [vita10gy](https://github.com/vita10gy)! +* [#12812](http://dev.ckeditor.com/ticket/12812): Fixed: An uncaught security exception is thrown when [Line Utilities](http://ckeditor.com/addon/lineutils) are used in an inline editor loaded in a cross-domain `iframe`. Thanks to [Vitaliy Zurian](https://github.com/thecatontheflat)! +* [#12735](http://dev.ckeditor.com/ticket/12735): Fixed: [`config.fillEmptyBlocks`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) should only apply when outputting data. +* [#10032](http://dev.ckeditor.com/ticket/10032): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) filter is executed for every paste after using the button. +* [#12597](http://dev.ckeditor.com/ticket/12597): [Blink/WebKit] Fixed: Multi-byte Japanese characters entry not working properly after *Shift+Enter*. +* [#12387](http://dev.ckeditor.com/ticket/12387): Fixed: An error is thrown if a skin does not have the [`chameleon`](http://docs.ckeditor.com/#!/api/CKEDITOR.skin-method-chameleon) property defined and [`config.uiColor`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uiColor) is defined. +* [#12747](http://dev.ckeditor.com/ticket/12747): [IE8-10] Fixed: Opening a drop-down for a specific selection when the editor is maximized results in incorrect drop-down panel position. +* [#12850](http://dev.ckeditor.com/ticket/12850): [IEQM] Fixed: An error is thrown after focusing the editor. + +## CKEditor 4.4.6 + +**Security Updates:** + +* Fixed XSS vulnerability in the HTML parser reported by [Maco Cortes](https://www.facebook.com/Maaacoooo). + + Issue summary: It was possible to execute XSS inside CKEditor after persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a specially crafted HTML code, prepared by the attacker, into the opened CKEditor source area, and (iii) switch back to WYSIWYG mode. + +**An upgrade is highly recommended!** + +New Features: + +* [#12501](http://dev.ckeditor.com/ticket/12501): Allowed dashes in element names in the [string format of allowed content rules](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules-section-string-format). +* [#12550](http://dev.ckeditor.com/ticket/12550): Added the `<main>` element to the [`CKEDITOR.dtd`](http://docs.ckeditor.com/#!/api/CKEDITOR.dtd). + +Fixed Issues: + +* [#12506](http://dev.ckeditor.com/ticket/12506): [Safari] Fixed: Cannot paste into inline editor if the page has `user-select: none` style. Thanks to [shaohua](https://github.com/shaohua)! +* [#12683](http://dev.ckeditor.com/ticket/12683): Fixed: [Filter](http://docs.ckeditor.com/#!/guide/dev_acf) fails to remove custom tags. Thanks to [timselier](https://github.com/timselier)! +* [#12489](http://dev.ckeditor.com/ticket/12489) and [#12491](http://dev.ckeditor.com/ticket/12491): Fixed: Various issues related to restoring the selection after performing operations on filler character. See the [fixed cases](http://dev.ckeditor.com/ticket/12491#comment:4). +* [#12621](http://dev.ckeditor.com/ticket/12621): Fixed: Cannot remove inline styles (bold, italic, etc.) in empty lines. +* [#12630](http://dev.ckeditor.com/ticket/12630): [Chrome] Fixed: Selection is placed outside the paragraph when the [New Page](http://ckeditor.com/addon/newpage) button is clicked. This patch significantly simplified the way how the initial selection (a selection after the content of the editable is overwritten) is being fixed. That might have fixed many related scenarios in all browsers. +* [#11647](http://dev.ckeditor.com/ticket/11647): Fixed: The [`editor.blur`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-blur) event is not fired on first blur after initializing the inline editor on an already focused element. +* [#12601](http://dev.ckeditor.com/ticket/12601): Fixed: [Strikethrough](http://ckeditor.com/addon/basicstyles) button tooltip spelling. +* [#12546](http://dev.ckeditor.com/ticket/12546): Fixed: The Preview tab in the [Document Properties](http://ckeditor.com/addon/docprops) dialog window is always disabled. +* [#12300](http://dev.ckeditor.com/ticket/12300): Fixed: The [`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event fired on first navigation key press after typing. +* [#12141](http://dev.ckeditor.com/ticket/12141): Fixed: List items are lost when indenting a list item with content wrapped with a block element. +* [#12515](http://dev.ckeditor.com/ticket/12515): Fixed: Cursor is in the wrong position when undoing after adding an image and typing some text. +* [#12484](http://dev.ckeditor.com/ticket/12484): [Blink/WebKit] Fixed: DOM is changed outside the editor area in a certain case. +* [#12688](http://dev.ckeditor.com/ticket/12688): Improved the tests of the [styles system](http://docs.ckeditor.com/#!/api/CKEDITOR.style) and fixed two minor issues. +* [#12403](http://dev.ckeditor.com/ticket/12403): Fixed: Changing the [font](http://ckeditor.com/addon/font) style should not lead to nesting it in the previous style element. +* [#12609](http://dev.ckeditor.com/ticket/12609): Fixed: Incorrect `config.magicline_putEverywhere` name used for a [Magic Line](http://ckeditor.com/addon/magicline) all-encompassing [`config.magicline_everywhere`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-magicline_everywhere) configuration option. + + +## CKEditor 4.4.5 + +New Features: + +* [#12279](http://dev.ckeditor.com/ticket/12279): Added a possibility to pass a custom evaluator to [`node.getAscendant()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.node-method-getAscendant). + +Fixed Issues: + +* [#12423](http://dev.ckeditor.com/ticket/12423): [Safari7.1+] Fixed: *Enter* key moved cursor to a strange position. +* [#12381](http://dev.ckeditor.com/ticket/12381): [iOS] Fixed: Selection issue. Thanks to [Remiremi](https://github.com/Remiremi)! +* [#10804](http://dev.ckeditor.com/ticket/10804): Fixed: `CKEDITOR_GETURL` is not used with some plugins where it should be used. Thanks to [Thomas Andraschko](https://github.com/tandraschko)! +* [#9137](http://dev.ckeditor.com/ticket/9137): Fixed: The `<base>` tag is not created when `<head>` has an attribute. Thanks to [naoki.fujikawa](https://github.com/naoki-fujikawa)! +* [#12377](http://dev.ckeditor.com/ticket/12377): Fixed: Errors thrown in the [Image](http://ckeditor.com/addon/image) plugin when removing preview from the dialog window definition. Thanks to [Axinet](https://github.com/Axinet)! +* [#12162](http://dev.ckeditor.com/ticket/12162): Fixed: Auto paragraphing and *Enter* key in nested editables. +* [#12315](http://dev.ckeditor.com/ticket/12315): Fixed: Marked [`config.autoParagraph`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-autoParagraph) as deprecated. +* [#12113](http://dev.ckeditor.com/ticket/12113): Fixed: A [code snippet](http://ckeditor.com/addon/codesnippet) should be presented in the [elements path](http://ckeditor.com/addon/elementspath) as "code snippet" (translatable). +* [#12311](http://dev.ckeditor.com/ticket/12311): Fixed: [Remove Format](http://ckeditor.com/addon/removeformat) should also remove `<cite>` elements. +* [#12261](http://dev.ckeditor.com/ticket/12261): Fixed: Filter has to be destroyed and removed from [`CKEDITOR.filter.instances`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter-static-property-instances) on editor destroy. +* [#12398](http://dev.ckeditor.com/ticket/12398): Fixed: [Maximize](http://ckeditor.com/addon/maximize) does not work on an instance without a [title](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-title). +* [#12097](http://dev.ckeditor.com/ticket/12097): Fixed: JAWS not reading the number of options correctly in the [Text Color and Background Color](http://ckeditor.com/addon/colorbutton) button menu. +* [#12411](http://dev.ckeditor.com/ticket/12411): Fixed: [Page Break](http://ckeditor.com/addon/pagebreak) used directly in the editable breaks the editor. +* [#12354](http://dev.ckeditor.com/ticket/12354): Fixed: Various issues in undo manager when holding keys. +* [#12324](http://dev.ckeditor.com/ticket/12324): [IE8] Fixed: Undo steps are not recorded when changing the caret position by clicking below the body. +* [#12332](http://dev.ckeditor.com/ticket/12332): Fixed: Lowered DOM events listeners' priorities in undo manager in order to avoid ambiguity. +* [#12402](http://dev.ckeditor.com/ticket/12402): [Blink] Fixed: Workaround for Blink bug with `document.title` which breaks updating title in the full HTML mode. +* [#12338](http://dev.ckeditor.com/ticket/12338): Fixed: The CKEditor package contains unoptimized images. + + +## CKEditor 4.4.4 + +Fixed Issues: + +* [#12268](http://dev.ckeditor.com/ticket/12268): Cleanup of [UI Color](http://ckeditor.com/addon/uicolor) YUI styles. Thanks to [CasherWest](https://github.com/CasherWest)! +* [#12263](http://dev.ckeditor.com/ticket/12263): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) filter does not properly normalize semicolons style text. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#12243](http://dev.ckeditor.com/ticket/12243): Fixed: Text formatting lost when pasting from Word. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#111739](http://dev.ckeditor.com/ticket/11739): Fixed: `keypress` listeners should not be used in the undo manager. A complete rewrite of keyboard handling in the undo manager was made. Numerous smaller issues were fixed, among others: + * [#10926](http://dev.ckeditor.com/ticket/10926): [Chrome@Android] Fixed: Typing does not record snapshots and does not fire the [`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event. + * [#11611](http://dev.ckeditor.com/ticket/11611): [Firefox] Fixed: The [`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event is fired when pressing Arrow keys. + * [#12219](http://dev.ckeditor.com/ticket/12219): [Safari] Fixed: Some modifications of the [`UndoManager.locked`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager-property-locked) property violate strict mode in the [Undo](http://ckeditor.com/addon/undo) plugin. +* [#10916](http://dev.ckeditor.com/ticket/10916): Fixed: [Magic Line](http://ckeditor.com/addon/magicline) icon in Right-To-Left environments. +* [#11970](http://dev.ckeditor.com/ticket/11970): [IE] Fixed: CKEditor `paste` event is not fired when pasting with *Shift+Ins*. +* [#12111](http://dev.ckeditor.com/ticket/12111): Fixed: Linked image attributes are not read when opening the image dialog window by doubleclicking. +* [#10030](http://dev.ckeditor.com/ticket/10030): [IE] Fixed: Prevented "Unspecified Error" thrown in various cases when IE8-9 does not allow access to `document.activeElement`. +* [#12273](http://dev.ckeditor.com/ticket/12273): Fixed: Applying block style in a description list breaks it. +* [#12218](http://dev.ckeditor.com/ticket/12218): Fixed: Minor syntax issue in CSS files. +* [#12178](http://dev.ckeditor.com/ticket/12178): [Blink/WebKit] Fixed: Iterator does not return the block if the selection is located at the end of it. +* [#12185](http://dev.ckeditor.com/ticket/12185): [IE9QM] Fixed: Error thrown when moving the mouse over focused editor's scrollbar. +* [#12215](http://dev.ckeditor.com/ticket/12215): Fixed: Basepath resolution does not recognize semicolon as a query separator. +* [#12135](http://dev.ckeditor.com/ticket/12135): Fixed: [Remove Format](http://ckeditor.com/addon/removeformat) does not work on widgets. +* [#12298](http://dev.ckeditor.com/ticket/12298): [IE11] Fixed: Clicking below `<body>` in Compatibility Mode will no longer reset selection to the first line. +* [#12204](http://dev.ckeditor.com/ticket/12204): Fixed: Editor's voice label is not affected by [`config.title`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-title). +* [#11915](http://dev.ckeditor.com/ticket/11915): Fixed: With [SCAYT](http://ckeditor.com/addon/scayt) enabled, cursor moves to the beginning of the first highlighted, misspelled word after typing or pasting into the editor. +* [SCAYT](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/69): Fixed: Error thrown in the console after enabling [SCAYT](http://ckeditor.com/addon/scayt) and trying to add a new image. + + +Other Changes: + +* [#12296](http://dev.ckeditor.com/ticket/12296): Merged `benderjs-ckeditor` into the main CKEditor repository. + +## CKEditor 4.4.3 + +**Security Updates:** + +* Fixed XSS vulnerability in the Preview plugin reported by Mario Heiderich of [Cure53](https://cure53.de/). + +**An upgrade is highly recommended!** + +New Features: + +* [#12164](http://dev.ckeditor.com/ticket/12164): Added the "Justify" option to the "Horizontal Alignment" drop-down in the Table Cell Properties dialog window. + +Fixed Issues: + +* [#12110](http://dev.ckeditor.com/ticket/12110): Fixed: Editor crash after deleting a table. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#11897](http://dev.ckeditor.com/ticket/11897): Fixed: *Enter* key used in an empty list item creates a new line instead of breaking the list. Thanks to [noam-si](https://github.com/noam-si)! +* [#12140](http://dev.ckeditor.com/ticket/12140): Fixed: Double-clicking linked widgets opens two dialog windows. +* [#12132](http://dev.ckeditor.com/ticket/12132): Fixed: Image is inserted with `width` and `height` styles even when they are not allowed. +* [#9317](http://dev.ckeditor.com/ticket/9317): [IE] Fixed: [`config.disableObjectResizing`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-disableObjectResizing) does not work on IE. **Note**: We were not able to fix this issue on IE11+ because necessary events stopped working. See a [last resort workaround](http://dev.ckeditor.com/ticket/9317#comment:16) and make sure to [support our complaint to Microsoft](https://connect.microsoft.com/IE/feedback/details/742593/please-respect-execcommand-enableobjectresizing-in-contenteditable-elements). +* [#9638](http://dev.ckeditor.com/ticket/9638): Fixed: There should be no information about accessibility help available under the *Alt+0* keyboard shortcut if the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) plugin is not available. +* [#8117](http://dev.ckeditor.com/ticket/8117) and [#9186](http://dev.ckeditor.com/ticket/9186): Fixed: In HTML5 `<meta>` tags should be allowed everywhere, including inside the `<body>` element. +* [#10422](http://dev.ckeditor.com/ticket/10422): Fixed: [`config.fillEmptyBlocks`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) not working properly if a function is specified. + +## CKEditor 4.4.2 + +Important Notes: + +* The CKEditor testing environment is now publicly available. Read more about how to set up the environment and execute tests in the [CKEditor Testing Environment](http://docs.ckeditor.com/#!/guide/dev_tests) guide. + Please note that the [`tests/`](https://github.com/ckeditor/ckeditor-dev/tree/master/tests) directory which contains editor tests is not available in release packages. It can only be found in the development version of CKEditor on [GitHub](https://github.com/ckeditor/ckeditor-dev/). + +New Features: + +* [#11909](http://dev.ckeditor.com/ticket/11909): Introduced a parameter to prevent the [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData) method from recording undo snapshots. + +Fixed Issues: + +* [#11757](http://dev.ckeditor.com/ticket/11757): Fixed: Imperfections in the [Moono](http://ckeditor.com/addon/moono) skin. Thanks to [danyaPostfactum](https://github.com/danyaPostfactum)! +* [#10091](http://dev.ckeditor.com/ticket/10091): Blockquote should be treated like an object by the styles system. Thanks to [dan-james-deeson](https://github.com/dan-james-deeson)! +* [#11478](http://dev.ckeditor.com/ticket/11478): Fixed: Issue with passing jQuery objects to [adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) configuration. +* [#10867](http://dev.ckeditor.com/ticket/10867): Fixed: Issue with setting encoded URI as image link. +* [#11983](http://dev.ckeditor.com/ticket/11983): Fixed: Clicking a nested widget does not focus it. Additionally, performance of the [`widget.repository.getByElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-getByElement) method was improved. +* [#12000](http://dev.ckeditor.com/ticket/12000): Fixed: Nested widgets should be initialized on [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData) and [`nestedEditable.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.nestedEditable-method-setData). +* [#12022](http://dev.ckeditor.com/ticket/12022): Fixed: Outer widget's drag handler is not created at all if it has any nested widgets inside. +* [#11960](http://dev.ckeditor.com/ticket/11960): [Blink/WebKit] Fixed: The caret should be scrolled into view on *Backspace* and *Delete* (covers only the merging blocks case). +* [#11306](http://dev.ckeditor.com/ticket/11306): [OSX][Blink/WebKit] Fixed: No widget entries in the context menu on widget right-click. +* [#11957](http://dev.ckeditor.com/ticket/11957): Fixed: Alignment labels in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window are not translated. +* [#11980](http://dev.ckeditor.com/ticket/11980): [Blink/WebKit] Fixed: `<span>` elements created when joining adjacent elements (non-collapsed selection). +* [#12009](http://dev.ckeditor.com/ticket/12009): [Nested widgets] Integration with the [Magic Line](http://ckeditor.com/addon/magicline) plugin. +* [#11387](http://dev.ckeditor.com/ticket/11387): Fixed: `role="radiogroup"` should be applied only to radio inputs' container. +* [#7975](http://dev.ckeditor.com/ticket/7975): [IE8] Fixed: Errors when trying to select an empty table cell. +* [#11947](http://dev.ckeditor.com/ticket/11947): [Firefox+IE11] Fixed: *Shift+Enter* in lists produces two line breaks. +* [#11972](http://dev.ckeditor.com/ticket/11972): Fixed: Feature detection in the [`element.setText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-setText) method should not trigger the layout engine. +* [#7634](http://dev.ckeditor.com/ticket/7634): Fixed: The [Flash Dialog](http://ckeditor.com/addon/flash) plugin omits the `allowFullScreen` parameter in the editor data if set to `true`. +* [#11910](http://dev.ckeditor.com/ticket/11910): Fixed: [Enhanced Image](http://ckeditor.com/addon/image2) does not take [`config.baseHref`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-baseHref) into account when updating image dimensions. +* [#11753](http://dev.ckeditor.com/ticket/11753): Fixed: Wrong [`checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method value after focusing or blurring a widget. +* [#11830](http://dev.ckeditor.com/ticket/11830): Fixed: Impossible to pass some arguments to [CKBuilder](https://github.com/ckeditor/ckbuilder) when using the `/dev/builder/build.sh` script. +* [#11945](http://dev.ckeditor.com/ticket/11945): Fixed: [Form Elements](http://ckeditor.com/addon/forms) plugin should not change a core method. +* [#11384](http://dev.ckeditor.com/ticket/11384): [IE9+] Fixed: `IndexSizeError` thrown when pasting into a non-empty selection anchored in one text node. + +## CKEditor 4.4.1 + +New Features: + +* [#9661](http://dev.ckeditor.com/ticket/9661): Added the option to [configure](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-linkJavaScriptLinksAllowed) anchor tags with JavaScript code in the `href` attribute. + +Fixed Issues: + +* [#11861](http://dev.ckeditor.com/ticket/11861): [WebKit/Blink] Fixed: Span elements created while joining adjacent elements. **Note:** This patch only covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) selection. The remaining case, with a non-empty selection, will be fixed in the next release. +* [#10714](http://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and drop-downs are broken if a touch event listener is used due to a [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty Gus](https://github.com/artygus)! +* [#11911](http://dev.ckeditor.com/ticket/11911): Fixed setting the `dir` attribute for a preloaded language in [CKEDITOR.lang](http://docs.ckeditor.com/#!/api/CKEDITOR.lang). Thanks to [Akash Mohapatra](https://github.com/akashmohapatra)! +* [#11926](http://dev.ckeditor.com/ticket/11926): Fixed: [Code Snippet](http://ckeditor.com/addon/codesnippet) does not decode HTML entities when loading code from the `<code>` element. +* [#11223](http://dev.ckeditor.com/ticket/11223): Fixed: Issue when [Protected Source](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-protectedSource) was not working in the `<title>` element. +* [#11859](http://dev.ckeditor.com/ticket/11859): Fixed: Removed the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin dependency from the [Code Snippet](http://ckeditor.com/addon/codesnippet) sample. +* [#11754](http://dev.ckeditor.com/ticket/11754): [Chrome] Fixed: Infinite loop when content includes not closed attributes. +* [#11848](http://dev.ckeditor.com/ticket/11848): [IE] Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) throwing an exception when there was no selection in the editor. +* [#11801](http://dev.ckeditor.com/ticket/11801): Fixed: Editor anchors unavailable when linking the [Enhanced Image](http://ckeditor.com/addon/image2) widget. +* [#11626](http://dev.ckeditor.com/ticket/11626): Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) sets invalid column width. +* [#11872](http://dev.ckeditor.com/ticket/11872): Made [`element.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-addClass) chainable symmetrically to [`element.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-removeClass). +* [#11813](http://dev.ckeditor.com/ticket/11813): Fixed: Link lost while pasting a captioned image and restoring an undo snapshot ([Enhanced Image](http://ckeditor.com/addon/image2)). +* [#11814](http://dev.ckeditor.com/ticket/11814): Fixed: _Link_ and _Unlink_ entries persistently displayed in the [Enhanced Image](http://ckeditor.com/addon/image2) context menu. +* [#11839](http://dev.ckeditor.com/ticket/11839): [IE9] Fixed: The caret jumps out of the editable area when resizing the editor in the source mode. +* [#11822](http://dev.ckeditor.com/ticket/11822): [WebKit] Fixed: Editing anchors by double-click is broken in some cases. +* [#11823](http://dev.ckeditor.com/ticket/11823): [IE8] Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) throws an error over scrollbar. +* [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: It is not possible to change the language back to _Not set_ in the [Code Snippet](http://ckeditor.com/addon/codesnippet) dialog window. +* [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: [Filter](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are not applied inside elements with the `contenteditable` attribute set to `true`. +* [#11798](http://dev.ckeditor.com/ticket/11798): Fixed: Inserting a non-editable element inside a table cell breaks the table. +* [#11793](http://dev.ckeditor.com/ticket/11793): Fixed: Drop-down is not "on" when clicking it while the editor is blurred. +* [#11850](http://dev.ckeditor.com/ticket/11850): Fixed: Fake objects with the `contenteditable` attribute set to `false` are not downcasted properly. +* [#11811](http://dev.ckeditor.com/ticket/11811): Fixed: Widget's data is not encoded correctly when passed to an attribute. +* [#11777](http://dev.ckeditor.com/ticket/11777): Fixed encoding ampersand in the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin. +* [#11880](http://dev.ckeditor.com/ticket/11880): [IE8-9] Fixed: Linked image has a default thick border. + +Other Changes: + +* [#11807](http://dev.ckeditor.com/ticket/11807): Updated jQuery version used in the sample to 1.11.0 and tested CKEditor jQuery Adapter with version 1.11.0 and 2.1.0. +* [#9504](http://dev.ckeditor.com/ticket/9504): Stopped using deprecated `attribute.specified` in all browsers except Internet Explorer. +* [#11809](http://dev.ckeditor.com/ticket/11809): Changed tab size in `<pre>` to 4 spaces. + +## CKEditor 4.4 + +**Important Notes:** + +* Marked the [`editor.beforePaste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-beforePaste) event as deprecated. +* The default class of captioned images has changed to `image` (was: `caption`). Please note that once edited in CKEditor 4.4+, all existing images of the `caption` class (`<figure class="caption">`) will be [filtered out](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) unless the [`config.image2_captionedClass`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_captionedClass) option is set to `caption`. For backward compatibility (i.e. when upgrading), it is highly recommended to use this setting, which also helps prevent CSS conflicts, etc. This does not apply to new CKEditor integrations. +* Widgets without defined buttons are no longer registered automatically to the [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). Before CKEditor 4.4 widgets were registered to the ACF which was an incorrect behavior ([#11567](http://dev.ckeditor.com/ticket/11567)). This change should not have any impact on standard scenarios, but if your button does not execute the widget command, you need to set [`allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.feature-property-allowedContent) and [`requiredContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.feature-property-requiredContent) properties for it manually, because the editor will not be able to find them. +* The [Show Borders](http://ckeditor.com/addon/showborders) plugin was added to the Standard installation package in order to ensure that unstyled tables are still visible for the user ([#11665](http://dev.ckeditor.com/ticket/11665)). +* Since CKEditor 4.4 the editor instance should be passed to [`CKEDITOR.style`](http://docs.ckeditor.com/#!/api/CKEDITOR.style) methods to ensure full compatibility with other features (e.g. applying styles to widgets requires that). We ensured backward compatibility though, so the [`CKEDITOR.style`](http://docs.ckeditor.com/#!/api/CKEDITOR.style) will work even when the editor instance is not provided. + +New Features: + +* [#11297](http://dev.ckeditor.com/ticket/11297): Styles can now be applied to widgets. The definition of a style which can be applied to a specific widget must contain two additional properties — `type` and `widget`. Read more in the [Widget Styles](http://docs.ckeditor.com/#!/guide/dev_styles-section-widget-styles) section of the "Syles Drop-down" guide. Note that by default, widgets support only classes and no other attributes or styles. Related changes and features: + * Introduced the [`CKEDITOR.style.addCustomHandler()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-static-method-addCustomHandler) method for registering custom style handlers. + * The [`CKEDITOR.style.apply()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-method-apply) and [`CKEDITOR.style.remove()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-method-remove) methods are now called with an editor instance instead of the document so they can be reused by the [`CKEDITOR.editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) and [`CKEDITOR.editor.removeStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-removeStyle) methods. Backward compatibility was preserved, but from CKEditor 4.4 it is highly recommended to pass an editor instead of a document to these methods. + * Many new methods and properties were introduced in the [Widget API](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) to make the handling of styles by widgets fully customizable. See: [`widget.definition.styleableElements`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-styleableElements), [`widget.definition.styleToAllowedContentRule`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-styleToAllowedContentRules), [`widget.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-addClass), [`widget.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-removeClass), [`widget.getClasses()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-getClasses), [`widget.hasClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-hasClass), [`widget.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-applyStyle), [`widget.removeStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-removeStyle), [`widget.checkStyleActive()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-method-checkStyleActive). + * Integration with the [Allowed Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) required an introduction of the [`CKEDITOR.style.toAllowedContent()`](http://docs.ckeditor.com/#!/api/CKEDITOR.style-method-toAllowedContentRules) method which can be implemented by the custom style handler and if exists, it is used by the [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) to translate a style to [allowed content rules](http://docs.ckeditor.com/#!/api/CKEDITOR.filter.allowedContentRules). +* [#11300](http://dev.ckeditor.com/ticket/11300): Various changes in the [Enhanced Image](http://ckeditor.com/addon/image2) plugin: + * Introduced the [`config.image2_captionedClass`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_captionedClass) option to configure the class of captioned images. + * Introduced the [`config.image2_alignClasses`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_alignClasses) option to configure the way images are aligned with CSS classes. + If this setting is defined, the editor produces classes instead of inline styles for aligned images. + * Default image caption can be translated (customized) with the `editor.lang.image2.captionPlaceholder` string. +* [#11341](http://dev.ckeditor.com/ticket/11341): [Enhanced Image](http://ckeditor.com/addon/image2) plugin: It is now possible to add a link to any image type. +* [#10202](http://dev.ckeditor.com/ticket/10202): Introduced wildcard support in the [Allowed Content Rules](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules) format. +* [#10276](http://dev.ckeditor.com/ticket/10276): Introduced blacklisting in the [Allowed Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). +* [#10480](http://dev.ckeditor.com/ticket/10480): Introduced code snippets with code highlighting. There are two versions available so far — the default [Code Snippet](http://ckeditor.com/addon/codesnippet) which uses the [highlight.js](http://highlightjs.org) library and the [Code Snippet GeSHi](http://ckeditor.com/addon/codesnippetgeshi) which uses the [GeSHi](http://qbnz.com/highlighter/) library. +* [#11737](http://dev.ckeditor.com/ticket/11737): Introduced an option to prevent [filtering](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) of an element that matches custom criteria (see [`filter.addElementCallback()`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter-method-addElementCallback)). +* [#11532](http://dev.ckeditor.com/ticket/11532): Introduced the [`editor.addContentsCss()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-addContentsCss) method that can be used for [adding custom CSS files](http://docs.ckeditor.com/#!/guide/plugin_sdk_styles). +* [#11536](http://dev.ckeditor.com/ticket/11536): Added the [`CKEDITOR.tools.htmlDecode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlDecode) method for decoding HTML entities. +* [#11225](http://dev.ckeditor.com/ticket/11225): Introduced the [`CKEDITOR.tools.transparentImageData`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-property-transparentImageData) property which contains transparent image data to be used in CSS or as image source. + +Other Changes: + +* [#11377](http://dev.ckeditor.com/ticket/11377): Unified internal representation of empty anchors using the [fake objects](http://ckeditor.com/addon/fakeobjects). +* [#11422](http://dev.ckeditor.com/ticket/11422): Removed Firefox 3.x, Internet Explorer 6 and Opera 12.x leftovers in code. +* [#5217](http://dev.ckeditor.com/ticket/5217): Setting data (including switching between modes) creates a new undo snapshot. Besides that: + * Introduced the [`editable.status`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-property-status) property. + * Introduced a new `forceUpdate` option for the [`editor.lockSnapshot`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-lockSnapshot) event. + * Fixed: Selection not being unlocked in inline editor after setting data ([#11500](http://dev.ckeditor.com/ticket/11500)). +* The [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin was updated to the latest version. + +Fixed Issues: + +* [#10190](http://dev.ckeditor.com/ticket/10190): Fixed: Removing block style with [`editor.removeStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-removeStyle) should result in a paragraph and not a div. +* [#11727](http://dev.ckeditor.com/ticket/11727): Fixed: The editor tries to select a non-editable image which was clicked. + +## CKEditor 4.3.5 + +New Features: + +* Added new translation: Tatar. + +Fixed Issues: + +* [#11677](http://dev.ckeditor.com/ticket/11677): Fixed: Undo/Redo keystrokes are blocked in the source mode. +* [#11717](http://dev.ckeditor.com/ticket/11717): [Document Properties](http://ckeditor.com/addon/docprops) plugin requires the [Color Dialog](http://ckeditor.com/addon/colordialog) plugin to work. + +## CKEditor 4.3.4 + +Fixed Issues: + +* [#11597](http://dev.ckeditor.com/ticket/11597): [IE11] Fixed: Error thrown when trying to open the [preview](http://ckeditor.com/addon/preview) using the keyboard. +* [#11544](http://dev.ckeditor.com/ticket/11544): [Placeholders](http://ckeditor.com/addon/placeholder) will no longer be upcasted in parents not accepting `<span>` elements. +* [#8663](http://dev.ckeditor.com/ticket/8663): Fixed [`element.renameNode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-renameNode) not clearing the [`element.getName()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-getName) cache. +* [#11574](http://dev.ckeditor.com/ticket/11574): Fixed: *Backspace* destroying the DOM structure if an inline editable is placed in a list item. +* [#11603](http://dev.ckeditor.com/ticket/11603): Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) attaches to tables outside the editable. +* [#9205](http://dev.ckeditor.com/ticket/9205), [#7805](http://dev.ckeditor.com/ticket/7805), [#8216](http://dev.ckeditor.com/ticket/8216): Fixed: `{cke_protected_1}` appearing in data in various cases where HTML comments are placed next to `"` or `'`. +* [#11635](http://dev.ckeditor.com/ticket/11635): Fixed: Some attributes are not protected before the content is passed through the fix bin. +* [#11660](http://dev.ckeditor.com/ticket/11660): [IE] Fixed: Table content is lost when some extra markup is inside the table. +* [#11641](http://dev.ckeditor.com/ticket/11641): Fixed: Switching between modes in the classic editor removes content styles for the inline editor. +* [#11568](http://dev.ckeditor.com/ticket/11568): Fixed: [Styles](http://ckeditor.com/addon/stylescombo) drop-down list is not enabled on selection change. + +## CKEditor 4.3.3 + +Fixed Issues: + +* [#11500](http://dev.ckeditor.com/ticket/11500): [WebKit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root). +* [#11104](http://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues with scrolling and selection when focusing widgets. +* [#11487](http://dev.ckeditor.com/ticket/11487): Moving mouse over the [Enhanced Image](http://ckeditor.com/addon/image2) widget will no longer change the value returned by the [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method. +* [#8673](http://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select and remove the [Page Break](http://ckeditor.com/addon/pagebreak). +* [#11413](http://dev.ckeditor.com/ticket/11413): Fixed: Incorrect [`editor.execCommand()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-execCommand) behavior. +* [#11438](http://dev.ckeditor.com/ticket/11438): Splitting table cells vertically is no longer changing table structure. +* [#8899](http://dev.ckeditor.com/ticket/8899): Fixed: Links in the [About CKEditor](http://ckeditor.com/addon/about) dialog window now open in a new browser window or tab. +* [#11490](http://dev.ckeditor.com/ticket/11490): Fixed: [Menu button](http://ckeditor.com/addon/menubutton) panel not showing in the source mode. +* [#11417](http://dev.ckeditor.com/ticket/11417): The [`widget.doubleclick`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-event-doubleclick) event is not canceled anymore after editing was triggered. +* [#11253](http://dev.ckeditor.com/ticket/11253): [IE] Fixed: Clipped upload button in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. +* [#11359](http://dev.ckeditor.com/ticket/11359): Standardized the way anchors are discovered by the [Link](http://ckeditor.com/addon/link) plugin. +* [#11058](http://dev.ckeditor.com/ticket/11058): [IE8] Fixed: Error when deleting a table row. +* [#11508](http://dev.ckeditor.com/ticket/11508): Fixed: [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) discovering protected attributes within other attributes' values. +* [#11533](http://dev.ckeditor.com/ticket/11533): Widgets: Avoid recurring upcasts if the DOM structure was modified during an upcast. +* [#11400](http://dev.ckeditor.com/ticket/11400): Fixed: The [`domObject.removeAllListeners()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.domObject-method-removeAllListeners) method does not remove custom listeners completely. +* [#11493](http://dev.ckeditor.com/ticket/11493): Fixed: The [`selection.getRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-getRanges) method does not override cached ranges when used with the `onlyEditables` argument. +* [#11390](http://dev.ckeditor.com/ticket/11390): [IE] All [XML](http://ckeditor.com/addon/xml) plugin [methods](http://docs.ckeditor.com/#!/api/CKEDITOR.xml) now work in IE10+. +* [#11542](http://dev.ckeditor.com/ticket/11542): [IE11] Fixed: Blurry toolbar icons when Right-to-Left UI language is set. +* [#11504](http://dev.ckeditor.com/ticket/11504): Fixed: When [`config.fullPage`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fullPage) is set to `true`, entities are not encoded in editor output. +* [#11004](http://dev.ckeditor.com/ticket/11004): Integrated [Enhanced Image](http://ckeditor.com/addon/image2) dialog window with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). +* [#11439](http://dev.ckeditor.com/ticket/11439): Fixed: Properties get cloned in the Cell Properties dialog window if multiple cells are selected. + +## CKEditor 4.3.2 + +Fixed Issues: + +* [#11331](http://dev.ckeditor.com/ticket/11331): A menu button will have a changed label when selected instead of using the `aria-pressed` attribute. +* [#11177](http://dev.ckeditor.com/ticket/11177): Widget drag handler improvements: + * [#11176](http://dev.ckeditor.com/ticket/11176): Fixed: Initial position is not updated when the widget data object is empty. + * [#11001](http://dev.ckeditor.com/ticket/11001): Fixed: Multiple synchronous layout recalculations are caused by initial drag handler positioning causing performance issues. + * [#11161](http://dev.ckeditor.com/ticket/11161): Fixed: Drag handler is not repositioned in various situations. + * [#11281](http://dev.ckeditor.com/ticket/11281): Fixed: Drag handler and mask are duplicated after widget reinitialization. +* [#11207](http://dev.ckeditor.com/ticket/11207): [Firefox] Fixed: Misplaced [Enhanced Image](http://ckeditor.com/addon/image2) resizer in the inline editor. +* [#11102](http://dev.ckeditor.com/ticket/11102): `CKEDITOR.template` improvements: + * [#11102](http://dev.ckeditor.com/ticket/11102): Added newline character support. + * [#11216](http://dev.ckeditor.com/ticket/11216): Added "\\'" substring support. +* [#11121](http://dev.ckeditor.com/ticket/11121): [Firefox] Fixed: High Contrast mode is enabled when the editor is loaded in a hidden iframe. +* [#11350](http://dev.ckeditor.com/ticket/11350): The default value of [`config.contentsCss`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-contentsCss) is affected by [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl). +* [#11097](http://dev.ckeditor.com/ticket/11097): Improved the [Autogrow](http://ckeditor.com/addon/autogrow) plugin performance when dealing with very big tables. +* [#11290](http://dev.ckeditor.com/ticket/11290): Removed redundant code in the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin. +* [#11133](http://dev.ckeditor.com/ticket/11133): [Page Break](http://ckeditor.com/addon/pagebreak) becomes editable if pasted. +* [#11126](http://dev.ckeditor.com/ticket/11126): Fixed: Native Undo executed once the bottom of the snapshot stack is reached. +* [#11131](http://dev.ckeditor.com/ticket/11131): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Error thrown when switching to source mode if the selection was in widget's nested editable. +* [#11139](http://dev.ckeditor.com/ticket/11139): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Elements Path is not cleared after switching to source mode. +* [#10778](http://dev.ckeditor.com/ticket/10778): Fixed a bug with range enlargement. The range no longer expands to visible whitespace. +* [#11146](http://dev.ckeditor.com/ticket/11146): [IE] Fixed: Preview window switches Internet Explorer to Quirks Mode. +* [#10762](http://dev.ckeditor.com/ticket/10762): [IE] Fixed: JavaScript code displayed in preview window's URL bar. +* [#11186](http://dev.ckeditor.com/ticket/11186): Introduced the [`widgets.repository.addUpcastCallback()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-addUpcastCallback) method that allows to block upcasting given element to a widget. +* [#11307](http://dev.ckeditor.com/ticket/11307): Fixed: Paste as Plain Text conflict with the [MooTools](http://mootools.net) library. +* [#11140](http://dev.ckeditor.com/ticket/11140): [IE11] Fixed: Anchors are not draggable. +* [#11379](http://dev.ckeditor.com/ticket/11379): Changed default contents `line-height` to unitless values to avoid huge text overlapping (like in [#9696](http://dev.ckeditor.com/ticket/9696)). +* [#10787](http://dev.ckeditor.com/ticket/10787): [Firefox] Fixed: Broken replacement of text while pasting into `div`-based editor. +* [#10884](http://dev.ckeditor.com/ticket/10884): Widgets integration with the [Show Blocks](http://ckeditor.com/addon/showblocks) plugin. +* [#11021](http://dev.ckeditor.com/ticket/11021): Fixed: An error thrown when selecting entire editable contents while fake selection is on. +* [#11086](http://dev.ckeditor.com/ticket/11086): [IE8] Re-enable inline widgets drag&drop in Internet Explorer 8. +* [#11372](http://dev.ckeditor.com/ticket/11372): Widgets: Special characters encoded twice in nested editables. +* [#10068](http://dev.ckeditor.com/ticket/10068): Fixed: Support for protocol-relative URLs. +* [#11283](http://dev.ckeditor.com/ticket/11283): [Enhanced Image](http://ckeditor.com/addon/image2): A `<div>` element with `text-align: center` and an image inside is not recognised correctly. +* [#11196](http://dev.ckeditor.com/ticket/11196): [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp): Allowed additional keyboard button labels to be translated in the dialog window. + +## CKEditor 4.3.1 + +**Important Notes:** + +* To match the naming convention, the `language` button is now `Language` ([#11201](http://dev.ckeditor.com/ticket/11201)). +* [Enhanced Image](http://ckeditor.com/addon/image2) button, context menu, command, and icon names match those of the [Image](http://ckeditor.com/addon/image) plugin ([#11222](http://dev.ckeditor.com/ticket/11222)). + +Fixed Issues: + +* [#11244](http://dev.ckeditor.com/ticket/11244): Changed: The [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method now fires the [`widget.repository.checkWidgets`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-event-checkWidgets) event, so from CKEditor 4.3.1 it is preferred to use the method rather than fire the event. +* [#11171](http://dev.ckeditor.com/ticket/11171): Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) and [`editor.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText) methods do not call the [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method. +* [#11085](http://dev.ckeditor.com/ticket/11085): [IE8] Replaced preview generated by the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget with a placeholder. +* [#11044](http://dev.ckeditor.com/ticket/11044): Enhanced WAI-ARIA support for the [Language](http://ckeditor.com/addon/language) plugin drop-down menu. +* [#11075](http://dev.ckeditor.com/ticket/11075): With drop-down menu button focused, pressing the *Down Arrow* key will now open the menu and focus its first option. +* [#11165](http://dev.ckeditor.com/ticket/11165): Fixed: The [File Browser](http://ckeditor.com/addon/filebrowser) plugin cannot be removed from the editor. +* [#11159](http://dev.ckeditor.com/ticket/11159): [IE9-10] [Enhanced Image](http://ckeditor.com/addon/image2): Fixed buggy discovery of image dimensions. +* [#11101](http://dev.ckeditor.com/ticket/11101): Drop-down lists no longer break when given double quotes. +* [#11077](http://dev.ckeditor.com/ticket/11077): [Enhanced Image](http://ckeditor.com/addon/image2): Empty undo step recorded when resizing the image. +* [#10853](http://dev.ckeditor.com/ticket/10853): [Enhanced Image](http://ckeditor.com/addon/image2): Widget has paragraph wrapper when de-captioning unaligned image. +* [#11198](http://dev.ckeditor.com/ticket/11198): Widgets: Drag handler is not fully visible when an inline widget is in a heading. +* [#11132](http://dev.ckeditor.com/ticket/11132): [Firefox] Fixed: Caret is lost after drag and drop of an inline widget. +* [#11182](http://dev.ckeditor.com/ticket/11182): [IE10-11] Fixed: Editor crashes (IE11) or works with minor issues (IE10) if a page is loaded in Quirks Mode. See [`env.quirks`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-quirks) for more details. +* [#11204](http://dev.ckeditor.com/ticket/11204): Added `figure` and `figcaption` styles to the `contents.css` file so [Enhanced Image](http://ckeditor.com/addon/image2) looks nicer. +* [#11202](http://dev.ckeditor.com/ticket/11202): Fixed: No newline in [BBCode](http://ckeditor.com/addon/bbcode) mode. +* [#10890](http://dev.ckeditor.com/ticket/10890): Fixed: Error thrown when pressing the *Delete* key in a list item. +* [#10055](http://dev.ckeditor.com/ticket/10055): [IE8-10] Fixed: *Delete* pressed on a selected image causes the browser to go back. +* [#11183](http://dev.ckeditor.com/ticket/11183): Fixed: Inserting a horizontal rule or a table in multiple row selection causes a browser crash. Additionally, the [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) method does not insert the element into every range of a selection any more. +* [#11042](http://dev.ckeditor.com/ticket/11042): Fixed: Selection made on an element containing a non-editable element was not auto faked. +* [#11125](http://dev.ckeditor.com/ticket/11125): Fixed: Keyboard navigation through menu and drop-down items will now cycle. +* [#11011](http://dev.ckeditor.com/ticket/11011): Fixed: The [`editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) method removes attributes from nested elements. +* [#11179](http://dev.ckeditor.com/ticket/11179): Fixed: [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy) does not cleanup content generated by the [Table Resize](http://ckeditor.com/addon/tableresize) plugin for inline editors. +* [#11237](http://dev.ckeditor.com/ticket/11237): Fixed: Table border attribute value is deleted when pasting content from Microsoft Word. +* [#11250](http://dev.ckeditor.com/ticket/11250): Fixed: HTML entities inside the `<textarea>` element are not encoded. +* [#11260](http://dev.ckeditor.com/ticket/11260): Fixed: Initially disabled buttons are not read by JAWS as disabled. +* [#11200](http://dev.ckeditor.com/ticket/11200): Added [Clipboard](http://ckeditor.com/addon/clipboard) plugin as a dependency for [Widget](http://ckeditor.com/addon/widget) to fix drag and drop. + +## CKEditor 4.3 + +New Features: + +* [#10612](http://dev.ckeditor.com/ticket/10612): Internet Explorer 11 support. +* [#10869](http://dev.ckeditor.com/ticket/10869): Widgets: Added better integration with the [Elements Path](http://ckeditor.com/addon/elementspath) plugin. +* [#10886](http://dev.ckeditor.com/ticket/10886): Widgets: Added tooltip to the drag handle. +* [#10933](http://dev.ckeditor.com/ticket/10933): Widgets: Introduced drag and drop of block widgets with the [Line Utilities](http://ckeditor.com/addon/lineutils) plugin. +* [#10936](http://dev.ckeditor.com/ticket/10936): Widget System changes for easier integration with other dialog systems. +* [#10895](http://dev.ckeditor.com/ticket/10895): [Enhanced Image](http://ckeditor.com/addon/image2): Added file browser integration. +* [#11002](http://dev.ckeditor.com/ticket/11002): Added the [`draggable`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-draggable) option to disable drag and drop support for widgets. +* [#10937](http://dev.ckeditor.com/ticket/10937): [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget improvements: + * loading indicator ([#10948](http://dev.ckeditor.com/ticket/10948)), + * applying paragraph changes (like font color change) to iframe ([#10841](http://dev.ckeditor.com/ticket/10841)), + * Firefox and IE9 clipboard fixes ([#10857](http://dev.ckeditor.com/ticket/10857)), + * fixing same origin policy issue ([#10840](http://dev.ckeditor.com/ticket/10840)), + * fixing undo bugs ([#10842](http://dev.ckeditor.com/ticket/10842), [#10930](http://dev.ckeditor.com/ticket/10930)), + * fixing other minor bugs. +* [#10862](http://dev.ckeditor.com/ticket/10862): [Placeholder](http://ckeditor.com/addon/placeholder) plugin was rewritten as a widget. +* [#10822](http://dev.ckeditor.com/ticket/10822): Added styles system integration with non-editable elements (for example widgets) and their nested editables. Styles cannot change non-editable content and are applied in nested editable only if allowed by its type and content filter. +* [#10856](http://dev.ckeditor.com/ticket/10856): Menu buttons will now toggle the visibility of their panels when clicked multiple times. [Language](http://ckeditor.com/addon/language) plugin fixes: Added active language highlighting, added an option to remove the language. +* [#10028](http://dev.ckeditor.com/ticket/10028): New [`config.dialog_noConfirmCancel`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-dialog_noConfirmCancel) configuration option that eliminates the need to confirm closing of a dialog window when the user changed any of its fields. +* [#10848](http://dev.ckeditor.com/ticket/10848): Integrate remaining plugins ([Styles](http://ckeditor.com/addon/stylescombo), [Format](http://ckeditor.com/addon/format), [Font](http://ckeditor.com/addon/font), [Color Button](http://ckeditor.com/addon/colorbutton), [Language](http://ckeditor.com/addon/language) and [Indent](http://ckeditor.com/addon/indent)) with [active filter](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeFilter). +* [#10855](http://dev.ckeditor.com/ticket/10855): Change the extension of emoticons in the [BBCode](http://ckeditor.com/addon/bbcode) sample from GIF to PNG. + +Fixed Issues: + +* [#10831](http://dev.ckeditor.com/ticket/10831): [Enhanced Image](http://ckeditor.com/addon/image2): Merged `image2inline` and `image2block` into one `image2` widget. +* [#10835](http://dev.ckeditor.com/ticket/10835): [Enhanced Image](http://ckeditor.com/addon/image2): Improved visibility of the resize handle. +* [#10836](http://dev.ckeditor.com/ticket/10836): [Enhanced Image](http://ckeditor.com/addon/image2): Preserve custom mouse cursor while resizing the image. +* [#10939](http://dev.ckeditor.com/ticket/10939): [Firefox] [Enhanced Image](http://ckeditor.com/addon/image2): hovering the image causes it to change. +* [#10866](http://dev.ckeditor.com/ticket/10866): Fixed: Broken *Tab* key navigation in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. +* [#10833](http://dev.ckeditor.com/ticket/10833): Fixed: *Lock ratio* option should be on by default in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. +* [#10881](http://dev.ckeditor.com/ticket/10881): Various improvements to *Enter* key behavior in nested editables. +* [#10879](http://dev.ckeditor.com/ticket/10879): [Remove Format](http://ckeditor.com/addon/removeformat) should not leak from a nested editable. +* [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: [WebSpellChecker](http://ckeditor.com/addon/wsc) fails to apply changes if a nested editable was focused. +* [#10877](http://dev.ckeditor.com/ticket/10877): Fixed: [SCAYT](http://ckeditor.com/addon/wsc) blocks typing in nested editables. +* [#11079](http://dev.ckeditor.com/ticket/11079): Add button icons to the [Placeholder](http://ckeditor.com/addon/placeholder) sample. +* [#10870](http://dev.ckeditor.com/ticket/10870): The `paste` command is no longer being disabled when the clipboard is empty. +* [#10854](http://dev.ckeditor.com/ticket/10854): Fixed: Firefox prepends `<br>` to `<body>`, so it is stripped by the HTML data processor. +* [#10823](http://dev.ckeditor.com/ticket/10823): Fixed: [Link](http://ckeditor.com/addon/link) plugin does not work with non-editable content. +* [#10828](http://dev.ckeditor.com/ticket/10828): [Magic Line](http://ckeditor.com/addon/magicline) integration with the Widget System. +* [#10865](http://dev.ckeditor.com/ticket/10865): Improved hiding copybin, so copying widgets works smoothly. +* [#11066](http://dev.ckeditor.com/ticket/11066): Widget's private parts use CSS reset. +* [#11027](http://dev.ckeditor.com/ticket/11027): Fixed: Block commands break on widgets; added the [`contentDomInvalidated`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-contentDomInvalidated) event. +* [#10430](http://dev.ckeditor.com/ticket/10430): Resolve dependence of the [Image](http://ckeditor.com/addon/image) plugin on the [Form Elements](http://ckeditor.com/addon/forms) plugin. +* [#10911](http://dev.ckeditor.com/ticket/10911): Fixed: Browser *Alt* hotkeys will no longer be blocked while a widget is focused. +* [#11082](http://dev.ckeditor.com/ticket/11082): Fixed: Selected widget is not copied or cut when using toolbar buttons or context menu. +* [#11083](http://dev.ckeditor.com/ticket/11083): Fixed list and div element application to block widgets. +* [#10887](http://dev.ckeditor.com/ticket/10887): Internet Explorer 8 compatibility issues related to the Widget System. +* [#11074](http://dev.ckeditor.com/ticket/11074): Temporarily disabled inline widget drag and drop, because of seriously buggy native `range#moveToPoint` method. +* [#11098](http://dev.ckeditor.com/ticket/11098): Fixed: Wrong selection position after undoing widget drag and drop. +* [#11110](http://dev.ckeditor.com/ticket/11110): Fixed: IFrame and Flash objects are being incorrectly pasted in certain conditions. +* [#11129](http://dev.ckeditor.com/ticket/11129): Page break is lost when loading data. +* [#11123](http://dev.ckeditor.com/ticket/11123): [Firefox] Widget is destroyed after being dragged outside of `<body>`. +* [#11124](http://dev.ckeditor.com/ticket/11124): Fixed the [Elements Path](http://ckeditor.com/addon/elementspath) in an editor using the [Div Editing Area](http://ckeditor.com/addon/divarea). + +## CKEditor 4.3 Beta + +New Features: + +* [#9764](http://dev.ckeditor.com/ticket/9764): Widget System. + * [Widget plugin](http://ckeditor.com/addon/widget) introducing the [Widget API](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget). + * New [`editor.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-enterMode) and [`editor.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-shiftEnterMode) properties – normalized versions of [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) and [`config.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode). + * Dynamic editor settings. Starting from CKEditor 4.3 Beta, *Enter* mode values and [content filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) instances may be changed dynamically (for example when the caret was placed in an element in which editor features should be adjusted). When you are implementing a new editor feature, you should base its behavior on [dynamic](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeEnterMode) or [static](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-enterMode) *Enter* mode values depending on whether this feature works in selection context or globally on editor content. + * Dynamic *Enter* mode values – [`editor.setActiveEnterMode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setActiveEnterMode) method, [`editor.activeEnterModeChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-activeEnterModeChange) event, and two properties: [`editor.activeEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeEnterMode) and [`editor.activeShiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeShiftEnterMode). + * Dynamic content filter instances – [`editor.setActiveFilter()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setActiveFilter) method, [`editor.activeFilterChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-activeFilterChange) event, and [`editor.activeFilter`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-activeFilter) property. + * "Fake" selection was introduced. It makes it possible to virtually select any element when the real selection remains hidden. See the [`selection.fake()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-fake) method. + * Default [`htmlParser.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are not applied to non-editable elements (elements with `contenteditable` attribute set to `false` and their descendants) anymore. To add a rule which will be applied to all elements you need to pass an additional argument to the [`filter.addRules()`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter-method-addRules) method. + * Dozens of new methods were introduced – most interesting ones: + * [`document.find()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.document-method-find), + * [`document.findOne()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.document-method-findOne), + * [`editable.insertElementIntoRange()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElementIntoRange), + * [`range.moveToClosestEditablePosition()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-moveToClosestEditablePosition), + * New methods for [`htmlParser.node`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.node) and [`htmlParser.element`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.element). +* [#10659](http://dev.ckeditor.com/ticket/10659): New [Enhanced Image](http://ckeditor.com/addon/image2) plugin that introduces a widget with integrated image captions, an option to center images, and dynamic "click and drag" resizing. +* [#10664](http://dev.ckeditor.com/ticket/10664): New [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin that introduces the MathJax widget. +* [#7987](https://dev.ckeditor.com/ticket/7987): New [Language](http://ckeditor.com/addon/language) plugin that implements Language toolbar button to support [WCAG 3.1.2 Language of Parts](http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html). +* [#10708](http://dev.ckeditor.com/ticket/10708): New [smileys](http://ckeditor.com/addon/smiley). + +## CKEditor 4.2.3 + +Fixed Issues: + +* [#10994](http://dev.ckeditor.com/ticket/10994): Fixed: Loading external jQuery library when opening the [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) sample directly from file. +* [#10975](http://dev.ckeditor.com/ticket/10975): [IE] Fixed: Error thrown while opening the color palette. +* [#9929](http://dev.ckeditor.com/ticket/9929): [Blink/WebKit] Fixed: A non-breaking space is created once a character is deleted and a regular space is typed. +* [#10963](http://dev.ckeditor.com/ticket/10963): Fixed: JAWS issue with the keyboard shortcut for [Magic Line](http://ckeditor.com/addon/magicline). +* [#11096](http://dev.ckeditor.com/ticket/11096): Fixed: TypeError: Object has no method 'is'. + +## CKEditor 4.2.2 + +Fixed Issues: + +* [#9314](http://dev.ckeditor.com/ticket/9314): Fixed: Incorrect error message on closing a dialog window without saving changs. +* [#10308](http://dev.ckeditor.com/ticket/10308): [IE10] Fixed: Unspecified error when deleting a row. +* [#10945](http://dev.ckeditor.com/ticket/10945): [Chrome] Fixed: Clicking with a mouse inside the editor does not show the caret. +* [#10912](http://dev.ckeditor.com/ticket/10912): Prevent default action when content of a non-editable link is clicked. +* [#10913](http://dev.ckeditor.com/ticket/10913): Fixed [`CKEDITOR.plugins.addExternal()`](http://docs.ckeditor.com/#!/api/CKEDITOR.resourceManager-method-addExternal) not handling paths including file name specified. +* [#10666](http://dev.ckeditor.com/ticket/10666): Fixed [`CKEDITOR.tools.isArray()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-isArray) not working cross frame. +* [#10910](http://dev.ckeditor.com/ticket/10910): [IE9] Fixed JavaScript error thrown in Compatibility Mode when clicking and/or typing in the editing area. +* [#10868](http://dev.ckeditor.com/ticket/10868): [IE8] Prevent the browser from crashing when applying the Inline Quotation style. +* [#10915](http://dev.ckeditor.com/ticket/10915): Fixed: Invalid CSS filter in the Kama skin. +* [#10914](http://dev.ckeditor.com/ticket/10914): Plugins [Indent List](http://ckeditor.com/addon/indentlist) and [Indent Block](http://ckeditor.com/addon/indentblock) are now included in the build configuration. +* [#10812](http://dev.ckeditor.com/ticket/10812): Fixed [`range.createBookmark2()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-createBookmark2) incorrectly normalizing offsets. This bug was causing many issues: [#10850](http://dev.ckeditor.com/ticket/10850), [#10842](http://dev.ckeditor.com/ticket/10842). +* [#10951](http://dev.ckeditor.com/ticket/10951): Reviewed and optimized focus handling on panels (combo, menu buttons, color buttons, and context menu) to enhance accessibility. Fixed [#10705](http://dev.ckeditor.com/ticket/10705), [#10706](http://dev.ckeditor.com/ticket/10706) and [#10707](http://dev.ckeditor.com/ticket/10707). +* [#10704](http://dev.ckeditor.com/ticket/10704): Fixed a JAWS issue with the Select Color dialog window title not being announced. +* [#10753](http://dev.ckeditor.com/ticket/10753): The floating toolbar in inline instances now has a dedicated accessibility label. + +## CKEditor 4.2.1 + +Fixed Issues: + +* [#10301](http://dev.ckeditor.com/ticket/10301): [IE9-10] Undo fails after 3+ consecutive paste actions with a JavaScript error. +* [#10689](http://dev.ckeditor.com/ticket/10689): Save toolbar button saves only the first editor instance. +* [#10368](http://dev.ckeditor.com/ticket/10368): Move language reading direction definition (`dir`) from main language file to core. +* [#9330](http://dev.ckeditor.com/ticket/9330): Fixed pasting anchors from MS Word. +* [#8103](http://dev.ckeditor.com/ticket/8103): Fixed pasting nested lists from MS Word. +* [#9958](http://dev.ckeditor.com/ticket/9958): [IE9] Pressing the "OK" button will trigger the `onbeforeunload` event in the popup dialog. +* [#10662](http://dev.ckeditor.com/ticket/10662): Fixed styles from the Styles drop-down list not registering to the ACF in case when the [Shared Spaces plugin](http://ckeditor.com/addon/sharedspace) is used. +* [#9654](http://dev.ckeditor.com/ticket/9654): Problems with Internet Explorer 10 Quirks Mode. +* [#9816](http://dev.ckeditor.com/ticket/9816): Floating toolbar does not reposition vertically in several cases. +* [#10646](http://dev.ckeditor.com/ticket/10646): Removing a selected sublist or nested table with *Backspace/Delete* removes the parent element. +* [#10623](http://dev.ckeditor.com/ticket/10623): [WebKit] Page is scrolled when opening a drop-down list. +* [#10004](http://dev.ckeditor.com/ticket/10004): [ChromeVox] Button names are not announced. +* [#10731](http://dev.ckeditor.com/ticket/10731): [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin breaks cloning of editor configuration. +* It is now possible to set per instance [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin configuration instead of setting the configuration globally. + +## CKEditor 4.2 + +**Important Notes:** + +* Dropped compatibility support for Internet Explorer 7 and Firefox 3.6. + +* Both the Basic and the Standard distribution packages will not contain the new [Indent Block](http://ckeditor.com/addon/indentblock) plugin. Because of this the [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) might remove block indentations from existing contents. If you want to prevent this, either [add an appropriate ACF rule to your filter](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules) or create a custom build based on the Basic/Standard package and add the Indent Block plugin in [CKBuilder](http://ckeditor.com/builder). + +New Features: + +* [#10027](http://dev.ckeditor.com/ticket/10027): Separated list and block indentation into two plugins: [Indent List](http://ckeditor.com/addon/indentlist) and [Indent Block](http://ckeditor.com/addon/indentblock). +* [#8244](http://dev.ckeditor.com/ticket/8244): Use *(Shift+)Tab* to indent and outdent lists. +* [#10281](http://dev.ckeditor.com/ticket/10281): The [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) is now available. Several jQuery-related issues fixed: [#8261](http://dev.ckeditor.com/ticket/8261), [#9077](http://dev.ckeditor.com/ticket/9077), [#8710](http://dev.ckeditor.com/ticket/8710), [#8530](http://dev.ckeditor.com/ticket/8530), [#9019](http://dev.ckeditor.com/ticket/9019), [#6181](http://dev.ckeditor.com/ticket/6181), [#7876](http://dev.ckeditor.com/ticket/7876), [#6906](http://dev.ckeditor.com/ticket/6906). +* [#10042](http://dev.ckeditor.com/ticket/10042): Introduced [`config.title`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-title) setting to change the human-readable title of the editor. +* [#9794](http://dev.ckeditor.com/ticket/9794): Added [`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event. +* [#9923](http://dev.ckeditor.com/ticket/9923): HiDPI support in the editor UI. HiDPI icons for [Moono skin](http://ckeditor.com/addon/moono) added. +* [#8031](http://dev.ckeditor.com/ticket/8031): Handle `required` attributes on `<textarea>` elements — introduced [`editor.required`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-required) event. +* [#10280](http://dev.ckeditor.com/ticket/10280): Ability to replace `<textarea>` elements with the inline editor. + +Fixed Issues: + +* [#10599](http://dev.ckeditor.com/ticket/10599): [Indent](http://ckeditor.com/addon/indent) plugin is no longer required by the [List](http://ckeditor.com/addon/list) plugin. +* [#10370](http://dev.ckeditor.com/ticket/10370): Inconsistency in data events between framed and inline editors. +* [#10438](http://dev.ckeditor.com/ticket/10438): [FF, IE] No selection is done on an editable element on executing [`editor.setData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData). + +## CKEditor 4.1.3 + +New Features: + +* Added new translation: Indonesian. + +Fixed Issues: + +* [#10644](http://dev.ckeditor.com/ticket/10644): Fixed a critical bug when pasting plain text in Blink-based browsers. +* [#5189](http://dev.ckeditor.com/ticket/5189): [Find/Replace](http://ckeditor.com/addon/find) dialog window: rename "Cancel" button to "Close". +* [#10562](http://dev.ckeditor.com/ticket/10562): [Housekeeping] Unified CSS gradient filter formats in the [Moono](http://ckeditor.com/addon/moono) skin. +* [#10537](http://dev.ckeditor.com/ticket/10537): Advanced Content Filter should register a default rule for [`config.shiftEnterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode). +* [#10610](http://dev.ckeditor.com/ticket/10610): [`CKEDITOR.dialog.addIframe()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-static-method-addIframe) incorrectly sets the iframe size in dialog windows. + +## CKEditor 4.1.2 + +New Features: + +* Added new translation: Sinhala. + +Fixed Issues: + +* [#10339](http://dev.ckeditor.com/ticket/10339): Fixed: Error thrown when inserted data was totally stripped out after filtering and processing. +* [#10298](http://dev.ckeditor.com/ticket/10298): Fixed: Data processor breaks attributes containing protected parts. +* [#10367](http://dev.ckeditor.com/ticket/10367): Fixed: [`editable.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertText) loses characters when `RegExp` replace controls are being inserted. +* [#10165](http://dev.ckeditor.com/ticket/10165): [IE] Access denied error when `document.domain` has been altered. +* [#9761](http://dev.ckeditor.com/ticket/9761): Update the *Backspace* key state in [`keystrokeHandler.blockedKeystrokes`](http://docs.ckeditor.com/#!/api/CKEDITOR.keystrokeHandler-property-blockedKeystrokes) when calling [`editor.setReadOnly()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setReadOnly). +* [#6504](http://dev.ckeditor.com/ticket/6504): Fixed: Race condition while loading several [`config.customConfig`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-customConfig) files. +* [#10146](http://dev.ckeditor.com/ticket/10146): [Firefox] Empty lines are being removed while [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is [`CKEDITOR.ENTER_BR`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-ENTER_BR). +* [#10360](http://dev.ckeditor.com/ticket/10360): Fixed: ARIA `role="application"` should not be used for dialog windows. +* [#10361](http://dev.ckeditor.com/ticket/10361): Fixed: ARIA `role="application"` should not be used for floating panels. +* [#10510](http://dev.ckeditor.com/ticket/10510): Introduced unique voice labels to differentiate between different editor instances. +* [#9945](http://dev.ckeditor.com/ticket/9945): [iOS] Scrolling not possible on iPad. +* [#10389](http://dev.ckeditor.com/ticket/10389): Fixed: Invalid HTML in the "Text and Table" template. +* [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin user interface was changed to match CKEditor 4 style. + +## CKEditor 4.1.1 + +New Features: + +* Added new translation: Albanian. + +Fixed Issues: + +* [#10172](http://dev.ckeditor.com/ticket/10172): Pressing *Delete* or *Backspace* in an empty table cell moves the cursor to the next/previous cell. +* [#10219](http://dev.ckeditor.com/ticket/10219): Error thrown when destroying an editor instance in parallel with a `mouseup` event. +* [#10265](http://dev.ckeditor.com/ticket/10265): Wrong loop type in the [File Browser](http://ckeditor.com/addon/filebrowser) plugin. +* [#10249](http://dev.ckeditor.com/ticket/10249): Wrong undo/redo states at start. +* [#10268](http://dev.ckeditor.com/ticket/10268): [Show Blocks](http://ckeditor.com/addon/showblocks) does not recover after switching to Source view. +* [#9995](http://dev.ckeditor.com/ticket/9995): HTML code in the `<textarea>` should not be modified by the [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor). +* [#10320](http://dev.ckeditor.com/ticket/10320): [Justify](http://ckeditor.com/addon/justify) plugin should add elements to Advanced Content Filter based on current [Enter mode](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode). +* [#10260](http://dev.ckeditor.com/ticket/10260): Fixed: Advanced Content Filter blocks [`tabSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-tabSpaces). Unified `data-cke-*` attributes filtering. +* [#10315](http://dev.ckeditor.com/ticket/10315): [WebKit] [Undo manager](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager) should not record snapshots after a filling character was added/removed. +* [#10291](http://dev.ckeditor.com/ticket/10291): [WebKit] Space after a filling character should be secured. +* [#10330](http://dev.ckeditor.com/ticket/10330): [WebKit] The filling character is not removed on `keydown` in specific cases. +* [#10285](http://dev.ckeditor.com/ticket/10285): Fixed: Styled text pasted from MS Word causes an infinite loop. +* [#10131](http://dev.ckeditor.com/ticket/10131): Fixed: [`undoManager.update()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.undo.UndoManager-method-update) does not refresh the command state. +* [#10337](http://dev.ckeditor.com/ticket/10337): Fixed: Unable to remove `<s>` using [Remove Format](http://ckeditor.com/addon/removeformat). + +## CKEditor 4.1 + +Fixed Issues: + +* [#10192](http://dev.ckeditor.com/ticket/10192): Closing lists with the *Enter* key does not work with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) in several cases. +* [#10191](http://dev.ckeditor.com/ticket/10191): Fixed allowed content rules unification, so the [`filter.allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-allowedContent) property always contains rules in the same format. +* [#10224](http://dev.ckeditor.com/ticket/10224): Advanced Content Filter does not remove non-empty `<a>` elements anymore. +* Minor issues in plugin integration with Advanced Content Filter: + * [#10166](http://dev.ckeditor.com/ticket/10166): Added transformation from the `align` attribute to `float` style to preserve backward compatibility after the introduction of Advanced Content Filter. + * [#10195](http://dev.ckeditor.com/ticket/10195): [Image](http://ckeditor.com/addon/image) plugin no longer registers rules for links to Advanced Content Filter. + * [#10213](http://dev.ckeditor.com/ticket/10213): [Justify](http://ckeditor.com/addon/justify) plugin is now correctly registering rules to Advanced Content Filter when [`config.justifyClasses`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-justifyClasses) is defined. + +## CKEditor 4.1 RC + +New Features: + +* [#9829](http://dev.ckeditor.com/ticket/9829): Advanced Content Filter - data and features activation based on editor configuration. + + Brand new data filtering system that works in 2 modes: + + * Based on loaded features (toolbar items, plugins) - the data will be filtered according to what the editor in its + current configuration can handle. + * Based on [`config.allowedContent`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-allowedContent) rules - the data + will be filtered and the editor features (toolbar items, commands, keystrokes) will be enabled if they are allowed. + + See the `datafiltering.html` sample, [guides](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) and [`CKEDITOR.filter` API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.filter). +* [#9387](http://dev.ckeditor.com/ticket/9387): Reintroduced [Shared Spaces](http://ckeditor.com/addon/sharedspace) - the ability to display toolbar and bottom editor space in selected locations and to share them by different editor instances. +* [#9907](http://dev.ckeditor.com/ticket/9907): Added the [`contentPreview`](http://docs.ckeditor.com/#!/api/CKEDITOR-event-contentPreview) event for preview data manipulation. +* [#9713](http://dev.ckeditor.com/ticket/9713): Introduced the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin that brings raw HTML editing for inline editor instances. +* Included in [#9829](http://dev.ckeditor.com/ticket/9829): Introduced new events, [`toHtml`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toHtml) and [`toDataFormat`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toDataFormat), allowing for better integration with data processing. +* [#9981](http://dev.ckeditor.com/ticket/9981): Added ability to filter [`htmlParser.fragment`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.fragment), [`htmlParser.element`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.element) etc. by many [`htmlParser.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter)s before writing structure to an HTML string. +* Included in [#10103](http://dev.ckeditor.com/ticket/10103): + * Introduced the [`editor.status`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-status) property to make it easier to check the current status of the editor. + * Default [`command`](http://docs.ckeditor.com/#!/api/CKEDITOR.command) state is now [`CKEDITOR.TRISTATE_DISABLE`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-TRISTATE_DISABLED). It will be activated on [`editor.instanceReady`](http://docs.ckeditor.com/#!/api/CKEDITOR-event-instanceReady) or immediately after being added if the editor is already initialized. +* [#9796](http://dev.ckeditor.com/ticket/9796): Introduced `<s>` as a default tag for strikethrough, which replaces obsolete `<strike>` in HTML5. + +## CKEditor 4.0.3 + +Fixed Issues: + +* [#10196](http://dev.ckeditor.com/ticket/10196): Fixed context menus not opening with keyboard shortcuts when [Autogrow](http://ckeditor.com/addon/autogrow) is enabled. +* [#10212](http://dev.ckeditor.com/ticket/10212): [IE7-10] Undo command throws errors after multiple switches between Source and WYSIWYG view. +* [#10219](http://dev.ckeditor.com/ticket/10219): [Inline editor] Error thrown after calling [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy). + +## CKEditor 4.0.2 + +Fixed Issues: + +* [#9779](http://dev.ckeditor.com/ticket/9779): Fixed overriding [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl) with `CKEDITOR_GETURL`. +* [#9772](http://dev.ckeditor.com/ticket/9772): Custom buttons in the dialog window footer have different look and size ([Moono](http://ckeditor.com/addon/moono), [Kama](http://ckeditor.com/addon/kama) skins). +* [#9029](http://dev.ckeditor.com/ticket/9029): Custom styles added with the [`stylesSet.add()`](http://docs.ckeditor.com/#!/api/CKEDITOR.stylesSet-method-add) are displayed in the wrong order. +* [#9887](http://dev.ckeditor.com/ticket/9887): Disable [Magic Line](http://ckeditor.com/addon/magicline) when [`editor.readOnly`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) is set. +* [#9882](http://dev.ckeditor.com/ticket/9882): Fixed empty document title on [`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData) if set via the Document Properties dialog window. +* [#9773](http://dev.ckeditor.com/ticket/9773): Fixed rendering problems with selection fields in the Kama skin. +* [#9851](http://dev.ckeditor.com/ticket/9851): The [`selectionChange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-selectionChange) event is not fired when mouse selection ended outside editable. +* [#9903](http://dev.ckeditor.com/ticket/9903): [Inline editor] Bad positioning of floating space with page horizontal scroll. +* [#9872](http://dev.ckeditor.com/ticket/9872): [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) returns `true` when called onload. Removed the obsolete `editor.mayBeDirty` flag. +* [#9893](http://dev.ckeditor.com/ticket/9893): [IE] Fixed broken toolbar when editing mixed direction content in Quirks mode. +* [#9845](http://dev.ckeditor.com/ticket/9845): Fixed TAB navigation in the [Link](http://ckeditor.com/addon/link) dialog window when the Anchor option is used and no anchors are available. +* [#9883](http://dev.ckeditor.com/ticket/9883): Maximizing was making the entire page editable with [divarea](http://ckeditor.com/addon/divarea)-based editors. +* [#9940](http://dev.ckeditor.com/ticket/9940): [Firefox] Navigating back to a page with the editor was making the entire page editable. +* [#9966](http://dev.ckeditor.com/ticket/9966): Fixed: Unable to type square brackets with French keyboard layout. Changed [Magic Line](http://ckeditor.com/addon/magicline) keystrokes. +* [#9507](http://dev.ckeditor.com/ticket/9507): [Firefox] Selection is moved before editable position when the editor is focused for the first time. +* [#9947](http://dev.ckeditor.com/ticket/9947): [WebKit] Editor overflows parent container in some edge cases. +* [#10105](http://dev.ckeditor.com/ticket/10105): Fixed: Broken [sourcearea](http://ckeditor.com/addon/sourcearea) view when an RTL language is set. +* [#10123](http://dev.ckeditor.com/ticket/10123): [WebKit] Fixed: Several dialog windows have broken layout since the latest WebKit release. +* [#10152](http://dev.ckeditor.com/ticket/10152): Fixed: Invalid ARIA property used on menu items. + +## CKEditor 4.0.1.1 + +Fixed Issues: + +* Security update: Added protection against XSS attack and possible path disclosure in the PHP sample. + +## CKEditor 4.0.1 + +Fixed Issues: + +* [#9655](http://dev.ckeditor.com/ticket/9655): Support for IE Quirks Mode in the new [Moono skin](http://ckeditor.com/addon/moono). +* Accessibility issues (mainly in inline editor): [#9364](http://dev.ckeditor.com/ticket/9364), [#9368](http://dev.ckeditor.com/ticket/9368), [#9369](http://dev.ckeditor.com/ticket/9369), [#9370](http://dev.ckeditor.com/ticket/9370), [#9541](http://dev.ckeditor.com/ticket/9541), [#9543](http://dev.ckeditor.com/ticket/9543), [#9841](http://dev.ckeditor.com/ticket/9841), [#9844](http://dev.ckeditor.com/ticket/9844). +* [Magic Line](http://ckeditor.com/addon/magicline) plugin: + * [#9481](http://dev.ckeditor.com/ticket/9481): Added accessibility support for Magic Line. + * [#9509](http://dev.ckeditor.com/ticket/9509): Added Magic Line support for forms. + * [#9573](http://dev.ckeditor.com/ticket/9573): Magic Line does not disappear on `mouseout` in a specific case. +* [#9754](http://dev.ckeditor.com/ticket/9754): [WebKit] Cutting & pasting simple unformatted text generates an inline wrapper in WebKit browsers. +* [#9456](http://dev.ckeditor.com/ticket/9456): [Chrome] Properly paste bullet list style from MS Word. +* [#9699](http://dev.ckeditor.com/ticket/9699), [#9758](http://dev.ckeditor.com/ticket/9758): Improved selection locking when selecting by dragging. +* Context menu: + * [#9712](http://dev.ckeditor.com/ticket/9712): Opening the context menu destroys editor focus. + * [#9366](http://dev.ckeditor.com/ticket/9366): Context menu should be displayed over the floating toolbar. + * [#9706](http://dev.ckeditor.com/ticket/9706): Context menu generates a JavaScript error in inline mode when the editor is attached to a header element. +* [#9800](http://dev.ckeditor.com/ticket/9800): Hide float panel when resizing the window. +* [#9721](http://dev.ckeditor.com/ticket/9721): Padding in content of div-based editor puts the editing area under the bottom UI space. +* [#9528](http://dev.ckeditor.com/ticket/9528): Host page `box-sizing` style should not influence the editor UI elements. +* [#9503](http://dev.ckeditor.com/ticket/9503): [Form Elements](http://ckeditor.com/addon/forms) plugin adds context menu listeners only on supported input types. Added support for `tel`, `email`, `search` and `url` input types. +* [#9769](http://dev.ckeditor.com/ticket/9769): Improved floating toolbar positioning in a narrow window. +* [#9875](http://dev.ckeditor.com/ticket/9875): Table dialog window does not populate width correctly. +* [#8675](http://dev.ckeditor.com/ticket/8675): Deleting cells in a nested table removes the outer table cell. +* [#9815](http://dev.ckeditor.com/ticket/9815): Cannot edit dialog window fields in an editor initialized in the jQuery UI modal dialog. +* [#8888](http://dev.ckeditor.com/ticket/8888): CKEditor dialog windows do not show completely in a small window. +* [#9360](http://dev.ckeditor.com/ticket/9360): [Inline editor] Blocks shown for a `<div>` element stay permanently even after the user exits editing the `<div>`. +* [#9531](http://dev.ckeditor.com/ticket/9531): [Firefox & Inline editor] Toolbar is lost when closing the Format drop-down list by clicking its button. +* [#9553](http://dev.ckeditor.com/ticket/9553): Table width incorrectly set when the `border-width` style is specified. +* [#9594](http://dev.ckeditor.com/ticket/9594): Cannot tab past CKEditor when it is in read-only mode. +* [#9658](http://dev.ckeditor.com/ticket/9658): [IE9] Justify not working on selected images. +* [#9686](http://dev.ckeditor.com/ticket/9686): Added missing contents styles for `<pre>` elements. +* [#9709](http://dev.ckeditor.com/ticket/9709): [Paste from Word](http://ckeditor.com/addon/pastefromword) should not depend on configuration from other styles. +* [#9726](http://dev.ckeditor.com/ticket/9726): Removed [Color Dialog](http://ckeditor.com/addon/colordialog) plugin dependency from [Table Tools](http://ckeditor.com/addon/tabletools). +* [#9765](http://dev.ckeditor.com/ticket/9765): Toolbar Collapse command documented incorrectly in the [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp) dialog window. +* [#9771](http://dev.ckeditor.com/ticket/9771): [WebKit & Opera] Fixed scrolling issues when pasting. +* [#9787](http://dev.ckeditor.com/ticket/9787): [IE9] `onChange` is not fired for checkboxes in dialogs. +* [#9842](http://dev.ckeditor.com/ticket/9842): [Firefox 17] When opening a toolbar menu for the first time and pressing the *Down Arrow* key, focus goes to the next toolbar button instead of the menu options. +* [#9847](http://dev.ckeditor.com/ticket/9847): [Elements Path](http://ckeditor.com/addon/elementspath) should not be initialized in the inline editor. +* [#9853](http://dev.ckeditor.com/ticket/9853): [`editor.addRemoveFormatFilter()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-addRemoveFormatFilter) is exposed before it really works. +* [#8893](http://dev.ckeditor.com/ticket/8893): Value of the [`pasteFromWordCleanupFile`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordCleanupFile) configuration option is now taken from the instance configuration. +* [#9693](http://dev.ckeditor.com/ticket/9693): Removed "Live Preview" checkbox from UI color picker. + + +## CKEditor 4.0 + +The first stable release of the new CKEditor 4 code line. + +The CKEditor JavaScript API has been kept compatible with CKEditor 4, whenever +possible. The list of relevant changes can be found in the [API Changes page of +the CKEditor 4 documentation][1]. + +[1]: http://docs.ckeditor.com/#!/guide/dev_api_changes "API Changes" diff --git a/scripts/ckeditor/LICENSE.md b/scripts/ckeditor/LICENSE.md old mode 100755 new mode 100644 index afc4a3cd..db93b365 --- a/scripts/ckeditor/LICENSE.md +++ b/scripts/ckeditor/LICENSE.md @@ -1,1274 +1,1416 @@ -Software License Agreement -========================== - -CKEditor - The text editor for Internet - http://ckeditor.com -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - -Licensed under the terms of any of the following licenses at your -choice: - - - GNU General Public License Version 2 or later (the "GPL") - http://www.gnu.org/licenses/gpl.html - (See Appendix A) - - - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - http://www.gnu.org/licenses/lgpl.html - (See Appendix B) - - - Mozilla Public License Version 1.1 or later (the "MPL") - http://www.mozilla.org/MPL/MPL-1.1.html - (See Appendix C) - -You are not required to, but if you want to explicitly declare the -license you have chosen to be bound to when using, reproducing, -modifying and distributing this software, just include a text file -titled "legal.txt" in your version of this software, indicating your -license choice. In any case, your choice will not restrict any -recipient of your version of this software to use, reproduce, modify -and distribute this software under any of the above licenses. - -Sources of Intellectual Property Included in CKEditor ------------------------------------------------------ - -Where not otherwise indicated, all CKEditor content is authored by -CKSource engineers and consists of CKSource-owned intellectual -property. In some specific instances, CKEditor will incorporate work -done by developers outside of CKSource with their express permission. - -(Ignore this line: %REMOVE_START%) - -Software available at our repository and developer version only: - -JavaScript Lint: At _dev/_thirdparty/jsl can be found the executable -files of JavaScript Lint, which are licensed under the terms of the -Mozilla Public License Version 1.1 (http://www.mozilla.org/MPL/). -JavaScript Lint is Copyright (c) 2006 Matthias Miller. - -(Ignore this line: %REMOVE_END%) -Trademarks ----------- - -CKEditor is a trademark of CKSource - Frederico Knabben. All other brand -and product names are trademarks, registered trademarks or service -marks of their respective holders. - ---- - -Appendix A: The GPL License ---------------------------- - -GNU GENERAL PUBLIC LICENSE -Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software-to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - -GNU GENERAL PUBLIC LICENSE -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - -NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - - -Appendix B: The LGPL License ----------------------------- - -GNU LESSER GENERAL PUBLIC LICENSE -Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - -Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software-to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages-typically libraries-of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - -GNU LESSER GENERAL PUBLIC LICENSE -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - -NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - -END OF TERMS AND CONDITIONS - - -Appendix C: The MPL License ---------------------------- - -MOZILLA PUBLIC LICENSE -Version 1.1 - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] +Software License Agreement +========================== + +CKEditor - The text editor for Internet - http://ckeditor.com +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your +choice: + + - GNU General Public License Version 2 or later (the "GPL") + http://www.gnu.org/licenses/gpl.html + (See Appendix A) + + - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + http://www.gnu.org/licenses/lgpl.html + (See Appendix B) + + - Mozilla Public License Version 1.1 or later (the "MPL") + http://www.mozilla.org/MPL/MPL-1.1.html + (See Appendix C) + +You are not required to, but if you want to explicitly declare the +license you have chosen to be bound to when using, reproducing, +modifying and distributing this software, just include a text file +titled "legal.txt" in your version of this software, indicating your +license choice. In any case, your choice will not restrict any +recipient of your version of this software to use, reproduce, modify +and distribute this software under any of the above licenses. + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by +CKSource engineers and consists of CKSource-owned intellectual +property. In some specific instances, CKEditor will incorporate work +done by developers outside of CKSource with their express permission. + +The following libraries are included in CKEditor under the MIT license (see Appendix D): + +* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2015, CKSource - Frederico Knabben. +* PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca. +* CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others. + +The following libraries are included in CKEditor under the SIL Open Font License, Version 1.1 (see Appendix E): + +* Font Awesome (included in the toolbar configurator) - Copyright (C) 2012 by Dave Gandy. + +The following libraries are included in CKEditor under the BSD-3 License (see Appendix F): + +* highlight.js (included in the `codesnippet` plugin) - Copyright (c) 2006, Ivan Sagalaev. +* YUI Library (included in the `uicolor` plugin) - Copyright (c) 2009, Yahoo! Inc. + + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand +and product names are trademarks, registered trademarks or service +marks of their respective holders. + +--- + +Appendix A: The GPL License +--------------------------- + +``` +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software-to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS +``` + +Appendix B: The LGPL License +---------------------------- + +``` +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software-to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages-typically libraries-of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +GNU LESSER GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS +``` + +Appendix C: The MPL License +--------------------------- + +``` +MOZILLA PUBLIC LICENSE +Version 1.1 + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] +``` + +Appendix D: The MIT License +--------------------------- + +``` +The MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` + +Appendix E: The SIL Open Font License Version 1.1 +--------------------------------------------- + +``` +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. +``` + +Appendix F: The BSD-3 License +----------------------------- + +``` +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + diff --git a/scripts/ckeditor/README.md b/scripts/ckeditor/README.md old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/adapters/jquery.js b/scripts/ckeditor/adapters/jquery.js new file mode 100644 index 00000000..36077a48 --- /dev/null +++ b/scripts/ckeditor/adapters/jquery.js @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw Error("CKEditor should be loaded before CKEditor jQuery adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a}, +ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if(!a.isFunction(g))var k=d,d=g,g=k;var i=[],d=d||{};this.each(function(){var b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,j=new a.Deferred;i.push(j.promise());if(c&&!f)g&&g.apply(c,[this]),j.resolve();else if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),j.resolve()):setTimeout(arguments.callee,100)},0)},null, +null,9999);else{if(d.autoUpdateElement||"undefined"==typeof d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor", +[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize", +c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);j.resolve()}else setTimeout(arguments.callee,100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,i).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(d){if(arguments.length){var k= +this,i=[],f=this.each(function(){var b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new a.Deferred;c.setData(d,function(){f.resolve()});i.push(f.promise());return!0}return g.call(b,d)});if(i.length){var b=new a.Deferred;a.when.apply(this,i).done(function(){b.resolveWith(k)});return b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery); \ No newline at end of file diff --git a/scripts/ckeditor/bender.js b/scripts/ckeditor/bender.js deleted file mode 100755 index d80231f3..00000000 --- a/scripts/ckeditor/bender.js +++ /dev/null @@ -1,117 +0,0 @@ -'use strict'; - -var config = { - - applications: { - ckeditor: { - path: '.', - files: [ - 'ckeditor.js' - ] - } - }, - - assertion: 'yui', - - plugins: [ - 'benderjs-yui', - 'benderjs-jquery', - 'benderjs-ckeditor' - ], - - tests: { - 'Adapters': { - applications: [ 'ckeditor' ], - basePath: 'tests/', - paths: [ - 'adapters/', - '!/_' - ], - jquery: [ '1.7', '1.7.2', '1.8.3', '1.9.1', '1.10.2', '2.0.0' ] - }, - - 'Core': { - applications: [ 'ckeditor' ], - basePath: 'tests/', - paths: [ - 'core/', - '!/_' - ], - regressions: { - // IE8 (#11242) - 'tests/core/style/editor#test apply inline style on non-editable inline element - at non-editable inline boundary': 'env.ie && env.version == 8', - 'tests/core/style/editor#test remove inline style from non-editable inline element - at non-editable inline boundary': 'env.ie && env.version == 8', - - // IE8 (fails only in testing env - window.window === window gives false) - 'tests/core/tools#test_clone_Window': 'env.ie && env.version == 8', - - // Safari (#11111) - 'tests/core/dom/range/enlarge#test_enlarge_element12': 'env.safari', - - // Safari (#11980) - 'tests/core/editable/keystrokes/delbackspacequirks/collapsed#test backspace #2': 'env.safari', - 'tests/core/editable/keystrokes/delbackspacequirks/collapsed#test backspace #3': 'env.safari', - 'tests/core/editable/keystrokes/delbackspacequirks/collapsed#test backspace #9': 'env.safari', - 'tests/core/editable/keystrokes/delbackspacequirks/collapsed#test backspace, merge #2': 'env.safari', - 'tests/core/editable/keystrokes/delbackspacequirks/collapsed#test backspace, merge #3': 'env.safari', - 'tests/core/editable/keystrokes/delbackspacequirks/collapsed#test backspace, merge #8': 'env.safari', - - // Firefox (#12104) - 'tests/core/editor/focus#test blur after setData': 'env.gecko' - } - }, - - 'Plugins': { - applications: [ 'ckeditor' ], - basePath: 'tests/', - paths: [ - 'plugins/', - '!/_' - ], - regressions: { - // IE10 - 'tests/plugins/ajax/ajax#test_loadXml_sync': 'env.ie && env.version > 9', - 'tests/plugins/ajax/ajax#test_loadXml_async': 'env.ie && env.version > 9', - - // IE8 (#11242) - 'tests/plugins/indent/indent#test indent next to inline non-editable': 'env.ie && env.version == 8', - - // IE8 (#11055) - 'tests/plugins/widget/nestededitables#test pasting widget which was copied (d&d) when its nested editable was focused': 'env.ie && env.version == 8', - - // Firefox (#11399) - 'tests/plugins/widget/nestededitables#test selection in nested editable is preserved after opening and closing dialog - inline editor': 'env.gecko', - - // Firefox (#12104) - 'tests/plugins/widget/widgetselection#test focusing widget': 'env.gecko', - 'tests/plugins/widget/widgetselection#test focusing by click': 'env.gecko', - 'tests/plugins/widget/widgetselection#test focus editor when focusing widget by click': 'env.gecko', - 'tests/plugins/widget/widgetselection#test focus editor when focusing widget by method': 'env.gecko' - } - }, - - 'Tickets': { - applications: [ 'ckeditor' ], - basePath: 'tests/', - paths: [ - 'tickets/', - '!/_' - ], - regressions: { - // IE8 & IE9 have problems with loading iframe. - 'tests/tickets/11121/1#test HC detection in hidden iframe': 'env.ie && env.version < 10' - } - }, - - 'Utils': { - applications: [ 'ckeditor' ], - basePath: 'tests/', - paths: [ - 'utils/', - '!/_' - ] - } - } -}; - -module.exports = config; \ No newline at end of file diff --git a/scripts/ckeditor/build-config.js b/scripts/ckeditor/build-config.js old mode 100755 new mode 100644 index e446f47f..9e859f26 --- a/scripts/ckeditor/build-config.js +++ b/scripts/ckeditor/build-config.js @@ -1,5 +1,5 @@ /** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */ @@ -13,10 +13,10 @@ * (1) http://ckeditor.com/builder * Visit online builder to build CKEditor from scratch. * - * (2) http://ckeditor.com/builder/1113842bdc54a1d62d9d96eac156fd49 + * (2) http://ckeditor.com/builder/0692335792da3da48a79f044e6d16a49 * Visit online builder to build CKEditor, starting with the same setup as before. * - * (3) http://ckeditor.com/builder/download/1113842bdc54a1d62d9d96eac156fd49 + * (3) http://ckeditor.com/builder/download/0692335792da3da48a79f044e6d16a49 * Straight download link to the latest version of CKEditor (Optimized) with the same setup as before. * * NOTE: @@ -29,15 +29,21 @@ var CKBUILDER_CONFIG = { preset: 'full', ignore: [ '.bender', - '.DS_Store', - '.gitignore', - '.gitattributes', - '.idea', - '.mailmap', 'bender.js', 'bender-err.log', 'bender-out.log', 'dev', + '.DS_Store', + '.editorconfig', + '.gitattributes', + '.gitignore', + 'gruntfile.js', + '.idea', + '.jscsrc', + '.jshintignore', + '.jshintrc', + 'less', + '.mailmap', 'node_modules', 'package.json', 'README.md', @@ -69,12 +75,12 @@ var CKBUILDER_CONFIG = { 'htmlwriter' : 1, 'iframe' : 1, 'image' : 1, - 'image2' : 1, 'imagepaste' : 1, 'indentblock' : 1, 'indentlist' : 1, 'justify' : 1, 'language' : 1, + 'lineutils' : 1, 'link' : 1, 'list' : 1, 'liststyle' : 1, @@ -103,10 +109,76 @@ var CKBUILDER_CONFIG = { 'templates' : 1, 'toolbar' : 1, 'undo' : 1, + 'widget' : 1, 'wsc' : 1, 'wysiwygarea' : 1 }, languages : { - 'en' : 1 + 'af' : 1, + 'ar' : 1, + 'bg' : 1, + 'bn' : 1, + 'bs' : 1, + 'ca' : 1, + 'cs' : 1, + 'cy' : 1, + 'da' : 1, + 'de' : 1, + 'el' : 1, + 'en' : 1, + 'en-au' : 1, + 'en-ca' : 1, + 'en-gb' : 1, + 'eo' : 1, + 'es' : 1, + 'et' : 1, + 'eu' : 1, + 'fa' : 1, + 'fi' : 1, + 'fo' : 1, + 'fr' : 1, + 'fr-ca' : 1, + 'gl' : 1, + 'gu' : 1, + 'he' : 1, + 'hi' : 1, + 'hr' : 1, + 'hu' : 1, + 'id' : 1, + 'is' : 1, + 'it' : 1, + 'ja' : 1, + 'ka' : 1, + 'km' : 1, + 'ko' : 1, + 'ku' : 1, + 'lt' : 1, + 'lv' : 1, + 'mk' : 1, + 'mn' : 1, + 'ms' : 1, + 'nb' : 1, + 'nl' : 1, + 'no' : 1, + 'pl' : 1, + 'pt' : 1, + 'pt-br' : 1, + 'ro' : 1, + 'ru' : 1, + 'si' : 1, + 'sk' : 1, + 'sl' : 1, + 'sq' : 1, + 'sr' : 1, + 'sr-latn' : 1, + 'sv' : 1, + 'th' : 1, + 'tr' : 1, + 'tt' : 1, + 'ug' : 1, + 'uk' : 1, + 'vi' : 1, + 'zh' : 1, + 'zh-cn' : 1 } }; \ No newline at end of file diff --git a/scripts/ckeditor/ckeditor.js b/scripts/ckeditor/ckeditor.js old mode 100755 new mode 100644 index abb087d1..d31cd9f3 --- a/scripts/ckeditor/ckeditor.js +++ b/scripts/ckeditor/ckeditor.js @@ -1,42 +1,1140 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -// Compressed version of core/ckeditor_base.js. See original for instructions. -/*jsl:ignore*/ -window.CKEDITOR||(window.CKEDITOR=function(){var b={timestamp:"",version:"%VERSION%",revision:"%REV%",rnd:Math.floor(900*Math.random())+100,_:{pending:[]},status:"unloaded",basePath:function(){var a=window.CKEDITOR_BASEPATH||"";if(!a)for(var b=document.getElementsByTagName("script"),c=0;c<b.length;c++){var d=b[c].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(d){a=d[1];break}}-1==a.indexOf(":/")&&"//"!=a.slice(0,2)&&(a=0===a.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+a:location.href.match(/^[^\?]*\/(?:)/)[0]+a);if(!a)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return a}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&"/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a)&&(a+=(0<=a.indexOf("?")?"&":"?")+"t="+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded",a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(d){}}function b(){for(var a;a=c.shift();)a()}var c=[];return function(b){c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(e){}if(document.documentElement.doScroll&&b){var f=function(){try{document.documentElement.doScroll("left")}catch(b){setTimeout(f,1);return}a()};f()}}}}()},e=window.CKEDITOR_GETURL;if(e){var g=b.getUrl;b.getUrl=function(a){return e.call(b,a)||g.call(b,a)}}return b}()); -/*jsl:end*/ - -if ( CKEDITOR.loader ) - CKEDITOR.loader.load( 'ckeditor' ); -else { - // Set the script name to be loaded by the loader. - CKEDITOR._autoLoad = 'ckeditor'; - - // Include the loader script. - if ( document.body && ( !document.readyState || document.readyState == 'complete' ) ) { - var script = document.createElement( 'script' ); - script.type = 'text/javascript'; - script.src = CKEDITOR.getUrl( 'core/loader.js' ); - document.body.appendChild( script ); - } else - document.write( '<script type="text/javascript" src="' + CKEDITOR.getUrl( 'core/loader.js' ) + '"></script>' ); - -} - -/** - * The skin to load for all created instances, it may be the name of the skin - * folder inside the editor installation path, or the name and the path separated - * by a comma. - * - * **Note:** This is a global configuration that applies to all instances. - * - * CKEDITOR.skinName = 'moono'; - * - * CKEDITOR.skinName = 'myskin,/customstuff/myskin/'; - * - * @cfg {String} [skinName='moono'] - * @member CKEDITOR - */ -CKEDITOR.skinName = 'moono'; +/* +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,d={timestamp:"F62B",version:"4.5.1",revision:"a513a92",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var i=c[d].src.match(a);if(i){b=i[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+ +b:location.href.match(/^[^\?]*\/(?:)/)[0]+b);if(!b)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return b}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&("/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a))&&(a+=(0<=a.indexOf("?")?"&":"?")+"t="+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded", +a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(c){}}function b(){for(var a;a=c.shift();)a()}var c=[];return function(b){function d(){try{document.documentElement.doScroll("left")}catch(g){setTimeout(d,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange", +a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(n){}document.documentElement.doScroll&&b&&d()}}}()},b=window.CKEDITOR_GETURL;if(b){var c=d.getUrl;d.getUrl=function(a){return b.call(d,a)||c.call(d,a)}}return d}()); +CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var d=CKEDITOR.event.prototype,b;for(b in d)a[b]==null&&(a[b]=d[b])},CKEDITOR.event.prototype=function(){function a(a){var e=d(this);return e[a]||(e[a]=new b(a))}var d=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return a.events||(a.events={})},b=function(a){this.name=a;this.listeners=[]};b.prototype={getListenerIndex:function(a){for(var b=0,d=this.listeners;b<d.length;b++)if(d[b].fn==a)return b;return-1}}; +return{define:function(b,d){var f=a.call(this,b);CKEDITOR.tools.extend(f,d,true)},on:function(b,d,f,h,i){function j(a,g,B,i){a={name:b,sender:this,editor:a,data:g,listenerData:h,stop:B,cancel:i,removeListener:n};return d.call(f,a)===false?false:a.data}function n(){B.removeListener(b,d)}var g=a.call(this,b);if(g.getListenerIndex(d)<0){g=g.listeners;f||(f=this);isNaN(i)&&(i=10);var B=this;j.fn=d;j.priority=i;for(var s=g.length-1;s>=0;s--)if(g[s].priority<=i){g.splice(s+1,0,j);return{removeListener:n}}g.unshift(j)}return{removeListener:n}}, +once:function(){var a=Array.prototype.slice.call(arguments),b=a[1];a[1]=function(a){a.removeListener();return b.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,b=function(){a=1},f=0,h=function(){f=1};return function(i,j,n){var g=d(this)[i],i=a,B=f;a=f=0;if(g){var s=g.listeners;if(s.length)for(var s=s.slice(0),z,o=0;o<s.length;o++){if(g.errorProof)try{z= +s[o].call(this,n,j,b,h)}catch(p){}else z=s[o].call(this,n,j,b,h);z===false?f=1:typeof z!="undefined"&&(j=z);if(a||f)break}}j=f?false:typeof j=="undefined"?true:j;a=i;f=B;return j}}(),fireOnce:function(a,b,f){b=this.fire(a,b,f);delete d(this)[a];return b},removeListener:function(a,b){var f=d(this)[a];if(f){var h=f.getListenerIndex(b);h>=0&&f.listeners.splice(h,1)}},removeAllListeners:function(){var a=d(this),b;for(b in a)delete a[b]},hasListeners:function(a){return(a=d(this)[a])&&a.listeners.length> +0}}}());CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,d){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fire.call(this,a,d,this)},CKEDITOR.editor.prototype.fireOnce=function(a,d){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fireOnce.call(this,a,d,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype)); +CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),d=a.match(/edge[ \/](\d+.?\d*)/),b=a.indexOf("trident/")>-1,b=!(!d&&!b),b={ie:b,edge:!!d,webkit:!b&&a.indexOf(" applewebkit/")>-1,air:a.indexOf(" adobeair/")>-1,mac:a.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat"&&(!document.documentMode||document.documentMode<10),mobile:a.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return false;var a=document.domain,b= +window.location.hostname;return a!=b&&a!="["+b+"]"},secure:location.protocol=="https:"};b.gecko=navigator.product=="Gecko"&&!b.webkit&&!b.ie;if(b.webkit)a.indexOf("chrome")>-1?b.chrome=true:b.safari=true;var c=0;if(b.ie){c=d?parseFloat(d[1]):b.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode;b.ie9Compat=c==9;b.ie8Compat=c==8;b.ie7Compat=c==7;b.ie6Compat=c<7||b.quirks}if(b.gecko)if(d=a.match(/rv:([\d\.]+)/)){d=d[1].split(".");c=d[0]*1E4+(d[1]||0)*100+(d[2]|| +0)*1}b.air&&(c=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));b.webkit&&(c=parseFloat(a.match(/ applewebkit\/(\d+)/)[1]));b.version=c;b.isCompatible=!(b.ie&&c<7)&&!(b.gecko&&c<4E4)&&!(b.webkit&&c<534);b.hidpi=window.devicePixelRatio>=2;b.needsBrFiller=b.gecko||b.webkit||b.ie&&c>10;b.needsNbspFiller=b.ie&&c<11;b.cssClass="cke_browser_"+(b.ie?"ie":b.gecko?"gecko":b.webkit?"webkit":"unknown");if(b.quirks)b.cssClass=b.cssClass+" cke_browser_quirks";if(b.ie)b.cssClass=b.cssClass+(" cke_browser_ie"+(b.quirks? +"6 cke_browser_iequirks":b.version));if(b.air)b.cssClass=b.cssClass+" cke_browser_air";if(b.iOS)b.cssClass=b.cssClass+" cke_browser_ios";if(b.hidpi)b.cssClass=b.cssClass+" cke_hidpi";return b}()); +"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a= +CKEDITOR.loadFullCore,d=CKEDITOR.loadFullCoreTimeout;if(a){CKEDITOR.status="basic_ready";a&&a._load?a():d&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},d*1E3)}})})();CKEDITOR.status="basic_loaded"}();CKEDITOR.dom={}; +(function(){var a=[],d=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,e=/</g,f=/"/g,h=/&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,i={lt:"<",gt:">",amp:"&",quot:'"',nbsp:" ",shy:"­"},j=function(a,g){return g[0]=="#"?String.fromCharCode(parseInt(g.slice(1),10)):i[g]};CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(a,g){if(!a&&!g)return true;if(!a||!g||a.length!=g.length)return false;for(var b=0;b<a.length;b++)if(a[b]!=g[b])return false; +return true},getIndex:function(a,g){for(var b=0;b<a.length;++b)if(g(a[b]))return b;return-1},clone:function(a){var g;if(a&&a instanceof Array){g=[];for(var b=0;b<a.length;b++)g[b]=CKEDITOR.tools.clone(a[b]);return g}if(a===null||typeof a!="object"||a instanceof String||a instanceof Number||a instanceof Boolean||a instanceof Date||a instanceof RegExp||a.nodeType||a.window===a)return a;g=new a.constructor;for(b in a)g[b]=CKEDITOR.tools.clone(a[b]);return g},capitalize:function(a,g){return a.charAt(0).toUpperCase()+ +(g?a.slice(1):a.slice(1).toLowerCase())},extend:function(a){var g=arguments.length,b,c;if(typeof(b=arguments[g-1])=="boolean")g--;else if(typeof(b=arguments[g-2])=="boolean"){c=arguments[g-1];g=g-2}for(var i=1;i<g;i++){var o=arguments[i],d;for(d in o)if(b===true||a[d]==null)if(!c||d in c)a[d]=o[d]}return a},prototypedCopy:function(a){var g=function(){};g.prototype=a;return new g},copy:function(a){var g={},b;for(b in a)g[b]=a[b];return g},isArray:function(a){return Object.prototype.toString.call(a)== +"[object Array]"},isEmpty:function(a){for(var g in a)if(a.hasOwnProperty(g))return false;return true},cssVendorPrefix:function(a,g,b){if(b)return d+a+":"+g+";"+a+":"+g;b={};b[a]=g;b[d+a]=g;return b},cssStyleToDomStyle:function(){var a=document.createElement("div").style,g=typeof a.cssFloat!="undefined"?"cssFloat":typeof a.styleFloat!="undefined"?"styleFloat":"float";return function(a){return a=="float"?g:a.replace(/-./g,function(a){return a.substr(1).toUpperCase()})}}(),buildStyleHtml:function(a){for(var a= +[].concat(a),g,b=[],c=0;c<a.length;c++)if(g=a[c])/@import|[{}]/.test(g)?b.push("<style>"+g+"</style>"):b.push('<link type="text/css" rel=stylesheet href="'+g+'">');return b.join("")},htmlEncode:function(a){return a===void 0||a===null?"":(""+a).replace(b,"&").replace(c,">").replace(e,"<")},htmlDecode:function(a){return a.replace(h,j)},htmlEncodeAttr:function(a){return CKEDITOR.tools.htmlEncode(a).replace(f,""")},htmlDecodeAttr:function(a){return CKEDITOR.tools.htmlDecode(a)},transformPlainTextToHtml:function(a, +g){var b=g==CKEDITOR.ENTER_BR,c=this.htmlEncode(a.replace(/\r\n/g,"\n")),c=c.replace(/\t/g,"    "),i=g==CKEDITOR.ENTER_P?"p":"div";if(!b){var o=/\n{2}/g;if(o.test(c))var d="<"+i+">",j="</"+i+">",c=d+c.replace(o,function(){return j+d})+j}c=c.replace(/\n/g,"<br>");b||(c=c.replace(RegExp("<br>(?=</"+i+">)"),function(a){return CKEDITOR.tools.repeat(a,2)}));c=c.replace(/^ | $/g," ");return c=c.replace(/(>|\s) /g,function(a,g){return g+" "}).replace(/ (?=<)/g," ")},getNextNumber:function(){var a= +0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var a="e",g=0;g<8;g++)a=a+Math.floor((1+Math.random())*65536).toString(16).substring(1);return a},override:function(a,g){var b=g(a);b.prototype=a.prototype;return b},setTimeout:function(a,g,b,c,i){i||(i=window);b||(b=i);return i.setTimeout(function(){c?a.apply(b,[].concat(c)):a.apply(b)},g||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(g){return g.replace(a, +"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(g){return g.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(g){return g.replace(a,"")}}(),indexOf:function(a,g){if(typeof g=="function")for(var b=0,c=a.length;b<c;b++){if(g(a[b]))return b}else{if(a.indexOf)return a.indexOf(g);b=0;for(c=a.length;b<c;b++)if(a[b]===g)return b}return-1},search:function(a,b){var c=CKEDITOR.tools.indexOf(a,b);return c>=0?a[c]:null},bind:function(a,b){return function(){return a.apply(b, +arguments)}},createClass:function(a){var b=a.$,c=a.base,i=a.privates||a._,d=a.proto,a=a.statics;!b&&(b=function(){c&&this.base.apply(this,arguments)});if(i)var o=b,b=function(){var a=this._||(this._={}),b;for(b in i){var g=i[b];a[b]=typeof g=="function"?CKEDITOR.tools.bind(g,this):g}o.apply(this,arguments)};if(c){b.prototype=this.prototypedCopy(c.prototype);b.prototype.constructor=b;b.base=c;b.baseProto=c.prototype;b.prototype.base=function(){this.base=c.prototype.base;c.apply(this,arguments);this.base= +arguments.callee}}d&&this.extend(b.prototype,d,true);a&&this.extend(b,a,true);return b},addFunction:function(b,g){return a.push(function(){return b.apply(g||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var g=a[b];return g&&g.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=/^-?\d+\.?\d*px$/,b;return function(c){b=CKEDITOR.tools.trim(c+"")+"px";return a.test(b)?b:c||""}}(),convertToPx:function(){var a;return function(b){if(!a){a= +CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(b)){a.setStyle("width",b);return a.$.clientWidth}return b}}(),repeat:function(a,b){return Array(b+1).join(a)},tryThese:function(){for(var a,b=0,c=arguments.length;b<c;b++){var i=arguments[b];try{a=i();break}catch(d){}}return a},genKey:function(){return Array.prototype.slice.call(arguments).join("-")}, +defer:function(a){return function(){var b=arguments,c=this;window.setTimeout(function(){a.apply(c,b)},0)}},normalizeCssText:function(a,b){var c=[],i,d=CKEDITOR.tools.parseCssText(a,true,b);for(i in d)c.push(i+":"+d[i]);c.sort();return c.length?c.join(";")+";":""},convertRgbToHex:function(a){return a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(a,b,c,i){a=[b,c,i];for(b=0;b<3;b++)a[b]=("0"+parseInt(a[b],10).toString(16)).slice(-2);return"#"+a.join("")})},parseCssText:function(a, +b,c){var i={};if(c){c=new CKEDITOR.dom.element("span");c.setAttribute("style",a);a=CKEDITOR.tools.convertRgbToHex(c.getAttribute("style")||"")}if(!a||a==";")return i;a.replace(/"/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,c,d){if(b){c=c.toLowerCase();c=="font-family"&&(d=d.toLowerCase().replace(/["']/g,"").replace(/\s*,\s*/g,","));d=CKEDITOR.tools.trim(d)}i[c]=d});return i},writeCssText:function(a,b){var c,i=[];for(c in a)i.push(c+":"+a[c]);b&&i.sort();return i.join("; ")}, +objectCompare:function(a,b,c){var i;if(!a&&!b)return true;if(!a||!b)return false;for(i in a)if(a[i]!=b[i])return false;if(!c)for(i in b)if(a[i]!=b[i])return false;return true},objectKeys:function(a){var b=[],c;for(c in a)b.push(c);return b},convertArrayToObject:function(a,b){var c={};arguments.length==1&&(b=true);for(var i=0,d=a.length;i<d;++i)c[a[i]]=b;return c},fixDomain:function(){for(var a;;)try{a=window.parent.document.domain;break}catch(b){a=a?a.replace(/.+?(?:\.|$)/,""):document.domain;if(!a)break; +document.domain=a}return!!a},eventsBuffer:function(a,b,c){function i(){o=(new Date).getTime();d=false;c?b.call(c):b()}var d,o=0;return{input:function(){if(!d){var b=(new Date).getTime()-o;b<a?d=setTimeout(i,a-b):i()}},reset:function(){d&&clearTimeout(d);d=o=0}}},enableHtml5Elements:function(a,b){for(var c=["abbr","article","aside","audio","bdi","canvas","data","datalist","details","figcaption","figure","footer","header","hgroup","main","mark","meter","nav","output","progress","section","summary", +"time","video"],i=c.length,d;i--;){d=a.createElement(c[i]);b&&a.appendChild(d)}},checkIfAnyArrayItemMatches:function(a,b){for(var c=0,i=a.length;c<i;++c)if(a[c].match(b))return true;return false},checkIfAnyObjectPropertyMatches:function(a,b){for(var c in a)if(c.match(b))return true;return false},transparentImageData:"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="}})(); +CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,d=function(a,b){for(var c=CKEDITOR.tools.clone(a),i=1;i<arguments.length;i++){var b=arguments[i],d;for(d in b)delete c[d]}return c},b={},c={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,main:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},f={command:1,link:1,meta:1,noscript:1,script:1,style:1},h={},i={"#":1},j={center:1,dir:1,noframes:1}; +a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},i,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,e,b,j);d={a:d(b,{a:1,button:1}),abbr:b,address:c, +area:h,article:c,aside:c,audio:a({source:1,track:1},c),b:b,base:h,bdi:b,bdo:b,blockquote:c,body:c,br:h,button:d(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:h,colgroup:{col:1},command:h,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:c,dl:{dt:1,dd:1},dt:c,em:b,embed:h,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},f),header:c,hgroup:{h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},hr:h,html:a({head:1, +body:1},c,f),i:b,iframe:i,img:h,input:h,ins:b,kbd:b,keygen:h,label:b,legend:b,li:c,link:h,main:c,map:c,mark:b,menu:a({li:1},c),meta:h,meter:d(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:i,output:b,p:b,param:h,pre:b,progress:d(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:i,section:c,select:{optgroup:1,option:1},small:b,source:h,span:b,strong:b,style:i,sub:b,summary:b,sup:b,table:{caption:1,colgroup:1,thead:1, +tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:i,tfoot:{tr:1},th:c,thead:{tr:1},time:d(b,{time:1}),title:i,tr:{th:1,td:1},track:h,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},c),wbr:h,acronym:b,applet:a({param:1},c),basefont:h,big:b,center:c,dialog:h,dir:{li:1},font:b,isindex:h,noframes:c,strike:b,tt:b};a(d,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},e,j),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1, +form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,figcaption:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,main:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1},$inline:b,$list:{dl:1,ol:1, +ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},d.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1,s:1,samp:1,small:1,span:1,strike:1,strong:1, +sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return d}();CKEDITOR.dom.event=function(a){this.$=a}; +CKEDITOR.dom.event.prototype={getKey:function(){return this.$.keyCode||this.$.which},getKeystroke:function(){var a=this.getKey();if(this.$.ctrlKey||this.$.metaKey)a=a+CKEDITOR.CTRL;this.$.shiftKey&&(a=a+CKEDITOR.SHIFT);this.$.altKey&&(a=a+CKEDITOR.ALT);return a},preventDefault:function(a){var d=this.$;d.preventDefault?d.preventDefault():d.returnValue=false;a&&this.stopPropagation()},stopPropagation:function(){var a=this.$;a.stopPropagation?a.stopPropagation():a.cancelBubble=true},getTarget:function(){var a= +this.$.target||this.$.srcElement;return a?new CKEDITOR.dom.node(a):null},getPhase:function(){return this.$.eventPhase||2},getPageOffset:function(){var a=this.getTarget().getDocument().$;return{x:this.$.pageX||this.$.clientX+(a.documentElement.scrollLeft||a.body.scrollLeft),y:this.$.pageY||this.$.clientY+(a.documentElement.scrollTop||a.body.scrollTop)}}};CKEDITOR.CTRL=1114112;CKEDITOR.SHIFT=2228224;CKEDITOR.ALT=4456448;CKEDITOR.EVENT_PHASE_CAPTURING=1;CKEDITOR.EVENT_PHASE_AT_TARGET=2; +CKEDITOR.EVENT_PHASE_BUBBLING=3;CKEDITOR.dom.domObject=function(a){if(a)this.$=a}; +CKEDITOR.dom.domObject.prototype=function(){var a=function(a,b){return function(c){typeof CKEDITOR!="undefined"&&a.fire(b,new CKEDITOR.dom.event(c))}};return{getPrivate:function(){var a;if(!(a=this.getCustomData("_")))this.setCustomData("_",a={});return a},on:function(d){var b=this.getCustomData("_cke_nativeListeners");if(!b){b={};this.setCustomData("_cke_nativeListeners",b)}if(!b[d]){b=b[d]=a(this,d);this.$.addEventListener?this.$.addEventListener(d,b,!!CKEDITOR.event.useCapture):this.$.attachEvent&& +this.$.attachEvent("on"+d,b)}return CKEDITOR.event.prototype.on.apply(this,arguments)},removeListener:function(a){CKEDITOR.event.prototype.removeListener.apply(this,arguments);if(!this.hasListeners(a)){var b=this.getCustomData("_cke_nativeListeners"),c=b&&b[a];if(c){this.$.removeEventListener?this.$.removeEventListener(a,c,false):this.$.detachEvent&&this.$.detachEvent("on"+a,c);delete b[a]}}},removeAllListeners:function(){var a=this.getCustomData("_cke_nativeListeners"),b;for(b in a){var c=a[b];this.$.detachEvent? +this.$.detachEvent("on"+b,c):this.$.removeEventListener&&this.$.removeEventListener(b,c,false);delete a[b]}CKEDITOR.event.prototype.removeAllListeners.call(this)}}}(); +(function(a){var d={};CKEDITOR.on("reset",function(){d={}});a.equals=function(a){try{return a&&a.$===this.$}catch(c){return false}};a.setCustomData=function(a,c){var e=this.getUniqueId();(d[e]||(d[e]={}))[a]=c;return this};a.getCustomData=function(a){var c=this.$["data-cke-expando"];return(c=c&&d[c])&&a in c?c[a]:null};a.removeCustomData=function(a){var c=this.$["data-cke-expando"],c=c&&d[c],e,f;if(c){e=c[a];f=a in c;delete c[a]}return f?e:null};a.clearCustomData=function(){this.removeAllListeners(); +var a=this.$["data-cke-expando"];a&&delete d[a]};a.getUniqueId=function(){return this.$["data-cke-expando"]||(this.$["data-cke-expando"]=CKEDITOR.tools.getNextNumber())};CKEDITOR.event.implementOn(a)})(CKEDITOR.dom.domObject.prototype); +CKEDITOR.dom.node=function(a){return a?new CKEDITOR.dom[a.nodeType==CKEDITOR.NODE_DOCUMENT?"document":a.nodeType==CKEDITOR.NODE_ELEMENT?"element":a.nodeType==CKEDITOR.NODE_TEXT?"text":a.nodeType==CKEDITOR.NODE_COMMENT?"comment":a.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT?"documentFragment":"domObject"](a):this};CKEDITOR.dom.node.prototype=new CKEDITOR.dom.domObject;CKEDITOR.NODE_ELEMENT=1;CKEDITOR.NODE_DOCUMENT=9;CKEDITOR.NODE_TEXT=3;CKEDITOR.NODE_COMMENT=8;CKEDITOR.NODE_DOCUMENT_FRAGMENT=11; +CKEDITOR.POSITION_IDENTICAL=0;CKEDITOR.POSITION_DISCONNECTED=1;CKEDITOR.POSITION_FOLLOWING=2;CKEDITOR.POSITION_PRECEDING=4;CKEDITOR.POSITION_IS_CONTAINED=8;CKEDITOR.POSITION_CONTAINS=16; +CKEDITOR.tools.extend(CKEDITOR.dom.node.prototype,{appendTo:function(a,d){a.append(this,d);return a},clone:function(a,d){function b(c){c["data-cke-expando"]&&(c["data-cke-expando"]=false);if(!(c.nodeType!=CKEDITOR.NODE_ELEMENT&&c.nodeType!=CKEDITOR.NODE_DOCUMENT_FRAGMENT)){!d&&c.nodeType==CKEDITOR.NODE_ELEMENT&&c.removeAttribute("id",false);if(a)for(var c=c.childNodes,e=0;e<c.length;e++)b(c[e])}}function c(b){if(!(b.type!=CKEDITOR.NODE_ELEMENT&&b.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT)){if(b.type!= +CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d=b.getName();d[0]==":"&&b.renameNode(d.substring(1))}if(a)for(d=0;d<b.getChildCount();d++)c(b.getChild(d))}}var e=this.$.cloneNode(a);b(e);e=new CKEDITOR.dom.node(e);CKEDITOR.env.ie&&(CKEDITOR.env.version<9&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT))&&c(e);return e},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(a){a.$.parentNode.insertBefore(this.$, +a.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$,a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var d=[],b=this.getDocument().$.documentElement,c=this.$;c&&c!=b;){var e=c.parentNode;e&&d.unshift(this.getIndex.call({$:c},a));c=e}return d},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){function d(a,b){var c= +b?a.nextSibling:a.previousSibling;return!c||c.nodeType!=CKEDITOR.NODE_TEXT?null:c.nodeValue?c:d(c,b)}var b=this.$,c=-1,e;if(!this.$.parentNode||a&&b.nodeType==CKEDITOR.NODE_TEXT&&!b.nodeValue&&!d(b)&&!d(b,true))return-1;do if(!a||!(b!=this.$&&b.nodeType==CKEDITOR.NODE_TEXT&&(e||!b.nodeValue))){c++;e=b.nodeType==CKEDITOR.NODE_TEXT}while(b=b.previousSibling);return c},getNextSourceNode:function(a,d,b){if(b&&!b.call)var c=b,b=function(a){return!a.equals(c)};var a=!a&&this.getFirst&&this.getFirst(),e; +if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&b(this,true)===false)return null;a=this.getNext()}for(;!a&&(e=(e||this).getParent());){if(b&&b(e,true)===false)return null;a=e.getNext()}return!a||b&&b(a)===false?null:d&&d!=a.type?a.getNextSourceNode(false,d,b):a},getPreviousSourceNode:function(a,d,b){if(b&&!b.call)var c=b,b=function(a){return!a.equals(c)};var a=!a&&this.getLast&&this.getLast(),e;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&b(this,true)===false)return null;a=this.getPrevious()}for(;!a&& +(e=(e||this).getParent());){if(b&&b(e,true)===false)return null;a=e.getPrevious()}return!a||b&&b(a)===false?null:d&&a.type!=d?a.getPreviousSourceNode(false,d,b):a},getPrevious:function(a){var d=this.$,b;do b=(d=d.previousSibling)&&d.nodeType!=10&&new CKEDITOR.dom.node(d);while(b&&a&&!a(b));return b},getNext:function(a){var d=this.$,b;do b=(d=d.nextSibling)&&new CKEDITOR.dom.node(d);while(b&&a&&!a(b));return b},getParent:function(a){var d=this.$.parentNode;return d&&(d.nodeType==CKEDITOR.NODE_ELEMENT|| +a&&d.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(d):null},getParents:function(a){var d=this,b=[];do b[a?"push":"unshift"](d);while(d=d.getParent());return b},getCommonAncestor:function(a){if(a.equals(this))return this;if(a.contains&&a.contains(this))return a;var d=this.contains?this:this.getParent();do if(d.contains(a))return d;while(d=d.getParent());return null},getPosition:function(a){var d=this.$,b=a.$;if(d.compareDocumentPosition)return d.compareDocumentPosition(b);if(d== +b)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&a.type==CKEDITOR.NODE_ELEMENT){if(d.contains){if(d.contains(b))return CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING;if(b.contains(d))return CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in d)return d.sourceIndex<0||b.sourceIndex<0?CKEDITOR.POSITION_DISCONNECTED:d.sourceIndex<b.sourceIndex?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING}for(var d=this.getAddress(),a=a.getAddress(), +b=Math.min(d.length,a.length),c=0;c<=b-1;c++)if(d[c]!=a[c]){if(c<b)return d[c]<a[c]?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING;break}return d.length<a.length?CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING},getAscendant:function(a,d){var b=this.$,c,e;if(!d)b=b.parentNode;if(typeof a=="function"){e=true;c=a}else{e=false;c=function(b){b=typeof b.nodeName=="string"?b.nodeName.toLowerCase():"";return typeof a=="string"?b== +a:b in a}}for(;b;){if(c(e?new CKEDITOR.dom.node(b):b))return new CKEDITOR.dom.node(b);try{b=b.parentNode}catch(f){b=null}}return null},hasAscendant:function(a,d){var b=this.$;if(!d)b=b.parentNode;for(;b;){if(b.nodeName&&b.nodeName.toLowerCase()==a)return true;b=b.parentNode}return false},move:function(a,d){a.append(this.remove(),d)},remove:function(a){var d=this.$,b=d.parentNode;if(b){if(a)for(;a=d.firstChild;)b.insertBefore(d.removeChild(a),d);b.removeChild(d)}return this},replace:function(a){this.insertBefore(a); +a.remove()},trim:function(){this.ltrim();this.rtrim()},ltrim:function(){for(var a;this.getFirst&&(a=this.getFirst());){if(a.type==CKEDITOR.NODE_TEXT){var d=CKEDITOR.tools.ltrim(a.getText()),b=a.getLength();if(d){if(d.length<b){a.split(b-d.length);this.$.removeChild(this.$.firstChild)}}else{a.remove();continue}}break}},rtrim:function(){for(var a;this.getLast&&(a=this.getLast());){if(a.type==CKEDITOR.NODE_TEXT){var d=CKEDITOR.tools.rtrim(a.getText()),b=a.getLength();if(d){if(d.length<b){a.split(d.length); +this.$.lastChild.parentNode.removeChild(this.$.lastChild)}}else{a.remove();continue}}break}if(CKEDITOR.env.needsBrFiller)(a=this.$.lastChild)&&(a.type==1&&a.nodeName.toLowerCase()=="br")&&a.parentNode.removeChild(a)},isReadOnly:function(a){var d=this;this.type!=CKEDITOR.NODE_ELEMENT&&(d=this.getParent());if(!a&&d&&typeof d.$.isContentEditable!="undefined")return!(d.$.isContentEditable||d.data("cke-editable"));for(;d;){if(d.data("cke-editable"))return false;if(d.hasAttribute("contenteditable"))return d.getAttribute("contenteditable")== +"false";d=d.getParent()}return true}});CKEDITOR.dom.window=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.window.prototype=new CKEDITOR.dom.domObject; +CKEDITOR.tools.extend(CKEDITOR.dom.window.prototype,{focus:function(){this.$.focus()},getViewPaneSize:function(){var a=this.$.document,d=a.compatMode=="CSS1Compat";return{width:(d?a.documentElement.clientWidth:a.body.clientWidth)||0,height:(d?a.documentElement.clientHeight:a.body.clientHeight)||0}},getScrollPosition:function(){var a=this.$;if("pageXOffset"in a)return{x:a.pageXOffset||0,y:a.pageYOffset||0};a=a.document;return{x:a.documentElement.scrollLeft||a.body.scrollLeft||0,y:a.documentElement.scrollTop|| +a.body.scrollTop||0}},getFrame:function(){var a=this.$.frameElement;return a?new CKEDITOR.dom.element.get(a):null}});CKEDITOR.dom.document=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject; +CKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(a){if(this.$.createStyleSheet)this.$.createStyleSheet(a);else{var d=new CKEDITOR.dom.element("link");d.setAttributes({rel:"stylesheet",type:"text/css",href:a});this.getHead().append(d)}},appendStyleText:function(a){if(this.$.createStyleSheet){var d=this.$.createStyleSheet("");d.cssText=a}else{var b=new CKEDITOR.dom.element("style",this);b.append(new CKEDITOR.dom.text(a,this));this.getHead().append(b)}return d|| +b.$.sheet},createElement:function(a,d){var b=new CKEDITOR.dom.element(a,this);if(d){d.attributes&&b.setAttributes(d.attributes);d.styles&&b.setStyles(d.styles)}return b},createText:function(a){return new CKEDITOR.dom.text(a,this)},focus:function(){this.getWindow().focus()},getActive:function(){var a;try{a=this.$.activeElement}catch(d){return null}return new CKEDITOR.dom.element(a)},getById:function(a){return(a=this.$.getElementById(a))?new CKEDITOR.dom.element(a):null},getByAddress:function(a,d){for(var b= +this.$.documentElement,c=0;b&&c<a.length;c++){var e=a[c];if(d)for(var f=-1,h=0;h<b.childNodes.length;h++){var i=b.childNodes[h];if(!(d===true&&i.nodeType==3&&i.previousSibling&&i.previousSibling.nodeType==3)){f++;if(f==e){b=i;break}}}else b=b.childNodes[e]}return b?new CKEDITOR.dom.node(b):null},getElementsByTag:function(a,d){!(CKEDITOR.env.ie&&document.documentMode<=8)&&d&&(a=d+":"+a);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0]; +return a=a?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),true)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView)},write:function(a){this.$.open("text/html","replace");CKEDITOR.env.ie&&(a=a.replace(/(?:^\s*<!DOCTYPE[^>]*?>)|^/i,'$&\n<script data-cke-temp="1">('+ +CKEDITOR.tools.fixDomain+")();<\/script>"));this.$.write(a);this.$.close()},find:function(a){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(a))},findOne:function(a){return(a=this.$.querySelector(a))?new CKEDITOR.dom.element(a):null},_getHtml5ShivFrag:function(){var a=this.getCustomData("html5ShivFrag");if(!a){a=this.$.createDocumentFragment();CKEDITOR.tools.enableHtml5Elements(a,true);this.setCustomData("html5ShivFrag",a)}return a}});CKEDITOR.dom.nodeList=function(a){this.$=a}; +CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){if(a<0||a>=this.$.length)return null;return(a=this.$[a])?new CKEDITOR.dom.node(a):null}};CKEDITOR.dom.element=function(a,d){typeof a=="string"&&(a=(d?d.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.element.get=function(a){return(a=typeof a=="string"?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))}; +CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(a,d){var b=new CKEDITOR.dom.element("div",d);b.setHtml(a);return b.getFirst().remove()}; +CKEDITOR.dom.element.setMarker=function(a,d,b,c){var e=d.getCustomData("list_marker_id")||d.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),f=d.getCustomData("list_marker_names")||d.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[e]=d;f[b]=1;return d.setCustomData(b,c)};CKEDITOR.dom.element.clearAllMarkers=function(a){for(var d in a)CKEDITOR.dom.element.clearMarkers(a,a[d],1)}; +CKEDITOR.dom.element.clearMarkers=function(a,d,b){var c=d.getCustomData("list_marker_names"),e=d.getCustomData("list_marker_id"),f;for(f in c)d.removeCustomData(f);d.removeCustomData("list_marker_names");if(b){d.removeCustomData("list_marker_id");delete a[e]}}; +(function(){function a(a,b){return(" "+a+" ").replace(f," ").indexOf(" "+b+" ")>-1}function d(a){var b=true;if(!a.$.id){a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber();b=false}return function(){b||a.removeAttribute("id")}}function b(a,b){return"#"+a.$.id+" "+b.split(/,\s*/).join(", #"+a.$.id+" ")}function c(a){for(var b=0,c=0,g=h[a].length;c<g;c++)b=b+(parseInt(this.getComputedStyle(h[a][c])||0,10)||0);return b}var e=!!document.createElement("span").classList,f=/[\n\t\r]/g;CKEDITOR.tools.extend(CKEDITOR.dom.element.prototype, +{type:CKEDITOR.NODE_ELEMENT,addClass:e?function(a){this.$.classList.add(a);return this}:function(b){var c=this.$.className;c&&(a(c,b)||(c=c+(" "+b)));this.$.className=c||b;return this},removeClass:e?function(a){var b=this.$;b.classList.remove(a);b.className||b.removeAttribute("class");return this}:function(b){var c=this.getAttribute("class");if(c&&a(c,b))(c=c.replace(RegExp("(?:^|\\s+)"+b+"(?=\\s|$)"),"").replace(/^\s+/,""))?this.setAttribute("class",c):this.removeAttribute("class");return this}, +hasClass:function(b){return a(this.$.className,b)},append:function(a,b){typeof a=="string"&&(a=this.getDocument().createElement(a));b?this.$.insertBefore(a.$,this.$.firstChild):this.$.appendChild(a.$);return a},appendHtml:function(a){if(this.$.childNodes.length){var b=new CKEDITOR.dom.element("div",this.getDocument());b.setHtml(a);b.moveChildren(this)}else this.setHtml(a)},appendText:function(a){this.$.text!=null&&CKEDITOR.env.ie&&CKEDITOR.env.version<9?this.$.text=this.$.text+a:this.append(new CKEDITOR.dom.text(a))}, +appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();if(!a||!a.is||!a.is("br")){a=this.getDocument().createElement("br");CKEDITOR.env.gecko&&a.setAttribute("type","_moz");this.append(a)}}},breakParent:function(a,b){var c=new CKEDITOR.dom.range(this.getDocument());c.setStartAfter(this);c.setEndAfter(a);var g=c.extractContents(false,b||false);c.insertNode(this.remove());g.insertAfterNode(this)}, +contains:!document.compareDocumentPosition?function(a){var b=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?b.contains(a.getParent().$):b!=a.$&&b.contains(a.$)}:function(a){return!!(this.$.compareDocumentPosition(a.$)&16)},focus:function(){function a(){try{this.$.focus()}catch(b){}}return function(b){b?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR.env.ie?a.replace(/<\?[^>]*>/g,""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/, +"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(true));return a.innerHTML},getClientRect:function(){var a=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&&(a.height=a.bottom-a.top);return a},setHtml:CKEDITOR.env.ie&&CKEDITOR.env.version<9?function(a){try{var b=this.$;if(this.getParent())return b.innerHTML=a;var c=this.getDocument()._getHtml5ShivFrag();c.appendChild(b);b.innerHTML=a;c.removeChild(b);return a}catch(g){this.$.innerHTML= +"";b=new CKEDITOR.dom.element("body",this.getDocument());b.$.innerHTML=a;for(b=b.getChildren();b.count();)this.append(b.getItem(0));return a}}:function(a){return this.$.innerHTML=a},setText:function(){var a=document.createElement("p");a.innerHTML="x";a=a.textContent;return function(b){this.$[a?"textContent":"innerText"]=b}}(),getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){switch(a){case "class":a= +"className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name;case "tabindex":a=this.$.getAttribute(a,2);a!==0&&this.$.tabIndex===0&&(a=null);return a;case "checked":a=this.$.attributes.getNamedItem(a);return(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"): +null}return this.$.getAttribute(a,2)}:a}(),getChildren:function(){return new CKEDITOR.dom.nodeList(this.$.childNodes)},getComputedStyle:document.defaultView&&document.defaultView.getComputedStyle?function(a){var b=this.getWindow().$.getComputedStyle(this.$,null);return b?b.getPropertyValue(a):""}:function(a){return this.$.currentStyle[CKEDITOR.tools.cssStyleToDomStyle(a)]},getDtd:function(){var a=CKEDITOR.dtd[this.getName()];this.getDtd=function(){return a};return a},getElementsByTag:CKEDITOR.dom.document.prototype.getElementsByTag, +getTabIndex:function(){var a=this.$.tabIndex;return a===0&&!CKEDITOR.dtd.$tabIndex[this.getName()]&&parseInt(this.getAttribute("tabindex"),10)!==0?-1:a},getText:function(){return this.$.textContent||this.$.innerText||""},getWindow:function(){return this.getDocument().getWindow()},getId:function(){return this.$.id||null},getNameAtt:function(){return this.$.name||null},getName:function(){var a=this.$.nodeName.toLowerCase();if(CKEDITOR.env.ie&&document.documentMode<=8){var b=this.$.scopeName;b!="HTML"&& +(a=b.toLowerCase()+":"+a)}this.getName=function(){return a};return this.getName()},getValue:function(){return this.$.value},getFirst:function(a){var b=this.$.firstChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getNext(a));return b},getLast:function(a){var b=this.$.lastChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getPrevious(a));return b},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]},is:function(){var a=this.getName();if(typeof arguments[0]=="object")return!!arguments[0][a]; +for(var b=0;b<arguments.length;b++)if(arguments[b]==a)return true;return false},isEditable:function(a){var b=this.getName();if(this.isReadOnly()||this.getComputedStyle("display")=="none"||this.getComputedStyle("visibility")=="hidden"||CKEDITOR.dtd.$nonEditable[b]||CKEDITOR.dtd.$empty[b]||this.is("a")&&(this.data("cke-saved-name")||this.hasAttribute("name"))&&!this.getChildCount())return false;if(a!==false){a=CKEDITOR.dtd[b]||CKEDITOR.dtd.span;return!(!a||!a["#"])}return true},isIdentical:function(a){var b= +this.clone(0,1),a=a.clone(0,1);b.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);a.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);if(b.$.isEqualNode){b.$.style.cssText=CKEDITOR.tools.normalizeCssText(b.$.style.cssText);a.$.style.cssText=CKEDITOR.tools.normalizeCssText(a.$.style.cssText);return b.$.isEqualNode(a.$)}b=b.getOuterHtml();a=a.getOuterHtml();if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&this.is("a")){var c= +this.getParent();if(c.type==CKEDITOR.NODE_ELEMENT){c=c.clone();c.setHtml(b);b=c.getHtml();c.setHtml(a);a=c.getHtml()}}return b==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&this.getComputedStyle("visibility")!="hidden",b,c;if(a&&CKEDITOR.env.webkit){b=this.getWindow();if(!b.equals(CKEDITOR.document.getWindow())&&(c=b.$.frameElement))a=(new CKEDITOR.dom.element(c)).isVisible()}return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return false; +for(var a=this.getChildren(),b=0,c=a.count();b<c;b++){var g=a.getItem(b);if(!(g.type==CKEDITOR.NODE_ELEMENT&&g.data("cke-bookmark"))&&(g.type==CKEDITOR.NODE_ELEMENT&&!g.isEmptyInlineRemoveable()||g.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(g.getText())))return false}return true},hasAttributes:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(){for(var a=this.$.attributes,b=0;b<a.length;b++){var c=a[b];switch(c.nodeName){case "class":if(this.getAttribute("class"))return true; +case "data-cke-expando":continue;default:if(c.specified)return true}}return false}:function(){var a=this.$.attributes,b=a.length,c={"data-cke-expando":1,_moz_dirty:1};return b>0&&(b>2||!c[a[0].nodeName]||b==2&&!c[a[1].nodeName])},hasAttribute:function(){function a(b){var c=this.$.attributes.getNamedItem(b);if(this.getName()=="input")switch(b){case "class":return this.$.className.length>0;case "checked":return!!this.$.checked;case "value":b=this.getAttribute("type");return b=="checkbox"||b=="radio"? +this.$.value!="on":!!this.$.value}return!c?false:c.specified}return CKEDITOR.env.ie?CKEDITOR.env.version<8?function(b){return b=="name"?!!this.$.name:a.call(this,b)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,b){var c=this.$,a=a.$;if(c!=a){var g;if(b)for(;g=c.lastChild;)a.insertBefore(c.removeChild(g),a.firstChild);else for(;g=c.firstChild;)a.appendChild(c.removeChild(g))}},mergeSiblings:function(){function a(b, +c,g){if(c&&c.type==CKEDITOR.NODE_ELEMENT){for(var d=[];c.data("cke-bookmark")||c.isEmptyInlineRemoveable();){d.push(c);c=g?c.getNext():c.getPrevious();if(!c||c.type!=CKEDITOR.NODE_ELEMENT)return}if(b.isIdentical(c)){for(var i=g?b.getLast():b.getFirst();d.length;)d.shift().move(b,!g);c.moveChildren(b,!g);c.remove();i&&i.type==CKEDITOR.NODE_ELEMENT&&i.mergeSiblings()}}}return function(b){if(b===false||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a")){a(this,this.getNext(),true);a(this,this.getPrevious())}}}(), +show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var a=function(a,b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(b,c){b=="class"?this.$.className=c:b=="style"?this.$.style.cssText=c:b=="tabindex"?this.$.tabIndex=c:b=="checked"?this.$.checked=c:b=="contenteditable"?a.call(this,"contentEditable",c):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,c){if(b== +"src"&&c.match(/^http:\/\//))try{a.apply(this,arguments)}catch(g){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b,a[b]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){a=="class"?a="className":a=="tabindex"?a="tabIndex":a=="contenteditable"&&(a="contentEditable");this.$.removeAttribute(a)}: +a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var b=0;b<a.length;b++)this.removeAttribute(a[b]);else for(b in a)a.hasOwnProperty(b)&&this.removeAttribute(b)},removeStyle:function(a){var b=this.$.style;if(!b.removeProperty&&(a=="border"||a=="margin"||a=="padding")){var c=["top","left","right","bottom"],g;a=="border"&&(g=["color","style","width"]);for(var b=[],d=0;d<c.length;d++)if(g)for(var s=0;s<g.length;s++)b.push([a,c[d],g[s]].join("-"));else b.push([a,c[d]].join("-"));for(a= +0;a<b.length;a++)this.removeStyle(b[a])}else{b.removeProperty?b.removeProperty(a):b.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a));this.$.style.cssText||this.removeAttribute("style")}},setStyle:function(a,b){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]=b;return this},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},setOpacity:function(a){if(CKEDITOR.env.ie&&CKEDITOR.env.version<9){a=Math.round(a*100);this.setStyle("filter",a>=100?"":"progid:DXImageTransform.Microsoft.Alpha(opacity="+ +a+")")}else this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),c=0,g=b.count();c<g;c++){a=b.getItem(c);a.setAttribute("unselectable","on")}}},getPositionedAncestor:function(){for(var a=this;a.getName()!="html";){if(a.getComputedStyle("position")!="static")return a;a=a.getParent()}return null},getDocumentPosition:function(a){var b=0, +c=0,g=this.getDocument(),d=g.getBody(),s=g.$.compatMode=="BackCompat";if(document.documentElement.getBoundingClientRect){var e=this.$.getBoundingClientRect(),o=g.$.documentElement,p=o.clientTop||d.$.clientTop||0,f=o.clientLeft||d.$.clientLeft||0,h=true;if(CKEDITOR.env.ie){h=g.getDocumentElement().contains(this);g=g.getBody().contains(this);h=s&&g||!s&&h}if(h){if(CKEDITOR.env.webkit||CKEDITOR.env.ie&&CKEDITOR.env.version>=12){b=d.$.scrollLeft||o.scrollLeft;c=d.$.scrollTop||o.scrollTop}else{c=s?d.$: +o;b=c.scrollLeft;c=c.scrollTop}b=e.left+b-f;c=e.top+c-p}}else{p=this;for(f=null;p&&!(p.getName()=="body"||p.getName()=="html");){b=b+(p.$.offsetLeft-p.$.scrollLeft);c=c+(p.$.offsetTop-p.$.scrollTop);if(!p.equals(this)){b=b+(p.$.clientLeft||0);c=c+(p.$.clientTop||0)}for(;f&&!f.equals(p);){b=b-f.$.scrollLeft;c=c-f.$.scrollTop;f=f.getParent()}f=p;p=(e=p.$.offsetParent)?new CKEDITOR.dom.element(e):null}}if(a){e=this.getWindow();p=a.getWindow();if(!e.equals(p)&&e.$.frameElement){a=(new CKEDITOR.dom.element(e.$.frameElement)).getDocumentPosition(a); +b=b+a.x;c=c+a.y}}if(!document.documentElement.getBoundingClientRect&&CKEDITOR.env.gecko&&!s){b=b+(this.$.clientLeft?1:0);c=c+(this.$.clientTop?1:0)}return{x:b,y:c}},scrollIntoView:function(a){var b=this.getParent();if(b){do{(b.$.clientWidth&&b.$.clientWidth<b.$.scrollWidth||b.$.clientHeight&&b.$.clientHeight<b.$.scrollHeight)&&!b.is("body")&&this.scrollIntoParent(b,a,1);if(b.is("html")){var c=b.getWindow();try{var g=c.$.frameElement;g&&(b=new CKEDITOR.dom.element(g))}catch(d){}}}while(b=b.getParent()) +}},scrollIntoParent:function(a,b,c){var g,d,e,f;function o(b,c){if(/body|html/.test(a.getName()))a.getWindow().$.scrollBy(b,c);else{a.$.scrollLeft=a.$.scrollLeft+b;a.$.scrollTop=a.$.scrollTop+c}}function p(a,b){var c={x:0,y:0};if(!a.is(x?"body":"html")){var g=a.$.getBoundingClientRect();c.x=g.left;c.y=g.top}g=a.getWindow();if(!g.equals(b)){g=p(CKEDITOR.dom.element.get(g.$.frameElement),b);c.x=c.x+g.x;c.y=c.y+g.y}return c}function h(a,b){return parseInt(a.getComputedStyle("margin-"+b)||0,10)||0}!a&& +(a=this.getWindow());e=a.getDocument();var x=e.$.compatMode=="BackCompat";a instanceof CKEDITOR.dom.window&&(a=x?e.getBody():e.getDocumentElement());e=a.getWindow();d=p(this,e);var u=p(a,e),C=this.$.offsetHeight;g=this.$.offsetWidth;var l=a.$.clientHeight,q=a.$.clientWidth;e=d.x-h(this,"left")-u.x||0;f=d.y-h(this,"top")-u.y||0;g=d.x+g+h(this,"right")-(u.x+q)||0;d=d.y+C+h(this,"bottom")-(u.y+l)||0;if(f<0||d>0)o(0,b===true?f:b===false?d:f<0?f:d);if(c&&(e<0||g>0))o(e<0?e:g,0)},setState:function(a,b, +c){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+"_off");this.removeClass(b+"_disabled");c&&this.setAttribute("aria-pressed",true);c&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+"_disabled");this.removeClass(b+"_off");this.removeClass(b+"_on");c&&this.setAttribute("aria-disabled",true);c&&this.removeAttribute("aria-pressed");break;default:this.addClass(b+"_off");this.removeClass(b+"_on");this.removeClass(b+ +"_disabled");c&&this.removeAttribute("aria-pressed");c&&this.removeAttribute("aria-disabled")}},getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,b){for(var c=this.$.attributes,b=b||{},g=0;g<c.length;g++){var d=c[g],e=d.nodeName.toLowerCase(),f;if(!(e in b))if(e=="checked"&&(f=this.getAttribute(e)))a.setAttribute(e,f);else if(!CKEDITOR.env.ie||this.hasAttribute(e)){f=this.getAttribute(e); +if(f===null)f=d.nodeValue;a.setAttribute(e,f)}}if(this.$.style.cssText!=="")a.$.style.cssText=this.$.style.cssText},renameNode:function(a){if(this.getName()!=a){var b=this.getDocument(),a=new CKEDITOR.dom.element(a,b);this.copyAttributes(a);this.moveChildren(a);this.getParent(true)&&this.$.parentNode.replaceChild(a.$,this.$);a.$["data-cke-expando"]=this.$["data-cke-expando"];this.$=a.$;delete this.getName}},getChild:function(){function a(b,c){var g=b.childNodes;if(c>=0&&c<g.length)return g[c]}return function(b){var c= +this.$;if(b.slice)for(b=b.slice();b.length>0&&c;)c=a(c,b.shift());else c=a(c,b);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){this.on("contextmenu",function(a){a.data.getTarget().hasClass("cke_enable_context_menu")||a.data.preventDefault()})},getDirection:function(a){return a?this.getComputedStyle("direction")||this.getDirection()||this.getParent()&&this.getParent().getDirection(1)||this.getDocument().$.dir||"ltr": +this.getStyle("direction")||this.getAttribute("dir")},data:function(a,b){a="data-"+a;if(b===void 0)return this.getAttribute(a);b===false?this.removeAttribute(a):this.setAttribute(a,b);return null},getEditor:function(){var a=CKEDITOR.instances,b,c;for(b in a){c=a[b];if(c.element.equals(this)&&c.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO)return c}return null},find:function(a){var c=d(this),a=new CKEDITOR.dom.nodeList(this.$.querySelectorAll(b(this,a)));c();return a},findOne:function(a){var c=d(this), +a=this.$.querySelector(b(this,a));c();return a?new CKEDITOR.dom.element(a):null},forEach:function(a,b,c){if(!c&&(!b||this.type==b))var g=a(this);if(g!==false)for(var c=this.getChildren(),d=0;d<c.count();d++){g=c.getItem(d);g.type==CKEDITOR.NODE_ELEMENT?g.forEach(a,b):(!b||g.type==b)&&a(g)}}});var h={width:["border-left-width","border-right-width","padding-left","padding-right"],height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]};CKEDITOR.dom.element.prototype.setSize= +function(a,b,d){if(typeof b=="number"){if(d&&(!CKEDITOR.env.ie||!CKEDITOR.env.quirks))b=b-c.call(this,a);this.setStyle(a,b+"px")}};CKEDITOR.dom.element.prototype.getSize=function(a,b){var d=Math.max(this.$["offset"+CKEDITOR.tools.capitalize(a)],this.$["client"+CKEDITOR.tools.capitalize(a)])||0;b&&(d=d-c.call(this,a));return d}})();CKEDITOR.dom.documentFragment=function(a){a=a||CKEDITOR.document;this.$=a.type==CKEDITOR.NODE_DOCUMENT?a.$.createDocumentFragment():a}; +CKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(a){a=a.$;a.parentNode.insertBefore(this.$,a.nextSibling)},getHtml:function(){var a=new CKEDITOR.dom.element("div");this.clone(1,1).appendTo(a);return a.getHtml().replace(/\s*data-cke-expando=".*?"/g,"")}},!0,{append:1,appendBogus:1,clone:1,getFirst:1,getHtml:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1, +insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1}); +(function(){function a(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed){this.end();return null}c.optimize()}var g,d=c.startContainer;g=c.endContainer;var e=c.startOffset,f=c.endOffset,h,i=this.guard,l=this.type,q=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var k=g.type==CKEDITOR.NODE_ELEMENT?g:g.getParent(),m=g.type==CKEDITOR.NODE_ELEMENT?g.getChild(f):g.getNext();this._.guardLTR=function(a,b){return(!b||!k.equals(a))&&(!m|| +!a.equals(m))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var F=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),w=d.type==CKEDITOR.NODE_ELEMENT?e?d.getChild(e-1):null:d.getPrevious();this._.guardRTL=function(a,b){return(!b||!F.equals(a))&&(!w||!a.equals(w))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var H=a?this._.guardRTL:this._.guardLTR;h=i?function(a,b){return H(a,b)===false?false:i(a,b)}:H;if(this.current)g=this.current[q](false,l,h);else{if(a)g.type== +CKEDITOR.NODE_ELEMENT&&(g=f>0?g.getChild(f-1):h(g,true)===false?null:g.getPreviousSourceNode(true,l,h));else{g=d;if(g.type==CKEDITOR.NODE_ELEMENT&&!(g=g.getChild(e)))g=h(d,true)===false?null:d.getNextSourceNode(true,l,h)}g&&h(g)===false&&(g=null)}for(;g&&!this._.end;){this.current=g;if(!this.evaluator||this.evaluator(g)!==false){if(!b)return g}else if(b&&this.evaluator)return false;g=g[q](false,l,h)}this.end();return this.current=null}function d(b){for(var c,g=null;c=a.call(this,b);)g=c;return g} +CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=a;this._={}},proto:{end:function(){this._.end=1},next:function(){return a.call(this)},previous:function(){return a.call(this,1)},checkForward:function(){return a.call(this,0,1)!==false},checkBackward:function(){return a.call(this,1,1)!==false},lastForward:function(){return d.call(this)},lastBackward:function(){return d.call(this,1)},reset:function(){delete this.current;this._={}}}});var b={block:1,"list-item":1,table:1,"table-row-group":1, +"table-header-group":1,"table-footer-group":1,"table-row":1,"table-column-group":1,"table-column":1,"table-cell":1,"table-caption":1},c={absolute:1,fixed:1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(a){return this.getComputedStyle("float")=="none"&&!(this.getComputedStyle("position")in c)&&b[this.getComputedStyle("display")]?true:!!(this.is(CKEDITOR.dtd.$block)||a&&this.is(a))};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary(a))}}; +CKEDITOR.dom.walker.listItemBoundary=function(){return this.blockBoundary({br:1})};CKEDITOR.dom.walker.bookmark=function(a,b){function c(a){return a&&a.getName&&a.getName()=="span"&&a.data("cke-bookmark")}return function(g){var d,e;d=g&&g.type!=CKEDITOR.NODE_ELEMENT&&(e=g.getParent())&&c(e);d=a?d:d||c(g);return!!(b^d)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var c;b&&b.type==CKEDITOR.NODE_TEXT&&(c=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()=="​");return!!(a^ +c)}};CKEDITOR.dom.walker.invisible=function(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.env.webkit?1:0;return function(g){if(b(g))g=1;else{g.type==CKEDITOR.NODE_TEXT&&(g=g.getParent());g=g.$.offsetWidth<=c}return!!(a^g)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!f(a)&&!h(a)}return function(c){var g=CKEDITOR.env.needsBrFiller?c.is&&c.is("br"):c.getText&&e.test(c.getText());if(g){g=c.getParent(); +c=c.getNext(b);g=g.isBlockBoundary()&&(!c||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary())}return!!(a^g)}};CKEDITOR.dom.walker.temp=function(a){return function(b){b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b=b&&b.hasAttribute("data-cke-temp");return!!(a^b)}};var e=/^[\t\r\n ]*(?: |\xa0)$/,f=CKEDITOR.dom.walker.whitespaces(),h=CKEDITOR.dom.walker.bookmark(),i=CKEDITOR.dom.walker.temp();CKEDITOR.dom.walker.ignored=function(a){return function(b){b=f(b)||h(b)||i(b);return!!(a^b)}};var j= +CKEDITOR.dom.walker.ignored();CKEDITOR.dom.walker.empty=function(a){return function(b){for(var c=0,g=b.getChildCount();c<g;++c)if(!j(b.getChild(c)))return!!a;return!a}};var n=CKEDITOR.dom.walker.empty(),g=CKEDITOR.dom.walker.validEmptyBlockContainers=CKEDITOR.tools.extend(function(a){var b={},c;for(c in a)CKEDITOR.dtd[c]["#"]&&(b[c]=1);return b}(CKEDITOR.dtd.$block),{caption:1,td:1,th:1});CKEDITOR.dom.walker.editable=function(a){return function(b){return!!(a^(j(b)?0:b.type==CKEDITOR.NODE_TEXT||b.type== +CKEDITOR.NODE_ELEMENT&&(b.is(CKEDITOR.dtd.$inline)||(b.is("hr")||b.getAttribute("contenteditable")=="false")||!CKEDITOR.env.needsBrFiller&&b.is(g)&&n(b))?1:0))}};CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(h(a)||f(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$inline)&&!a.is(CKEDITOR.dtd.$empty));return a&&(CKEDITOR.env.needsBrFiller?a.is&&a.is("br"):a.getText&&e.test(a.getText()))?a:false}})(); +CKEDITOR.dom.range=function(a){this.endOffset=this.endContainer=this.startOffset=this.startContainer=null;this.collapsed=true;var d=a instanceof CKEDITOR.dom.document;this.document=d?a:a.getDocument();this.root=d?a.getBody():a}; +(function(){function a(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset}function d(a,b,c,d,o){function e(a,b,c,g){var k=c?a.getPrevious():a.getNext();if(g&&i)return k;if(l||g)b.append(a.clone(true,o),c);else{a.remove();n&&b.append(a)}return k}function f(){var a,b,c,g=Math.min(J.length,D.length);for(a=0;a<g;a++){b=J[a];c=D[a];if(!b.equals(c))return a}return a-1}function h(){var b=y-1,c=A&&K&&!q.equals(k);if(b<v-1||b<L-1||c){c?a.moveToPosition(k, +CKEDITOR.POSITION_BEFORE_START):L==b+1&&H?a.moveToPosition(D[b],CKEDITOR.POSITION_BEFORE_END):a.moveToPosition(D[b+1],CKEDITOR.POSITION_BEFORE_START);if(d)if((b=J[b+1])&&b.type==CKEDITOR.NODE_ELEMENT){c=CKEDITOR.dom.element.createFromHtml('<span data-cke-bookmark="1" style="display:none"> </span>',a.document);c.insertAfter(b);b.mergeSiblings(false);a.moveToBookmark({startNode:c})}}else a.collapse(true)}a.optimizeBookmark();var i=b===0,n=b==1,l=b==2,b=l||n,q=a.startContainer,k=a.endContainer, +m=a.startOffset,F=a.endOffset,w,H,A,K,E,r;if(l&&k.type==CKEDITOR.NODE_TEXT&&q.equals(k)){q=a.document.createText(q.substring(m,F));c.append(q)}else{if(k.type==CKEDITOR.NODE_TEXT)l?r=true:k=k.split(F);else if(k.getChildCount()>0)if(F>=k.getChildCount()){k=k.getChild(F-1);H=true}else k=k.getChild(F);else K=H=true;if(q.type==CKEDITOR.NODE_TEXT)l?E=true:q.split(m);else if(q.getChildCount()>0)if(m===0){q=q.getChild(m);w=true}else q=q.getChild(m-1);else A=w=true;for(var J=q.getParents(),D=k.getParents(), +y=f(),v=J.length-1,L=D.length-1,O=c,j,U,T,Z=-1,M=y;M<=v;M++){U=J[M];T=U.getNext();for(M==v&&!(U.equals(D[M])&&v<L)?w?e(U,O,false,A):E&&O.append(a.document.createText(U.substring(m))):b&&(j=O.append(U.clone(0,o)));T;){if(T.equals(k)){Z=M;break}if(T.equals(D[M])){Z=M;break}T=e(T,O)}O=j}O=c;for(M=y;M<=L;M++){c=D[M];T=c.getPrevious();if(!c.equals(J[M])){M==L&&!(c.equals(J[M])&&L<v)?H?e(c,O,false,K):r&&O.append(a.document.createText(c.substring(0,F))):b&&(j=O.append(c.clone(0,o)));if(M>Z)for(;T;)T=e(T, +O,true);O=j}}l||h()}}function b(){var a=false,b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(true),d=CKEDITOR.dom.walker.bogus();return function(o){if(c(o)||b(o))return true;if(d(o)&&!a)return a=true;return o.type==CKEDITOR.NODE_TEXT&&(o.hasAscendant("pre")||CKEDITOR.tools.trim(o.getText()).length)||o.type==CKEDITOR.NODE_ELEMENT&&!o.is(f)?false:true}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(d){return c(d)||b(d)?true: +!a&&h(d)||d.type==CKEDITOR.NODE_ELEMENT&&d.is(CKEDITOR.dtd.$removeEmpty)}}function e(a){return function(){var b;return this[a?"getPreviousNode":"getNextNode"](function(a){!b&&n(a)&&(b=a);return j(a)&&!(h(a)&&a.equals(b))})}}var f={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},h=CKEDITOR.dom.walker.bogus(),i=/^[\t\r\n ]*(?: |\xa0)$/,j=CKEDITOR.dom.walker.editable(),n=CKEDITOR.dom.walker.ignored(true); +CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){if(a){this._setEndContainer(this.startContainer);this.endOffset=this.startOffset}else{this._setStartContainer(this.endContainer);this.startOffset=this.endOffset}this.collapsed=true},cloneContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document); +this.collapsed||d(this,2,b,false,typeof a=="undefined"?true:a);return b},deleteContents:function(a){this.collapsed||d(this,0,null,a)},extractContents:function(a,b){var c=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||d(this,1,c,a,typeof b=="undefined"?true:b);return c},createBookmark:function(a){var b,c,d,o,e=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml(" ");if(a){d="cke_bm_"+CKEDITOR.tools.getNextNumber(); +b.setAttribute("id",d+(e?"C":"S"))}if(!e){c=b.clone();c.setHtml(" ");a&&c.setAttribute("id",d+"E");o=this.clone();o.collapse();o.insertNode(c)}o=this.clone();o.collapse(true);o.insertNode(b);if(c){this.setStartAfter(b);this.setEndBefore(c)}else this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?d+(e?"C":"S"):b,endNode:a?d+"E":c,serializable:a,collapsed:e}},createBookmark2:function(){function a(c){var g=c.container,d=c.offset,e;e=g;var f=d;e=e.type!=CKEDITOR.NODE_ELEMENT||f=== +0||f==e.getChildCount()?0:e.getChild(f-1).type==CKEDITOR.NODE_TEXT&&e.getChild(f).type==CKEDITOR.NODE_TEXT;if(e){g=g.getChild(d-1);d=g.getLength()}g.type==CKEDITOR.NODE_ELEMENT&&d>1&&(d=g.getChild(d-1).getIndex(true)+1);if(g.type==CKEDITOR.NODE_TEXT){e=g;for(f=0;(e=e.getPrevious())&&e.type==CKEDITOR.NODE_TEXT;)f=f+e.getLength();e=f;if(g.getText())d=d+e;else{f=g.getPrevious(b);if(e){d=e;g=f?f.getNext():g.getParent().getFirst()}else{g=g.getParent();d=f?f.getIndex(true)+1:0}}}c.container=g;c.offset= +d}var b=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,true);return function(b){var c=this.collapsed,d={container:this.startContainer,offset:this.startOffset},e={container:this.endContainer,offset:this.endOffset};if(b){a(d);c||a(e)}return{start:d.container.getAddress(b),end:c?null:e.container.getAddress(b),startOffset:d.offset,endOffset:e.offset,normalized:b,collapsed:c,is2:true}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,d=a.end&& +this.document.getByAddress(a.end,a.normalized),a=a.endOffset;this.setStart(b,c);d?this.setEnd(d,a):this.collapse(true)}else{b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode;a=c?this.document.getById(a.endNode):a.endNode;this.setStartBefore(b);b.remove();if(a){this.setEndBefore(a);a.remove()}else this.collapse(true)}},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,d=this.endOffset,e;if(a.type==CKEDITOR.NODE_ELEMENT){e=a.getChildCount(); +if(e>c)a=a.getChild(c);else if(e<1)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}}if(b.type==CKEDITOR.NODE_ELEMENT){e=b.getChildCount();if(e>d)b=b.getChild(d).getPreviousSourceNode(true);else if(e<1)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer, +d=this.endContainer,c=c.equals(d)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(d);return b&&!c.is?c.getParent():c},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a= +this.startContainer,b=this.endContainer;a.is&&(a.is("span")&&a.data("cke-bookmark"))&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&(b.is&&b.is("span")&&b.data("cke-bookmark"))&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var c=this.startContainer,d=this.startOffset,e=this.collapsed;if((!a||e)&&c&&c.type==CKEDITOR.NODE_TEXT){if(d)if(d>=c.getLength()){d=c.getIndex()+1;c=c.getParent()}else{var f=c.split(d),d=c.getIndex()+1,c=c.getParent();if(this.startContainer.equals(this.endContainer))this.setEnd(f, +this.endOffset-this.startOffset);else if(c.equals(this.endContainer))this.endOffset=this.endOffset+1}else{d=c.getIndex();c=c.getParent()}this.setStart(c,d);if(e){this.collapse(true);return}}c=this.endContainer;d=this.endOffset;if(!b&&!e&&c&&c.type==CKEDITOR.NODE_TEXT){if(d){d>=c.getLength()||c.split(d);d=c.getIndex()+1}else d=c.getIndex();c=c.getParent();this.setEnd(c,d)}},enlarge:function(a,b){function c(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var d=RegExp(/[^\s\ufeff]/); +switch(a){case CKEDITOR.ENLARGE_INLINE:var e=1;case CKEDITOR.ENLARGE_ELEMENT:if(this.collapsed)break;var f=this.getCommonAncestor(),h=this.root,i,n,j,l,q,k=false,m,F;m=this.startContainer;var w=this.startOffset;if(m.type==CKEDITOR.NODE_TEXT){if(w){m=!CKEDITOR.tools.trim(m.substring(0,w)).length&&m;k=!!m}if(m&&!(l=m.getPrevious()))j=m.getParent()}else{w&&(l=m.getChild(w-1)||m.getLast());l||(j=m)}for(j=c(j);j||l;){if(j&&!l){!q&&j.equals(f)&&(q=true);if(e?j.isBlockBoundary():!h.contains(j))break;if(!k|| +j.getComputedStyle("display")!="inline"){k=false;q?i=j:this.setStartBefore(j)}l=j.getPrevious()}for(;l;){m=false;if(l.type==CKEDITOR.NODE_COMMENT)l=l.getPrevious();else{if(l.type==CKEDITOR.NODE_TEXT){F=l.getText();d.test(F)&&(l=null);m=/[\s\ufeff]$/.test(F)}else if((l.$.offsetWidth>(CKEDITOR.env.webkit?1:0)||b&&l.is("br"))&&!l.data("cke-bookmark"))if(k&&CKEDITOR.dtd.$removeEmpty[l.getName()]){F=l.getText();if(d.test(F))l=null;else for(var w=l.$.getElementsByTagName("*"),H=0,A;A=w[H++];)if(!CKEDITOR.dtd.$removeEmpty[A.nodeName.toLowerCase()]){l= +null;break}l&&(m=!!F.length)}else l=null;m&&(k?q?i=j:j&&this.setStartBefore(j):k=true);if(l){m=l.getPrevious();if(!j&&!m){j=l;l=null;break}l=m}else j=null}}j&&(j=c(j.getParent()))}m=this.endContainer;w=this.endOffset;j=l=null;q=k=false;var K=function(a,b){var c=new CKEDITOR.dom.range(h);c.setStart(a,b);c.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);var c=new CKEDITOR.dom.walker(c),g;for(c.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};g=c.next();){if(g.type!=CKEDITOR.NODE_TEXT)return false; +F=g!=a?g.getText():g.substring(b);if(d.test(F))return false}return true};if(m.type==CKEDITOR.NODE_TEXT)if(CKEDITOR.tools.trim(m.substring(w)).length)k=true;else{k=!m.getLength();if(w==m.getLength()){if(!(l=m.getNext()))j=m.getParent()}else K(m,w)&&(j=m.getParent())}else(l=m.getChild(w))||(j=m);for(;j||l;){if(j&&!l){!q&&j.equals(f)&&(q=true);if(e?j.isBlockBoundary():!h.contains(j))break;if(!k||j.getComputedStyle("display")!="inline"){k=false;q?n=j:j&&this.setEndAfter(j)}l=j.getNext()}for(;l;){m=false; +if(l.type==CKEDITOR.NODE_TEXT){F=l.getText();K(l,0)||(l=null);m=/^[\s\ufeff]/.test(F)}else if(l.type==CKEDITOR.NODE_ELEMENT){if((l.$.offsetWidth>0||b&&l.is("br"))&&!l.data("cke-bookmark"))if(k&&CKEDITOR.dtd.$removeEmpty[l.getName()]){F=l.getText();if(d.test(F))l=null;else{w=l.$.getElementsByTagName("*");for(H=0;A=w[H++];)if(!CKEDITOR.dtd.$removeEmpty[A.nodeName.toLowerCase()]){l=null;break}}l&&(m=!!F.length)}else l=null}else m=1;m&&k&&(q?n=j:this.setEndAfter(j));if(l){m=l.getNext();if(!j&&!m){j=l; +l=null;break}l=m}else j=null}j&&(j=c(j.getParent()))}if(i&&n){f=i.contains(n)?n:i;this.setStartBefore(f);this.setEndAfter(f)}break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:j=new CKEDITOR.dom.range(this.root);h=this.root;j.setStartAt(h,CKEDITOR.POSITION_AFTER_START);j.setEnd(this.startContainer,this.startOffset);j=new CKEDITOR.dom.walker(j);var E,r,J=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),D=null,y=function(a){if(a.type== +CKEDITOR.NODE_ELEMENT&&a.getAttribute("contenteditable")=="false")if(D){if(D.equals(a)){D=null;return}}else D=a;else if(D)return;var b=J(a);b||(E=a);return b},e=function(a){var b=y(a);!b&&(a.is&&a.is("br"))&&(r=a);return b};j.guard=y;j=j.lastBackward();E=E||h;this.setStartAt(E,!E.is("br")&&(!j&&this.checkStartOfBlock()||j&&E.contains(j))?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){j=this.clone();j=new CKEDITOR.dom.walker(j);var v=CKEDITOR.dom.walker.whitespaces(), +L=CKEDITOR.dom.walker.bookmark();j.evaluator=function(a){return!v(a)&&!L(a)};if((j=j.previous())&&j.type==CKEDITOR.NODE_ELEMENT&&j.is("br"))break}j=this.clone();j.collapse();j.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);j=new CKEDITOR.dom.walker(j);j.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?e:y;E=D=r=null;j=j.lastForward();E=E||h;this.setEndAt(E,!j&&this.checkEndOfBlock()||j&&E.contains(j)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);r&&this.setEndAfter(r)}},shrink:function(a,b,c){if(!this.collapsed){var a= +a||CKEDITOR.SHRINK_TEXT,d=this.clone(),e=this.startContainer,f=this.endContainer,h=this.startOffset,i=this.endOffset,j=1,n=1;if(e&&e.type==CKEDITOR.NODE_TEXT)if(h)if(h>=e.getLength())d.setStartAfter(e);else{d.setStartBefore(e);j=0}else d.setStartBefore(e);if(f&&f.type==CKEDITOR.NODE_TEXT)if(i)if(i>=f.getLength())d.setEndAfter(f);else{d.setEndAfter(f);n=0}else d.setEndBefore(f);var d=new CKEDITOR.dom.walker(d),l=CKEDITOR.dom.walker.bookmark();d.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT? +CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var q;d.guard=function(b,d){if(l(b))return true;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||d&&b.equals(q)||c===false&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute("contenteditable"))return false;!d&&b.type==CKEDITOR.NODE_ELEMENT&&(q=b);return true};if(j)(e=d[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(e,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START); +if(n){d.reset();(d=d[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(d,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)}return!(!j&&!n)}},insertNode:function(a){this.optimizeBookmark();this.trim(false,true);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(true)},moveToRange:function(a){this.setStart(a.startContainer, +a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(b,c){if(b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]){c=b.getIndex();b=b.getParent()}this._setStartContainer(b);this.startOffset=c;if(!this.endContainer){this._setEndContainer(b);this.endOffset=c}a(this)},setEnd:function(b,c){if(b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]){c= +b.getIndex()+1;b=b.getParent()}this._setEndContainer(b);this.endOffset=c;if(!this.startContainer){this._setStartContainer(b);this.startOffset=c}a(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setStart(b, +0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setStart(b,b.getLength()):this.setStart(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(b)}a(this)},setEndAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setEnd(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setEnd(b,b.getLength()):this.setEnd(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(b); +break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(b)}a(this)},fixBlock:function(a,b){var c=this.createBookmark(),d=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(d);d.trim();this.insertNode(d);var e=d.getBogus();e&&e.remove();d.appendBogus();this.moveToBookmark(c);return d},splitBlock:function(a,b){var c=new CKEDITOR.dom.elementPath(this.startContainer,this.root),d=new CKEDITOR.dom.elementPath(this.endContainer,this.root), +e=c.block,f=d.block,h=null;if(!c.blockLimit.equals(d.blockLimit))return null;if(a!="br"){if(!e){e=this.fixBlock(true,a);f=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block}f||(f=this.fixBlock(false,a))}c=e&&this.checkStartOfBlock();d=f&&this.checkEndOfBlock();this.deleteContents();if(e&&e.equals(f))if(d){h=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(f,CKEDITOR.POSITION_AFTER_END);f=null}else if(c){h=new CKEDITOR.dom.elementPath(this.startContainer, +this.root);this.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START);e=null}else{f=this.splitElement(e,b||false);e.is("ul","ol")||e.appendBogus()}return{previousBlock:e,nextBlock:f,wasStartOfBlock:c,wasEndOfBlock:d,elementPath:h}},splitElement:function(a,b){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var c=this.extractContents(false,b||false),d=a.clone(false,b||false);c.appendTo(d);d.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return d},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return b(a)|| +(c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable())||d.is("table")&&a.is("caption")?false:true}}var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(false);return function(b){for(var c=this.createBookmark(),d=this[b?"endPath":"startPath"](),e=d.block||d.blockLimit,f;e&&!e.equals(d.root)&&!e.getFirst(a(e));){f=e.getParent();this[b?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END);e.remove(1);e=f}this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer, +this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a,b){var d=b==CKEDITOR.START,e=this.clone();e.collapse(d);e[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);e=new CKEDITOR.dom.walker(e);e.evaluator=c(d);return e[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,c=this.startOffset;if(CKEDITOR.env.ie&&c&&a.type==CKEDITOR.NODE_TEXT){a=CKEDITOR.tools.ltrim(a.substring(0, +c));i.test(a)&&this.trim(0,1)}this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,this.root);c=this.clone();c.collapse(true);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,c=this.endOffset;if(CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT){a=CKEDITOR.tools.rtrim(a.substring(c));i.test(a)&&this.trim(1,0)}this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer, +this.root);c=this.clone();c.collapse(false);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITION_AFTER_START);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d); +c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type==CKEDITOR.NODE_ELEMENT){if(b.getAttribute("contentEditable")=="false"&&!b.data("cke-editable"))return 0;if(b.is("html")||b.getAttribute("contentEditable")=="true"&&(b.contains(c)||b.equals(c)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(false)){this.moveToPosition(a, +b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);return true}for(var c=0;a;){if(a.type==CKEDITOR.NODE_TEXT){b&&this.endContainer&&this.checkEndOfBlock()&&i.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable()){this.moveToPosition(a,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START);c=1}else if(b&&a.is("br")&&this.endContainer&& +this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START);else if(a.getAttribute("contenteditable")=="false"&&a.is(CKEDITOR.dtd.$block)){this.setStartBefore(a);this.setEndAfter(a);return true}var d=a,e=c,f=void 0;d.type==CKEDITOR.NODE_ELEMENT&&d.isEditable(false)&&(f=d[b?"getLast":"getFirst"](n));!e&&!f&&(f=d[b?"getPrevious":"getNext"](n));a=f}return!!c},moveToClosestEditablePosition:function(a,b){var c,d=0,e,f,h=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];if(a){c= +new CKEDITOR.dom.range(this.root);c.moveToPosition(a,h[b?0:1])}else c=this.clone();if(a&&!a.is(CKEDITOR.dtd.$block))d=1;else if(e=c[b?"getNextEditableNode":"getPreviousEditableNode"]()){d=1;if((f=e.type==CKEDITOR.NODE_ELEMENT)&&e.is(CKEDITOR.dtd.$block)&&e.getAttribute("contenteditable")=="false"){c.setStartAt(e,CKEDITOR.POSITION_BEFORE_START);c.setEndAt(e,CKEDITOR.POSITION_AFTER_END)}else if(!CKEDITOR.env.needsBrFiller&&f&&e.is(CKEDITOR.dom.walker.validEmptyBlockContainers)){c.setEnd(e,0);c.collapse()}else c.moveToPosition(e, +h[b?1:0])}d&&this.moveToRange(c);return!!d},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)},moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,true)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(false,true),c=CKEDITOR.dom.walker.whitespaces(true);a.evaluator=function(a){return c(a)&& +b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode:function(){var a=this.startContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:e(),getPreviousEditableNode:e(1),scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("<span> </span>", +this.document),b,c,d,e=this.clone();e.optimize();if(d=e.startContainer.type==CKEDITOR.NODE_TEXT){c=e.startContainer.getText();b=e.startContainer.split(e.startOffset);a.insertAfter(e.startContainer)}else e.insertNode(a);a.scrollIntoView();if(d){e.startContainer.setText(c);b.remove()}a.remove()},_setStartContainer:function(a){this.startContainer=a},_setEndContainer:function(a){this.endContainer=a}}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3; +CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;"use strict"; +(function(){function a(a){if(!(arguments.length<1)){this.range=a;this.forceBrBreak=0;this.enlargeBr=1;this.enforceRealBlocks=0;this._||(this._={})}}function d(a){var b=[];a.forEach(function(a){if(a.getAttribute("contenteditable")=="true"){b.push(a);return false}},CKEDITOR.NODE_ELEMENT,true);return b}function b(a,c,e,f){a:{f==null&&(f=d(e));for(var h;h=f.shift();)if(h.getDtd().p){f={element:h,remaining:f};break a}f=null}if(!f)return 0;if((h=CKEDITOR.filter.instances[f.element.data("cke-filter")])&& +!h.check(c))return b(a,c,e,f.remaining);c=new CKEDITOR.dom.range(f.element);c.selectNodeContents(f.element);c=c.createIterator();c.enlargeBr=a.enlargeBr;c.enforceRealBlocks=a.enforceRealBlocks;c.activeFilter=c.filter=h;a._.nestedEditable={element:f.element,container:e,remaining:f.remaining,iterator:c};return 1}function c(a,b,c){if(!b)return false;a=a.clone();a.collapse(!c);return a.checkBoundaryOfElement(b,c?CKEDITOR.START:CKEDITOR.END)}var e=/^[\r\n\t ]+$/,f=CKEDITOR.dom.walker.bookmark(false,true), +h=CKEDITOR.dom.walker.whitespaces(true),i=function(a){return f(a)&&h(a)},j={dd:1,dt:1,li:1};a.prototype={getNextParagraph:function(a){var d,h,s,z,o,a=a||"p";if(this._.nestedEditable){if(d=this._.nestedEditable.iterator.getNextParagraph(a)){this.activeFilter=this._.nestedEditable.iterator.activeFilter;return d}this.activeFilter=this.filter;if(b(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining)){this.activeFilter=this._.nestedEditable.iterator.activeFilter;return this._.nestedEditable.iterator.getNextParagraph(a)}this._.nestedEditable= +null}if(!this.range.root.getDtd()[a])return null;if(!this._.started){var p=this.range.clone();h=p.startPath();var t=p.endPath(),x=!p.collapsed&&c(p,h.block),u=!p.collapsed&&c(p,t.block,1);p.shrink(CKEDITOR.SHRINK_ELEMENT,true);x&&p.setStartAt(h.block,CKEDITOR.POSITION_BEFORE_END);u&&p.setEndAt(t.block,CKEDITOR.POSITION_AFTER_START);h=p.endContainer.hasAscendant("pre",true)||p.startContainer.hasAscendant("pre",true);p.enlarge(this.forceBrBreak&&!h||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS: +CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(!p.collapsed){h=new CKEDITOR.dom.walker(p.clone());t=CKEDITOR.dom.walker.bookmark(true,true);h.evaluator=t;this._.nextNode=h.next();h=new CKEDITOR.dom.walker(p.clone());h.evaluator=t;h=h.previous();this._.lastNode=h.getNextSourceNode(true,null,p.root);if(this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()){t=this.range.clone();t.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END); +if(t.checkEndOfBlock()){t=new CKEDITOR.dom.elementPath(t.endContainer,t.root);this._.lastNode=(t.block||t.blockLimit).getNextSourceNode(true)}}if(!this._.lastNode||!p.root.contains(this._.lastNode)){this._.lastNode=this._.docEndMarker=p.document.createText("");this._.lastNode.insertAfter(h)}p=null}this._.started=1;h=p}t=this._.nextNode;p=this._.lastNode;for(this._.nextNode=null;t;){var x=0,u=t.hasAscendant("pre"),C=t.type!=CKEDITOR.NODE_ELEMENT,l=0;if(C)t.type==CKEDITOR.NODE_TEXT&&e.test(t.getText())&& +(C=0);else{var q=t.getName();if(CKEDITOR.dtd.$block[q]&&t.getAttribute("contenteditable")=="false"){d=t;b(this,a,d);break}else if(t.isBlockBoundary(this.forceBrBreak&&!u&&{br:1})){if(q=="br")C=1;else if(!h&&!t.getChildCount()&&q!="hr"){d=t;s=t.equals(p);break}if(h){h.setEndAt(t,CKEDITOR.POSITION_BEFORE_START);if(q!="br")this._.nextNode=t}x=1}else{if(t.getFirst()){if(!h){h=this.range.clone();h.setStartAt(t,CKEDITOR.POSITION_BEFORE_START)}t=t.getFirst();continue}C=1}}if(C&&!h){h=this.range.clone(); +h.setStartAt(t,CKEDITOR.POSITION_BEFORE_START)}s=(!x||C)&&t.equals(p);if(h&&!x)for(;!t.getNext(i)&&!s;){q=t.getParent();if(q.isBlockBoundary(this.forceBrBreak&&!u&&{br:1})){x=1;C=0;s||q.equals(p);h.setEndAt(q,CKEDITOR.POSITION_BEFORE_END);break}t=q;C=1;s=t.equals(p);l=1}C&&h.setEndAt(t,CKEDITOR.POSITION_AFTER_END);t=this._getNextSourceNode(t,l,p);if((s=!t)||x&&h)break}if(!d){if(!h){this._.docEndMarker&&this._.docEndMarker.remove();return this._.nextNode=null}d=new CKEDITOR.dom.elementPath(h.startContainer, +h.root);t=d.blockLimit;x={div:1,th:1,td:1};d=d.block;if(!d&&t&&!this.enforceRealBlocks&&x[t.getName()]&&h.checkStartOfBlock()&&h.checkEndOfBlock()&&!t.equals(h.root))d=t;else if(!d||this.enforceRealBlocks&&d.is(j)){d=this.range.document.createElement(a);h.extractContents().appendTo(d);d.trim();h.insertNode(d);z=o=true}else if(d.getName()!="li"){if(!h.checkStartOfBlock()||!h.checkEndOfBlock()){d=d.clone(false);h.extractContents().appendTo(d);d.trim();o=h.splitBlock();z=!o.wasStartOfBlock;o=!o.wasEndOfBlock; +h.insertNode(d)}}else if(!s)this._.nextNode=d.equals(p)?null:this._getNextSourceNode(h.getBoundaryNodes().endNode,1,p)}if(z)(z=d.getPrevious())&&z.type==CKEDITOR.NODE_ELEMENT&&(z.getName()=="br"?z.remove():z.getLast()&&z.getLast().$.nodeName.toLowerCase()=="br"&&z.getLast().remove());if(o)(z=d.getLast())&&z.type==CKEDITOR.NODE_ELEMENT&&z.getName()=="br"&&(!CKEDITOR.env.needsBrFiller||z.getPrevious(f)||z.getNext(f))&&z.remove();if(!this._.nextNode)this._.nextNode=s||d.equals(p)||!p?null:this._getNextSourceNode(d, +1,p);return d},_getNextSourceNode:function(a,b,c){function d(a){return!(a.equals(c)||a.equals(e))}for(var e=this.range.root,a=a.getNextSourceNode(b,null,d);!f(a);)a=a.getNextSourceNode(b,null,d);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}})(); +CKEDITOR.command=function(a,d){this.uiItems=[];this.exec=function(b){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return false;this.editorFocus&&a.focus();return this.fire("exec")===false?true:d.exec.call(this,a,b)!==false};this.refresh=function(a,b){if(!this.readOnly&&a.readOnly)return true;if(this.context&&!b.isContextFor(this.context)){this.disable();return true}if(!this.checkAllowed(true)){this.disable();return true}this.startDisabled||this.enable();this.modes&&!this.modes[a.mode]&& +this.disable();return this.fire("refresh",{editor:a,path:b})===false?true:d.refresh&&d.refresh.apply(this,arguments)!==false};var b;this.checkAllowed=function(c){return!c&&typeof b=="boolean"?b:b=a.activeFilter.checkFeature(this)};CKEDITOR.tools.extend(this,d,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!d.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)}; +CKEDITOR.command.prototype={enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(!this.preserveState||typeof this.previousState=="undefined"?CKEDITOR.TRISTATE_OFF:this.previousState)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(a){if(this.state==a||a!=CKEDITOR.TRISTATE_DISABLED&&!this.checkAllowed())return false;this.previousState=this.state;this.state=a;this.fire("state");return true},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF? +this.setState(CKEDITOR.TRISTATE_ON):this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3; +CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"<!DOCTYPE html>",bodyId:"",bodyClass:"",fullPage:!1,height:200,extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]}; +(function(){function a(a,b,c,d,k){var e,m,a=[];for(e in b){m=b[e];m=typeof m=="boolean"?{}:typeof m=="function"?{match:m}:K(m);if(e.charAt(0)!="$")m.elements=e;if(c)m.featureName=c.toLowerCase();var f=m;f.elements=h(f.elements,/\s+/)||null;f.propertiesOnly=f.propertiesOnly||f.elements===true;var g=/\s*,\s*/,v=void 0;for(v in D){f[v]=h(f[v],g)||null;var w=f,r=y[v],o=h(f[y[v]],g),A=f[v],F=[],l=true,q=void 0;o?l=false:o={};for(q in A)if(q.charAt(0)=="!"){q=q.slice(1);F.push(q);o[q]=true;l=false}for(;q= +F.pop();){A[q]=A["!"+q];delete A["!"+q]}w[r]=(l?false:o)||null}f.match=f.match||null;d.push(m);a.push(m)}for(var b=k.elements,k=k.generic,L,c=0,d=a.length;c<d;++c){e=K(a[c]);m=e.classes===true||e.styles===true||e.attributes===true;f=e;v=r=g=void 0;for(g in D)f[g]=x(f[g]);w=true;for(v in y){g=y[v];r=f[g];o=[];A=void 0;for(A in r)A.indexOf("*")>-1?o.push(RegExp("^"+A.replace(/\*/g,".*")+"$")):o.push(A);r=o;if(r.length){f[g]=r;w=false}}f.nothingRequired=w;f.noProperties=!(f.attributes||f.classes||f.styles); +if(e.elements===true||e.elements===null)k[m?"unshift":"push"](e);else{f=e.elements;delete e.elements;for(L in f)if(b[L])b[L][m?"unshift":"push"](e);else b[L]=[e]}}}function d(a,c,d,k){if(!a.match||a.match(c))if(k||i(a,c)){if(!a.propertiesOnly)d.valid=true;if(!d.allAttributes)d.allAttributes=b(a.attributes,c.attributes,d.validAttributes);if(!d.allStyles)d.allStyles=b(a.styles,c.styles,d.validStyles);if(!d.allClasses){a=a.classes;c=c.classes;k=d.validClasses;if(a)if(a===true)a=true;else{for(var e=0, +m=c.length,f;e<m;++e){f=c[e];k[f]||(k[f]=a(f))}a=false}else a=false;d.allClasses=a}}}function b(a,b,c){if(!a)return false;if(a===true)return true;for(var d in b)c[d]||(c[d]=a(d));return false}function c(a,b,c){if(!a.match||a.match(b)){if(a.noProperties)return false;c.hadInvalidAttribute=e(a.attributes,b.attributes)||c.hadInvalidAttribute;c.hadInvalidStyle=e(a.styles,b.styles)||c.hadInvalidStyle;a=a.classes;b=b.classes;if(a){for(var d=false,k=a===true,m=b.length;m--;)if(k||a(b[m])){b.splice(m,1);d= +true}a=d}else a=false;c.hadInvalidClass=a||c.hadInvalidClass}}function e(a,b){if(!a)return false;var c=false,d=a===true,k;for(k in b)if(d||a(k)){delete b[k];c=true}return c}function f(a,b,c){if(a.disabled||a.customConfig&&!c||!b)return false;a._.cachedChecks={};return true}function h(a,b){if(!a)return false;if(a===true)return a;if(typeof a=="string"){a=E(a);return a=="*"?true:CKEDITOR.tools.convertArrayToObject(a.split(b))}if(CKEDITOR.tools.isArray(a))return a.length?CKEDITOR.tools.convertArrayToObject(a): +false;var c={},d=0,k;for(k in a){c[k]=a[k];d++}return d?c:false}function i(a,b){if(a.nothingRequired)return true;var c,d,k,e;if(k=a.requiredClasses){e=b.classes;for(c=0;c<k.length;++c){d=k[c];if(typeof d=="string"){if(CKEDITOR.tools.indexOf(e,d)==-1)return false}else if(!CKEDITOR.tools.checkIfAnyArrayItemMatches(e,d))return false}}return j(b.styles,a.requiredStyles)&&j(b.attributes,a.requiredAttributes)}function j(a,b){if(!b)return true;for(var c=0,d;c<b.length;++c){d=b[c];if(typeof d=="string"){if(!(d in +a))return false}else if(!CKEDITOR.tools.checkIfAnyObjectPropertyMatches(a,d))return false}return true}function n(a){if(!a)return{};for(var a=a.split(/\s*,\s*/).sort(),b={};a.length;)b[a.shift()]=r;return b}function g(a){for(var b,c,d,k,e={},m=1,a=E(a);b=a.match(v);){if(c=b[2]){d=B(c,"styles");k=B(c,"attrs");c=B(c,"classes")}else d=k=c=null;e["$"+m++]={elements:b[1],classes:c,styles:d,attributes:k};a=a.slice(b[0].length)}return e}function B(a,b){var c=a.match(L[b]);return c?E(c[1]):null}function s(a){var b= +a.styleBackup=a.attributes.style,c=a.classBackup=a.attributes["class"];if(!a.styles)a.styles=CKEDITOR.tools.parseCssText(b||"",1);if(!a.classes)a.classes=c?c.split(/\s+/):[]}function z(a,b,k,e){var m=0,f;if(e.toHtml)b.name=b.name.replace(O,"$1");if(e.doCallbacks&&a.elementCallbacks){a:for(var g=a.elementCallbacks,v=0,w=g.length,r;v<w;++v)if(r=g[v](b)){f=r;break a}if(f)return f}if(e.doTransform)if(f=a._.transformations[b.name]){s(b);for(g=0;g<f.length;++g)q(a,b,f[g]);p(b)}if(e.doFilter){a:{g=b.name; +v=a._;a=v.allowedRules.elements[g];f=v.allowedRules.generic;g=v.disallowedRules.elements[g];v=v.disallowedRules.generic;w=e.skipRequired;r={valid:false,validAttributes:{},validClasses:{},validStyles:{},allAttributes:false,allClasses:false,allStyles:false,hadInvalidAttribute:false,hadInvalidClass:false,hadInvalidStyle:false};var h,o;if(!a&&!f)a=null;else{s(b);if(g){h=0;for(o=g.length;h<o;++h)if(c(g[h],b,r)===false){a=null;break a}}if(v){h=0;for(o=v.length;h<o;++h)c(v[h],b,r)}if(a){h=0;for(o=a.length;h< +o;++h)d(a[h],b,r,w)}if(f){h=0;for(o=f.length;h<o;++h)d(f[h],b,r,w)}a=r}}if(!a){k.push(b);return A}if(!a.valid){k.push(b);return A}o=a.validAttributes;var F=a.validStyles;f=a.validClasses;var g=b.attributes,l=b.styles,v=b.classes,w=b.classBackup,y=b.styleBackup,D,L,i=[];r=[];var H=/^data-cke-/;h=false;delete g.style;delete g["class"];delete b.classBackup;delete b.styleBackup;if(!a.allAttributes)for(D in g)if(!o[D])if(H.test(D)){if(D!=(L=D.replace(/^data-cke-saved-/,""))&&!o[L]){delete g[D];h=true}}else{delete g[D]; +h=true}if(!a.allStyles||a.hadInvalidStyle){for(D in l)a.allStyles||F[D]?i.push(D+":"+l[D]):h=true;if(i.length)g.style=i.sort().join("; ")}else if(y)g.style=y;if(!a.allClasses||a.hadInvalidClass){for(D=0;D<v.length;++D)(a.allClasses||f[v[D]])&&r.push(v[D]);r.length&&(g["class"]=r.sort().join(" "));w&&r.length<w.split(/\s+/).length&&(h=true)}else w&&(g["class"]=w);h&&(m=A);if(!e.skipFinalValidation&&!t(b)){k.push(b);return A}}if(e.toHtml)b.name=b.name.replace(aa,"cke:$1");return m}function o(a){var b= +[],c;for(c in a)c.indexOf("*")>-1&&b.push(c.replace(/\*/g,".*"));return b.length?RegExp("^(?:"+b.join("|")+")$"):null}function p(a){var b=a.attributes,c;delete b.style;delete b["class"];if(c=CKEDITOR.tools.writeCssText(a.styles,true))b.style=c;a.classes.length&&(b["class"]=a.classes.sort().join(" "))}function t(a){switch(a.name){case "a":if(!a.children.length&&!a.attributes.name)return false;break;case "img":if(!a.attributes.src)return false}return true}function x(a){if(!a)return false;if(a===true)return true; +var b=o(a);return function(c){return c in a||b&&c.match(b)}}function u(){return new CKEDITOR.htmlParser.element("br")}function C(a){return a.type==CKEDITOR.NODE_ELEMENT&&(a.name=="br"||H.$block[a.name])}function l(a,b,c){var d=a.name;if(H.$empty[d]||!a.children.length)if(d=="hr"&&b=="br")a.replaceWith(u());else{a.parent&&c.push({check:"it",el:a.parent});a.remove()}else if(H.$block[d]||d=="tr")if(b=="br"){if(a.previous&&!C(a.previous)){b=u();b.insertBefore(a)}if(a.next&&!C(a.next)){b=u();b.insertAfter(a)}a.replaceWithChildren()}else{var d= +a.children,k;b:{k=H[b];for(var e=0,m=d.length,f;e<m;++e){f=d[e];if(f.type==CKEDITOR.NODE_ELEMENT&&!k[f.name]){k=false;break b}}k=true}if(k){a.name=b;a.attributes={};c.push({check:"parent-down",el:a})}else{k=a.parent;for(var e=k.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||k.name=="body",g,v,m=d.length;m>0;){f=d[--m];if(e&&(f.type==CKEDITOR.NODE_TEXT||f.type==CKEDITOR.NODE_ELEMENT&&H.$inline[f.name])){if(!g){g=new CKEDITOR.htmlParser.element(b);g.insertAfter(a);c.push({check:"parent-down",el:g})}g.add(f, +0)}else{g=null;v=H[k.name]||H.span;f.insertAfter(a);k.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(f.type==CKEDITOR.NODE_ELEMENT&&!v[f.name])&&c.push({check:"el-up",el:f})}}a.remove()}}else if(d in{style:1,script:1})a.remove();else{a.parent&&c.push({check:"it",el:a.parent});a.replaceWithChildren()}}function q(a,b,c){var d,k;for(d=0;d<c.length;++d){k=c[d];if((!k.check||a.check(k.check,false))&&(!k.left||k.left(b))){k.right(b,U);break}}}function k(a,b){var c=b.getDefinition(),d=c.attributes,k=c.styles,e, +m,f,g;if(a.name!=c.element)return false;for(e in d)if(e=="class"){c=d[e].split(/\s+/);for(f=a.classes.join("|");g=c.pop();)if(f.indexOf(g)==-1)return false}else if(a.attributes[e]!=d[e])return false;for(m in k)if(a.styles[m]!=k[m])return false;return true}function m(a,b){var c,d;if(typeof a=="string")c=a;else if(a instanceof CKEDITOR.style)d=a;else{c=a[0];d=a[1]}return[{element:c,left:d,right:function(a,c){c.transform(a,b)}}]}function F(a){return function(b){return k(b,a)}}function w(a){return function(b, +c){c[a](b)}}var H=CKEDITOR.dtd,A=1,K=CKEDITOR.tools.copy,E=CKEDITOR.tools.trim,r="cke-test",J=["","p","br","div"];CKEDITOR.FILTER_SKIP_TREE=2;CKEDITOR.filter=function(a){this.allowedContent=[];this.disallowedContent=[];this.elementCallbacks=null;this.disabled=false;this.editor=null;this.id=CKEDITOR.tools.getNextNumber();this._={allowedRules:{elements:{},generic:[]},disallowedRules:{elements:{},generic:[]},transformations:{},cachedTests:{}};CKEDITOR.filter.instances[this.id]=this;if(a instanceof CKEDITOR.editor){a= +this.editor=a;this.customConfig=true;var b=a.config.allowedContent;if(b===true)this.disabled=true;else{if(!b)this.customConfig=false;this.allow(b,"config",1);this.allow(a.config.extraAllowedContent,"extra",1);this.allow(J[a.enterMode]+" "+J[a.shiftEnterMode],"default",1);this.disallow(a.config.disallowedContent)}}else{this.customConfig=false;this.allow(a,"default",1)}};CKEDITOR.filter.instances={};CKEDITOR.filter.prototype={allow:function(b,c,d){if(!f(this,b,d))return false;var k,e;if(typeof b=="string")b= +g(b);else if(b instanceof CKEDITOR.style){if(b.toAllowedContentRules)return this.allow(b.toAllowedContentRules(this.editor),c,d);k=b.getDefinition();b={};d=k.attributes;b[k.element]=k={styles:k.styles,requiredStyles:k.styles&&CKEDITOR.tools.objectKeys(k.styles)};if(d){d=K(d);k.classes=d["class"]?d["class"].split(/\s+/):null;k.requiredClasses=k.classes;delete d["class"];k.attributes=d;k.requiredAttributes=d&&CKEDITOR.tools.objectKeys(d)}}else if(CKEDITOR.tools.isArray(b)){for(k=0;k<b.length;++k)e= +this.allow(b[k],c,d);return e}a(this,b,c,this.allowedContent,this._.allowedRules);return true},applyTo:function(a,b,c,d){if(this.disabled)return false;var k=this,e=[],m=this.editor&&this.editor.config.protectedSource,f,g=false,v={doFilter:!c,doTransform:true,doCallbacks:true,toHtml:b};a.forEach(function(a){if(a.type==CKEDITOR.NODE_ELEMENT){if(a.attributes["data-cke-filter"]=="off")return false;if(!b||!(a.name=="span"&&~CKEDITOR.tools.objectKeys(a.attributes).join("|").indexOf("data-cke-"))){f=z(k, +a,e,v);if(f&A)g=true;else if(f&2)return false}}else if(a.type==CKEDITOR.NODE_COMMENT&&a.value.match(/^\{cke_protected\}(?!\{C\})/)){var c;a:{var d=decodeURIComponent(a.value.replace(/^\{cke_protected\}/,""));c=[];var w,h,r;if(m)for(h=0;h<m.length;++h)if((r=d.match(m[h]))&&r[0].length==d.length){c=true;break a}d=CKEDITOR.htmlParser.fragment.fromHtml(d);d.children.length==1&&(w=d.children[0]).type==CKEDITOR.NODE_ELEMENT&&z(k,w,c,v);c=!c.length}c||e.push(a)}},null,true);e.length&&(g=true);for(var w, +a=[],d=J[d||(this.editor?this.editor.enterMode:CKEDITOR.ENTER_P)],h;c=e.pop();)c.type==CKEDITOR.NODE_ELEMENT?l(c,d,a):c.remove();for(;w=a.pop();){c=w.el;if(c.parent){h=H[c.parent.name]||H.span;switch(w.check){case "it":H.$removeEmpty[c.name]&&!c.children.length?l(c,d,a):t(c)||l(c,d,a);break;case "el-up":c.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&!h[c.name]&&l(c,d,a);break;case "parent-down":c.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&!h[c.name]&&l(c.parent,d,a)}}}return g},checkFeature:function(a){if(this.disabled|| +!a)return true;a.toFeature&&(a=a.toFeature(this.editor));return!a.requiredContent||this.check(a.requiredContent)},disable:function(){this.disabled=true},disallow:function(b){if(!f(this,b,true))return false;typeof b=="string"&&(b=g(b));a(this,b,null,this.disallowedContent,this._.disallowedRules);return true},addContentForms:function(a){if(!this.disabled&&a){var b,c,d=[],k;for(b=0;b<a.length&&!k;++b){c=a[b];if((typeof c=="string"||c instanceof CKEDITOR.style)&&this.check(c))k=c}if(k){for(b=0;b<a.length;++b)d.push(m(a[b], +k));this.addTransformations(d)}}},addElementCallback:function(a){if(!this.elementCallbacks)this.elementCallbacks=[];this.elementCallbacks.push(a)},addFeature:function(a){if(this.disabled||!a)return true;a.toFeature&&(a=a.toFeature(this.editor));this.allow(a.allowedContent,a.name);this.addTransformations(a.contentTransformations);this.addContentForms(a.contentForms);return a.requiredContent&&(this.customConfig||this.disallowedContent.length)?this.check(a.requiredContent):true},addTransformations:function(a){var b, +c;if(!this.disabled&&a){var d=this._.transformations,k;for(k=0;k<a.length;++k){b=a[k];var e=void 0,m=void 0,f=void 0,g=void 0,v=void 0,h=void 0;c=[];for(m=0;m<b.length;++m){f=b[m];if(typeof f=="string"){f=f.split(/\s*:\s*/);g=f[0];v=null;h=f[1]}else{g=f.check;v=f.left;h=f.right}if(!e){e=f;e=e.element?e.element:g?g.match(/^([a-z0-9]+)/i)[0]:e.left.getDefinition().element}v instanceof CKEDITOR.style&&(v=F(v));c.push({check:g==e?null:g,left:v,right:typeof h=="string"?w(h):h})}b=e;d[b]||(d[b]=[]);d[b].push(c)}}}, +check:function(a,b,c){if(this.disabled)return true;if(CKEDITOR.tools.isArray(a)){for(var d=a.length;d--;)if(this.check(a[d],b,c))return true;return false}var k,e;if(typeof a=="string"){e=a+"<"+(b===false?"0":"1")+(c?"1":"0")+">";if(e in this._.cachedChecks)return this._.cachedChecks[e];d=g(a).$1;k=d.styles;var m=d.classes;d.name=d.elements;d.classes=m=m?m.split(/\s*,\s*/):[];d.styles=n(k);d.attributes=n(d.attributes);d.children=[];m.length&&(d.attributes["class"]=m.join(" "));if(k)d.attributes.style= +CKEDITOR.tools.writeCssText(d.styles);k=d}else{d=a.getDefinition();k=d.styles;m=d.attributes||{};if(k){k=K(k);m.style=CKEDITOR.tools.writeCssText(k,true)}else k={};k={name:d.element,attributes:m,classes:m["class"]?m["class"].split(/\s+/):[],styles:k,children:[]}}var m=CKEDITOR.tools.clone(k),f=[],v;if(b!==false&&(v=this._.transformations[k.name])){for(d=0;d<v.length;++d)q(this,k,v[d]);p(k)}z(this,m,f,{doFilter:true,doTransform:b!==false,skipRequired:!c,skipFinalValidation:!c});b=f.length>0?false: +CKEDITOR.tools.objectCompare(k.attributes,m.attributes,true)?true:false;typeof a=="string"&&(this._.cachedChecks[e]=b);return b},getAllowedEnterMode:function(){var a=["p","div","br"],b={p:CKEDITOR.ENTER_P,div:CKEDITOR.ENTER_DIV,br:CKEDITOR.ENTER_BR};return function(c,d){var k=a.slice(),e;if(this.check(J[c]))return c;for(d||(k=k.reverse());e=k.pop();)if(this.check(e))return b[e];return CKEDITOR.ENTER_BR}}(),destroy:function(){delete CKEDITOR.filter.instances[this.id];delete this._;delete this.allowedContent; +delete this.disallowedContent}};var D={styles:1,attributes:1,classes:1},y={styles:"requiredStyles",attributes:"requiredAttributes",classes:"requiredClasses"},v=/^([a-z0-9\-*\s]+)((?:\s*\{[!\w\-,\s\*]+\}\s*|\s*\[[!\w\-,\s\*]+\]\s*|\s*\([!\w\-,\s\*]+\)\s*){0,3})(?:;\s*|$)/i,L={styles:/{([^}]+)}/,attrs:/\[([^\]]+)\]/,classes:/\(([^\)]+)\)/},O=/^cke:(object|embed|param)$/,aa=/^(object|embed|param)$/,U=CKEDITOR.filter.transformationsTools={sizeToStyle:function(a){this.lengthToStyle(a,"width");this.lengthToStyle(a, +"height")},sizeToAttribute:function(a){this.lengthToAttribute(a,"width");this.lengthToAttribute(a,"height")},lengthToStyle:function(a,b,c){c=c||b;if(!(c in a.styles)){var d=a.attributes[b];if(d){/^\d+$/.test(d)&&(d=d+"px");a.styles[c]=d}}delete a.attributes[b]},lengthToAttribute:function(a,b,c){c=c||b;if(!(c in a.attributes)){var d=a.styles[b],k=d&&d.match(/^(\d+)(?:\.\d*)?px$/);k?a.attributes[c]=k[1]:d==r&&(a.attributes[c]=r)}delete a.styles[b]},alignmentToStyle:function(a){if(!("float"in a.styles)){var b= +a.attributes.align;if(b=="left"||b=="right")a.styles["float"]=b}delete a.attributes.align},alignmentToAttribute:function(a){if(!("align"in a.attributes)){var b=a.styles["float"];if(b=="left"||b=="right")a.attributes.align=b}delete a.styles["float"]},matchesStyle:k,transform:function(a,b){if(typeof b=="string")a.name=b;else{var c=b.getDefinition(),d=c.styles,k=c.attributes,e,m,f,g;a.name=c.element;for(e in k)if(e=="class"){c=a.classes.join("|");for(f=k[e].split(/\s+/);g=f.pop();)c.indexOf(g)==-1&& +a.classes.push(g)}else a.attributes[e]=k[e];for(m in d)a.styles[m]=d[m]}}}})(); +(function(){CKEDITOR.focusManager=function(a){if(a.focusManager)return a.focusManager;this.hasFocus=false;this.currentActive=null;this._={editor:a};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(a){this._.timer&&clearTimeout(this._.timer);if(a)this.currentActive=a;if(!this.hasFocus&&!this._.locked){(a=CKEDITOR.currentInstance)&&a.focusManager.blur(1);this.hasFocus=true;(a=this._.editor.container)&&a.addClass("cke_focus");this._.editor.fire("focus")}}, +lock:function(){this._.locked=1},unlock:function(){delete this._.locked},blur:function(a){function d(){if(this.hasFocus){this.hasFocus=false;var a=this._.editor.container;a&&a.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var b=CKEDITOR.focusManager._.blurDelay;a||!b?d.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;d.call(this)},b,this)}},add:function(a,d){var b=a.getCustomData("focusmanager");if(!b|| +b!=this){b&&b.remove(a);var b="focus",c="blur";if(d)if(CKEDITOR.env.ie){b="focusin";c="focusout"}else CKEDITOR.event.useCapture=1;var e={blur:function(){a.equals(this.currentActive)&&this.blur()},focus:function(){this.focus(a)}};a.on(b,e.focus,this);a.on(c,e.blur,this);if(d)CKEDITOR.event.useCapture=0;a.setCustomData("focusmanager",this);a.setCustomData("focusmanager_handlers",e)}},remove:function(a){a.removeCustomData("focusmanager");var d=a.removeCustomData("focusmanager_handlers");a.removeListener("blur", +d.blur);a.removeListener("focus",d.focus)}}})();CKEDITOR.keystrokeHandler=function(a){if(a.keystrokeHandler)return a.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:a};return this}; +(function(){var a,d=function(b){var b=b.data,d=b.getKeystroke(),f=this.keystrokes[d],h=this._.editor;a=h.fire("key",{keyCode:d,domEvent:b})===false;if(!a){f&&(a=h.execCommand(f,{from:"keystrokeHandler"})!==false);a||(a=!!this.blockedKeystrokes[d])}a&&b.preventDefault(true);return!a},b=function(b){if(a){a=false;b.data.preventDefault(true)}};CKEDITOR.keystrokeHandler.prototype={attach:function(a){a.on("keydown",d,this);if(CKEDITOR.env.gecko&&CKEDITOR.env.mac)a.on("keypress",b,this)}}})(); +(function(){CKEDITOR.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,"zh-cn":1,zh:1},rtl:{ar:1,fa:1,he:1,ku:1,ug:1},load:function(a,d,b){if(!a||!CKEDITOR.lang.languages[a])a=this.detect(d, +a);var c=this,d=function(){c[a].dir=c.rtl[a]?"rtl":"ltr";b(a,c[a])};this[a]?d():CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/"+a+".js"),d,this)},detect:function(a,d){var b=this.languages,d=d||navigator.userLanguage||navigator.language||a,c=d.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),e=c[1],c=c[2];b[e+"-"+c]?e=e+"-"+c:b[e]||(e=null);CKEDITOR.lang.detect=e?function(){return e}:function(a){return a};return e||a}}})(); +CKEDITOR.scriptLoader=function(){var a={},d={};return{load:function(b,c,e,f){var h=typeof b=="string";h&&(b=[b]);e||(e=CKEDITOR);var i=b.length,j=[],n=[],g=function(a){c&&(h?c.call(e,a):c.call(e,j,n))};if(i===0)g(true);else{var B=function(a,b){(b?j:n).push(a);if(--i<=0){f&&CKEDITOR.document.getDocumentElement().removeStyle("cursor");g(b)}},s=function(b,c){a[b]=1;var e=d[b];delete d[b];for(var f=0;f<e.length;f++)e[f](b,c)},z=function(b){if(a[b])B(b,true);else{var e=d[b]||(d[b]=[]);e.push(B);if(!(e.length> +1)){var f=new CKEDITOR.dom.element("script");f.setAttributes({type:"text/javascript",src:b});if(c)if(CKEDITOR.env.ie&&CKEDITOR.env.version<11)f.$.onreadystatechange=function(){if(f.$.readyState=="loaded"||f.$.readyState=="complete"){f.$.onreadystatechange=null;s(b,true)}};else{f.$.onload=function(){setTimeout(function(){s(b,true)},0)};f.$.onerror=function(){s(b,false)}}f.appendTo(CKEDITOR.document.getHead())}}};f&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var o=0;o<i;o++)z(b[o])}}, +queue:function(){function a(){var b;(b=c[0])&&this.load(b.scriptUrl,b.callback,CKEDITOR,0)}var c=[];return function(d,f){var h=this;c.push({scriptUrl:d,callback:function(){f&&f.apply(this,arguments);c.shift();a.call(h)}});c.length==1&&a.call(this)}}()}}();CKEDITOR.resourceManager=function(a,d){this.basePath=a;this.fileName=d;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}}; +CKEDITOR.resourceManager.prototype={add:function(a,d){if(this.registered[a])throw'[CKEDITOR.resourceManager.add] The resource name "'+a+'" is already registered.';var b=this.registered[a]=d||{};b.name=a;b.path=this.getPath(a);CKEDITOR.fire(a+CKEDITOR.tools.capitalize(this.fileName)+"Ready",b);return this.get(a)},get:function(a){return this.registered[a]||null},getPath:function(a){var d=this.externals[a];return CKEDITOR.getUrl(d&&d.dir||this.basePath+a+"/")},getFilePath:function(a){var d=this.externals[a]; +return CKEDITOR.getUrl(this.getPath(a)+(d?d.file:this.fileName+".js"))},addExternal:function(a,d,b){for(var a=a.split(","),c=0;c<a.length;c++){var e=a[c];b||(d=d.replace(/[^\/]+$/,function(a){b=a;return""}));this.externals[e]={dir:d,file:b||this.fileName+".js"}}},load:function(a,d,b){CKEDITOR.tools.isArray(a)||(a=a?[a]:[]);for(var c=this.loaded,e=this.registered,f=[],h={},i={},j=0;j<a.length;j++){var n=a[j];if(n)if(!c[n]&&!e[n]){var g=this.getFilePath(n);f.push(g);g in h||(h[g]=[]);h[g].push(n)}else i[n]= +this.get(n)}CKEDITOR.scriptLoader.load(f,function(a,e){if(e.length)throw'[CKEDITOR.resourceManager.load] Resource name "'+h[e[0]].join(",")+'" was not found at "'+e[0]+'".';for(var f=0;f<a.length;f++)for(var g=h[a[f]],j=0;j<g.length;j++){var n=g[j];i[n]=this.get(n);c[n]=1}d.call(b,i)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager("plugins/","plugin"); +CKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(a){var d={};return function(b,c,e){var f={},h=function(b){a.call(this,b,function(a){CKEDITOR.tools.extend(f,a);var b=[],g;for(g in a){var i=a[g],s=i&&i.requires;if(!d[g]){if(i.icons)for(var z=i.icons.split(","),o=z.length;o--;)CKEDITOR.skin.addIcon(z[o],i.path+"icons/"+(CKEDITOR.env.hidpi&&i.hidpi?"hidpi/":"")+z[o]+".png");d[g]=1}if(s){s.split&&(s=s.split(","));for(i=0;i<s.length;i++)f[s[i]]||b.push(s[i])}}if(b.length)h.call(this, +b);else{for(g in f){i=f[g];if(i.onLoad&&!i.onLoad._called){i.onLoad()===false&&delete f[g];i.onLoad._called=1}}c&&c.call(e||window,f)}},this)};h.call(this,b)}});CKEDITOR.plugins.setLang=function(a,d,b){var c=this.get(a),a=c.langEntries||(c.langEntries={}),c=c.lang||(c.lang=[]);c.split&&(c=c.split(","));CKEDITOR.tools.indexOf(c,d)==-1&&c.push(d);a[d]=b};CKEDITOR.ui=function(a){if(a.ui)return a.ui;this.items={};this.instances={};this.editor=a;this._={handlers:{}};return this}; +CKEDITOR.ui.prototype={add:function(a,d,b){b.name=a.toLowerCase();var c=this.items[a]={type:d,command:b.command||null,args:Array.prototype.slice.call(arguments,2)};CKEDITOR.tools.extend(c,b)},get:function(a){return this.instances[a]},create:function(a){var d=this.items[a],b=d&&this._.handlers[d.type],c=d&&d.command&&this.editor.getCommand(d.command),b=b&&b.create.apply(this,d.args);this.instances[a]=b;c&&c.uiItems.push(b);if(b&&!b.type)b.type=d.type;return b},addHandler:function(a,d){this._.handlers[a]= +d},space:function(a){return CKEDITOR.document.getById(this.spaceId(a))},spaceId:function(a){return this.editor.id+"_"+a}};CKEDITOR.event.implementOn(CKEDITOR.ui); +(function(){function a(a,c,f){CKEDITOR.event.call(this);a=a&&CKEDITOR.tools.clone(a);if(c!==void 0){if(c instanceof CKEDITOR.dom.element){if(!f)throw Error("One of the element modes must be specified.");}else throw Error("Expect element of type CKEDITOR.dom.element.");if(CKEDITOR.env.ie&&CKEDITOR.env.quirks&&f==CKEDITOR.ELEMENT_MODE_INLINE)throw Error("Inline element mode is not supported on IE quirks.");if(!(f==CKEDITOR.ELEMENT_MODE_INLINE?c.is(CKEDITOR.dtd.$editable)||c.is("textarea"):f==CKEDITOR.ELEMENT_MODE_REPLACE? +!c.is(CKEDITOR.dtd.$nonBodyContent):1))throw Error('The specified element mode is not supported on element: "'+c.getName()+'".');this.element=c;this.elementMode=f;this.name=this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO&&(c.getId()||c.getNameAtt())}else this.elementMode=CKEDITOR.ELEMENT_MODE_NONE;this._={};this.commands={};this.templates={};this.name=this.name||d();this.id=CKEDITOR.tools.getNextId();this.status="unloaded";this.config=CKEDITOR.tools.prototypedCopy(CKEDITOR.config);this.ui=new CKEDITOR.ui(this); +this.focusManager=new CKEDITOR.focusManager(this);this.keystrokeHandler=new CKEDITOR.keystrokeHandler(this);this.on("readOnly",b);this.on("selectionChange",function(a){e(this,a.data.path)});this.on("activeFilterChange",function(){e(this,this.elementPath(),true)});this.on("mode",b);this.on("instanceReady",function(){this.config.startupFocus&&this.focus()});CKEDITOR.fire("instanceCreated",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){h(this,a)},0,this)}function d(){do var a="editor"+ +++s;while(CKEDITOR.instances[a]);return a}function b(){var a=this.commands,b;for(b in a)c(this,a[b])}function c(a,b){b[b.startDisabled?"disable":a.readOnly&&!b.readOnly?"disable":b.modes[a.mode]?"enable":"disable"]()}function e(a,b,c){if(b){var d,e,f=a.commands;for(e in f){d=f[e];(c||d.contextSensitive)&&d.refresh(a,b)}}}function f(a){var b=a.config.customConfig;if(!b)return false;var b=CKEDITOR.getUrl(b),c=z[b]||(z[b]={});if(c.fn){c.fn.call(a,a.config);(CKEDITOR.getUrl(a.config.customConfig)==b|| +!f(a))&&a.fireOnce("customConfigLoaded")}else CKEDITOR.scriptLoader.queue(b,function(){c.fn=CKEDITOR.editorConfig?CKEDITOR.editorConfig:function(){};f(a)});return true}function h(a,b){a.on("customConfigLoaded",function(){if(b){if(b.on)for(var c in b.on)a.on(c,b.on[c]);CKEDITOR.tools.extend(a.config,b,true);delete a.config.on}c=a.config;a.readOnly=c.readOnly?true:a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.is("textarea")?a.element.hasAttribute("disabled")||a.element.hasAttribute("readonly"): +a.element.isReadOnly():a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?a.element.hasAttribute("disabled")||a.element.hasAttribute("readonly"):false;a.blockless=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?!(a.element.is("textarea")||CKEDITOR.dtd[a.element.getName()].p):false;a.tabIndex=c.tabIndex||a.element&&a.element.getAttribute("tabindex")||0;a.activeEnterMode=a.enterMode=a.blockless?CKEDITOR.ENTER_BR:c.enterMode;a.activeShiftEnterMode=a.shiftEnterMode=a.blockless?CKEDITOR.ENTER_BR:c.shiftEnterMode; +if(c.skin)CKEDITOR.skinName=c.skin;a.fireOnce("configLoaded");a.dataProcessor=new CKEDITOR.htmlDataProcessor(a);a.filter=a.activeFilter=new CKEDITOR.filter(a);i(a)});if(b&&b.customConfig!=null)a.config.customConfig=b.customConfig;f(a)||a.fireOnce("customConfigLoaded")}function i(a){CKEDITOR.skin.loadPart("editor",function(){j(a)})}function j(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,c){var d=a.config.title;a.langCode=b;a.lang=CKEDITOR.tools.prototypedCopy(c);a.title= +typeof d=="string"||d===false?d:[a.lang.editor,a.name].join(", ");if(!a.config.contentsLangDirection)a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir;a.fire("langLoaded");n(a)})}function n(a){a.getStylesSet(function(b){a.once("loaded",function(){a.fire("stylesSet",{styles:b})},null,null,1);g(a)})}function g(a){var b=a.config,c=b.plugins,d=b.extraPlugins,e=b.removePlugins;if(d)var f=RegExp("(?:^|,)(?:"+d.replace(/\s*,\s*/g,"|")+")(?=,|$)", +"g"),c=c.replace(f,""),c=c+(","+d);if(e)var g=RegExp("(?:^|,)(?:"+e.replace(/\s*,\s*/g,"|")+")(?=,|$)","g"),c=c.replace(g,"");CKEDITOR.env.air&&(c=c+",adobeair");CKEDITOR.plugins.load(c.split(","),function(c){var d=[],e=[],f=[];a.plugins=c;for(var h in c){var i=c[h],A=i.lang,j=null,E=i.requires,r;CKEDITOR.tools.isArray(E)&&(E=E.join(","));if(E&&(r=E.match(g)))for(;E=r.pop();)CKEDITOR.tools.setTimeout(function(a,b){throw Error('Plugin "'+a.replace(",","")+'" cannot be removed from the plugins list, because it\'s required by "'+ +b+'" plugin.');},0,null,[E,h]);if(A&&!a.lang[h]){A.split&&(A=A.split(","));if(CKEDITOR.tools.indexOf(A,a.langCode)>=0)j=a.langCode;else{j=a.langCode.replace(/-.*/,"");j=j!=a.langCode&&CKEDITOR.tools.indexOf(A,j)>=0?j:CKEDITOR.tools.indexOf(A,"en")>=0?"en":A[0]}if(!i.langEntries||!i.langEntries[j])f.push(CKEDITOR.getUrl(i.path+"lang/"+j+".js"));else{a.lang[h]=i.langEntries[j];j=null}}e.push(j);d.push(i)}CKEDITOR.scriptLoader.load(f,function(){for(var c=["beforeInit","init","afterInit"],f=0;f<c.length;f++)for(var g= +0;g<d.length;g++){var v=d[g];f===0&&(e[g]&&v.lang&&v.langEntries)&&(a.lang[v.name]=v.langEntries[e[g]]);if(v[c[f]])v[c[f]](a)}a.fireOnce("pluginsLoaded");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(g=0;g<a.config.blockedKeystrokes.length;g++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[g]]=1;a.status="loaded";a.fireOnce("loaded");CKEDITOR.fire("instanceLoaded",null,a)})})}function B(){var a=this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData(); +this.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a.is("textarea")?a.setValue(b):a.setHtml(b);return true}return false}a.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=a;var s=0,z={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{addCommand:function(a,b){b.name=a.toLowerCase();var d=new CKEDITOR.command(this,b);this.mode&&c(this,d);return this.commands[a]=d},_attachToForm:function(){function a(d){b.updateElement();b._.required&&(!c.getValue()&&b.fire("required")===false)&&d.data.preventDefault()} +var b=this,c=b.element,d=new CKEDITOR.dom.element(c.$.form);if(c.is("textarea")&&d){d.on("submit",a);if(d.$.submit&&d.$.submit.call&&d.$.submit.apply)d.$.submit=CKEDITOR.tools.override(d.$.submit,function(b){return function(){a();b.apply?b.apply(this):b()}});b.on("destroy",function(){d.removeListener("submit",a)})}},destroy:function(a){this.fire("beforeDestroy");!a&&B.call(this);this.editable(null);this.filter.destroy();delete this.filter;delete this.activeFilter;this.status="destroyed";this.fire("destroy"); +this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire("instanceDestroyed",null,this)},elementPath:function(a){if(!a){a=this.getSelection();if(!a)return null;a=a.getStartElement()}return a?new CKEDITOR.dom.elementPath(a,this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,b){var c=this.getCommand(a),d={name:a,commandData:b,command:c};if(c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&this.fire("beforeCommandExec",d)!==false){d.returnValue= +c.exec(d.commandData);if(!c.async&&this.fire("afterCommandExec",d)!==false)return d.returnValue}return false},getCommand:function(a){return this.commands[a]},getData:function(a){!a&&this.fire("beforeGetData");var b=this._.data;if(typeof b!="string")b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is("textarea")?b.getValue():b.getHtml():"";b={dataValue:b};!a&&this.fire("getData",b);return b.dataValue},getSnapshot:function(){var a=this.fire("getSnapshot");if(typeof a!="string"){var b= +this.element;b&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a=b.is("textarea")?b.getValue():b.getHtml())}return a},loadSnapshot:function(a){this.fire("loadSnapshot",a)},setData:function(a,b,c){var d=true,e=b;if(b&&typeof b=="object"){c=b.internal;e=b.callback;d=!b.noSnapshot}!c&&d&&this.fire("saveSnapshot");if(e||!c)this.once("dataReady",function(a){!c&&d&&this.fire("saveSnapshot");e&&e.call(a.editor)});a={dataValue:a};!c&&this.fire("setData",a);this._.data=a.dataValue;!c&&this.fire("afterSetData", +a)},setReadOnly:function(a){a=a==null||a;if(this.readOnly!=a){this.readOnly=a;this.keystrokeHandler.blockedKeystrokes[8]=+a;this.editable().setReadOnly(a);this.fire("readOnly")}},insertHtml:function(a,b,c){this.fire("insertHtml",{dataValue:a,mode:b,range:c})},insertText:function(a){this.fire("insertText",a)},insertElement:function(a){this.fire("insertElement",a)},getSelectedHtml:function(a){var b=this.editable(),c=this.getSelection(),c=c&&c.getRanges();if(!b||!c||c.length===0)return null;b=b.getHtmlFromRange(c[0]); +return a?b.getHtml():b},extractSelectedHtml:function(a,b){var c=this.editable(),d=this.getSelection().getRanges();if(!c||d.length===0)return null;d=d[0];c=c.extractHtmlFromRange(d,b);b||this.getSelection().selectRanges([d]);return a?c.getHtml():c},focus:function(){this.fire("beforeFocus")},checkDirty:function(){return this.status=="ready"&&this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return B.call(this)},setKeystroke:function(){for(var a= +this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,0)],c,d,e=b.length;e--;){c=b[e];d=0;if(CKEDITOR.tools.isArray(c)){d=c[1];c=c[0]}d?a[c]=d:delete a[c]}},addFeature:function(a){return this.filter.addFeature(a)},setActiveFilter:function(a){if(!a)a=this.filter;if(this.activeFilter!==a){this.activeFilter=a;this.fire("activeFilterChange");a===this.filter?this.setActiveEnterMode(null,null):this.setActiveEnterMode(a.getAllowedEnterMode(this.enterMode), +a.getAllowedEnterMode(this.shiftEnterMode,true))}},setActiveEnterMode:function(a,b){a=a?this.blockless?CKEDITOR.ENTER_BR:a:this.enterMode;b=b?this.blockless?CKEDITOR.ENTER_BR:b:this.shiftEnterMode;if(this.activeEnterMode!=a||this.activeShiftEnterMode!=b){this.activeEnterMode=a;this.activeShiftEnterMode=b;this.fire("activeEnterModeChange")}},showNotification:function(a){alert(a)}})})();CKEDITOR.ELEMENT_MODE_NONE=0;CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2; +CKEDITOR.ELEMENT_MODE_INLINE=3;CKEDITOR.htmlParser=function(){this._={htmlPartsRegex:/<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)--\>)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}}; +(function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,d={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(b){for(var c,e,f=0,h;c=this._.htmlPartsRegex.exec(b);){e=c.index;if(e>f){f=b.substring(f,e);if(h)h.push(f);else this.onText(f)}f= +this._.htmlPartsRegex.lastIndex;if(e=c[1]){e=e.toLowerCase();if(h&&CKEDITOR.dtd.$cdata[e]){this.onCDATA(h.join(""));h=null}if(!h){this.onTagClose(e);continue}}if(h)h.push(c[0]);else if(e=c[3]){e=e.toLowerCase();if(!/="/.test(e)){var i={},j,n=c[4];c=!!c[5];if(n)for(;j=a.exec(n);){var g=j[1].toLowerCase();j=j[2]||j[3]||j[4]||"";i[g]=!j&&d[g]?g:CKEDITOR.tools.htmlDecodeAttr(j)}this.onTagOpen(e,i,c);!h&&CKEDITOR.dtd.$cdata[e]&&(h=[])}}else if(e=c[2])this.onComment(e)}if(b.length>f)this.onText(b.substring(f, +b.length))}}})(); +CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push("<",a)},openTagClose:function(a,d){d?this._.output.push(" />"):this._.output.push(">")},attribute:function(a,d){typeof d=="string"&&(d=CKEDITOR.tools.htmlEncodeAttr(d));this._.output.push(" ",a,'="',d,'"')},closeTag:function(a){this._.output.push("</",a,">")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push("<\!--",a,"--\>")},write:function(a){this._.output.push(a)}, +reset:function(){this._.output=[];this._.indent=false},getHtml:function(a){var d=this._.output.join("");a&&this.reset();return d}}});"use strict"; +(function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var a=this.parent.children,d=CKEDITOR.tools.indexOf(a,this),b=this.previous,c=this.next;b&&(b.next=c);c&&(c.previous=b);a.splice(d,1);this.parent=null},replaceWith:function(a){var d=this.parent.children,b=CKEDITOR.tools.indexOf(d,this),c=a.previous=this.previous,e=a.next=this.next;c&&(c.next=a);e&&(e.previous=a);d[b]=a;a.parent=this.parent;this.parent=null},insertAfter:function(a){var d=a.parent.children, +b=CKEDITOR.tools.indexOf(d,a),c=a.next;d.splice(b+1,0,this);this.next=a.next;this.previous=a;a.next=this;c&&(c.previous=this);this.parent=a.parent},insertBefore:function(a){var d=a.parent.children,b=CKEDITOR.tools.indexOf(d,a);d.splice(b,0,this);this.next=a;(this.previous=a.previous)&&(a.previous.next=this);a.previous=this;this.parent=a.parent},getAscendant:function(a){var d=typeof a=="function"?a:typeof a=="string"?function(b){return b.name==a}:function(b){return b.name in a},b=this.parent;for(;b&& +b.type==CKEDITOR.NODE_ELEMENT;){if(d(b))return b;b=b.parent}return null},wrapWith:function(a){this.replaceWith(a);a.add(this);return a},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(a){return a||{}}}})();"use strict";CKEDITOR.htmlParser.comment=function(a){this.value=a;this._={isBlockLike:false}}; +CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(a,d){var b=this.value;if(!(b=a.onComment(d,b,this))){this.remove();return false}if(typeof b!="string"){this.replaceWith(b);return false}this.value=b;return true},writeHtml:function(a,d){d&&this.filter(d);a.comment(this.value)}});"use strict"; +(function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:false}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a,d){if(!(this.value=a.onText(d,this.value,this))){this.remove();return false}},writeHtml:function(a,d){d&&this.filter(d);a.text(this.value)}})})();"use strict"; +(function(){CKEDITOR.htmlParser.cdata=function(a){this.value=a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})})();"use strict";CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false}}; +(function(){function a(a){return a.attributes["data-cke-survive"]?false:a.name=="a"&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var d=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),b={ol:1,ul:1},c=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1}),e={ul:"li",ol:"li",dl:"dd",table:"tbody",tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml= +function(f,h,i){function j(a){var b;if(t.length>0)for(var c=0;c<t.length;c++){var d=t[c],e=d.name,f=CKEDITOR.dtd[e],g=u.name&&CKEDITOR.dtd[u.name];if((!g||g[e])&&(!a||!f||f[a]||!CKEDITOR.dtd[a])){if(!b){n();b=1}d=d.clone();d.parent=u;u=d;t.splice(c,1);c--}else if(e==u.name){B(u,u.parent,1);c--}}}function n(){for(;x.length;)B(x.shift(),u)}function g(a){if(a._.isBlockLike&&a.name!="pre"&&a.name!="textarea"){var b=a.children.length,c=a.children[b-1],d;if(c&&c.type==CKEDITOR.NODE_TEXT)(d=CKEDITOR.tools.rtrim(c.value))? +c.value=d:a.children.length=b-1}}function B(b,c,d){var c=c||u||p,e=u;if(b.previous===void 0){if(s(c,b)){u=c;o.onTagOpen(i,{});b.returnPoint=c=u}g(b);(!a(b)||b.children.length)&&c.add(b);b.name=="pre"&&(l=false);b.name=="textarea"&&(C=false)}if(b.returnPoint){u=b.returnPoint;delete b.returnPoint}else u=d?c:e}function s(a,b){if((a==p||a.name=="body")&&i&&(!a.name||CKEDITOR.dtd[a.name][i])){var c,d;return(c=b.attributes&&(d=b.attributes["data-cke-real-element-type"])?d:b.name)&&c in CKEDITOR.dtd.$inline&& +!(c in CKEDITOR.dtd.head)&&!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}function z(a,b){return a in CKEDITOR.dtd.$listItem||a in CKEDITOR.dtd.$tableContent?a==b||a=="dt"&&b=="dd"||a=="dd"&&b=="dt":false}var o=new CKEDITOR.htmlParser,p=h instanceof CKEDITOR.htmlParser.element?h:typeof h=="string"?new CKEDITOR.htmlParser.element(h):new CKEDITOR.htmlParser.fragment,t=[],x=[],u=p,C=p.name=="textarea",l=p.name=="pre";o.onTagOpen=function(e,k,f,g){k=new CKEDITOR.htmlParser.element(e,k);if(k.isUnknown&&f)k.isEmpty= +true;k.isOptionalClose=g;if(a(k))t.push(k);else{if(e=="pre")l=true;else{if(e=="br"&&l){u.add(new CKEDITOR.htmlParser.text("\n"));return}e=="textarea"&&(C=true)}if(e=="br")x.push(k);else{for(;;){g=(f=u.name)?CKEDITOR.dtd[f]||(u._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!k.isUnknown&&!u.isUnknown&&!g[e])if(u.isOptionalClose)o.onTagClose(f);else if(e in b&&f in b){f=u.children;(f=f[f.length-1])&&f.name=="li"||B(f=new CKEDITOR.htmlParser.element("li"),u);!k.returnPoint&&(k.returnPoint=u); +u=f}else if(e in CKEDITOR.dtd.$listItem&&!z(e,f))o.onTagOpen(e=="li"?"ul":"dl",{},0,1);else if(f in d&&!z(e,f)){!k.returnPoint&&(k.returnPoint=u);u=u.parent}else{f in CKEDITOR.dtd.$inline&&t.unshift(u);if(u.parent)B(u,u.parent,1);else{k.isOrphan=1;break}}else break}j(e);n();k.parent=u;k.isEmpty?B(k):u=k}}};o.onTagClose=function(a){for(var b=t.length-1;b>=0;b--)if(a==t[b].name){t.splice(b,1);return}for(var c=[],d=[],e=u;e!=p&&e.name!=a;){e._.isBlockLike||d.unshift(e);c.push(e);e=e.returnPoint||e.parent}if(e!= +p){for(b=0;b<c.length;b++){var f=c[b];B(f,f.parent)}u=e;e._.isBlockLike&&n();B(e,e.parent);if(e==u)u=u.parent;t=t.concat(d)}a=="body"&&(i=false)};o.onText=function(a){if((!u._.hasInlineStarted||x.length)&&!l&&!C){a=CKEDITOR.tools.ltrim(a);if(a.length===0)return}var b=u.name,f=b?CKEDITOR.dtd[b]||(u._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!C&&!f["#"]&&b in d){o.onTagOpen(e[b]||"");o.onText(a)}else{n();j();!l&&!C&&(a=a.replace(/[\t\r\n ]{2,}|[\t\r\n]/g," "));a=new CKEDITOR.htmlParser.text(a); +if(s(u,a))this.onTagOpen(i,{},0,1);u.add(a)}};o.onCDATA=function(a){u.add(new CKEDITOR.htmlParser.cdata(a))};o.onComment=function(a){n();j();u.add(new CKEDITOR.htmlParser.comment(a))};o.parse(f);for(n();u!=p;)B(u,u.parent,1);g(p);return p};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=b>0?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT){c.value=CKEDITOR.tools.rtrim(c.value);if(c.value.length=== +0){this.children.pop();this.add(a);return}}c.next=a}a.previous=c;a.parent=this;this.children.splice(b,0,a);if(!this._.hasInlineStarted)this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike},filter:function(a,b){b=this.getFilterContext(b);a.onRoot(b,this);this.filterChildren(a,false,b)},filterChildren:function(a,b,c){if(this.childrenFilteredBy!=a.id){c=this.getFilterContext(c);if(b&&!this.parent)a.onRoot(c,this);this.childrenFilteredBy=a.id;for(b=0;b<this.children.length;b++)this.children[b].filter(a, +c)===false&&b--}},writeHtml:function(a,b){b&&this.filter(b);this.writeChildrenHtml(a)},writeChildrenHtml:function(a,b,c){var d=this.getFilterContext();if(c&&!this.parent&&b)b.onRoot(d,this);b&&this.filterChildren(b,false,d);b=0;c=this.children;for(d=c.length;b<d;b++)c[b].writeHtml(a)},forEach:function(a,b,c){if(!c&&(!b||this.type==b))var d=a(this);if(d!==false)for(var c=this.children,e=0;e<c.length;e++){d=c[e];d.type==CKEDITOR.NODE_ELEMENT?d.forEach(a,b):(!b||d.type==b)&&a(d)}},getFilterContext:function(a){return a|| +{}}}})();"use strict"; +(function(){function a(){this.rules=[]}function d(b,c,d,f){var h,i;for(h in c){(i=b[h])||(i=b[h]=new a);i.add(c[h],d,f)}}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(b){this.id=CKEDITOR.tools.getNextNumber();this.elementNameRules=new a;this.attributeNameRules=new a;this.elementsRules={};this.attributesRules={};this.textRules=new a;this.commentRules=new a;this.rootRules=new a;b&&this.addRules(b,10)},proto:{addRules:function(a,c){var e;if(typeof c=="number")e=c;else if(c&&"priority"in +c)e=c.priority;typeof e!="number"&&(e=10);typeof c!="object"&&(c={});a.elementNames&&this.elementNameRules.addMany(a.elementNames,e,c);a.attributeNames&&this.attributeNameRules.addMany(a.attributeNames,e,c);a.elements&&d(this.elementsRules,a.elements,e,c);a.attributes&&d(this.attributesRules,a.attributes,e,c);a.text&&this.textRules.add(a.text,e,c);a.comment&&this.commentRules.add(a.comment,e,c);a.root&&this.rootRules.add(a.root,e,c)},applyTo:function(a){a.filter(this)},onElementName:function(a,c){return this.elementNameRules.execOnName(a, +c)},onAttributeName:function(a,c){return this.attributeNameRules.execOnName(a,c)},onText:function(a,c,d){return this.textRules.exec(a,c,d)},onComment:function(a,c,d){return this.commentRules.exec(a,c,d)},onRoot:function(a,c){return this.rootRules.exec(a,c)},onElement:function(a,c){for(var d=[this.elementsRules["^"],this.elementsRules[c.name],this.elementsRules.$],f,h=0;h<3;h++)if(f=d[h]){f=f.exec(a,c,this);if(f===false)return null;if(f&&f!=c)return this.onNode(a,f);if(c.parent&&!c.name)break}return c}, +onNode:function(a,c){var d=c.type;return d==CKEDITOR.NODE_ELEMENT?this.onElement(a,c):d==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(a,c.value)):d==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a,c.value)):null},onAttribute:function(a,c,d,f){return(d=this.attributesRules[d])?d.exec(a,f,c,this):f}}});CKEDITOR.htmlParser.filterRulesGroup=a;a.prototype={add:function(a,c,d){this.rules.splice(this.findIndex(c),0,{value:a,priority:c,options:d})},addMany:function(a, +c,d){for(var f=[this.findIndex(c),0],h=0,i=a.length;h<i;h++)f.push({value:a[h],priority:c,options:d});this.rules.splice.apply(this.rules,f)},findIndex:function(a){for(var c=this.rules,d=c.length-1;d>=0&&a<c[d].priority;)d--;return d+1},exec:function(a,c){var d=c instanceof CKEDITOR.htmlParser.node||c instanceof CKEDITOR.htmlParser.fragment,f=Array.prototype.slice.call(arguments,1),h=this.rules,i=h.length,j,n,g,B;for(B=0;B<i;B++){if(d){j=c.type;n=c.name}g=h[B];if(!(a.nonEditable&&!g.options.applyToAll|| +a.nestedEditable&&g.options.excludeNestedEditable)){g=g.value.apply(null,f);if(g===false||d&&g&&(g.name!=n||g.type!=j))return g;g!=null&&(f[0]=c=g)}}return c},execOnName:function(a,c){for(var d=0,f=this.rules,h=f.length,i;c&&d<h;d++){i=f[d];!(a.nonEditable&&!i.options.applyToAll||a.nestedEditable&&i.options.excludeNestedEditable)&&(c=c.replace(i.value[0],i.value[1]))}return c}}})(); +(function(){function a(a,d){function k(a){return a||CKEDITOR.env.needsNbspFiller?new CKEDITOR.htmlParser.text(" "):new CKEDITOR.htmlParser.element("br",{"data-cke-bogus":1})}function g(a,d){return function(e){if(e.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var g=[],v=b(e),r,h;if(v)for(m(v,1)&&g.push(v);v;){if(f(v)&&(r=c(v))&&m(r))if((h=c(r))&&!f(h))g.push(r);else{k(w).insertAfter(r);r.remove()}v=v.previous}for(v=0;v<g.length;v++)g[v].remove();if(g=!a||(typeof d=="function"?d(e):d)!==false)if(!w&&!CKEDITOR.env.needsBrFiller&& +e.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)g=false;else if(!w&&!CKEDITOR.env.needsBrFiller&&(document.documentMode>7||e.name in CKEDITOR.dtd.tr||e.name in CKEDITOR.dtd.$listItem))g=false;else{g=b(e);g=!g||e.name=="form"&&g.name=="input"}g&&e.add(k(a))}}}function m(a,b){if((!w||CKEDITOR.env.needsBrFiller)&&a.type==CKEDITOR.NODE_ELEMENT&&a.name=="br"&&!a.attributes["data-cke-eol"])return true;var c;if(a.type==CKEDITOR.NODE_TEXT&&(c=a.value.match(t))){if(c.index){(new CKEDITOR.htmlParser.text(a.value.substring(0, +c.index))).insertBefore(a);a.value=c[0]}if(!CKEDITOR.env.needsBrFiller&&w&&(!b||a.parent.name in A))return true;if(!w)if((c=a.previous)&&c.name=="br"||!c||f(c))return true}return false}var r={elements:{}},w=d=="html",A=CKEDITOR.tools.extend({},l),D;for(D in A)"#"in u[D]||delete A[D];for(D in A)r.elements[D]=g(w,a.config.fillEmptyBlocks);r.root=g(w,false);r.elements.br=function(a){return function(b){if(b.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d=b.attributes;if("data-cke-bogus"in d||"data-cke-eol"in +d)delete d["data-cke-bogus"];else{for(d=b.next;d&&e(d);)d=d.next;var g=c(b);!d&&f(b.parent)?h(b.parent,k(a)):f(d)&&(g&&!f(g))&&k(a).insertBefore(d)}}}}(w);return r}function d(a,b){return a!=CKEDITOR.ENTER_BR&&b!==false?a==CKEDITOR.ENTER_DIV?"div":"p":false}function b(a){for(a=a.children[a.children.length-1];a&&e(a);)a=a.previous;return a}function c(a){for(a=a.previous;a&&e(a);)a=a.previous;return a}function e(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&& +a.attributes["data-cke-bookmark"]}function f(a){return a&&(a.type==CKEDITOR.NODE_ELEMENT&&a.name in l||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function h(a,b){var c=a.children[a.children.length-1];a.children.push(b);b.parent=a;if(c){c.next=b;b.previous=c}}function i(a){a=a.attributes;a.contenteditable!="false"&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable="false"}function j(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contenteditable}} +function n(a){return a.replace(w,function(a,b,c){return"<"+b+c.replace(H,function(a,b){return A.test(b)&&c.indexOf("data-cke-saved-"+b)==-1?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+">"})}function g(a,b){return a.replace(b,function(a,b,c){a.indexOf("<textarea")===0&&(a=b+z(c).replace(/</g,"<").replace(/>/g,">")+"</textarea>");return"<cke:encoded>"+encodeURIComponent(a)+"</cke:encoded>"})}function B(a){return a.replace(r,function(a,b){return decodeURIComponent(b)})}function s(a){return a.replace(/<\!--(?!{cke_protected})[\s\S]+?--\>/g, +function(a){return"<\!--"+x+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\>"})}function z(a){return a.replace(/<\!--\{cke_protected\}\{C\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)})}function o(a,b){var c=b._.dataStore;return a.replace(/<\!--\{cke_protected\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return c&&c[b]||""})}function p(a,b){for(var c=[],d=b.config.protectedSource,k=b._.dataStore||(b._.dataStore= +{id:1}),e=/<\!--\{cke_temp(comment)?\}(\d*?)--\>/g,d=[/<script[\s\S]*?(<\/script>|$)/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<meta[\s\S]*?\/?>/gi].concat(d),a=a.replace(/<\!--[\s\S]*?--\>/g,function(a){return"<\!--{cke_tempcomment}"+(c.push(a)-1)+"--\>"}),f=0;f<d.length;f++)a=a.replace(d[f],function(a){a=a.replace(e,function(a,b,d){return c[d]});return/cke_temp(comment)?/.test(a)?a:"<\!--{cke_temp}"+(c.push(a)-1)+"--\>"});a=a.replace(e,function(a,b,d){return"<\!--"+x+(b?"{C}":"")+encodeURIComponent(c[d]).replace(/--/g, +"%2D%2D")+"--\>"});a=a.replace(/<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/<\!--\{cke_protected\}([^>]*)--\>/g,function(a,b){k[k.id]=decodeURIComponent(b);return"{cke_protected_"+k.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,c,d,k){return"<"+c+d+">"+o(z(k),b)+"</"+c+">"})}CKEDITOR.htmlDataProcessor=function(b){var c,e,f=this;this.editor=b;this.dataFilter=c=new CKEDITOR.htmlParser.filter; +this.htmlFilter=e=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(q);c.addRules(k,{applyToAll:true});c.addRules(a(b,"data"),{applyToAll:true});e.addRules(m);e.addRules(F,{applyToAll:true});e.addRules(a(b,"html"),{applyToAll:true});b.on("toHtml",function(a){var a=a.data,c=a.dataValue,k,c=p(c,b),c=g(c,E),c=n(c),c=g(c,K),c=c.replace(J,"$1cke:$2"),c=c.replace(y,"<cke:$1$2></cke:$1>"),c=c.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,"$1$2$2"),c=c.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi, +"$1data-cke-"+CKEDITOR.rnd+"-$2");k=a.context||b.editable().getName();var e;if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&k=="pre"){k="div";c="<pre>"+c+"</pre>";e=1}k=b.document.createElement(k);k.setHtml("a"+c);c=k.getHtml().substr(1);c=c.replace(RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");e&&(c=c.replace(/^<pre>|<\/pre>$/gi,""));c=c.replace(D,"$1$2");c=B(c);c=z(c);k=a.fixForBody===false?false:d(a.enterMode,b.config.autoParagraph);c=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,k);if(k){e=c; +if(!e.children.length&&CKEDITOR.dtd[e.name][k]){k=new CKEDITOR.htmlParser.element(k);e.add(k)}}a.dataValue=c},null,null,5);b.on("toHtml",function(a){a.data.filter.applyTo(a.data.dataValue,true,a.data.dontFilter,a.data.enterMode)&&b.fire("dataFiltered")},null,null,6);b.on("toHtml",function(a){a.data.dataValue.filterChildren(f.dataFilter,true)},null,null,10);b.on("toHtml",function(a){var a=a.data,b=a.dataValue,c=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(c);b=c.getHtml(true);a.dataValue= +s(b)},null,null,15);b.on("toDataFormat",function(a){var c=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(c=c.replace(/^<br *\/?>/i,""));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(c,a.data.context,d(a.data.enterMode,b.config.autoParagraph))},null,null,5);b.on("toDataFormat",function(a){a.data.dataValue.filterChildren(f.htmlFilter,true)},null,null,10);b.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue,false,true)},null,null,11);b.on("toDataFormat",function(a){var c= +a.data.dataValue,d=f.writer;d.reset();c.writeChildrenHtml(d);c=d.getHtml(true);c=z(c);c=o(c,b);a.data.dataValue=c},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,c,d){var k=this.editor,e,f,g,m;if(b&&typeof b=="object"){e=b.context;c=b.fixForBody;d=b.dontFilter;f=b.filter;g=b.enterMode;m=b.protectedWhitespaces}else e=b;!e&&e!==null&&(e=k.editable().getName());return k.fire("toHtml",{dataValue:a,context:e,fixForBody:c,dontFilter:d,filter:f||k.filter,enterMode:g||k.enterMode, +protectedWhitespaces:m}).dataValue},toDataFormat:function(a,b){var c,d,k;if(b){c=b.context;d=b.filter;k=b.enterMode}!c&&c!==null&&(c=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a,filter:d||this.editor.filter,context:c,enterMode:k||this.editor.enterMode}).dataValue}};var t=/(?: |\xa0)$/,x="{cke_protected}",u=CKEDITOR.dtd,C=["caption","colgroup","col","thead","tfoot","tbody"],l=CKEDITOR.tools.extend({},u.$blockLimit,u.$block),q={elements:{input:i,textarea:i}}, +k={attributeNames:[[/^on/,"data-cke-pa-on"],[/^data-cke-expando$/,""]]},m={elements:{embed:function(a){var b=a.parent;if(b&&b.name=="object"){var c=b.attributes.width,b=b.attributes.height;if(c)a.attributes.width=c;if(b)a.attributes.height=b}},a:function(a){if(!a.children.length&&!a.attributes.name&&!a.attributes["data-cke-saved-name"])return false}}},F={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b= +a.attributes;if(b){if(b["data-cke-temp"])return false;for(var c=["name","href","src"],d,k=0;k<c.length;k++){d="data-cke-saved-"+c[k];d in b&&delete b[c[k]]}}return a},table:function(a){a.children.slice(0).sort(function(a,b){var c,d;if(a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type){c=CKEDITOR.tools.indexOf(C,a.name);d=CKEDITOR.tools.indexOf(C,b.name)}if(!(c>-1&&d>-1&&c!=d)){c=a.parent?a.getIndex():-1;d=b.parent?b.getIndex():-1}return c>d?1:-1})},param:function(a){a.children=[];a.isEmpty=true;return a}, +span:function(a){a.attributes["class"]=="Apple-style-span"&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},style:function(a){var b=a.children[0];if(b&&b.value)b.value=CKEDITOR.tools.trim(b.value);if(!a.attributes.type)a.attributes.type="text/css"},title:function(a){var b=a.children[0];!b&&h(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]|| +""},input:j,textarea:j},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||false}}};if(CKEDITOR.env.ie)F.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})};var w=/<(a|area|img|input|source)\b([^>]*)>/gi,H=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,A=/^(href|src|name)$/i,K=/(?:<style(?=[ >])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,E=/(<textarea(?=[ >])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi, +r=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,J=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,D=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,y=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi})();"use strict"; +CKEDITOR.htmlParser.element=function(a,d){this.name=a;this.attributes=d||{};this.children=[];var b=a||"",c=b.match(/^cke:(.*)/);c&&(b=c[1]);b=!(!CKEDITOR.dtd.$nonBodyContent[b]&&!CKEDITOR.dtd.$block[b]&&!CKEDITOR.dtd.$listItem[b]&&!CKEDITOR.dtd.$tableContent[b]&&!(CKEDITOR.dtd.$nonEditable[b]||b=="br"));this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:b,hasInlineStarted:this.isEmpty||!b}}; +CKEDITOR.htmlParser.cssStyle=function(a){var d={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style:a)||"").replace(/"/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,c,e){c=="font-family"&&(e=e.replace(/["']/g,""));d[c.toLowerCase()]=e});return{rules:d,populate:function(a){var c=this.toString();if(c)a instanceof CKEDITOR.dom.element?a.setAttribute("style",c):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=c:a.style=c},toString:function(){var a=[],c; +for(c in d)d[c]&&a.push(c,":",d[c],";");return a.join("")}}}; +(function(){function a(a){return function(b){return b.type==CKEDITOR.NODE_ELEMENT&&(typeof a=="string"?b.name==a:b.name in a)}}var d=function(a,b){a=a[0];b=b[0];return a<b?-1:a>b?1:0},b=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:b.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,b){var d=this,h,i,b=d.getFilterContext(b);if(b.off)return true; +if(!d.parent)a.onRoot(b,d);for(;;){h=d.name;if(!(i=a.onElementName(b,h))){this.remove();return false}d.name=i;if(!(d=a.onElement(b,d))){this.remove();return false}if(d!==this){this.replaceWith(d);return false}if(d.name==h)break;if(d.type!=CKEDITOR.NODE_ELEMENT){this.replaceWith(d);return false}if(!d.name){this.replaceWithChildren();return false}}h=d.attributes;var j,n;for(j in h){n=j;for(i=h[j];;)if(n=a.onAttributeName(b,j))if(n!=j){delete h[j];j=n}else break;else{delete h[j];break}n&&((i=a.onAttribute(b, +d,n,i))===false?delete h[n]:h[n]=i)}d.isEmpty||this.filterChildren(a,false,b);return true},filterChildren:b.filterChildren,writeHtml:function(a,b){b&&this.filter(b);var f=this.name,h=[],i=this.attributes,j,n;a.openTag(f,i);for(j in i)h.push([j,i[j]]);a.sortAttributes&&h.sort(d);j=0;for(n=h.length;j<n;j++){i=h[j];a.attribute(i[0],i[1])}a.openTagClose(f,this.isEmpty);this.writeChildrenHtml(a);this.isEmpty||a.closeTag(f)},writeChildrenHtml:b.writeChildrenHtml,replaceWithChildren:function(){for(var a= +this.children,b=a.length;b;)a[--b].insertAfter(this);this.remove()},forEach:b.forEach,getFirst:function(b){if(!b)return this.children.length?this.children[0]:null;typeof b!="function"&&(b=a(b));for(var d=0,f=this.children.length;d<f;++d)if(b(this.children[d]))return this.children[d];return null},getHtml:function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeChildrenHtml(a);return a.getHtml()},setHtml:function(a){for(var a=this.children=CKEDITOR.htmlParser.fragment.fromHtml(a).children,b=0, +d=a.length;b<d;++b)a[b].parent=this},getOuterHtml:function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeHtml(a);return a.getHtml()},split:function(a){for(var b=this.children.splice(a,this.children.length-a),d=this.clone(),h=0;h<b.length;++h)b[h].parent=d;d.children=b;if(b[0])b[0].previous=null;if(a>0)this.children[a-1].next=null;this.parent.add(d,this.getIndex()+1);return d},addClass:function(a){if(!this.hasClass(a)){var b=this.attributes["class"]||"";this.attributes["class"]=b+(b?" ":"")+ +a}},removeClass:function(a){var b=this.attributes["class"];if(b)(b=CKEDITOR.tools.trim(b.replace(RegExp("(?:\\s+|^)"+a+"(?:\\s+|$)")," ")))?this.attributes["class"]=b:delete this.attributes["class"]},hasClass:function(a){var b=this.attributes["class"];return!b?false:RegExp("(?:^|\\s)"+a+"(?=\\s|$)").test(b)},getFilterContext:function(a){var b=[];a||(a={off:false,nonEditable:false,nestedEditable:false});!a.off&&this.attributes["data-cke-processor"]=="off"&&b.push("off",true);!a.nonEditable&&this.attributes.contenteditable== +"false"?b.push("nonEditable",true):a.nonEditable&&(!a.nestedEditable&&this.attributes.contenteditable=="true")&&b.push("nestedEditable",true);if(b.length)for(var a=CKEDITOR.tools.copy(a),d=0;d<b.length;d=d+2)a[b[d]]=b[d+1];return a}},true)})(); +(function(){var a={},d=/{([^}]+)}/g,b=/([\\'])/g,c=/\n/g,e=/\r/g;CKEDITOR.template=function(f){if(a[f])this.output=a[f];else{var h=f.replace(b,"\\$1").replace(c,"\\n").replace(e,"\\r").replace(d,function(a,b){return"',data['"+b+"']==undefined?'{"+b+"}':data['"+b+"'],'"});this.output=a[f]=Function("data","buffer","return buffer?buffer.push('"+h+"'):['"+h+"'].join('');")}}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document); +CKEDITOR.add=function(a){CKEDITOR.instances[a.name]=a;a.on("focus",function(){if(CKEDITOR.currentInstance!=a){CKEDITOR.currentInstance=a;CKEDITOR.fire("currentInstance")}});a.on("blur",function(){if(CKEDITOR.currentInstance==a){CKEDITOR.currentInstance=null;CKEDITOR.fire("currentInstance")}});CKEDITOR.fire("instance",null,a)};CKEDITOR.remove=function(a){delete CKEDITOR.instances[a.name]}; +(function(){var a={};CKEDITOR.addTemplate=function(d,b){var c=a[d];if(c)return c;c={name:d,source:b};CKEDITOR.fire("template",c);return a[d]=new CKEDITOR.template(c.source)};CKEDITOR.getTemplate=function(d){return a[d]}})();(function(){var a=[];CKEDITOR.addCss=function(d){a.push(d)};CKEDITOR.getCss=function(){return a.join("\n")}})();CKEDITOR.on("instanceDestroyed",function(){CKEDITOR.tools.isEmpty(this.instances)&&CKEDITOR.fire("reset")});CKEDITOR.TRISTATE_ON=1;CKEDITOR.TRISTATE_OFF=2; +CKEDITOR.TRISTATE_DISABLED=0; +(function(){CKEDITOR.inline=function(a,d){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var b=new CKEDITOR.editor(d,a,CKEDITOR.ELEMENT_MODE_INLINE),c=a.is("textarea")?a:null;if(c){b.setData(c.getValue(),null,true);a=CKEDITOR.dom.element.createFromHtml('<div contenteditable="'+!!b.readOnly+'" class="cke_textarea_inline">'+c.getValue()+"</div>",CKEDITOR.document); +a.insertAfter(c);c.hide();c.$.form&&b._attachToForm()}else b.setData(a.getHtml(),null,true);b.on("loaded",function(){b.fire("uiReady");b.editable(a);b.container=a;b.ui.contentsElement=a;b.setData(b.getData(1));b.resetDirty();b.fire("contentDom");b.mode="wysiwyg";b.fire("mode");b.status="ready";b.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,b)},null,null,1E4);b.on("destroy",function(){if(c){b.container.clearCustomData();b.container.remove();c.show()}b.element.clearCustomData();delete b.element}); +return b};CKEDITOR.inlineAll=function(){var a,d,b;for(b in CKEDITOR.dtd.$editable)for(var c=CKEDITOR.document.getElementsByTag(b),e=0,f=c.count();e<f;e++){a=c.getItem(e);if(a.getAttribute("contenteditable")=="true"){d={element:a,config:{}};CKEDITOR.fire("inline",d)!==false&&CKEDITOR.inline(a,d.config)}}};CKEDITOR.domReady(function(){!CKEDITOR.disableAutoInline&&CKEDITOR.inlineAll()})})();CKEDITOR.replaceClass="ckeditor"; +(function(){function a(a,e,f,h){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var i=new CKEDITOR.editor(e,a,h);if(h==CKEDITOR.ELEMENT_MODE_REPLACE){a.setStyle("visibility","hidden");i._.required=a.hasAttribute("required");a.removeAttribute("required")}f&&i.setData(f,null,true);i.on("loaded",function(){b(i);h==CKEDITOR.ELEMENT_MODE_REPLACE&&(i.config.autoUpdateElement&& +a.$.form)&&i._attachToForm();i.setMode(i.config.startupMode,function(){i.resetDirty();i.status="ready";i.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,i)})});i.on("destroy",d);return i}function d(){var a=this.container,b=this.element;if(a){a.clearCustomData();a.remove()}if(b){b.clearCustomData();if(this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE){b.show();this._.required&&b.setAttribute("required","required")}delete this.element}}function b(a){var b=a.name,d=a.element,h=a.elementMode, +i=a.fire("uiSpace",{space:"top",html:""}).html,j=a.fire("uiSpace",{space:"bottom",html:""}).html,n=new CKEDITOR.template('<{outerEl} id="cke_{name}" class="{id} cke cke_reset cke_chrome cke_editor_{name} cke_{langDir} '+CKEDITOR.env.cssClass+'" dir="{langDir}" lang="{langCode}" role="application"'+(a.title?' aria-labelledby="cke_{name}_arialbl"':"")+">"+(a.title?'<span id="cke_{name}_arialbl" class="cke_voice_label">{voiceLabel}</span>':"")+'<{outerEl} class="cke_inner cke_reset" role="presentation">{topHtml}<{outerEl} id="{contentId}" class="cke_contents cke_reset" role="presentation"></{outerEl}>{bottomHtml}</{outerEl}></{outerEl}>'), +b=CKEDITOR.dom.element.createFromHtml(n.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:a.title,topHtml:i?'<span id="'+a.ui.spaceId("top")+'" class="cke_top cke_reset_all" role="presentation" style="height:auto">'+i+"</span>":"",contentId:a.ui.spaceId("contents"),bottomHtml:j?'<span id="'+a.ui.spaceId("bottom")+'" class="cke_bottom cke_reset_all" role="presentation">'+j+"</span>":"",outerEl:CKEDITOR.env.ie?"span":"div"}));if(h==CKEDITOR.ELEMENT_MODE_REPLACE){d.hide();b.insertAfter(d)}else d.append(b); +a.container=b;a.ui.contentsElement=a.ui.space("contents");i&&a.ui.space("top").unselectable();j&&a.ui.space("bottom").unselectable();d=a.config.width;h=a.config.height;d&&b.setStyle("width",CKEDITOR.tools.cssLength(d));h&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(h));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}CKEDITOR.replace=function(b,d){return a(b,d,null,CKEDITOR.ELEMENT_MODE_REPLACE)};CKEDITOR.appendTo=function(b, +d,f){return a(b,d,f,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),b=0;b<a.length;b++){var d=null,h=a[b];if(h.name||h.id){if(typeof arguments[0]=="string"){if(!RegExp("(?:^|\\s)"+arguments[0]+"(?:$|\\s)").test(h.className))continue}else if(typeof arguments[0]=="function"){d={};if(arguments[0](h,d)===false)continue}this.replace(h,d)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes={}))[a]=b};CKEDITOR.editor.prototype.setMode= +function(a,b){var d=this,h=this._.modes;if(!(a==d.mode||!h||!h[a])){d.fire("beforeSetMode",a);if(d.mode){var i=d.checkDirty(),h=d._.previousModeData,j,n=0;d.fire("beforeModeUnload");d.editable(0);d._.previousMode=d.mode;d._.previousModeData=j=d.getData(1);if(d.mode=="source"&&h==j){d.fire("lockSnapshot",{forceUpdate:true});n=1}d.ui.space("contents").setHtml("");d.mode=""}else d._.previousModeData=d.getData(1);this._.modes[a](function(){d.mode=a;i!==void 0&&!i&&d.resetDirty();n?d.fire("unlockSnapshot"): +a=="wysiwyg"&&d.fire("saveSnapshot");setTimeout(function(){d.fire("mode");b&&b.call(d)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,d,h){var i=this.container,j=this.ui.space("contents"),n=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement,h=h?this.container.getFirst(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasClass("cke_inner")}):i;h.setSize("width",a,true);n&&(n.style.width="1%");var g=(h.$.offsetHeight||0)-(j.$.clientHeight||0),i=Math.max(b-(d?0:g), +0),b=d?b+g:b;j.setStyle("height",i+"px");n&&(n.style.width="100%");this.fire("resize",{outerHeight:b,contentsHeight:i,outerWidth:a||h.getSize("width")})};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space("contents"):this.container};CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode="wysiwyg"; +(function(){var a,d,b,c;function e(a){var b=a.editor,c=a.data.path,d=c.blockLimit,e=a.data.selection,h=e.getRanges()[0],l;if(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)if(e=f(e,c)){e.appendBogus();l=CKEDITOR.env.ie}if(g(b,c.block,d)&&h.collapsed&&!h.getCommonAncestor().isReadOnly()){c=h.clone();c.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);d=new CKEDITOR.dom.walker(c);d.guard=function(a){return!i(a)||a.type==CKEDITOR.NODE_COMMENT||a.isReadOnly()};if(!d.checkForward()||c.checkStartOfBlock()&& +c.checkEndOfBlock()){b=h.fixBlock(true,b.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p");if(!CKEDITOR.env.needsBrFiller)(b=b.getFirst(i))&&(b.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(b.getText()).match(/^(?: |\xa0)$/))&&b.remove();l=1;a.cancel()}}l&&h.select()}function f(a,b){if(a.isFake)return 0;var c=b.block||b.blockLimit,d=c&&c.getLast(i);if(c&&c.isBlockBoundary()&&(!d||!(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()))&&!c.is("pre")&&!c.getBogus())return c}function h(a){var b=a.data.getTarget(); +if(b.is("input")){b=b.getAttribute("type");(b=="submit"||b=="reset")&&a.data.preventDefault()}}function i(a){return o(a)&&p(a)}function j(a,b){return function(c){var d=c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget,d=d&&d.nodeType==CKEDITOR.NODE_ELEMENT?new CKEDITOR.dom.element(d):null;(!d||!b.equals(d)&&!b.contains(d))&&a.call(this,c)}}function n(a){function b(a){return function(b,d){d&&(b.type==CKEDITOR.NODE_ELEMENT&&b.is(e))&&(c=b);if(!d&&i(b)&&(!a||!x(b)))return false}}var c, +d=a.getRanges()[0],a=a.root,e={table:1,ul:1,ol:1,dl:1};if(d.startPath().contains(e)){var g=d.clone();g.collapse(1);g.setStartAt(a,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(g);a.guard=b();a.checkBackward();if(c){g=d.clone();g.collapse();g.setEndAt(c,CKEDITOR.POSITION_AFTER_END);a=new CKEDITOR.dom.walker(g);a.guard=b(true);c=false;a.checkForward();return c}}return null}function g(a,b,c){return a.config.autoParagraph!==false&&a.activeEnterMode!=CKEDITOR.ENTER_BR&&a.editable().equals(c)&& +!b||b&&b.getAttribute("contenteditable")=="true"}function B(a){return a.activeEnterMode!=CKEDITOR.ENTER_BR&&a.config.autoParagraph!==false?a.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p":false}function s(a){var b=a.editor;b.getSelection().scrollIntoView();setTimeout(function(){b.fire("saveSnapshot")},0)}function z(a,b,c){for(var d=a.getCommonAncestor(b),b=a=c?b:a;(a=a.getParent())&&!d.equals(a)&&a.getChildCount()==1;)b=a;b.remove()}CKEDITOR.editable=CKEDITOR.tools.createClass({base:CKEDITOR.dom.element, +$:function(a,b){this.base(b.$||b);this.editor=a;this.status="unloaded";this.hasFocus=false;this.setup()},proto:{focus:function(){var a;if(CKEDITOR.env.webkit&&!this.hasFocus){a=this.editor._.previousActive||this.getDocument().getActive();if(this.contains(a)){a.focus();return}}try{this.$[CKEDITOR.env.ie&&this.getDocument().equals(CKEDITOR.document)?"setActive":"focus"]()}catch(b){if(!CKEDITOR.env.ie)throw b;}if(CKEDITOR.env.safari&&!this.isInline()){a=CKEDITOR.document.getActive();a.equals(this.getWindow().getFrame())|| +this.getWindow().focus()}},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);if(CKEDITOR.env.ie&&/^focus|blur$/.exec(a)){a=a=="focus"?"focusin":"focusout";b=j(b,this);c[0]=a;c[1]=b}return CKEDITOR.dom.element.prototype.on.apply(this,c)},attachListener:function(a){!this._.listeners&&(this._.listeners=[]);var b=Array.prototype.slice.call(arguments,1),b=a.on.apply(a,b);this._.listeners.push(b);return b},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}}, +restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)if(a.hasOwnProperty(c)){b=a[c];b!==null?this.setAttribute(c,b):this.removeAttribute(c)}},attachClass:function(a){var b=this.getCustomData("classes");if(!this.hasClass(a)){!b&&(b=[]);b.push(a);this.setCustomData("classes",b);this.addClass(a)}},changeAttr:function(a,b){var c=this.getAttribute(a);if(b!==c){!this._.attrChanges&&(this._.attrChanges={});a in this._.attrChanges||(this._.attrChanges[a]=c);this.setAttribute(a,b)}},insertText:function(a){this.editor.focus(); +this.insertHtml(this.transformPlainTextToHtml(a),"text")},transformPlainTextToHtml:function(a){var b=this.editor.getSelection().getStartElement().hasAscendant("pre",true)?CKEDITOR.ENTER_BR:this.editor.activeEnterMode;return CKEDITOR.tools.transformPlainTextToHtml(a,b)},insertHtml:function(a,b,c){var d=this.editor;d.focus();d.fire("saveSnapshot");c||(c=d.getSelection().getRanges()[0]);C(this,b||"html",a,c);c.select();s(this);this.editor.fire("afterInsertHtml",{})},insertHtmlIntoRange:function(a,b, +c){C(this,c||"html",a,b);this.editor.fire("afterInsertHtml",{intoRange:b})},insertElement:function(a,b){var c=this.editor;c.focus();c.fire("saveSnapshot");var d=c.activeEnterMode,c=c.getSelection(),e=a.getName(),e=CKEDITOR.dtd.$block[e];b||(b=c.getRanges()[0]);if(this.insertElementIntoRange(a,b)){b.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);if(e)if((e=a.getNext(function(a){return i(a)&&!x(a)}))&&e.type==CKEDITOR.NODE_ELEMENT&&e.is(CKEDITOR.dtd.$block))e.getDtd()["#"]?b.moveToElementEditStart(e): +b.moveToElementEditEnd(a);else if(!e&&d!=CKEDITOR.ENTER_BR){e=b.fixBlock(true,d==CKEDITOR.ENTER_DIV?"div":"p");b.moveToElementEditStart(e)}}c.selectRanges([b]);s(this)},insertElementIntoSelection:function(a){this.insertElement(a)},insertElementIntoRange:function(a,b){var c=this.editor,d=c.config.enterMode,e=a.getName(),g=CKEDITOR.dtd.$block[e];if(b.checkReadOnly())return false;b.deleteContents(1);b.startContainer.type==CKEDITOR.NODE_ELEMENT&&b.startContainer.is({tr:1,table:1,tbody:1,thead:1,tfoot:1})&& +l(b);var f,h;if(g)for(;(f=b.getCommonAncestor(0,1))&&(h=CKEDITOR.dtd[f.getName()])&&(!h||!h[e]);)if(f.getName()in CKEDITOR.dtd.span)b.splitElement(f);else if(b.checkStartOfBlock()&&b.checkEndOfBlock()){b.setStartBefore(f);b.collapse(true);f.remove()}else b.splitBlock(d==CKEDITOR.ENTER_DIV?"div":"p",c.editable());b.insertNode(a);return true},setData:function(a,b){b||(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.fixInitialSelection();if(this.status=="unloaded")this.status="ready";this.editor.fire("dataReady")}, +getData:function(a){var b=this.getHtml();a||(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");this.status="detached";var a=this.editor;this._.detach();delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},fixInitialSelection:function(){function a(){var b=c.getDocument().$,d=b.getSelection(),e;if(d.anchorNode&&d.anchorNode== +c.$)e=true;else if(CKEDITOR.env.webkit){var k=c.getDocument().getActive();k&&(k.equals(c)&&!d.anchorNode)&&(e=true)}if(e){e=new CKEDITOR.dom.range(c);e.moveToElementEditStart(c);b=b.createRange();b.setStart(e.startContainer.$,e.startOffset);b.collapse(true);d.removeAllRanges();d.addRange(b)}}function b(){var a=c.getDocument().$,d=a.selection,e=c.getDocument().getActive();if(d.type=="None"&&e.equals(c)){d=new CKEDITOR.dom.range(c);a=a.body.createTextRange();d.moveToElementEditStart(c);d=d.startContainer; +d.type!=CKEDITOR.NODE_ELEMENT&&(d=d.getParent());a.moveToElementText(d.$);a.collapse(true);a.select()}}var c=this;if(CKEDITOR.env.ie&&(CKEDITOR.env.version<9||CKEDITOR.env.quirks)){if(this.hasFocus){this.focus();b()}}else if(this.hasFocus){this.focus();a()}else this.once("focus",function(){a()},null,null,-999)},getHtmlFromRange:function(e){if(e.collapsed)return new CKEDITOR.dom.documentFragment(e.document);e={doc:this.getDocument(),range:e.clone()};a.detect(e,this);d.exclude(e);b.shrink(e);e.fragment= +e.range.cloneContents();c.rebuild(e,this);a.fix(e,this);return new CKEDITOR.dom.documentFragment(e.fragment.$)},extractHtmlFromRange:function(a,b){var c=q,d={range:a,doc:a.document},e=this.getHtmlFromRange(a);if(a.collapsed){a.optimize();return e}a.enlarge(CKEDITOR.ENLARGE_INLINE,1);c.table.detectPurge(d);d.bookmark=a.createBookmark();delete d.range;var g=this.editor.createRange();g.moveToPosition(d.bookmark.startNode,CKEDITOR.POSITION_BEFORE_START);d.targetBookmark=g.createBookmark();c.list.detectMerge(d, +this);c.table.detectRanges(d,this);c.block.detectMerge(d,this);if(d.tableContentsRanges){c.table.deleteRanges(d);a.moveToBookmark(d.bookmark);d.range=a}else{a.moveToBookmark(d.bookmark);d.range=a;a.extractContents(c.detectExtractMerge(d))}a.moveToBookmark(d.targetBookmark);a.optimize();c.fixUneditableRangePosition(a);c.list.merge(d,this);c.table.purge(d,this);c.block.merge(d,this);if(b){c=a.startPath();if(a.checkStartOfBlock()&&a.checkEndOfBlock()&&c.block&&!a.root.equals(c.block)){a.moveToPosition(c.block, +CKEDITOR.POSITION_BEFORE_START);c.block.remove()}}else{c.autoParagraph(this.editor,a);t(a.startContainer)&&a.startContainer.appendBogus()}a.startContainer.mergeSiblings();return e},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||a.config.ignoreEmptyParagraph!==false&&(b=b.replace(u,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a, +"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&b.type=="Control"||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText", +function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"):(a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE||a.elementMode==CKEDITOR.ELEMENT_MODE_APPENDTO)&&this.attachClass("cke_editable_themed");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=+a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus= +false},null,null,-1);this.on("focus",function(){this.hasFocus=true},null,null,-1);a.focusManager.add(this);if(this.equals(CKEDITOR.document.getActive())){this.hasFocus=true;a.once("contentDom",function(){a.focusManager.focus(this)},this)}this.isInline()&&this.changeAttr("tabindex",a.tabIndex);if(!this.is("textarea")){a.document=this.getDocument();a.window=this.getWindow();var b=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var c=a.config.contentsLangDirection;this.getDirection(1)!= +c&&this.changeAttr("dir",c);var d=CKEDITOR.getCss();if(d){c=b.getHead();if(!c.getCustomData("stylesheet")){d=b.appendStyleText(d);d=new CKEDITOR.dom.element(d.ownerNode||d.owningElement);c.setCustomData("stylesheet",d);d.data("cke-temp",1)}}c=b.getCustomData("stylesheet_ref")||0;b.setCustomData("stylesheet_ref",c+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){var a=a.data,b=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a"); +b&&(a.$.button!=2&&b.isReadOnly())&&a.preventDefault()});var e={8:1,46:1};this.attachListener(a,"key",function(b){if(a.readOnly)return true;var c=b.data.domEvent.getKey(),d;if(c in e){var b=a.getSelection(),g,f=b.getRanges()[0],h=f.startPath(),m,l,w,c=c==8;if(CKEDITOR.env.ie&&CKEDITOR.env.version<11&&(g=b.getSelectedElement())||(g=n(b))){a.fire("saveSnapshot");f.moveToPosition(g,CKEDITOR.POSITION_BEFORE_START);g.remove();f.select();a.fire("saveSnapshot");d=1}else if(f.collapsed)if((m=h.block)&&(w= +m[c?"getPrevious":"getNext"](o))&&w.type==CKEDITOR.NODE_ELEMENT&&w.is("table")&&f[c?"checkStartOfBlock":"checkEndOfBlock"]()){a.fire("saveSnapshot");f[c?"checkEndOfBlock":"checkStartOfBlock"]()&&m.remove();f["moveToElementEdit"+(c?"End":"Start")](w);f.select();a.fire("saveSnapshot");d=1}else if(h.blockLimit&&h.blockLimit.is("td")&&(l=h.blockLimit.getAscendant("table"))&&f.checkBoundaryOfElement(l,c?CKEDITOR.START:CKEDITOR.END)&&(w=l[c?"getPrevious":"getNext"](o))){a.fire("saveSnapshot");f["moveToElementEdit"+ +(c?"End":"Start")](w);f.checkStartOfBlock()&&f.checkEndOfBlock()?w.remove():f.select();a.fire("saveSnapshot");d=1}else if((l=h.contains(["td","th","caption"]))&&f.checkBoundaryOfElement(l,c?CKEDITOR.START:CKEDITOR.END))d=1}return!d});a.blockless&&(CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)&&this.attachListener(this,"keyup",function(b){if(b.data.getKeystroke()in e&&!this.getFirst(i)){this.appendBogus();b=a.createRange();b.moveToPosition(this,CKEDITOR.POSITION_AFTER_START);b.select()}});this.attachListener(this, +"dblclick",function(b){if(a.readOnly)return false;b={element:b.data.getTarget()};a.fire("doubleclick",b)});CKEDITOR.env.ie&&this.attachListener(this,"click",h);CKEDITOR.env.ie||this.attachListener(this,"mousedown",function(b){var c=b.data.getTarget();if(c.is("img","hr","input","textarea","select")&&!c.isReadOnly()){a.getSelection().selectElement(c);c.is("input","textarea","select")&&b.data.preventDefault()}});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(b.data.$.button==2){b= +b.data.getTarget();if(!b.getOuterHtml().replace(u,"")){var c=a.createRange();c.moveToElementEditStart(b);c.select(true)}}});if(CKEDITOR.env.webkit){this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()});this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()})}CKEDITOR.env.webkit&&this.attachListener(a,"key",function(b){if(a.readOnly)return true;b=b.data.domEvent.getKey();if(b in e){var c= +b==8,d=a.getSelection().getRanges()[0],b=d.startPath();if(d.collapsed){var g;a:{var f=b.block;if(f)if(d[c?"checkStartOfBlock":"checkEndOfBlock"]())if(!d.moveToClosestEditablePosition(f,!c)||!d.collapsed)g=false;else{if(d.startContainer.type==CKEDITOR.NODE_ELEMENT){var h=d.startContainer.getChild(d.startOffset-(c?1:0));if(h&&h.type==CKEDITOR.NODE_ELEMENT&&h.is("hr")){a.fire("saveSnapshot");h.remove();g=true;break a}}if((d=d.startPath().block)&&(!d||!d.contains(f))){a.fire("saveSnapshot");var m;(m= +(c?d:f).getBogus())&&m.remove();g=a.getSelection();m=g.createBookmarks();(c?f:d).moveChildren(c?d:f,false);b.lastElement.mergeSiblings();z(f,d,!c);g.selectBookmarks(m);g=true}}else g=false;else g=false}if(!g)return}else{c=d;g=b.block;m=c.endPath().block;if(!g||!m||g.equals(m))b=false;else{a.fire("saveSnapshot");(f=g.getBogus())&&f.remove();c.enlarge(CKEDITOR.ENLARGE_INLINE);c.deleteContents();if(m.getParent()){m.moveChildren(g,false);b.lastElement.mergeSiblings();z(g,m,true)}c=a.getSelection().getRanges()[0]; +c.collapse(1);c.optimize();c.startContainer.getHtml()===""&&c.startContainer.appendBogus();c.select();b=true}if(!b)return}a.getSelection().scrollIntoView();a.fire("saveSnapshot");return false}},this,null,100)}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());if(!this.is("textarea")){a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var c= +a.getCustomData("stylesheet_ref");if(--c)a.setCustomData("stylesheet_ref",c);else{a.removeCustomData("stylesheet_ref");b.removeCustomData("stylesheet").remove()}}}this.editor.fire("contentDomUnload");delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;if(arguments.length)b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null);return b};CKEDITOR.on("instanceLoaded",function(a){var b=a.editor;b.on("insertElement", +function(a){a=a.data;if(a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))){a.getAttribute("contentEditable")!="false"&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1");a.setAttribute("contentEditable",false)}});b.on("selectionChange",function(a){if(!b.readOnly){var c=b.getSelection();if(c&&!c.isLocked){c=b.checkDirty();b.fire("lockSnapshot");e(a);b.fire("unlockSnapshot");!c&&b.resetDirty()}}})});CKEDITOR.on("instanceCreated",function(a){var b=a.editor;b.on("mode", +function(){var a=b.editable();if(a&&a.isInline()){var c=b.title;a.changeAttr("role","textbox");a.changeAttr("aria-label",c);c&&a.changeAttr("title",c);var d=b.fire("ariaEditorHelpLabel",{}).label;if(d)if(c=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents")){var e=CKEDITOR.tools.getNextId(),d=CKEDITOR.dom.element.createFromHtml('<span id="'+e+'" class="cke_voice_label">'+d+"</span>");c.append(d);a.changeAttr("aria-describedby",e)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}"); +var o=CKEDITOR.dom.walker.whitespaces(true),p=CKEDITOR.dom.walker.bookmark(false,true),t=CKEDITOR.dom.walker.empty(),x=CKEDITOR.dom.walker.bogus(),u=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,C=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function b(c,d){var e,g,f,r,l=[],w=d.range.startContainer;e=d.range.startPath();for(var w=h[w.getName()],i=0,j=c.getChildren(),q=j.count(),A=-1,J=-1,H=0,F=e.contains(h.$list);i< +q;++i){e=j.getItem(i);if(a(e)){f=e.getName();if(F&&f in CKEDITOR.dtd.$list)l=l.concat(b(e,d));else{r=!!w[f];if(f=="br"&&e.data("cke-eol")&&(!i||i==q-1)){H=(g=i?l[i-1].node:j.getItem(i+1))&&(!a(g)||!g.is("br"));g=g&&a(g)&&h.$block[g.getName()]}A==-1&&!r&&(A=i);r||(J=i);l.push({isElement:1,isLineBreak:H,isBlock:e.isBlockBoundary(),hasBlockSibling:g,node:e,name:f,allowed:r});g=H=0}}else l.push({isElement:0,node:e,allowed:1})}if(A>-1)l[A].firstNotAllowed=1;if(J>-1)l[J].lastNotAllowed=1;return l}function c(b, +d){var e=[],g=b.getChildren(),f=g.count(),r,l=0,m=h[d],w=!b.is(h.$inline)||b.is("br");for(w&&e.push(" ");l<f;l++){r=g.getItem(l);a(r)&&!r.is(m)?e=e.concat(c(r,d)):e.push(r)}w&&e.push(" ");return e}function d(b){return b&&a(b)&&(b.is(h.$removeEmpty)||b.is("a")&&!b.isBlockBoundary())}function e(b,c,d,g){var f=b.clone(),h,r;f.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);if((h=(new CKEDITOR.dom.walker(f)).next())&&a(h)&&l[h.getName()]&&(r=h.getPrevious())&&a(r)&&!r.getParent().equals(b.startContainer)&&d.contains(r)&& +g.contains(h)&&h.isIdentical(r)){h.moveChildren(r);h.remove();e(b,c,d,g)}}function f(b,c){function d(b,c){if(c.isBlock&&c.isElement&&!c.node.is("br")&&a(b)&&b.is("br")){b.remove();return 1}}var e=c.endContainer.getChild(c.endOffset),g=c.endContainer.getChild(c.endOffset-1);e&&d(e,b[b.length-1]);if(g&&d(g,b[0])){c.setEnd(c.endContainer,c.endOffset-1);c.collapse()}}var h=CKEDITOR.dtd,l={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},r={p:1,div:1,h1:1,h2:1,h3:1,h4:1, +h5:1,h6:1},j=CKEDITOR.tools.extend({},h.$inline);delete j.br;return function(l,y,v,q){var n=l.editor,o=false;if(y=="unfiltered_html"){y="html";o=true}if(!q.checkReadOnly()){var E=(new CKEDITOR.dom.elementPath(q.startContainer,q.root)).blockLimit||q.root,l={type:y,dontFilter:o,editable:l,editor:n,range:q,blockLimit:E,mergeCandidates:[],zombies:[]},y=l.range,q=l.mergeCandidates,s,p;if(l.type=="text"&&y.shrink(CKEDITOR.SHRINK_ELEMENT,true,false)){s=CKEDITOR.dom.element.createFromHtml("<span> </span>", +y.document);y.insertNode(s);y.setStartAfter(s)}o=new CKEDITOR.dom.elementPath(y.startContainer);l.endPath=E=new CKEDITOR.dom.elementPath(y.endContainer);if(!y.collapsed){var n=E.block||E.blockLimit,z=y.getCommonAncestor();n&&(!n.equals(z)&&!n.contains(z)&&y.checkEndOfBlock())&&l.zombies.push(n);y.deleteContents()}for(;(p=a(y.startContainer)&&y.startContainer.getChild(y.startOffset-1))&&a(p)&&p.isBlockBoundary()&&o.contains(p);)y.moveToPosition(p,CKEDITOR.POSITION_BEFORE_END);e(y,l.blockLimit,o,E); +if(s){y.setEndBefore(s);y.collapse();s.remove()}s=y.startPath();if(n=s.contains(d,false,1)){y.splitElement(n);l.inlineStylesRoot=n;l.inlineStylesPeak=s.lastElement}s=y.createBookmark();(n=s.startNode.getPrevious(i))&&a(n)&&d(n)&&q.push(n);(n=s.startNode.getNext(i))&&a(n)&&d(n)&&q.push(n);for(n=s.startNode;(n=n.getParent())&&d(n);)q.push(n);y.moveToBookmark(s);if(s=v){s=l.range;if(l.type=="text"&&l.inlineStylesRoot){p=l.inlineStylesPeak;y=p.getDocument().createText("{cke-peak}");for(q=l.inlineStylesRoot.getParent();!p.equals(q);){y= +y.appendTo(p.clone());p=p.getParent()}v=y.getOuterHtml().split("{cke-peak}").join(v)}p=l.blockLimit.getName();if(/^\s+|\s+$/.test(v)&&"span"in CKEDITOR.dtd[p])var u='<span data-cke-marker="1"> </span>',v=u+v+u;v=l.editor.dataProcessor.toHtml(v,{context:null,fixForBody:false,protectedWhitespaces:!!u,dontFilter:l.dontFilter,filter:l.editor.activeFilter,enterMode:l.editor.activeEnterMode});p=s.document.createElement("body");p.setHtml(v);if(u){p.getFirst().remove();p.getLast().remove()}if((u=s.startPath().block)&& +!(u.getChildCount()==1&&u.getBogus()))a:{var t;if(p.getChildCount()==1&&a(t=p.getFirst())&&t.is(r)&&!t.hasAttribute("contenteditable")){u=t.getElementsByTag("*");s=0;for(q=u.count();s<q;s++){y=u.getItem(s);if(!y.is(j))break a}t.moveChildren(t.getParent(1));t.remove()}}l.dataWrapper=p;s=v}if(s){t=l.range;s=t.document;var G;p=l.blockLimit;var q=0,I,u=[],x,C,v=n=0,N,V,y=t.startContainer,o=l.endPath.elements[0],W,E=o.getPosition(y),z=!!o.getCommonAncestor(y)&&E!=CKEDITOR.POSITION_IDENTICAL&&!(E&CKEDITOR.POSITION_CONTAINS+ +CKEDITOR.POSITION_IS_CONTAINED),y=b(l.dataWrapper,l);for(f(y,t);q<y.length;q++){E=y[q];if(G=E.isLineBreak){G=t;N=p;var Q=void 0,S=void 0;if(E.hasBlockSibling)G=1;else{Q=G.startContainer.getAscendant(h.$block,1);if(!Q||!Q.is({div:1,p:1}))G=0;else{S=Q.getPosition(N);if(S==CKEDITOR.POSITION_IDENTICAL||S==CKEDITOR.POSITION_CONTAINS)G=0;else{N=G.splitElement(Q);G.moveToPosition(N,CKEDITOR.POSITION_AFTER_START);G=1}}}}if(G)v=q>0;else{G=t.startPath();if(!E.isBlock&&g(l.editor,G.block,G.blockLimit)&&(C=B(l.editor))){C= +s.createElement(C);C.appendBogus();t.insertNode(C);CKEDITOR.env.needsBrFiller&&(I=C.getBogus())&&I.remove();t.moveToPosition(C,CKEDITOR.POSITION_BEFORE_END)}if((G=t.startPath().block)&&!G.equals(x)){if(I=G.getBogus()){I.remove();u.push(G)}x=G}E.firstNotAllowed&&(n=1);if(n&&E.isElement){G=t.startContainer;for(N=null;G&&!h[G.getName()][E.name];){if(G.equals(p)){G=null;break}N=G;G=G.getParent()}if(G){if(N){V=t.splitElement(N);l.zombies.push(V);l.zombies.push(N)}}else{N=p.getName();W=!q;G=q==y.length- +1;N=c(E.node,N);for(var Q=[],S=N.length,R=0,P=void 0,X=0,$=-1;R<S;R++){P=N[R];if(P==" "){if(!X&&(!W||R)){Q.push(new CKEDITOR.dom.text(" "));$=Q.length}X=1}else{Q.push(P);X=0}}G&&$==Q.length&&Q.pop();W=Q}}if(W){for(;G=W.pop();)t.insertNode(G);W=0}else t.insertNode(E.node);if(E.lastNotAllowed&&q<y.length-1){(V=z?o:V)&&t.setEndAt(V,CKEDITOR.POSITION_AFTER_START);n=0}t.collapse()}}if(y.length!=1)I=false;else{I=y[0];I=I.isElement&&I.node.getAttribute("contenteditable")=="false"}if(I){v=true;G=y[0].node; +t.setStartAt(G,CKEDITOR.POSITION_BEFORE_START);t.setEndAt(G,CKEDITOR.POSITION_AFTER_END)}l.dontMoveCaret=v;l.bogusNeededBlocks=u}I=l.range;var Y;V=l.bogusNeededBlocks;for(W=I.createBookmark();x=l.zombies.pop();)if(x.getParent()){C=I.clone();C.moveToElementEditStart(x);C.removeEmptyBlocksAtEnd()}if(V)for(;x=V.pop();)CKEDITOR.env.needsBrFiller?x.appendBogus():x.append(I.document.createText(" "));for(;x=l.mergeCandidates.pop();)x.mergeSiblings();I.moveToBookmark(W);if(!l.dontMoveCaret){for(x=a(I.startContainer)&& +I.startContainer.getChild(I.startOffset-1);x&&a(x)&&!x.is(h.$empty);){if(x.isBlockBoundary())I.moveToPosition(x,CKEDITOR.POSITION_BEFORE_END);else{if(d(x)&&x.getHtml().match(/(\s| )$/g)){Y=null;break}Y=I.clone();Y.moveToPosition(x,CKEDITOR.POSITION_BEFORE_END)}x=x.getLast(i)}Y&&I.moveToRange(Y)}}}}(),l=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return false;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$tableContent)};b.evaluator=function(a){return a.type== +CKEDITOR.NODE_ELEMENT};return b}function b(a,c,d){c=a.getDocument().createElement(c);a.append(c,d);return c}function c(a){var b=a.count(),d;for(b;b-- >0;){d=a.getItem(b);if(!CKEDITOR.tools.trim(d.getHtml())){d.appendBogus();CKEDITOR.env.ie&&(CKEDITOR.env.version<9&&d.getChildCount())&&d.getFirst().remove()}}}return function(d){var e=d.startContainer,g=e.getAscendant("table",1),f=false;c(g.getElementsByTag("td"));c(g.getElementsByTag("th"));g=d.clone();g.setStart(e,0);g=a(g).lastBackward();if(!g){g= +d.clone();g.setEndAt(e,CKEDITOR.POSITION_BEFORE_END);g=a(g).lastForward();f=true}g||(g=e);if(g.is("table")){d.setStartAt(g,CKEDITOR.POSITION_BEFORE_START);d.collapse(true);g.remove()}else{g.is({tbody:1,thead:1,tfoot:1})&&(g=b(g,"tr",f));g.is("tr")&&(g=b(g,g.getParent().is("thead")?"th":"td",f));(e=g.getBogus())&&e.remove();d.moveToPosition(g,f?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END)}}}();a={detect:function(a,b){var c=a.range,d=c.clone(),e=c.clone(),g=new CKEDITOR.dom.elementPath(c.startContainer, +b),f=new CKEDITOR.dom.elementPath(c.endContainer,b);d.collapse(1);e.collapse();if(g.block&&d.checkBoundaryOfElement(g.block,CKEDITOR.END)){c.setStartAfter(g.block);a.prependEolBr=1}if(f.block&&e.checkBoundaryOfElement(f.block,CKEDITOR.START)){c.setEndBefore(f.block);a.appendEolBr=1}},fix:function(a,b){var c=b.getDocument(),d;if(a.appendEolBr){d=this.createEolBr(c);a.fragment.append(d)}a.prependEolBr&&(!d||d.getPrevious())&&a.fragment.append(this.createEolBr(c),1)},createEolBr:function(a){return a.createElement("br", +{attributes:{"data-cke-eol":1}})}};d={exclude:function(a){var b=a.range.getBoundaryNodes(),c=b.startNode;(b=b.endNode)&&(x(b)&&(!c||!c.equals(b)))&&a.range.setEndBefore(b)}};c={rebuild:function(a,b){var c=a.range,d=c.getCommonAncestor(),e=new CKEDITOR.dom.elementPath(d,b),g=new CKEDITOR.dom.elementPath(c.startContainer,b),c=new CKEDITOR.dom.elementPath(c.endContainer,b),f;d.type==CKEDITOR.NODE_TEXT&&(d=d.getParent());if(e.blockLimit.is({tr:1,table:1})){var h=e.contains("table").getParent();f=function(a){return!a.equals(h)}}else if(e.block&& +e.block.is(CKEDITOR.dtd.$listItem)){g=g.contains(CKEDITOR.dtd.$list);c=c.contains(CKEDITOR.dtd.$list);if(!g.equals(c)){var r=e.contains(CKEDITOR.dtd.$list).getParent();f=function(a){return!a.equals(r)}}}f||(f=function(a){return!a.equals(e.block)&&!a.equals(e.blockLimit)});this.rebuildFragment(a,b,d,f)},rebuildFragment:function(a,b,c,d){for(var e;c&&!c.equals(b)&&d(c);){e=c.clone(0,1);a.fragment.appendTo(e);a.fragment=e;c=c.getParent()}}};b={shrink:function(a){var a=a.range,b=a.startContainer,c=a.endContainer, +d=a.startOffset,e=a.endOffset;b.type==CKEDITOR.NODE_ELEMENT&&(b.equals(c)&&b.is("tr")&&++d==e)&&a.shrink(CKEDITOR.SHRINK_TEXT)}};var q=function(){function a(b,c){var d=b.getParent();if(d.is(CKEDITOR.dtd.$inline))b[c?"insertBefore":"insertAfter"](d)}function b(c,d,e){a(d);a(e,1);for(var g;g=e.getNext();){g.insertAfter(d);d=g}t(c)&&c.remove()}function c(a,b){var d=new CKEDITOR.dom.range(a);d.setStartAfter(b.startNode);d.setEndBefore(b.endNode);return d}return{list:{detectMerge:function(a,b){var d=c(b, +a.bookmark),e=d.startPath(),g=d.endPath(),f=e.contains(CKEDITOR.dtd.$list),h=g.contains(CKEDITOR.dtd.$list);a.mergeList=f&&h&&f.getParent().equals(h.getParent())&&!f.equals(h);a.mergeListItems=e.block&&g.block&&e.block.is(CKEDITOR.dtd.$listItem)&&g.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems){d=d.clone();d.setStartBefore(a.bookmark.startNode);d.setEndAfter(a.bookmark.endNode);a.mergeListBookmark=d.createBookmark()}},merge:function(a,c){if(a.mergeListBookmark){var d=a.mergeListBookmark.startNode, +e=a.mergeListBookmark.endNode,g=new CKEDITOR.dom.elementPath(d,c),f=new CKEDITOR.dom.elementPath(e,c);if(a.mergeList){var h=g.contains(CKEDITOR.dtd.$list),k=f.contains(CKEDITOR.dtd.$list);if(!h.equals(k)){k.moveChildren(h);k.remove()}}if(a.mergeListItems){g=g.contains(CKEDITOR.dtd.$listItem);f=f.contains(CKEDITOR.dtd.$listItem);g.equals(f)||b(f,d,e)}d.remove();e.remove()}}},block:{detectMerge:function(a,b){if(!a.tableContentsRanges&&!a.mergeListBookmark){var c=new CKEDITOR.dom.range(b);c.setStartBefore(a.bookmark.startNode); +c.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=c.createBookmark()}},merge:function(a,c){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var d=a.mergeBlockBookmark.startNode,e=a.mergeBlockBookmark.endNode,g=new CKEDITOR.dom.elementPath(d,c),f=new CKEDITOR.dom.elementPath(e,c),g=g.block,f=f.block;g&&(f&&!g.equals(f))&&b(f,d,e);d.remove();e.remove()}}},table:function(){function a(c){var e=[],g,f=new CKEDITOR.dom.walker(c),h=c.startPath().contains(d),k=c.endPath().contains(d),l={};f.guard=function(a, +f){if(a.type==CKEDITOR.NODE_ELEMENT){var m="visited_"+(f?"out":"in");if(a.getCustomData(m))return;CKEDITOR.dom.element.setMarker(l,a,m,1)}if(f&&h&&a.equals(h)){g=c.clone();g.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);e.push(g)}else if(!f&&k&&a.equals(k)){g=c.clone();g.setStartAt(k,CKEDITOR.POSITION_AFTER_START);e.push(g)}else if(!f&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&(!h||b(a,h))&&(!k||b(a,k))){g=c.clone();g.selectNodeContents(a);e.push(g)}};f.lastForward();CKEDITOR.dom.element.clearAllMarkers(l); +return e}function b(a,c){var d=CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED,e=a.getPosition(c);return e===CKEDITOR.POSITION_IDENTICAL?false:(e&d)===0}var d={td:1,th:1,caption:1};return{detectPurge:function(a){var b=a.range,c=b.clone();c.enlarge(CKEDITOR.ENLARGE_ELEMENT);var c=new CKEDITOR.dom.walker(c),e=0;c.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&++e};c.checkForward();if(e>1){var c=b.startPath().contains("table"),g=b.endPath().contains("table");if(c&&g&&b.checkBoundaryOfElement(c, +CKEDITOR.START)&&b.checkBoundaryOfElement(g,CKEDITOR.END)){b=a.range.clone();b.setStartBefore(c);b.setEndAfter(g);a.purgeTableBookmark=b.createBookmark()}}},detectRanges:function(e,g){var f=c(g,e.bookmark),h=f.clone(),k,l,m=f.getCommonAncestor();m.is(CKEDITOR.dtd.$tableContent)&&!m.is(d)&&(m=m.getAscendant("table",true));l=m;m=new CKEDITOR.dom.elementPath(f.startContainer,l);l=new CKEDITOR.dom.elementPath(f.endContainer,l);m=m.contains("table");l=l.contains("table");if(m||l){if(m&&l&&b(m,l)){e.tableSurroundingRange= +h;h.setStartAt(m,CKEDITOR.POSITION_AFTER_END);h.setEndAt(l,CKEDITOR.POSITION_BEFORE_START);h=f.clone();h.setEndAt(m,CKEDITOR.POSITION_AFTER_END);k=f.clone();k.setStartAt(l,CKEDITOR.POSITION_BEFORE_START);k=a(h).concat(a(k))}else if(m){if(!l){e.tableSurroundingRange=h;h.setStartAt(m,CKEDITOR.POSITION_AFTER_END);f.setEndAt(m,CKEDITOR.POSITION_AFTER_END)}}else{e.tableSurroundingRange=h;h.setEndAt(l,CKEDITOR.POSITION_BEFORE_START);f.setStartAt(l,CKEDITOR.POSITION_AFTER_START)}e.tableContentsRanges=k? +k:a(f)}},deleteRanges:function(a){for(var b;b=a.tableContentsRanges.pop();){b.extractContents();t(b.startContainer)&&b.startContainer.appendBogus()}a.tableSurroundingRange&&a.tableSurroundingRange.extractContents()},purge:function(a){if(a.purgeTableBookmark){var b=a.doc,c=a.range.clone(),b=b.createElement("p");b.insertBefore(a.purgeTableBookmark.startNode);c.moveToBookmark(a.purgeTableBookmark);c.deleteContents();a.range.moveToPosition(b,CKEDITOR.POSITION_AFTER_START)}}}}(),detectExtractMerge:function(a){return!(a.range.startPath().contains(CKEDITOR.dtd.$listItem)&& +a.range.endPath().contains(CKEDITOR.dtd.$listItem))},fixUneditableRangePosition:function(a){a.startContainer.getDtd()["#"]||a.moveToClosestEditablePosition(null,true)},autoParagraph:function(a,b){var c=b.startPath(),d;if(g(a,c.block,c.blockLimit)&&(d=B(a))){d=b.document.createElement(d);d.appendBogus();b.insertNode(d);b.moveToPosition(d,CKEDITOR.POSITION_AFTER_START)}}}}()})(); +(function(){function a(){var a=this._.fakeSelection,b;if(a){b=this.getSelection(1);if(!b||!b.isHidden()){a.reset();a=0}}if(!a){a=b||this.getSelection(1);if(!a||a.getType()==CKEDITOR.SELECTION_NONE)return}this.fire("selectionCheck",a);b=this.elementPath();if(!b.compare(this._.selectionPreviousPath)){if(CKEDITOR.env.webkit)this._.previousActive=this.document.getActive();this._.selectionPreviousPath=b;this.fire("selectionChange",{selection:a,path:b})}}function d(){o=true;if(!z){b.call(this);z=CKEDITOR.tools.setTimeout(b, +200,this)}}function b(){z=null;if(o){CKEDITOR.tools.setTimeout(a,0,this);o=false}}function c(a){return p(a)||a.type==CKEDITOR.NODE_ELEMENT&&!a.is(CKEDITOR.dtd.$empty)?true:false}function e(a){function b(c,d){return!c||c.type==CKEDITOR.NODE_TEXT?false:a.clone()["moveToElementEdit"+(d?"End":"Start")](c)}if(!(a.root instanceof CKEDITOR.editable))return false;var d=a.startContainer,e=a.getPreviousNode(c,null,d),g=a.getNextNode(c,null,d);return b(e)||b(g,1)||!e&&!g&&!(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()&& +d.getBogus())?true:false}function f(a){return a.getCustomData("cke-fillingChar")}function h(a,b){var c=a&&a.removeCustomData("cke-fillingChar");if(c){if(b!==false){var d,e=a.getDocument().getSelection().getNative(),g=e&&e.type!="None"&&e.getRangeAt(0);if(c.getLength()>1&&g&&g.intersectsNode(c.$)){d=j(e);g=e.focusNode==c.$&&e.focusOffset>0;e.anchorNode==c.$&&e.anchorOffset>0&&d[0].offset--;g&&d[1].offset--}}c.setText(i(c.getText()));d&&n(a.getDocument().$,d)}}function i(a){return a.replace(/\u200B( )?/g, +function(a){return a[1]?" ":""})}function j(a){return[{node:a.anchorNode,offset:a.anchorOffset},{node:a.focusNode,offset:a.focusOffset}]}function n(a,b){var c=a.getSelection(),d=a.createRange();d.setStart(b[0].node,b[0].offset);d.collapse(true);c.removeAllRanges();c.addRange(d);c.extend(b[1].node,b[1].offset)}function g(a){var b=CKEDITOR.dom.element.createFromHtml('<div data-cke-hidden-sel="1" data-cke-temp="1" style="'+(CKEDITOR.env.ie?"display:none":"position:fixed;top:0;left:-1000px")+'"> </div>', +a.document);a.fire("lockSnapshot");a.editable().append(b);var c=a.getSelection(1),d=a.createRange(),e=c.root.on("selectionchange",function(a){a.cancel()},null,null,0);d.setStartAt(b,CKEDITOR.POSITION_AFTER_START);d.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);c.selectRanges([d]);e.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=b}function B(a){var b={37:1,39:1,8:1,46:1};return function(c){var d=c.data.getKeystroke();if(b[d]){var e=a.getSelection().getRanges(),g=e[0];if(e.length== +1&&g.collapsed)if((d=g[d<38?"getPreviousEditableNode":"getNextEditableNode"]())&&d.type==CKEDITOR.NODE_ELEMENT&&d.getAttribute("contenteditable")=="false"){a.getSelection().fake(d);c.data.preventDefault();c.cancel()}}}}function s(a){for(var b=0;b<a.length;b++){var c=a[b];c.getCommonAncestor().isReadOnly()&&a.splice(b,1);if(!c.collapsed){if(c.startContainer.isReadOnly())for(var d=c.startContainer,e;d;){if((e=d.type==CKEDITOR.NODE_ELEMENT)&&d.is("body")||!d.isReadOnly())break;e&&d.getAttribute("contentEditable")== +"false"&&c.setStartAfter(d);d=d.getParent()}d=c.startContainer;e=c.endContainer;var g=c.startOffset,f=c.endOffset,h=c.clone();d&&d.type==CKEDITOR.NODE_TEXT&&(g>=d.getLength()?h.setStartAfter(d):h.setStartBefore(d));e&&e.type==CKEDITOR.NODE_TEXT&&(f?h.setEndAfter(e):h.setEndBefore(e));d=new CKEDITOR.dom.walker(h);d.evaluator=function(d){if(d.type==CKEDITOR.NODE_ELEMENT&&d.isReadOnly()){var e=c.clone();c.setEndBefore(d);c.collapsed&&a.splice(b--,1);if(!(d.getPosition(h.endContainer)&CKEDITOR.POSITION_CONTAINS)){e.setStartAfter(d); +e.collapsed||a.splice(b+1,0,e)}return true}return false};d.next()}}return a}var z,o,p=CKEDITOR.dom.walker.invisible(1),t=function(){function a(b){return function(a){var c=a.editor.createRange();c.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([c]);return false}}function b(a){return function(b){var c=b.editor,d=c.createRange(),e;if(!(e=d.moveToClosestEditablePosition(b.selected,a)))e=d.moveToClosestEditablePosition(b.selected,!a);e&&c.getSelection().selectRanges([d]); +c.fire("saveSnapshot");b.selected.remove();if(!e){d.moveToElementEditablePosition(c.editable());c.getSelection().selectRanges([d])}c.fire("saveSnapshot");return false}}var c=a(),d=a(1);return{37:c,38:c,39:d,40:d,8:b(),46:b(1)}}();CKEDITOR.on("instanceCreated",function(b){function c(){var a=e.getSelection();a&&a.removeAllRanges()}var e=b.editor;e.on("contentDom",function(){function b(){D=new CKEDITOR.dom.selection(e.getSelection());D.lock()}function c(){f.removeListener("mouseup",c);j.removeListener("mouseup", +c);var a=CKEDITOR.document.$.selection,b=a.createRange();a.type!="None"&&b.parentElement().ownerDocument==g.$&&b.select()}var g=e.document,f=CKEDITOR.document,l=e.editable(),i=g.getBody(),j=g.getDocumentElement(),r=l.isInline(),q,D;CKEDITOR.env.gecko&&l.attachListener(l,"focus",function(a){a.removeListener();if(q!==0)if((a=e.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==l.$){a=e.createRange();a.moveToElementEditStart(l);a.select()}},null,null,-2);l.attachListener(l,CKEDITOR.env.webkit? +"DOMFocusIn":"focus",function(){q&&CKEDITOR.env.webkit&&(q=e._.previousActive&&e._.previousActive.equals(g.getActive()));e.unlockSelection(q);q=0},null,null,-1);l.attachListener(l,"mousedown",function(){q=0});if(CKEDITOR.env.ie||r){x?l.attachListener(l,"beforedeactivate",b,null,null,-1):l.attachListener(e,"selectionCheck",b,null,null,-1);l.attachListener(l,CKEDITOR.env.webkit?"DOMFocusOut":"blur",function(){e.lockSelection(D);q=1},null,null,-1);l.attachListener(l,"mousedown",function(){q=0})}if(CKEDITOR.env.ie&& +!r){var y;l.attachListener(l,"mousedown",function(a){if(a.data.$.button==2){a=e.document.getSelection();if(!a||a.getType()==CKEDITOR.SELECTION_NONE)y=e.window.getScrollPosition()}});l.attachListener(l,"mouseup",function(a){if(a.data.$.button==2&&y){e.document.$.documentElement.scrollLeft=y.x;e.document.$.documentElement.scrollTop=y.y}y=null});if(g.$.compatMode!="BackCompat"){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)j.on("mousedown",function(a){function b(a){a=a.data.$;if(d){var c=i.$.createTextRange(); +try{c.moveToPoint(a.clientX,a.clientY)}catch(e){}d.setEndPoint(g.compareEndPoints("StartToStart",c)<0?"EndToEnd":"StartToStart",c);d.select()}}function c(){j.removeListener("mousemove",b);f.removeListener("mouseup",c);j.removeListener("mouseup",c);d.select()}a=a.data;if(a.getTarget().is("html")&&a.$.y<j.$.clientHeight&&a.$.x<j.$.clientWidth){var d=i.$.createTextRange();try{d.moveToPoint(a.$.clientX,a.$.clientY)}catch(e){}var g=d.duplicate();j.on("mousemove",b);f.on("mouseup",c);j.on("mouseup",c)}}); +if(CKEDITOR.env.version>7&&CKEDITOR.env.version<11)j.on("mousedown",function(a){if(a.data.getTarget().is("html")){f.on("mouseup",c);j.on("mouseup",c)}})}}l.attachListener(l,"selectionchange",a,e);l.attachListener(l,"keyup",d,e);l.attachListener(l,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){e.forceNextSelectionCheck();e.selectionChange(1)});if(r&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var v;l.attachListener(l,"mousedown",function(){v=1});l.attachListener(g.getDocumentElement(),"mouseup", +function(){v&&d.call(e);v=0})}else l.attachListener(CKEDITOR.env.ie?l:g.getDocumentElement(),"mouseup",d,e);CKEDITOR.env.webkit&&l.attachListener(g,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:h(l)}},null,null,-1);l.attachListener(l,"keydown",B(e),null,null,-1)});e.on("setData",function(){e.unlockSelection();CKEDITOR.env.webkit&&c()});e.on("contentDomUnload",function(){e.unlockSelection()});if(CKEDITOR.env.ie9Compat)e.on("beforeDestroy", +c,null,null,9);e.on("dataReady",function(){delete e._.fakeSelection;delete e._.hiddenSelectionContainer;e.selectionChange(1)});e.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),b=e.editable().getLast(a);if(b&&b.hasAttribute("data-cke-hidden-sel")){b.remove();if(CKEDITOR.env.gecko)(a=e.editable().getFirst(a))&&(a.is("br")&&a.getAttribute("_moz_editor_bogus_node"))&&a.remove()}},null,null,100);e.on("key",function(a){if(e.mode=="wysiwyg"){var b=e.getSelection(); +if(b.isFake){var c=t[a.data.keyCode];if(c)return c({editor:e,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});CKEDITOR.on("instanceReady",function(a){function b(){var a=d.editable();if(a)if(a=f(a)){var c=d.document.$.getSelection();if(c.type!="None"&&(c.anchorNode==a.$||c.focusNode==a.$))g=j(c);e=a.getText();a.setText(i(e))}}function c(){var a=d.editable();if(a)if(a=f(a)){a.setText(e);if(g){n(d.document.$,g);g=null}}}var d=a.editor,e,g;if(CKEDITOR.env.webkit){d.on("selectionChange", +function(){var a=d.editable(),b=f(a);b&&(b.getCustomData("ready")?h(a):b.setCustomData("ready",1))},null,null,-1);d.on("beforeSetMode",function(){h(d.editable())},null,null,-1);d.on("beforeUndoImage",b);d.on("afterUndoImage",c);d.on("beforeGetData",b,null,null,0);d.on("getData",c)}});CKEDITOR.editor.prototype.selectionChange=function(b){(b?a:d).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){if((this._.savedSelection||this._.fakeSelection)&&!a)return this._.savedSelection||this._.fakeSelection; +return(a=this.editable())&&this.mode=="wysiwyg"?new CKEDITOR.dom.selection(a):null};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){!a.isLocked&&a.lock();this._.savedSelection=a;return true}return false};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;if(b){b.unlock(a);delete this._.savedSelection;return true}return false};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath}; +CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;var x=typeof window.getSelection!="function",u=1;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection)var b= +a,a=a.root;var c=a instanceof CKEDITOR.dom.element;this.rev=b?b.rev:u++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=c?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(b){CKEDITOR.tools.extend(this._.cache,b._.cache);this.isFake=b.isFake;this.isLocked=b.isLocked;return this}var a=this.getNative(),d,e;if(a)if(a.getRangeAt)d=(e=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(e.commonAncestorContainer);else{try{e=a.createRange()}catch(g){}d=e&&CKEDITOR.dom.element.get(e.item&& +e.item(0)||e.parentElement())}if(!d||!(d.type==CKEDITOR.NODE_ELEMENT||d.type==CKEDITOR.NODE_TEXT)||!this.root.equals(d)&&!this.root.contains(d)){this._.cache.type=CKEDITOR.SELECTION_NONE;this._.cache.startElement=null;this._.cache.selectedElement=null;this._.cache.selectedText="";this._.cache.ranges=new CKEDITOR.dom.rangeList}return this};var C={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.dom.selection.prototype= +{getNative:function(){return this._.cache.nativeSel!==void 0?this._.cache.nativeSel:this._.cache.nativeSel=x?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:x?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var c=this.getNative(),d=c.type;if(d=="Text")b=CKEDITOR.SELECTION_TEXT;if(d=="Control")b=CKEDITOR.SELECTION_ELEMENT;if(c.createRange().parentElement())b=CKEDITOR.SELECTION_TEXT}catch(e){}return a.type=b}:function(){var a=this._.cache; +if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(c.rangeCount==1){var c=c.getRangeAt(0),d=c.startContainer;if(d==c.endContainer&&d.nodeType==1&&c.endOffset-c.startOffset==1&&C[d.childNodes[c.startOffset].nodeName.toLowerCase()])b=CKEDITOR.SELECTION_ELEMENT}return a.type=b},getRanges:function(){var a=x?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,c){b=b.duplicate();b.collapse(c); +var d=b.parentElement();if(!d.hasChildNodes())return{container:d,offset:0};for(var e=d.children,g,f,h=b.duplicate(),r=0,l=e.length-1,k=-1,i,j;r<=l;){k=Math.floor((r+l)/2);g=e[k];h.moveToElementText(g);i=h.compareEndPoints("StartToStart",b);if(i>0)l=k-1;else if(i<0)r=k+1;else return{container:d,offset:a(g)}}if(k==-1||k==e.length-1&&i<0){h.moveToElementText(d);h.setEndPoint("StartToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;e=d.childNodes;if(!h){g=e[e.length-1];return g.nodeType!=CKEDITOR.NODE_TEXT? +{container:d,offset:e.length}:{container:g,offset:g.nodeValue.length}}for(d=e.length;h>0&&d>0;){f=e[--d];if(f.nodeType==CKEDITOR.NODE_TEXT){j=f;h=h-f.nodeValue.length}}return{container:j,offset:-h}}h.collapse(i>0?true:false);h.setEndPoint(i>0?"StartToStart":"EndToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;if(!h)return{container:d,offset:a(g)+(i>0?0:1)};for(;h>0;)try{f=g[i>0?"previousSibling":"nextSibling"];if(f.nodeType==CKEDITOR.NODE_TEXT){h=h-f.nodeValue.length;j=f}g=f}catch(n){return{container:d, +offset:a(g)}}return{container:j,offset:i>0?-h:j.nodeValue.length+h}};return function(){var a=this.getNative(),c=a&&a.createRange(),d=this.getType();if(!a)return[];if(d==CKEDITOR.SELECTION_TEXT){a=new CKEDITOR.dom.range(this.root);d=b(c,true);a.setStart(new CKEDITOR.dom.node(d.container),d.offset);d=b(c);a.setEnd(new CKEDITOR.dom.node(d.container),d.offset);a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&a.collapse();return[a]}if(d== +CKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var g=c.item(e),f=g.parentNode,h=0,a=new CKEDITOR.dom.range(this.root);h<f.childNodes.length&&f.childNodes[h]!=g;h++);a.setStart(new CKEDITOR.dom.node(f),h);a.setEnd(new CKEDITOR.dom.node(f),h+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer),e.startOffset); +b.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache,d=c.ranges;if(!d)c.ranges=d=new CKEDITOR.dom.rangeList(a.call(this));return!b?d:s(new CKEDITOR.dom.rangeList(d.slice()))}}(),getStartElement:function(){var a=this._.cache;if(a.startElement!==void 0)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0];if(c){if(c.collapsed){b= +c.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent())}else{for(c.optimize();;){b=c.startContainer;if(c.startOffset==(b.getChildCount?b.getChildCount():b.getLength())&&!b.isBlockBoundary())c.setStartAfter(b);else break}b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();b=b.getChild(c.startOffset);if(!b||b.type!=CKEDITOR.NODE_ELEMENT)b=c.startContainer;else for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;){b=c;c=c.getFirst()}}b=b.$}}return a.startElement=b?new CKEDITOR.dom.element(b): +null},getSelectedElement:function(){var a=this._.cache;if(a.selectedElement!==void 0)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},function(){for(var a=b.getRanges()[0].clone(),c,d,e=2;e&&(!(c=a.getEnclosedNode())||!(c.type==CKEDITOR.NODE_ELEMENT&&C[c.getName()]&&(d=c)));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d&&d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a=this._.cache; +if(a.selectedText!==void 0)return a.selectedText;var b=this.getNative(),b=x?b.type=="Control"?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(a){if(this.isLocked){if(a)var b=this.getSelectedElement(),c=!b&&this.getRanges(),d=this.isFake;this.isLocked=0;this.reset();if(a)(a=b||c[0]&&c[0].getCommonAncestor())&&a.getAscendant("body", +1)&&(d?this.fake(b):b?this.selectElement(b):this.selectRanges(c))}},reset:function(){this._.cache={};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection&&this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;var b=a._.hiddenSelectionContainer;if(b){var c=a.checkDirty();a.fire("lockSnapshot");b.remove();a.fire("unlockSnapshot");!c&&a.resetDirty()}delete a._.hiddenSelectionContainer}this.rev=u++},selectElement:function(a){var b=new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a); +this.selectRanges([b])},selectRanges:function(a){var b=this.root.editor,b=b&&b._.hiddenSelectionContainer;this.reset();if(b)for(var b=this.root,c,d=0;d<a.length;++d){c=a[d];if(c.endContainer.equals(b))c.endOffset=Math.min(c.endOffset,b.getChildCount())}if(a.length)if(this.isLocked){var g=CKEDITOR.document.getActive();this.unlock();this.selectRanges(a);this.lock();g&&!g.equals(this.root)&&g.focus()}else{var f;a:{var i,j;if(a.length==1&&!(j=a[0]).collapsed&&(f=j.getEnclosedNode())&&f.type==CKEDITOR.NODE_ELEMENT){j= +j.clone();j.shrink(CKEDITOR.SHRINK_ELEMENT,true);if((i=j.getEnclosedNode())&&i.type==CKEDITOR.NODE_ELEMENT)f=i;if(f.getAttribute("contenteditable")=="false")break a}f=void 0}if(f)this.fake(f);else{if(x){j=CKEDITOR.dom.walker.whitespaces(true);i=/\ufeff|\u00a0/;b={table:1,tbody:1,tr:1};if(a.length>1){f=a[a.length-1];a[0].setEnd(f.endContainer,f.endOffset)}f=a[0];var a=f.collapsed,n,o,r;if((c=f.getEnclosedNode())&&c.type==CKEDITOR.NODE_ELEMENT&&c.getName()in C&&(!c.is("a")||!c.getText()))try{r=c.$.createControlRange(); +r.addElement(c.$);r.select();return}catch(J){}if(f.startContainer.type==CKEDITOR.NODE_ELEMENT&&f.startContainer.getName()in b||f.endContainer.type==CKEDITOR.NODE_ELEMENT&&f.endContainer.getName()in b){f.shrink(CKEDITOR.NODE_ELEMENT,true);a=f.collapsed}r=f.createBookmark();b=r.startNode;if(!a)g=r.endNode;r=f.document.$.body.createTextRange();r.moveToElementText(b.$);r.moveStart("character",1);if(g){i=f.document.$.body.createTextRange();i.moveToElementText(g.$);r.setEndPoint("EndToEnd",i);r.moveEnd("character", +-1)}else{n=b.getNext(j);o=b.hasAscendant("pre");n=!(n&&n.getText&&n.getText().match(i))&&(o||!b.hasPrevious()||b.getPrevious().is&&b.getPrevious().is("br"));o=f.document.createElement("span");o.setHtml("");o.insertBefore(b);n&&f.document.createText("").insertBefore(b)}f.setStartBefore(b);b.remove();if(a){if(n){r.moveStart("character",-1);r.select();f.document.$.selection.clear()}else r.select();f.moveToPosition(o,CKEDITOR.POSITION_BEFORE_START);o.remove()}else{f.setEndBefore(g);g.remove(); +r.select()}}else{g=this.getNative();if(!g)return;this.removeAllRanges();for(r=0;r<a.length;r++){if(r<a.length-1){n=a[r];o=a[r+1];i=n.clone();i.setStart(n.endContainer,n.endOffset);i.setEnd(o.startContainer,o.startOffset);if(!i.collapsed){i.shrink(CKEDITOR.NODE_ELEMENT,true);f=i.getCommonAncestor();i=i.getEnclosedNode();if(f.isReadOnly()||i&&i.isReadOnly()){o.setStart(n.startContainer,n.startOffset);a.splice(r--,1);continue}}}f=a[r];o=this.document.$.createRange();if(f.collapsed&&CKEDITOR.env.webkit&& +e(f)){n=this.root;h(n,false);i=n.getDocument().createText("​");n.setCustomData("cke-fillingChar",i);f.insertNode(i);if((n=i.getNext())&&!i.getPrevious()&&n.type==CKEDITOR.NODE_ELEMENT&&n.getName()=="br"){h(this.root);f.moveToPosition(n,CKEDITOR.POSITION_BEFORE_START)}else f.moveToPosition(i,CKEDITOR.POSITION_AFTER_END)}o.setStart(f.startContainer.$,f.startOffset);try{o.setEnd(f.endContainer.$,f.endOffset)}catch(D){if(D.toString().indexOf("NS_ERROR_ILLEGAL_VALUE")>=0){f.collapse(1);o.setEnd(f.endContainer.$, +f.endOffset)}else throw D;}g.addRange(o)}}this.reset();this.root.fire("selectionchange")}}},fake:function(a){var b=this.root.editor;this.reset();g(b);var c=this._.cache,d=new CKEDITOR.dom.range(this.root);d.setStartBefore(a);d.setEndAfter(a);c.ranges=new CKEDITOR.dom.rangeList(d);c.selectedElement=c.startElement=a;c.type=CKEDITOR.SELECTION_ELEMENT;c.selectedText=c.nativeSel=null;this.isFake=1;this.rev=u++;b._.fakeSelection=this;this.root.fire("selectionchange")},isHidden:function(){var a=this.getCommonAncestor(); +a&&a.type==CKEDITOR.NODE_TEXT&&(a=a.getParent());return!(!a||!a.data("cke-hidden-sel"))},createBookmarks:function(a){a=this.getRanges().createBookmarks(a);this.isFake&&(a.isFake=1);return a},createBookmarks2:function(a){a=this.getRanges().createBookmarks2(a);this.isFake&&(a.isFake=1);return a},selectBookmarks:function(a){for(var b=[],c,d=0;d<a.length;d++){var e=new CKEDITOR.dom.range(this.root);e.moveToBookmark(a[d]);b.push(e)}if(a.isFake){c=b[0].getEnclosedNode();if(!c||c.type!=CKEDITOR.NODE_ELEMENT)a.isFake= +0}a.isFake?this.fake(c):this.selectRanges(b);return this},getCommonAncestor:function(){var a=this.getRanges();return!a.length?null:a[0].startContainer.getCommonAncestor(a[a.length-1].endContainer)},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){if(this.getType()!=CKEDITOR.SELECTION_NONE){var a=this.getNative();try{a&&a[x?"empty":"removeAllRanges"]()}catch(b){}this.reset()}}}})();"use strict";CKEDITOR.STYLE_BLOCK=1; +CKEDITOR.STYLE_INLINE=2;CKEDITOR.STYLE_OBJECT=3; +(function(){function a(a,b){for(var c,d;a=a.getParent();){if(a.equals(b))break;if(a.getAttribute("data-nostyle"))c=a;else if(!d){var e=a.getAttribute("contentEditable");e=="false"?c=a:e=="true"&&(d=1)}}return c}function d(b){var e=b.document;if(b.collapsed){e=t(this,e);b.insertNode(e);b.moveToPosition(e,CKEDITOR.POSITION_BEFORE_END)}else{var g=this.element,f=this._.definition,h,i=f.ignoreReadonly,j=i||f.includeReadonly;j==null&&(j=b.root.getCustomData("cke_includeReadonly"));var k=CKEDITOR.dtd[g]; +if(!k){h=true;k=CKEDITOR.dtd.span}b.enlarge(CKEDITOR.ENLARGE_INLINE,1);b.trim();var l=b.createBookmark(),n=l.startNode,o=l.endNode,m=n,s;if(!i){var p=b.getCommonAncestor(),i=a(n,p),p=a(o,p);i&&(m=i.getNextSourceNode(true));p&&(o=p)}for(m.getPosition(o)==CKEDITOR.POSITION_FOLLOWING&&(m=0);m;){i=false;if(m.equals(o)){m=null;i=true}else{var q=m.type==CKEDITOR.NODE_ELEMENT?m.getName():null,p=q&&m.getAttribute("contentEditable")=="false",u=q&&m.getAttribute("data-nostyle");if(q&&m.data("cke-bookmark")){m= +m.getNextSourceNode(true);continue}if(p&&j&&CKEDITOR.dtd.$block[q])for(var w=m,B=c(w),x=void 0,A=B.length,C=0,w=A&&new CKEDITOR.dom.range(w.getDocument());C<A;++C){var x=B[C],F=CKEDITOR.filter.instances[x.data("cke-filter")];if(F?F.check(this):1){w.selectNodeContents(x);d.call(this,w)}}B=q?!k[q]||u?0:p&&!j?0:(m.getPosition(o)|K)==K&&(!f.childRule||f.childRule(m)):1;if(B)if((B=m.getParent())&&((B.getDtd()||CKEDITOR.dtd.span)[g]||h)&&(!f.parentRule||f.parentRule(B))){if(!s&&(!q||!CKEDITOR.dtd.$removeEmpty[q]|| +(m.getPosition(o)|K)==K)){s=b.clone();s.setStartBefore(m)}q=m.type;if(q==CKEDITOR.NODE_TEXT||p||q==CKEDITOR.NODE_ELEMENT&&!m.getChildCount()){for(var q=m,S;(i=!q.getNext(H))&&(S=q.getParent(),k[S.getName()])&&(S.getPosition(n)|E)==E&&(!f.childRule||f.childRule(S));)q=S;s.setEndAfter(q)}}else i=true;else i=true;m=m.getNextSourceNode(u||p)}if(i&&s&&!s.collapsed){for(var i=t(this,e),p=i.hasAttributes(),u=s.getCommonAncestor(),q={},B={},x={},A={},R,P,X;i&&u;){if(u.getName()==g){for(R in f.attributes)if(!A[R]&& +(X=u.getAttribute(P)))i.getAttribute(R)==X?B[R]=1:A[R]=1;for(P in f.styles)if(!x[P]&&(X=u.getStyle(P)))i.getStyle(P)==X?q[P]=1:x[P]=1}u=u.getParent()}for(R in B)i.removeAttribute(R);for(P in q)i.removeStyle(P);p&&!i.hasAttributes()&&(i=null);if(i){s.extractContents().appendTo(i);s.insertNode(i);z.call(this,i);i.mergeSiblings();CKEDITOR.env.ie||i.$.normalize()}else{i=new CKEDITOR.dom.element("span");s.extractContents().appendTo(i);s.insertNode(i);z.call(this,i);i.remove(true)}s=null}}b.moveToBookmark(l); +b.shrink(CKEDITOR.SHRINK_TEXT);b.shrink(CKEDITOR.NODE_ELEMENT,true)}}function b(a){function b(){for(var a=new CKEDITOR.dom.elementPath(d.getParent()),c=new CKEDITOR.dom.elementPath(j.getParent()),e=null,g=null,f=0;f<a.elements.length;f++){var h=a.elements[f];if(h==a.block||h==a.blockLimit)break;k.checkElementRemovable(h,true)&&(e=h)}for(f=0;f<c.elements.length;f++){h=c.elements[f];if(h==c.block||h==c.blockLimit)break;k.checkElementRemovable(h,true)&&(g=h)}g&&j.breakParent(g);e&&d.breakParent(e)}a.enlarge(CKEDITOR.ENLARGE_INLINE, +1);var c=a.createBookmark(),d=c.startNode;if(a.collapsed){for(var e=new CKEDITOR.dom.elementPath(d.getParent(),a.root),g,f=0,h;f<e.elements.length&&(h=e.elements[f]);f++){if(h==e.block||h==e.blockLimit)break;if(this.checkElementRemovable(h)){var i;if(a.collapsed&&(a.checkBoundaryOfElement(h,CKEDITOR.END)||(i=a.checkBoundaryOfElement(h,CKEDITOR.START)))){g=h;g.match=i?"start":"end"}else{h.mergeSiblings();h.is(this.element)?s.call(this,h):o(h,C(this)[h.getName()])}}}if(g){h=d;for(f=0;;f++){i=e.elements[f]; +if(i.equals(g))break;else if(i.match)continue;else i=i.clone();i.append(h);h=i}h[g.match=="start"?"insertBefore":"insertAfter"](g)}}else{var j=c.endNode,k=this;b();for(e=d;!e.equals(j);){g=e.getNextSourceNode();if(e.type==CKEDITOR.NODE_ELEMENT&&this.checkElementRemovable(e)){e.getName()==this.element?s.call(this,e):o(e,C(this)[e.getName()]);if(g.type==CKEDITOR.NODE_ELEMENT&&g.contains(d)){b();g=d.getNext()}}e=g}}a.moveToBookmark(c);a.shrink(CKEDITOR.NODE_ELEMENT,true)}function c(a){var b=[];a.forEach(function(a){if(a.getAttribute("contenteditable")== +"true"){b.push(a);return false}},CKEDITOR.NODE_ELEMENT,true);return b}function e(a){var b=a.getEnclosedNode()||a.getCommonAncestor(false,true);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&x(a,this)}function f(a){var b=a.getCommonAncestor(true,true);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=this._.definition,c=b.attributes;if(c)for(var d in c)a.removeAttribute(d,c[d]);if(b.styles)for(var e in b.styles)b.styles.hasOwnProperty(e)&& +a.removeStyle(e)}}function h(a){var b=a.createBookmark(true),c=a.createIterator();c.enforceRealBlocks=true;if(this._.enterMode)c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e=a.document,g;d=c.getNextParagraph();)if(!d.isReadOnly()&&(c.activeFilter?c.activeFilter.check(this):1)){g=t(this,e,d);j(d,g)}a.moveToBookmark(b)}function i(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=true;c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e;d=c.getNextParagraph();)if(this.checkElementRemovable(d))if(d.is("pre")){(e= +this._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))&&d.copyAttributes(e);j(d,e)}else s.call(this,d);a.moveToBookmark(b)}function j(a,b){var c=!b;if(c){b=a.getDocument().createElement("div");a.copyAttributes(b)}var d=b&&b.is("pre"),e=a.is("pre"),f=!d&&e;if(d&&!e){e=b;(f=a.getBogus())&&f.remove();f=a.getHtml();f=g(f,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,"");f=f.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,"$1");f=f.replace(/([ \t\n\r]+| )/g, +" ");f=f.replace(/<br\b[^>]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(e);e.$.outerHTML="<pre>"+f+"</pre>";e.copyAttributes(h.getFirst());e=h.getFirst().remove()}else e.setHtml(f);b=e}else f?b=B(c?[a.getHtml()]:n(a),b):a.moveChildren(b);b.replace(a);if(d){var c=b,i;if((i=c.getPrevious(A))&&i.type==CKEDITOR.NODE_ELEMENT&&i.is("pre")){d=g(i.getHtml(),/\n$/,"")+"\n\n"+g(c.getHtml(),/^\n/,"");CKEDITOR.env.ie?c.$.outerHTML="<pre>"+d+"</pre>":c.setHtml(d);i.remove()}}else c&& +p(b)}function n(a){var b=[];g(a.getOuterHtml(),/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,c){return b+"</pre>"+c+"<pre>"}).replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(a,c){b.push(c)});return b}function g(a,b,c){var d="",e="",a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,c){b&&(d=b);c&&(e=c);return""});return d+a.replace(b,c)+e}function B(a,b){var c;a.length>1&&(c=new CKEDITOR.dom.documentFragment(b.getDocument())); +for(var d=0;d<a.length;d++){var e=a[d],e=e.replace(/(\r\n|\r)/g,"\n"),e=g(e,/^[ \t]*\n/,""),e=g(e,/\n$/,""),e=g(e,/^[ \t]+|[ \t]+$/g,function(a,b){return a.length==1?" ":b?" "+CKEDITOR.tools.repeat(" ",a.length-1):CKEDITOR.tools.repeat(" ",a.length-1)+" "}),e=e.replace(/\n/g,"<br>"),e=e.replace(/[ \t]{2,}/g,function(a){return CKEDITOR.tools.repeat(" ",a.length-1)+" "});if(c){var f=b.clone();f.setHtml(e);c.append(f)}else b.setHtml(e)}return c||b}function s(a,b){var c=this._.definition, +d=c.attributes,c=c.styles,e=C(this)[a.getName()],g=CKEDITOR.tools.isEmpty(d)&&CKEDITOR.tools.isEmpty(c),f;for(f in d)if(!((f=="class"||this._.definition.fullMatch)&&a.getAttribute(f)!=l(f,d[f]))&&!(b&&f.slice(0,5)=="data-")){g=a.hasAttribute(f);a.removeAttribute(f)}for(var h in c)if(!(this._.definition.fullMatch&&a.getStyle(h)!=l(h,c[h],true))){g=g||!!a.getStyle(h);a.removeStyle(h)}o(a,e,k[a.getName()]);g&&(this._.definition.alwaysRemoveElement?p(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode== +CKEDITOR.ENTER_BR&&!a.hasAttributes()?p(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function z(a){for(var b=C(this),c=a.getElementsByTag(this.element),d,e=c.count();--e>=0;){d=c.getItem(e);d.isReadOnly()||s.call(this,d,true)}for(var g in b)if(g!=this.element){c=a.getElementsByTag(g);for(e=c.count()-1;e>=0;e--){d=c.getItem(e);d.isReadOnly()||o(d,b[g])}}}function o(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.length;d++){var e=b[d][0],g;if(g=a.getAttribute(e)){var f=b[d][1];(f===null|| +f.test&&f.test(g)||typeof f=="string"&&g==f)&&a.removeAttribute(e)}}c||p(a)}function p(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(A),d=a.getNext(A);c&&(c.type==CKEDITOR.NODE_TEXT||!c.isBlockBoundary({br:1}))&&a.append("br",1);d&&(d.type==CKEDITOR.NODE_TEXT||!d.isBlockBoundary({br:1}))&&a.append("br");a.remove(true)}else{c=a.getFirst();d=a.getLast();a.remove(true);if(c){c.type==CKEDITOR.NODE_ELEMENT&&c.mergeSiblings();d&&(!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT)&& +d.mergeSiblings()}}}function t(a,b,c){var d;d=a.element;d=="*"&&(d="span");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=x(d,a);b.getCustomData("doc_processing_style")&&d.hasAttribute("id")?d.removeAttribute("id"):b.setCustomData("doc_processing_style",1);return d}function x(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute("style",c);return a}function u(a,b){for(var c in a)a[c]=a[c].replace(w,function(a, +c){return b[c]})}function C(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],g,f;if(typeof e=="string")g=e.toLowerCase();else{g=e.element?e.element.toLowerCase():a.element;f=e.attributes}e=b[g]||(b[g]={});if(f){var e=e.attributes=e.attributes||[],h;for(h in f)e.push([h.toLowerCase(),f[h]])}}}return b}function l(a,b,c){var d=new CKEDITOR.dom.element("span");d[c?"setStyle":"setAttribute"](a, +b);return d[c?"getStyle":"getAttribute"](a)}function q(a,b,c){for(var d=a.document,e=a.getRanges(),b=b?this.removeFromRange:this.applyToRange,g,f=e.createIterator();g=f.getNextRange();)b.call(this,g,c);a.selectRanges(e);d.removeCustomData("doc_processing_style")}var k={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},m= +{a:1,blockquote:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1},F=/\s*(?:;\s*|$)/,w=/#\((.+?)\)/g,H=CKEDITOR.dom.walker.bookmark(0,1),A=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){if(typeof a.type=="string")return new CKEDITOR.style.customHandlers[a.type](a);var c=a.attributes;if(c&&c.style){a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style));delete c.style}if(b){a=CKEDITOR.tools.clone(a);u(a.attributes, +b);u(a.styles,b)}c=this.element=a.element?typeof a.element=="string"?a.element.toLowerCase():a.element:"*";this.type=a.type||(k[c]?CKEDITOR.STYLE_BLOCK:m[c]?CKEDITOR.STYLE_OBJECT:CKEDITOR.STYLE_INLINE);if(typeof this.element=="object")this.type=CKEDITOR.STYLE_OBJECT;this._={definition:a}};CKEDITOR.style.prototype={apply:function(a){if(a instanceof CKEDITOR.dom.document)return q.call(this,a.getSelection());if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;if(!b)this._.enterMode=a.activeEnterMode; +q.call(this,a.getSelection(),0,a);this._.enterMode=b}},remove:function(a){if(a instanceof CKEDITOR.dom.document)return q.call(this,a.getSelection(),1);if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;if(!b)this._.enterMode=a.activeEnterMode;q.call(this,a.getSelection(),1,a);this._.enterMode=b}},applyToRange:function(a){this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?d:this.type==CKEDITOR.STYLE_BLOCK?h:this.type==CKEDITOR.STYLE_OBJECT?e:null;return this.applyToRange(a)},removeFromRange:function(a){this.removeFromRange= +this.type==CKEDITOR.STYLE_INLINE?b:this.type==CKEDITOR.STYLE_BLOCK?i:this.type==CKEDITOR.STYLE_OBJECT?f:null;return this.removeFromRange(a)},applyToObject:function(a){x(a,this)},checkActive:function(a,b){switch(this.type){case CKEDITOR.STYLE_BLOCK:return this.checkElementRemovable(a.block||a.blockLimit,true,b);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var c=a.elements,d=0,e;d<c.length;d++){e=c[d];if(!(this.type==CKEDITOR.STYLE_INLINE&&(e==a.block||e==a.blockLimit))){if(this.type== +CKEDITOR.STYLE_OBJECT){var g=e.getName();if(!(typeof this.element=="string"?g==this.element:g in this.element))continue}if(this.checkElementRemovable(e,true,b))return true}}}return false},checkApplicable:function(a,b,c){b&&b instanceof CKEDITOR.filter&&(c=b);if(c&&!c.check(this))return false;switch(this.type){case CKEDITOR.STYLE_OBJECT:return!!a.contains(this.element);case CKEDITOR.STYLE_BLOCK:return!!a.blockLimit.getDtd()[this.element]}return true},checkElementMatch:function(a,b){var c=this._.definition; +if(!a||!c.ignoreReadonly&&a.isReadOnly())return false;var d=a.getName();if(typeof this.element=="string"?d==this.element:d in this.element){if(!b&&!a.hasAttributes())return true;if(d=c._AC)c=d;else{var d={},e=0,g=c.attributes;if(g)for(var f in g){e++;d[f]=g[f]}if(f=CKEDITOR.style.getStyleText(c)){d.style||e++;d.style=f}d._length=e;c=c._AC=d}if(c._length){for(var h in c)if(h!="_length"){e=a.getAttribute(h)||"";if(h=="style")a:{d=c[h];typeof d=="string"&&(d=CKEDITOR.tools.parseCssText(d));typeof e== +"string"&&(e=CKEDITOR.tools.parseCssText(e,true));f=void 0;for(f in d)if(!(f in e&&(e[f]==d[f]||d[f]=="inherit"||e[f]=="inherit"))){d=false;break a}d=true}else d=c[h]==e;if(d){if(!b)return true}else if(b)return false}if(b)return true}else return true}return false},checkElementRemovable:function(a,b,c){if(this.checkElementMatch(a,b,c))return true;if(b=C(this)[a.getName()]){var d;if(!(b=b.attributes))return true;for(c=0;c<b.length;c++){d=b[c][0];if(d=a.getAttribute(d)){var e=b[c][1];if(e===null)return true; +if(typeof e=="string"){if(d==e)return true}else if(e.test(d))return true}}}return false},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;d=="bdo"&&(d="span");var c=["<",d],e=b.attributes;if(e)for(var g in e)c.push(" ",g,'="',e[g],'"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style="',e,'"');c.push(">",a||b.name,"</",d,">");return c.join("")},getDefinition:function(){return this._.definition}};CKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;var b=a.styles,c= +a.attributes&&a.attributes.style||"",d="";c.length&&(c=c.replace(F,";"));for(var e in b){var g=b[e],f=(e+":"+g).replace(F,";");g=="inherit"?d=d+f:c=c+f}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,true));return a._ST=c+d};CKEDITOR.style.customHandlers={};CKEDITOR.style.addCustomHandler=function(a){var b=function(a){this._={definition:a};this.setup&&this.setup(a)};b.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.style.prototype),{assignedTo:CKEDITOR.STYLE_OBJECT},a,true); +return this.customHandlers[a.type]=b};var K=CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED,E=CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED})();CKEDITOR.styleCommand=function(a,d){this.requiredContent=this.allowedContent=this.style=a;CKEDITOR.tools.extend(this,d,true)}; +CKEDITOR.styleCommand.prototype.exec=function(a){a.focus();this.state==CKEDITOR.TRISTATE_OFF?a.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&a.removeStyle(this.style)};CKEDITOR.stylesSet=new CKEDITOR.resourceManager("","stylesSet");CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet);CKEDITOR.loadStylesSet=function(a,d,b){CKEDITOR.stylesSet.addExternal(a,d,"");CKEDITOR.stylesSet.load(a,b)}; +CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{attachStyleStateChange:function(a,d){var b=this._.styleStateChangeCallbacks;if(!b){b=this._.styleStateChangeCallbacks=[];this.on("selectionChange",function(a){for(var d=0;d<b.length;d++){var f=b[d],h=f.style.checkActive(a.data.path,this)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;f.fn.call(this,h)}})}b.push({style:a,fn:d})},applyStyle:function(a){a.apply(this)},removeStyle:function(a){a.remove(this)},getStylesSet:function(a){if(this._.stylesDefinitions)a(this._.stylesDefinitions); +else{var d=this,b=d.config.stylesCombo_stylesSet||d.config.stylesSet;if(b===false)a(null);else if(b instanceof Array){d._.stylesDefinitions=b;a(b)}else{b||(b="default");var b=b.split(":"),c=b[0];CKEDITOR.stylesSet.addExternal(c,b[1]?b.slice(1).join(":"):CKEDITOR.getUrl("styles.js"),"");CKEDITOR.stylesSet.load(c,function(b){d._.stylesDefinitions=b[c];a(d._.stylesDefinitions)})}}}}); +CKEDITOR.dom.comment=function(a,d){typeof a=="string"&&(a=(d?d.$:document).createComment(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node;CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return"<\!--"+this.$.nodeValue+"--\>"}});"use strict"; +(function(){var a={},d={},b;for(b in CKEDITOR.dtd.$blockLimit)b in CKEDITOR.dtd.$list||(a[b]=1);for(b in CKEDITOR.dtd.$block)b in CKEDITOR.dtd.$blockLimit||b in CKEDITOR.dtd.$empty||(d[b]=1);CKEDITOR.dom.elementPath=function(b,e){var f=null,h=null,i=[],j=b,n,e=e||b.getDocument().getBody();do if(j.type==CKEDITOR.NODE_ELEMENT){i.push(j);if(!this.lastElement){this.lastElement=j;if(j.is(CKEDITOR.dtd.$object)||j.getAttribute("contenteditable")=="false")continue}if(j.equals(e))break;if(!h){n=j.getName(); +j.getAttribute("contenteditable")=="true"?h=j:!f&&d[n]&&(f=j);if(a[n]){var g;if(g=!f){if(n=n=="div"){a:{n=j.getChildren();g=0;for(var B=n.count();g<B;g++){var s=n.getItem(g);if(s.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[s.getName()]){n=true;break a}}n=false}n=!n}g=n}g?f=j:h=j}}}while(j=j.getParent());h||(h=e);this.block=f;this.blockLimit=h;this.root=e;this.elements=i}})(); +CKEDITOR.dom.elementPath.prototype={compare:function(a){var d=this.elements,a=a&&a.elements;if(!a||d.length!=a.length)return false;for(var b=0;b<d.length;b++)if(!d[b].equals(a[b]))return false;return true},contains:function(a,d,b){var c;typeof a=="string"&&(c=function(b){return b.getName()==a});a instanceof CKEDITOR.dom.element?c=function(b){return b.equals(a)}:CKEDITOR.tools.isArray(a)?c=function(b){return CKEDITOR.tools.indexOf(a,b.getName())>-1}:typeof a=="function"?c=a:typeof a=="object"&&(c= +function(b){return b.getName()in a});var e=this.elements,f=e.length;d&&f--;if(b){e=Array.prototype.slice.call(e,0);e.reverse()}for(d=0;d<f;d++)if(c(e[d]))return e[d];return null},isContextFor:function(a){var d;if(a in CKEDITOR.dtd.$block){d=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit;return!!d.getDtd()[a]}return true},direction:function(){return(this.block||this.blockLimit||this.root).getDirection(1)}}; +CKEDITOR.dom.text=function(a,d){typeof a=="string"&&(a=(d?d.$:document).createTextNode(a));this.$=a};CKEDITOR.dom.text.prototype=new CKEDITOR.dom.node; +CKEDITOR.tools.extend(CKEDITOR.dom.text.prototype,{type:CKEDITOR.NODE_TEXT,getLength:function(){return this.$.nodeValue.length},getText:function(){return this.$.nodeValue},setText:function(a){this.$.nodeValue=a},split:function(a){var d=this.$.parentNode,b=d.childNodes.length,c=this.getLength(),e=this.getDocument(),f=new CKEDITOR.dom.text(this.$.splitText(a),e);if(d.childNodes.length==b)if(a>=c){f=e.createText("");f.insertAfter(this)}else{a=e.createText("");a.insertAfter(f);a.remove()}return f},substring:function(a, +d){return typeof d!="number"?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,d)}}); +(function(){function a(a,c,d){var f=a.serializable,h=c[d?"endContainer":"startContainer"],i=d?"endOffset":"startOffset",j=f?c.document.getById(a.startNode):a.startNode,a=f?c.document.getById(a.endNode):a.endNode;if(h.equals(j.getPrevious())){c.startOffset=c.startOffset-h.getLength()-a.getPrevious().getLength();h=a.getNext()}else if(h.equals(a.getPrevious())){c.startOffset=c.startOffset-h.getLength();h=a.getNext()}h.equals(j.getParent())&&c[i]++;h.equals(a.getParent())&&c[i]++;c[d?"endContainer":"startContainer"]= +h;return c}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,d)};var d={createIterator:function(){var a=this,c=CKEDITOR.dom.walker.bookmark(),d=[],f;return{getNextRange:function(h){f=f===void 0?0:f+1;var i=a[f];if(i&&a.length>1){if(!f)for(var j=a.length-1;j>=0;j--)d.unshift(a[j].createBookmark(true));if(h)for(var n=0;a[f+n+1];){for(var g=i.document,h=0,j=g.getById(d[n].endNode),g=g.getById(d[n+ +1].startNode);;){j=j.getNextSourceNode(false);if(g.equals(j))h=1;else if(c(j)||j.type==CKEDITOR.NODE_ELEMENT&&j.isBlockBoundary())continue;break}if(!h)break;n++}for(i.moveToBookmark(d.shift());n--;){j=a[++f];j.moveToBookmark(d.shift());i.setEnd(j.endContainer,j.endOffset)}}return i}}},createBookmarks:function(b){for(var c=[],d,f=0;f<this.length;f++){c.push(d=this[f].createBookmark(b,true));for(var h=f+1;h<this.length;h++){this[h]=a(d,this[h]);this[h]=a(d,this[h],true)}}return c},createBookmarks2:function(a){for(var c= +[],d=0;d<this.length;d++)c.push(this[d].createBookmark2(a));return c},moveToBookmarks:function(a){for(var c=0;c<this.length;c++)this[c].moveToBookmark(a[c])}}})(); +(function(){function a(){return CKEDITOR.getUrl(CKEDITOR.skinName.split(",")[1]||"skins/"+CKEDITOR.skinName.split(",")[0]+"/")}function d(b){var c=CKEDITOR.skin["ua_"+b],d=CKEDITOR.env;if(c)for(var c=c.split(",").sort(function(a,b){return a>b?-1:1}),e=0,f;e<c.length;e++){f=c[e];if(d.ie&&(f.replace(/^ie/,"")==d.version||d.quirks&&f=="iequirks"))f="ie";if(d[f]){b=b+("_"+c[e]);break}}return CKEDITOR.getUrl(a()+b+".css")}function b(a,b){if(!f[a]){CKEDITOR.document.appendStyleSheet(d(a));f[a]=1}b&&b()} +function c(a){var b=a.getById(h);if(!b){b=a.getHead().append("style");b.setAttribute("id",h);b.setAttribute("type","text/css")}return b}function e(a,b,c){var d,e,f;if(CKEDITOR.env.webkit){b=b.split("}").slice(0,-1);for(e=0;e<b.length;e++)b[e]=b[e].split("{")}for(var h=0;h<a.length;h++)if(CKEDITOR.env.webkit)for(e=0;e<b.length;e++){f=b[e][1];for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);a[h].$.sheet.addRule(b[e][0],f)}else{f=b;for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);CKEDITOR.env.ie&& +CKEDITOR.env.version<11?a[h].$.styleSheet.cssText=a[h].$.styleSheet.cssText+f:a[h].$.innerHTML=a[h].$.innerHTML+f}}var f={};CKEDITOR.skin={path:a,loadPart:function(c,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+"skin.js"),function(){b(c,d)}):b(c,d)},getPath:function(a){return CKEDITOR.getUrl(d(a))},icons:{},addIcon:function(a,b,c,d){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0,bgsize:d||"16px"})},getIconStyle:function(a, +b,c,d,e){var f;if(a){a=a.toLowerCase();b&&(f=this.icons[a+"-rtl"]);f||(f=this.icons[a])}a=c||f&&f.path||"";d=d||f&&f.offset;e=e||f&&f.bgsize||"16px";return a&&"background-image:url("+CKEDITOR.getUrl(a)+");background-position:0 "+d+"px;background-size:"+e+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var b=c(CKEDITOR.document);return(this.setUiColor=function(a){this.uiColor=a;var c=CKEDITOR.skin.chameleon,d="",f="";if(typeof c== +"function"){d=c(this,"editor");f=c(this,"panel")}a=[[j,a]];e([b],d,a);e(i,f,a)}).call(this,a)}});var h="cke_ui_color",i=[],j=/\$color/g;CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor,a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=c(a);i.push(a);var d=b.getUiColor();d&&e([a],CKEDITOR.skin.chameleon(b,"panel"),[[j,d]])}};b.on("panelShow",a);b.on("menuShow",a);b.config.uiColor&& +b.setUiColor(b.config.uiColor)}})})(); +(function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=false;else{var a=CKEDITOR.dom.element.createFromHtml('<div style="width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"></div>',CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{var d=a.getComputedStyle("border-top-color"),b=a.getComputedStyle("border-right-color");CKEDITOR.env.hc=!!(d&&d==b)}catch(c){CKEDITOR.env.hc=false}a.remove()}if(CKEDITOR.env.hc)CKEDITOR.env.cssClass=CKEDITOR.env.cssClass+" cke_hc"; +CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(a=CKEDITOR._.pending){delete CKEDITOR._.pending;for(d=0;d<a.length;d++){CKEDITOR.editor.prototype.constructor.apply(a[d][0],a[d][1]);CKEDITOR.add(a[d][0])}}})();/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.skin.name="moono";CKEDITOR.skin.ua_editor="ie,iequirks,ie7,ie8,gecko";CKEDITOR.skin.ua_dialog="ie,iequirks,ie7,ie8"; +CKEDITOR.skin.chameleon=function(){var b=function(){return function(b,e){for(var a=b.match(/[^#]./g),c=0;3>c;c++){var f=a,h=c,d;d=parseInt(a[c],16);d=("0"+(0>e?0|d*(1+e):0|d+(255-d)*e).toString(16)).slice(-2);f[h]=d}return"#"+a.join("")}}(),c=function(){var b=new CKEDITOR.template("background:#{to};background-image:linear-gradient(to bottom,{from},{to});filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='{from}',endColorstr='{to}');");return function(c,a){return b.output({from:c, +to:a})}}(),f={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ {defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_bottom [{defaultGradient}border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [{defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [{defaultGradient}outline-color:{defaultBorder};border-top-color:{defaultBorder};] {id} .cke_dialog_tab [{lightGradient}border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [{mediumGradient}] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} .cke_toolgroup [{lightGradient}border-color:{defaultBorder};] {id} a.cke_button_off:hover, {id} a.cke_button_off:focus, {id} a.cke_button_off:active [{mediumGradient}] {id} .cke_button_on [{ckeButtonOn}] {id} .cke_toolbar_separator [background-color: {ckeToolbarSeparator};] {id} .cke_combo_button [border-color:{defaultBorder};{lightGradient}] {id} a.cke_combo_button:hover, {id} a.cke_combo_button:focus, {id} .cke_combo_on a.cke_combo_button [border-color:{defaultBorder};{mediumGradient}] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover, {id} a.cke_path_item:focus, {id} a.cke_path_item:active [background-color:{elementsPathBg};] {id}.cke_panel [border-color:{defaultBorder};] "), +panel:new CKEDITOR.template(".cke_panel_grouptitle [{lightGradient}border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:focus.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:focus.cke_colorauto, a:focus.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")}; +return function(g,e){var a=g.uiColor,a={id:"."+g.id,defaultBorder:b(a,-0.1),defaultGradient:c(b(a,0.9),a),lightGradient:c(b(a,1),b(a,0.7)),mediumGradient:c(b(a,0.8),b(a,0.5)),ckeButtonOn:c(b(a,0.6),b(a,0.7)),ckeResizer:b(a,-0.4),ckeToolbarSeparator:b(a,0.5),ckeColorauto:b(a,0.8),dialogBody:b(a,0.7),dialogTabSelected:c("#FFFFFF","#FFFFFF"),dialogTabSelectedBorder:"#FFF",elementsPathColor:b(a,-0.6),elementsPathBg:a,menubuttonIcon:b(a,0.5),menubuttonIconHover:b(a,0.3)};return f[e].output(a).replace(/\[/g, +"{").replace(/\]/g,"}")}}();CKEDITOR.plugins.add("dialogui",{onLoad:function(){var h=function(b){this._||(this._={});this._["default"]=this._.initValue=b["default"]||"";this._.required=b.required||!1;for(var a=[this._],d=1;d<arguments.length;d++)a.push(arguments[d]);a.push(!0);CKEDITOR.tools.extend.apply(CKEDITOR.tools,a);return this._},r={build:function(b,a,d){return new CKEDITOR.ui.dialog.textInput(b,a,d)}},l={build:function(b,a,d){return new CKEDITOR.ui.dialog[a.type](b,a,d)}},n={isChanged:function(){return this.getValue()!= +this.getInitValue()},reset:function(b){this.setValue(this.getInitValue(),b)},setInitValue:function(){this._.initValue=this.getValue()},resetInitValue:function(){this._.initValue=this._["default"]},getInitValue:function(){return this._.initValue}},o=CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onChange:function(b,a){this._.domOnChangeRegistered||(b.on("load",function(){this.getInputElement().on("change",function(){b.parts.dialog.isVisible()&&this.fire("change",{value:this.getValue()})}, +this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},!0),t=/^on([A-Z]\w+)/,p=function(b){for(var a in b)(t.test(a)||"title"==a||"type"==a)&&delete b[a];return b},s=function(b){b=b.data.getKeystroke();b==CKEDITOR.SHIFT+CKEDITOR.ALT+36?this.setDirectionMarker("ltr"):b==CKEDITOR.SHIFT+CKEDITOR.ALT+35&&this.setDirectionMarker("rtl")};CKEDITOR.tools.extend(CKEDITOR.ui.dialog,{labeledElement:function(b,a,d,f){if(!(4>arguments.length)){var c=h.call(this,a);c.labelId=CKEDITOR.tools.getNextId()+ +"_label";this._.children=[];var e={role:a.role||"presentation"};a.includeLabel&&(e["aria-labelledby"]=c.labelId);CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"div",null,e,function(){var e=[],g=a.required?" cke_required":"";if(a.labelLayout!="horizontal")e.push('<label class="cke_dialog_ui_labeled_label'+g+'" ',' id="'+c.labelId+'"',c.inputId?' for="'+c.inputId+'"':"",(a.labelStyle?' style="'+a.labelStyle+'"':"")+">",a.label,"</label>",'<div class="cke_dialog_ui_labeled_content"',a.controlStyle?' style="'+ +a.controlStyle+'"':"",' role="presentation">',f.call(this,b,a),"</div>");else{g={type:"hbox",widths:a.widths,padding:0,children:[{type:"html",html:'<label class="cke_dialog_ui_labeled_label'+g+'" id="'+c.labelId+'" for="'+c.inputId+'"'+(a.labelStyle?' style="'+a.labelStyle+'"':"")+">"+CKEDITOR.tools.htmlEncode(a.label)+"</label>"},{type:"html",html:'<span class="cke_dialog_ui_labeled_content"'+(a.controlStyle?' style="'+a.controlStyle+'"':"")+">"+f.call(this,b,a)+"</span>"}]};CKEDITOR.dialog._.uiElementBuilders.hbox.build(b, +g,e)}return e.join("")})}},textInput:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var f=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",c={"class":"cke_dialog_ui_input_"+a.type,id:f,type:a.type};a.validate&&(this.validate=a.validate);a.maxLength&&(c.maxlength=a.maxLength);a.size&&(c.size=a.size);a.inputStyle&&(c.style=a.inputStyle);var e=this,k=!1;b.on("load",function(){e.getInputElement().on("keydown",function(a){a.data.getKeystroke()==13&&(k=true)});e.getInputElement().on("keyup", +function(a){if(a.data.getKeystroke()==13&&k){b.getButton("ok")&&setTimeout(function(){b.getButton("ok").click()},0);k=false}e.bidi&&s.call(e,a)},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var b=['<div class="cke_dialog_ui_input_',a.type,'" role="presentation"'];a.width&&b.push('style="width:'+a.width+'" ');b.push("><input ");c["aria-labelledby"]=this._.labelId;this._.required&&(c["aria-required"]=this._.required);for(var e in c)b.push(e+'="'+c[e]+'" ');b.push(" /></div>"); +return b.join("")})}},textarea:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var f=this,c=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",e={};a.validate&&(this.validate=a.validate);e.rows=a.rows||5;e.cols=a.cols||20;e["class"]="cke_dialog_ui_input_textarea "+(a["class"]||"");"undefined"!=typeof a.inputStyle&&(e.style=a.inputStyle);a.dir&&(e.dir=a.dir);if(f.bidi)b.on("load",function(){f.getInputElement().on("keyup",s)},f);CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){e["aria-labelledby"]= +this._.labelId;this._.required&&(e["aria-required"]=this._.required);var a=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea id="',c,'" '],b;for(b in e)a.push(b+'="'+CKEDITOR.tools.htmlEncode(e[b])+'" ');a.push(">",CKEDITOR.tools.htmlEncode(f._["default"]),"</textarea></div>");return a.join("")})}},checkbox:function(b,a,d){if(!(3>arguments.length)){var f=h.call(this,a,{"default":!!a["default"]});a.validate&&(this.validate=a.validate);CKEDITOR.ui.dialog.uiElement.call(this, +b,a,d,"span",null,null,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},true),e=[],d=CKEDITOR.tools.getNextId()+"_label",g={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":d};p(c);if(a["default"])g.checked="checked";if(typeof c.inputStyle!="undefined")c.style=c.inputStyle;f.checkbox=new CKEDITOR.ui.dialog.uiElement(b,c,e,"input",null,g);e.push(' <label id="',d,'" for="',g.id,'"'+(a.labelStyle?' style="'+a.labelStyle+ +'"':"")+">",CKEDITOR.tools.htmlEncode(a.label),"</label>");return e.join("")})}},radio:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);this._["default"]||(this._["default"]=this._.initValue=a.items[0][1]);a.validate&&(this.validate=a.validate);var f=[],c=this;a.role="radiogroup";a.includeLabel=!0;CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){for(var e=[],d=[],g=(a.id?a.id:CKEDITOR.tools.getNextId())+"_radio",i=0;i<a.items.length;i++){var j=a.items[i],h=j[2]!==void 0?j[2]:j[0], +l=j[1]!==void 0?j[1]:j[0],m=CKEDITOR.tools.getNextId()+"_radio_input",n=m+"_label",m=CKEDITOR.tools.extend({},a,{id:m,title:null,type:null},true),h=CKEDITOR.tools.extend({},m,{title:h},true),o={type:"radio","class":"cke_dialog_ui_radio_input",name:g,value:l,"aria-labelledby":n},q=[];if(c._["default"]==l)o.checked="checked";p(m);p(h);if(typeof m.inputStyle!="undefined")m.style=m.inputStyle;m.keyboardFocusable=true;f.push(new CKEDITOR.ui.dialog.uiElement(b,m,q,"input",null,o));q.push(" ");new CKEDITOR.ui.dialog.uiElement(b, +h,q,"label",null,{id:n,"for":o.id},j[0]);e.push(q.join(""))}new CKEDITOR.ui.dialog.hbox(b,f,e,d);return d.join("")});this._.children=f}},button:function(b,a,d){if(arguments.length){"function"==typeof a&&(a=a(b.getParentEditor()));h.call(this,a,{disabled:a.disabled||!1});CKEDITOR.event.implementOn(this);var f=this;b.on("load",function(){var a=this.getElement();(function(){a.on("click",function(a){f.click();a.data.preventDefault()});a.on("keydown",function(a){a.data.getKeystroke()in{32:1}&&(f.click(), +a.data.preventDefault())})})();a.unselectable()},this);var c=CKEDITOR.tools.extend({},a);delete c.style;var e=CKEDITOR.tools.getNextId()+"_label";CKEDITOR.ui.dialog.uiElement.call(this,b,c,d,"a",null,{style:a.style,href:"javascript:void(0)",title:a.label,hidefocus:"true","class":a["class"],role:"button","aria-labelledby":e},'<span id="'+e+'" class="cke_dialog_ui_button">'+CKEDITOR.tools.htmlEncode(a.label)+"</span>")}},select:function(b,a,d){if(!(3>arguments.length)){var f=h.call(this,a);a.validate&& +(this.validate=a.validate);f.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_select":CKEDITOR.tools.getNextId()+"_select"},true),e=[],d=[],g={id:f.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};e.push('<div class="cke_dialog_ui_input_',a.type,'" role="presentation"');a.width&&e.push('style="width:'+a.width+'" ');e.push(">");if(a.size!==void 0)g.size=a.size;if(a.multiple!== +void 0)g.multiple=a.multiple;p(c);for(var i=0,j;i<a.items.length&&(j=a.items[i]);i++)d.push('<option value="',CKEDITOR.tools.htmlEncode(j[1]!==void 0?j[1]:j[0]).replace(/"/g,"""),'" /> ',CKEDITOR.tools.htmlEncode(j[0]));if(typeof c.inputStyle!="undefined")c.style=c.inputStyle;f.select=new CKEDITOR.ui.dialog.uiElement(b,c,e,"select",null,g,d.join(""));e.push("</div>");return e.join("")})}},file:function(b,a,d){if(!(3>arguments.length)){void 0===a["default"]&&(a["default"]="");var f=CKEDITOR.tools.extend(h.call(this, +a),{definition:a,buttons:[]});a.validate&&(this.validate=a.validate);b.on("load",function(){CKEDITOR.document.getById(f.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){f.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var b=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" role="presentation" id="',f.frameId,'" title="',a.label,'" src="javascript:void('];b.push(CKEDITOR.env.ie?"(function(){"+encodeURIComponent("document.open();("+ +CKEDITOR.tools.fixDomain+")();document.close();")+"})()":"0");b.push(')"></iframe>');return b.join("")})}},fileButton:function(b,a,d){var f=this;if(!(3>arguments.length)){h.call(this,a);a.validate&&(this.validate=a.validate);var c=CKEDITOR.tools.extend({},a),e=c.onClick;c.className=(c.className?c.className+" ":"")+"cke_dialog_ui_button";c.onClick=function(c){var d=a["for"];if(!e||e.call(this,c)!==false){b.getContentElement(d[0],d[1]).submit();this.disable()}};b.on("load",function(){b.getContentElement(a["for"][0], +a["for"][1])._.buttons.push(f)});CKEDITOR.ui.dialog.button.call(this,b,c,d)}},html:function(){var b=/^\s*<[\w:]+\s+([^>]*)?>/,a=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,d=/\/$/;return function(f,c,e){if(!(3>arguments.length)){var k=[],g=c.html;"<"!=g.charAt(0)&&(g="<span>"+g+"</span>");var i=c.focus;if(i){var j=this.focus;this.focus=function(){("function"==typeof i?i:j).call(this);this.fire("focus")};c.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this, +f,c,k,"span",null,null,"");k=k.join("").match(b);g=g.match(a)||["","",""];d.test(g[1])&&(g[1]=g[1].slice(0,-1),g[2]="/"+g[2]);e.push([g[1]," ",k[1]||"",g[2]].join(""))}}}(),fieldset:function(b,a,d,f,c){var e=c.label;this._={children:a};CKEDITOR.ui.dialog.uiElement.call(this,b,c,f,"fieldset",null,null,function(){var a=[];e&&a.push("<legend"+(c.labelStyle?' style="'+c.labelStyle+'"':"")+">"+e+"</legend>");for(var b=0;b<d.length;b++)a.push(d[b]);return a.join("")})}},!0);CKEDITOR.ui.dialog.html.prototype= +new CKEDITOR.ui.dialog.uiElement;CKEDITOR.ui.dialog.labeledElement.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setLabel:function(b){var a=CKEDITOR.document.getById(this._.labelId);1>a.getChildCount()?(new CKEDITOR.dom.text(b,CKEDITOR.document)).appendTo(a):a.getChild(0).$.nodeValue=b;return this},getLabel:function(){var b=CKEDITOR.document.getById(this._.labelId);return!b||1>b.getChildCount()?"":b.getChild(0).getText()},eventProcessors:o},!0);CKEDITOR.ui.dialog.button.prototype= +CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return!this._.disabled?this.fire("click",{dialog:this._.dialog}):!1},enable:function(){this._.disabled=!1;var b=this.getElement();b&&b.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")},isVisible:function(){return this.getElement().getFirst().isVisible()},isEnabled:function(){return!this._.disabled},eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, +{onClick:function(b,a){this.on("click",function(){a.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)},focus:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&a.$.focus()},0)},select:function(){var b=this.selectParentTab(); +setTimeout(function(){var a=b.getInputElement();a&&(a.$.focus(),a.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(b){if(this.bidi){var a=b&&b.charAt(0);(a="‪"==a?"ltr":"‫"==a?"rtl":null)&&(b=b.slice(1));this.setDirectionMarker(a)}b||(b="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)},getValue:function(){var b=CKEDITOR.ui.dialog.uiElement.prototype.getValue.call(this);if(this.bidi&&b){var a=this.getDirectionMarker();a&&(b=("ltr"==a?"‪":"‫")+ +b)}return b},setDirectionMarker:function(b){var a=this.getInputElement();b?a.setAttributes({dir:b,"data-cke-dir-marker":b}):this.getDirectionMarker()&&a.removeAttributes(["dir","data-cke-dir-marker"])},getDirectionMarker:function(){return this.getInputElement().data("cke-dir-marker")},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.textarea.prototype=new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return this._.select.getElement()}, +add:function(b,a,d){var f=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document),c=this.getInputElement().$;f.$.text=b;f.$.value=void 0===a||null===a?b:a;void 0===d||null===d?CKEDITOR.env.ie?c.add(f.$):c.add(f.$,null):c.add(f.$,d);return this},remove:function(b){this.getInputElement().$.remove(b);return this},clear:function(){for(var b=this.getInputElement().$;0<b.length;)b.remove(0);return this},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.checkbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement, +{getInputElement:function(){return this._.checkbox.getElement()},setValue:function(b,a){this.getInputElement().$.checked=b;!a&&this.fire("change",{value:b})},getValue:function(){return this.getInputElement().$.checked},accessKeyUp:function(){this.setValue(!this.getValue())},eventProcessors:{onChange:function(b,a){if(!CKEDITOR.env.ie||8<CKEDITOR.env.version)return o.onChange.apply(this,arguments);b.on("load",function(){var a=this._.checkbox.getElement();a.on("propertychange",function(b){b=b.data.$; +"checked"==b.propertyName&&this.fire("change",{value:a.$.checked})},this)},this);this.on("change",a);return null}},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.radio.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setValue:function(b,a){for(var d=this._.children,f,c=0;c<d.length&&(f=d[c]);c++)f.getElement().$.checked=f.getValue()==b;!a&&this.fire("change",{value:b})},getValue:function(){for(var b=this._.children,a=0;a<b.length;a++)if(b[a].getElement().$.checked)return b[a].getValue(); +return null},accessKeyUp:function(){var b=this._.children,a;for(a=0;a<b.length;a++)if(b[a].getElement().$.checked){b[a].getElement().focus();return}b[0].getElement().focus()},eventProcessors:{onChange:function(b,a){if(CKEDITOR.env.ie)b.on("load",function(){for(var a=this._.children,b=this,c=0;c<a.length;c++)a[c].getElement().on("propertychange",function(a){a=a.data.$;"checked"==a.propertyName&&this.$.checked&&b.fire("change",{value:this.getAttribute("value")})})},this),this.on("change",a);else return o.onChange.apply(this, +arguments);return null}}},n,!0);CKEDITOR.ui.dialog.file.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,n,{getInputElement:function(){var b=CKEDITOR.document.getById(this._.frameId).getFrameDocument();return 0<b.$.forms.length?new CKEDITOR.dom.element(b.$.forms[0].elements[0]):this.getElement()},submit:function(){this.getInputElement().getParent().$.submit();return this},getAction:function(){return this.getInputElement().getParent().$.action},registerEvents:function(b){var a= +/^on([A-Z]\w+)/,d,f=function(a,b,c,d){a.on("formLoaded",function(){a.getInputElement().on(c,d,a)})},c;for(c in b)if(d=c.match(a))this.eventProcessors[c]?this.eventProcessors[c].call(this,this._.dialog,b[c]):f(this,this._.dialog,d[1].toLowerCase(),b[c]);return this},reset:function(){function b(){d.$.open();var b="";f.size&&(b=f.size-(CKEDITOR.env.ie?7:0));var h=a.frameId+"_input";d.$.write(['<html dir="'+g+'" lang="'+i+'"><head><title>', +'
' ); - - this.$.write( html ); - this.$.close(); - }, - - /** - * Wrapper for `querySelectorAll`. Returns a list of elements within this document that match - * specified `selector`. - * - * **Note:** returned list is not a live collection (like a result of native `querySelectorAll`). - * - * @since 4.3 - * @param {String} selector - * @returns {CKEDITOR.dom.nodeList} - */ - find: function( selector ) { - return new CKEDITOR.dom.nodeList( this.$.querySelectorAll( selector ) ); - }, - - /** - * Wrapper for `querySelector`. Returns first element within this document that matches - * specified `selector`. - * - * @since 4.3 - * @param {String} selector - * @returns {CKEDITOR.dom.element} - */ - findOne: function( selector ) { - var el = this.$.querySelector( selector ); - - return el ? new CKEDITOR.dom.element( el ) : null; - }, - - /** - * IE8 only method. It returns document fragment which has all HTML5 elements enabled. - * - * @since 4.3 - * @private - * @returns DocumentFragment - */ - _getHtml5ShivFrag: function() { - var $frag = this.getCustomData( 'html5ShivFrag' ); - - if ( !$frag ) { - $frag = this.$.createDocumentFragment(); - CKEDITOR.tools.enableHtml5Elements( $frag, true ); - this.setCustomData( 'html5ShivFrag', $frag ); - } - - return $frag; - } -} ); diff --git a/scripts/ckeditor/core/dom/documentfragment.js b/scripts/ckeditor/core/dom/documentfragment.js deleted file mode 100755 index c1af8992..00000000 --- a/scripts/ckeditor/core/dom/documentfragment.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * DocumentFragment is a "lightweight" or "minimal" Document object. It is - * commonly used to extract a portion of a document's tree or to create a new - * fragment of a document. Various operations may take DocumentFragment objects - * as arguments and results in all the child nodes of the DocumentFragment being - * moved to the child list of this node. - * - * @class - * @constructor Creates a document fragment class instance. - * @param {Object} nodeOrDoc - * @todo example and param doc - */ -CKEDITOR.dom.documentFragment = function( nodeOrDoc ) { - nodeOrDoc = nodeOrDoc || CKEDITOR.document; - - if ( nodeOrDoc.type == CKEDITOR.NODE_DOCUMENT ) - this.$ = nodeOrDoc.$.createDocumentFragment(); - else - this.$ = nodeOrDoc; -}; - -CKEDITOR.tools.extend( CKEDITOR.dom.documentFragment.prototype, CKEDITOR.dom.element.prototype, { - /** - * The node type. This is a constant value set to {@link CKEDITOR#NODE_DOCUMENT_FRAGMENT}. - * - * @readonly - * @property {Number} [=CKEDITOR.NODE_DOCUMENT_FRAGMENT] - */ - type: CKEDITOR.NODE_DOCUMENT_FRAGMENT, - - /** - * Inserts document fragment's contents after specified node. - * - * @param {CKEDITOR.dom.node} node - */ - insertAfterNode: function( node ) { - node = node.$; - node.parentNode.insertBefore( this.$, node.nextSibling ); - } -}, true, { 'append': 1, 'appendBogus': 1, 'getFirst': 1, 'getLast': 1, 'getParent': 1, 'getNext': 1, 'getPrevious': 1, 'appendTo': 1, 'moveChildren': 1, 'insertBefore': 1, 'insertAfterNode': 1, 'replace': 1, 'trim': 1, 'type': 1, 'ltrim': 1, 'rtrim': 1, 'getDocument': 1, 'getChildCount': 1, 'getChild': 1, 'getChildren': 1 } ); diff --git a/scripts/ckeditor/core/dom/domobject.js b/scripts/ckeditor/core/dom/domobject.js deleted file mode 100755 index b0c7f369..00000000 --- a/scripts/ckeditor/core/dom/domobject.js +++ /dev/null @@ -1,266 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Defines the {@link CKEDITOR.editor} class, which is the base - * for other classes representing DOM objects. - */ - -/** - * Represents a DOM object. This class is not intended to be used directly. It - * serves as the base class for other classes representing specific DOM - * objects. - * - * @class - * @mixins CKEDITOR.event - * @constructor Creates a domObject class instance. - * @param {Object} nativeDomObject A native DOM object. - */ -CKEDITOR.dom.domObject = function( nativeDomObject ) { - if ( nativeDomObject ) { - /** - * The native DOM object represented by this class instance. - * - * var element = new CKEDITOR.dom.element( 'span' ); - * alert( element.$.nodeType ); // '1' - * - * @readonly - * @property {Object} - */ - this.$ = nativeDomObject; - } -}; - -CKEDITOR.dom.domObject.prototype = ( function() { - // Do not define other local variables here. We want to keep the native - // listener closures as clean as possible. - - var getNativeListener = function( domObject, eventName ) { - return function( domEvent ) { - // In FF, when reloading the page with the editor focused, it may - // throw an error because the CKEDITOR global is not anymore - // available. So, we check it here first. (#2923) - if ( typeof CKEDITOR != 'undefined' ) - domObject.fire( eventName, new CKEDITOR.dom.event( domEvent ) ); - }; - }; - - return { - - /** - * Get the private `_` object which is bound to the native - * DOM object using {@link #getCustomData}. - * - * var elementA = new CKEDITOR.dom.element( nativeElement ); - * elementA.getPrivate().value = 1; - * ... - * var elementB = new CKEDITOR.dom.element( nativeElement ); - * elementB.getPrivate().value; // 1 - * - * @returns {Object} The private object. - */ - getPrivate: function() { - var priv; - - // Get the main private object from the custom data. Create it if not defined. - if ( !( priv = this.getCustomData( '_' ) ) ) - this.setCustomData( '_', ( priv = {} ) ); - - return priv; - }, - - // Docs inherited from event. - on: function( eventName ) { - // We customize the "on" function here. The basic idea is that we'll have - // only one listener for a native event, which will then call all listeners - // set to the event. - - // Get the listeners holder object. - var nativeListeners = this.getCustomData( '_cke_nativeListeners' ); - - if ( !nativeListeners ) { - nativeListeners = {}; - this.setCustomData( '_cke_nativeListeners', nativeListeners ); - } - - // Check if we have a listener for that event. - if ( !nativeListeners[ eventName ] ) { - var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName ); - - if ( this.$.addEventListener ) - this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture ); - else if ( this.$.attachEvent ) - this.$.attachEvent( 'on' + eventName, listener ); - } - - // Call the original implementation. - return CKEDITOR.event.prototype.on.apply( this, arguments ); - }, - - // Docs inherited from event. - removeListener: function( eventName ) { - // Call the original implementation. - CKEDITOR.event.prototype.removeListener.apply( this, arguments ); - - // If we don't have listeners for this event, clean the DOM up. - if ( !this.hasListeners( eventName ) ) { - var nativeListeners = this.getCustomData( '_cke_nativeListeners' ); - var listener = nativeListeners && nativeListeners[ eventName ]; - if ( listener ) { - if ( this.$.removeEventListener ) - this.$.removeEventListener( eventName, listener, false ); - else if ( this.$.detachEvent ) - this.$.detachEvent( 'on' + eventName, listener ); - - delete nativeListeners[ eventName ]; - } - } - }, - - /** - * Removes any listener set on this object. - * - * To avoid memory leaks we must assure that there are no - * references left after the object is no longer needed. - */ - removeAllListeners: function() { - var nativeListeners = this.getCustomData( '_cke_nativeListeners' ); - for ( var eventName in nativeListeners ) { - var listener = nativeListeners[ eventName ]; - if ( this.$.detachEvent ) - this.$.detachEvent( 'on' + eventName, listener ); - else if ( this.$.removeEventListener ) - this.$.removeEventListener( eventName, listener, false ); - - delete nativeListeners[ eventName ]; - } - - // Remove events from events object so fire() method will not call - // listeners (#11400). - CKEDITOR.event.prototype.removeAllListeners.call( this ); - } - }; -} )(); - -( function( domObjectProto ) { - var customData = {}; - - CKEDITOR.on( 'reset', function() { - customData = {}; - } ); - - /** - * Determines whether the specified object is equal to the current object. - * - * var doc = new CKEDITOR.dom.document( document ); - * alert( doc.equals( CKEDITOR.document ) ); // true - * alert( doc == CKEDITOR.document ); // false - * - * @param {Object} object The object to compare with the current object. - * @returns {Boolean} `true` if the object is equal. - */ - domObjectProto.equals = function( object ) { - // Try/Catch to avoid IE permission error when object is from different document. - try { - return ( object && object.$ === this.$ ); - } catch ( er ) { - return false; - } - }; - - /** - * Sets a data slot value for this object. These values are shared by all - * instances pointing to that same DOM object. - * - * **Note:** The created data slot is only guarantied to be available on this unique dom node, - * thus any wish to continue access it from other element clones (either created by - * clone node or from `innerHtml`) will fail, for such usage, please use - * {@link CKEDITOR.dom.element#setAttribute} instead. - * - * **Note**: This method does not work on text nodes prior to Internet Explorer 9. - * - * var element = new CKEDITOR.dom.element( 'span' ); - * element.setCustomData( 'hasCustomData', true ); - * - * @param {String} key A key used to identify the data slot. - * @param {Object} value The value to set to the data slot. - * @returns {CKEDITOR.dom.domObject} This DOM object instance. - * @chainable - */ - domObjectProto.setCustomData = function( key, value ) { - var expandoNumber = this.getUniqueId(), - dataSlot = customData[ expandoNumber ] || ( customData[ expandoNumber ] = {} ); - - dataSlot[ key ] = value; - - return this; - }; - - /** - * Gets the value set to a data slot in this object. - * - * var element = new CKEDITOR.dom.element( 'span' ); - * alert( element.getCustomData( 'hasCustomData' ) ); // e.g. 'true' - * alert( element.getCustomData( 'nonExistingKey' ) ); // null - * - * @param {String} key The key used to identify the data slot. - * @returns {Object} This value set to the data slot. - */ - domObjectProto.getCustomData = function( key ) { - var expandoNumber = this.$[ 'data-cke-expando' ], - dataSlot = expandoNumber && customData[ expandoNumber ]; - - return ( dataSlot && key in dataSlot ) ? dataSlot[ key ] : null; - }; - - /** - * Removes the value in data slot under given `key`. - * - * @param {String} key - * @returns {Object} Removed value or `null` if not found. - */ - domObjectProto.removeCustomData = function( key ) { - var expandoNumber = this.$[ 'data-cke-expando' ], - dataSlot = expandoNumber && customData[ expandoNumber ], - retval, hadKey; - - if ( dataSlot ) { - retval = dataSlot[ key ]; - hadKey = key in dataSlot; - delete dataSlot[ key ]; - } - - return hadKey ? retval : null; - }; - - /** - * Removes any data stored on this object. - * To avoid memory leaks we must assure that there are no - * references left after the object is no longer needed. - */ - domObjectProto.clearCustomData = function() { - // Clear all event listeners - this.removeAllListeners(); - - var expandoNumber = this.$[ 'data-cke-expando' ]; - expandoNumber && delete customData[ expandoNumber ]; - }; - - /** - * Gets an ID that can be used to identify this DOM object in - * the running session. - * - * **Note**: This method does not work on text nodes prior to Internet Explorer 9. - * - * @returns {Number} A unique ID. - */ - domObjectProto.getUniqueId = function() { - return this.$[ 'data-cke-expando' ] || ( this.$[ 'data-cke-expando' ] = CKEDITOR.tools.getNextNumber() ); - }; - - // Implement CKEDITOR.event. - CKEDITOR.event.implementOn( domObjectProto ); - -} )( CKEDITOR.dom.domObject.prototype ); diff --git a/scripts/ckeditor/core/dom/element.js b/scripts/ckeditor/core/dom/element.js deleted file mode 100755 index a78d4c85..00000000 --- a/scripts/ckeditor/core/dom/element.js +++ /dev/null @@ -1,2039 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Defines the {@link CKEDITOR.dom.element} class, which - * represents a DOM element. - */ - -/** - * Represents a DOM element. - * - * // Create a new element. - * var element = new CKEDITOR.dom.element( 'span' ); - * - * // Create an element based on a native DOM element. - * var element = new CKEDITOR.dom.element( document.getElementById( 'myId' ) ); - * - * @class - * @extends CKEDITOR.dom.node - * @constructor Creates an element class instance. - * @param {Object/String} element A native DOM element or the element name for - * new elements. - * @param {CKEDITOR.dom.document} [ownerDocument] The document that will contain - * the element in case of element creation. - */ -CKEDITOR.dom.element = function( element, ownerDocument ) { - if ( typeof element == 'string' ) - element = ( ownerDocument ? ownerDocument.$ : document ).createElement( element ); - - // Call the base constructor (we must not call CKEDITOR.dom.node). - CKEDITOR.dom.domObject.call( this, element ); -}; - -// PACKAGER_RENAME( CKEDITOR.dom.element ) -/** - * The the {@link CKEDITOR.dom.element} representing and element. If the - * element is a native DOM element, it will be transformed into a valid - * CKEDITOR.dom.element object. - * - * var element = new CKEDITOR.dom.element( 'span' ); - * alert( element == CKEDITOR.dom.element.get( element ) ); // true - * - * var element = document.getElementById( 'myElement' ); - * alert( CKEDITOR.dom.element.get( element ).getName() ); // (e.g.) 'p' - * - * @static - * @param {String/Object} element Element's id or name or native DOM element. - * @returns {CKEDITOR.dom.element} The transformed element. - */ -CKEDITOR.dom.element.get = function( element ) { - var el = typeof element == 'string' ? document.getElementById( element ) || document.getElementsByName( element )[ 0 ] : element; - - return el && ( el.$ ? el : new CKEDITOR.dom.element( el ) ); -}; - -CKEDITOR.dom.element.prototype = new CKEDITOR.dom.node(); - -/** - * Creates an instance of the {@link CKEDITOR.dom.element} class based on the - * HTML representation of an element. - * - * var element = CKEDITOR.dom.element.createFromHtml( 'My element' ); - * alert( element.getName() ); // 'strong' - * - * @static - * @param {String} html The element HTML. It should define only one element in - * the "root" level. The "root" element can have child nodes, but not siblings. - * @returns {CKEDITOR.dom.element} The element instance. - */ -CKEDITOR.dom.element.createFromHtml = function( html, ownerDocument ) { - var temp = new CKEDITOR.dom.element( 'div', ownerDocument ); - temp.setHtml( html ); - - // When returning the node, remove it from its parent to detach it. - return temp.getFirst().remove(); -}; - -/** - * @static - * @todo - */ -CKEDITOR.dom.element.setMarker = function( database, element, name, value ) { - var id = element.getCustomData( 'list_marker_id' ) || ( element.setCustomData( 'list_marker_id', CKEDITOR.tools.getNextNumber() ).getCustomData( 'list_marker_id' ) ), - markerNames = element.getCustomData( 'list_marker_names' ) || ( element.setCustomData( 'list_marker_names', {} ).getCustomData( 'list_marker_names' ) ); - database[ id ] = element; - markerNames[ name ] = 1; - - return element.setCustomData( name, value ); -}; - -/** - * @static - * @todo - */ -CKEDITOR.dom.element.clearAllMarkers = function( database ) { - for ( var i in database ) - CKEDITOR.dom.element.clearMarkers( database, database[ i ], 1 ); -}; - -/** - * @static - * @todo - */ -CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatabase ) { - var names = element.getCustomData( 'list_marker_names' ), - id = element.getCustomData( 'list_marker_id' ); - for ( var i in names ) - element.removeCustomData( i ); - element.removeCustomData( 'list_marker_names' ); - if ( removeFromDatabase ) { - element.removeCustomData( 'list_marker_id' ); - delete database[ id ]; - } -}; -( function() { - -CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, { - /** - * The node type. This is a constant value set to {@link CKEDITOR#NODE_ELEMENT}. - * - * @readonly - * @property {Number} [=CKEDITOR.NODE_ELEMENT] - */ - type: CKEDITOR.NODE_ELEMENT, - - /** - * Adds a CSS class to the element. It appends the class to the - * already existing names. - * - * var element = new CKEDITOR.dom.element( 'div' ); - * element.addClass( 'classA' ); //
- * element.addClass( 'classB' ); //
- * element.addClass( 'classA' ); //
- * - * @chainable - * @param {String} className The name of the class to be added. - */ - addClass: function( className ) { - var c = this.$.className; - if ( c ) { - var regex = new RegExp( '(?:^|\\s)' + className + '(?:\\s|$)', '' ); - if ( !regex.test( c ) ) - c += ' ' + className; - } - this.$.className = c || className; - - return this; - }, - - /** - * Removes a CSS class name from the elements classes. Other classes - * remain untouched. - * - * var element = new CKEDITOR.dom.element( 'div' ); - * element.addClass( 'classA' ); //
- * element.addClass( 'classB' ); //
- * element.removeClass( 'classA' ); //
- * element.removeClass( 'classB' ); //
- * - * @chainable - * @param {String} className The name of the class to remove. - */ - removeClass: function( className ) { - var c = this.getAttribute( 'class' ); - if ( c ) { - var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', 'i' ); - if ( regex.test( c ) ) { - c = c.replace( regex, '' ).replace( /^\s+/, '' ); - - if ( c ) - this.setAttribute( 'class', c ); - else - this.removeAttribute( 'class' ); - } - } - - return this; - }, - - /** - * Checks if element has class name. - * - * @param {String} className - * @returns {Boolean} - */ - hasClass: function( className ) { - var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', '' ); - return regex.test( this.getAttribute( 'class' ) ); - }, - - /** - * Append a node as a child of this element. - * - * var p = new CKEDITOR.dom.element( 'p' ); - * - * var strong = new CKEDITOR.dom.element( 'strong' ); - * p.append( strong ); - * - * var em = p.append( 'em' ); - * - * // Result: '

' - * - * @param {CKEDITOR.dom.node/String} node The node or element name to be appended. - * @param {Boolean} [toStart=false] Indicates that the element is to be appended at the start. - * @returns {CKEDITOR.dom.node} The appended node. - */ - append: function( node, toStart ) { - if ( typeof node == 'string' ) - node = this.getDocument().createElement( node ); - - if ( toStart ) - this.$.insertBefore( node.$, this.$.firstChild ); - else - this.$.appendChild( node.$ ); - - return node; - }, - - /** - * Append HTML as a child(ren) of this element. - * - * @param {String} html - */ - appendHtml: function( html ) { - if ( !this.$.childNodes.length ) - this.setHtml( html ); - else { - var temp = new CKEDITOR.dom.element( 'div', this.getDocument() ); - temp.setHtml( html ); - temp.moveChildren( this ); - } - }, - - /** - * Append text to this element. - * - * var p = new CKEDITOR.dom.element( 'p' ); - * p.appendText( 'This is' ); - * p.appendText( ' some text' ); - * - * // Result: '

This is some text

' - * - * @param {String} text The text to be appended. - * @returns {CKEDITOR.dom.node} The appended node. - */ - appendText: function( text ) { - if ( this.$.text != undefined ) - this.$.text += text; - else - this.append( new CKEDITOR.dom.text( text ) ); - }, - - /** - * Appends a `
` filler element to this element if the filler is not present already. - * By default filler is appended only if {@link CKEDITOR.env#needsBrFiller} is `true`, - * however when `force` is set to `true` filler will be appended regardless of the environment. - * - * @param {Boolean} [force] Append filler regardless of the environment. - */ - appendBogus: function( force ) { - if ( !force && !CKEDITOR.env.needsBrFiller ) - return; - - var lastChild = this.getLast(); - - // Ignore empty/spaces text. - while ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.rtrim( lastChild.getText() ) ) - lastChild = lastChild.getPrevious(); - if ( !lastChild || !lastChild.is || !lastChild.is( 'br' ) ) { - var bogus = this.getDocument().createElement( 'br' ); - - CKEDITOR.env.gecko && bogus.setAttribute( 'type', '_moz' ); - - this.append( bogus ); - } - }, - - /** - * Breaks one of the ancestor element in the element position, moving - * this element between the broken parts. - * - * // Before breaking: - * // This is some sample test text - * // If "element" is and "parent" is : - * // This is some sample test text - * element.breakParent( parent ); - * - * // Before breaking: - * // This is some sample test text - * // If "element" is and "parent" is : - * // This is some sample test text - * element.breakParent( parent ); - * - * @param {CKEDITOR.dom.element} parent The anscestor element to get broken. - */ - breakParent: function( parent ) { - var range = new CKEDITOR.dom.range( this.getDocument() ); - - // We'll be extracting part of this element, so let's use our - // range to get the correct piece. - range.setStartAfter( this ); - range.setEndAfter( parent ); - - // Extract it. - var docFrag = range.extractContents(); - - // Move the element outside the broken element. - range.insertNode( this.remove() ); - - // Re-insert the extracted piece after the element. - docFrag.insertAfterNode( this ); - }, - - /** - * Checks if this element contains given node. - * - * @method - * @param {CKEDITOR.dom.node} node - * @returns {Boolean} - */ - contains: CKEDITOR.env.ie || CKEDITOR.env.webkit ? - function( node ) { - var $ = this.$; - - return node.type != CKEDITOR.NODE_ELEMENT ? $.contains( node.getParent().$ ) : $ != node.$ && $.contains( node.$ ); - } : function( node ) { - return !!( this.$.compareDocumentPosition( node.$ ) & 16 ); - }, - - /** - * Moves the selection focus to this element. - * - * var element = CKEDITOR.document.getById( 'myTextarea' ); - * element.focus(); - * - * @method - * @param {Boolean} defer Whether to asynchronously defer the - * execution by 100 ms. - */ - focus: ( function() { - function exec() { - // IE throws error if the element is not visible. - try { - this.$.focus(); - } catch ( e ) {} - } - - return function( defer ) { - if ( defer ) - CKEDITOR.tools.setTimeout( exec, 100, this ); - else - exec.call( this ); - }; - } )(), - - /** - * Gets the inner HTML of this element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
Example
' ); - * alert( element.getHtml() ); // 'Example' - * - * @returns {String} The inner HTML of this element. - */ - getHtml: function() { - var retval = this.$.innerHTML; - // Strip tags in IE. (#3341). - return CKEDITOR.env.ie ? retval.replace( /<\?[^>]*>/g, '' ) : retval; - }, - - /** - * Gets the outer (inner plus tags) HTML of this element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
Example
' ); - * alert( element.getOuterHtml() ); // '
Example
' - * - * @returns {String} The outer HTML of this element. - */ - getOuterHtml: function() { - if ( this.$.outerHTML ) { - // IE includes the tag in the outerHTML of - // namespaced element. So, we must strip it here. (#3341) - return this.$.outerHTML.replace( /<\?[^>]*>/, '' ); - } - - var tmpDiv = this.$.ownerDocument.createElement( 'div' ); - tmpDiv.appendChild( this.$.cloneNode( true ) ); - return tmpDiv.innerHTML; - }, - - /** - * Retrieve the bounding rectangle of the current element, in pixels, - * relative to the upper-left corner of the browser's client area. - * - * @returns {Object} The dimensions of the DOM element including - * `left`, `top`, `right`, `bottom`, `width` and `height`. - */ - getClientRect: function() { - // http://help.dottoro.com/ljvmcrrn.php - var rect = CKEDITOR.tools.extend( {}, this.$.getBoundingClientRect() ); - - !rect.width && ( rect.width = rect.right - rect.left ); - !rect.height && ( rect.height = rect.bottom - rect.top ); - - return rect; - }, - - /** - * Sets the inner HTML of this element. - * - * var p = new CKEDITOR.dom.element( 'p' ); - * p.setHtml( 'Inner HTML' ); - * - * // Result: '

Inner HTML

' - * - * @method - * @param {String} html The HTML to be set for this element. - * @returns {String} The inserted HTML. - */ - setHtml: ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) ? - // old IEs throws error on HTML manipulation (through the "innerHTML" property) - // on the element which resides in an DTD invalid position, e.g.
- // fortunately it can be worked around with DOM manipulation. - function( html ) { - try { - var $ = this.$; - - // Fix the case when setHtml is called on detached element. - // HTML5 shiv used for document in which this element was created - // won't affect that detached element. So get document fragment with - // all HTML5 elements enabled and set innerHTML while this element is appended to it. - if ( this.getParent() ) - return ( $.innerHTML = html ); - else { - var $frag = this.getDocument()._getHtml5ShivFrag(); - $frag.appendChild( $ ); - $.innerHTML = html; - $frag.removeChild( $ ); - - return html; - } - } - catch ( e ) { - this.$.innerHTML = ''; - - var temp = new CKEDITOR.dom.element( 'body', this.getDocument() ); - temp.$.innerHTML = html; - - var children = temp.getChildren(); - while ( children.count() ) - this.append( children.getItem( 0 ) ); - - return html; - } - } - : - function( html ) { - return ( this.$.innerHTML = html ); - }, - - /** - * Sets the element contents as plain text. - * - * var element = new CKEDITOR.dom.element( 'div' ); - * element.setText( 'A > B & C < D' ); - * alert( element.innerHTML ); // 'A > B & C < D' - * - * @param {String} text The text to be set. - * @returns {String} The inserted text. - */ - setText: ( function() { - var supportsTextContent = document.createElement( 'p' ); - supportsTextContent.innerHTML = 'x'; - supportsTextContent = supportsTextContent.textContent; - - return function( text ) { - this.$[ supportsTextContent ? 'textContent' : 'innerText' ] = text; - }; - } )(), - - /** - * Gets the value of an element attribute. - * - * var element = CKEDITOR.dom.element.createFromHtml( '' ); - * alert( element.getAttribute( 'type' ) ); // 'text' - * - * @method - * @param {String} name The attribute name. - * @returns {String} The attribute value or null if not defined. - */ - getAttribute: ( function() { - var standard = function( name ) { - return this.$.getAttribute( name, 2 ); - }; - - if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.quirks ) ) { - return function( name ) { - switch ( name ) { - case 'class': - name = 'className'; - break; - - case 'http-equiv': - name = 'httpEquiv'; - break; - - case 'name': - return this.$.name; - - case 'tabindex': - var tabIndex = standard.call( this, name ); - - // IE returns tabIndex=0 by default for all - // elements. For those elements, - // getAtrribute( 'tabindex', 2 ) returns 32768 - // instead. So, we must make this check to give a - // uniform result among all browsers. - if ( tabIndex !== 0 && this.$.tabIndex === 0 ) - tabIndex = null; - - return tabIndex; - break; - - case 'checked': - { - var attr = this.$.attributes.getNamedItem( name ), - attrValue = attr.specified ? attr.nodeValue // For value given by parser. - : this.$.checked; // For value created via DOM interface. - - return attrValue ? 'checked' : null; - } - - case 'hspace': - case 'value': - return this.$[ name ]; - - case 'style': - // IE does not return inline styles via getAttribute(). See #2947. - return this.$.style.cssText; - - case 'contenteditable': - case 'contentEditable': - return this.$.attributes.getNamedItem( 'contentEditable' ).specified ? this.$.getAttribute( 'contentEditable' ) : null; - } - - return standard.call( this, name ); - }; - } else - return standard; - } )(), - - /** - * Gets the nodes list containing all children of this element. - * - * @returns {CKEDITOR.dom.nodeList} - */ - getChildren: function() { - return new CKEDITOR.dom.nodeList( this.$.childNodes ); - }, - - /** - * Gets the current computed value of one of the element CSS style - * properties. - * - * var element = new CKEDITOR.dom.element( 'span' ); - * alert( element.getComputedStyle( 'display' ) ); // 'inline' - * - * @method - * @param {String} propertyName The style property name. - * @returns {String} The property value. - */ - getComputedStyle: CKEDITOR.env.ie ? - function( propertyName ) { - return this.$.currentStyle[ CKEDITOR.tools.cssStyleToDomStyle( propertyName ) ]; - } : function( propertyName ) { - var style = this.getWindow().$.getComputedStyle( this.$, null ); - // Firefox may return null if we call the above on a hidden iframe. (#9117) - return style ? style.getPropertyValue( propertyName ) : ''; - }, - - /** - * Gets the DTD entries for this element. - * - * @returns {Object} An object containing the list of elements accepted - * by this element. - */ - getDtd: function() { - var dtd = CKEDITOR.dtd[ this.getName() ]; - - this.getDtd = function() { - return dtd; - }; - - return dtd; - }, - - /** - * Gets all this element's descendants having given tag name. - * - * @method - * @param {String} tagName - */ - getElementsByTag: CKEDITOR.dom.document.prototype.getElementsByTag, - - /** - * Gets the computed tabindex for this element. - * - * var element = CKEDITOR.document.getById( 'myDiv' ); - * alert( element.getTabIndex() ); // (e.g.) '-1' - * - * @method - * @returns {Number} The tabindex value. - */ - getTabIndex: CKEDITOR.env.ie ? - function() { - var tabIndex = this.$.tabIndex; - - // IE returns tabIndex=0 by default for all elements. In - // those cases we must check that the element really has - // the tabindex attribute set to zero, or it is one of - // those element that should have zero by default. - if ( tabIndex === 0 && !CKEDITOR.dtd.$tabIndex[ this.getName() ] && parseInt( this.getAttribute( 'tabindex' ), 10 ) !== 0 ) - tabIndex = -1; - - return tabIndex; - } : CKEDITOR.env.webkit ? - function() { - var tabIndex = this.$.tabIndex; - - // Safari returns "undefined" for elements that should not - // have tabindex (like a div). So, we must try to get it - // from the attribute. - // https://bugs.webkit.org/show_bug.cgi?id=20596 - if ( tabIndex == undefined ) { - tabIndex = parseInt( this.getAttribute( 'tabindex' ), 10 ); - - // If the element don't have the tabindex attribute, - // then we should return -1. - if ( isNaN( tabIndex ) ) - tabIndex = -1; - } - - return tabIndex; - } : function() { - return this.$.tabIndex; - }, - - /** - * Gets the text value of this element. - * - * Only in IE (which uses innerText), `
` will cause linebreaks, - * and sucessive whitespaces (including line breaks) will be reduced to - * a single space. This behavior is ok for us, for now. It may change - * in the future. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
Sample text.
' ); - * alert( element.getText() ); // 'Sample text.' - * - * @returns {String} The text value. - */ - getText: function() { - return this.$.textContent || this.$.innerText || ''; - }, - - /** - * Gets the window object that contains this element. - * - * @returns {CKEDITOR.dom.window} The window object. - */ - getWindow: function() { - return this.getDocument().getWindow(); - }, - - /** - * Gets the value of the `id` attribute of this element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '

' ); - * alert( element.getId() ); // 'myId' - * - * @returns {String} The element id, or null if not available. - */ - getId: function() { - return this.$.id || null; - }, - - /** - * Gets the value of the `name` attribute of this element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '' ); - * alert( element.getNameAtt() ); // 'myName' - * - * @returns {String} The element name, or null if not available. - */ - getNameAtt: function() { - return this.$.name || null; - }, - - /** - * Gets the element name (tag name). The returned name is guaranteed to - * be always full lowercased. - * - * var element = new CKEDITOR.dom.element( 'span' ); - * alert( element.getName() ); // 'span' - * - * @returns {String} The element name. - */ - getName: function() { - // Cache the lowercased name inside a closure. - var nodeName = this.$.nodeName.toLowerCase(); - - if ( CKEDITOR.env.ie && !( document.documentMode > 8 ) ) { - var scopeName = this.$.scopeName; - if ( scopeName != 'HTML' ) - nodeName = scopeName.toLowerCase() + ':' + nodeName; - } - - return ( this.getName = function() { - return nodeName; - } )(); - }, - - /** - * Gets the value set to this element. This value is usually available - * for form field elements. - * - * @returns {String} The element value. - */ - getValue: function() { - return this.$.value; - }, - - /** - * Gets the first child node of this element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
Example
' ); - * var first = element.getFirst(); - * alert( first.getName() ); // 'b' - * - * @param {Function} evaluator Filtering the result node. - * @returns {CKEDITOR.dom.node} The first child node or null if not available. - */ - getFirst: function( evaluator ) { - var first = this.$.firstChild, - retval = first && new CKEDITOR.dom.node( first ); - if ( retval && evaluator && !evaluator( retval ) ) - retval = retval.getNext( evaluator ); - - return retval; - }, - - /** - * See {@link #getFirst}. - * - * @param {Function} evaluator Filtering the result node. - * @returns {CKEDITOR.dom.node} - */ - getLast: function( evaluator ) { - var last = this.$.lastChild, - retval = last && new CKEDITOR.dom.node( last ); - if ( retval && evaluator && !evaluator( retval ) ) - retval = retval.getPrevious( evaluator ); - - return retval; - }, - - /** - * Gets CSS style value. - * - * @param {String} name The CSS property name. - * @returns {String} Style value. - */ - getStyle: function( name ) { - return this.$.style[ CKEDITOR.tools.cssStyleToDomStyle( name ) ]; - }, - - /** - * Checks if the element name matches the specified criteria. - * - * var element = new CKEDITOR.element( 'span' ); - * alert( element.is( 'span' ) ); // true - * alert( element.is( 'p', 'span' ) ); // true - * alert( element.is( 'p' ) ); // false - * alert( element.is( 'p', 'div' ) ); // false - * alert( element.is( { p:1,span:1 } ) ); // true - * - * @param {String.../Object} name One or more names to be checked, or a {@link CKEDITOR.dtd} object. - * @returns {Boolean} `true` if the element name matches any of the names. - */ - is: function() { - var name = this.getName(); - - // Check against the specified DTD liternal. - if ( typeof arguments[ 0 ] == 'object' ) - return !!arguments[ 0 ][ name ]; - - // Check for tag names - for ( var i = 0; i < arguments.length; i++ ) { - if ( arguments[ i ] == name ) - return true; - } - return false; - }, - - /** - * Decide whether one element is able to receive cursor. - * - * @param {Boolean} [textCursor=true] Only consider element that could receive text child. - */ - isEditable: function( textCursor ) { - var name = this.getName(); - - if ( this.isReadOnly() || this.getComputedStyle( 'display' ) == 'none' || - this.getComputedStyle( 'visibility' ) == 'hidden' || - CKEDITOR.dtd.$nonEditable[ name ] || - CKEDITOR.dtd.$empty[ name ] || - ( this.is( 'a' ) && - ( this.data( 'cke-saved-name' ) || this.hasAttribute( 'name' ) ) && - !this.getChildCount() - ) ) - { - return false; - } - - if ( textCursor !== false ) { - // Get the element DTD (defaults to span for unknown elements). - var dtd = CKEDITOR.dtd[ name ] || CKEDITOR.dtd.span; - // In the DTD # == text node. - return !!( dtd && dtd[ '#' ] ); - } - - return true; - }, - - /** - * Compare this element's inner html, tag name, attributes, etc. with other one. - * - * See [W3C's DOM Level 3 spec - node#isEqualNode](http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode) - * for more details. - * - * @param {CKEDITOR.dom.element} otherElement Element to compare. - * @returns {Boolean} - */ - isIdentical: function( otherElement ) { - // do shallow clones, but with IDs - var thisEl = this.clone( 0, 1 ), - otherEl = otherElement.clone( 0, 1 ); - - // Remove distractions. - thisEl.removeAttributes( [ '_moz_dirty', 'data-cke-expando', 'data-cke-saved-href', 'data-cke-saved-name' ] ); - otherEl.removeAttributes( [ '_moz_dirty', 'data-cke-expando', 'data-cke-saved-href', 'data-cke-saved-name' ] ); - - // Native comparison available. - if ( thisEl.$.isEqualNode ) { - // Styles order matters. - thisEl.$.style.cssText = CKEDITOR.tools.normalizeCssText( thisEl.$.style.cssText ); - otherEl.$.style.cssText = CKEDITOR.tools.normalizeCssText( otherEl.$.style.cssText ); - return thisEl.$.isEqualNode( otherEl.$ ); - } else { - thisEl = thisEl.getOuterHtml(); - otherEl = otherEl.getOuterHtml(); - - // Fix tiny difference between link href in older IEs. - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 && this.is( 'a' ) ) { - var parent = this.getParent(); - if ( parent.type == CKEDITOR.NODE_ELEMENT ) { - var el = parent.clone(); - el.setHtml( thisEl ), thisEl = el.getHtml(); - el.setHtml( otherEl ), otherEl = el.getHtml(); - } - } - - return thisEl == otherEl; - } - }, - - /** - * Checks if this element is visible. May not work if the element is - * child of an element with visibility set to `hidden`, but works well - * on the great majority of cases. - * - * @returns {Boolean} True if the element is visible. - */ - isVisible: function() { - var isVisible = ( this.$.offsetHeight || this.$.offsetWidth ) && this.getComputedStyle( 'visibility' ) != 'hidden', - elementWindow, elementWindowFrame; - - // Webkit and Opera report non-zero offsetHeight despite that - // element is inside an invisible iframe. (#4542) - if ( isVisible && CKEDITOR.env.webkit ) { - elementWindow = this.getWindow(); - - if ( !elementWindow.equals( CKEDITOR.document.getWindow() ) && ( elementWindowFrame = elementWindow.$.frameElement ) ) - isVisible = new CKEDITOR.dom.element( elementWindowFrame ).isVisible(); - - } - - return !!isVisible; - }, - - /** - * Whether it's an empty inline elements which has no visual impact when removed. - * - * @returns {Boolean} - */ - isEmptyInlineRemoveable: function() { - if ( !CKEDITOR.dtd.$removeEmpty[ this.getName() ] ) - return false; - - var children = this.getChildren(); - for ( var i = 0, count = children.count(); i < count; i++ ) { - var child = children.getItem( i ); - - if ( child.type == CKEDITOR.NODE_ELEMENT && child.data( 'cke-bookmark' ) ) - continue; - - if ( child.type == CKEDITOR.NODE_ELEMENT && !child.isEmptyInlineRemoveable() || child.type == CKEDITOR.NODE_TEXT && CKEDITOR.tools.trim( child.getText() ) ) - return false; - - } - return true; - }, - - /** - * Checks if the element has any defined attributes. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
Example
' ); - * alert( element.hasAttributes() ); // true - * - * var element = CKEDITOR.dom.element.createFromHtml( '
Example
' ); - * alert( element.hasAttributes() ); // false - * - * @method - * @returns {Boolean} True if the element has attributes. - */ - hasAttributes: CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.quirks ) ? - function() { - var attributes = this.$.attributes; - - for ( var i = 0; i < attributes.length; i++ ) { - var attribute = attributes[ i ]; - - switch ( attribute.nodeName ) { - case 'class': - // IE has a strange bug. If calling removeAttribute('className'), - // the attributes collection will still contain the "class" - // attribute, which will be marked as "specified", even if the - // outerHTML of the element is not displaying the class attribute. - // Note : I was not able to reproduce it outside the editor, - // but I've faced it while working on the TC of #1391. - if ( this.getAttribute( 'class' ) ) - return true; - - // Attributes to be ignored. - case 'data-cke-expando': - continue; - - /*jsl:fallthru*/ - - default: - if ( attribute.specified ) - return true; - } - } - - return false; - } : function() { - var attrs = this.$.attributes, - attrsNum = attrs.length; - - // The _moz_dirty attribute might get into the element after pasting (#5455) - var execludeAttrs = { 'data-cke-expando': 1, _moz_dirty: 1 }; - - return attrsNum > 0 && ( attrsNum > 2 || !execludeAttrs[ attrs[ 0 ].nodeName ] || ( attrsNum == 2 && !execludeAttrs[ attrs[ 1 ].nodeName ] ) ); - }, - - /** - * Checks if the specified attribute is defined for this element. - * - * @method - * @param {String} name The attribute name. - * @returns {Boolean} `true` if the specified attribute is defined. - */ - hasAttribute: ( function() { - function ieHasAttribute( name ) { - var $attr = this.$.attributes.getNamedItem( name ); - - if ( this.getName() == 'input' ) { - switch ( name ) { - case 'class': - return this.$.className.length > 0; - case 'checked': - return !!this.$.checked; - case 'value': - var type = this.getAttribute( 'type' ); - return type == 'checkbox' || type == 'radio' ? this.$.value != 'on' : !!this.$.value; - } - } - - if ( !$attr ) - return false; - - return $attr.specified; - } - - if ( CKEDITOR.env.ie ) { - if ( CKEDITOR.env.version < 8 ) { - return function( name ) { - // On IE < 8 the name attribute cannot be retrieved - // right after the element creation and setting the - // name with setAttribute. - if ( name == 'name' ) - return !!this.$.name; - - return ieHasAttribute.call( this, name ); - }; - } else { - return ieHasAttribute; - } - } else { - return function( name ) { - // On other browsers specified property is deprecated and return always true, - // but fortunately $.attributes contains only specified attributes. - return !!this.$.attributes.getNamedItem( name ); - }; - } - } )(), - - /** - * Hides this element (sets `display: none`). - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.hide(); - */ - hide: function() { - this.setStyle( 'display', 'none' ); - }, - - /** - * Moves this element's children to the target element. - * - * @param {CKEDITOR.dom.element} target - * @param {Boolean} [toStart=false] Insert moved children at the - * beginning of the target element. - */ - moveChildren: function( target, toStart ) { - var $ = this.$; - target = target.$; - - if ( $ == target ) - return; - - var child; - - if ( toStart ) { - while ( ( child = $.lastChild ) ) - target.insertBefore( $.removeChild( child ), target.firstChild ); - } else { - while ( ( child = $.firstChild ) ) - target.appendChild( $.removeChild( child ) ); - } - }, - - /** - * Merges sibling elements that are identical to this one. - * - * Identical child elements are also merged. For example: - * - * => - * - * @method - * @param {Boolean} [inlineOnly=true] Allow only inline elements to be merged. - */ - mergeSiblings: ( function() { - function mergeElements( element, sibling, isNext ) { - if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT ) { - // Jumping over bookmark nodes and empty inline elements, e.g. , - // queuing them to be moved later. (#5567) - var pendingNodes = []; - - while ( sibling.data( 'cke-bookmark' ) || sibling.isEmptyInlineRemoveable() ) { - pendingNodes.push( sibling ); - sibling = isNext ? sibling.getNext() : sibling.getPrevious(); - if ( !sibling || sibling.type != CKEDITOR.NODE_ELEMENT ) - return; - } - - if ( element.isIdentical( sibling ) ) { - // Save the last child to be checked too, to merge things like - // => - var innerSibling = isNext ? element.getLast() : element.getFirst(); - - // Move pending nodes first into the target element. - while ( pendingNodes.length ) - pendingNodes.shift().move( element, !isNext ); - - sibling.moveChildren( element, !isNext ); - sibling.remove(); - - // Now check the last inner child (see two comments above). - if ( innerSibling && innerSibling.type == CKEDITOR.NODE_ELEMENT ) - innerSibling.mergeSiblings(); - } - } - } - - return function( inlineOnly ) { - if ( !( inlineOnly === false || CKEDITOR.dtd.$removeEmpty[ this.getName() ] || this.is( 'a' ) ) ) // Merge empty links and anchors also. (#5567) - { - return; - } - - mergeElements( this, this.getNext(), true ); - mergeElements( this, this.getPrevious() ); - }; - } )(), - - /** - * Shows this element (displays it). - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.show(); - */ - show: function() { - this.setStyles( { - display: '', - visibility: '' - } ); - }, - - /** - * Sets the value of an element attribute. - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.setAttribute( 'class', 'myClass' ); - * element.setAttribute( 'title', 'This is an example' ); - * - * @method - * @param {String} name The name of the attribute. - * @param {String} value The value to be set to the attribute. - * @returns {CKEDITOR.dom.element} This element instance. - */ - setAttribute: ( function() { - var standard = function( name, value ) { - this.$.setAttribute( name, value ); - return this; - }; - - if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.quirks ) ) { - return function( name, value ) { - if ( name == 'class' ) - this.$.className = value; - else if ( name == 'style' ) - this.$.style.cssText = value; - else if ( name == 'tabindex' ) // Case sensitive. - this.$.tabIndex = value; - else if ( name == 'checked' ) - this.$.checked = value; - else if ( name == 'contenteditable' ) - standard.call( this, 'contentEditable', value ); - else - standard.apply( this, arguments ); - return this; - }; - } else if ( CKEDITOR.env.ie8Compat && CKEDITOR.env.secure ) { - return function( name, value ) { - // IE8 throws error when setting src attribute to non-ssl value. (#7847) - if ( name == 'src' && value.match( /^http:\/\// ) ) - try { - standard.apply( this, arguments ); - } catch ( e ) {} else - standard.apply( this, arguments ); - return this; - }; - } else - return standard; - } )(), - - /** - * Sets the value of several element attributes. - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.setAttributes( { - * 'class': 'myClass', - * title: 'This is an example' - * } ); - * - * @chainable - * @param {Object} attributesPairs An object containing the names and - * values of the attributes. - * @returns {CKEDITOR.dom.element} This element instance. - */ - setAttributes: function( attributesPairs ) { - for ( var name in attributesPairs ) - this.setAttribute( name, attributesPairs[ name ] ); - return this; - }, - - /** - * Sets the element value. This function is usually used with form - * field element. - * - * @chainable - * @param {String} value The element value. - * @returns {CKEDITOR.dom.element} This element instance. - */ - setValue: function( value ) { - this.$.value = value; - return this; - }, - - /** - * Removes an attribute from the element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
' ); - * element.removeAttribute( 'class' ); - * - * @method - * @param {String} name The attribute name. - */ - removeAttribute: ( function() { - var standard = function( name ) { - this.$.removeAttribute( name ); - }; - - if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.quirks ) ) { - return function( name ) { - if ( name == 'class' ) - name = 'className'; - else if ( name == 'tabindex' ) - name = 'tabIndex'; - else if ( name == 'contenteditable' ) - name = 'contentEditable'; - standard.call( this, name ); - }; - } else - return standard; - } )(), - - /** - * Removes all element's attributes or just given ones. - * - * @param {Array} [attributes] The array with attributes names. - */ - removeAttributes: function( attributes ) { - if ( CKEDITOR.tools.isArray( attributes ) ) { - for ( var i = 0; i < attributes.length; i++ ) - this.removeAttribute( attributes[ i ] ); - } else { - for ( var attr in attributes ) - attributes.hasOwnProperty( attr ) && this.removeAttribute( attr ); - } - }, - - /** - * Removes a style from the element. - * - * var element = CKEDITOR.dom.element.createFromHtml( '
' ); - * element.removeStyle( 'display' ); - * - * @method - * @param {String} name The style name. - */ - removeStyle: function( name ) { - // Removes the specified property from the current style object. - var $ = this.$.style; - - // "removeProperty" need to be specific on the following styles. - if ( !$.removeProperty && ( name == 'border' || name == 'margin' || name == 'padding' ) ) { - var names = expandedRules( name ); - for ( var i = 0 ; i < names.length ; i++ ) - this.removeStyle( names[ i ] ); - return; - } - - $.removeProperty ? $.removeProperty( name ) : $.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) ); - - // Eventually remove empty style attribute. - if ( !this.$.style.cssText ) - this.removeAttribute( 'style' ); - }, - - /** - * Sets the value of an element style. - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.setStyle( 'background-color', '#ff0000' ); - * element.setStyle( 'margin-top', '10px' ); - * element.setStyle( 'float', 'right' ); - * - * @param {String} name The name of the style. The CSS naming notation - * must be used (e.g. `background-color`). - * @param {String} value The value to be set to the style. - * @returns {CKEDITOR.dom.element} This element instance. - */ - setStyle: function( name, value ) { - this.$.style[ CKEDITOR.tools.cssStyleToDomStyle( name ) ] = value; - return this; - }, - - /** - * Sets the value of several element styles. - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.setStyles( { - * position: 'absolute', - * float: 'right' - * } ); - * - * @param {Object} stylesPairs An object containing the names and - * values of the styles. - * @returns {CKEDITOR.dom.element} This element instance. - */ - setStyles: function( stylesPairs ) { - for ( var name in stylesPairs ) - this.setStyle( name, stylesPairs[ name ] ); - return this; - }, - - /** - * Sets the opacity of an element. - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.setOpacity( 0.75 ); - * - * @param {Number} opacity A number within the range `[0.0, 1.0]`. - */ - setOpacity: function( opacity ) { - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) { - opacity = Math.round( opacity * 100 ); - this.setStyle( 'filter', opacity >= 100 ? '' : 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')' ); - } else - this.setStyle( 'opacity', opacity ); - }, - - /** - * Makes the element and its children unselectable. - * - * var element = CKEDITOR.document.getById( 'myElement' ); - * element.unselectable(); - * - * @method - */ - unselectable: function() { - // CSS unselectable. - this.setStyles( CKEDITOR.tools.cssVendorPrefix( 'user-select', 'none' ) ); - - // For IE/Opera which doesn't support for the above CSS style, - // the unselectable="on" attribute only specifies the selection - // process cannot start in the element itself, and it doesn't inherit. - if ( CKEDITOR.env.ie ) { - this.setAttribute( 'unselectable', 'on' ); - - var element, - elements = this.getElementsByTag( "*" ); - - for ( var i = 0, count = elements.count() ; i < count ; i++ ) { - element = elements.getItem( i ); - element.setAttribute( 'unselectable', 'on' ); - } - } - }, - - /** - * Gets closest positioned (`position != static`) ancestor. - * - * @returns {CKEDITOR.dom.element} Positioned ancestor or `null`. - */ - getPositionedAncestor: function() { - var current = this; - while ( current.getName() != 'html' ) { - if ( current.getComputedStyle( 'position' ) != 'static' ) - return current; - - current = current.getParent(); - } - return null; - }, - - /** - * Gets this element's position in document. - * - * @param {CKEDITOR.dom.document} [refDocument] - * @returns {Object} Element's position. - * @returns {Number} return.x - * @returns {Number} return.y - * @todo refDocument - */ - getDocumentPosition: function( refDocument ) { - var x = 0, - y = 0, - doc = this.getDocument(), - body = doc.getBody(), - quirks = doc.$.compatMode == 'BackCompat'; - - if ( document.documentElement[ "getBoundingClientRect" ] ) { - var box = this.$.getBoundingClientRect(), - $doc = doc.$, - $docElem = $doc.documentElement; - - var clientTop = $docElem.clientTop || body.$.clientTop || 0, - clientLeft = $docElem.clientLeft || body.$.clientLeft || 0, - needAdjustScrollAndBorders = true; - - // #3804: getBoundingClientRect() works differently on IE and non-IE - // browsers, regarding scroll positions. - // - // On IE, the top position of the element is always 0, no matter - // how much you scrolled down. - // - // On other browsers, the top position of the element is negative - // scrollTop. - if ( CKEDITOR.env.ie ) { - var inDocElem = doc.getDocumentElement().contains( this ), - inBody = doc.getBody().contains( this ); - - needAdjustScrollAndBorders = ( quirks && inBody ) || ( !quirks && inDocElem ); - } - - if ( needAdjustScrollAndBorders ) { - x = box.left + ( !quirks && $docElem.scrollLeft || body.$.scrollLeft ); - x -= clientLeft; - y = box.top + ( !quirks && $docElem.scrollTop || body.$.scrollTop ); - y -= clientTop; - } - } else { - var current = this, - previous = null, - offsetParent; - while ( current && !( current.getName() == 'body' || current.getName() == 'html' ) ) { - x += current.$.offsetLeft - current.$.scrollLeft; - y += current.$.offsetTop - current.$.scrollTop; - - // Opera includes clientTop|Left into offsetTop|Left. - if ( !current.equals( this ) ) { - x += ( current.$.clientLeft || 0 ); - y += ( current.$.clientTop || 0 ); - } - - var scrollElement = previous; - while ( scrollElement && !scrollElement.equals( current ) ) { - x -= scrollElement.$.scrollLeft; - y -= scrollElement.$.scrollTop; - scrollElement = scrollElement.getParent(); - } - - previous = current; - current = ( offsetParent = current.$.offsetParent ) ? new CKEDITOR.dom.element( offsetParent ) : null; - } - } - - if ( refDocument ) { - var currentWindow = this.getWindow(), - refWindow = refDocument.getWindow(); - - if ( !currentWindow.equals( refWindow ) && currentWindow.$.frameElement ) { - var iframePosition = ( new CKEDITOR.dom.element( currentWindow.$.frameElement ) ).getDocumentPosition( refDocument ); - - x += iframePosition.x; - y += iframePosition.y; - } - } - - if ( !document.documentElement[ "getBoundingClientRect" ] ) { - // In Firefox, we'll endup one pixel before the element positions, - // so we must add it here. - if ( CKEDITOR.env.gecko && !quirks ) { - x += this.$.clientLeft ? 1 : 0; - y += this.$.clientTop ? 1 : 0; - } - } - - return { x: x, y: y }; - }, - - /** - * Make any page element visible inside the browser viewport. - * - * @param {Boolean} [alignToTop=false] - */ - scrollIntoView: function( alignToTop ) { - var parent = this.getParent(); - if ( !parent ) - return; - - // Scroll the element into parent container from the inner out. - do { - // Check ancestors that overflows. - var overflowed = - parent.$.clientWidth && parent.$.clientWidth < parent.$.scrollWidth || - parent.$.clientHeight && parent.$.clientHeight < parent.$.scrollHeight; - - // Skip body element, which will report wrong clientHeight when containing - // floated content. (#9523) - if ( overflowed && !parent.is( 'body' ) ) - this.scrollIntoParent( parent, alignToTop, 1 ); - - // Walk across the frame. - if ( parent.is( 'html' ) ) { - var win = parent.getWindow(); - - // Avoid security error. - try { - var iframe = win.$.frameElement; - iframe && ( parent = new CKEDITOR.dom.element( iframe ) ); - } catch ( er ) {} - } - } - while ( ( parent = parent.getParent() ) ); - }, - - /** - * Make any page element visible inside one of the ancestors by scrolling the parent. - * - * @param {CKEDITOR.dom.element/CKEDITOR.dom.window} parent The container to scroll into. - * @param {Boolean} [alignToTop] Align the element's top side with the container's - * when `true` is specified; align the bottom with viewport bottom when - * `false` is specified. Otherwise scroll on either side with the minimum - * amount to show the element. - * @param {Boolean} [hscroll] Whether horizontal overflow should be considered. - */ - scrollIntoParent: function( parent, alignToTop, hscroll ) { - !parent && ( parent = this.getWindow() ); - - var doc = parent.getDocument(); - var isQuirks = doc.$.compatMode == 'BackCompat'; - - // On window is scrolled while quirks scrolls . - if ( parent instanceof CKEDITOR.dom.window ) - parent = isQuirks ? doc.getBody() : doc.getDocumentElement(); - - // Scroll the parent by the specified amount. - function scrollBy( x, y ) { - // Webkit doesn't support "scrollTop/scrollLeft" - // on documentElement/body element. - if ( /body|html/.test( parent.getName() ) ) - parent.getWindow().$.scrollBy( x, y ); - else { - parent.$[ 'scrollLeft' ] += x; - parent.$[ 'scrollTop' ] += y; - } - } - - // Figure out the element position relative to the specified window. - function screenPos( element, refWin ) { - var pos = { x: 0, y: 0 }; - - if ( !( element.is( isQuirks ? 'body' : 'html' ) ) ) { - var box = element.$.getBoundingClientRect(); - pos.x = box.left, pos.y = box.top; - } - - var win = element.getWindow(); - if ( !win.equals( refWin ) ) { - var outerPos = screenPos( CKEDITOR.dom.element.get( win.$.frameElement ), refWin ); - pos.x += outerPos.x, pos.y += outerPos.y; - } - - return pos; - } - - // calculated margin size. - function margin( element, side ) { - return parseInt( element.getComputedStyle( 'margin-' + side ) || 0, 10 ) || 0; - } - - var win = parent.getWindow(); - - var thisPos = screenPos( this, win ), - parentPos = screenPos( parent, win ), - eh = this.$.offsetHeight, - ew = this.$.offsetWidth, - ch = parent.$.clientHeight, - cw = parent.$.clientWidth, - lt, br; - - // Left-top margins. - lt = { - x: thisPos.x - margin( this, 'left' ) - parentPos.x || 0, - y: thisPos.y - margin( this, 'top' ) - parentPos.y || 0 - }; - - // Bottom-right margins. - br = { - x: thisPos.x + ew + margin( this, 'right' ) - ( ( parentPos.x ) + cw ) || 0, - y: thisPos.y + eh + margin( this, 'bottom' ) - ( ( parentPos.y ) + ch ) || 0 - }; - - // 1. Do the specified alignment as much as possible; - // 2. Otherwise be smart to scroll only the minimum amount; - // 3. Never cut at the top; - // 4. DO NOT scroll when already visible. - if ( lt.y < 0 || br.y > 0 ) - scrollBy( 0, alignToTop === true ? lt.y : alignToTop === false ? br.y : lt.y < 0 ? lt.y : br.y ); - - if ( hscroll && ( lt.x < 0 || br.x > 0 ) ) - scrollBy( lt.x < 0 ? lt.x : br.x, 0 ); - }, - - /** - * Switch the `class` attribute to reflect one of the triple states of an - * element in one of {@link CKEDITOR#TRISTATE_ON}, {@link CKEDITOR#TRISTATE_OFF} - * or {@link CKEDITOR#TRISTATE_DISABLED}. - * - * link.setState( CKEDITOR.TRISTATE_ON ); - * // ... - * link.setState( CKEDITOR.TRISTATE_OFF ); - * // ... - * link.setState( CKEDITOR.TRISTATE_DISABLED ); - * // ... - * - * span.setState( CKEDITOR.TRISTATE_ON, 'cke_button' ); - * // ... - * - * @param {Number} state Indicate the element state. One of {@link CKEDITOR#TRISTATE_ON}, - * {@link CKEDITOR#TRISTATE_OFF}, {@link CKEDITOR#TRISTATE_DISABLED}. - * @param [base='cke'] The prefix apply to each of the state class name. - * @param [useAria=true] Whether toggle the ARIA state attributes besides of class name change. - */ - setState: function( state, base, useAria ) { - base = base || 'cke'; - - switch ( state ) { - case CKEDITOR.TRISTATE_ON: - this.addClass( base + '_on' ); - this.removeClass( base + '_off' ); - this.removeClass( base + '_disabled' ); - useAria && this.setAttribute( 'aria-pressed', true ); - useAria && this.removeAttribute( 'aria-disabled' ); - break; - - case CKEDITOR.TRISTATE_DISABLED: - this.addClass( base + '_disabled' ); - this.removeClass( base + '_off' ); - this.removeClass( base + '_on' ); - useAria && this.setAttribute( 'aria-disabled', true ); - useAria && this.removeAttribute( 'aria-pressed' ); - break; - - default: - this.addClass( base + '_off' ); - this.removeClass( base + '_on' ); - this.removeClass( base + '_disabled' ); - useAria && this.removeAttribute( 'aria-pressed' ); - useAria && this.removeAttribute( 'aria-disabled' ); - break; - } - }, - - /** - * Returns the inner document of this `' ); - - iframe.on( 'load', function( e ) { - e.removeListener(); - - var doc = iframe.getFrameDocument(); - doc.write( htmlToLoad ); - - editor.focusManager.add( doc.getBody() ); - - if ( CKEDITOR.env.air ) - onPasteFrameLoad.call( this, doc.getWindow().$ ); - }, dialog ); - - iframe.setCustomData( 'dialog', dialog ); - - var container = this.getElement(); - container.setHtml( '' ); - container.append( iframe ); - - // IE need a redirect on focus to make - // the cursor blinking inside iframe. (#5461) - if ( CKEDITOR.env.ie ) { - var focusGrabber = CKEDITOR.dom.element.createFromHtml( '' ); - focusGrabber.on( 'focus', function() { - // Since fixDomain is called in src attribute, - // IE needs some slight delay to correctly move focus. - setTimeout( function() { - iframe.$.contentWindow.focus(); - } ); - } ); - container.append( focusGrabber ); - - // Override focus handler on field. - this.focus = function() { - focusGrabber.focus(); - this.fire( 'focus' ); - }; - } - - this.getInputElement = function() { - return iframe; - }; - - // Force container to scale in IE. - if ( CKEDITOR.env.ie ) { - container.setStyle( 'display', 'block' ); - container.setStyle( 'height', ( iframe.$.offsetHeight + 2 ) + 'px' ); - } - }, - commit: function( data ) { - var editor = this.getDialog().getParentEditor(), - body = this.getInputElement().getFrameDocument().getBody(), - bogus = body.getBogus(), - html; - bogus && bogus.remove(); - - // Saving the contents so changes until paste is complete will not take place (#7500) - html = body.getHtml(); - - // Opera needs some time to think about what has happened and what it should do now. - setTimeout( function() { - editor.fire( 'pasteDialogCommit', html ); - }, 0 ); - } - } - ] - } - ] - }; -} ); - -/** - * Internal event to pass paste dialog's data to the listeners. - * - * @private - * @event pasteDialogCommit - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - */ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("paste",function(c){function h(a){var b=new CKEDITOR.dom.document(a.document),f=b.getBody(),d=b.getById("cke_actscrpt");d&&d.remove();f.setAttribute("contenteditable",!0);if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on("blur",function(){b.$.selection.empty()});b.on("keydown",function(a){var a=a.data,b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+9:this.changeFocus(1),b=1}b&&a.preventDefault()},this);c.fire("ariaWidget",new CKEDITOR.dom.element(a.frameElement)); +b.getWindow().getFrame().removeCustomData("pendingFocus")&&f.focus()}var e=c.lang.clipboard;c.on("pasteDialogCommit",function(a){a.data&&c.fire("paste",{type:"auto",dataValue:a.data,method:"paste",dataTransfer:CKEDITOR.plugins.clipboard.initPasteDataTransfer()})},null,null,1E3);return{title:e.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370:350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();this.parts.title.setHtml(this.customTitle|| +e.title);this.customTitle=null},onLoad:function(){(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&"rtl"==c.lang.dir&&this.parts.contents.setStyle("overflow","hidden")},onOk:function(){this.commitContent()},contents:[{id:"general",label:c.lang.common.generalTab,elements:[{type:"html",id:"securityMsg",html:'
'+e.securityMsg+"
"},{type:"html",id:"pasteMsg",html:'
'+e.pasteMsg+"
"},{type:"html",id:"editing_area", +style:"width:100%;height:100%",html:"",focus:function(){var a=this.getInputElement(),b=a.getFrameDocument().getBody();!b||b.isReadOnly()?a.setCustomData("pendingFocus",1):b.focus()},setup:function(){var a=this.getDialog(),b='' - ].join( '' ) ); - - frameDocument.$.close(); - - for ( var i = 0; i < buttons.length; i++ ) - buttons[ i ].enable(); - } - - // #3465: Wait for the browser to finish rendering the dialog first. - if ( CKEDITOR.env.gecko ) - setTimeout( generateFormField, 500 ); - else - generateFormField(); - }, - - getValue: function() { - return this.getInputElement().$.value || ''; - }, - - /** - * The default value of input `type="file"` is an empty string, but during the initialization - * of this UI element, the iframe still is not ready so it cannot be read from that object. - * Setting it manually prevents later issues with the current value (`''`) being different - * than the initial value (undefined as it asked for `.value` of a div). - */ - setInitValue: function() { - this._.initValue = ''; - }, - - /** - * Defines the `onChange` event for UI element definitions. - * - * @property {Object} - */ - eventProcessors: { - onChange: function( dialog, func ) { - // If this method is called several times (I'm not sure about how this can happen but the default - // onChange processor includes this protection) - // In order to reapply to the new element, the property is deleted at the beggining of the registerEvents method - if ( !this._.domOnChangeRegistered ) { - // By listening for the formLoaded event, this handler will get reapplied when a new - // form is created - this.on( 'formLoaded', function() { - this.getInputElement().on( 'change', function() { - this.fire( 'change', { value: this.getValue() } ); - }, this ); - }, this ); - this._.domOnChangeRegistered = true; - } - - this.on( 'change', func ); - } - }, - - keyboardFocusable: true - }, true ); - - CKEDITOR.ui.dialog.fileButton.prototype = new CKEDITOR.ui.dialog.button; - - CKEDITOR.ui.dialog.fieldset.prototype = CKEDITOR.tools.clone( CKEDITOR.ui.dialog.hbox.prototype ); - - CKEDITOR.dialog.addUIElement( 'text', textBuilder ); - CKEDITOR.dialog.addUIElement( 'password', textBuilder ); - CKEDITOR.dialog.addUIElement( 'textarea', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'checkbox', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'radio', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'button', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'select', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'file', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'fileButton', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'html', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'fieldset', containerBuilder ); - } -} ); - -/** - * Fired when the value of the uiElement is changed. - * - * @event change - * @member CKEDITOR.ui.dialog.uiElement - */ - -/** - * Fired when the inner frame created by the element is ready. - * Each time the button is used or the dialog window is loaded, a new - * form might be created. - * - * @event formLoaded - * @member CKEDITOR.ui.dialog.fileButton - */ diff --git a/scripts/ckeditor/plugins/div/dialogs/div.js b/scripts/ckeditor/plugins/div/dialogs/div.js old mode 100755 new mode 100644 index c721aac4..a813a2ae --- a/scripts/ckeditor/plugins/div/dialogs/div.js +++ b/scripts/ckeditor/plugins/div/dialogs/div.js @@ -1,462 +1,9 @@ -/* - * Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - - // Add to collection with DUP examination. - // @param {Object} collection - // @param {Object} element - // @param {Object} database - function addSafely( collection, element, database ) { - // 1. IE doesn't support customData on text nodes; - // 2. Text nodes never get chance to appear twice; - if ( !element.is || !element.getCustomData( 'block_processed' ) ) { - element.is && CKEDITOR.dom.element.setMarker( database, element, 'block_processed', true ); - collection.push( element ); - } - } - - function getNonEmptyChildren( element ) { - var retval = []; - var children = element.getChildren(); - for ( var i = 0; i < children.count(); i++ ) { - var child = children.getItem( i ); - if ( !( child.type === CKEDITOR.NODE_TEXT && ( /^[ \t\n\r]+$/ ).test( child.getText() ) ) ) - retval.push( child ); - } - return retval; - } - - // Dialog reused by both 'creatediv' and 'editdiv' commands. - // @param {Object} editor - // @param {String} command The command name which indicate what the current command is. - function divDialog( editor, command ) { - // Definition of elements at which div operation should stopped. - var divLimitDefinition = ( function() { - - // Customzie from specialize blockLimit elements - var definition = CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$blockLimit ); - - if ( editor.config.div_wrapTable ) { - delete definition.td; - delete definition.th; - } - return definition; - } )(); - - // DTD of 'div' element - var dtd = CKEDITOR.dtd.div; - - // Get the first div limit element on the element's path. - // @param {Object} element - function getDivContainer( element ) { - var container = editor.elementPath( element ).blockLimit; - - // Never consider read-only (i.e. contenteditable=false) element as - // a first div limit (#11083). - if ( container.isReadOnly() ) - container = container.getParent(); - - // Dont stop at 'td' and 'th' when div should wrap entire table. - if ( editor.config.div_wrapTable && container.is( [ 'td', 'th' ] ) ) { - var parentPath = editor.elementPath( container.getParent() ); - container = parentPath.blockLimit; - } - - return container; - } - - // Init all fields' setup/commit function. - // @memberof divDialog - function setupFields() { - this.foreach( function( field ) { - // Exclude layout container elements - if ( /^(?!vbox|hbox)/.test( field.type ) ) { - if ( !field.setup ) { - // Read the dialog fields values from the specified - // element attributes. - field.setup = function( element ) { - field.setValue( element.getAttribute( field.id ) || '', 1 ); - }; - } - if ( !field.commit ) { - // Set element attributes assigned by the dialog - // fields. - field.commit = function( element ) { - var fieldValue = this.getValue(); - // ignore default element attribute values - if ( 'dir' == field.id && element.getComputedStyle( 'direction' ) == fieldValue ) - return; - - if ( fieldValue ) - element.setAttribute( field.id, fieldValue ); - else - element.removeAttribute( field.id ); - }; - } - } - } ); - } - - // Wrapping 'div' element around appropriate blocks among the selected ranges. - // @param {Object} editor - function createDiv( editor ) { - // new adding containers OR detected pre-existed containers. - var containers = []; - // node markers store. - var database = {}; - // All block level elements which contained by the ranges. - var containedBlocks = [], - block; - - // Get all ranges from the selection. - var selection = editor.getSelection(), - ranges = selection.getRanges(); - var bookmarks = selection.createBookmarks(); - var i, iterator; - - // Calcualte a default block tag if we need to create blocks. - var blockTag = editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p'; - - // collect all included elements from dom-iterator - for ( i = 0; i < ranges.length; i++ ) { - iterator = ranges[ i ].createIterator(); - while ( ( block = iterator.getNextParagraph() ) ) { - // include contents of blockLimit elements. - if ( block.getName() in divLimitDefinition && !block.isReadOnly() ) { - var j, - childNodes = block.getChildren(); - for ( j = 0; j < childNodes.count(); j++ ) - addSafely( containedBlocks, childNodes.getItem( j ), database ); - } else { - while ( !dtd[ block.getName() ] && !block.equals( ranges[ i ].root ) ) - block = block.getParent(); - addSafely( containedBlocks, block, database ); - } - } - } - - CKEDITOR.dom.element.clearAllMarkers( database ); - - var blockGroups = groupByDivLimit( containedBlocks ); - var ancestor, blockEl, divElement; - - for ( i = 0; i < blockGroups.length; i++ ) { - var currentNode = blockGroups[ i ][ 0 ]; - - // Calculate the common parent node of all contained elements. - ancestor = currentNode.getParent(); - for ( j = 1; j < blockGroups[ i ].length; j++ ) - ancestor = ancestor.getCommonAncestor( blockGroups[ i ][ j ] ); - - divElement = new CKEDITOR.dom.element( 'div', editor.document ); - - // Normalize the blocks in each group to a common parent. - for ( j = 0; j < blockGroups[ i ].length; j++ ) { - currentNode = blockGroups[ i ][ j ]; - - while ( !currentNode.getParent().equals( ancestor ) ) - currentNode = currentNode.getParent(); - - // This could introduce some duplicated elements in array. - blockGroups[ i ][ j ] = currentNode; - } - - // Wrapped blocks counting - var fixedBlock = null; - for ( j = 0; j < blockGroups[ i ].length; j++ ) { - currentNode = blockGroups[ i ][ j ]; - - // Avoid DUP elements introduced by grouping. - if ( !( currentNode.getCustomData && currentNode.getCustomData( 'block_processed' ) ) ) { - currentNode.is && CKEDITOR.dom.element.setMarker( database, currentNode, 'block_processed', true ); - - // Establish new container, wrapping all elements in this group. - if ( !j ) - divElement.insertBefore( currentNode ); - - divElement.append( currentNode ); - } - } - - CKEDITOR.dom.element.clearAllMarkers( database ); - containers.push( divElement ); - } - - selection.selectBookmarks( bookmarks ); - return containers; - } - - // Divide a set of nodes to different groups by their path's blocklimit element. - // Note: the specified nodes should be in source order naturally, which mean they are supposed to producea by following class: - // * CKEDITOR.dom.range.Iterator - // * CKEDITOR.dom.domWalker - // @returns {Array[]} the grouped nodes - function groupByDivLimit( nodes ) { - var groups = [], - lastDivLimit = null, - path, block; - for ( var i = 0; i < nodes.length; i++ ) { - block = nodes[ i ]; - var limit = getDivContainer( block ); - if ( !limit.equals( lastDivLimit ) ) { - lastDivLimit = limit; - groups.push( [] ); - } - groups[ groups.length - 1 ].push( block ); - } - return groups; - } - - // Synchronous field values to other impacted fields is required, e.g. div styles - // change should also alter inline-style text. - function commitInternally( targetFields ) { - var dialog = this.getDialog(), - element = dialog._element && dialog._element.clone() || new CKEDITOR.dom.element( 'div', editor.document ); - - // Commit this field and broadcast to target fields. - this.commit( element, true ); - - targetFields = [].concat( targetFields ); - var length = targetFields.length, - field; - for ( var i = 0; i < length; i++ ) { - field = dialog.getContentElement.apply( dialog, targetFields[ i ].split( ':' ) ); - field && field.setup && field.setup( element, true ); - } - } - - - // Registered 'CKEDITOR.style' instances. - var styles = {}; - - // Hold a collection of created block container elements. - var containers = []; - - // @type divDialog - return { - title: editor.lang.div.title, - minWidth: 400, - minHeight: 165, - contents: [ - { - id: 'info', - label: editor.lang.common.generalTab, - title: editor.lang.common.generalTab, - elements: [ - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - id: 'elementStyle', - type: 'select', - style: 'width: 100%;', - label: editor.lang.div.styleSelectLabel, - 'default': '', - // Options are loaded dynamically. - items: [ - [ editor.lang.common.notSet, '' ] - ], - onChange: function() { - commitInternally.call( this, [ 'info:elementStyle', 'info:class', 'advanced:dir', 'advanced:style' ] ); - }, - setup: function( element ) { - for ( var name in styles ) - styles[ name ].checkElementRemovable( element, true, editor ) && this.setValue( name, 1 ); - }, - commit: function( element ) { - var styleName; - if ( ( styleName = this.getValue() ) ) { - var style = styles[ styleName ]; - style.applyToObject( element, editor ); - } - else - element.removeAttribute( 'style' ); - } - }, - { - id: 'class', - type: 'text', - requiredContent: 'div(cke-xyz)', // Random text like 'xyz' will check if all are allowed. - label: editor.lang.common.cssClass, - 'default': '' - } - ] - } - ] - }, - { - id: 'advanced', - label: editor.lang.common.advancedTab, - title: editor.lang.common.advancedTab, - elements: [ - { - type: 'vbox', - padding: 1, - children: [ - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - type: 'text', - id: 'id', - requiredContent: 'div[id]', - label: editor.lang.common.id, - 'default': '' - }, - { - type: 'text', - id: 'lang', - requiredContent: 'div[lang]', - label: editor.lang.common.langCode, - 'default': '' - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'text', - id: 'style', - requiredContent: 'div{cke-xyz}', // Random text like 'xyz' will check if all are allowed. - style: 'width: 100%;', - label: editor.lang.common.cssStyle, - 'default': '', - commit: function( element ) { - element.setAttribute( 'style', this.getValue() ); - } - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'text', - id: 'title', - requiredContent: 'div[title]', - style: 'width: 100%;', - label: editor.lang.common.advisoryTitle, - 'default': '' - } - ] - }, - { - type: 'select', - id: 'dir', - requiredContent: 'div[dir]', - style: 'width: 100%;', - label: editor.lang.common.langDir, - 'default': '', - items: [ - [ editor.lang.common.notSet, '' ], - [ - editor.lang.common.langDirLtr, - 'ltr' - ], - [ - editor.lang.common.langDirRtl, - 'rtl' - ] - ] - } - ] - } - ] - } - ], - onLoad: function() { - setupFields.call( this ); - - // Preparing for the 'elementStyle' field. - var dialog = this, - stylesField = this.getContentElement( 'info', 'elementStyle' ); - - // Reuse the 'stylescombo' plugin's styles definition. - editor.getStylesSet( function( stylesDefinitions ) { - var styleName, style; - - if ( stylesDefinitions ) { - // Digg only those styles that apply to 'div'. - for ( var i = 0; i < stylesDefinitions.length; i++ ) { - var styleDefinition = stylesDefinitions[ i ]; - if ( styleDefinition.element && styleDefinition.element == 'div' ) { - styleName = styleDefinition.name; - styles[ styleName ] = style = new CKEDITOR.style( styleDefinition ); - - if ( editor.filter.check( style ) ) { - // Populate the styles field options with style name. - stylesField.items.push( [ styleName, styleName ] ); - stylesField.add( styleName, styleName ); - } - } - } - } - - // We should disable the content element - // it if no options are available at all. - stylesField[ stylesField.items.length > 1 ? 'enable' : 'disable' ](); - - // Now setup the field value manually if dialog was opened on element. (#9689) - setTimeout( function() { - dialog._element && stylesField.setup( dialog._element ); - }, 0 ); - } ); - }, - onShow: function() { - // Whether always create new container regardless of existed - // ones. - if ( command == 'editdiv' ) { - // Try to discover the containers that already existed in - // ranges - // update dialog field values - this.setupContent( this._element = CKEDITOR.plugins.div.getSurroundDiv( editor ) ); - } - }, - onOk: function() { - if ( command == 'editdiv' ) - containers = [ this._element ]; - else - containers = createDiv( editor, true ); - - // Update elements attributes - var size = containers.length; - for ( var i = 0; i < size; i++ ) { - this.commitContent( containers[ i ] ); - - // Remove empty 'style' attribute. - !containers[ i ].getAttribute( 'style' ) && containers[ i ].removeAttribute( 'style' ); - } - - this.hide(); - }, - onHide: function() { - // Remove style only when editing existing DIV. (#6315) - if ( command == 'editdiv' ) - this._element.removeCustomData( 'elementStyle' ); - delete this._element; - } - }; - } - - CKEDITOR.dialog.add( 'creatediv', function( editor ) { - return divDialog( editor, 'creatediv' ); - } ); - CKEDITOR.dialog.add( 'editdiv', function( editor ) { - return divDialog( editor, 'editdiv' ); - } ); -} )(); - -/** - * Whether to wrap the whole table instead of indivisual cells when created `
` in table cell. - * - * config.div_wrapTable = true; - * - * @cfg {Boolean} [div_wrapTable=false] - * @member CKEDITOR.config - */ +(function(){function p(a,k,o){if(!k.is||!k.getCustomData("block_processed"))k.is&&CKEDITOR.dom.element.setMarker(o,k,"block_processed",!0),a.push(k)}function n(a,k){function o(){this.foreach(function(a){if(/^(?!vbox|hbox)/.test(a.type)&&(a.setup||(a.setup=function(c){a.setValue(c.getAttribute(a.id)||"",1)}),!a.commit))a.commit=function(c){var g=this.getValue();a.id=="dir"&&c.getComputedStyle("direction")==g||(g?c.setAttribute(a.id,g):c.removeAttribute(a.id))}})}var n=function(){var f=CKEDITOR.tools.extend({}, +CKEDITOR.dtd.$blockLimit);a.config.div_wrapTable&&(delete f.td,delete f.th);return f}(),q=CKEDITOR.dtd.div,l={},m=[];return{title:a.lang.div.title,minWidth:400,minHeight:165,contents:[{id:"info",label:a.lang.common.generalTab,title:a.lang.common.generalTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"elementStyle",type:"select",style:"width: 100%;",label:a.lang.div.styleSelectLabel,"default":"",items:[[a.lang.common.notSet,""]],onChange:function(){var f=["info:elementStyle","info:class", +"advanced:dir","advanced:style"],c=this.getDialog(),g=c._element&&c._element.clone()||new CKEDITOR.dom.element("div",a.document);this.commit(g,!0);for(var f=[].concat(f),b=f.length,i,e=0;e' + - '{text}' + - '' ); - - CKEDITOR.plugins.add( 'elementspath', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - init: function( editor ) { - editor._.elementsPath = { - idBase: 'cke_elementspath_' + CKEDITOR.tools.getNextNumber() + '_', - filters: [] - }; - - editor.on( 'uiSpace', function( event ) { - if ( event.data.space == 'bottom' ) - initElementsPath( editor, event.data ); - } ); - } - } ); - - function initElementsPath( editor, bottomSpaceData ) { - var spaceId = editor.ui.spaceId( 'path' ), - spaceElement, - getSpaceElement = function() { - if ( !spaceElement ) - spaceElement = CKEDITOR.document.getById( spaceId ); - return spaceElement; - }, - elementsPath = editor._.elementsPath, - idBase = elementsPath.idBase; - - bottomSpaceData.html += '' + editor.lang.elementspath.eleLabel + '' + - '' + emptyHtml + ''; - - // Register the ui element to the focus manager. - editor.on( 'uiReady', function() { - var element = editor.ui.space( 'path' ); - element && editor.focusManager.add( element, 1 ); - } ); - - function onClick( elementIndex ) { - var element = elementsPath.list[ elementIndex ]; - if ( element.equals( editor.editable() ) || element.getAttribute( 'contenteditable' ) == 'true' ) { - var range = editor.createRange(); - range.selectNodeContents( element ); - range.select(); - } else - editor.getSelection().selectElement( element ); - - // It is important to focus() *after* the above selection - // manipulation, otherwise Firefox will have troubles. #10119 - editor.focus(); - } - - elementsPath.onClick = onClick; - - var onClickHanlder = CKEDITOR.tools.addFunction( onClick ), - onKeyDownHandler = CKEDITOR.tools.addFunction( function( elementIndex, ev ) { - var idBase = elementsPath.idBase, - element; - - ev = new CKEDITOR.dom.event( ev ); - - var rtl = editor.lang.dir == 'rtl'; - switch ( ev.getKeystroke() ) { - case rtl ? 39 : 37: // LEFT-ARROW - case 9: // TAB - element = CKEDITOR.document.getById( idBase + ( elementIndex + 1 ) ); - if ( !element ) - element = CKEDITOR.document.getById( idBase + '0' ); - element.focus(); - return false; - - case rtl ? 37 : 39: // RIGHT-ARROW - case CKEDITOR.SHIFT + 9: // SHIFT + TAB - element = CKEDITOR.document.getById( idBase + ( elementIndex - 1 ) ); - if ( !element ) - element = CKEDITOR.document.getById( idBase + ( elementsPath.list.length - 1 ) ); - element.focus(); - return false; - - case 27: // ESC - editor.focus(); - return false; - - case 13: // ENTER // Opera - case 32: // SPACE - onClick( elementIndex ); - return false; - } - return true; - } ); - - editor.on( 'selectionChange', function( ev ) { - var env = CKEDITOR.env, - editable = editor.editable(), - selection = ev.data.selection, - html = [], - elementsList = elementsPath.list = [], - namesList = [], - filters = elementsPath.filters, - isContentEditable = true, - - // Use elementPath to consider children of editable only (#11124). - elementsChain = editor.elementPath().elements, - name; - - // Starts iteration from body element, skipping html. - for ( var j = elementsChain.length; j--; ) { - var element = elementsChain[ j ], - ignore = 0; - - if ( element.data( 'cke-display-name' ) ) - name = element.data( 'cke-display-name' ); - else if ( element.data( 'cke-real-element-type' ) ) - name = element.data( 'cke-real-element-type' ); - else - name = element.getName(); - - isContentEditable = element.hasAttribute( 'contenteditable' ) ? - element.getAttribute( 'contenteditable' ) == 'true' : isContentEditable; - - // If elem is non-contenteditable, and it's not specifying contenteditable - // attribute - then elem should be ignored. - if ( !isContentEditable && !element.hasAttribute( 'contenteditable' ) ) - ignore = 1; - - for ( var i = 0; i < filters.length; i++ ) { - var ret = filters[ i ]( element, name ); - if ( ret === false ) { - ignore = 1; - break; - } - name = ret || name; - } - - if ( !ignore ) { - elementsList.unshift( element ); - namesList.unshift( name ); - } - } - - for ( var iterationLimit = elementsList.length, index = 0; index < iterationLimit; index++ ) { - name = namesList[ index ]; - var label = editor.lang.elementspath.eleTitle.replace( /%1/, name ), - item = pathItemTpl.output( { - id: idBase + index, - label: label, - text: name, - jsTitle: 'javascript:void(\'' + name + '\')', - index: index, - keyDownFn: onKeyDownHandler, - clickFn: onClickHanlder - } ); - - html.unshift( item ); - } - - var space = getSpaceElement(); - space.setHtml( html.join( '' ) + emptyHtml ); - editor.fire( 'elementsPathUpdate', { space: space } ); - } ); - - function empty() { - spaceElement && spaceElement.setHtml( emptyHtml ); - delete elementsPath.list; - } - - editor.on( 'readOnly', empty ); - editor.on( 'contentDomUnload', empty ); - - editor.addCommand( 'elementsPathFocus', commands.toolbarFocus ); - editor.setKeystroke( CKEDITOR.ALT + 122 /*F11*/, 'elementsPathFocus' ); - } -} )(); - -/** - * Fired when the contents of the elementsPath are changed. - * - * @event elementsPathUpdate - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - * @param data - * @param {CKEDITOR.dom.element} data.space The elementsPath container. - */ diff --git a/scripts/ckeditor/plugins/enterkey/plugin.js b/scripts/ckeditor/plugins/enterkey/plugin.js deleted file mode 100755 index 672921f8..00000000 --- a/scripts/ckeditor/plugins/enterkey/plugin.js +++ /dev/null @@ -1,542 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - CKEDITOR.plugins.add( 'enterkey', { - init: function( editor ) { - editor.addCommand( 'enter', { - modes: { wysiwyg: 1 }, - editorFocus: false, - exec: function( editor ) { - enter( editor ); - } - } ); - - editor.addCommand( 'shiftEnter', { - modes: { wysiwyg: 1 }, - editorFocus: false, - exec: function( editor ) { - shiftEnter( editor ); - } - } ); - - editor.setKeystroke( [ - [ 13, 'enter' ], - [ CKEDITOR.SHIFT + 13, 'shiftEnter' ] - ] ); - } - } ); - - var whitespaces = CKEDITOR.dom.walker.whitespaces(), - bookmark = CKEDITOR.dom.walker.bookmark(); - - CKEDITOR.plugins.enterkey = { - enterBlock: function( editor, mode, range, forceMode ) { - // Get the range for the current selection. - range = range || getRange( editor ); - - // We may not have valid ranges to work on, like when inside a - // contenteditable=false element. - if ( !range ) - return; - - var doc = range.document; - - var atBlockStart = range.checkStartOfBlock(), - atBlockEnd = range.checkEndOfBlock(), - path = editor.elementPath( range.startContainer ), - block = path.block, - - // Determine the block element to be used. - blockTag = ( mode == CKEDITOR.ENTER_DIV ? 'div' : 'p' ), - - newBlock; - - // Exit the list when we're inside an empty list item block. (#5376) - if ( atBlockStart && atBlockEnd ) { - // Exit the list when we're inside an empty list item block. (#5376) - if ( block && ( block.is( 'li' ) || block.getParent().is( 'li' ) ) ) { - // Make sure to point to the li when dealing with empty list item. - if ( !block.is( 'li' ) ) - block = block.getParent(); - - var blockParent = block.getParent(), - blockGrandParent = blockParent.getParent(), - - firstChild = !block.hasPrevious(), - lastChild = !block.hasNext(), - - selection = editor.getSelection(), - bookmarks = selection.createBookmarks(), - - orgDir = block.getDirection( 1 ), - className = block.getAttribute( 'class' ), - style = block.getAttribute( 'style' ), - dirLoose = blockGrandParent.getDirection( 1 ) != orgDir, - - enterMode = editor.enterMode, - needsBlock = enterMode != CKEDITOR.ENTER_BR || dirLoose || style || className, - - child; - - if ( blockGrandParent.is( 'li' ) ) { - - // If block is the first or the last child of the parent - // list, degrade it and move to the outer list: - // before the parent list if block is first child and after - // the parent list if block is the last child, respectively. - // - //
    =>
      - //
    • =>
    • - //
        =>
          - //
        • x
        • =>
        • x
        • - //
        • ^
        • =>
        - //
      =>
    • - // =>
    • ^
    • - //
    =>
- // - // AND - // - //
    =>
      - //
    • =>
    • ^
    • - //
        =>
      • - //
      • ^
      • =>
          - //
        • x
        • =>
        • x
        • - //
        =>
      - // => - //
    =>
- - if ( firstChild || lastChild ) - block[ firstChild ? 'insertBefore' : 'insertAfter' ]( blockGrandParent ); - - // If the empty block is neither first nor last child - // then split the list and the block as an element - // of outer list. - // - // =>
    - // =>
  • - //
      =>
        - //
      • =>
      • x
      • - //
          =>
        - //
      • x
      • => - //
      • ^
      • =>
      • ^
      • - //
      • y
      • =>
      • - //
      =>
        - // =>
      • y
      • - //
      =>
    - // =>
  • - // =>
- - else - block.breakParent( blockGrandParent ); - } - - else if ( !needsBlock ) { - block.appendBogus( true ); - - // If block is the first or last child of the parent - // list, move all block's children out of the list: - // before the list if block is first child and after the list - // if block is the last child, respectively. - // - //
    =>
      - //
    • x
    • =>
    • x
    • - //
    • ^
    • =>
    - //
=> ^ - // - // AND - // - //
    => ^ - //
  • ^
  • =>
      - //
    • x
    • =>
    • x
    • - //
    =>
- - if ( firstChild || lastChild ) { - while ( ( child = block[ firstChild ? 'getFirst' : 'getLast' ]() ) ) - child[ firstChild ? 'insertBefore' : 'insertAfter' ]( blockParent ); - } - - // If the empty block is neither first nor last child - // then split the list and put all the block contents - // between two lists. - // - //
    =>
      - //
    • x
    • =>
    • x
    • - //
    • ^
    • =>
    - //
  • y
  • => ^ - //
=>
    - // =>
  • y
  • - // =>
- - else { - block.breakParent( blockParent ); - - while ( ( child = block.getLast() ) ) - child.insertAfter( blockParent ); - } - - block.remove(); - } else { - // Original path block is the list item, create new block for the list item content. - if ( path.block.is( 'li' ) ) { - // Use
block for ENTER_BR and ENTER_DIV. - newBlock = doc.createElement( mode == CKEDITOR.ENTER_P ? 'p' : 'div' ); - - if ( dirLoose ) - newBlock.setAttribute('dir', orgDir); - - style && newBlock.setAttribute( 'style', style ); - className && newBlock.setAttribute( 'class', className ); - - // Move all the child nodes to the new block. - block.moveChildren( newBlock ); - } - // The original path block is not a list item, just copy the block to out side of the list. - else - newBlock = path.block; - - // If block is the first or last child of the parent - // list, move it out of the list: - // before the list if block is first child and after the list - // if block is the last child, respectively. - // - //
    =>
      - //
    • x
    • =>
    • x
    • - //
    • ^
    • =>
    - //
=>

^

- // - // AND - // - //
    =>

    ^

    - //
  • ^
  • =>
      - //
    • x
    • =>
    • x
    • - //
    =>
- - if ( firstChild || lastChild ) - newBlock[ firstChild ? 'insertBefore' : 'insertAfter' ]( blockParent ); - - // If the empty block is neither first nor last child - // then split the list and put the new block between - // two lists. - // - // =>
    - //
      =>
    • x
    • - //
    • x
    • =>
    - //
  • ^
  • =>

    ^

    - //
  • y
  • =>
      - //
    =>
  • y
  • - // =>
- - else { - block.breakParent( blockParent ); - newBlock.insertAfter( blockParent ); - } - - block.remove(); - } - - selection.selectBookmarks( bookmarks ); - - return; - } - - if ( block && block.getParent().is( 'blockquote' ) ) { - block.breakParent( block.getParent() ); - - // If we were at the start of
, there will be an empty element before it now. - if ( !block.getPrevious().getFirst( CKEDITOR.dom.walker.invisible( 1 ) ) ) - block.getPrevious().remove(); - - // If we were at the end of
, there will be an empty element after it now. - if ( !block.getNext().getFirst( CKEDITOR.dom.walker.invisible( 1 ) ) ) - block.getNext().remove(); - - range.moveToElementEditStart( block ); - range.select(); - return; - } - } - // Don't split
 if we're in the middle of it, act as shift enter key.
-			else if ( block && block.is( 'pre' ) ) {
-				if ( !atBlockEnd ) {
-					enterBr( editor, mode, range, forceMode );
-					return;
-				}
-			}
-
-			// Split the range.
-			var splitInfo = range.splitBlock( blockTag );
-
-			if ( !splitInfo )
-				return;
-
-			// Get the current blocks.
-			var previousBlock = splitInfo.previousBlock,
-				nextBlock = splitInfo.nextBlock;
-
-			var isStartOfBlock = splitInfo.wasStartOfBlock,
-				isEndOfBlock = splitInfo.wasEndOfBlock;
-
-			var node;
-
-			// If this is a block under a list item, split it as well. (#1647)
-			if ( nextBlock ) {
-				node = nextBlock.getParent();
-				if ( node.is( 'li' ) ) {
-					nextBlock.breakParent( node );
-					nextBlock.move( nextBlock.getNext(), 1 );
-				}
-			} else if ( previousBlock && ( node = previousBlock.getParent() ) && node.is( 'li' ) ) {
-				previousBlock.breakParent( node );
-				node = previousBlock.getNext();
-				range.moveToElementEditStart( node );
-				previousBlock.move( previousBlock.getPrevious() );
-			}
-
-			// If we have both the previous and next blocks, it means that the
-			// boundaries were on separated blocks, or none of them where on the
-			// block limits (start/end).
-			if ( !isStartOfBlock && !isEndOfBlock ) {
-				// If the next block is an 
  • with another list tree as the first - // child, we'll need to append a filler (
    /NBSP) or the list item - // wouldn't be editable. (#1420) - if ( nextBlock.is( 'li' ) ) { - var walkerRange = range.clone(); - walkerRange.selectNodeContents( nextBlock ); - var walker = new CKEDITOR.dom.walker( walkerRange ); - walker.evaluator = function( node ) { - return !( bookmark( node ) || whitespaces( node ) || node.type == CKEDITOR.NODE_ELEMENT && node.getName() in CKEDITOR.dtd.$inline && !( node.getName() in CKEDITOR.dtd.$empty ) ); - }; - - node = walker.next(); - if ( node && node.type == CKEDITOR.NODE_ELEMENT && node.is( 'ul', 'ol' ) ) - ( CKEDITOR.env.needsBrFiller ? doc.createElement( 'br' ) : doc.createText( '\xa0' ) ).insertBefore( node ); - } - - // Move the selection to the end block. - if ( nextBlock ) - range.moveToElementEditStart( nextBlock ); - } else { - var newBlockDir; - - if ( previousBlock ) { - // Do not enter this block if it's a header tag, or we are in - // a Shift+Enter (#77). Create a new block element instead - // (later in the code). - if ( previousBlock.is( 'li' ) || !( headerTagRegex.test( previousBlock.getName() ) || previousBlock.is( 'pre' ) ) ) { - // Otherwise, duplicate the previous block. - newBlock = previousBlock.clone(); - } - } else if ( nextBlock ) - newBlock = nextBlock.clone(); - - if ( !newBlock ) { - // We have already created a new list item. (#6849) - if ( node && node.is( 'li' ) ) - newBlock = node; - else { - newBlock = doc.createElement( blockTag ); - if ( previousBlock && ( newBlockDir = previousBlock.getDirection() ) ) - newBlock.setAttribute( 'dir', newBlockDir ); - } - } - // Force the enter block unless we're talking of a list item. - else if ( forceMode && !newBlock.is( 'li' ) ) - newBlock.renameNode( blockTag ); - - // Recreate the inline elements tree, which was available - // before hitting enter, so the same styles will be available in - // the new block. - var elementPath = splitInfo.elementPath; - if ( elementPath ) { - for ( var i = 0, len = elementPath.elements.length; i < len; i++ ) { - var element = elementPath.elements[ i ]; - - if ( element.equals( elementPath.block ) || element.equals( elementPath.blockLimit ) ) - break; - - if ( CKEDITOR.dtd.$removeEmpty[ element.getName() ] ) { - element = element.clone(); - newBlock.moveChildren( element ); - newBlock.append( element ); - } - } - } - - newBlock.appendBogus(); - - if ( !newBlock.getParent() ) - range.insertNode( newBlock ); - - // list item start number should not be duplicated (#7330), but we need - // to remove the attribute after it's onto the DOM tree because of old IEs (#7581). - newBlock.is( 'li' ) && newBlock.removeAttribute( 'value' ); - - // This is tricky, but to make the new block visible correctly - // we must select it. - // The previousBlock check has been included because it may be - // empty if we have fixed a block-less space (like ENTER into an - // empty table cell). - if ( CKEDITOR.env.ie && isStartOfBlock && ( !isEndOfBlock || !previousBlock.getChildCount() ) ) { - // Move the selection to the new block. - range.moveToElementEditStart( isEndOfBlock ? previousBlock : newBlock ); - range.select(); - } - - // Move the selection to the new block. - range.moveToElementEditStart( isStartOfBlock && !isEndOfBlock ? nextBlock : newBlock ); - } - - range.select(); - range.scrollIntoView(); - }, - - enterBr: function( editor, mode, range, forceMode ) { - // Get the range for the current selection. - range = range || getRange( editor ); - - // We may not have valid ranges to work on, like when inside a - // contenteditable=false element. - if ( !range ) - return; - - var doc = range.document; - - // Determine the block element to be used. - var blockTag = ( mode == CKEDITOR.ENTER_DIV ? 'div' : 'p' ); - - var isEndOfBlock = range.checkEndOfBlock(); - - var elementPath = new CKEDITOR.dom.elementPath( editor.getSelection().getStartElement() ); - - var startBlock = elementPath.block, - startBlockTag = startBlock && elementPath.block.getName(); - - var isPre = false; - - if ( !forceMode && startBlockTag == 'li' ) { - enterBlock( editor, mode, range, forceMode ); - return; - } - - // If we are at the end of a header block. - if ( !forceMode && isEndOfBlock && headerTagRegex.test( startBlockTag ) ) { - var newBlock, newBlockDir; - - if ( ( newBlockDir = startBlock.getDirection() ) ) { - newBlock = doc.createElement( 'div' ); - newBlock.setAttribute( 'dir', newBlockDir ); - newBlock.insertAfter( startBlock ); - range.setStart( newBlock, 0 ); - } else { - // Insert a
    after the current paragraph. - doc.createElement( 'br' ).insertAfter( startBlock ); - - // A text node is required by Gecko only to make the cursor blink. - if ( CKEDITOR.env.gecko ) - doc.createText( '' ).insertAfter( startBlock ); - - // IE has different behaviors regarding position. - range.setStartAt( startBlock.getNext(), CKEDITOR.env.ie ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_START ); - } - } else { - var lineBreak; - - // IE<8 prefers text node as line-break inside of
     (#4711).
    -				if ( startBlockTag == 'pre' && CKEDITOR.env.ie && CKEDITOR.env.version < 8 )
    -					lineBreak = doc.createText( '\r' );
    -				else
    -					lineBreak = doc.createElement( 'br' );
    -
    -				range.deleteContents();
    -				range.insertNode( lineBreak );
    -
    -				// Old IEs have different behavior regarding position.
    -				if ( !CKEDITOR.env.needsBrFiller )
    -					range.setStartAt( lineBreak, CKEDITOR.POSITION_AFTER_END );
    -				else {
    -					// A text node is required by Gecko only to make the cursor blink.
    -					// We need some text inside of it, so the bogus 
    is properly - // created. - doc.createText( '\ufeff' ).insertAfter( lineBreak ); - - // If we are at the end of a block, we must be sure the bogus node is available in that block. - if ( isEndOfBlock ) { - // In most situations we've got an elementPath.block (e.g.

    ), but in a - // blockless editor or when autoP is false that needs to be a block limit. - ( startBlock || elementPath.blockLimit ).appendBogus(); - } - - // Now we can remove the text node contents, so the caret doesn't - // stop on it. - lineBreak.getNext().$.nodeValue = ''; - - range.setStartAt( lineBreak.getNext(), CKEDITOR.POSITION_AFTER_START ); - - } - } - - // This collapse guarantees the cursor will be blinking. - range.collapse( true ); - - range.select(); - range.scrollIntoView(); - } - }; - - var plugin = CKEDITOR.plugins.enterkey, - enterBr = plugin.enterBr, - enterBlock = plugin.enterBlock, - headerTagRegex = /^h[1-6]$/; - - function shiftEnter( editor ) { - // On SHIFT+ENTER: - // 1. We want to enforce the mode to be respected, instead - // of cloning the current block. (#77) - return enter( editor, editor.activeShiftEnterMode, 1 ); - } - - function enter( editor, mode, forceMode ) { - forceMode = editor.config.forceEnterMode || forceMode; - - // Only effective within document. - if ( editor.mode != 'wysiwyg' ) - return; - - if ( !mode ) - mode = editor.activeEnterMode; - - // TODO this should be handled by setting editor.activeEnterMode on selection change. - // Check path block specialities: - // 1. Cannot be a un-splittable element, e.g. table caption; - var path = editor.elementPath(); - if ( !path.isContextFor( 'p' ) ) { - mode = CKEDITOR.ENTER_BR; - forceMode = 1; - } - - editor.fire( 'saveSnapshot' ); // Save undo step. - - if ( mode == CKEDITOR.ENTER_BR ) - enterBr( editor, mode, null, forceMode ); - else - enterBlock( editor, mode, null, forceMode ); - - editor.fire( 'saveSnapshot' ); - } - - function getRange( editor ) { - // Get the selection ranges. - var ranges = editor.getSelection().getRanges( true ); - - // Delete the contents of all ranges except the first one. - for ( var i = ranges.length - 1; i > 0; i-- ) { - ranges[ i ].deleteContents(); - } - - // Return the first range. - return ranges[ 0 ]; - } -} )(); diff --git a/scripts/ckeditor/plugins/entities/plugin.js b/scripts/ckeditor/plugins/entities/plugin.js deleted file mode 100755 index 87265979..00000000 --- a/scripts/ckeditor/plugins/entities/plugin.js +++ /dev/null @@ -1,239 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - // Base HTML entities. - var htmlbase = 'nbsp,gt,lt,amp'; - - var entities = - // Latin-1 Entities - 'quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,' + - 'not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,' + - 'cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,' + - - // Symbols - 'fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,' + - 'alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,' + - 'forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,' + - 'radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,' + - 'equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,' + - 'rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,' + - - // Other Special Characters - 'circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,' + - 'rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,' + - 'euro'; - - // Latin Letters Entities - var latin = 'Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,' + - 'Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,' + - 'Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,' + - 'agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,' + - 'ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,' + - 'otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,' + - 'OElig,oelig,Scaron,scaron,Yuml'; - - // Greek Letters Entities. - var greek = 'Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,' + - 'Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,' + - 'beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,' + - 'omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,' + - 'upsih,piv'; - - // Create a mapping table between one character and its entity form from a list of entity names. - // @param reverse {Boolean} Whether to create a reverse map from the entity string form to an actual character. - function buildTable( entities, reverse ) { - var table = {}, - regex = []; - - // Entities that the browsers DOM don't transform to the final char - // automatically. - var specialTable = { - nbsp: '\u00A0', // IE | FF - shy: '\u00AD', // IE - gt: '\u003E', // IE | FF | -- | Opera - lt: '\u003C', // IE | FF | Safari | Opera - amp: '\u0026', // ALL - apos: '\u0027', // IE - quot: '\u0022' // IE - }; - - entities = entities.replace( /\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g, function( match, entity ) { - var org = reverse ? '&' + entity + ';' : specialTable[ entity ], - result = reverse ? specialTable[ entity ] : '&' + entity + ';'; - - table[ org ] = result; - regex.push( org ); - return ''; - } ); - - if ( !reverse && entities ) { - // Transforms the entities string into an array. - entities = entities.split( ',' ); - - // Put all entities inside a DOM element, transforming them to their - // final chars. - var div = document.createElement( 'div' ), - chars; - div.innerHTML = '&' + entities.join( ';&' ) + ';'; - chars = div.innerHTML; - div = null; - - // Add all chars to the table. - for ( var i = 0; i < chars.length; i++ ) { - var charAt = chars.charAt( i ); - table[ charAt ] = '&' + entities[ i ] + ';'; - regex.push( charAt ); - } - } - - table.regex = regex.join( reverse ? '|' : '' ); - - return table; - } - - CKEDITOR.plugins.add( 'entities', { - afterInit: function( editor ) { - var config = editor.config; - - var dataProcessor = editor.dataProcessor, - htmlFilter = dataProcessor && dataProcessor.htmlFilter; - - if ( htmlFilter ) { - // Mandatory HTML base entities. - var selectedEntities = []; - - if ( config.basicEntities !== false ) - selectedEntities.push( htmlbase ); - - if ( config.entities ) { - if ( selectedEntities.length ) - selectedEntities.push( entities ); - - if ( config.entities_latin ) - selectedEntities.push( latin ); - - if ( config.entities_greek ) - selectedEntities.push( greek ); - - if ( config.entities_additional ) - selectedEntities.push( config.entities_additional ); - } - - var entitiesTable = buildTable( selectedEntities.join( ',' ) ); - - // Create the Regex used to find entities in the text, leave it matches nothing if entities are empty. - var entitiesRegex = entitiesTable.regex ? '[' + entitiesTable.regex + ']' : 'a^'; - delete entitiesTable.regex; - - if ( config.entities && config.entities_processNumerical ) - entitiesRegex = '[^ -~]|' + entitiesRegex; - - entitiesRegex = new RegExp( entitiesRegex, 'g' ); - - function getEntity( character ) { - return config.entities_processNumerical == 'force' || !entitiesTable[ character ] ? '&#' + character.charCodeAt( 0 ) + ';' - : entitiesTable[ character ]; - } - - // Decode entities that the browsers has transformed - // at first place. - var baseEntitiesTable = buildTable( [ htmlbase, 'shy' ].join( ',' ), true ), - baseEntitiesRegex = new RegExp( baseEntitiesTable.regex, 'g' ); - - function getChar( character ) { - return baseEntitiesTable[ character ]; - } - - htmlFilter.addRules( { - text: function( text ) { - return text.replace( baseEntitiesRegex, getChar ).replace( entitiesRegex, getEntity ); - } - }, { - applyToAll: true, - excludeNestedEditable: true - } ); - } - } - } ); -} )(); - -/** - * Whether to escape basic HTML entities in the document, including: - * - * * `nbsp` - * * `gt` - * * `lt` - * * `amp` - * - * **Note:** It should not be subject to change unless when outputting a non-HTML data format like BBCode. - * - * config.basicEntities = false; - * - * @cfg {Boolean} [basicEntities=true] - * @member CKEDITOR.config - */ -CKEDITOR.config.basicEntities = true; - -/** - * Whether to use HTML entities in the output. - * - * config.entities = false; - * - * @cfg {Boolean} [entities=true] - * @member CKEDITOR.config - */ -CKEDITOR.config.entities = true; - -/** - * Whether to convert some Latin characters (Latin alphabet No. 1, ISO 8859-1) - * to HTML entities. The list of entities can be found in the - * [W3C HTML 4.01 Specification, section 24.2.1](http://www.w3.org/TR/html4/sgml/entities.html#h-24.2.1). - * - * config.entities_latin = false; - * - * @cfg {Boolean} [entities_latin=true] - * @member CKEDITOR.config - */ -CKEDITOR.config.entities_latin = true; - -/** - * Whether to convert some symbols, mathematical symbols, and Greek letters to - * HTML entities. This may be more relevant for users typing text written in Greek. - * The list of entities can be found in the - * [W3C HTML 4.01 Specification, section 24.3.1(http://www.w3.org/TR/html4/sgml/entities.html#h-24.3.1). - * - * config.entities_greek = false; - * - * @cfg {Boolean} [entities_greek=true] - * @member CKEDITOR.config - */ -CKEDITOR.config.entities_greek = true; - -/** - * Whether to convert all remaining characters not included in the ASCII - * character table to their relative decimal numeric representation of HTML entity. - * When set to `force`, it will convert all entities into this format. - * - * For example the phrase `'This is Chinese: 汉语.'` is output - * as `'This is Chinese: 汉语.'` - * - * config.entities_processNumerical = true; - * config.entities_processNumerical = 'force'; // Converts from ' ' into ' '; - * - * @cfg {Boolean/String} [entities_processNumerical=false] - * @member CKEDITOR.config - */ - -/** - * A comma separated list of additional entities to be used. Entity names - * or numbers must be used in a form that excludes the `'&'` prefix and the `';'` ending. - * - * config.entities_additional = '#1049'; // Adds Cyrillic capital letter Short I (Й). - * - * @cfg {String} [entities_additional='#39' (The single quote (') character)] - * @member CKEDITOR.config - */ -CKEDITOR.config.entities_additional = '#39'; diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/af.js b/scripts/ckeditor/plugins/fakeobjects/lang/af.js deleted file mode 100755 index 21d3eb45..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/af.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'af', { - anchor: 'Anker', - flash: 'Flash animasie', - hiddenfield: 'Verborge veld', - iframe: 'IFrame', - unknown: 'Onbekende objek' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ar.js b/scripts/ckeditor/plugins/fakeobjects/lang/ar.js deleted file mode 100755 index ec7b91b3..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ar.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ar', { - anchor: 'إرساء', - flash: 'رسم متحرك بالفلاش', - hiddenfield: 'إدراج حقل خفي', - iframe: 'iframe', - unknown: 'عنصر غير معروف' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/bg.js b/scripts/ckeditor/plugins/fakeobjects/lang/bg.js deleted file mode 100755 index 764eca28..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/bg.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'bg', { - anchor: 'Кука', - flash: 'Флаш анимация', - hiddenfield: 'Скрито поле', - iframe: 'IFrame', - unknown: 'Неизвестен обект' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/bn.js b/scripts/ckeditor/plugins/fakeobjects/lang/bn.js deleted file mode 100755 index b8b344e2..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/bn.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'bn', { - anchor: 'Anchor', // MISSING - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/bs.js b/scripts/ckeditor/plugins/fakeobjects/lang/bs.js deleted file mode 100755 index 24494a1a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/bs.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'bs', { - anchor: 'Anchor', - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ca.js b/scripts/ckeditor/plugins/fakeobjects/lang/ca.js deleted file mode 100755 index 89c3a5c8..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ca.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ca', { - anchor: 'Àncora', - flash: 'Animació Flash', - hiddenfield: 'Camp ocult', - iframe: 'IFrame', - unknown: 'Objecte desconegut' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/cs.js b/scripts/ckeditor/plugins/fakeobjects/lang/cs.js deleted file mode 100755 index dd568362..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/cs.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'cs', { - anchor: 'Záložka', - flash: 'Flash animace', - hiddenfield: 'Skryté pole', - iframe: 'IFrame', - unknown: 'Neznámý objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/cy.js b/scripts/ckeditor/plugins/fakeobjects/lang/cy.js deleted file mode 100755 index aa64b213..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/cy.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'cy', { - anchor: 'Angor', - flash: 'Animeiddiant Flash', - hiddenfield: 'Maes Cudd', - iframe: 'IFrame', - unknown: 'Gwrthrych Anhysbys' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/da.js b/scripts/ckeditor/plugins/fakeobjects/lang/da.js deleted file mode 100755 index 1a49bab5..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/da.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'da', { - anchor: 'Anker', - flash: 'Flashanimation', - hiddenfield: 'Skjult felt', - iframe: 'Iframe', - unknown: 'Ukendt objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/de.js b/scripts/ckeditor/plugins/fakeobjects/lang/de.js deleted file mode 100755 index 8c437f6b..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/de.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'de', { - anchor: 'Anker', - flash: 'Flash Animation', - hiddenfield: 'Verstecktes Feld', - iframe: 'IFrame', - unknown: 'Unbekanntes Objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/el.js b/scripts/ckeditor/plugins/fakeobjects/lang/el.js deleted file mode 100755 index 7d178467..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/el.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'el', { - anchor: 'Άγκυρα', - flash: 'Ταινία Flash', - hiddenfield: 'Κρυφό Πεδίο', - iframe: 'IFrame', - unknown: 'Άγνωστο Αντικείμενο' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/en-au.js b/scripts/ckeditor/plugins/fakeobjects/lang/en-au.js deleted file mode 100755 index 2ab9c411..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/en-au.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'en-au', { - anchor: 'Anchor', // MISSING - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/en-ca.js b/scripts/ckeditor/plugins/fakeobjects/lang/en-ca.js deleted file mode 100755 index 3f223ca6..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/en-ca.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'en-ca', { - anchor: 'Anchor', // MISSING - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/en-gb.js b/scripts/ckeditor/plugins/fakeobjects/lang/en-gb.js deleted file mode 100755 index 4d3939cb..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/en-gb.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'en-gb', { - anchor: 'Anchor', - flash: 'Flash Animation', - hiddenfield: 'Hidden Field', - iframe: 'IFrame', - unknown: 'Unknown Object' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/en.js b/scripts/ckeditor/plugins/fakeobjects/lang/en.js deleted file mode 100755 index 7cbca04a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/en.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'en', { - anchor: 'Anchor', - flash: 'Flash Animation', - hiddenfield: 'Hidden Field', - iframe: 'IFrame', - unknown: 'Unknown Object' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/eo.js b/scripts/ckeditor/plugins/fakeobjects/lang/eo.js deleted file mode 100755 index 0f1dd8bf..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/eo.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'eo', { - anchor: 'Ankro', - flash: 'FlaŝAnimacio', - hiddenfield: 'Kaŝita kampo', - iframe: 'Enlinia Kadro (IFrame)', - unknown: 'Nekonata objekto' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/es.js b/scripts/ckeditor/plugins/fakeobjects/lang/es.js deleted file mode 100755 index 0134a0dd..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/es.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'es', { - anchor: 'Ancla', - flash: 'Animación flash', - hiddenfield: 'Campo oculto', - iframe: 'IFrame', - unknown: 'Objeto desconocido' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/et.js b/scripts/ckeditor/plugins/fakeobjects/lang/et.js deleted file mode 100755 index f1137964..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/et.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'et', { - anchor: 'Ankur', - flash: 'Flashi animatsioon', - hiddenfield: 'Varjatud väli', - iframe: 'IFrame', - unknown: 'Tundmatu objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/eu.js b/scripts/ckeditor/plugins/fakeobjects/lang/eu.js deleted file mode 100755 index 1e01cc42..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/eu.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'eu', { - anchor: 'Aingura', - flash: 'Flash Animazioa', - hiddenfield: 'Ezkutuko Eremua', - iframe: 'IFrame', - unknown: 'Objektu ezezaguna' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/fa.js b/scripts/ckeditor/plugins/fakeobjects/lang/fa.js deleted file mode 100755 index 906d4566..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/fa.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'fa', { - anchor: 'لنگر', - flash: 'انیمشن فلش', - hiddenfield: 'فیلد پنهان', - iframe: 'IFrame', - unknown: 'شیء ناشناخته' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/fi.js b/scripts/ckeditor/plugins/fakeobjects/lang/fi.js deleted file mode 100755 index c79eae14..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/fi.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'fi', { - anchor: 'Ankkuri', - flash: 'Flash animaatio', - hiddenfield: 'Piilokenttä', - iframe: 'IFrame-kehys', - unknown: 'Tuntematon objekti' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/fo.js b/scripts/ckeditor/plugins/fakeobjects/lang/fo.js deleted file mode 100755 index 87dd85ec..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/fo.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'fo', { - anchor: 'Anchor', - flash: 'Flash Animation', - hiddenfield: 'Fjaldur teigur', - iframe: 'IFrame', - unknown: 'Ókent Object' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/fr-ca.js b/scripts/ckeditor/plugins/fakeobjects/lang/fr-ca.js deleted file mode 100755 index a9c4fb1b..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/fr-ca.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'fr-ca', { - anchor: 'Ancre', - flash: 'Animation Flash', - hiddenfield: 'Champ caché', - iframe: 'IFrame', - unknown: 'Objet inconnu' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/fr.js b/scripts/ckeditor/plugins/fakeobjects/lang/fr.js deleted file mode 100755 index aa3a826a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/fr.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'fr', { - anchor: 'Ancre', - flash: 'Animation Flash', - hiddenfield: 'Champ caché', - iframe: 'IFrame', - unknown: 'Objet inconnu' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/gl.js b/scripts/ckeditor/plugins/fakeobjects/lang/gl.js deleted file mode 100755 index 936e70f3..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/gl.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'gl', { - anchor: 'Ancoraxe', - flash: 'Animación «Flash»', - hiddenfield: 'Campo agochado', - iframe: 'IFrame', - unknown: 'Obxecto descoñecido' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/gu.js b/scripts/ckeditor/plugins/fakeobjects/lang/gu.js deleted file mode 100755 index d422bf77..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/gu.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'gu', { - anchor: 'અનકર', - flash: 'ફ્લેશ ', - hiddenfield: 'હિડન ', - iframe: 'IFrame', - unknown: 'અનનોન ઓબ્જેક્ટ' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/he.js b/scripts/ckeditor/plugins/fakeobjects/lang/he.js deleted file mode 100755 index 5d7c7baa..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/he.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'he', { - anchor: 'עוגן', - flash: 'סרטון פלאש', - hiddenfield: 'שדה חבוי', - iframe: 'חלון פנימי (iframe)', - unknown: 'אובייקט לא ידוע' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/hi.js b/scripts/ckeditor/plugins/fakeobjects/lang/hi.js deleted file mode 100755 index b3c77be0..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/hi.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'hi', { - anchor: 'ऐंकर इन्सर्ट/संपादन', - flash: 'Flash Animation', // MISSING - hiddenfield: 'गुप्त फ़ील्ड', - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/hr.js b/scripts/ckeditor/plugins/fakeobjects/lang/hr.js deleted file mode 100755 index c2d7b77a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/hr.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'hr', { - anchor: 'Sidro', - flash: 'Flash animacija', - hiddenfield: 'Sakriveno polje', - iframe: 'IFrame', - unknown: 'Nepoznati objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/hu.js b/scripts/ckeditor/plugins/fakeobjects/lang/hu.js deleted file mode 100755 index 64ccf2dc..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/hu.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'hu', { - anchor: 'Horgony', - flash: 'Flash animáció', - hiddenfield: 'Rejtett mezõ', - iframe: 'IFrame', - unknown: 'Ismeretlen objektum' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/id.js b/scripts/ckeditor/plugins/fakeobjects/lang/id.js deleted file mode 100755 index 5fba26c9..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/id.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'id', { - anchor: 'Anchor', // MISSING - flash: 'Animasi Flash', - hiddenfield: 'Kolom Tersembunyi', - iframe: 'IFrame', - unknown: 'Obyek Tak Dikenal' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/is.js b/scripts/ckeditor/plugins/fakeobjects/lang/is.js deleted file mode 100755 index 2aa3ef45..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/is.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'is', { - anchor: 'Anchor', // MISSING - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/it.js b/scripts/ckeditor/plugins/fakeobjects/lang/it.js deleted file mode 100755 index f753c26e..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/it.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'it', { - anchor: 'Ancora', - flash: 'Animazione Flash', - hiddenfield: 'Campo Nascosto', - iframe: 'IFrame', - unknown: 'Oggetto sconosciuto' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ja.js b/scripts/ckeditor/plugins/fakeobjects/lang/ja.js deleted file mode 100755 index 736fdb73..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ja.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ja', { - anchor: 'アンカー', - flash: 'Flash Animation', - hiddenfield: '不可視フィールド', - iframe: 'IFrame', - unknown: 'Unknown Object' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ka.js b/scripts/ckeditor/plugins/fakeobjects/lang/ka.js deleted file mode 100755 index bfdad80a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ka.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ka', { - anchor: 'ღუზა', - flash: 'Flash ანიმაცია', - hiddenfield: 'მალული ველი', - iframe: 'IFrame', - unknown: 'უცნობი ობიექტი' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/km.js b/scripts/ckeditor/plugins/fakeobjects/lang/km.js deleted file mode 100755 index cf56b85d..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/km.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'km', { - anchor: 'យុថ្កា', - flash: 'Flash មាន​ចលនា', - hiddenfield: 'វាល​កំបាំង', - iframe: 'IFrame', - unknown: 'វត្ថុ​មិន​ស្គាល់' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ko.js b/scripts/ckeditor/plugins/fakeobjects/lang/ko.js deleted file mode 100755 index 2bfc8331..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ko.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ko', { - anchor: '책갈피 삽입/변경', - flash: 'Flash Animation', // MISSING - hiddenfield: '숨김필드', - iframe: 'IFrame', - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ku.js b/scripts/ckeditor/plugins/fakeobjects/lang/ku.js deleted file mode 100755 index 21c8957e..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ku.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ku', { - anchor: 'لەنگەر', - flash: 'فلاش', - hiddenfield: 'شاردنەوەی خانه', - iframe: 'لەچوارچێوە', - unknown: 'بەرکارێکی نەناسراو' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/lt.js b/scripts/ckeditor/plugins/fakeobjects/lang/lt.js deleted file mode 100755 index 02005185..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/lt.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'lt', { - anchor: 'Žymė', - flash: 'Flash animacija', - hiddenfield: 'Paslėptas laukas', - iframe: 'IFrame', - unknown: 'Nežinomas objektas' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/lv.js b/scripts/ckeditor/plugins/fakeobjects/lang/lv.js deleted file mode 100755 index 90d8042f..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/lv.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'lv', { - anchor: 'Iezīme', - flash: 'Flash animācija', - hiddenfield: 'Slēpts lauks', - iframe: 'Iframe', - unknown: 'Nezināms objekts' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/mk.js b/scripts/ckeditor/plugins/fakeobjects/lang/mk.js deleted file mode 100755 index 8c0474a9..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/mk.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'mk', { - anchor: 'Anchor', - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/mn.js b/scripts/ckeditor/plugins/fakeobjects/lang/mn.js deleted file mode 100755 index 414bd371..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/mn.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'mn', { - anchor: 'Зангуу', - flash: 'Flash Animation', // MISSING - hiddenfield: 'Нууц талбар', - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ms.js b/scripts/ckeditor/plugins/fakeobjects/lang/ms.js deleted file mode 100755 index bb0e5611..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ms.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ms', { - anchor: 'Anchor', // MISSING - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/nb.js b/scripts/ckeditor/plugins/fakeobjects/lang/nb.js deleted file mode 100755 index 24e818d3..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/nb.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'nb', { - anchor: 'Anker', - flash: 'Flash-animasjon', - hiddenfield: 'Skjult felt', - iframe: 'IFrame', - unknown: 'Ukjent objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/nl.js b/scripts/ckeditor/plugins/fakeobjects/lang/nl.js deleted file mode 100755 index f8dbfc2e..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/nl.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'nl', { - anchor: 'Interne link', - flash: 'Flash animatie', - hiddenfield: 'Verborgen veld', - iframe: 'IFrame', - unknown: 'Onbekend object' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/no.js b/scripts/ckeditor/plugins/fakeobjects/lang/no.js deleted file mode 100755 index 15f7036a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/no.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'no', { - anchor: 'Anker', - flash: 'Flash-animasjon', - hiddenfield: 'Skjult felt', - iframe: 'IFrame', - unknown: 'Ukjent objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/pl.js b/scripts/ckeditor/plugins/fakeobjects/lang/pl.js deleted file mode 100755 index b1fb7fc5..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/pl.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'pl', { - anchor: 'Kotwica', - flash: 'Animacja Flash', - hiddenfield: 'Pole ukryte', - iframe: 'IFrame', - unknown: 'Nieznany obiekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/pt-br.js b/scripts/ckeditor/plugins/fakeobjects/lang/pt-br.js deleted file mode 100755 index 9266374f..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/pt-br.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'pt-br', { - anchor: 'Âncora', - flash: 'Animação em Flash', - hiddenfield: 'Campo Oculto', - iframe: 'IFrame', - unknown: 'Objeto desconhecido' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/pt.js b/scripts/ckeditor/plugins/fakeobjects/lang/pt.js deleted file mode 100755 index 37baf782..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/pt.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'pt', { - anchor: ' Inserir/Editar Âncora', - flash: 'Animação Flash', - hiddenfield: 'Campo Ocultado', - iframe: 'IFrame', - unknown: 'Objeto Desconhecido' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ro.js b/scripts/ckeditor/plugins/fakeobjects/lang/ro.js deleted file mode 100755 index 207cce65..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ro.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ro', { - anchor: 'Inserează/Editează ancoră', - flash: 'Flash Animation', // MISSING - hiddenfield: 'Câmp ascuns (HiddenField)', - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ru.js b/scripts/ckeditor/plugins/fakeobjects/lang/ru.js deleted file mode 100755 index e5d8c2c4..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ru.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ru', { - anchor: 'Якорь', - flash: 'Flash анимация', - hiddenfield: 'Скрытое поле', - iframe: 'iFrame', - unknown: 'Неизвестный объект' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/si.js b/scripts/ckeditor/plugins/fakeobjects/lang/si.js deleted file mode 100755 index fa516e8f..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/si.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'si', { - anchor: 'ආධාරය', - flash: 'Flash Animation', // MISSING - hiddenfield: 'සැඟවුණු ප්‍රදේශය', - iframe: 'IFrame', - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/sk.js b/scripts/ckeditor/plugins/fakeobjects/lang/sk.js deleted file mode 100755 index a8bd0dce..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/sk.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'sk', { - anchor: 'Kotva', - flash: 'Flash animácia', - hiddenfield: 'Skryté pole', - iframe: 'IFrame', - unknown: 'Neznámy objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/sl.js b/scripts/ckeditor/plugins/fakeobjects/lang/sl.js deleted file mode 100755 index 853b36e3..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/sl.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'sl', { - anchor: 'Sidro', - flash: 'Flash animacija', - hiddenfield: 'Skrito polje', - iframe: 'IFrame', - unknown: 'Neznan objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/sq.js b/scripts/ckeditor/plugins/fakeobjects/lang/sq.js deleted file mode 100755 index 30c383df..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/sq.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'sq', { - anchor: 'Spirancë', - flash: 'Objekt flash', - hiddenfield: 'Fushë e fshehur', - iframe: 'IFrame', - unknown: 'Objekt i Panjohur' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/sr-latn.js b/scripts/ckeditor/plugins/fakeobjects/lang/sr-latn.js deleted file mode 100755 index 947cceab..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/sr-latn.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'sr-latn', { - anchor: 'Unesi/izmeni sidro', - flash: 'Flash Animation', // MISSING - hiddenfield: 'Skriveno polje', - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/sr.js b/scripts/ckeditor/plugins/fakeobjects/lang/sr.js deleted file mode 100755 index 2cdf1598..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/sr.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'sr', { - anchor: 'Anchor', // MISSING - flash: 'Flash Animation', // MISSING - hiddenfield: 'Hidden Field', // MISSING - iframe: 'IFrame', // MISSING - unknown: 'Unknown Object' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/sv.js b/scripts/ckeditor/plugins/fakeobjects/lang/sv.js deleted file mode 100755 index 283fd978..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/sv.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'sv', { - anchor: 'Ankare', - flash: 'Flashanimation', - hiddenfield: 'Gömt fält', - iframe: 'iFrame', - unknown: 'Okänt objekt' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/th.js b/scripts/ckeditor/plugins/fakeobjects/lang/th.js deleted file mode 100755 index 8bcdca57..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/th.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'th', { - anchor: 'แทรก/แก้ไข Anchor', - flash: 'ภาพอนิเมชั่นแฟลช', - hiddenfield: 'ฮิดเดนฟิลด์', - iframe: 'IFrame', - unknown: 'วัตถุไม่ทราบชนิด' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/tr.js b/scripts/ckeditor/plugins/fakeobjects/lang/tr.js deleted file mode 100755 index 83c7df3f..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/tr.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'tr', { - anchor: 'Bağlantı', - flash: 'Flash Animasyonu', - hiddenfield: 'Gizli Alan', - iframe: 'IFrame', - unknown: 'Bilinmeyen Nesne' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/tt.js b/scripts/ckeditor/plugins/fakeobjects/lang/tt.js deleted file mode 100755 index d2ca4407..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/tt.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'tt', { - anchor: 'Якорь', - flash: 'Флеш анимациясы', - hiddenfield: 'Яшерен кыр', - iframe: 'IFrame', - unknown: 'Танылмаган объект' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/ug.js b/scripts/ckeditor/plugins/fakeobjects/lang/ug.js deleted file mode 100755 index e7edf6b7..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/ug.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'ug', { - anchor: 'لەڭگەرلىك نۇقتا', - flash: 'Flash جانلاندۇرۇم', - hiddenfield: 'يوشۇرۇن دائىرە', - iframe: 'IFrame', - unknown: 'يوچۇن نەڭ' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/uk.js b/scripts/ckeditor/plugins/fakeobjects/lang/uk.js deleted file mode 100755 index 6629e133..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/uk.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'uk', { - anchor: 'Якір', - flash: 'Flash-анімація', - hiddenfield: 'Приховані Поля', - iframe: 'IFrame', - unknown: 'Невідомий об\'єкт' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/vi.js b/scripts/ckeditor/plugins/fakeobjects/lang/vi.js deleted file mode 100755 index 2424b554..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/vi.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'vi', { - anchor: 'Điểm neo', - flash: 'Flash', - hiddenfield: 'Trường ẩn', - iframe: 'IFrame', - unknown: 'Đối tượng không rõ ràng' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/zh-cn.js b/scripts/ckeditor/plugins/fakeobjects/lang/zh-cn.js deleted file mode 100755 index 8ea7f56b..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/zh-cn.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'zh-cn', { - anchor: '锚点', - flash: 'Flash 动画', - hiddenfield: '隐藏域', - iframe: 'IFrame', - unknown: '未知对象' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/lang/zh.js b/scripts/ckeditor/plugins/fakeobjects/lang/zh.js deleted file mode 100755 index 0bbe880a..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/lang/zh.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'fakeobjects', 'zh', { - anchor: '錨點', - flash: 'Flash 動畫', - hiddenfield: '隱藏欄位', - iframe: 'IFrame', - unknown: '無法辨識的物件' -} ); diff --git a/scripts/ckeditor/plugins/fakeobjects/plugin.js b/scripts/ckeditor/plugins/fakeobjects/plugin.js deleted file mode 100755 index c45585e4..00000000 --- a/scripts/ckeditor/plugins/fakeobjects/plugin.js +++ /dev/null @@ -1,181 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - var cssStyle = CKEDITOR.htmlParser.cssStyle, - cssLength = CKEDITOR.tools.cssLength; - - var cssLengthRegex = /^((?:\d*(?:\.\d+))|(?:\d+))(.*)?$/i; - - // Replacing the former CSS length value with the later one, with - // adjustment to the length unit. - function replaceCssLength( length1, length2 ) { - var parts1 = cssLengthRegex.exec( length1 ), - parts2 = cssLengthRegex.exec( length2 ); - - // Omit pixel length unit when necessary, - // e.g. replaceCssLength( 10, '20px' ) -> 20 - if ( parts1 ) { - if ( !parts1[ 2 ] && parts2[ 2 ] == 'px' ) - return parts2[ 1 ]; - if ( parts1[ 2 ] == 'px' && !parts2[ 2 ] ) - return parts2[ 1 ] + 'px'; - } - - return length2; - } - - var htmlFilterRules = { - elements: { - $: function( element ) { - var attributes = element.attributes, - realHtml = attributes && attributes[ 'data-cke-realelement' ], - realFragment = realHtml && new CKEDITOR.htmlParser.fragment.fromHtml( decodeURIComponent( realHtml ) ), - realElement = realFragment && realFragment.children[ 0 ]; - - // Width/height in the fake object are subjected to clone into the real element. - if ( realElement && element.attributes[ 'data-cke-resizable' ] ) { - var styles = new cssStyle( element ).rules, - realAttrs = realElement.attributes, - width = styles.width, - height = styles.height; - - width && ( realAttrs.width = replaceCssLength( realAttrs.width, width ) ); - height && ( realAttrs.height = replaceCssLength( realAttrs.height, height ) ); - } - - return realElement; - } - } - }; - - var plugin = CKEDITOR.plugins.add( 'fakeobjects', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - - init: function( editor ) { - // Allow image with all styles and classes plus src, alt and title attributes. - // We need them when fakeobject is pasted. - editor.filter.allow( 'img[!data-cke-realelement,src,alt,title](*){*}', 'fakeobjects' ); - }, - - afterInit: function( editor ) { - var dataProcessor = editor.dataProcessor, - htmlFilter = dataProcessor && dataProcessor.htmlFilter; - - if ( htmlFilter ) { - htmlFilter.addRules( htmlFilterRules, { - applyToAll: true - } ); - } - } - } ); - - /** - * @member CKEDITOR.editor - * @todo - */ - CKEDITOR.editor.prototype.createFakeElement = function( realElement, className, realElementType, isResizable ) { - var lang = this.lang.fakeobjects, - label = lang[ realElementType ] || lang.unknown; - - var attributes = { - 'class': className, - 'data-cke-realelement': encodeURIComponent( realElement.getOuterHtml() ), - 'data-cke-real-node-type': realElement.type, - alt: label, - title: label, - align: realElement.getAttribute( 'align' ) || '' - }; - - // Do not set "src" on high-contrast so the alt text is displayed. (#8945) - if ( !CKEDITOR.env.hc ) - attributes.src = CKEDITOR.tools.transparentImageData; - - if ( realElementType ) - attributes[ 'data-cke-real-element-type' ] = realElementType; - - if ( isResizable ) { - attributes[ 'data-cke-resizable' ] = isResizable; - - var fakeStyle = new cssStyle(); - - var width = realElement.getAttribute( 'width' ), - height = realElement.getAttribute( 'height' ); - - width && ( fakeStyle.rules.width = cssLength( width ) ); - height && ( fakeStyle.rules.height = cssLength( height ) ); - fakeStyle.populate( attributes ); - } - - return this.document.createElement( 'img', { attributes: attributes } ); - }; - - /** - * @member CKEDITOR.editor - * @todo - */ - CKEDITOR.editor.prototype.createFakeParserElement = function( realElement, className, realElementType, isResizable ) { - var lang = this.lang.fakeobjects, - label = lang[ realElementType ] || lang.unknown, - html; - - var writer = new CKEDITOR.htmlParser.basicWriter(); - realElement.writeHtml( writer ); - html = writer.getHtml(); - - var attributes = { - 'class': className, - 'data-cke-realelement': encodeURIComponent( html ), - 'data-cke-real-node-type': realElement.type, - alt: label, - title: label, - align: realElement.attributes.align || '' - }; - - // Do not set "src" on high-contrast so the alt text is displayed. (#8945) - if ( !CKEDITOR.env.hc ) - attributes.src = CKEDITOR.tools.transparentImageData; - - if ( realElementType ) - attributes[ 'data-cke-real-element-type' ] = realElementType; - - if ( isResizable ) { - attributes[ 'data-cke-resizable' ] = isResizable; - var realAttrs = realElement.attributes, - fakeStyle = new cssStyle(); - - var width = realAttrs.width, - height = realAttrs.height; - - width != undefined && ( fakeStyle.rules.width = cssLength( width ) ); - height != undefined && ( fakeStyle.rules.height = cssLength( height ) ); - fakeStyle.populate( attributes ); - } - - return new CKEDITOR.htmlParser.element( 'img', attributes ); - }; - - /** - * @member CKEDITOR.editor - * @todo - */ - CKEDITOR.editor.prototype.restoreRealElement = function( fakeElement ) { - if ( fakeElement.data( 'cke-real-node-type' ) != CKEDITOR.NODE_ELEMENT ) - return null; - - var element = CKEDITOR.dom.element.createFromHtml( decodeURIComponent( fakeElement.data( 'cke-realelement' ) ), this.document ); - - if ( fakeElement.data( 'cke-resizable' ) ) { - var width = fakeElement.getStyle( 'width' ), - height = fakeElement.getStyle( 'height' ); - - width && element.setAttribute( 'width', replaceCssLength( element.getAttribute( 'width' ), width ) ); - height && element.setAttribute( 'height', replaceCssLength( element.getAttribute( 'height' ), height ) ); - } - - return element; - }; - -} )(); diff --git a/scripts/ckeditor/plugins/filebrowser/plugin.js b/scripts/ckeditor/plugins/filebrowser/plugin.js deleted file mode 100755 index 8df2d047..00000000 --- a/scripts/ckeditor/plugins/filebrowser/plugin.js +++ /dev/null @@ -1,501 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview The "filebrowser" plugin that adds support for file uploads and - * browsing. - * - * When a file is uploaded or selected inside the file browser, its URL is - * inserted automatically into a field defined in the filebrowser - * attribute. In order to specify a field that should be updated, pass the tab ID and - * the element ID, separated with a colon.

    - * - * Example 1: (Browse) - * - *

    - * {
    - * 	type : 'button',
    - * 	id : 'browse',
    - * 	filebrowser : 'tabId:elementId',
    - * 	label : editor.lang.common.browseServer
    - * }
    - * 
    - * - * If you set the filebrowser attribute for an element other than - * the fileButton, the Browse action will be triggered.

    - * - * Example 2: (Quick Upload) - * - *
    - * {
    - * 	type : 'fileButton',
    - * 	id : 'uploadButton',
    - * 	filebrowser : 'tabId:elementId',
    - * 	label : editor.lang.common.uploadSubmit,
    - * 	'for' : [ 'upload', 'upload' ]
    - * }
    - * 
    - * - * If you set the filebrowser attribute for a fileButton - * element, the QuickUpload action will be executed.

    - * - * The filebrowser plugin also supports more advanced configuration performed through - * a JavaScript object. - * - * The following settings are supported: - * - *
      - *
    • actionBrowse or QuickUpload.
    • - *
    • target – the field to update in the tabId:elementId format.
    • - *
    • params – additional arguments to be passed to the server connector (optional).
    • - *
    • onSelect – a function to execute when the file is selected/uploaded (optional).
    • - *
    • url – the URL to be called (optional).
    • - *
    - * - * Example 3: (Quick Upload) - * - *
    - * {
    - * 	type : 'fileButton',
    - * 	label : editor.lang.common.uploadSubmit,
    - * 	id : 'buttonId',
    - * 	filebrowser :
    - * 	{
    - * 		action : 'QuickUpload', // required
    - * 		target : 'tab1:elementId', // required
    - * 		params : // optional
    - * 		{
    - * 			type : 'Files',
    - * 			currentFolder : '/folder/'
    - * 		},
    - * 		onSelect : function( fileUrl, errorMessage ) // optional
    - * 		{
    - * 			// Do not call the built-in selectFuntion.
    - * 			// return false;
    - * 		}
    - * 	},
    - * 	'for' : [ 'tab1', 'myFile' ]
    - * }
    - * 
    - * - * Suppose you have a file element with an ID of myFile, a text - * field with an ID of elementId and a fileButton. - * If the filebowser.url attribute is not specified explicitly, - * the form action will be set to filebrowser[DialogWindowName]UploadUrl - * or, if not specified, to filebrowserUploadUrl. Additional parameters - * from the params object will be added to the query string. It is - * possible to create your own uploadHandler and cancel the built-in - * updateTargetElement command.

    - * - * Example 4: (Browse) - * - *
    - * {
    - * 	type : 'button',
    - * 	id : 'buttonId',
    - * 	label : editor.lang.common.browseServer,
    - * 	filebrowser :
    - * 	{
    - * 		action : 'Browse',
    - * 		url : '/ckfinder/ckfinder.html&type=Images',
    - * 		target : 'tab1:elementId'
    - * 	}
    - * }
    - * 
    - * - * In this example, when the button is pressed, the file browser will be opened in a - * popup window. If you do not specify the filebrowser.url attribute, - * filebrowser[DialogName]BrowseUrl or - * filebrowserBrowseUrl will be used. After selecting a file in the file - * browser, an element with an ID of elementId will be updated. Just - * like in the third example, a custom onSelect function may be defined. - */ - -( function() { - // Adds (additional) arguments to given url. - // - // @param {String} - // url The url. - // @param {Object} - // params Additional parameters. - function addQueryString( url, params ) { - var queryString = []; - - if ( !params ) - return url; - else { - for ( var i in params ) - queryString.push( i + "=" + encodeURIComponent( params[ i ] ) ); - } - - return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" ); - } - - // Make a string's first character uppercase. - // - // @param {String} - // str String. - function ucFirst( str ) { - str += ''; - var f = str.charAt( 0 ).toUpperCase(); - return f + str.substr( 1 ); - } - - // The onlick function assigned to the 'Browse Server' button. Opens the - // file browser and updates target field when file is selected. - // - // @param {CKEDITOR.event} - // evt The event object. - function browseServer( evt ) { - var dialog = this.getDialog(); - var editor = dialog.getParentEditor(); - - editor._.filebrowserSe = this; - - var width = editor.config[ 'filebrowser' + ucFirst( dialog.getName() ) + 'WindowWidth' ] || editor.config.filebrowserWindowWidth || '80%'; - var height = editor.config[ 'filebrowser' + ucFirst( dialog.getName() ) + 'WindowHeight' ] || editor.config.filebrowserWindowHeight || '70%'; - - var params = this.filebrowser.params || {}; - params.CKEditor = editor.name; - params.CKEditorFuncNum = editor._.filebrowserFn; - if ( !params.langCode ) - params.langCode = editor.langCode; - - var url = addQueryString( this.filebrowser.url, params ); - // TODO: V4: Remove backward compatibility (#8163). - editor.popup( url, width, height, editor.config.filebrowserWindowFeatures || editor.config.fileBrowserWindowFeatures ); - } - - // The onlick function assigned to the 'Upload' button. Makes the final - // decision whether form is really submitted and updates target field when - // file is uploaded. - // - // @param {CKEDITOR.event} - // evt The event object. - function uploadFile( evt ) { - var dialog = this.getDialog(); - var editor = dialog.getParentEditor(); - - editor._.filebrowserSe = this; - - // If user didn't select the file, stop the upload. - if ( !dialog.getContentElement( this[ 'for' ][ 0 ], this[ 'for' ][ 1 ] ).getInputElement().$.value ) - return false; - - if ( !dialog.getContentElement( this[ 'for' ][ 0 ], this[ 'for' ][ 1 ] ).getAction() ) - return false; - - return true; - } - - // Setups the file element. - // - // @param {CKEDITOR.ui.dialog.file} - // fileInput The file element used during file upload. - // @param {Object} - // filebrowser Object containing filebrowser settings assigned to - // the fileButton associated with this file element. - function setupFileElement( editor, fileInput, filebrowser ) { - var params = filebrowser.params || {}; - params.CKEditor = editor.name; - params.CKEditorFuncNum = editor._.filebrowserFn; - if ( !params.langCode ) - params.langCode = editor.langCode; - - fileInput.action = addQueryString( filebrowser.url, params ); - fileInput.filebrowser = filebrowser; - } - - // Traverse through the content definition and attach filebrowser to - // elements with 'filebrowser' attribute. - // - // @param String - // dialogName Dialog name. - // @param {CKEDITOR.dialog.definitionObject} - // definition Dialog definition. - // @param {Array} - // elements Array of {@link CKEDITOR.dialog.definition.content} - // objects. - function attachFileBrowser( editor, dialogName, definition, elements ) { - if ( !elements || !elements.length ) - return; - - var element, fileInput; - - for ( var i = elements.length; i--; ) { - element = elements[ i ]; - - if ( element.type == 'hbox' || element.type == 'vbox' || element.type == 'fieldset' ) - attachFileBrowser( editor, dialogName, definition, element.children ); - - if ( !element.filebrowser ) - continue; - - if ( typeof element.filebrowser == 'string' ) { - var fb = { - action: ( element.type == 'fileButton' ) ? 'QuickUpload' : 'Browse', - target: element.filebrowser - }; - element.filebrowser = fb; - } - - if ( element.filebrowser.action == 'Browse' ) { - var url = element.filebrowser.url; - if ( url === undefined ) { - url = editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'BrowseUrl' ]; - if ( url === undefined ) - url = editor.config.filebrowserBrowseUrl; - } - - if ( url ) { - element.onClick = browseServer; - element.filebrowser.url = url; - element.hidden = false; - } - } else if ( element.filebrowser.action == 'QuickUpload' && element[ 'for' ] ) { - url = element.filebrowser.url; - if ( url === undefined ) { - url = editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'UploadUrl' ]; - if ( url === undefined ) - url = editor.config.filebrowserUploadUrl; - } - - if ( url ) { - var onClick = element.onClick; - element.onClick = function( evt ) { - // "element" here means the definition object, so we need to find the correct - // button to scope the event call - var sender = evt.sender; - if ( onClick && onClick.call( sender, evt ) === false ) - return false; - - return uploadFile.call( sender, evt ); - }; - - element.filebrowser.url = url; - element.hidden = false; - setupFileElement( editor, definition.getContents( element[ 'for' ][ 0 ] ).get( element[ 'for' ][ 1 ] ), element.filebrowser ); - } - } - } - } - - // Updates the target element with the url of uploaded/selected file. - // - // @param {String} - // url The url of a file. - function updateTargetElement( url, sourceElement ) { - var dialog = sourceElement.getDialog(); - var targetElement = sourceElement.filebrowser.target || null; - - // If there is a reference to targetElement, update it. - if ( targetElement ) { - var target = targetElement.split( ':' ); - var element = dialog.getContentElement( target[ 0 ], target[ 1 ] ); - if ( element ) { - element.setValue( url ); - dialog.selectPage( target[ 0 ] ); - } - } - } - - // Returns true if filebrowser is configured in one of the elements. - // - // @param {CKEDITOR.dialog.definitionObject} - // definition Dialog definition. - // @param String - // tabId The tab id where element(s) can be found. - // @param String - // elementId The element id (or ids, separated with a semicolon) to check. - function isConfigured( definition, tabId, elementId ) { - if ( elementId.indexOf( ";" ) !== -1 ) { - var ids = elementId.split( ";" ); - for ( var i = 0; i < ids.length; i++ ) { - if ( isConfigured( definition, tabId, ids[ i ] ) ) - return true; - } - return false; - } - - var elementFileBrowser = definition.getContents( tabId ).get( elementId ).filebrowser; - return ( elementFileBrowser && elementFileBrowser.url ); - } - - function setUrl( fileUrl, data ) { - var dialog = this._.filebrowserSe.getDialog(), - targetInput = this._.filebrowserSe[ 'for' ], - onSelect = this._.filebrowserSe.filebrowser.onSelect; - - if ( targetInput ) - dialog.getContentElement( targetInput[ 0 ], targetInput[ 1 ] ).reset(); - - if ( typeof data == 'function' && data.call( this._.filebrowserSe ) === false ) - return; - - if ( onSelect && onSelect.call( this._.filebrowserSe, fileUrl, data ) === false ) - return; - - // The "data" argument may be used to pass the error message to the editor. - if ( typeof data == 'string' && data ) - alert( data ); - - if ( fileUrl ) - updateTargetElement( fileUrl, this._.filebrowserSe ); - } - - CKEDITOR.plugins.add( 'filebrowser', { - requires: 'popup', - init: function( editor, pluginPath ) { - editor._.filebrowserFn = CKEDITOR.tools.addFunction( setUrl, editor ); - editor.on( 'destroy', function() { - CKEDITOR.tools.removeFunction( this._.filebrowserFn ); - } ); - } - } ); - - CKEDITOR.on( 'dialogDefinition', function( evt ) { - // We require filebrowser plugin to be loaded. - if ( !evt.editor.plugins.filebrowser ) - return; - - var definition = evt.data.definition, - element; - // Associate filebrowser to elements with 'filebrowser' attribute. - for ( var i = 0; i < definition.contents.length; ++i ) { - if ( ( element = definition.contents[ i ] ) ) { - attachFileBrowser( evt.editor, evt.data.name, definition, element.elements ); - if ( element.hidden && element.filebrowser ) - element.hidden = !isConfigured( definition, element[ 'id' ], element.filebrowser ); - - } - } - } ); - -} )(); - -/** - * The location of an external file browser that should be launched when the **Browse Server** - * button is pressed. If configured, the **Browse Server** button will appear in the - * **Link**, **Image**, and **Flash** dialog windows. - * - * See the [File Browser/Uploader](http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_(Uploader\)) documentation. - * - * config.filebrowserBrowseUrl = '/browser/browse.php'; - * - * @since 3.0 - * @cfg {String} [filebrowserBrowseUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The location of the script that handles file uploads. - * If set, the **Upload** tab will appear in the **Link**, **Image**, - * and **Flash** dialog windows. - * - * See the [File Browser/Uploader](http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_(Uploader\)) documentation. - * - * config.filebrowserUploadUrl = '/uploader/upload.php'; - * - * @since 3.0 - * @cfg {String} [filebrowserUploadUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The location of an external file browser that should be launched when the **Browse Server** - * button is pressed in the **Image** dialog window. - * - * If not set, CKEditor will use {@link CKEDITOR.config#filebrowserBrowseUrl}. - * - * config.filebrowserImageBrowseUrl = '/browser/browse.php?type=Images'; - * - * @since 3.0 - * @cfg {String} [filebrowserImageBrowseUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The location of an external file browser that should be launched when the **Browse Server** - * button is pressed in the **Flash** dialog window. - * - * If not set, CKEditor will use {@link CKEDITOR.config#filebrowserBrowseUrl}. - * - * config.filebrowserFlashBrowseUrl = '/browser/browse.php?type=Flash'; - * - * @since 3.0 - * @cfg {String} [filebrowserFlashBrowseUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The location of the script that handles file uploads in the **Image** dialog window. - * - * If not set, CKEditor will use {@link CKEDITOR.config#filebrowserUploadUrl}. - * - * config.filebrowserImageUploadUrl = '/uploader/upload.php?type=Images'; - * - * @since 3.0 - * @cfg {String} [filebrowserImageUploadUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The location of the script that handles file uploads in the **Flash** dialog window. - * - * If not set, CKEditor will use {@link CKEDITOR.config#filebrowserUploadUrl}. - * - * config.filebrowserFlashUploadUrl = '/uploader/upload.php?type=Flash'; - * - * @since 3.0 - * @cfg {String} filebrowserFlashUploadUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The location of an external file browser that should be launched when the **Browse Server** - * button is pressed in the **Link** tab of the **Image** dialog window. - * - * If not set, CKEditor will use {@link CKEDITOR.config#filebrowserBrowseUrl}. - * - * config.filebrowserImageBrowseLinkUrl = '/browser/browse.php'; - * - * @since 3.2 - * @cfg {String} [filebrowserImageBrowseLinkUrl='' (empty string = disabled)] - * @member CKEDITOR.config - */ - -/** - * The features to use in the file browser popup window. - * - * config.filebrowserWindowFeatures = 'resizable=yes,scrollbars=no'; - * - * @since 3.4.1 - * @cfg {String} [filebrowserWindowFeatures='location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes'] - * @member CKEDITOR.config - */ - -/** - * The width of the file browser popup window. It can be a number denoting a value in - * pixels or a percent string. - * - * config.filebrowserWindowWidth = 750; - * - * config.filebrowserWindowWidth = '50%'; - * - * @cfg {Number/String} [filebrowserWindowWidth='80%'] - * @member CKEDITOR.config - */ - -/** - * The height of the file browser popup window. It can be a number denoting a value in - * pixels or a percent string. - * - * config.filebrowserWindowHeight = 580; - * - * config.filebrowserWindowHeight = '50%'; - * - * @cfg {Number/String} [filebrowserWindowHeight='70%'] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/find/dialogs/find.js b/scripts/ckeditor/plugins/find/dialogs/find.js old mode 100755 new mode 100644 index bef7bfbc..98c08e83 --- a/scripts/ckeditor/plugins/find/dialogs/find.js +++ b/scripts/ckeditor/plugins/find/dialogs/find.js @@ -1,790 +1,24 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - var isReplace; - - function findEvaluator( node ) { - return node.type == CKEDITOR.NODE_TEXT && node.getLength() > 0 && ( !isReplace || !node.isReadOnly() ); - } - - // Elements which break characters been considered as sequence. - function nonCharactersBoundary( node ) { - return !( node.type == CKEDITOR.NODE_ELEMENT && node.isBlockBoundary( CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$empty, CKEDITOR.dtd.$nonEditable ) ) ); - } - - // Get the cursor object which represent both current character and it's dom - // position thing. - var cursorStep = function() { - return { - textNode: this.textNode, - offset: this.offset, - character: this.textNode ? this.textNode.getText().charAt( this.offset ) : null, - hitMatchBoundary: this._.matchBoundary - }; - }; - - var pages = [ 'find', 'replace' ], - fieldsMapping = [ - [ 'txtFindFind', 'txtFindReplace' ], - [ 'txtFindCaseChk', 'txtReplaceCaseChk' ], - [ 'txtFindWordChk', 'txtReplaceWordChk' ], - [ 'txtFindCyclic', 'txtReplaceCyclic' ] ]; - - // Synchronize corresponding filed values between 'replace' and 'find' pages. - // @param {String} currentPageId The page id which receive values. - function syncFieldsBetweenTabs( currentPageId ) { - var sourceIndex, targetIndex, sourceField, targetField; - - sourceIndex = currentPageId === 'find' ? 1 : 0; - targetIndex = 1 - sourceIndex; - var i, - l = fieldsMapping.length; - for ( i = 0; i < l; i++ ) { - sourceField = this.getContentElement( pages[ sourceIndex ], fieldsMapping[ i ][ sourceIndex ] ); - targetField = this.getContentElement( pages[ targetIndex ], fieldsMapping[ i ][ targetIndex ] ); - - targetField.setValue( sourceField.getValue() ); - } - } - - var findDialog = function( editor, startupPage ) { - // Style object for highlights: (#5018) - // 1. Defined as full match style to avoid compromising ordinary text color styles. - // 2. Must be apply onto inner-most text to avoid conflicting with ordinary text color styles visually. - var highlightStyle = new CKEDITOR.style( CKEDITOR.tools.extend( { - attributes: { 'data-cke-highlight': 1 }, - fullMatch: 1, ignoreReadonly: 1, childRule: function() { - return 0; - } }, editor.config.find_highlight, true ) ); - - // Iterator which walk through the specified range char by char. By - // default the walking will not stop at the character boundaries, until - // the end of the range is encountered. - // @param { CKEDITOR.dom.range } range - // @param {Boolean} matchWord Whether the walking will stop at character boundary. - var characterWalker = function( range, matchWord ) { - var self = this; - var walker = new CKEDITOR.dom.walker( range ); - walker.guard = matchWord ? nonCharactersBoundary : function( node ) { - !nonCharactersBoundary( node ) && ( self._.matchBoundary = true ); - }; - walker[ 'evaluator' ] = findEvaluator; - walker.breakOnFalse = 1; - - if ( range.startContainer.type == CKEDITOR.NODE_TEXT ) { - this.textNode = range.startContainer; - this.offset = range.startOffset - 1; - } - - this._ = { - matchWord: matchWord, - walker: walker, - matchBoundary: false - }; - }; - - characterWalker.prototype = { - next: function() { - return this.move(); - }, - - back: function() { - return this.move( true ); - }, - - move: function( rtl ) { - var currentTextNode = this.textNode; - // Already at the end of document, no more character available. - if ( currentTextNode === null ) - return cursorStep.call( this ); - - this._.matchBoundary = false; - - // There are more characters in the text node, step forward. - if ( currentTextNode && rtl && this.offset > 0 ) { - this.offset--; - return cursorStep.call( this ); - } else if ( currentTextNode && this.offset < currentTextNode.getLength() - 1 ) { - this.offset++; - return cursorStep.call( this ); - } else { - currentTextNode = null; - // At the end of the text node, walking foward for the next. - while ( !currentTextNode ) { - currentTextNode = this._.walker[ rtl ? 'previous' : 'next' ].call( this._.walker ); - - // Stop searching if we're need full word match OR - // already reach document end. - if ( this._.matchWord && !currentTextNode || this._.walker._.end ) - break; - } - // Found a fresh text node. - this.textNode = currentTextNode; - if ( currentTextNode ) - this.offset = rtl ? currentTextNode.getLength() - 1 : 0; - else - this.offset = 0; - } - - return cursorStep.call( this ); - } - - }; - - /** - * A range of cursors which represent a trunk of characters which try to - * match, it has the same length as the pattern string. - * - * **Note:** This class isn't accessible from global scope. - * - * @private - * @class CKEDITOR.plugins.find.characterRange - * @constructor Creates a characterRange class instance. - */ - var characterRange = function( characterWalker, rangeLength ) { - this._ = { - walker: characterWalker, - cursors: [], - rangeLength: rangeLength, - highlightRange: null, - isMatched: 0 - }; - }; - - characterRange.prototype = { - /** - * Translate this range to {@link CKEDITOR.dom.range}. - */ - toDomRange: function() { - var range = editor.createRange(); - var cursors = this._.cursors; - if ( cursors.length < 1 ) { - var textNode = this._.walker.textNode; - if ( textNode ) - range.setStartAfter( textNode ); - else - return null; - } else { - var first = cursors[ 0 ], - last = cursors[ cursors.length - 1 ]; - - range.setStart( first.textNode, first.offset ); - range.setEnd( last.textNode, last.offset + 1 ); - } - - return range; - }, - - /** - * Reflect the latest changes from dom range. - */ - updateFromDomRange: function( domRange ) { - var cursor, - walker = new characterWalker( domRange ); - this._.cursors = []; - do { - cursor = walker.next(); - if ( cursor.character ) this._.cursors.push( cursor ); - } - while ( cursor.character ); - this._.rangeLength = this._.cursors.length; - }, - - setMatched: function() { - this._.isMatched = true; - }, - - clearMatched: function() { - this._.isMatched = false; - }, - - isMatched: function() { - return this._.isMatched; - }, - - /** - * Hightlight the current matched chunk of text. - */ - highlight: function() { - // Do not apply if nothing is found. - if ( this._.cursors.length < 1 ) - return; - - // Remove the previous highlight if there's one. - if ( this._.highlightRange ) - this.removeHighlight(); - - // Apply the highlight. - var range = this.toDomRange(), - bookmark = range.createBookmark(); - highlightStyle.applyToRange( range, editor ); - range.moveToBookmark( bookmark ); - this._.highlightRange = range; - - // Scroll the editor to the highlighted area. - var element = range.startContainer; - if ( element.type != CKEDITOR.NODE_ELEMENT ) - element = element.getParent(); - element.scrollIntoView(); - - // Update the character cursors. - this.updateFromDomRange( range ); - }, - - /** - * Remove highlighted find result. - */ - removeHighlight: function() { - if ( !this._.highlightRange ) - return; - - var bookmark = this._.highlightRange.createBookmark(); - highlightStyle.removeFromRange( this._.highlightRange, editor ); - this._.highlightRange.moveToBookmark( bookmark ); - this.updateFromDomRange( this._.highlightRange ); - this._.highlightRange = null; - }, - - isReadOnly: function() { - if ( !this._.highlightRange ) - return 0; - - return this._.highlightRange.startContainer.isReadOnly(); - }, - - moveBack: function() { - var retval = this._.walker.back(), - cursors = this._.cursors; - - if ( retval.hitMatchBoundary ) - this._.cursors = cursors = []; - - cursors.unshift( retval ); - if ( cursors.length > this._.rangeLength ) - cursors.pop(); - - return retval; - }, - - moveNext: function() { - var retval = this._.walker.next(), - cursors = this._.cursors; - - // Clear the cursors queue if we've crossed a match boundary. - if ( retval.hitMatchBoundary ) - this._.cursors = cursors = []; - - cursors.push( retval ); - if ( cursors.length > this._.rangeLength ) - cursors.shift(); - - return retval; - }, - - getEndCharacter: function() { - var cursors = this._.cursors; - if ( cursors.length < 1 ) - return null; - - return cursors[ cursors.length - 1 ].character; - }, - - getNextCharacterRange: function( maxLength ) { - var lastCursor, nextRangeWalker, - cursors = this._.cursors; - - if ( ( lastCursor = cursors[ cursors.length - 1 ] ) && lastCursor.textNode ) - nextRangeWalker = new characterWalker( getRangeAfterCursor( lastCursor ) ); - // In case it's an empty range (no cursors), figure out next range from walker (#4951). - else - nextRangeWalker = this._.walker; - - return new characterRange( nextRangeWalker, maxLength ); - }, - - getCursors: function() { - return this._.cursors; - } - }; - - - // The remaining document range after the character cursor. - function getRangeAfterCursor( cursor, inclusive ) { - var range = editor.createRange(); - range.setStart( cursor.textNode, ( inclusive ? cursor.offset : cursor.offset + 1 ) ); - range.setEndAt( editor.editable(), CKEDITOR.POSITION_BEFORE_END ); - return range; - } - - // The document range before the character cursor. - function getRangeBeforeCursor( cursor ) { - var range = editor.createRange(); - range.setStartAt( editor.editable(), CKEDITOR.POSITION_AFTER_START ); - range.setEnd( cursor.textNode, cursor.offset ); - return range; - } - - var KMP_NOMATCH = 0, - KMP_ADVANCED = 1, - KMP_MATCHED = 2; - - // Examination the occurrence of a word which implement KMP algorithm. - var kmpMatcher = function( pattern, ignoreCase ) { - var overlap = [ -1 ]; - if ( ignoreCase ) - pattern = pattern.toLowerCase(); - for ( var i = 0; i < pattern.length; i++ ) { - overlap.push( overlap[ i ] + 1 ); - while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) ) - overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1; - } - - this._ = { - overlap: overlap, - state: 0, - ignoreCase: !!ignoreCase, - pattern: pattern - }; - }; - - kmpMatcher.prototype = { - feedCharacter: function( c ) { - if ( this._.ignoreCase ) - c = c.toLowerCase(); - - while ( true ) { - if ( c == this._.pattern.charAt( this._.state ) ) { - this._.state++; - if ( this._.state == this._.pattern.length ) { - this._.state = 0; - return KMP_MATCHED; - } - return KMP_ADVANCED; - } else if ( !this._.state ) - return KMP_NOMATCH; - else - this._.state = this._.overlap[ this._.state ]; - } - - return null; - }, - - reset: function() { - this._.state = 0; - } - }; - - var wordSeparatorRegex = /[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/; - - var isWordSeparator = function( c ) { - if ( !c ) - return true; - var code = c.charCodeAt( 0 ); - return ( code >= 9 && code <= 0xd ) || ( code >= 0x2000 && code <= 0x200a ) || wordSeparatorRegex.test( c ); - }; - - var finder = { - searchRange: null, - matchRange: null, - find: function( pattern, matchCase, matchWord, matchCyclic, highlightMatched, cyclicRerun ) { - if ( !this.matchRange ) - this.matchRange = new characterRange( new characterWalker( this.searchRange ), pattern.length ); - else { - this.matchRange.removeHighlight(); - this.matchRange = this.matchRange.getNextCharacterRange( pattern.length ); - } - - var matcher = new kmpMatcher( pattern, !matchCase ), - matchState = KMP_NOMATCH, - character = '%'; - - while ( character !== null ) { - this.matchRange.moveNext(); - while ( ( character = this.matchRange.getEndCharacter() ) ) { - matchState = matcher.feedCharacter( character ); - if ( matchState == KMP_MATCHED ) - break; - if ( this.matchRange.moveNext().hitMatchBoundary ) - matcher.reset(); - } - - if ( matchState == KMP_MATCHED ) { - if ( matchWord ) { - var cursors = this.matchRange.getCursors(), - tail = cursors[ cursors.length - 1 ], - head = cursors[ 0 ]; - - var rangeBefore = getRangeBeforeCursor( head ), - rangeAfter = getRangeAfterCursor( tail ); - - // The word boundary checks requires to trim the text nodes. (#9036) - rangeBefore.trim(); - rangeAfter.trim(); - - var headWalker = new characterWalker( rangeBefore, true ), - tailWalker = new characterWalker( rangeAfter, true ); - - if ( !( isWordSeparator( headWalker.back().character ) && isWordSeparator( tailWalker.next().character ) ) ) - continue; - } - this.matchRange.setMatched(); - if ( highlightMatched !== false ) - this.matchRange.highlight(); - return true; - } - } - - this.matchRange.clearMatched(); - this.matchRange.removeHighlight(); - // Clear current session and restart with the default search - // range. - // Re-run the finding once for cyclic.(#3517) - if ( matchCyclic && !cyclicRerun ) { - this.searchRange = getSearchRange( 1 ); - this.matchRange = null; - return arguments.callee.apply( this, Array.prototype.slice.call( arguments ).concat( [ true ] ) ); - } - - return false; - }, - - // Record how much replacement occurred toward one replacing. - replaceCounter: 0, - - replace: function( dialog, pattern, newString, matchCase, matchWord, matchCyclic, isReplaceAll ) { - isReplace = 1; - - // Successiveness of current replace/find. - var result = 0; - - // 1. Perform the replace when there's already a match here. - // 2. Otherwise perform the find but don't replace it immediately. - if ( this.matchRange && this.matchRange.isMatched() && !this.matchRange._.isReplaced && !this.matchRange.isReadOnly() ) { - // Turn off highlight for a while when saving snapshots. - this.matchRange.removeHighlight(); - var domRange = this.matchRange.toDomRange(); - var text = editor.document.createText( newString ); - if ( !isReplaceAll ) { - // Save undo snaps before and after the replacement. - var selection = editor.getSelection(); - selection.selectRanges( [ domRange ] ); - editor.fire( 'saveSnapshot' ); - } - domRange.deleteContents(); - domRange.insertNode( text ); - if ( !isReplaceAll ) { - selection.selectRanges( [ domRange ] ); - editor.fire( 'saveSnapshot' ); - } - this.matchRange.updateFromDomRange( domRange ); - if ( !isReplaceAll ) - this.matchRange.highlight(); - this.matchRange._.isReplaced = true; - this.replaceCounter++; - result = 1; - } else - result = this.find( pattern, matchCase, matchWord, matchCyclic, !isReplaceAll ); - - isReplace = 0; - - return result; - } - }; - - // The range in which find/replace happened, receive from user - // selection prior. - function getSearchRange( isDefault ) { - var searchRange, - sel = editor.getSelection(), - editable = editor.editable(); - - if ( sel && !isDefault ) { - searchRange = sel.getRanges()[ 0 ].clone(); - searchRange.collapse( true ); - } else { - searchRange = editor.createRange(); - searchRange.setStartAt( editable, CKEDITOR.POSITION_AFTER_START ); - } - searchRange.setEndAt( editable, CKEDITOR.POSITION_BEFORE_END ); - return searchRange; - } - - var lang = editor.lang.find; - return { - title: lang.title, - resizable: CKEDITOR.DIALOG_RESIZE_NONE, - minWidth: 350, - minHeight: 170, - buttons: [ - // Close button only. - CKEDITOR.dialog.cancelButton( editor, { - label: editor.lang.common.close - } ) - ], - contents: [ - { - id: 'find', - label: lang.find, - title: lang.find, - accessKey: '', - elements: [ - { - type: 'hbox', - widths: [ '230px', '90px' ], - children: [ - { - type: 'text', - id: 'txtFindFind', - label: lang.findWhat, - isChanged: false, - labelLayout: 'horizontal', - accessKey: 'F' - }, - { - type: 'button', - id: 'btnFind', - align: 'left', - style: 'width:100%', - label: lang.find, - onClick: function() { - var dialog = this.getDialog(); - if ( !finder.find( dialog.getValueOf( 'find', 'txtFindFind' ), dialog.getValueOf( 'find', 'txtFindCaseChk' ), dialog.getValueOf( 'find', 'txtFindWordChk' ), dialog.getValueOf( 'find', 'txtFindCyclic' ) ) ) - alert( lang.notFoundMsg ); - } - } - ] - }, - { - type: 'fieldset', - label: CKEDITOR.tools.htmlEncode( lang.findOptions ), - style: 'margin-top:29px', - children: [ - { - type: 'vbox', - padding: 0, - children: [ - { - type: 'checkbox', - id: 'txtFindCaseChk', - isChanged: false, - label: lang.matchCase - }, - { - type: 'checkbox', - id: 'txtFindWordChk', - isChanged: false, - label: lang.matchWord - }, - { - type: 'checkbox', - id: 'txtFindCyclic', - isChanged: false, - 'default': true, - label: lang.matchCyclic - } - ] - } - ] - } - ] - }, - { - id: 'replace', - label: lang.replace, - accessKey: 'M', - elements: [ - { - type: 'hbox', - widths: [ '230px', '90px' ], - children: [ - { - type: 'text', - id: 'txtFindReplace', - label: lang.findWhat, - isChanged: false, - labelLayout: 'horizontal', - accessKey: 'F' - }, - { - type: 'button', - id: 'btnFindReplace', - align: 'left', - style: 'width:100%', - label: lang.replace, - onClick: function() { - var dialog = this.getDialog(); - if ( !finder.replace( dialog, dialog.getValueOf( 'replace', 'txtFindReplace' ), dialog.getValueOf( 'replace', 'txtReplace' ), dialog.getValueOf( 'replace', 'txtReplaceCaseChk' ), dialog.getValueOf( 'replace', 'txtReplaceWordChk' ), dialog.getValueOf( 'replace', 'txtReplaceCyclic' ) ) ) - alert( lang.notFoundMsg ); - } - } - ] - }, - { - type: 'hbox', - widths: [ '230px', '90px' ], - children: [ - { - type: 'text', - id: 'txtReplace', - label: lang.replaceWith, - isChanged: false, - labelLayout: 'horizontal', - accessKey: 'R' - }, - { - type: 'button', - id: 'btnReplaceAll', - align: 'left', - style: 'width:100%', - label: lang.replaceAll, - isChanged: false, - onClick: function() { - var dialog = this.getDialog(); - var replaceNums; - - finder.replaceCounter = 0; - - // Scope to full document. - finder.searchRange = getSearchRange( 1 ); - if ( finder.matchRange ) { - finder.matchRange.removeHighlight(); - finder.matchRange = null; - } - editor.fire( 'saveSnapshot' ); - while ( finder.replace( dialog, dialog.getValueOf( 'replace', 'txtFindReplace' ), dialog.getValueOf( 'replace', 'txtReplace' ), dialog.getValueOf( 'replace', 'txtReplaceCaseChk' ), dialog.getValueOf( 'replace', 'txtReplaceWordChk' ), false, true ) ) { - /*jsl:pass*/ - } - - if ( finder.replaceCounter ) { - alert( lang.replaceSuccessMsg.replace( /%1/, finder.replaceCounter ) ); - editor.fire( 'saveSnapshot' ); - } else - alert( lang.notFoundMsg ); - } - } - ] - }, - { - type: 'fieldset', - label: CKEDITOR.tools.htmlEncode( lang.findOptions ), - children: [ - { - type: 'vbox', - padding: 0, - children: [ - { - type: 'checkbox', - id: 'txtReplaceCaseChk', - isChanged: false, - label: lang.matchCase - }, - { - type: 'checkbox', - id: 'txtReplaceWordChk', - isChanged: false, - label: lang.matchWord - }, - { - type: 'checkbox', - id: 'txtReplaceCyclic', - isChanged: false, - 'default': true, - label: lang.matchCyclic - } - ] - } - ] - } - ] - } - ], - onLoad: function() { - var dialog = this; - - // Keep track of the current pattern field in use. - var patternField, wholeWordChkField; - - // Ignore initial page select on dialog show - var isUserSelect = 0; - this.on( 'hide', function() { - isUserSelect = 0; - } ); - this.on( 'show', function() { - isUserSelect = 1; - } ); - - this.selectPage = CKEDITOR.tools.override( this.selectPage, function( originalFunc ) { - return function( pageId ) { - originalFunc.call( dialog, pageId ); - - var currPage = dialog._.tabs[ pageId ]; - var patternFieldInput, patternFieldId, wholeWordChkFieldId; - patternFieldId = pageId === 'find' ? 'txtFindFind' : 'txtFindReplace'; - wholeWordChkFieldId = pageId === 'find' ? 'txtFindWordChk' : 'txtReplaceWordChk'; - - patternField = dialog.getContentElement( pageId, patternFieldId ); - wholeWordChkField = dialog.getContentElement( pageId, wholeWordChkFieldId ); - - // Prepare for check pattern text filed 'keyup' event - if ( !currPage.initialized ) { - patternFieldInput = CKEDITOR.document.getById( patternField._.inputId ); - currPage.initialized = true; - } - - // Synchronize fields on tab switch. - if ( isUserSelect ) - syncFieldsBetweenTabs.call( this, pageId ); - }; - } ); - - }, - onShow: function() { - // Establish initial searching start position. - finder.searchRange = getSearchRange(); - - // Fill in the find field with selected text. - var selectedText = this.getParentEditor().getSelection().getSelectedText(), - patternFieldId = ( startupPage == 'find' ? 'txtFindFind' : 'txtFindReplace' ); - - var field = this.getContentElement( startupPage, patternFieldId ); - field.setValue( selectedText ); - field.select(); - - this.selectPage( startupPage ); - - this[ ( startupPage == 'find' && this._.editor.readOnly ? 'hide' : 'show' ) + 'Page' ]( 'replace' ); - }, - onHide: function() { - var range; - if ( finder.matchRange && finder.matchRange.isMatched() ) { - finder.matchRange.removeHighlight(); - editor.focus(); - - range = finder.matchRange.toDomRange(); - if ( range ) - editor.getSelection().selectRanges( [ range ] ); - } - - // Clear current session before dialog close - delete finder.matchRange; - }, - onFocus: function() { - if ( startupPage == 'replace' ) - return this.getContentElement( 'replace', 'txtFindReplace' ); - else - return this.getContentElement( 'find', 'txtFindFind' ); - } - }; - }; - - CKEDITOR.dialog.add( 'find', function( editor ) { - return findDialog( editor, 'find' ); - } ); - - CKEDITOR.dialog.add( 'replace', function( editor ) { - return findDialog( editor, 'replace' ); - } ); -} )(); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){function y(c){return c.type==CKEDITOR.NODE_TEXT&&0b.length){var d=this._.walker.textNode;if(d)a.setStartAfter(d);else return null}else d=b[0],b=b[b.length-1],a.setStart(d.textNode,d.offset),a.setEnd(b.textNode,b.offset+1);return a},updateFromDomRange:function(a){var b=new l(a);this._.cursors=[];do a=b.next(),a.character&&this._.cursors.push(a); +while(a.character);this._.rangeLength=this._.cursors.length},setMatched:function(){this._.isMatched=!0},clearMatched:function(){this._.isMatched=!1},isMatched:function(){return this._.isMatched},highlight:function(){if(!(1>this._.cursors.length)){this._.highlightRange&&this.removeHighlight();var a=this.toDomRange(),b=a.createBookmark();t.applyToRange(a,c);a.moveToBookmark(b);this._.highlightRange=a;b=a.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b.scrollIntoView();this.updateFromDomRange(a)}}, +removeHighlight:function(){if(this._.highlightRange){var a=this._.highlightRange.createBookmark();t.removeFromRange(this._.highlightRange,c);this._.highlightRange.moveToBookmark(a);this.updateFromDomRange(this._.highlightRange);this._.highlightRange=null}},isReadOnly:function(){return!this._.highlightRange?0:this._.highlightRange.startContainer.isReadOnly()},moveBack:function(){var a=this._.walker.back(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.unshift(a);b.length>this._.rangeLength&& +b.pop();return a},moveNext:function(){var a=this._.walker.next(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.push(a);b.length>this._.rangeLength&&b.shift();return a},getEndCharacter:function(){var a=this._.cursors;return 1>a.length?null:a[a.length-1].character},getNextCharacterRange:function(a){var b,d;d=this._.cursors;d=(b=d[d.length-1])&&b.textNode?new l(n(b)):this._.walker;return new q(d,a)},getCursors:function(){return this._.cursors}};var v=function(a,b){var d=[-1];b&&(a=a.toLowerCase()); +for(var c=0;c=b||8192<=b&&8202>=b||z.test(a)},e={searchRange:null,matchRange:null,find:function(a,b,d,f,e,A){this.matchRange?(this.matchRange.removeHighlight(),this.matchRange=this.matchRange.getNextCharacterRange(a.length)):this.matchRange=new q(new l(this.searchRange),a.length);for(var i=new v(a,!b),j=0,k="%";null!==k;){for(this.matchRange.moveNext();k=this.matchRange.getEndCharacter();){j=i.feedCharacter(k);if(2==j)break;this.matchRange.moveNext().hitMatchBoundary&& +i.reset()}if(2==j){if(d){var h=this.matchRange.getCursors(),m=h[h.length-1],h=h[0],g=c.createRange();g.setStartAt(c.editable(),CKEDITOR.POSITION_AFTER_START);g.setEnd(h.textNode,h.offset);h=g;m=n(m);h.trim();m.trim();h=new l(h,!0);m=new l(m,!0);if(!w(h.back().character)||!w(m.next().character))continue}this.matchRange.setMatched();!1!==e&&this.matchRange.highlight();return!0}}this.matchRange.clearMatched();this.matchRange.removeHighlight();return f&&!A?(this.searchRange=p(1),this.matchRange=null, +arguments.callee.apply(this,Array.prototype.slice.call(arguments).concat([!0]))):!1},replaceCounter:0,replace:function(a,b,d,f,e,g,i){o=1;a=0;if(this.matchRange&&this.matchRange.isMatched()&&!this.matchRange._.isReplaced&&!this.matchRange.isReadOnly()){this.matchRange.removeHighlight();b=this.matchRange.toDomRange();d=c.document.createText(d);if(!i){var j=c.getSelection();j.selectRanges([b]);c.fire("saveSnapshot")}b.deleteContents();b.insertNode(d);i||(j.selectRanges([b]),c.fire("saveSnapshot")); +this.matchRange.updateFromDomRange(b);i||this.matchRange.highlight();this.matchRange._.isReplaced=!0;this.replaceCounter++;a=1}else a=this.find(b,f,e,g,!i);o=0;return a}},f=c.lang.find;return{title:f.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton(c,{label:c.lang.common.close})],contents:[{id:"find",label:f.find,title:f.find,accessKey:"",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindFind",label:f.findWhat, +isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFind",align:"left",style:"width:100%",label:f.find,onClick:function(){var a=this.getDialog();e.find(a.getValueOf("find","txtFindFind"),a.getValueOf("find","txtFindCaseChk"),a.getValueOf("find","txtFindWordChk"),a.getValueOf("find","txtFindCyclic"))||alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),style:"margin-top:29px",children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtFindCaseChk", +isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtFindWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtFindCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]},{id:"replace",label:f.replace,accessKey:"M",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindReplace",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFindReplace",align:"left",style:"width:100%",label:f.replace,onClick:function(){var a= +this.getDialog();e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),a.getValueOf("replace","txtReplaceCyclic"))||alert(f.notFoundMsg)}}]},{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtReplace",label:f.replaceWith,isChanged:!1,labelLayout:"horizontal",accessKey:"R"},{type:"button",id:"btnReplaceAll",align:"left",style:"width:100%",label:f.replaceAll,isChanged:!1, +onClick:function(){var a=this.getDialog();e.replaceCounter=0;e.searchRange=p(1);e.matchRange&&(e.matchRange.removeHighlight(),e.matchRange=null);for(c.fire("saveSnapshot");e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),!1,!0););e.replaceCounter?(alert(f.replaceSuccessMsg.replace(/%1/,e.replaceCounter)),c.fire("saveSnapshot")):alert(f.notFoundMsg)}}]},{type:"fieldset", +label:CKEDITOR.tools.htmlEncode(f.findOptions),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtReplaceCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtReplaceWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtReplaceCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]}],onLoad:function(){var a=this,b,c=0;this.on("hide",function(){c=0});this.on("show",function(){c=1});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(f){return function(e){f.call(a, +e);var g=a._.tabs[e],i;i="find"===e?"txtFindWordChk":"txtReplaceWordChk";b=a.getContentElement(e,"find"===e?"txtFindFind":"txtFindReplace");a.getContentElement(e,i);g.initialized||(CKEDITOR.document.getById(b._.inputId),g.initialized=!0);if(c){var j,e="find"===e?1:0,g=1-e,k,h=r.length;for(k=0;k', objectNode.getDocument() ); - param.setAttributes( { name: attrDef.name, value: value } ); - if ( objectNode.getChildCount() < 1 ) - param.appendTo( objectNode ); - else - param.insertBefore( objectNode.getFirst() ); - } - } - break; - case ATTRTYPE_EMBED: - if ( !embedNode ) - continue; - value = this.getValue(); - if ( isRemove || isCheckbox && value === attrDef[ 'default' ] ) - embedNode.removeAttribute( attrDef.name ); - else - embedNode.setAttribute( attrDef.name, value ); - } - } - } - - CKEDITOR.dialog.add( 'flash', function( editor ) { - var makeObjectTag = !editor.config.flashEmbedTagOnly, - makeEmbedTag = editor.config.flashAddEmbedTag || editor.config.flashEmbedTagOnly; - - var previewPreloader, - previewAreaHtml = '
    ' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) + '
    ' + - '' + - '
    '; - - return { - title: editor.lang.flash.title, - minWidth: 420, - minHeight: 310, - onShow: function() { - // Clear previously saved elements. - this.fakeImage = this.objectNode = this.embedNode = null; - previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document ); - - // Try to detect any embed or object tag that has Flash parameters. - var fakeImage = this.getSelectedElement(); - if ( fakeImage && fakeImage.data( 'cke-real-element-type' ) && fakeImage.data( 'cke-real-element-type' ) == 'flash' ) { - this.fakeImage = fakeImage; - - var realElement = editor.restoreRealElement( fakeImage ), - objectNode = null, - embedNode = null, - paramMap = {}; - if ( realElement.getName() == 'cke:object' ) { - objectNode = realElement; - var embedList = objectNode.getElementsByTag( 'embed', 'cke' ); - if ( embedList.count() > 0 ) - embedNode = embedList.getItem( 0 ); - var paramList = objectNode.getElementsByTag( 'param', 'cke' ); - for ( var i = 0, length = paramList.count(); i < length; i++ ) { - var item = paramList.getItem( i ), - name = item.getAttribute( 'name' ), - value = item.getAttribute( 'value' ); - paramMap[ name ] = value; - } - } else if ( realElement.getName() == 'cke:embed' ) - embedNode = realElement; - - this.objectNode = objectNode; - this.embedNode = embedNode; - - this.setupContent( objectNode, embedNode, paramMap, fakeImage ); - } - }, - onOk: function() { - // If there's no selected object or embed, create one. Otherwise, reuse the - // selected object and embed nodes. - var objectNode = null, - embedNode = null, - paramMap = null; - if ( !this.fakeImage ) { - if ( makeObjectTag ) { - objectNode = CKEDITOR.dom.element.createFromHtml( '', editor.document ); - var attributes = { - classid: 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', - codebase: 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' - }; - objectNode.setAttributes( attributes ); - } - if ( makeEmbedTag ) { - embedNode = CKEDITOR.dom.element.createFromHtml( '', editor.document ); - embedNode.setAttributes( { - type: 'application/x-shockwave-flash', - pluginspage: 'http://www.macromedia.com/go/getflashplayer' - } ); - if ( objectNode ) - embedNode.appendTo( objectNode ); - } - } else { - objectNode = this.objectNode; - embedNode = this.embedNode; - } - - // Produce the paramMap if there's an object tag. - if ( objectNode ) { - paramMap = {}; - var paramList = objectNode.getElementsByTag( 'param', 'cke' ); - for ( var i = 0, length = paramList.count(); i < length; i++ ) - paramMap[ paramList.getItem( i ).getAttribute( 'name' ) ] = paramList.getItem( i ); - } - - // A subset of the specified attributes/styles - // should also be applied on the fake element to - // have better visual effect. (#5240) - var extraStyles = {}, - extraAttributes = {}; - this.commitContent( objectNode, embedNode, paramMap, extraStyles, extraAttributes ); - - // Refresh the fake image. - var newFakeImage = editor.createFakeElement( objectNode || embedNode, 'cke_flash', 'flash', true ); - newFakeImage.setAttributes( extraAttributes ); - newFakeImage.setStyles( extraStyles ); - if ( this.fakeImage ) { - newFakeImage.replace( this.fakeImage ); - editor.getSelection().selectElement( newFakeImage ); - } else - editor.insertElement( newFakeImage ); - }, - - onHide: function() { - if ( this.preview ) - this.preview.setHtml( '' ); - }, - - contents: [ - { - id: 'info', - label: editor.lang.common.generalTab, - accessKey: 'I', - elements: [ - { - type: 'vbox', - padding: 0, - children: [ - { - type: 'hbox', - widths: [ '280px', '110px' ], - align: 'right', - children: [ - { - id: 'src', - type: 'text', - label: editor.lang.common.url, - required: true, - validate: CKEDITOR.dialog.validate.notEmpty( editor.lang.flash.validateSrc ), - setup: loadValue, - commit: commitValue, - onLoad: function() { - var dialog = this.getDialog(), - updatePreview = function( src ) { - // Query the preloader to figure out the url impacted by based href. - previewPreloader.setAttribute( 'src', src ); - dialog.preview.setHtml( '' ); - }; - // Preview element - dialog.preview = dialog.getContentElement( 'info', 'preview' ).getElement().getChild( 3 ); - - // Sync on inital value loaded. - this.on( 'change', function( evt ) { - - if ( evt.data && evt.data.value ) - updatePreview( evt.data.value ); - } ); - // Sync when input value changed. - this.getInputElement().on( 'change', function( evt ) { - - updatePreview( this.getValue() ); - }, this ); - } - }, - { - type: 'button', - id: 'browse', - filebrowser: 'info:src', - hidden: true, - // v-align with the 'src' field. - // TODO: We need something better than a fixed size here. - style: 'display:inline-block;margin-top:14px;', - label: editor.lang.common.browseServer - } - ] - } - ] - }, - { - type: 'hbox', - widths: [ '25%', '25%', '25%', '25%', '25%' ], - children: [ - { - type: 'text', - id: 'width', - requiredContent: 'embed[width]', - style: 'width:95px', - label: editor.lang.common.width, - validate: CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength.replace( '%1', editor.lang.common.width ) ), - setup: loadValue, - commit: commitValue - }, - { - type: 'text', - id: 'height', - requiredContent: 'embed[height]', - style: 'width:95px', - label: editor.lang.common.height, - validate: CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength.replace( '%1', editor.lang.common.height ) ), - setup: loadValue, - commit: commitValue - }, - { - type: 'text', - id: 'hSpace', - requiredContent: 'embed[hspace]', - style: 'width:95px', - label: editor.lang.flash.hSpace, - validate: CKEDITOR.dialog.validate.integer( editor.lang.flash.validateHSpace ), - setup: loadValue, - commit: commitValue - }, - { - type: 'text', - id: 'vSpace', - requiredContent: 'embed[vspace]', - style: 'width:95px', - label: editor.lang.flash.vSpace, - validate: CKEDITOR.dialog.validate.integer( editor.lang.flash.validateVSpace ), - setup: loadValue, - commit: commitValue - } - ] - }, - - { - type: 'vbox', - children: [ - { - type: 'html', - id: 'preview', - style: 'width:95%;', - html: previewAreaHtml - } - ] - } - ] - }, - { - id: 'Upload', - hidden: true, - filebrowser: 'uploadButton', - label: editor.lang.common.upload, - elements: [ - { - type: 'file', - id: 'upload', - label: editor.lang.common.upload, - size: 38 - }, - { - type: 'fileButton', - id: 'uploadButton', - label: editor.lang.common.uploadSubmit, - filebrowser: 'info:src', - 'for': [ 'Upload', 'upload' ] - } - ] - }, - { - id: 'properties', - label: editor.lang.flash.propertiesTab, - elements: [ - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - id: 'scale', - type: 'select', - requiredContent: 'embed[scale]', - label: editor.lang.flash.scale, - 'default': '', - style: 'width : 100%;', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.flash.scaleAll, 'showall' ], - [ editor.lang.flash.scaleNoBorder, 'noborder' ], - [ editor.lang.flash.scaleFit, 'exactfit' ] - ], - setup: loadValue, - commit: commitValue - }, - { - id: 'allowScriptAccess', - type: 'select', - requiredContent: 'embed[allowscriptaccess]', - label: editor.lang.flash.access, - 'default': '', - style: 'width : 100%;', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.flash.accessAlways, 'always' ], - [ editor.lang.flash.accessSameDomain, 'samedomain' ], - [ editor.lang.flash.accessNever, 'never' ] - ], - setup: loadValue, - commit: commitValue - } - ] - }, - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - id: 'wmode', - type: 'select', - requiredContent: 'embed[wmode]', - label: editor.lang.flash.windowMode, - 'default': '', - style: 'width : 100%;', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.flash.windowModeWindow, 'window' ], - [ editor.lang.flash.windowModeOpaque, 'opaque' ], - [ editor.lang.flash.windowModeTransparent, 'transparent' ] - ], - setup: loadValue, - commit: commitValue - }, - { - id: 'quality', - type: 'select', - requiredContent: 'embed[quality]', - label: editor.lang.flash.quality, - 'default': 'high', - style: 'width : 100%;', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.flash.qualityBest, 'best' ], - [ editor.lang.flash.qualityHigh, 'high' ], - [ editor.lang.flash.qualityAutoHigh, 'autohigh' ], - [ editor.lang.flash.qualityMedium, 'medium' ], - [ editor.lang.flash.qualityAutoLow, 'autolow' ], - [ editor.lang.flash.qualityLow, 'low' ] - ], - setup: loadValue, - commit: commitValue - } - ] - }, - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - id: 'align', - type: 'select', - requiredContent: 'object[align]', - label: editor.lang.common.align, - 'default': '', - style: 'width : 100%;', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.alignLeft, 'left' ], - [ editor.lang.flash.alignAbsBottom, 'absBottom' ], - [ editor.lang.flash.alignAbsMiddle, 'absMiddle' ], - [ editor.lang.flash.alignBaseline, 'baseline' ], - [ editor.lang.common.alignBottom, 'bottom' ], - [ editor.lang.common.alignMiddle, 'middle' ], - [ editor.lang.common.alignRight, 'right' ], - [ editor.lang.flash.alignTextTop, 'textTop' ], - [ editor.lang.common.alignTop, 'top' ] - ], - setup: loadValue, - commit: function( objectNode, embedNode, paramMap, extraStyles, extraAttributes ) { - var value = this.getValue(); - commitValue.apply( this, arguments ); - value && ( extraAttributes.align = value ); - } - }, - { - type: 'html', - html: '
    ' - } - ] - }, - { - type: 'fieldset', - label: CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ), - children: [ - { - type: 'vbox', - padding: 0, - children: [ - { - type: 'checkbox', - id: 'menu', - label: editor.lang.flash.chkMenu, - 'default': true, - setup: loadValue, - commit: commitValue - }, - { - type: 'checkbox', - id: 'play', - label: editor.lang.flash.chkPlay, - 'default': true, - setup: loadValue, - commit: commitValue - }, - { - type: 'checkbox', - id: 'loop', - label: editor.lang.flash.chkLoop, - 'default': true, - setup: loadValue, - commit: commitValue - }, - { - type: 'checkbox', - id: 'allowFullScreen', - label: editor.lang.flash.chkFull, - 'default': true, - setup: loadValue, - commit: commitValue - } - ] - } - ] - } - ] - }, - { - id: 'advanced', - label: editor.lang.common.advancedTab, - elements: [ - { - type: 'hbox', - children: [ - { - type: 'text', - id: 'id', - requiredContent: 'object[id]', - label: editor.lang.common.id, - setup: loadValue, - commit: commitValue - } - ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ - { - type: 'text', - id: 'bgcolor', - requiredContent: 'embed[bgcolor]', - label: editor.lang.flash.bgcolor, - setup: loadValue, - commit: commitValue - }, - { - type: 'text', - id: 'class', - requiredContent: 'embed(cke-xyz)', // Random text like 'xyz' will check if all are allowed. - label: editor.lang.common.cssClass, - setup: loadValue, - commit: commitValue - } - ] - }, - { - type: 'text', - id: 'style', - requiredContent: 'embed{cke-xyz}', // Random text like 'xyz' will check if all are allowed. - validate: CKEDITOR.dialog.validate.inlineStyle( editor.lang.common.invalidInlineStyle ), - label: editor.lang.common.cssStyle, - setup: loadValue, - commit: commitValue - } - ] - } - ] - }; - } ); -} )(); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){function b(a,b,c){var k=n[this.id];if(k)for(var f=this instanceof CKEDITOR.ui.dialog.checkbox,e=0;e",a.getDocument());p.setAttributes({name:h.name,value:l});1>a.getChildCount()?p.appendTo(a):p.insertBefore(a.getFirst())}break;case i:if(!b)continue;l=this.getValue();f||e&&l===h["default"]?b.removeAttribute(h.name):b.setAttribute(h.name,l)}}}for(var g=1,o=2,i=4,n={id:[{type:g,name:"id"}],classid:[{type:g, +name:"classid"}],codebase:[{type:g,name:"codebase"}],pluginspage:[{type:i,name:"pluginspage"}],src:[{type:o,name:"movie"},{type:i,name:"src"},{type:g,name:"data"}],name:[{type:i,name:"name"}],align:[{type:g,name:"align"}],"class":[{type:g,name:"class"},{type:i,name:"class"}],width:[{type:g,name:"width"},{type:i,name:"width"}],height:[{type:g,name:"height"},{type:i,name:"height"}],hSpace:[{type:g,name:"hSpace"},{type:i,name:"hSpace"}],vSpace:[{type:g,name:"vSpace"},{type:i,name:"vSpace"}],style:[{type:g, +name:"style"},{type:i,name:"style"}],type:[{type:i,name:"type"}]},m="play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "),j=0;j"+CKEDITOR.tools.htmlEncode(a.lang.common.preview)+ +'
  • ';return{title:a.lang.flash.title,minWidth:420,minHeight:310,onShow:function(){this.fakeImage=this.objectNode=this.embedNode=null;k=new CKEDITOR.dom.element("embed",a.document);var e=this.getSelectedElement();if(e&&e.data("cke-real-element-type")&&"flash"==e.data("cke-real-element-type")){this.fakeImage= +e;var d=a.restoreRealElement(e),h=null,b=null,c={};if("cke:object"==d.getName()){h=d;d=h.getElementsByTag("embed","cke");0",a.document),e.setAttributes({classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"})),i)d=CKEDITOR.dom.element.createFromHtml("",a.document),d.setAttributes({type:"application/x-shockwave-flash",pluginspage:"http://www.macromedia.com/go/getflashplayer"}),e&&d.appendTo(e);if(e)for(var b={},c=e.getElementsByTag("param", +"cke"),f=0,j=c.count();f')};a.preview=a.getContentElement("info","preview").getElement().getChild(3);this.on("change",function(a){a.data&& +a.data.value&&b(a.data.value)});this.getInputElement().on("change",function(){b(this.getValue())},this)}},{type:"button",id:"browse",filebrowser:"info:src",hidden:!0,style:"display:inline-block;margin-top:14px;",label:a.lang.common.browseServer}]}]},{type:"hbox",widths:["25%","25%","25%","25%","25%"],children:[{type:"text",id:"width",requiredContent:"embed[width]",style:"width:95px",label:a.lang.common.width,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", +a.lang.common.width)),setup:b,commit:c},{type:"text",id:"height",requiredContent:"embed[height]",style:"width:95px",label:a.lang.common.height,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",a.lang.common.height)),setup:b,commit:c},{type:"text",id:"hSpace",requiredContent:"embed[hspace]",style:"width:95px",label:a.lang.flash.hSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace),setup:b,commit:c},{type:"text",id:"vSpace",requiredContent:"embed[vspace]", +style:"width:95px",label:a.lang.flash.vSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace),setup:b,commit:c}]},{type:"vbox",children:[{type:"html",id:"preview",style:"width:95%;",html:f}]}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:a.lang.common.upload,elements:[{type:"file",id:"upload",label:a.lang.common.upload,size:38},{type:"fileButton",id:"uploadButton",label:a.lang.common.uploadSubmit,filebrowser:"info:src","for":["Upload","upload"]}]},{id:"properties", +label:a.lang.flash.propertiesTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"scale",type:"select",requiredContent:"embed[scale]",label:a.lang.flash.scale,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.scaleAll,"showall"],[a.lang.flash.scaleNoBorder,"noborder"],[a.lang.flash.scaleFit,"exactfit"]],setup:b,commit:c},{id:"allowScriptAccess",type:"select",requiredContent:"embed[allowscriptaccess]",label:a.lang.flash.access,"default":"",style:"width : 100%;", +items:[[a.lang.common.notSet,""],[a.lang.flash.accessAlways,"always"],[a.lang.flash.accessSameDomain,"samedomain"],[a.lang.flash.accessNever,"never"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"wmode",type:"select",requiredContent:"embed[wmode]",label:a.lang.flash.windowMode,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.windowModeWindow,"window"],[a.lang.flash.windowModeOpaque,"opaque"],[a.lang.flash.windowModeTransparent,"transparent"]], +setup:b,commit:c},{id:"quality",type:"select",requiredContent:"embed[quality]",label:a.lang.flash.quality,"default":"high",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.qualityBest,"best"],[a.lang.flash.qualityHigh,"high"],[a.lang.flash.qualityAutoHigh,"autohigh"],[a.lang.flash.qualityMedium,"medium"],[a.lang.flash.qualityAutoLow,"autolow"],[a.lang.flash.qualityLow,"low"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"align",type:"select",requiredContent:"object[align]", +label:a.lang.common.align,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.common.alignLeft,"left"],[a.lang.flash.alignAbsBottom,"absBottom"],[a.lang.flash.alignAbsMiddle,"absMiddle"],[a.lang.flash.alignBaseline,"baseline"],[a.lang.common.alignBottom,"bottom"],[a.lang.common.alignMiddle,"middle"],[a.lang.common.alignRight,"right"],[a.lang.flash.alignTextTop,"textTop"],[a.lang.common.alignTop,"top"]],setup:b,commit:function(a,b,f,g,i){var j=this.getValue();c.apply(this,arguments); +j&&(i.align=j)}},{type:"html",html:"
    "}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"menu",label:a.lang.flash.chkMenu,"default":!0,setup:b,commit:c},{type:"checkbox",id:"play",label:a.lang.flash.chkPlay,"default":!0,setup:b,commit:c},{type:"checkbox",id:"loop",label:a.lang.flash.chkLoop,"default":!0,setup:b,commit:c},{type:"checkbox",id:"allowFullScreen",label:a.lang.flash.chkFull,"default":!0, +setup:b,commit:c}]}]}]},{id:"advanced",label:a.lang.common.advancedTab,elements:[{type:"hbox",children:[{type:"text",id:"id",requiredContent:"object[id]",label:a.lang.common.id,setup:b,commit:c}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",id:"bgcolor",requiredContent:"embed[bgcolor]",label:a.lang.flash.bgcolor,setup:b,commit:c},{type:"text",id:"class",requiredContent:"embed(cke-xyz)",label:a.lang.common.cssClass,setup:b,commit:c}]},{type:"text",id:"style",requiredContent:"embed{cke-xyz}", +validate:CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),label:a.lang.common.cssStyle,setup:b,commit:c}]}]}})})(); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/flash/icons/flash.png b/scripts/ckeditor/plugins/flash/icons/flash.png deleted file mode 100755 index df7b1c60..00000000 Binary files a/scripts/ckeditor/plugins/flash/icons/flash.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/flash/icons/hidpi/flash.png b/scripts/ckeditor/plugins/flash/icons/hidpi/flash.png deleted file mode 100755 index 7ad0e388..00000000 Binary files a/scripts/ckeditor/plugins/flash/icons/hidpi/flash.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/flash/images/placeholder.png b/scripts/ckeditor/plugins/flash/images/placeholder.png old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/flash/lang/af.js b/scripts/ckeditor/plugins/flash/lang/af.js deleted file mode 100755 index 5d781e41..00000000 --- a/scripts/ckeditor/plugins/flash/lang/af.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'af', { - access: 'Skrip toegang', - accessAlways: 'Altyd', - accessNever: 'Nooit', - accessSameDomain: 'Selfde domeinnaam', - alignAbsBottom: 'Absoluut-onder', - alignAbsMiddle: 'Absoluut-middel', - alignBaseline: 'Basislyn', - alignTextTop: 'Teks bo', - bgcolor: 'Agtergrondkleur', - chkFull: 'Laat volledige skerm toe', - chkLoop: 'Herhaal', - chkMenu: 'Flash spyskaart aan', - chkPlay: 'Speel outomaties', - flashvars: 'Veranderlikes vir Flash', - hSpace: 'HSpasie', - properties: 'Flash eienskappe', - propertiesTab: 'Eienskappe', - quality: 'Kwaliteit', - qualityAutoHigh: 'Outomaties hoog', - qualityAutoLow: 'Outomaties laag', - qualityBest: 'Beste', - qualityHigh: 'Hoog', - qualityLow: 'Laag', - qualityMedium: 'Gemiddeld', - scale: 'Skaal', - scaleAll: 'Wys alles', - scaleFit: 'Presiese pas', - scaleNoBorder: 'Geen rand', - title: 'Flash eienskappe', - vSpace: 'VSpasie', - validateHSpace: 'HSpasie moet \'n heelgetal wees.', - validateSrc: 'Voeg die URL in', - validateVSpace: 'VSpasie moet \'n heelgetal wees.', - windowMode: 'Venster modus', - windowModeOpaque: 'Ondeursigtig', - windowModeTransparent: 'Deursigtig', - windowModeWindow: 'Venster' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ar.js b/scripts/ckeditor/plugins/flash/lang/ar.js deleted file mode 100755 index 90416210..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ar.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ar', { - access: 'دخول النص البرمجي', - accessAlways: 'دائماً', - accessNever: 'مطلقاً', - accessSameDomain: 'نفس النطاق', - alignAbsBottom: 'أسفل النص', - alignAbsMiddle: 'وسط السطر', - alignBaseline: 'على السطر', - alignTextTop: 'أعلى النص', - bgcolor: 'لون الخلفية', - chkFull: 'ملء الشاشة', - chkLoop: 'تكرار', - chkMenu: 'تمكين قائمة فيلم الفلاش', - chkPlay: 'تشغيل تلقائي', - flashvars: 'متغيرات الفلاش', - hSpace: 'تباعد أفقي', - properties: 'خصائص الفلاش', - propertiesTab: 'الخصائص', - quality: 'جودة', - qualityAutoHigh: 'عالية تلقائياً', - qualityAutoLow: 'منخفضة تلقائياً', - qualityBest: 'أفضل', - qualityHigh: 'عالية', - qualityLow: 'منخفضة', - qualityMedium: 'متوسطة', - scale: 'الحجم', - scaleAll: 'إظهار الكل', - scaleFit: 'ضبط تام', - scaleNoBorder: 'بلا حدود', - title: 'خصائص فيلم الفلاش', - vSpace: 'تباعد عمودي', - validateHSpace: 'HSpace يجب أن يكون عدداً.', - validateSrc: 'فضلاً أدخل عنوان الموقع الذي يشير إليه الرابط', - validateVSpace: 'VSpace يجب أن يكون عدداً.', - windowMode: 'وضع النافذة', - windowModeOpaque: 'غير شفاف', - windowModeTransparent: 'شفاف', - windowModeWindow: 'نافذة' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/bg.js b/scripts/ckeditor/plugins/flash/lang/bg.js deleted file mode 100755 index eb8fa9cb..00000000 --- a/scripts/ckeditor/plugins/flash/lang/bg.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'bg', { - access: 'Достъп до скрипт', - accessAlways: 'Винаги', - accessNever: 'Никога', - accessSameDomain: 'Същият домейн', - alignAbsBottom: 'Най-долу', - alignAbsMiddle: 'Точно по средата', - alignBaseline: 'Базова линия', - alignTextTop: 'Върху текста', - bgcolor: 'Цвят на фона', - chkFull: 'Включи на цял екран', - chkLoop: 'Цикъл', - chkMenu: 'Разрешено Flash меню', - chkPlay: 'Авто. пускане', - flashvars: 'Променливи за Флаш', - hSpace: 'Хоризонтален отстъп', - properties: 'Настройки за флаш', - propertiesTab: 'Настройки', - quality: 'Качество', - qualityAutoHigh: 'Авто. високо', - qualityAutoLow: 'Авто. ниско', - qualityBest: 'Отлично', - qualityHigh: 'Високо', - qualityLow: 'Ниско', - qualityMedium: 'Средно', - scale: 'Оразмеряване', - scaleAll: 'Показва всичко', - scaleFit: 'Според мястото', - scaleNoBorder: 'Без рамка', - title: 'Настройки за флаш', - vSpace: 'Вертикален отстъп', - validateHSpace: 'HSpace трябва да е число.', - validateSrc: 'Уеб адреса не трябва да е празен.', - validateVSpace: 'VSpace трябва да е число.', - windowMode: 'Режим на прозореца', - windowModeOpaque: 'Плътност', - windowModeTransparent: 'Прозрачност', - windowModeWindow: 'Прозорец' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/bn.js b/scripts/ckeditor/plugins/flash/lang/bn.js deleted file mode 100755 index 59f79688..00000000 --- a/scripts/ckeditor/plugins/flash/lang/bn.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'bn', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs নীচে', - alignAbsMiddle: 'Abs উপর', - alignBaseline: 'মূল রেখা', - alignTextTop: 'টেক্সট উপর', - bgcolor: 'বেকগ্রাউন্ড রং', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'লূপ', - chkMenu: 'ফ্ল্যাশ মেনু এনাবল কর', - chkPlay: 'অটো প্লে', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'হরাইজন্টাল স্পেস', - properties: 'ফ্লাশ প্রোপার্টি', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'স্কেল', - scaleAll: 'সব দেখাও', - scaleFit: 'নিখুঁত ফিট', - scaleNoBorder: 'কোনো বর্ডার নেই', - title: 'ফ্ল্যাশ প্রোপার্টি', - vSpace: 'ভার্টিকেল স্পেস', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'অনুগ্রহ করে URL লিংক টাইপ করুন', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/bs.js b/scripts/ckeditor/plugins/flash/lang/bs.js deleted file mode 100755 index 44ee7915..00000000 --- a/scripts/ckeditor/plugins/flash/lang/bs.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'bs', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs dole', - alignAbsMiddle: 'Abs sredina', - alignBaseline: 'Bazno', - alignTextTop: 'Vrh teksta', - bgcolor: 'Boja pozadine', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Loop', // MISSING - chkMenu: 'Enable Flash Menu', // MISSING - chkPlay: 'Auto Play', // MISSING - flashvars: 'Variables for Flash', // MISSING - hSpace: 'HSpace', - properties: 'Flash Properties', // MISSING - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Scale', // MISSING - scaleAll: 'Show all', // MISSING - scaleFit: 'Exact Fit', // MISSING - scaleNoBorder: 'No Border', // MISSING - title: 'Flash Properties', // MISSING - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'Molimo ukucajte URL link', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ca.js b/scripts/ckeditor/plugins/flash/lang/ca.js deleted file mode 100755 index 43f51225..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ca.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ca', { - access: 'Accés a scripts', - accessAlways: 'Sempre', - accessNever: 'Mai', - accessSameDomain: 'El mateix domini', - alignAbsBottom: 'Abs Bottom', - alignAbsMiddle: 'Abs Middle', - alignBaseline: 'Baseline', - alignTextTop: 'Text Superior', - bgcolor: 'Color de Fons', - chkFull: 'Permetre la pantalla completa', - chkLoop: 'Bucle', - chkMenu: 'Habilita menú Flash', - chkPlay: 'Reprodució automàtica', - flashvars: 'Variables de Flash', - hSpace: 'Espaiat horitzontal', - properties: 'Propietats del Flash', - propertiesTab: 'Propietats', - quality: 'Qualitat', - qualityAutoHigh: 'Alta automàtica', - qualityAutoLow: 'Baixa automàtica', - qualityBest: 'La millor', - qualityHigh: 'Alta', - qualityLow: 'Baixa', - qualityMedium: 'Mitjana', - scale: 'Escala', - scaleAll: 'Mostra-ho tot', - scaleFit: 'Mida exacta', - scaleNoBorder: 'Sense vores', - title: 'Propietats del Flash', - vSpace: 'Espaiat vertical', - validateHSpace: 'L\'espaiat horitzontal ha de ser un número.', - validateSrc: 'La URL no pot estar buida.', - validateVSpace: 'L\'espaiat vertical ha de ser un número.', - windowMode: 'Mode de la finestra', - windowModeOpaque: 'Opaca', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Finestra' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/cs.js b/scripts/ckeditor/plugins/flash/lang/cs.js deleted file mode 100755 index adf46ebc..00000000 --- a/scripts/ckeditor/plugins/flash/lang/cs.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'cs', { - access: 'Přístup ke skriptu', - accessAlways: 'Vždy', - accessNever: 'Nikdy', - accessSameDomain: 'Ve stejné doméně', - alignAbsBottom: 'Zcela dolů', - alignAbsMiddle: 'Doprostřed', - alignBaseline: 'Na účaří', - alignTextTop: 'Na horní okraj textu', - bgcolor: 'Barva pozadí', - chkFull: 'Povolit celoobrazovkový režim', - chkLoop: 'Opakování', - chkMenu: 'Nabídka Flash', - chkPlay: 'Automatické spuštění', - flashvars: 'Proměnné pro Flash', - hSpace: 'Horizontální mezera', - properties: 'Vlastnosti Flashe', - propertiesTab: 'Vlastnosti', - quality: 'Kvalita', - qualityAutoHigh: 'Vysoká - auto', - qualityAutoLow: 'Nízká - auto', - qualityBest: 'Nejlepší', - qualityHigh: 'Vysoká', - qualityLow: 'Nejnižší', - qualityMedium: 'Střední', - scale: 'Zobrazit', - scaleAll: 'Zobrazit vše', - scaleFit: 'Přizpůsobit', - scaleNoBorder: 'Bez okraje', - title: 'Vlastnosti Flashe', - vSpace: 'Vertikální mezera', - validateHSpace: 'Zadaná horizontální mezera musí být číslo.', - validateSrc: 'Zadejte prosím URL odkazu', - validateVSpace: 'Zadaná vertikální mezera musí být číslo.', - windowMode: 'Režim okna', - windowModeOpaque: 'Neprůhledné', - windowModeTransparent: 'Průhledné', - windowModeWindow: 'Okno' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/cy.js b/scripts/ckeditor/plugins/flash/lang/cy.js deleted file mode 100755 index 8ed99fce..00000000 --- a/scripts/ckeditor/plugins/flash/lang/cy.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'cy', { - access: 'Mynediad Sgript', - accessAlways: 'Pob amser', - accessNever: 'Byth', - accessSameDomain: 'R\'un parth', - alignAbsBottom: 'Gwaelod Abs', - alignAbsMiddle: 'Canol Abs', - alignBaseline: 'Baslinell', - alignTextTop: 'Testun Top', - bgcolor: 'Lliw cefndir', - chkFull: 'Caniatàu Sgrin Llawn', - chkLoop: 'Lwpio', - chkMenu: 'Galluogi Dewislen Flash', - chkPlay: 'AwtoChwarae', - flashvars: 'Newidynnau ar gyfer Flash', - hSpace: 'BwlchLl', - properties: 'Priodweddau Flash', - propertiesTab: 'Priodweddau', - quality: 'Ansawdd', - qualityAutoHigh: 'Uchel Awto', - qualityAutoLow: 'Isel Awto', - qualityBest: 'Gorau', - qualityHigh: 'Uchel', - qualityLow: 'Isel', - qualityMedium: 'Canolig', - scale: 'Graddfa', - scaleAll: 'Dangos pob', - scaleFit: 'Ffit Union', - scaleNoBorder: 'Dim Ymyl', - title: 'Priodweddau Flash', - vSpace: 'BwlchF', - validateHSpace: 'Rhaid i\'r BwlchLl fod yn rhif.', - validateSrc: 'Ni all yr URL fod yn wag.', - validateVSpace: 'Rhaid i\'r BwlchF fod yn rhif.', - windowMode: 'Modd ffenestr', - windowModeOpaque: 'Afloyw', - windowModeTransparent: 'Tryloyw', - windowModeWindow: 'Ffenestr' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/da.js b/scripts/ckeditor/plugins/flash/lang/da.js deleted file mode 100755 index a28a5c39..00000000 --- a/scripts/ckeditor/plugins/flash/lang/da.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'da', { - access: 'Scriptadgang', - accessAlways: 'Altid', - accessNever: 'Aldrig', - accessSameDomain: 'Samme domæne', - alignAbsBottom: 'Absolut nederst', - alignAbsMiddle: 'Absolut centreret', - alignBaseline: 'Grundlinje', - alignTextTop: 'Toppen af teksten', - bgcolor: 'Baggrundsfarve', - chkFull: 'Tillad fuldskærm', - chkLoop: 'Gentagelse', - chkMenu: 'Vis Flash-menu', - chkPlay: 'Automatisk afspilning', - flashvars: 'Variabler for Flash', - hSpace: 'Vandret margen', - properties: 'Egenskaber for Flash', - propertiesTab: 'Egenskaber', - quality: 'Kvalitet', - qualityAutoHigh: 'Auto høj', - qualityAutoLow: 'Auto lav', - qualityBest: 'Bedste', - qualityHigh: 'Høj', - qualityLow: 'Lav', - qualityMedium: 'Medium', - scale: 'Skalér', - scaleAll: 'Vis alt', - scaleFit: 'Tilpas størrelse', - scaleNoBorder: 'Ingen ramme', - title: 'Egenskaber for Flash', - vSpace: 'Lodret margen', - validateHSpace: 'Vandret margen skal være et tal.', - validateSrc: 'Indtast hyperlink URL!', - validateVSpace: 'Lodret margen skal være et tal.', - windowMode: 'Vinduestilstand', - windowModeOpaque: 'Gennemsigtig (opaque)', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Vindue' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/de.js b/scripts/ckeditor/plugins/flash/lang/de.js deleted file mode 100755 index f36da28b..00000000 --- a/scripts/ckeditor/plugins/flash/lang/de.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'de', { - access: 'Skript Zugang', - accessAlways: 'Immer', - accessNever: 'Nie', - accessSameDomain: 'Gleiche Domain', - alignAbsBottom: 'Abs Unten', - alignAbsMiddle: 'Abs Mitte', - alignBaseline: 'Baseline', - alignTextTop: 'Text Oben', - bgcolor: 'Hintergrundfarbe', - chkFull: 'Vollbildmodus erlauben', - chkLoop: 'Endlosschleife', - chkMenu: 'Flash-Menü aktivieren', - chkPlay: 'Automatisch Abspielen', - flashvars: 'Variablen für Flash', - hSpace: 'Horizontal-Abstand', - properties: 'Flash-Eigenschaften', - propertiesTab: 'Eigenschaften', - quality: 'Qualität', - qualityAutoHigh: 'Auto Hoch', - qualityAutoLow: 'Auto Niedrig', - qualityBest: 'Beste', - qualityHigh: 'Hoch', - qualityLow: 'Niedrig', - qualityMedium: 'Medium', - scale: 'Skalierung', - scaleAll: 'Alles anzeigen', - scaleFit: 'Passgenau', - scaleNoBorder: 'Ohne Rand', - title: 'Flash-Eigenschaften', - vSpace: 'Vertikal-Abstand', - validateHSpace: 'HSpace muss eine Zahl sein.', - validateSrc: 'Bitte geben Sie die Link-URL an', - validateVSpace: 'VSpace muss eine Zahl sein.', - windowMode: 'Fenster Modus', - windowModeOpaque: 'Deckend', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Fenster' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/el.js b/scripts/ckeditor/plugins/flash/lang/el.js deleted file mode 100755 index 1f1b32c4..00000000 --- a/scripts/ckeditor/plugins/flash/lang/el.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'el', { - access: 'Πρόσβαση Script', - accessAlways: 'Πάντα', - accessNever: 'Ποτέ', - accessSameDomain: 'Ίδιο όνομα τομέα', - alignAbsBottom: 'Απόλυτα Κάτω', - alignAbsMiddle: 'Απόλυτα στη Μέση', - alignBaseline: 'Γραμμή Βάσης', - alignTextTop: 'Κορυφή Κειμένου', - bgcolor: 'Χρώμα Υποβάθρου', - chkFull: 'Να Επιτρέπεται η Προβολή σε Πλήρη Οθόνη', - chkLoop: 'Επανάληψη', - chkMenu: 'Ενεργοποίηση Flash Menu', - chkPlay: 'Αυτόματη Εκτέλεση', - flashvars: 'Μεταβλητές για Flash', - hSpace: 'Οριζόντιο Διάστημα', - properties: 'Ιδιότητες Flash', - propertiesTab: 'Ιδιότητες', - quality: 'Ποιότητα', - qualityAutoHigh: 'Αυτόματη Υψηλή', - qualityAutoLow: 'Αυτόματη Χαμηλή', - qualityBest: 'Καλύτερη', - qualityHigh: 'Υψηλή', - qualityLow: 'Χαμηλή', - qualityMedium: 'Μεσαία', - scale: 'Μεγέθυνση', - scaleAll: 'Εμφάνιση όλων', - scaleFit: 'Ακριβές Μέγεθος', - scaleNoBorder: 'Χωρίς Περίγραμμα', - title: 'Ιδιότητες Flash', - vSpace: 'Κάθετο Διάστημα', - validateHSpace: 'Το HSpace πρέπει να είναι αριθμός.', - validateSrc: 'Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)', - validateVSpace: 'Το VSpace πρέπει να είναι αριθμός.', - windowMode: 'Τρόπος λειτουργίας παραθύρου', - windowModeOpaque: 'Συμπαγές', - windowModeTransparent: 'Διάφανο', - windowModeWindow: 'Παράθυρο' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/en-au.js b/scripts/ckeditor/plugins/flash/lang/en-au.js deleted file mode 100755 index 8d7a1709..00000000 --- a/scripts/ckeditor/plugins/flash/lang/en-au.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'en-au', { - access: 'Script Access', - accessAlways: 'Always', - accessNever: 'Never', - accessSameDomain: 'Same domain', - alignAbsBottom: 'Abs Bottom', - alignAbsMiddle: 'Abs Middle', - alignBaseline: 'Baseline', - alignTextTop: 'Text Top', - bgcolor: 'Background colour', - chkFull: 'Allow Fullscreen', - chkLoop: 'Loop', - chkMenu: 'Enable Flash Menu', - chkPlay: 'Auto Play', - flashvars: 'Variables for Flash', - hSpace: 'HSpace', - properties: 'Flash Properties', - propertiesTab: 'Properties', - quality: 'Quality', - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Scale', - scaleAll: 'Show all', - scaleFit: 'Exact Fit', - scaleNoBorder: 'No Border', - title: 'Flash Properties', - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', - validateSrc: 'URL must not be empty.', - validateVSpace: 'VSpace must be a number.', - windowMode: 'Window mode', - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/en-ca.js b/scripts/ckeditor/plugins/flash/lang/en-ca.js deleted file mode 100755 index 94ec0a80..00000000 --- a/scripts/ckeditor/plugins/flash/lang/en-ca.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'en-ca', { - access: 'Script Access', - accessAlways: 'Always', - accessNever: 'Never', - accessSameDomain: 'Same domain', - alignAbsBottom: 'Abs Bottom', - alignAbsMiddle: 'Abs Middle', - alignBaseline: 'Baseline', - alignTextTop: 'Text Top', - bgcolor: 'Background colour', - chkFull: 'Allow Fullscreen', - chkLoop: 'Loop', - chkMenu: 'Enable Flash Menu', - chkPlay: 'Auto Play', - flashvars: 'Variables for Flash', - hSpace: 'HSpace', - properties: 'Flash Properties', - propertiesTab: 'Properties', - quality: 'Quality', - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Scale', - scaleAll: 'Show all', - scaleFit: 'Exact Fit', - scaleNoBorder: 'No Border', - title: 'Flash Properties', - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', - validateSrc: 'URL must not be empty.', - validateVSpace: 'VSpace must be a number.', - windowMode: 'Window mode', - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/en-gb.js b/scripts/ckeditor/plugins/flash/lang/en-gb.js deleted file mode 100755 index 0354576f..00000000 --- a/scripts/ckeditor/plugins/flash/lang/en-gb.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'en-gb', { - access: 'Script Access', - accessAlways: 'Always', - accessNever: 'Never', - accessSameDomain: 'Same domain', - alignAbsBottom: 'Abs Bottom', - alignAbsMiddle: 'Abs Middle', - alignBaseline: 'Baseline', - alignTextTop: 'Text Top', - bgcolor: 'Background colour', - chkFull: 'Allow Fullscreen', - chkLoop: 'Loop', - chkMenu: 'Enable Flash Menu', - chkPlay: 'Auto Play', - flashvars: 'Variables for Flash', - hSpace: 'HSpace', - properties: 'Flash Properties', - propertiesTab: 'Properties', - quality: 'Quality', - qualityAutoHigh: 'Auto High', - qualityAutoLow: 'Auto Low', - qualityBest: 'Best', - qualityHigh: 'High', - qualityLow: 'Low', - qualityMedium: 'Medium', - scale: 'Scale', - scaleAll: 'Show all', - scaleFit: 'Exact Fit', - scaleNoBorder: 'No Border', - title: 'Flash Properties', - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', - validateSrc: 'URL must not be empty.', - validateVSpace: 'VSpace must be a number.', - windowMode: 'Window mode', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Window' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/en.js b/scripts/ckeditor/plugins/flash/lang/en.js deleted file mode 100755 index 9844b2a2..00000000 --- a/scripts/ckeditor/plugins/flash/lang/en.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'en', { - access: 'Script Access', - accessAlways: 'Always', - accessNever: 'Never', - accessSameDomain: 'Same domain', - alignAbsBottom: 'Abs Bottom', - alignAbsMiddle: 'Abs Middle', - alignBaseline: 'Baseline', - alignTextTop: 'Text Top', - bgcolor: 'Background color', - chkFull: 'Allow Fullscreen', - chkLoop: 'Loop', - chkMenu: 'Enable Flash Menu', - chkPlay: 'Auto Play', - flashvars: 'Variables for Flash', - hSpace: 'HSpace', - properties: 'Flash Properties', - propertiesTab: 'Properties', - quality: 'Quality', - qualityAutoHigh: 'Auto High', - qualityAutoLow: 'Auto Low', - qualityBest: 'Best', - qualityHigh: 'High', - qualityLow: 'Low', - qualityMedium: 'Medium', - scale: 'Scale', - scaleAll: 'Show all', - scaleFit: 'Exact Fit', - scaleNoBorder: 'No Border', - title: 'Flash Properties', - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', - validateSrc: 'URL must not be empty.', - validateVSpace: 'VSpace must be a number.', - windowMode: 'Window mode', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Window' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/eo.js b/scripts/ckeditor/plugins/flash/lang/eo.js deleted file mode 100755 index 047a33e3..00000000 --- a/scripts/ckeditor/plugins/flash/lang/eo.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'eo', { - access: 'Atingi skriptojn', - accessAlways: 'Ĉiam', - accessNever: 'Neniam', - accessSameDomain: 'Sama domajno', - alignAbsBottom: 'Absoluta Malsupro', - alignAbsMiddle: 'Absoluta Centro', - alignBaseline: 'TekstoMalsupro', - alignTextTop: 'TekstoSupro', - bgcolor: 'Fona Koloro', - chkFull: 'Permesi tutekranon', - chkLoop: 'Iteracio', - chkMenu: 'Ebligi flaŝmenuon', - chkPlay: 'Aŭtomata legado', - flashvars: 'Variabloj por Flaŝo', - hSpace: 'Horizontala Spaco', - properties: 'Flaŝatributoj', - propertiesTab: 'Atributoj', - quality: 'Kvalito', - qualityAutoHigh: 'Aŭtomate alta', - qualityAutoLow: 'Aŭtomate malalta', - qualityBest: 'Plej bona', - qualityHigh: 'Alta', - qualityLow: 'Malalta', - qualityMedium: 'Meza', - scale: 'Skalo', - scaleAll: 'Montri ĉion', - scaleFit: 'Origina grando', - scaleNoBorder: 'Neniu bordero', - title: 'Flaŝatributoj', - vSpace: 'Vertikala Spaco', - validateHSpace: 'Horizontala Spaco devas esti nombro.', - validateSrc: 'Bonvolu entajpi la retadreson (URL)', - validateVSpace: 'Vertikala Spaco devas esti nombro.', - windowMode: 'Fenestra reĝimo', - windowModeOpaque: 'Opaka', - windowModeTransparent: 'Travidebla', - windowModeWindow: 'Fenestro' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/es.js b/scripts/ckeditor/plugins/flash/lang/es.js deleted file mode 100755 index 14471669..00000000 --- a/scripts/ckeditor/plugins/flash/lang/es.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'es', { - access: 'Acceso de scripts', - accessAlways: 'Siempre', - accessNever: 'Nunca', - accessSameDomain: 'Mismo dominio', - alignAbsBottom: 'Abs inferior', - alignAbsMiddle: 'Abs centro', - alignBaseline: 'Línea de base', - alignTextTop: 'Tope del texto', - bgcolor: 'Color de Fondo', - chkFull: 'Permitir pantalla completa', - chkLoop: 'Repetir', - chkMenu: 'Activar Menú Flash', - chkPlay: 'Autoejecución', - flashvars: 'Opciones', - hSpace: 'Esp.Horiz', - properties: 'Propiedades de Flash', - propertiesTab: 'Propiedades', - quality: 'Calidad', - qualityAutoHigh: 'Auto Alta', - qualityAutoLow: 'Auto Baja', - qualityBest: 'La mejor', - qualityHigh: 'Alta', - qualityLow: 'Baja', - qualityMedium: 'Media', - scale: 'Escala', - scaleAll: 'Mostrar todo', - scaleFit: 'Ajustado', - scaleNoBorder: 'Sin Borde', - title: 'Propiedades de Flash', - vSpace: 'Esp.Vert', - validateHSpace: 'Esp.Horiz debe ser un número.', - validateSrc: 'Por favor escriba el vínculo URL', - validateVSpace: 'Esp.Vert debe ser un número.', - windowMode: 'WindowMode', - windowModeOpaque: 'Opaco', - windowModeTransparent: 'Transparente', - windowModeWindow: 'Ventana' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/et.js b/scripts/ckeditor/plugins/flash/lang/et.js deleted file mode 100755 index f50135a2..00000000 --- a/scripts/ckeditor/plugins/flash/lang/et.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'et', { - access: 'Skriptide ligipääs', - accessAlways: 'Kõigile', - accessNever: 'Mitte ühelegi', - accessSameDomain: 'Samalt domeenilt', - alignAbsBottom: 'Abs alla', - alignAbsMiddle: 'Abs keskele', - alignBaseline: 'Baasjoonele', - alignTextTop: 'Tekstist üles', - bgcolor: 'Tausta värv', - chkFull: 'Täisekraan lubatud', - chkLoop: 'Korduv', - chkMenu: 'Flashi menüü lubatud', - chkPlay: 'Automaatne start ', - flashvars: 'Flashi muutujad', - hSpace: 'H. vaheruum', - properties: 'Flashi omadused', - propertiesTab: 'Omadused', - quality: 'Kvaliteet', - qualityAutoHigh: 'Automaatne kõrge', - qualityAutoLow: 'Automaatne madal', - qualityBest: 'Parim', - qualityHigh: 'Kõrge', - qualityLow: 'Madal', - qualityMedium: 'Keskmine', - scale: 'Mastaap', - scaleAll: 'Näidatakse kõike', - scaleFit: 'Täpne sobivus', - scaleNoBorder: 'Äärist ei ole', - title: 'Flashi omadused', - vSpace: 'V. vaheruum', - validateHSpace: 'H. vaheruum peab olema number.', - validateSrc: 'Palun kirjuta lingi URL', - validateVSpace: 'V. vaheruum peab olema number.', - windowMode: 'Akna režiim', - windowModeOpaque: 'Läbipaistmatu', - windowModeTransparent: 'Läbipaistev', - windowModeWindow: 'Aken' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/eu.js b/scripts/ckeditor/plugins/flash/lang/eu.js deleted file mode 100755 index ac83dfa3..00000000 --- a/scripts/ckeditor/plugins/flash/lang/eu.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'eu', { - access: 'Scriptak baimendu', - accessAlways: 'Beti', - accessNever: 'Inoiz ere ez', - accessSameDomain: 'Domeinu berdinekoak', - alignAbsBottom: 'Abs Behean', - alignAbsMiddle: 'Abs Erdian', - alignBaseline: 'Oinan', - alignTextTop: 'Testua Goian', - bgcolor: 'Atzeko kolorea', - chkFull: 'Onartu Pantaila osoa', - chkLoop: 'Begizta', - chkMenu: 'Flasharen Menua Gaitu', - chkPlay: 'Automatikoki Erreproduzitu', - flashvars: 'Flash Aldagaiak', - hSpace: 'HSpace', - properties: 'Flasharen Ezaugarriak', - propertiesTab: 'Ezaugarriak', - quality: 'Kalitatea', - qualityAutoHigh: 'Auto Altua', - qualityAutoLow: 'Auto Baxua', - qualityBest: 'Hoberena', - qualityHigh: 'Altua', - qualityLow: 'Baxua', - qualityMedium: 'Ertaina', - scale: 'Eskalatu', - scaleAll: 'Dena erakutsi', - scaleFit: 'Doitu', - scaleNoBorder: 'Ertzik gabe', - title: 'Flasharen Ezaugarriak', - vSpace: 'VSpace', - validateHSpace: 'HSpace zenbaki bat izan behar da.', - validateSrc: 'Mesedez URL esteka idatzi', - validateVSpace: 'VSpace zenbaki bat izan behar da.', - windowMode: 'Leihoaren modua', - windowModeOpaque: 'Opakoa', - windowModeTransparent: 'Gardena', - windowModeWindow: 'Leihoa' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/fa.js b/scripts/ckeditor/plugins/flash/lang/fa.js deleted file mode 100755 index dacec464..00000000 --- a/scripts/ckeditor/plugins/flash/lang/fa.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'fa', { - access: 'دسترسی به اسکریپت', - accessAlways: 'همیشه', - accessNever: 'هرگز', - accessSameDomain: 'همان دامنه', - alignAbsBottom: 'پائین مطلق', - alignAbsMiddle: 'وسط مطلق', - alignBaseline: 'خط پایه', - alignTextTop: 'متن بالا', - bgcolor: 'رنگ پس​زمینه', - chkFull: 'اجازه تمام صفحه', - chkLoop: 'اجرای پیاپی', - chkMenu: 'در دسترس بودن منوی فلش', - chkPlay: 'آغاز خودکار', - flashvars: 'مقادیر برای فلش', - hSpace: 'فاصلهٴ افقی', - properties: 'ویژگی​های فلش', - propertiesTab: 'ویژگی​ها', - quality: 'کیفیت', - qualityAutoHigh: 'بالا - خودکار', - qualityAutoLow: 'پایین - خودکار', - qualityBest: 'بهترین', - qualityHigh: 'بالا', - qualityLow: 'پایین', - qualityMedium: 'متوسط', - scale: 'مقیاس', - scaleAll: 'نمایش همه', - scaleFit: 'جایگیری کامل', - scaleNoBorder: 'بدون کران', - title: 'ویژگی​های فلش', - vSpace: 'فاصلهٴ عمودی', - validateHSpace: 'مقدار فاصله گذاری افقی باید یک عدد باشد.', - validateSrc: 'لطفا URL پیوند را بنویسید', - validateVSpace: 'مقدار فاصله گذاری عمودی باید یک عدد باشد.', - windowMode: 'حالت پنجره', - windowModeOpaque: 'مات', - windowModeTransparent: 'شفاف', - windowModeWindow: 'پنجره' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/fi.js b/scripts/ckeditor/plugins/flash/lang/fi.js deleted file mode 100755 index ca21f1f7..00000000 --- a/scripts/ckeditor/plugins/flash/lang/fi.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'fi', { - access: 'Skriptien pääsy', - accessAlways: 'Aina', - accessNever: 'Ei koskaan', - accessSameDomain: 'Sama verkkotunnus', - alignAbsBottom: 'Aivan alas', - alignAbsMiddle: 'Aivan keskelle', - alignBaseline: 'Alas (teksti)', - alignTextTop: 'Ylös (teksti)', - bgcolor: 'Taustaväri', - chkFull: 'Salli kokoruututila', - chkLoop: 'Toisto', - chkMenu: 'Näytä Flash-valikko', - chkPlay: 'Automaattinen käynnistys', - flashvars: 'Muuttujat Flash:lle', - hSpace: 'Vaakatila', - properties: 'Flash-ominaisuudet', - propertiesTab: 'Ominaisuudet', - quality: 'Laatu', - qualityAutoHigh: 'Automaattinen korkea', - qualityAutoLow: 'Automaattinen matala', - qualityBest: 'Paras', - qualityHigh: 'Korkea', - qualityLow: 'Matala', - qualityMedium: 'Keskitaso', - scale: 'Levitä', - scaleAll: 'Näytä kaikki', - scaleFit: 'Tarkka koko', - scaleNoBorder: 'Ei rajaa', - title: 'Flash ominaisuudet', - vSpace: 'Pystytila', - validateHSpace: 'Vaakatilan täytyy olla numero.', - validateSrc: 'Linkille on kirjoitettava URL', - validateVSpace: 'Pystytilan täytyy olla numero.', - windowMode: 'Ikkuna tila', - windowModeOpaque: 'Läpinäkyvyys', - windowModeTransparent: 'Läpinäkyvä', - windowModeWindow: 'Ikkuna' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/fo.js b/scripts/ckeditor/plugins/flash/lang/fo.js deleted file mode 100755 index e7256fde..00000000 --- a/scripts/ckeditor/plugins/flash/lang/fo.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'fo', { - access: 'Script atgongd', - accessAlways: 'Altíð', - accessNever: 'Ongantíð', - accessSameDomain: 'Sama navnaøki', - alignAbsBottom: 'Abs botnur', - alignAbsMiddle: 'Abs miðja', - alignBaseline: 'Basislinja', - alignTextTop: 'Tekst toppur', - bgcolor: 'Bakgrundslitur', - chkFull: 'Loyv fullan skerm', - chkLoop: 'Endurspæl', - chkMenu: 'Ger Flash skrá virkna', - chkPlay: 'Avspælingin byrjar sjálv', - flashvars: 'Variablar fyri Flash', - hSpace: 'Høgri breddi', - properties: 'Flash eginleikar', - propertiesTab: 'Eginleikar', - quality: 'Góðska', - qualityAutoHigh: 'Auto høg', - qualityAutoLow: 'Auto Lág', - qualityBest: 'Besta', - qualityHigh: 'Høg', - qualityLow: 'Lág', - qualityMedium: 'Meðal', - scale: 'Skalering', - scaleAll: 'Vís alt', - scaleFit: 'Neyv skalering', - scaleNoBorder: 'Eingin bordi', - title: 'Flash eginleikar', - vSpace: 'Vinstri breddi', - validateHSpace: 'HSpace má vera eitt tal.', - validateSrc: 'Vinarliga skriva tilknýti (URL)', - validateVSpace: 'VSpace má vera eitt tal.', - windowMode: 'Slag av rúti', - windowModeOpaque: 'Ikki transparent', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Rútur' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/fr-ca.js b/scripts/ckeditor/plugins/flash/lang/fr-ca.js deleted file mode 100755 index ea01db18..00000000 --- a/scripts/ckeditor/plugins/flash/lang/fr-ca.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'fr-ca', { - access: 'Accès au script', - accessAlways: 'Toujours', - accessNever: 'Jamais', - accessSameDomain: 'Même domaine', - alignAbsBottom: 'Bas absolu', - alignAbsMiddle: 'Milieu absolu', - alignBaseline: 'Bas du texte', - alignTextTop: 'Haut du texte', - bgcolor: 'Couleur de fond', - chkFull: 'Permettre le plein-écran', - chkLoop: 'Boucle', - chkMenu: 'Activer le menu Flash', - chkPlay: 'Lecture automatique', - flashvars: 'Variables pour Flash', - hSpace: 'Espacement horizontal', - properties: 'Propriétés de l\'animation Flash', - propertiesTab: 'Propriétés', - quality: 'Qualité', - qualityAutoHigh: 'Haute auto', - qualityAutoLow: 'Basse auto', - qualityBest: 'Meilleur', - qualityHigh: 'Haute', - qualityLow: 'Basse', - qualityMedium: 'Moyenne', - scale: 'Échelle', - scaleAll: 'Afficher tout', - scaleFit: 'Ajuster aux dimensions', - scaleNoBorder: 'Sans bordure', - title: 'Propriétés de l\'animation Flash', - vSpace: 'Espacement vertical', - validateHSpace: 'L\'espacement horizontal doit être un entier.', - validateSrc: 'Veuillez saisir l\'URL', - validateVSpace: 'L\'espacement vertical doit être un entier.', - windowMode: 'Mode de fenêtre', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Fenêtre' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/fr.js b/scripts/ckeditor/plugins/flash/lang/fr.js deleted file mode 100755 index fc7e69d0..00000000 --- a/scripts/ckeditor/plugins/flash/lang/fr.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'fr', { - access: 'Accès aux scripts', - accessAlways: 'Toujours', - accessNever: 'Jamais', - accessSameDomain: 'Même domaine', - alignAbsBottom: 'Bas absolu', - alignAbsMiddle: 'Milieu absolu', - alignBaseline: 'Bas du texte', - alignTextTop: 'Haut du texte', - bgcolor: 'Couleur d\'arrière-plan', - chkFull: 'Permettre le plein écran', - chkLoop: 'Boucle', - chkMenu: 'Activer le menu Flash', - chkPlay: 'Jouer automatiquement', - flashvars: 'Variables du Flash', - hSpace: 'Espacement horizontal', - properties: 'Propriétés du Flash', - propertiesTab: 'Propriétés', - quality: 'Qualité', - qualityAutoHigh: 'Haute Auto', - qualityAutoLow: 'Basse Auto', - qualityBest: 'Meilleure', - qualityHigh: 'Haute', - qualityLow: 'Basse', - qualityMedium: 'Moyenne', - scale: 'Echelle', - scaleAll: 'Afficher tout', - scaleFit: 'Taille d\'origine', - scaleNoBorder: 'Pas de bordure', - title: 'Propriétés du Flash', - vSpace: 'Espacement vertical', - validateHSpace: 'L\'espacement horizontal doit être un nombre.', - validateSrc: 'L\'adresse ne doit pas être vide.', - validateVSpace: 'L\'espacement vertical doit être un nombre.', - windowMode: 'Mode fenêtre', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Fenêtre' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/gl.js b/scripts/ckeditor/plugins/flash/lang/gl.js deleted file mode 100755 index c450cb68..00000000 --- a/scripts/ckeditor/plugins/flash/lang/gl.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'gl', { - access: 'Acceso de scripts', - accessAlways: 'Sempre', - accessNever: 'Nunca', - accessSameDomain: 'Mesmo dominio', - alignAbsBottom: 'Abs Inferior', - alignAbsMiddle: 'Abs centro', - alignBaseline: 'Liña de base', - alignTextTop: 'Tope do texto', - bgcolor: 'Cor do fondo', - chkFull: 'Permitir pantalla completa', - chkLoop: 'Repetir', - chkMenu: 'Activar o menú do «Flash»', - chkPlay: 'Reprodución auomática', - flashvars: 'Opcións do «Flash»', - hSpace: 'Esp. Horiz.', - properties: 'Propiedades do «Flash»', - propertiesTab: 'Propiedades', - quality: 'Calidade', - qualityAutoHigh: 'Alta, automática', - qualityAutoLow: 'Baixa, automática', - qualityBest: 'A mellor', - qualityHigh: 'Alta', - qualityLow: 'Baixa', - qualityMedium: 'Media', - scale: 'Escalar', - scaleAll: 'Amosar todo', - scaleFit: 'Encaixar axustando', - scaleNoBorder: 'Sen bordo', - title: 'Propiedades do «Flash»', - vSpace: 'Esp.Vert.', - validateHSpace: 'O espazado horizontal debe ser un número.', - validateSrc: 'O URL non pode estar baleiro.', - validateVSpace: 'O espazado vertical debe ser un número.', - windowMode: 'Modo da xanela', - windowModeOpaque: 'Opaca', - windowModeTransparent: 'Transparente', - windowModeWindow: 'Xanela' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/gu.js b/scripts/ckeditor/plugins/flash/lang/gu.js deleted file mode 100755 index 76ba86e2..00000000 --- a/scripts/ckeditor/plugins/flash/lang/gu.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'gu', { - access: 'સ્ક્રીપ્ટ એક્સેસ', - accessAlways: 'હમેશાં', - accessNever: 'નહી', - accessSameDomain: 'એજ ડોમેન', - alignAbsBottom: 'Abs નીચે', - alignAbsMiddle: 'Abs ઉપર', - alignBaseline: 'આધાર લીટી', - alignTextTop: 'ટેક્સ્ટ ઉપર', - bgcolor: 'બૅકગ્રાઉન્ડ રંગ,', - chkFull: 'ફૂલ સ્ક્રીન કરવું', - chkLoop: 'લૂપ', - chkMenu: 'ફ્લૅશ મેન્યૂ નો પ્રયોગ કરો', - chkPlay: 'ઑટો/સ્વયં પ્લે', - flashvars: 'ફલેશ ના વિકલ્પો', - hSpace: 'સમસ્તરીય જગ્યા', - properties: 'ફ્લૅશના ગુણ', - propertiesTab: 'ગુણ', - quality: 'ગુણધર્મ', - qualityAutoHigh: 'ઓટો ઊંચું', - qualityAutoLow: 'ઓટો નીચું', - qualityBest: 'શ્રેષ્ઠ', - qualityHigh: 'ઊંચું', - qualityLow: 'નીચું', - qualityMedium: 'મધ્યમ', - scale: 'સ્કેલ', - scaleAll: 'સ્કેલ ઓલ/બધુ બતાવો', - scaleFit: 'સ્કેલ એકદમ ફીટ', - scaleNoBorder: 'સ્કેલ બોર્ડર વગર', - title: 'ફ્લૅશ ગુણ', - vSpace: 'લંબરૂપ જગ્યા', - validateHSpace: 'HSpace આંકડો હોવો જોઈએ.', - validateSrc: 'લિંક URL ટાઇપ કરો', - validateVSpace: 'VSpace આંકડો હોવો જોઈએ.', - windowMode: 'વિન્ડો મોડ', - windowModeOpaque: 'અપારદર્શક', - windowModeTransparent: 'પારદર્શક', - windowModeWindow: 'વિન્ડો' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/he.js b/scripts/ckeditor/plugins/flash/lang/he.js deleted file mode 100755 index edd8c21f..00000000 --- a/scripts/ckeditor/plugins/flash/lang/he.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'he', { - access: 'גישת סקריפט', - accessAlways: 'תמיד', - accessNever: 'אף פעם', - accessSameDomain: 'דומיין זהה', - alignAbsBottom: 'לתחתית האבסולוטית', - alignAbsMiddle: 'מרכוז אבסולוטי', - alignBaseline: 'לקו התחתית', - alignTextTop: 'לראש הטקסט', - bgcolor: 'צבע רקע', - chkFull: 'אפשר חלון מלא', - chkLoop: 'לולאה', - chkMenu: 'אפשר תפריט פלאש', - chkPlay: 'ניגון אוטומטי', - flashvars: 'משתנים לפלאש', - hSpace: 'מרווח אופקי', - properties: 'מאפייני פלאש', - propertiesTab: 'מאפיינים', - quality: 'איכות', - qualityAutoHigh: 'גבוהה אוטומטית', - qualityAutoLow: 'נמוכה אוטומטית', - qualityBest: 'מעולה', - qualityHigh: 'גבוהה', - qualityLow: 'נמוכה', - qualityMedium: 'ממוצעת', - scale: 'גודל', - scaleAll: 'הצג הכל', - scaleFit: 'התאמה מושלמת', - scaleNoBorder: 'ללא גבולות', - title: 'מאפיני פלאש', - vSpace: 'מרווח אנכי', - validateHSpace: 'המרווח האופקי חייב להיות מספר.', - validateSrc: 'יש להקליד את כתובת סרטון הפלאש (URL)', - validateVSpace: 'המרווח האנכי חייב להיות מספר.', - windowMode: 'מצב חלון', - windowModeOpaque: 'אטום', - windowModeTransparent: 'שקוף', - windowModeWindow: 'חלון' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/hi.js b/scripts/ckeditor/plugins/flash/lang/hi.js deleted file mode 100755 index 62ebe505..00000000 --- a/scripts/ckeditor/plugins/flash/lang/hi.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'hi', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs नीचे', - alignAbsMiddle: 'Abs ऊपर', - alignBaseline: 'मूल रेखा', - alignTextTop: 'टेक्स्ट ऊपर', - bgcolor: 'बैक्ग्राउन्ड रंग', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'लूप', - chkMenu: 'फ़्लैश मॅन्यू का प्रयोग करें', - chkPlay: 'ऑटो प्ले', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'हॉरिज़ॉन्टल स्पेस', - properties: 'फ़्लैश प्रॉपर्टीज़', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'स्केल', - scaleAll: 'सभी दिखायें', - scaleFit: 'बिल्कुल फ़िट', - scaleNoBorder: 'कोई बॉर्डर नहीं', - title: 'फ़्लैश प्रॉपर्टीज़', - vSpace: 'वर्टिकल स्पेस', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'लिंक URL टाइप करें', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/hr.js b/scripts/ckeditor/plugins/flash/lang/hr.js deleted file mode 100755 index 9c501c56..00000000 --- a/scripts/ckeditor/plugins/flash/lang/hr.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'hr', { - access: 'Script Access', - accessAlways: 'Uvijek', - accessNever: 'Nikad', - accessSameDomain: 'Ista domena', - alignAbsBottom: 'Abs dolje', - alignAbsMiddle: 'Abs sredina', - alignBaseline: 'Bazno', - alignTextTop: 'Vrh teksta', - bgcolor: 'Boja pozadine', - chkFull: 'Omogući Fullscreen', - chkLoop: 'Ponavljaj', - chkMenu: 'Omogući Flash izbornik', - chkPlay: 'Auto Play', - flashvars: 'Varijable za Flash', - hSpace: 'HSpace', - properties: 'Flash svojstva', - propertiesTab: 'Svojstva', - quality: 'Kvaliteta', - qualityAutoHigh: 'Auto High', - qualityAutoLow: 'Auto Low', - qualityBest: 'Best', - qualityHigh: 'High', - qualityLow: 'Low', - qualityMedium: 'Medium', - scale: 'Omjer', - scaleAll: 'Prikaži sve', - scaleFit: 'Točna veličina', - scaleNoBorder: 'Bez okvira', - title: 'Flash svojstva', - vSpace: 'VSpace', - validateHSpace: 'HSpace mora biti broj.', - validateSrc: 'Molimo upišite URL link', - validateVSpace: 'VSpace mora biti broj.', - windowMode: 'Vrsta prozora', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Window' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/hu.js b/scripts/ckeditor/plugins/flash/lang/hu.js deleted file mode 100755 index f79f0e21..00000000 --- a/scripts/ckeditor/plugins/flash/lang/hu.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'hu', { - access: 'Szkript hozzáférés', - accessAlways: 'Mindig', - accessNever: 'Soha', - accessSameDomain: 'Azonos domainről', - alignAbsBottom: 'Legaljára', - alignAbsMiddle: 'Közepére', - alignBaseline: 'Alapvonalhoz', - alignTextTop: 'Szöveg tetejére', - bgcolor: 'Háttérszín', - chkFull: 'Teljes képernyő engedélyezése', - chkLoop: 'Folyamatosan', - chkMenu: 'Flash menü engedélyezése', - chkPlay: 'Automata lejátszás', - flashvars: 'Flash változók', - hSpace: 'Vízsz. táv', - properties: 'Flash tulajdonságai', - propertiesTab: 'Tulajdonságok', - quality: 'Minőség', - qualityAutoHigh: 'Automata jó', - qualityAutoLow: 'Automata gyenge', - qualityBest: 'Legjobb', - qualityHigh: 'Jó', - qualityLow: 'Gyenge', - qualityMedium: 'Közepes', - scale: 'Méretezés', - scaleAll: 'Mindent mutat', - scaleFit: 'Teljes kitöltés', - scaleNoBorder: 'Keret nélkül', - title: 'Flash tulajdonságai', - vSpace: 'Függ. táv', - validateHSpace: 'A vízszintes távolsűág mezőbe csak számokat írhat.', - validateSrc: 'Adja meg a hivatkozás webcímét', - validateVSpace: 'A függőleges távolsűág mezőbe csak számokat írhat.', - windowMode: 'Ablak mód', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Window' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/id.js b/scripts/ckeditor/plugins/flash/lang/id.js deleted file mode 100755 index 8e9e05c6..00000000 --- a/scripts/ckeditor/plugins/flash/lang/id.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'id', { - access: 'Script Access', // MISSING - accessAlways: 'Selalu', - accessNever: 'Tidak Pernah', - accessSameDomain: 'Domain yang sama', - alignAbsBottom: 'Abs Bottom', // MISSING - alignAbsMiddle: 'Abs Middle', // MISSING - alignBaseline: 'Dasar', - alignTextTop: 'Text Top', // MISSING - bgcolor: 'Warna Latar Belakang', - chkFull: 'Izinkan Layar Penuh', - chkLoop: 'Loop', // MISSING - chkMenu: 'Enable Flash Menu', // MISSING - chkPlay: 'Mainkan Otomatis', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'HSpace', // MISSING - properties: 'Flash Properties', // MISSING - propertiesTab: 'Properti', - quality: 'Kualitas', - qualityAutoHigh: 'Tinggi Otomatis', - qualityAutoLow: 'Rendah Otomatis', - qualityBest: 'Terbaik', - qualityHigh: 'Tinggi', - qualityLow: 'Rendah', - qualityMedium: 'Sedang', - scale: 'Scale', // MISSING - scaleAll: 'Perlihatkan semua', - scaleFit: 'Exact Fit', // MISSING - scaleNoBorder: 'Tanpa Batas', - title: 'Flash Properties', // MISSING - vSpace: 'VSpace', - validateHSpace: 'HSpace harus sebuah angka', - validateSrc: 'URL tidak boleh kosong', - validateVSpace: 'VSpace harus sebuah angka', - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparan', - windowModeWindow: 'Jendela' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/is.js b/scripts/ckeditor/plugins/flash/lang/is.js deleted file mode 100755 index 3daf2ecc..00000000 --- a/scripts/ckeditor/plugins/flash/lang/is.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'is', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs neðst', - alignAbsMiddle: 'Abs miðjuð', - alignBaseline: 'Grunnlína', - alignTextTop: 'Efri brún texta', - bgcolor: 'Bakgrunnslitur', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Endurtekning', - chkMenu: 'Sýna Flash-valmynd', - chkPlay: 'Sjálfvirk spilun', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'Vinstri bil', - properties: 'Eigindi Flash', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Skali', - scaleAll: 'Sýna allt', - scaleFit: 'Fella skala að stærð', - scaleNoBorder: 'Án ramma', - title: 'Eigindi Flash', - vSpace: 'Hægri bil', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'Sláðu inn veffang stiklunnar!', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/it.js b/scripts/ckeditor/plugins/flash/lang/it.js deleted file mode 100755 index 266ec07b..00000000 --- a/scripts/ckeditor/plugins/flash/lang/it.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'it', { - access: 'Accesso Script', - accessAlways: 'Sempre', - accessNever: 'Mai', - accessSameDomain: 'Solo stesso dominio', - alignAbsBottom: 'In basso assoluto', - alignAbsMiddle: 'Centrato assoluto', - alignBaseline: 'Linea base', - alignTextTop: 'In alto al testo', - bgcolor: 'Colore sfondo', - chkFull: 'Permetti la modalità tutto schermo', - chkLoop: 'Riavvio automatico', - chkMenu: 'Abilita Menu di Flash', - chkPlay: 'Avvio Automatico', - flashvars: 'Variabili per Flash', - hSpace: 'HSpace', - properties: 'Proprietà Oggetto Flash', - propertiesTab: 'Proprietà', - quality: 'Qualità', - qualityAutoHigh: 'Alta Automatica', - qualityAutoLow: 'Bassa Automatica', - qualityBest: 'Massima', - qualityHigh: 'Alta', - qualityLow: 'Bassa', - qualityMedium: 'Intermedia', - scale: 'Ridimensiona', - scaleAll: 'Mostra Tutto', - scaleFit: 'Dimensione Esatta', - scaleNoBorder: 'Senza Bordo', - title: 'Proprietà Oggetto Flash', - vSpace: 'VSpace', - validateHSpace: 'L\'HSpace dev\'essere un numero.', - validateSrc: 'Devi inserire l\'URL del collegamento', - validateVSpace: 'Il VSpace dev\'essere un numero.', - windowMode: 'Modalità finestra', - windowModeOpaque: 'Opaca', - windowModeTransparent: 'Trasparente', - windowModeWindow: 'Finestra' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ja.js b/scripts/ckeditor/plugins/flash/lang/ja.js deleted file mode 100755 index 3970daaf..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ja.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ja', { - access: 'スプリクトアクセス(AllowScriptAccess)', - accessAlways: 'すべての場合に通信可能(Always)', - accessNever: 'すべての場合に通信不可能(Never)', - accessSameDomain: '同一ドメインのみに通信可能(Same domain)', - alignAbsBottom: '下部(絶対的)', - alignAbsMiddle: '中央(絶対的)', - alignBaseline: 'ベースライン', - alignTextTop: 'テキスト上部', - bgcolor: '背景色', - chkFull: 'フルスクリーン許可', - chkLoop: 'ループ再生', - chkMenu: 'Flashメニュー可能', - chkPlay: '再生', - flashvars: 'フラッシュに渡す変数(FlashVars)', - hSpace: '横間隔', - properties: 'Flash プロパティ', - propertiesTab: 'プロパティ', - quality: '画質', - qualityAutoHigh: '自動/高', - qualityAutoLow: '自動/低', - qualityBest: '品質優先', - qualityHigh: '高', - qualityLow: '低', - qualityMedium: '中', - scale: '拡大縮小設定', - scaleAll: 'すべて表示', - scaleFit: '上下左右にフィット', - scaleNoBorder: '外が見えない様に拡大', - title: 'Flash プロパティ', - vSpace: '縦間隔', - validateHSpace: '横間隔は数値で入力してください。', - validateSrc: 'リンクURLを入力してください。', - validateVSpace: '縦間隔は数値で入力してください。', - windowMode: 'ウィンドウモード', - windowModeOpaque: '背景を不透明設定', - windowModeTransparent: '背景を透過設定', - windowModeWindow: '標準' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ka.js b/scripts/ckeditor/plugins/flash/lang/ka.js deleted file mode 100755 index bd1fbac0..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ka.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ka', { - access: 'სკრიპტის წვდომა', - accessAlways: 'ყოველთვის', - accessNever: 'არასდროს', - accessSameDomain: 'იგივე დომენი', - alignAbsBottom: 'ჩარჩოს ქვემოთა ნაწილის სწორება ტექსტისთვის', - alignAbsMiddle: 'ჩარჩოს შუა ნაწილის სწორება ტექსტისთვის', - alignBaseline: 'საბაზისო ხაზის სწორება', - alignTextTop: 'ტექსტი ზემოდან', - bgcolor: 'ფონის ფერი', - chkFull: 'მთელი ეკრანის დაშვება', - chkLoop: 'ჩაციკლვა', - chkMenu: 'Flash-ის მენიუს დაშვება', - chkPlay: 'ავტო გაშვება', - flashvars: 'ცვლადები Flash-ისთვის', - hSpace: 'ჰორიზ. სივრცე', - properties: 'Flash-ის პარამეტრები', - propertiesTab: 'პარამეტრები', - quality: 'ხარისხი', - qualityAutoHigh: 'მაღალი (ავტომატური)', - qualityAutoLow: 'ძალიან დაბალი', - qualityBest: 'საუკეთესო', - qualityHigh: 'მაღალი', - qualityLow: 'დაბალი', - qualityMedium: 'საშუალო', - scale: 'მასშტაბირება', - scaleAll: 'ყველაფრის ჩვენება', - scaleFit: 'ზუსტი ჩასმა', - scaleNoBorder: 'ჩარჩოს გარეშე', - title: 'Flash-ის პარამეტრები', - vSpace: 'ვერტ. სივრცე', - validateHSpace: 'ჰორიზონტალური სივრცე არ უნდა იყოს ცარიელი.', - validateSrc: 'URL არ უნდა იყოს ცარიელი.', - validateVSpace: 'ვერტიკალური სივრცე არ უნდა იყოს ცარიელი.', - windowMode: 'ფანჯრის რეჟიმი', - windowModeOpaque: 'გაუმჭვირვალე', - windowModeTransparent: 'გამჭვირვალე', - windowModeWindow: 'ფანჯარა' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/km.js b/scripts/ckeditor/plugins/flash/lang/km.js deleted file mode 100755 index 46458621..00000000 --- a/scripts/ckeditor/plugins/flash/lang/km.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'km', { - access: 'Script Access', // MISSING - accessAlways: 'ជានិច្ច', - accessNever: 'កុំ', - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs Bottom', // MISSING - alignAbsMiddle: 'Abs Middle', // MISSING - alignBaseline: 'បន្ទាត់ជាមូលដ្ឋាន', - alignTextTop: 'លើអត្ថបទ', - bgcolor: 'ពណ៌ផ្ទៃខាងក្រោយ', - chkFull: 'អនុញ្ញាត​ឲ្យ​ពេញ​អេក្រង់', - chkLoop: 'ចំនួនដង', - chkMenu: 'បង្ហាញ មឺនុយរបស់ Flash', - chkPlay: 'លេងដោយស្វ័យប្រវត្ត', - flashvars: 'អថេរ Flash', - hSpace: 'គំលាតទទឹង', - properties: 'ការកំណត់ Flash', - propertiesTab: 'លក្ខណៈ​សម្បត្តិ', - quality: 'គុណភាព', - qualityAutoHigh: 'ខ្ពស់​ស្វ័យ​ប្រវត្តិ', - qualityAutoLow: 'ទាប​ស្វ័យ​ប្រវត្តិ', - qualityBest: 'ល្អ​បំផុត', - qualityHigh: 'ខ្ពស់', - qualityLow: 'ទាប', - qualityMedium: 'មធ្យម', - scale: 'ទំហំ', - scaleAll: 'បង្ហាញទាំងអស់', - scaleFit: 'ត្រូវល្មម', - scaleNoBorder: 'មិនបង្ហាញស៊ុម', - title: 'ការកំណត់ Flash', - vSpace: 'គំលាតបណ្តោយ', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'សូមសរសេរ អាស័យដ្ឋាន URL', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'ភាព​ថ្លា', - windowModeWindow: 'វីនដូ' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ko.js b/scripts/ckeditor/plugins/flash/lang/ko.js deleted file mode 100755 index d1e559c4..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ko.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ko', { - access: '스크립트 허용', - accessAlways: '항상 허용', - accessNever: '허용 안함', - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: '줄아래(Abs Bottom)', - alignAbsMiddle: '줄중간(Abs Middle)', - alignBaseline: '기준선', - alignTextTop: '글자상단', - bgcolor: '배경 색상', - chkFull: '전체화면 ', - chkLoop: '반복', - chkMenu: '플래쉬메뉴 가능', - chkPlay: '자동재생', - flashvars: 'Variables for Flash', // MISSING - hSpace: '수평여백', - properties: '플래쉬 속성', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: '영역', - scaleAll: '모두보기', - scaleFit: '영역자동조절', - scaleNoBorder: '경계선없음', - title: '플래쉬 등록정보', - vSpace: '수직여백', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: '링크 URL을 입력하십시요.', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ku.js b/scripts/ckeditor/plugins/flash/lang/ku.js deleted file mode 100755 index 640a2b69..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ku.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ku', { - access: 'دەستپێگەیشتنی نووسراو', - accessAlways: 'هەمیشه', - accessNever: 'هەرگیز', - accessSameDomain: 'هەمان دۆمەین', - alignAbsBottom: 'له ژێرەوه', - alignAbsMiddle: 'لەناوەند', - alignBaseline: 'هێڵەبنەڕەت', - alignTextTop: 'دەق لەسەرەوه', - bgcolor: 'ڕەنگی پاشبنەما', - chkFull: 'ڕێپێدان بە پڕی شاشه', - chkLoop: 'گرێ', - chkMenu: 'چالاککردنی لیستەی فلاش', - chkPlay: 'پێکردنی یان لێدانی خۆکار', - flashvars: 'گۆڕاوەکان بۆ فلاش', - hSpace: 'بۆشایی ئاسۆیی', - properties: 'خاسیەتی فلاش', - propertiesTab: 'خاسیەت', - quality: 'جۆرایەتی', - qualityAutoHigh: 'بەرزی خۆکار', - qualityAutoLow: 'نزمی خۆکار', - qualityBest: 'باشترین', - qualityHigh: 'بەرزی', - qualityLow: 'نزم', - qualityMedium: 'مامناوەند', - scale: 'پێوانه', - scaleAll: 'نیشاندانی هەموو', - scaleFit: 'بەوردی بگونجێت', - scaleNoBorder: 'بێ پەراوێز', - title: 'خاسیەتی فلاش', - vSpace: 'بۆشایی ئەستونی', - validateHSpace: 'بۆشایی ئاسۆیی دەبێت ژمارە بێت.', - validateSrc: 'ناونیشانی بەستەر نابێت خاڵی بێت', - validateVSpace: 'بۆشایی ئەستونی دەبێت ژماره بێت.', - windowMode: 'شێوازی پەنجەره', - windowModeOpaque: 'ناڕوون', - windowModeTransparent: 'ڕۆشن', - windowModeWindow: 'پەنجەره' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/lt.js b/scripts/ckeditor/plugins/flash/lang/lt.js deleted file mode 100755 index 7d519852..00000000 --- a/scripts/ckeditor/plugins/flash/lang/lt.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'lt', { - access: 'Skripto priėjimas', - accessAlways: 'Visada', - accessNever: 'Niekada', - accessSameDomain: 'Tas pats domenas', - alignAbsBottom: 'Absoliučią apačią', - alignAbsMiddle: 'Absoliutų vidurį', - alignBaseline: 'Apatinę liniją', - alignTextTop: 'Teksto viršūnę', - bgcolor: 'Fono spalva', - chkFull: 'Leisti per visą ekraną', - chkLoop: 'Ciklas', - chkMenu: 'Leisti Flash meniu', - chkPlay: 'Automatinis paleidimas', - flashvars: 'Flash kintamieji', - hSpace: 'Hor.Erdvė', - properties: 'Flash savybės', - propertiesTab: 'Nustatymai', - quality: 'Kokybė', - qualityAutoHigh: 'Automatiškai Gera', - qualityAutoLow: 'Automatiškai Žema', - qualityBest: 'Geriausia', - qualityHigh: 'Gera', - qualityLow: 'Žema', - qualityMedium: 'Vidutinė', - scale: 'Mastelis', - scaleAll: 'Rodyti visą', - scaleFit: 'Tikslus atitikimas', - scaleNoBorder: 'Be rėmelio', - title: 'Flash savybės', - vSpace: 'Vert.Erdvė', - validateHSpace: 'HSpace turi būti skaičius.', - validateSrc: 'Prašome įvesti nuorodos URL', - validateVSpace: 'VSpace turi būti skaičius.', - windowMode: 'Lango režimas', - windowModeOpaque: 'Nepermatomas', - windowModeTransparent: 'Permatomas', - windowModeWindow: 'Langas' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/lv.js b/scripts/ckeditor/plugins/flash/lang/lv.js deleted file mode 100755 index ed1a77a2..00000000 --- a/scripts/ckeditor/plugins/flash/lang/lv.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'lv', { - access: 'Skripta pieeja', - accessAlways: 'Vienmēr', - accessNever: 'Nekad', - accessSameDomain: 'Tas pats domēns', - alignAbsBottom: 'Absolūti apakšā', - alignAbsMiddle: 'Absolūti vertikāli centrēts', - alignBaseline: 'Pamatrindā', - alignTextTop: 'Teksta augšā', - bgcolor: 'Fona krāsa', - chkFull: 'Pilnekrāns', - chkLoop: 'Nepārtraukti', - chkMenu: 'Atļaut Flash izvēlni', - chkPlay: 'Automātiska atskaņošana', - flashvars: 'Flash mainīgie', - hSpace: 'Horizontālā telpa', - properties: 'Flash īpašības', - propertiesTab: 'Uzstādījumi', - quality: 'Kvalitāte', - qualityAutoHigh: 'Automātiski Augsta', - qualityAutoLow: 'Automātiski Zema', - qualityBest: 'Labākā', - qualityHigh: 'Augsta', - qualityLow: 'Zema', - qualityMedium: 'Vidēja', - scale: 'Mainīt izmēru', - scaleAll: 'Rādīt visu', - scaleFit: 'Precīzs izmērs', - scaleNoBorder: 'Bez rāmja', - title: 'Flash īpašības', - vSpace: 'Vertikālā telpa', - validateHSpace: 'Hspace jābūt skaitlim', - validateSrc: 'Lūdzu norādi hipersaiti', - validateVSpace: 'Vspace jābūt skaitlim', - windowMode: 'Loga režīms', - windowModeOpaque: 'Necaurspīdīgs', - windowModeTransparent: 'Caurspīdīgs', - windowModeWindow: 'Logs' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/mk.js b/scripts/ckeditor/plugins/flash/lang/mk.js deleted file mode 100755 index f7ccf7ee..00000000 --- a/scripts/ckeditor/plugins/flash/lang/mk.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'mk', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs Bottom', // MISSING - alignAbsMiddle: 'Abs Middle', // MISSING - alignBaseline: 'Baseline', - alignTextTop: 'Text Top', // MISSING - bgcolor: 'Background color', // MISSING - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Loop', // MISSING - chkMenu: 'Enable Flash Menu', // MISSING - chkPlay: 'Auto Play', // MISSING - flashvars: 'Variables for Flash', // MISSING - hSpace: 'HSpace', // MISSING - properties: 'Flash Properties', // MISSING - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Scale', // MISSING - scaleAll: 'Show all', // MISSING - scaleFit: 'Exact Fit', // MISSING - scaleNoBorder: 'No Border', // MISSING - title: 'Flash Properties', // MISSING - vSpace: 'VSpace', // MISSING - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'URL must not be empty.', // MISSING - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/mn.js b/scripts/ckeditor/plugins/flash/lang/mn.js deleted file mode 100755 index 14312373..00000000 --- a/scripts/ckeditor/plugins/flash/lang/mn.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'mn', { - access: 'Script Access', // MISSING - accessAlways: 'Онцлогууд', - accessNever: 'Хэзээ ч үгүй', - accessSameDomain: 'Байнга', - alignAbsBottom: 'Abs доод талд', - alignAbsMiddle: 'Abs Дунд талд', - alignBaseline: 'Baseline', - alignTextTop: 'Текст дээр', - bgcolor: 'Дэвсгэр өнгө', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Давтах', - chkMenu: 'Флаш цэс идвэхжүүлэх', - chkPlay: 'Автоматаар тоглох', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'Хөндлөн зай', - properties: 'Флаш шинж чанар', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Өргөгтгөх', - scaleAll: 'Бүгдийг харуулах', - scaleFit: 'Яг тааруулах', - scaleNoBorder: 'Хүрээгүй', - title: 'Флаш шинж чанар', - vSpace: 'Босоо зай', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'Линк URL-ээ төрөлжүүлнэ үү', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ms.js b/scripts/ckeditor/plugins/flash/lang/ms.js deleted file mode 100755 index e7fd50fc..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ms.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ms', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Bawah Mutlak', - alignAbsMiddle: 'Pertengahan Mutlak', - alignBaseline: 'Garis Dasar', - alignTextTop: 'Atas Text', - bgcolor: 'Warna Latarbelakang', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Loop', // MISSING - chkMenu: 'Enable Flash Menu', // MISSING - chkPlay: 'Auto Play', // MISSING - flashvars: 'Variables for Flash', // MISSING - hSpace: 'Ruang Melintang', - properties: 'Flash Properties', // MISSING - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Scale', // MISSING - scaleAll: 'Show all', // MISSING - scaleFit: 'Exact Fit', // MISSING - scaleNoBorder: 'No Border', // MISSING - title: 'Flash Properties', // MISSING - vSpace: 'Ruang Menegak', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'Sila taip sambungan URL', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/nb.js b/scripts/ckeditor/plugins/flash/lang/nb.js deleted file mode 100755 index cd14ca46..00000000 --- a/scripts/ckeditor/plugins/flash/lang/nb.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'nb', { - access: 'Scripttilgang', - accessAlways: 'Alltid', - accessNever: 'Aldri', - accessSameDomain: 'Samme domene', - alignAbsBottom: 'Abs bunn', - alignAbsMiddle: 'Abs midten', - alignBaseline: 'Bunnlinje', - alignTextTop: 'Tekst topp', - bgcolor: 'Bakgrunnsfarge', - chkFull: 'Tillat fullskjerm', - chkLoop: 'Loop', - chkMenu: 'Slå på Flash-meny', - chkPlay: 'Autospill', - flashvars: 'Variabler for flash', - hSpace: 'HMarg', - properties: 'Egenskaper for Flash-objekt', - propertiesTab: 'Egenskaper', - quality: 'Kvalitet', - qualityAutoHigh: 'Auto høy', - qualityAutoLow: 'Auto lav', - qualityBest: 'Best', - qualityHigh: 'Høy', - qualityLow: 'Lav', - qualityMedium: 'Medium', - scale: 'Skaler', - scaleAll: 'Vis alt', - scaleFit: 'Skaler til å passe', - scaleNoBorder: 'Ingen ramme', - title: 'Flash-egenskaper', - vSpace: 'VMarg', - validateHSpace: 'HMarg må være et tall.', - validateSrc: 'Vennligst skriv inn lenkens url.', - validateVSpace: 'VMarg må være et tall.', - windowMode: 'Vindumodus', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Gjennomsiktig', - windowModeWindow: 'Vindu' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/nl.js b/scripts/ckeditor/plugins/flash/lang/nl.js deleted file mode 100755 index faa2e3ef..00000000 --- a/scripts/ckeditor/plugins/flash/lang/nl.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'nl', { - access: 'Script toegang', - accessAlways: 'Altijd', - accessNever: 'Nooit', - accessSameDomain: 'Zelfde domeinnaam', - alignAbsBottom: 'Absoluut-onder', - alignAbsMiddle: 'Absoluut-midden', - alignBaseline: 'Basislijn', - alignTextTop: 'Boven tekst', - bgcolor: 'Achtergrondkleur', - chkFull: 'Schermvullend toestaan', - chkLoop: 'Herhalen', - chkMenu: 'Flashmenu\'s inschakelen', - chkPlay: 'Automatisch afspelen', - flashvars: 'Variabelen voor Flash', - hSpace: 'HSpace', - properties: 'Eigenschappen Flash', - propertiesTab: 'Eigenschappen', - quality: 'Kwaliteit', - qualityAutoHigh: 'Automatisch hoog', - qualityAutoLow: 'Automatisch laag', - qualityBest: 'Beste', - qualityHigh: 'Hoog', - qualityLow: 'Laag', - qualityMedium: 'Gemiddeld', - scale: 'Schaal', - scaleAll: 'Alles tonen', - scaleFit: 'Precies passend', - scaleNoBorder: 'Geen rand', - title: 'Eigenschappen Flash', - vSpace: 'VSpace', - validateHSpace: 'De HSpace moet een getal zijn.', - validateSrc: 'De URL mag niet leeg zijn.', - validateVSpace: 'De VSpace moet een getal zijn.', - windowMode: 'Venster modus', - windowModeOpaque: 'Ondoorzichtig', - windowModeTransparent: 'Doorzichtig', - windowModeWindow: 'Venster' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/no.js b/scripts/ckeditor/plugins/flash/lang/no.js deleted file mode 100755 index 6f001e94..00000000 --- a/scripts/ckeditor/plugins/flash/lang/no.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'no', { - access: 'Scripttilgang', - accessAlways: 'Alltid', - accessNever: 'Aldri', - accessSameDomain: 'Samme domene', - alignAbsBottom: 'Abs bunn', - alignAbsMiddle: 'Abs midten', - alignBaseline: 'Bunnlinje', - alignTextTop: 'Tekst topp', - bgcolor: 'Bakgrunnsfarge', - chkFull: 'Tillat fullskjerm', - chkLoop: 'Loop', - chkMenu: 'Slå på Flash-meny', - chkPlay: 'Autospill', - flashvars: 'Variabler for flash', - hSpace: 'HMarg', - properties: 'Egenskaper for Flash-objekt', - propertiesTab: 'Egenskaper', - quality: 'Kvalitet', - qualityAutoHigh: 'Auto høy', - qualityAutoLow: 'Auto lav', - qualityBest: 'Best', - qualityHigh: 'Høy', - qualityLow: 'Lav', - qualityMedium: 'Medium', - scale: 'Skaler', - scaleAll: 'Vis alt', - scaleFit: 'Skaler til å passe', - scaleNoBorder: 'Ingen ramme', - title: 'Flash-egenskaper', - vSpace: 'VMarg', - validateHSpace: 'HMarg må være et tall.', - validateSrc: 'Vennligst skriv inn lenkens url.', - validateVSpace: 'VMarg må være et tall.', - windowMode: 'Vindumodus', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Gjennomsiktig', - windowModeWindow: 'Vindu' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/pl.js b/scripts/ckeditor/plugins/flash/lang/pl.js deleted file mode 100755 index 4e1a2d56..00000000 --- a/scripts/ckeditor/plugins/flash/lang/pl.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'pl', { - access: 'Dostęp skryptów', - accessAlways: 'Zawsze', - accessNever: 'Nigdy', - accessSameDomain: 'Ta sama domena', - alignAbsBottom: 'Do dołu', - alignAbsMiddle: 'Do środka w pionie', - alignBaseline: 'Do linii bazowej', - alignTextTop: 'Do góry tekstu', - bgcolor: 'Kolor tła', - chkFull: 'Zezwól na pełny ekran', - chkLoop: 'Pętla', - chkMenu: 'Włącz menu', - chkPlay: 'Autoodtwarzanie', - flashvars: 'Zmienne obiektu Flash', - hSpace: 'Odstęp poziomy', - properties: 'Właściwości obiektu Flash', - propertiesTab: 'Właściwości', - quality: 'Jakość', - qualityAutoHigh: 'Auto wysoka', - qualityAutoLow: 'Auto niska', - qualityBest: 'Najlepsza', - qualityHigh: 'Wysoka', - qualityLow: 'Niska', - qualityMedium: 'Średnia', - scale: 'Skaluj', - scaleAll: 'Pokaż wszystko', - scaleFit: 'Dokładne dopasowanie', - scaleNoBorder: 'Bez obramowania', - title: 'Właściwości obiektu Flash', - vSpace: 'Odstęp pionowy', - validateHSpace: 'Odstęp poziomy musi być liczbą.', - validateSrc: 'Podaj adres URL', - validateVSpace: 'Odstęp pionowy musi być liczbą.', - windowMode: 'Tryb okna', - windowModeOpaque: 'Nieprzezroczyste', - windowModeTransparent: 'Przezroczyste', - windowModeWindow: 'Okno' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/pt-br.js b/scripts/ckeditor/plugins/flash/lang/pt-br.js deleted file mode 100755 index 47e88835..00000000 --- a/scripts/ckeditor/plugins/flash/lang/pt-br.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'pt-br', { - access: 'Acesso ao script', - accessAlways: 'Sempre', - accessNever: 'Nunca', - accessSameDomain: 'Acessar Mesmo Domínio', - alignAbsBottom: 'Inferior Absoluto', - alignAbsMiddle: 'Centralizado Absoluto', - alignBaseline: 'Baseline', - alignTextTop: 'Superior Absoluto', - bgcolor: 'Cor do Plano de Fundo', - chkFull: 'Permitir tela cheia', - chkLoop: 'Tocar Infinitamente', - chkMenu: 'Habilita Menu Flash', - chkPlay: 'Tocar Automaticamente', - flashvars: 'Variáveis do Flash', - hSpace: 'HSpace', - properties: 'Propriedades do Flash', - propertiesTab: 'Propriedades', - quality: 'Qualidade', - qualityAutoHigh: 'Qualidade Alta Automática', - qualityAutoLow: 'Qualidade Baixa Automática', - qualityBest: 'Qualidade Melhor', - qualityHigh: 'Qualidade Alta', - qualityLow: 'Qualidade Baixa', - qualityMedium: 'Qualidade Média', - scale: 'Escala', - scaleAll: 'Mostrar tudo', - scaleFit: 'Escala Exata', - scaleNoBorder: 'Sem Borda', - title: 'Propriedades do Flash', - vSpace: 'VSpace', - validateHSpace: 'O HSpace tem que ser um número', - validateSrc: 'Por favor, digite o endereço do link', - validateVSpace: 'O VSpace tem que ser um número.', - windowMode: 'Modo da janela', - windowModeOpaque: 'Opaca', - windowModeTransparent: 'Transparente', - windowModeWindow: 'Janela' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/pt.js b/scripts/ckeditor/plugins/flash/lang/pt.js deleted file mode 100755 index 21f2f166..00000000 --- a/scripts/ckeditor/plugins/flash/lang/pt.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'pt', { - access: 'Acesso ao Script', - accessAlways: 'Sempre', - accessNever: 'Nunca', - accessSameDomain: 'Mesmo dominio', - alignAbsBottom: 'Abs inferior', - alignAbsMiddle: 'Abs centro', - alignBaseline: 'Linha de base', - alignTextTop: 'Topo do texto', - bgcolor: 'Cor de Fundo', - chkFull: 'Permitir Ecrã inteiro', - chkLoop: 'Loop', - chkMenu: 'Permitir Menu do Flash', - chkPlay: 'Reproduzir automaticamente', - flashvars: 'Variaveis para o Flash', - hSpace: 'Esp.Horiz', - properties: 'Propriedades do Flash', - propertiesTab: 'Propriedades', - quality: 'Qualidade', - qualityAutoHigh: 'Alta Automaticamente', - qualityAutoLow: 'Baixa Automaticamente', - qualityBest: 'Melhor', - qualityHigh: 'Alta', - qualityLow: 'Baixa', - qualityMedium: 'Média', - scale: 'Escala', - scaleAll: 'Mostrar tudo', - scaleFit: 'Tamanho Exacto', - scaleNoBorder: 'Sem Limites', - title: 'Propriedades do Flash', - vSpace: 'Esp.Vert', - validateHSpace: 'HSpace tem de ser um numero.', - validateSrc: 'Por favor introduza a hiperligação URL', - validateVSpace: 'VSpace tem de ser um numero.', - windowMode: 'Modo de janela', - windowModeOpaque: 'Opaco', - windowModeTransparent: 'Transparente', - windowModeWindow: 'Janela' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ro.js b/scripts/ckeditor/plugins/flash/lang/ro.js deleted file mode 100755 index 3b8818e3..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ro.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ro', { - access: 'Acces script', - accessAlways: 'Întotdeauna', - accessNever: 'Niciodată', - accessSameDomain: 'Același domeniu', - alignAbsBottom: 'Jos absolut (Abs Bottom)', - alignAbsMiddle: 'Mijloc absolut (Abs Middle)', - alignBaseline: 'Linia de jos (Baseline)', - alignTextTop: 'Text sus', - bgcolor: 'Coloarea fundalului', - chkFull: 'Permite pe tot ecranul', - chkLoop: 'Repetă (Loop)', - chkMenu: 'Activează meniul flash', - chkPlay: 'Rulează automat', - flashvars: 'Variabile pentru flash', - hSpace: 'HSpace', - properties: 'Proprietăţile flashului', - propertiesTab: 'Proprietăți', - quality: 'Calitate', - qualityAutoHigh: 'Auto înaltă', - qualityAutoLow: 'Auto Joasă', - qualityBest: 'Cea mai bună', - qualityHigh: 'Înaltă', - qualityLow: 'Joasă', - qualityMedium: 'Medie', - scale: 'Scală', - scaleAll: 'Arată tot', - scaleFit: 'Potriveşte', - scaleNoBorder: 'Fără bordură (No border)', - title: 'Proprietăţile flashului', - vSpace: 'VSpace', - validateHSpace: 'Hspace trebuie să fie un număr.', - validateSrc: 'Vă rugăm să scrieţi URL-ul', - validateVSpace: 'VSpace trebuie să fie un număr', - windowMode: 'Mod fereastră', - windowModeOpaque: 'Opacă', - windowModeTransparent: 'Transparentă', - windowModeWindow: 'Fereastră' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ru.js b/scripts/ckeditor/plugins/flash/lang/ru.js deleted file mode 100755 index ad1a492a..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ru.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ru', { - access: 'Доступ к скриптам', - accessAlways: 'Всегда', - accessNever: 'Никогда', - accessSameDomain: 'В том же домене', - alignAbsBottom: 'По низу текста', - alignAbsMiddle: 'По середине текста', - alignBaseline: 'По базовой линии', - alignTextTop: 'По верху текста', - bgcolor: 'Цвет фона', - chkFull: 'Разрешить полноэкранный режим', - chkLoop: 'Повторять', - chkMenu: 'Включить меню Flash', - chkPlay: 'Автоматическое воспроизведение', - flashvars: 'Переменные для Flash', - hSpace: 'Гориз. отступ', - properties: 'Свойства Flash', - propertiesTab: 'Свойства', - quality: 'Качество', - qualityAutoHigh: 'Запуск на высоком', - qualityAutoLow: 'Запуск на низком', - qualityBest: 'Лучшее', - qualityHigh: 'Высокое', - qualityLow: 'Низкое', - qualityMedium: 'Среднее', - scale: 'Масштабировать', - scaleAll: 'Пропорционально', - scaleFit: 'Заполнять', - scaleNoBorder: 'Заходить за границы', - title: 'Свойства Flash', - vSpace: 'Вертик. отступ', - validateHSpace: 'Горизонтальный отступ задается числом.', - validateSrc: 'Вы должны ввести ссылку', - validateVSpace: 'Вертикальный отступ задается числом.', - windowMode: 'Взаимодействие с окном', - windowModeOpaque: 'Непрозрачный', - windowModeTransparent: 'Прозрачный', - windowModeWindow: 'Обычный' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/si.js b/scripts/ckeditor/plugins/flash/lang/si.js deleted file mode 100755 index acae58d5..00000000 --- a/scripts/ckeditor/plugins/flash/lang/si.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'si', { - access: 'පිටපත් ප්‍රවේශය', - accessAlways: 'හැමවිටම', - accessNever: 'කිසිදා නොවේ', - accessSameDomain: 'එකම වසමේ', - alignAbsBottom: 'පතුල', - alignAbsMiddle: 'Abs ', - alignBaseline: 'පාද රේඛාව', - alignTextTop: 'වගන්තිය ඉහල', - bgcolor: 'පසුබිම් වර්ණය', - chkFull: 'පුර්ණ තිරය සදහා අවසර', - chkLoop: 'පුඩුව', - chkMenu: 'සක්‍රිය බබලන මෙනුව', - chkPlay: 'ස්‌වයංක්‍රිය ක්‍රියාත්මක වීම', - flashvars: 'වෙනස්වන දත්ත', - hSpace: 'HSpace', - properties: 'බබලන ගුණ', - propertiesTab: 'ගුණ', - quality: 'තත්වය', - qualityAutoHigh: 'ස්‌වයංක්‍රිය ', - qualityAutoLow: ' ස්‌වයංක්‍රිය ', - qualityBest: 'වඩාත් ගැලපෙන', - qualityHigh: 'ඉහළ', - qualityLow: 'පහළ', - qualityMedium: 'මධ්‍ය', - scale: 'පරිමාණ', - scaleAll: 'සියල්ල ', - scaleFit: 'හරියටම ගැලපෙන', - scaleNoBorder: 'මාඉම් නොමැති', - title: 'බබලන ', - vSpace: 'VSpace', - validateHSpace: 'HSpace සංක්‍යාවක් විය යුතුය.', - validateSrc: 'URL හිස් නොවිය ', - validateVSpace: 'VSpace සංක්‍යාවක් විය යුතුය', - windowMode: 'ජනෙල ක්‍රමය', - windowModeOpaque: 'විනිවිද පෙනෙන', - windowModeTransparent: 'විනිවිද පෙනෙන', - windowModeWindow: 'ජනෙල' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/sk.js b/scripts/ckeditor/plugins/flash/lang/sk.js deleted file mode 100755 index 370be892..00000000 --- a/scripts/ckeditor/plugins/flash/lang/sk.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'sk', { - access: 'Prístup skriptu', - accessAlways: 'Vždy', - accessNever: 'Nikdy', - accessSameDomain: 'Rovnaká doména', - alignAbsBottom: 'Úplne dole', - alignAbsMiddle: 'Do stredu', - alignBaseline: 'Na základnú čiaru', - alignTextTop: 'Na horný okraj textu', - bgcolor: 'Farba pozadia', - chkFull: 'Povoliť zobrazenie na celú obrazovku (fullscreen)', - chkLoop: 'Opakovanie', - chkMenu: 'Povoliť Flash Menu', - chkPlay: 'Automatické prehrávanie', - flashvars: 'Premenné pre Flash', - hSpace: 'H-medzera', - properties: 'Vlastnosti Flashu', - propertiesTab: 'Vlastnosti', - quality: 'Kvalita', - qualityAutoHigh: 'Automaticky vysoká', - qualityAutoLow: 'Automaticky nízka', - qualityBest: 'Najlepšia', - qualityHigh: 'Vysoká', - qualityLow: 'Nízka', - qualityMedium: 'Stredná', - scale: 'Mierka', - scaleAll: 'Zobraziť všetko', - scaleFit: 'Roztiahnuť, aby sedelo presne', - scaleNoBorder: 'Bez okrajov', - title: 'Vlastnosti Flashu', - vSpace: 'V-medzera', - validateHSpace: 'H-medzera musí byť číslo.', - validateSrc: 'URL nesmie byť prázdne.', - validateVSpace: 'V-medzera musí byť číslo', - windowMode: 'Mód okna', - windowModeOpaque: 'Nepriehľadný', - windowModeTransparent: 'Priehľadný', - windowModeWindow: 'Okno' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/sl.js b/scripts/ckeditor/plugins/flash/lang/sl.js deleted file mode 100755 index 7f58d236..00000000 --- a/scripts/ckeditor/plugins/flash/lang/sl.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'sl', { - access: 'Dostop skript', - accessAlways: 'Vedno', - accessNever: 'Nikoli', - accessSameDomain: 'Samo ista domena', - alignAbsBottom: 'Popolnoma na dno', - alignAbsMiddle: 'Popolnoma v sredino', - alignBaseline: 'Na osnovno črto', - alignTextTop: 'Besedilo na vrh', - bgcolor: 'Barva ozadja', - chkFull: 'Dovoli celozaslonski način', - chkLoop: 'Ponavljanje', - chkMenu: 'Omogoči Flash Meni', - chkPlay: 'Samodejno predvajaj', - flashvars: 'Spremenljivke za Flash', - hSpace: 'Vodoravni razmik', - properties: 'Lastnosti Flash', - propertiesTab: 'Lastnosti', - quality: 'Kakovost', - qualityAutoHigh: 'Samodejno visoka', - qualityAutoLow: 'Samodejno nizka', - qualityBest: 'Najvišja', - qualityHigh: 'Visoka', - qualityLow: 'Nizka', - qualityMedium: 'Srednja', - scale: 'Povečava', - scaleAll: 'Pokaži vse', - scaleFit: 'Natančno prileganje', - scaleNoBorder: 'Brez obrobe', - title: 'Lastnosti Flash', - vSpace: 'Navpični razmik', - validateHSpace: 'Vodoravni razmik mora biti število.', - validateSrc: 'Vnesite URL povezave', - validateVSpace: 'Navpični razmik mora biti število.', - windowMode: 'Vrsta okna', - windowModeOpaque: 'Motno', - windowModeTransparent: 'Prosojno', - windowModeWindow: 'Okno' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/sq.js b/scripts/ckeditor/plugins/flash/lang/sq.js deleted file mode 100755 index 7abfbfd5..00000000 --- a/scripts/ckeditor/plugins/flash/lang/sq.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'sq', { - access: 'Qasja në Skriptë', - accessAlways: 'Gjithnjë', - accessNever: 'Asnjëherë', - accessSameDomain: 'Fusha e Njëjtë', - alignAbsBottom: 'Abs në Fund', - alignAbsMiddle: 'Abs në Mes', - alignBaseline: 'Baza', - alignTextTop: 'Koka e Tekstit', - bgcolor: 'Ngjyra e Prapavijës', - chkFull: 'Lejo Ekran të Plotë', - chkLoop: 'Përsëritje', - chkMenu: 'Lejo Menynë për Flash', - chkPlay: 'Auto Play', - flashvars: 'Variablat për Flash', - hSpace: 'Hapësira Horizontale', - properties: 'Karakteristikat për Flash', - propertiesTab: 'Karakteristikat', - quality: 'Kualiteti', - qualityAutoHigh: 'Automatikisht i Lartë', - qualityAutoLow: 'Automatikisht i Ulët', - qualityBest: 'Më i Miri', - qualityHigh: 'I Lartë', - qualityLow: 'Më i Ulti', - qualityMedium: 'I Mesëm', - scale: 'Shkalla', - scaleAll: 'Shfaq të Gjitha', - scaleFit: 'Përputhje të Plotë', - scaleNoBorder: 'Pa Kornizë', - title: 'Rekuizitat për Flash', - vSpace: 'Hapësira Vertikale', - validateHSpace: 'Hapësira Horizontale duhet të është numër.', - validateSrc: 'URL nuk duhet mbetur zbrazur.', - validateVSpace: 'Hapësira Vertikale duhet të është numër.', - windowMode: 'Window mode', - windowModeOpaque: 'Errët', - windowModeTransparent: 'Tejdukshëm', - windowModeWindow: 'Window' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/sr-latn.js b/scripts/ckeditor/plugins/flash/lang/sr-latn.js deleted file mode 100755 index 71663bbf..00000000 --- a/scripts/ckeditor/plugins/flash/lang/sr-latn.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'sr-latn', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs dole', - alignAbsMiddle: 'Abs sredina', - alignBaseline: 'Bazno', - alignTextTop: 'Vrh teksta', - bgcolor: 'Boja pozadine', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Ponavljaj', - chkMenu: 'Uključi fleš meni', - chkPlay: 'Automatski start', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'HSpace', - properties: 'Osobine fleša', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Skaliraj', - scaleAll: 'Prikaži sve', - scaleFit: 'Popuni površinu', - scaleNoBorder: 'Bez ivice', - title: 'Osobine fleša', - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'Unesite URL linka', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/sr.js b/scripts/ckeditor/plugins/flash/lang/sr.js deleted file mode 100755 index 479ce262..00000000 --- a/scripts/ckeditor/plugins/flash/lang/sr.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'sr', { - access: 'Script Access', // MISSING - accessAlways: 'Always', // MISSING - accessNever: 'Never', // MISSING - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Abs доле', - alignAbsMiddle: 'Abs средина', - alignBaseline: 'Базно', - alignTextTop: 'Врх текста', - bgcolor: 'Боја позадине', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Понављај', - chkMenu: 'Укључи флеш мени', - chkPlay: 'Аутоматски старт', - flashvars: 'Variables for Flash', // MISSING - hSpace: 'HSpace', - properties: 'Особине Флеша', - propertiesTab: 'Properties', // MISSING - quality: 'Quality', // MISSING - qualityAutoHigh: 'Auto High', // MISSING - qualityAutoLow: 'Auto Low', // MISSING - qualityBest: 'Best', // MISSING - qualityHigh: 'High', // MISSING - qualityLow: 'Low', // MISSING - qualityMedium: 'Medium', // MISSING - scale: 'Скалирај', - scaleAll: 'Прикажи све', - scaleFit: 'Попуни површину', - scaleNoBorder: 'Без ивице', - title: 'Особине флеша', - vSpace: 'VSpace', - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'Унесите УРЛ линка', - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Window mode', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent: 'Transparent', // MISSING - windowModeWindow: 'Window' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/sv.js b/scripts/ckeditor/plugins/flash/lang/sv.js deleted file mode 100755 index acca576c..00000000 --- a/scripts/ckeditor/plugins/flash/lang/sv.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'sv', { - access: 'Script-tillgång', - accessAlways: 'Alltid', - accessNever: 'Aldrig', - accessSameDomain: 'Samma domän', - alignAbsBottom: 'Absolut nederkant', - alignAbsMiddle: 'Absolut centrering', - alignBaseline: 'Baslinje', - alignTextTop: 'Text överkant', - bgcolor: 'Bakgrundsfärg', - chkFull: 'Tillåt helskärm', - chkLoop: 'Upprepa/Loopa', - chkMenu: 'Aktivera Flashmeny', - chkPlay: 'Automatisk uppspelning', - flashvars: 'Variabler för Flash', - hSpace: 'Horis. marginal', - properties: 'Flashegenskaper', - propertiesTab: 'Egenskaper', - quality: 'Kvalitet', - qualityAutoHigh: 'Auto Hög', - qualityAutoLow: 'Auto Låg', - qualityBest: 'Bäst', - qualityHigh: 'Hög', - qualityLow: 'Låg', - qualityMedium: 'Medium', - scale: 'Skala', - scaleAll: 'Visa allt', - scaleFit: 'Exakt passning', - scaleNoBorder: 'Ingen ram', - title: 'Flashegenskaper', - vSpace: 'Vert. marginal', - validateHSpace: 'HSpace måste vara ett nummer.', - validateSrc: 'Var god ange länkens URL', - validateVSpace: 'VSpace måste vara ett nummer.', - windowMode: 'Fönsterläge', - windowModeOpaque: 'Opaque', - windowModeTransparent: 'Transparent', - windowModeWindow: 'Fönster' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/th.js b/scripts/ckeditor/plugins/flash/lang/th.js deleted file mode 100755 index f8e4d9a6..00000000 --- a/scripts/ckeditor/plugins/flash/lang/th.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'th', { - access: 'การเข้าถึงสคริปต์', - accessAlways: 'ตลอดไป', - accessNever: 'ไม่เลย', - accessSameDomain: 'โดเมนเดียวกัน', - alignAbsBottom: 'ชิดด้านล่างสุด', - alignAbsMiddle: 'กึ่งกลาง', - alignBaseline: 'ชิดบรรทัด', - alignTextTop: 'ใต้ตัวอักษร', - bgcolor: 'สีพื้นหลัง', - chkFull: 'อนุญาตให้แสดงเต็มหน้าจอได้', - chkLoop: 'เล่นวนรอบ Loop', - chkMenu: 'ให้ใช้งานเมนูของ Flash', - chkPlay: 'เล่นอัตโนมัติ Auto Play', - flashvars: 'ตัวแปรสำหรับ Flas', - hSpace: 'ระยะแนวนอน', - properties: 'คุณสมบัติของไฟล์ Flash', - propertiesTab: 'คุณสมบัติ', - quality: 'คุณภาพ', - qualityAutoHigh: 'ปรับคุณภาพสูงอัตโนมัติ', - qualityAutoLow: 'ปรับคุณภาพต่ำอัตโนมัติ', - qualityBest: 'ดีที่สุด', - qualityHigh: 'สูง', - qualityLow: 'ต่ำ', - qualityMedium: 'ปานกลาง', - scale: 'อัตราส่วน Scale', - scaleAll: 'แสดงให้เห็นทั้งหมด Show all', - scaleFit: 'แสดงให้พอดีกับพื้นที่ Exact Fit', - scaleNoBorder: 'ไม่แสดงเส้นขอบ No Border', - title: 'คุณสมบัติของไฟล์ Flash', - vSpace: 'ระยะแนวตั้ง', - validateHSpace: 'HSpace ต้องเป็นจำนวนตัวเลข', - validateSrc: 'กรุณาระบุที่อยู่อ้างอิงออนไลน์ (URL)', - validateVSpace: 'VSpace ต้องเป็นจำนวนตัวเลข', - windowMode: 'โหมดหน้าต่าง', - windowModeOpaque: 'ความทึบแสง', - windowModeTransparent: 'ความโปรงแสง', - windowModeWindow: 'หน้าต่าง' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/tr.js b/scripts/ckeditor/plugins/flash/lang/tr.js deleted file mode 100755 index 551989ed..00000000 --- a/scripts/ckeditor/plugins/flash/lang/tr.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'tr', { - access: 'Kod İzni', - accessAlways: 'Herzaman', - accessNever: 'Asla', - accessSameDomain: 'Aynı domain', - alignAbsBottom: 'Tam Altı', - alignAbsMiddle: 'Tam Ortası', - alignBaseline: 'Taban Çizgisi', - alignTextTop: 'Yazı Tepeye', - bgcolor: 'Arka Renk', - chkFull: 'Tam ekrana İzinver', - chkLoop: 'Döngü', - chkMenu: 'Flash Menüsünü Kullan', - chkPlay: 'Otomatik Oynat', - flashvars: 'Flash Değerleri', - hSpace: 'Yatay Boşluk', - properties: 'Flash Özellikleri', - propertiesTab: 'Özellikler', - quality: 'Kalite', - qualityAutoHigh: 'Otomatik Yükseklik', - qualityAutoLow: 'Otomatik Düşüklük', - qualityBest: 'En iyi', - qualityHigh: 'Yüksek', - qualityLow: 'Düşük', - qualityMedium: 'Orta', - scale: 'Boyutlandır', - scaleAll: 'Hepsini Göster', - scaleFit: 'Tam Sığdır', - scaleNoBorder: 'Kenar Yok', - title: 'Flash Özellikleri', - vSpace: 'Dikey Boşluk', - validateHSpace: 'HSpace sayı olmalıdır.', - validateSrc: 'Lütfen köprü URL\'sini yazın', - validateVSpace: 'VSpace sayı olmalıdır.', - windowMode: 'Pencere modu', - windowModeOpaque: 'Opak', - windowModeTransparent: 'Şeffaf', - windowModeWindow: 'Pencere' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/tt.js b/scripts/ckeditor/plugins/flash/lang/tt.js deleted file mode 100755 index db55855b..00000000 --- a/scripts/ckeditor/plugins/flash/lang/tt.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'tt', { - access: 'Script Access', // MISSING - accessAlways: 'Һəрвакыт', - accessNever: 'Беркайчан да', - accessSameDomain: 'Same domain', // MISSING - alignAbsBottom: 'Иң аска', - alignAbsMiddle: 'Төгәл уртада', - alignBaseline: 'Таяныч сызыгы', - alignTextTop: 'Text Top', // MISSING - bgcolor: 'Фон төсе', - chkFull: 'Allow Fullscreen', // MISSING - chkLoop: 'Әйләнеш', - chkMenu: 'Enable Flash Menu', // MISSING - chkPlay: 'Auto Play', // MISSING - flashvars: 'Variables for Flash', // MISSING - hSpace: 'HSpace', // MISSING - properties: 'Флеш үзлекләре', - propertiesTab: 'Үзлекләр', - quality: 'Сыйфат', - qualityAutoHigh: 'Авто югары сыйфат', - qualityAutoLow: 'Авто түбән сыйфат', - qualityBest: 'Иң югары сыйфат', - qualityHigh: 'Югары', - qualityLow: 'Түбəн', - qualityMedium: 'Уртача', - scale: 'Scale', // MISSING - scaleAll: 'Барысын күрсәтү', - scaleFit: 'Exact Fit', // MISSING - scaleNoBorder: 'Чиксез', - title: 'Флеш үзлекләре', - vSpace: 'VSpace', // MISSING - validateHSpace: 'HSpace must be a number.', // MISSING - validateSrc: 'URL must not be empty.', // MISSING - validateVSpace: 'VSpace must be a number.', // MISSING - windowMode: 'Тəрəзə тәртибе', - windowModeOpaque: 'Үтә күренмәле', - windowModeTransparent: 'Үтə күренмəле', - windowModeWindow: 'Тəрəзə' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/ug.js b/scripts/ckeditor/plugins/flash/lang/ug.js deleted file mode 100755 index 1e04f076..00000000 --- a/scripts/ckeditor/plugins/flash/lang/ug.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'ug', { - access: 'قوليازما زىيارەتكە يول قوي', - accessAlways: 'ھەمىشە', - accessNever: 'ھەرگىز', - accessSameDomain: 'ئوخشاش دائىرىدە', - alignAbsBottom: 'مۇتلەق ئاستى', - alignAbsMiddle: 'مۇتلەق ئوتتۇرا', - alignBaseline: 'ئاساسىي سىزىق', - alignTextTop: 'تېكىست ئۈستىدە', - bgcolor: 'تەگلىك رەڭگى', - chkFull: 'پۈتۈن ئېكراننى قوزغات', - chkLoop: 'دەۋرىي', - chkMenu: 'Flash تىزىملىكنى قوزغات', - chkPlay: 'ئۆزلۈكىدىن چال', - flashvars: 'Flash ئۆزگەرگۈچى', - hSpace: 'توغرىسىغا ئارىلىق', - properties: 'Flash خاسلىق', - propertiesTab: 'خاسلىق', - quality: 'سۈپەت', - qualityAutoHigh: 'يۇقىرى (ئاپتوماتىك)', - qualityAutoLow: 'تۆۋەن (ئاپتوماتىك)', - qualityBest: 'ئەڭ ياخشى', - qualityHigh: 'يۇقىرى', - qualityLow: 'تۆۋەن', - qualityMedium: 'ئوتتۇرا (ئاپتوماتىك)', - scale: 'نىسبىتى', - scaleAll: 'ھەممىنى كۆرسەت', - scaleFit: 'قەتئىي ماسلىشىش', - scaleNoBorder: 'گىرۋەك يوق', - title: 'ماۋزۇ', - vSpace: 'بويىغا ئارىلىق', - validateHSpace: 'توغرىسىغا ئارىلىق چوقۇم سان بولىدۇ', - validateSrc: 'ئەسلى ھۆججەت ئادرېسىنى كىرگۈزۈڭ', - validateVSpace: 'بويىغا ئارىلىق چوقۇم سان بولىدۇ', - windowMode: 'كۆزنەك ھالىتى', - windowModeOpaque: 'خىرە', - windowModeTransparent: 'سۈزۈك', - windowModeWindow: 'كۆزنەك گەۋدىسى' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/uk.js b/scripts/ckeditor/plugins/flash/lang/uk.js deleted file mode 100755 index 7aabacab..00000000 --- a/scripts/ckeditor/plugins/flash/lang/uk.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'uk', { - access: 'Доступ до скрипта', - accessAlways: 'Завжди', - accessNever: 'Ніколи', - accessSameDomain: 'З того ж домена', - alignAbsBottom: 'По нижньому краю (abs)', - alignAbsMiddle: 'По середині (abs)', - alignBaseline: 'По базовій лінії', - alignTextTop: 'Текст по верхньому краю', - bgcolor: 'Колір фону', - chkFull: 'Дозволити повноекранний перегляд', - chkLoop: 'Циклічно', - chkMenu: 'Дозволити меню Flash', - chkPlay: 'Автопрогравання', - flashvars: 'Змінні Flash', - hSpace: 'Гориз. відступ', - properties: 'Властивості Flash', - propertiesTab: 'Властивості', - quality: 'Якість', - qualityAutoHigh: 'Автом. відмінна', - qualityAutoLow: 'Автом. низька', - qualityBest: 'Відмінна', - qualityHigh: 'Висока', - qualityLow: 'Низька', - qualityMedium: 'Середня', - scale: 'Масштаб', - scaleAll: 'Показати все', - scaleFit: 'Поч. розмір', - scaleNoBorder: 'Без рамки', - title: 'Властивості Flash', - vSpace: 'Верт. відступ', - validateHSpace: 'Гориз. відступ повинен бути цілим числом.', - validateSrc: 'Будь ласка, вкажіть URL посилання', - validateVSpace: 'Верт. відступ повинен бути цілим числом.', - windowMode: 'Віконний режим', - windowModeOpaque: 'Непрозорість', - windowModeTransparent: 'Прозорість', - windowModeWindow: 'Вікно' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/vi.js b/scripts/ckeditor/plugins/flash/lang/vi.js deleted file mode 100755 index 1c024e25..00000000 --- a/scripts/ckeditor/plugins/flash/lang/vi.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'vi', { - access: 'Truy cập mã', - accessAlways: 'Luôn luôn', - accessNever: 'Không bao giờ', - accessSameDomain: 'Cùng tên miền', - alignAbsBottom: 'Dưới tuyệt đối', - alignAbsMiddle: 'Giữa tuyệt đối', - alignBaseline: 'Đường cơ sở', - alignTextTop: 'Phía trên chữ', - bgcolor: 'Màu nền', - chkFull: 'Cho phép toàn màn hình', - chkLoop: 'Lặp', - chkMenu: 'Cho phép bật menu của Flash', - chkPlay: 'Tự động chạy', - flashvars: 'Các biến số dành cho Flash', - hSpace: 'Khoảng đệm ngang', - properties: 'Thuộc tính Flash', - propertiesTab: 'Thuộc tính', - quality: 'Chất lượng', - qualityAutoHigh: 'Cao tự động', - qualityAutoLow: 'Thấp tự động', - qualityBest: 'Tốt nhất', - qualityHigh: 'Cao', - qualityLow: 'Thấp', - qualityMedium: 'Trung bình', - scale: 'Tỷ lệ', - scaleAll: 'Hiển thị tất cả', - scaleFit: 'Vừa vặn', - scaleNoBorder: 'Không đường viền', - title: 'Thuộc tính Flash', - vSpace: 'Khoảng đệm dọc', - validateHSpace: 'Khoảng đệm ngang phải là số nguyên.', - validateSrc: 'Hãy đưa vào đường dẫn liên kết', - validateVSpace: 'Khoảng đệm dọc phải là số nguyên.', - windowMode: 'Chế độ cửa sổ', - windowModeOpaque: 'Mờ đục', - windowModeTransparent: 'Trong suốt', - windowModeWindow: 'Cửa sổ' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/zh-cn.js b/scripts/ckeditor/plugins/flash/lang/zh-cn.js deleted file mode 100755 index a6390f79..00000000 --- a/scripts/ckeditor/plugins/flash/lang/zh-cn.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'zh-cn', { - access: '允许脚本访问', - accessAlways: '总是', - accessNever: '从不', - accessSameDomain: '同域', - alignAbsBottom: '绝对底部', - alignAbsMiddle: '绝对居中', - alignBaseline: '基线', - alignTextTop: '文本上方', - bgcolor: '背景颜色', - chkFull: '启用全屏', - chkLoop: '循环', - chkMenu: '启用 Flash 菜单', - chkPlay: '自动播放', - flashvars: 'Flash 变量', - hSpace: '水平间距', - properties: 'Flash 属性', - propertiesTab: '属性', - quality: '质量', - qualityAutoHigh: '高(自动)', - qualityAutoLow: '低(自动)', - qualityBest: '最好', - qualityHigh: '高', - qualityLow: '低', - qualityMedium: '中(自动)', - scale: '缩放', - scaleAll: '全部显示', - scaleFit: '严格匹配', - scaleNoBorder: '无边框', - title: '标题', - vSpace: '垂直间距', - validateHSpace: '水平间距必须为数字格式', - validateSrc: '请输入源文件地址', - validateVSpace: '垂直间距必须为数字格式', - windowMode: '窗体模式', - windowModeOpaque: '不透明', - windowModeTransparent: '透明', - windowModeWindow: '窗体' -} ); diff --git a/scripts/ckeditor/plugins/flash/lang/zh.js b/scripts/ckeditor/plugins/flash/lang/zh.js deleted file mode 100755 index 28af4dbd..00000000 --- a/scripts/ckeditor/plugins/flash/lang/zh.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'flash', 'zh', { - access: '腳本存取', - accessAlways: '永遠', - accessNever: '從不', - accessSameDomain: '相同網域', - alignAbsBottom: '絕對下方', - alignAbsMiddle: '絕對置中', - alignBaseline: '基準線', - alignTextTop: '上層文字', - bgcolor: '背景顏色', - chkFull: '允許全螢幕', - chkLoop: '重複播放', - chkMenu: '啟用 Flash 選單', - chkPlay: '自動播放', - flashvars: 'Flash 變數', - hSpace: 'HSpace', - properties: 'Flash 屬性​​', - propertiesTab: '屬性', - quality: '品質', - qualityAutoHigh: '自動高', - qualityAutoLow: '自動低', - qualityBest: '最佳', - qualityHigh: '高', - qualityLow: '低', - qualityMedium: '中', - scale: '縮放比例', - scaleAll: '全部顯示', - scaleFit: '最適化', - scaleNoBorder: '無框線', - title: 'Flash 屬性​​', - vSpace: 'VSpace', - validateHSpace: 'HSpace 必須為數字。', - validateSrc: 'URL 不可為空白。', - validateVSpace: 'VSpace 必須為數字。', - windowMode: '視窗模式', - windowModeOpaque: '不透明', - windowModeTransparent: '透明', - windowModeWindow: '視窗' -} ); diff --git a/scripts/ckeditor/plugins/flash/plugin.js b/scripts/ckeditor/plugins/flash/plugin.js deleted file mode 100755 index bd3bc983..00000000 --- a/scripts/ckeditor/plugins/flash/plugin.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - var flashFilenameRegex = /\.swf(?:$|\?)/i; - - function isFlashEmbed( element ) { - var attributes = element.attributes; - - return ( attributes.type == 'application/x-shockwave-flash' || flashFilenameRegex.test( attributes.src || '' ) ); - } - - function createFakeElement( editor, realElement ) { - return editor.createFakeParserElement( realElement, 'cke_flash', 'flash', true ); - } - - CKEDITOR.plugins.add( 'flash', { - requires: 'dialog,fakeobjects', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'flash', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - onLoad: function() { - CKEDITOR.addCss( 'img.cke_flash' + - '{' + - 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/placeholder.png' ) + ');' + - 'background-position: center center;' + - 'background-repeat: no-repeat;' + - 'border: 1px solid #a9a9a9;' + - 'width: 80px;' + - 'height: 80px;' + - '}' - ); - - }, - init: function( editor ) { - var allowed = 'object[classid,codebase,height,hspace,vspace,width];' + - 'param[name,value];' + - 'embed[height,hspace,pluginspage,src,type,vspace,width]'; - - if ( CKEDITOR.dialog.isTabEnabled( editor, 'flash', 'properties' ) ) - allowed += ';object[align]; embed[allowscriptaccess,quality,scale,wmode]'; - if ( CKEDITOR.dialog.isTabEnabled( editor, 'flash', 'advanced' ) ) - allowed += ';object[id]{*}; embed[bgcolor]{*}(*)'; - - editor.addCommand( 'flash', new CKEDITOR.dialogCommand( 'flash', { - allowedContent: allowed, - requiredContent: 'embed' - } ) ); - editor.ui.addButton && editor.ui.addButton( 'Flash', { - label: editor.lang.common.flash, - command: 'flash', - toolbar: 'insert,20' - } ); - CKEDITOR.dialog.add( 'flash', this.path + 'dialogs/flash.js' ); - - // If the "menu" plugin is loaded, register the menu items. - if ( editor.addMenuItems ) { - editor.addMenuItems( { - flash: { - label: editor.lang.flash.properties, - command: 'flash', - group: 'flash' - } - } ); - } - - editor.on( 'doubleclick', function( evt ) { - var element = evt.data.element; - - if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'flash' ) - evt.data.dialog = 'flash'; - } ); - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - editor.contextMenu.addListener( function( element, selection ) { - if ( element && element.is( 'img' ) && !element.isReadOnly() && element.data( 'cke-real-element-type' ) == 'flash' ) - return { flash: CKEDITOR.TRISTATE_OFF }; - } ); - } - }, - - afterInit: function( editor ) { - var dataProcessor = editor.dataProcessor, - dataFilter = dataProcessor && dataProcessor.dataFilter; - - if ( dataFilter ) { - dataFilter.addRules( { - elements: { - 'cke:object': function( element ) { - var attributes = element.attributes, - classId = attributes.classid && String( attributes.classid ).toLowerCase(); - - if ( !classId && !isFlashEmbed( element ) ) { - // Look for the inner - for ( var i = 0; i < element.children.length; i++ ) { - if ( element.children[ i ].name == 'cke:embed' ) { - if ( !isFlashEmbed( element.children[ i ] ) ) - return null; - - return createFakeElement( editor, element ); - } - } - return null; - } - - return createFakeElement( editor, element ); - }, - - 'cke:embed': function( element ) { - if ( !isFlashEmbed( element ) ) - return null; - - return createFakeElement( editor, element ); - } - } - }, 5 ); - } - } - } ); -} )(); - -CKEDITOR.tools.extend( CKEDITOR.config, { - /** - * Save as `` tag only. This tag is unrecommended. - * - * @cfg {Boolean} [flashEmbedTagOnly=false] - * @member CKEDITOR.config - */ - flashEmbedTagOnly: false, - - /** - * Add `` tag as alternative: ``. - * - * @cfg {Boolean} [flashAddEmbedTag=false] - * @member CKEDITOR.config - */ - flashAddEmbedTag: true, - - /** - * Use {@link #flashEmbedTagOnly} and {@link #flashAddEmbedTag} values on edit. - * - * @cfg {Boolean} [flashConvertOnEdit=false] - * @member CKEDITOR.config - */ - flashConvertOnEdit: false -} ); diff --git a/scripts/ckeditor/plugins/floatingspace/plugin.js b/scripts/ckeditor/plugins/floatingspace/plugin.js deleted file mode 100755 index 7434eb8f..00000000 --- a/scripts/ckeditor/plugins/floatingspace/plugin.js +++ /dev/null @@ -1,379 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - var floatSpaceTpl = CKEDITOR.addTemplate( 'floatcontainer', '' + - '{voiceLabel}' + - '
    ' + - '' + - '
    ' + - '
    ' ), - win = CKEDITOR.document.getWindow(), - pixelate = CKEDITOR.tools.cssLength; - - CKEDITOR.plugins.add( 'floatingspace', { - init: function( editor ) { - // Add listener with lower priority than that in themedui creator. - // Thereby floatingspace will be created only if themedui wasn't used. - editor.on( 'loaded', function() { - attach( this ); - }, null, null, 20 ); - } - } ); - - function scrollOffset( side ) { - var pageOffset = side == 'left' ? 'pageXOffset' : 'pageYOffset', - docScrollOffset = side == 'left' ? 'scrollLeft' : 'scrollTop'; - - return ( pageOffset in win.$ ) ? - win.$[ pageOffset ] - : - CKEDITOR.document.$.documentElement[ docScrollOffset ]; - } - - function attach( editor ) { - var config = editor.config, - - // Get the HTML for the predefined spaces. - topHtml = editor.fire( 'uiSpace', { space: 'top', html: '' } ).html, - - // Re-positioning of the space. - layout = ( function() { - // Mode indicates the vertical aligning mode. - var mode, editable, - spaceRect, editorRect, viewRect, spaceHeight, pageScrollX, - - // Allow minor adjustments of the float space from custom configs. - dockedOffsetX = config.floatSpaceDockedOffsetX || 0, - dockedOffsetY = config.floatSpaceDockedOffsetY || 0, - pinnedOffsetX = config.floatSpacePinnedOffsetX || 0, - pinnedOffsetY = config.floatSpacePinnedOffsetY || 0; - - // Update the float space position. - function updatePos( pos, prop, val ) { - floatSpace.setStyle( prop, pixelate( val ) ); - floatSpace.setStyle( 'position', pos ); - } - - // Change the current mode and update float space position accordingly. - function changeMode( newMode ) { - var editorPos = editable.getDocumentPosition(); - - switch ( newMode ) { - case 'top': - updatePos( 'absolute', 'top', editorPos.y - spaceHeight - dockedOffsetY ); - break; - case 'pin': - updatePos( 'fixed', 'top', pinnedOffsetY ); - break; - case 'bottom': - updatePos( 'absolute', 'top', editorPos.y + ( editorRect.height || editorRect.bottom - editorRect.top ) + dockedOffsetY ); - break; - } - - mode = newMode; - } - - return function( evt ) { - // #10112 Do not fail on editable-less editor. - if ( !( editable = editor.editable() ) ) - return; - - // Show up the space on focus gain. - evt && evt.name == 'focus' && floatSpace.show(); - - // Reset the horizontal position for below measurement. - floatSpace.removeStyle( 'left' ); - floatSpace.removeStyle( 'right' ); - - // Compute the screen position from the TextRectangle object would - // be very simple, even though the "width"/"height" property is not - // available for all, it's safe to figure that out from the rest. - - // http://help.dottoro.com/ljgupwlp.php - spaceRect = floatSpace.getClientRect(); - editorRect = editable.getClientRect(); - viewRect = win.getViewPaneSize(); - spaceHeight = spaceRect.height; - pageScrollX = scrollOffset( 'left' ); - - // We initialize it as pin mode. - if ( !mode ) { - mode = 'pin'; - changeMode( 'pin' ); - // Call for a refresh to the actual layout. - layout( evt ); - return; - } - - // +------------------------ Viewport -+ \ - // | | |-> floatSpaceDockedOffsetY - // | ................................. | / - // | | - // | +------ Space -+ | - // | | | | - // | +--------------+ | - // | +------------------ Editor -+ | - // | | | | - // - if ( spaceHeight + dockedOffsetY <= editorRect.top ) - changeMode( 'top' ); - - // +- - - - - - - - - Editor -+ - // | | - // +------------------------ Viewport -+ \ - // | | | | |-> floatSpacePinnedOffsetY - // | ................................. | / - // | +------ Space -+ | | - // | | | | | - // | +--------------+ | | - // | | | | - // | +---------------------------+ | - // +-----------------------------------+ - // - else if ( spaceHeight + dockedOffsetY > viewRect.height - editorRect.bottom ) - changeMode( 'pin' ); - - // +- - - - - - - - - Editor -+ - // | | - // +------------------------ Viewport -+ \ - // | | | | |-> floatSpacePinnedOffsetY - // | ................................. | / - // | | | | - // | | | | - // | +---------------------------+ | - // | +------ Space -+ | - // | | | | - // | +--------------+ | - // - else - changeMode( 'bottom' ); - - var mid = viewRect.width / 2, - alignSide = - ( editorRect.left > 0 && editorRect.right < viewRect.width && editorRect.width > spaceRect.width ) ? - ( editor.config.contentsLangDirection == 'rtl' ? 'right' : 'left' ) - : - ( mid - editorRect.left > editorRect.right - mid ? 'left' : 'right' ), - offset; - - // (#9769) If viewport width is less than space width, - // make sure space never cross the left boundary of the viewport. - // In other words: top-left corner of the space is always visible. - if ( spaceRect.width > viewRect.width ) { - alignSide = 'left'; - offset = 0; - } - else { - if ( alignSide == 'left' ) { - // If the space rect fits into viewport, align it - // to the left edge of editor: - // - // +------------------------ Viewport -+ - // | | - // | +------------- Space -+ | - // | | | | - // | +---------------------+ | - // | +------------------ Editor -+ | - // | | | | - // - if ( editorRect.left > 0 ) - offset = editorRect.left; - - // If the left part of the editor is cut off by the left - // edge of the viewport, stick the space to the viewport: - // - // +------------------------ Viewport -+ - // | | - // +---------------- Space -+ | - // | | | - // +------------------------+ | - // +----|------------- Editor -+ | - // | | | | - // - else - offset = 0; - } - else { - // If the space rect fits into viewport, align it - // to the right edge of editor: - // - // +------------------------ Viewport -+ - // | | - // | +------------- Space -+ | - // | | | | - // | +---------------------+ | - // | +------------------ Editor -+ | - // | | | | - // - if ( editorRect.right < viewRect.width ) - offset = viewRect.width - editorRect.right; - - // If the right part of the editor is cut off by the right - // edge of the viewport, stick the space to the viewport: - // - // +------------------------ Viewport -+ - // | | - // | +------------- Space -+ - // | | | - // | +---------------------+ - // | +-----------------|- Editor -+ - // | | | | - // - else - offset = 0; - } - - // (#9769) Finally, stick the space to the opposite side of - // the viewport when it's cut off horizontally on the left/right - // side like below. - // - // This trick reveals cut off space in some edge cases and - // hence it improves accessibility. - // - // +------------------------ Viewport -+ - // | | - // | +--------------------|-- Space -+ - // | | | | - // | +--------------------|----------+ - // | +------- Editor -+ | - // | | | | - // - // becomes: - // - // +------------------------ Viewport -+ - // | | - // | +----------------------- Space -+ - // | | | - // | +-------------------------------+ - // | +------- Editor -+ | - // | | | | - // - if ( offset + spaceRect.width > viewRect.width ) { - alignSide = alignSide == 'left' ? 'right' : 'left'; - offset = 0; - } - } - - // Pin mode is fixed, so don't include scroll-x. - // (#9903) For mode is "top" or "bottom", add opposite scroll-x for right-aligned space. - var scroll = mode == 'pin' ? - 0 - : - alignSide == 'left' ? pageScrollX : -pageScrollX; - - floatSpace.setStyle( alignSide, pixelate( ( mode == 'pin' ? pinnedOffsetX : dockedOffsetX ) + offset + scroll ) ); - }; - } )(); - - if ( topHtml ) { - var floatSpace = CKEDITOR.document.getBody().append( CKEDITOR.dom.element.createFromHtml( floatSpaceTpl.output( { - content: topHtml, - id: editor.id, - langDir: editor.lang.dir, - langCode: editor.langCode, - name: editor.name, - style: 'display:none;z-index:' + ( config.baseFloatZIndex - 1 ), - topId: editor.ui.spaceId( 'top' ), - voiceLabel: editor.lang.editorPanel + ', ' + editor.name - } ) ) ), - - // Use event buffers to reduce CPU load when tons of events are fired. - changeBuffer = CKEDITOR.tools.eventsBuffer( 500, layout ), - uiBuffer = CKEDITOR.tools.eventsBuffer( 100, layout ); - - // There's no need for the floatSpace to be selectable. - floatSpace.unselectable(); - - // Prevent clicking on non-buttons area of the space from blurring editor. - floatSpace.on( 'mousedown', function( evt ) { - evt = evt.data; - if ( !evt.getTarget().hasAscendant( 'a', 1 ) ) - evt.preventDefault(); - } ); - - editor.on( 'focus', function( evt ) { - layout( evt ); - editor.on( 'change', changeBuffer.input ); - win.on( 'scroll', uiBuffer.input ); - win.on( 'resize', uiBuffer.input ); - } ); - - editor.on( 'blur', function() { - floatSpace.hide(); - editor.removeListener( 'change', changeBuffer.input ); - win.removeListener( 'scroll', uiBuffer.input ); - win.removeListener( 'resize', uiBuffer.input ); - } ); - - editor.on( 'destroy', function() { - win.removeListener( 'scroll', uiBuffer.input ); - win.removeListener( 'resize', uiBuffer.input ); - floatSpace.clearCustomData(); - floatSpace.remove(); - } ); - - // Handle initial focus. - if ( editor.focusManager.hasFocus ) - floatSpace.show(); - - // Register this UI space to the focus manager. - editor.focusManager.add( floatSpace, 1 ); - } - } -} )(); - -/** - * Along with {@link #floatSpaceDockedOffsetY} it defines the - * amount of offset (in pixels) between float space and the editable left/right - * boundaries when space element is docked at either side of the editable. - * - * config.floatSpaceDockedOffsetX = 10; - * - * @cfg {Number} [floatSpaceDockedOffsetX=0] - * @member CKEDITOR.config - */ - -/** - * Along with {@link #floatSpaceDockedOffsetX} it defines the - * amount of offset (in pixels) between float space and the editable top/bottom - * boundaries when space element is docked at either side of the editable. - * - * config.floatSpaceDockedOffsetY = 10; - * - * @cfg {Number} [floatSpaceDockedOffsetY=0] - * @member CKEDITOR.config - */ - -/** - * Along with {@link #floatSpacePinnedOffsetY} it defines the - * amount of offset (in pixels) between float space and the view port boundaries - * when space element is pinned. - * - * config.floatSpacePinnedOffsetX = 20; - * - * @cfg {Number} [floatSpacePinnedOffsetX=0] - * @member CKEDITOR.config - */ - -/** - * Along with {@link #floatSpacePinnedOffsetX} it defines the - * amount of offset (in pixels) between float space and the view port boundaries - * when space element is pinned. - * - * config.floatSpacePinnedOffsetY = 20; - * - * @cfg {Number} [floatSpacePinnedOffsetY=0] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/floatpanel/plugin.js b/scripts/ckeditor/plugins/floatpanel/plugin.js deleted file mode 100755 index 60489c19..00000000 --- a/scripts/ckeditor/plugins/floatpanel/plugin.js +++ /dev/null @@ -1,579 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.add( 'floatpanel', { - requires: 'panel' -} ); - -( function() { - var panels = {}; - - function getPanel( editor, doc, parentElement, definition, level ) { - // Generates the panel key: docId-eleId-skinName-langDir[-uiColor][-CSSs][-level] - var key = CKEDITOR.tools.genKey( doc.getUniqueId(), parentElement.getUniqueId(), editor.lang.dir, editor.uiColor || '', definition.css || '', level || '' ), - panel = panels[ key ]; - - if ( !panel ) { - panel = panels[ key ] = new CKEDITOR.ui.panel( doc, definition ); - panel.element = parentElement.append( CKEDITOR.dom.element.createFromHtml( panel.render( editor ), doc ) ); - - panel.element.setStyles( { - display: 'none', - position: 'absolute' - } ); - } - - return panel; - } - - /** - * Represents a floating panel UI element. - * - * It's reused by rich combos, color combos, menus, etc. - * and it renders its content using {@link CKEDITOR.ui.panel}. - * - * @class - * @todo - */ - CKEDITOR.ui.floatPanel = CKEDITOR.tools.createClass( { - /** - * Creates a floatPanel class instance. - * - * @constructor - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} parentElement - * @param {Object} definition Definition of the panel that will be floating. - * @param {Number} level - */ - $: function( editor, parentElement, definition, level ) { - definition.forceIFrame = 1; - - // In case of editor with floating toolbar append panels that should float - // to the main UI element. - if ( definition.toolbarRelated && editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) - parentElement = CKEDITOR.document.getById( 'cke_' + editor.name ); - - var doc = parentElement.getDocument(), - panel = getPanel( editor, doc, parentElement, definition, level || 0 ), - element = panel.element, - iframe = element.getFirst(), - that = this; - - // Disable native browser menu. (#4825) - element.disableContextMenu(); - - this.element = element; - - this._ = { - editor: editor, - // The panel that will be floating. - panel: panel, - parentElement: parentElement, - definition: definition, - document: doc, - iframe: iframe, - children: [], - dir: editor.lang.dir - }; - - editor.on( 'mode', hide ); - editor.on( 'resize', hide ); - - // Window resize doesn't cause hide on blur. (#9800) - // [iOS] Poping up keyboard triggers window resize - // which leads to undesired panel hides. - if ( !CKEDITOR.env.iOS ) - doc.getWindow().on( 'resize', hide ); - - // We need a wrapper because events implementation doesn't allow to attach - // one listener more than once for the same event on the same object. - // Remember that floatPanel#hide is shared between all instances. - function hide() { - that.hide(); - } - }, - - proto: { - /** - * @todo - */ - addBlock: function( name, block ) { - return this._.panel.addBlock( name, block ); - }, - - /** - * @todo - */ - addListBlock: function( name, multiSelect ) { - return this._.panel.addListBlock( name, multiSelect ); - }, - - /** - * @todo - */ - getBlock: function( name ) { - return this._.panel.getBlock( name ); - }, - - /** - * Shows panel block. - * - * @param {String} name - * @param {CKEDITOR.dom.element} offsetParent Positioned parent. - * @param {Number} corner - * - * * For LTR (left to right) oriented editor: - * * `1` = top-left - * * `2` = top-right - * * `3` = bottom-right - * * `4` = bottom-left - * * For RTL (right to left): - * * `1` = top-right - * * `2` = top-left - * * `3` = bottom-left - * * `4` = bottom-right - * - * @param {Number} [offsetX=0] - * @param {Number} [offsetY=0] - * @param {Function} [callback] A callback function executed when block positioning is done. - * @todo what do exactly these params mean (especially corner)? - */ - showBlock: function( name, offsetParent, corner, offsetX, offsetY, callback ) { - var panel = this._.panel, - block = panel.showBlock( name ); - - this.allowBlur( false ); - - // Record from where the focus is when open panel. - var editable = this._.editor.editable(); - this._.returnFocus = editable.hasFocus ? editable : new CKEDITOR.dom.element( CKEDITOR.document.$.activeElement ); - this._.hideTimeout = 0; - - var element = this.element, - iframe = this._.iframe, - // Non IE prefer the event into a window object. - focused = CKEDITOR.env.ie ? iframe : new CKEDITOR.dom.window( iframe.$.contentWindow ), - doc = element.getDocument(), - positionedAncestor = this._.parentElement.getPositionedAncestor(), - position = offsetParent.getDocumentPosition( doc ), - positionedAncestorPosition = positionedAncestor ? positionedAncestor.getDocumentPosition( doc ) : { x: 0, y: 0 }, - rtl = this._.dir == 'rtl', - left = position.x + ( offsetX || 0 ) - positionedAncestorPosition.x, - top = position.y + ( offsetY || 0 ) - positionedAncestorPosition.y; - - // Floating panels are off by (-1px, 0px) in RTL mode. (#3438) - if ( rtl && ( corner == 1 || corner == 4 ) ) - left += offsetParent.$.offsetWidth; - else if ( !rtl && ( corner == 2 || corner == 3 ) ) - left += offsetParent.$.offsetWidth - 1; - - if ( corner == 3 || corner == 4 ) - top += offsetParent.$.offsetHeight - 1; - - // Memorize offsetParent by it's ID. - this._.panel._.offsetParentId = offsetParent.getId(); - - element.setStyles( { - top: top + 'px', - left: 0, - display: '' - } ); - - // Don't use display or visibility style because we need to - // calculate the rendering layout later and focus the element. - element.setOpacity( 0 ); - - // To allow the context menu to decrease back their width - element.getFirst().removeStyle( 'width' ); - - // Report to focus manager. - this._.editor.focusManager.add( focused ); - - // Configure the IFrame blur event. Do that only once. - if ( !this._.blurSet ) { - - // With addEventListener compatible browsers, we must - // useCapture when registering the focus/blur events to - // guarantee they will be firing in all situations. (#3068, #3222 ) - CKEDITOR.event.useCapture = true; - - focused.on( 'blur', function( ev ) { - // As we are using capture to register the listener, - // the blur event may get fired even when focusing - // inside the window itself, so we must ensure the - // target is out of it. - if ( !this.allowBlur() || ev.data.getPhase() != CKEDITOR.EVENT_PHASE_AT_TARGET ) - return; - - if ( this.visible && !this._.activeChild ) { - // [iOS] Allow hide to be prevented if touch is bound - // to any parent of the iframe blur happens before touch (#10714). - if ( CKEDITOR.env.iOS ) { - if ( !this._.hideTimeout ) - this._.hideTimeout = CKEDITOR.tools.setTimeout( doHide, 0, this ); - } else - doHide.call( this ); - } - - function doHide() { - // Panel close is caused by user's navigating away the focus, e.g. click outside the panel. - // DO NOT restore focus in this case. - delete this._.returnFocus; - this.hide(); - } - }, this ); - - focused.on( 'focus', function() { - this._.focused = true; - this.hideChild(); - this.allowBlur( true ); - }, this ); - - // [iOS] if touch is bound to any parent of the iframe blur - // happens twice before touchstart and before touchend (#10714). - if ( CKEDITOR.env.iOS ) { - // Prevent false hiding on blur. - // We don't need to return focus here because touchend will fire anyway. - // If user scrolls and pointer gets out of the panel area touchend will also fire. - focused.on( 'touchstart', function() { - clearTimeout( this._.hideTimeout ); - }, this ); - - // Set focus back to handle blur and hide panel when needed. - focused.on( 'touchend', function() { - this._.hideTimeout = 0; - this.focus(); - }, this ); - } - - CKEDITOR.event.useCapture = false; - - this._.blurSet = 1; - } - - panel.onEscape = CKEDITOR.tools.bind( function( keystroke ) { - if ( this.onEscape && this.onEscape( keystroke ) === false ) - return false; - }, this ); - - CKEDITOR.tools.setTimeout( function() { - var panelLoad = CKEDITOR.tools.bind( function() { - var target = element; - - // Reset panel width as the new content can be narrower - // than the old one. (#9355) - target.removeStyle( 'width' ); - - if ( block.autoSize ) { - var panelDoc = block.element.getDocument(); - var width = ( CKEDITOR.env.webkit? block.element : panelDoc.getBody() )[ '$' ].scrollWidth; - - // Account for extra height needed due to IE quirks box model bug: - // http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug - // (#3426) - if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && width > 0 ) - width += ( target.$.offsetWidth || 0 ) - ( target.$.clientWidth || 0 ) + 3; - - // Add some extra pixels to improve the appearance. - width += 10; - - target.setStyle( 'width', width + 'px' ); - - var height = block.element.$.scrollHeight; - - // Account for extra height needed due to IE quirks box model bug: - // http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug - // (#3426) - if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && height > 0 ) - height += ( target.$.offsetHeight || 0 ) - ( target.$.clientHeight || 0 ) + 3; - - target.setStyle( 'height', height + 'px' ); - - // Fix IE < 8 visibility. - panel._.currentBlock.element.setStyle( 'display', 'none' ).removeStyle( 'display' ); - } else - target.removeStyle( 'height' ); - - // Flip panel layout horizontally in RTL with known width. - if ( rtl ) - left -= element.$.offsetWidth; - - // Pop the style now for measurement. - element.setStyle( 'left', left + 'px' ); - - /* panel layout smartly fit the viewport size. */ - var panelElement = panel.element, - panelWindow = panelElement.getWindow(), - rect = element.$.getBoundingClientRect(), - viewportSize = panelWindow.getViewPaneSize(); - - // Compensation for browsers that dont support "width" and "height". - var rectWidth = rect.width || rect.right - rect.left, - rectHeight = rect.height || rect.bottom - rect.top; - - // Check if default horizontal layout is impossible. - var spaceAfter = rtl ? rect.right : viewportSize.width - rect.left, - spaceBefore = rtl ? viewportSize.width - rect.right : rect.left; - - if ( rtl ) { - if ( spaceAfter < rectWidth ) { - // Flip to show on right. - if ( spaceBefore > rectWidth ) - left += rectWidth; - // Align to window left. - else if ( viewportSize.width > rectWidth ) - left = left - rect.left; - // Align to window right, never cutting the panel at right. - else - left = left - rect.right + viewportSize.width; - } - } else if ( spaceAfter < rectWidth ) { - // Flip to show on left. - if ( spaceBefore > rectWidth ) - left -= rectWidth; - // Align to window right. - else if ( viewportSize.width > rectWidth ) - left = left - rect.right + viewportSize.width; - // Align to window left, never cutting the panel at left. - else - left = left - rect.left; - } - - - // Check if the default vertical layout is possible. - var spaceBelow = viewportSize.height - rect.top, - spaceAbove = rect.top; - - if ( spaceBelow < rectHeight ) { - // Flip to show above. - if ( spaceAbove > rectHeight ) - top -= rectHeight; - // Align to window bottom. - else if ( viewportSize.height > rectHeight ) - top = top - rect.bottom + viewportSize.height; - // Align to top, never cutting the panel at top. - else - top = top - rect.top; - } - - // If IE is in RTL, we have troubles with absolute - // position and horizontal scrolls. Here we have a - // series of hacks to workaround it. (#6146) - if ( CKEDITOR.env.ie ) { - var offsetParent = new CKEDITOR.dom.element( element.$.offsetParent ), - scrollParent = offsetParent; - - // Quirks returns , but standards returns . - if ( scrollParent.getName() == 'html' ) - scrollParent = scrollParent.getDocument().getBody(); - - if ( scrollParent.getComputedStyle( 'direction' ) == 'rtl' ) { - // For IE8, there is not much logic on this, but it works. - if ( CKEDITOR.env.ie8Compat ) - left -= element.getDocument().getDocumentElement().$.scrollLeft * 2; - else - left -= ( offsetParent.$.scrollWidth - offsetParent.$.clientWidth ); - } - } - - // Trigger the onHide event of the previously active panel to prevent - // incorrect styles from being applied (#6170) - var innerElement = element.getFirst(), - activePanel; - if ( ( activePanel = innerElement.getCustomData( 'activePanel' ) ) ) - activePanel.onHide && activePanel.onHide.call( this, 1 ); - innerElement.setCustomData( 'activePanel', this ); - - element.setStyles( { - top: top + 'px', - left: left + 'px' - } ); - element.setOpacity( 1 ); - - callback && callback(); - }, this ); - - panel.isLoaded ? panelLoad() : panel.onLoad = panelLoad; - - CKEDITOR.tools.setTimeout( function() { - var scrollTop = CKEDITOR.env.webkit && CKEDITOR.document.getWindow().getScrollPosition().y; - - // Focus the panel frame first, so blur gets fired. - this.focus(); - - // Focus the block now. - block.element.focus(); - - // #10623, #10951 - restore the viewport's scroll position after focusing list element. - if ( CKEDITOR.env.webkit ) - CKEDITOR.document.getBody().$.scrollTop = scrollTop; - - // We need this get fired manually because of unfired focus() function. - this.allowBlur( true ); - this._.editor.fire( 'panelShow', this ); - }, 0, this ); - }, CKEDITOR.env.air ? 200 : 0, this ); - this.visible = 1; - - if ( this.onShow ) - this.onShow.call( this ); - }, - - /** - * Restores last focused element or simply focus panel window. - */ - focus: function() { - // Webkit requires to blur any previous focused page element, in - // order to properly fire the "focus" event. - if ( CKEDITOR.env.webkit ) { - var active = CKEDITOR.document.getActive(); - !active.equals( this._.iframe ) && active.$.blur(); - } - - // Restore last focused element or simply focus panel window. - var focus = this._.lastFocused || this._.iframe.getFrameDocument().getWindow(); - focus.focus(); - }, - - /** - * @todo - */ - blur: function() { - var doc = this._.iframe.getFrameDocument(), - active = doc.getActive(); - - active.is( 'a' ) && ( this._.lastFocused = active ); - }, - - /** - * Hides panel. - * - * @todo - */ - hide: function( returnFocus ) { - if ( this.visible && ( !this.onHide || this.onHide.call( this ) !== true ) ) { - this.hideChild(); - // Blur previously focused element. (#6671) - CKEDITOR.env.gecko && this._.iframe.getFrameDocument().$.activeElement.blur(); - this.element.setStyle( 'display', 'none' ); - this.visible = 0; - this.element.getFirst().removeCustomData( 'activePanel' ); - - // Return focus properly. (#6247) - var focusReturn = returnFocus && this._.returnFocus; - if ( focusReturn ) { - // Webkit requires focus moved out panel iframe first. - if ( CKEDITOR.env.webkit && focusReturn.type ) - focusReturn.getWindow().$.focus(); - - focusReturn.focus(); - } - - delete this._.lastFocused; - - this._.editor.fire( 'panelHide', this ); - } - }, - - /** - * @todo - */ - allowBlur: function( allow ) // Prevent editor from hiding the panel. #3222. - { - var panel = this._.panel; - if ( allow != undefined ) - panel.allowBlur = allow; - - return panel.allowBlur; - }, - - /** - * Shows specified panel as a child of one block of this one. - * - * @param {CKEDITOR.ui.floatPanel} panel - * @param {String} blockName - * @param {CKEDITOR.dom.element} offsetParent Positioned parent. - * @param {Number} corner - * - * * For LTR (left to right) oriented editor: - * * `1` = top-left - * * `2` = top-right - * * `3` = bottom-right - * * `4` = bottom-left - * * For RTL (right to left): - * * `1` = top-right - * * `2` = top-left - * * `3` = bottom-left - * * `4` = bottom-right - * - * @param {Number} [offsetX=0] - * @param {Number} [offsetY=0] - * @todo - */ - showAsChild: function( panel, blockName, offsetParent, corner, offsetX, offsetY ) { - // Skip reshowing of child which is already visible. - if ( this._.activeChild == panel && panel._.panel._.offsetParentId == offsetParent.getId() ) - return; - - this.hideChild(); - - panel.onHide = CKEDITOR.tools.bind( function() { - // Use a timeout, so we give time for this menu to get - // potentially focused. - CKEDITOR.tools.setTimeout( function() { - if ( !this._.focused ) - this.hide(); - }, 0, this ); - }, this ); - - this._.activeChild = panel; - this._.focused = false; - - panel.showBlock( blockName, offsetParent, corner, offsetX, offsetY ); - this.blur(); - - /* #3767 IE: Second level menu may not have borders */ - if ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) { - setTimeout( function() { - panel.element.getChild( 0 ).$.style.cssText += ''; - }, 100 ); - } - }, - - /** - * @todo - */ - hideChild: function( restoreFocus ) { - var activeChild = this._.activeChild; - - if ( activeChild ) { - delete activeChild.onHide; - delete this._.activeChild; - activeChild.hide(); - - // At this point focus should be moved back to parent panel. - restoreFocus && this.focus(); - } - } - } - } ); - - CKEDITOR.on( 'instanceDestroyed', function() { - var isLastInstance = CKEDITOR.tools.isEmpty( CKEDITOR.instances ); - - for ( var i in panels ) { - var panel = panels[ i ]; - // Safe to destroy it since there're no more instances.(#4241) - if ( isLastInstance ) - panel.destroy(); - // Panel might be used by other instances, just hide them.(#4552) - else - panel.element.hide(); - } - // Remove the registration. - isLastInstance && ( panels = {} ); - - } ); -} )(); diff --git a/scripts/ckeditor/plugins/font/lang/af.js b/scripts/ckeditor/plugins/font/lang/af.js deleted file mode 100755 index 99f95c03..00000000 --- a/scripts/ckeditor/plugins/font/lang/af.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'af', { - fontSize: { - label: 'Grootte', - voiceLabel: 'Fontgrootte', - panelTitle: 'Fontgrootte' - }, - label: 'Font', - panelTitle: 'Fontnaam', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ar.js b/scripts/ckeditor/plugins/font/lang/ar.js deleted file mode 100755 index f339266d..00000000 --- a/scripts/ckeditor/plugins/font/lang/ar.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ar', { - fontSize: { - label: 'حجم الخط', - voiceLabel: 'حجم الخط', - panelTitle: 'حجم الخط' - }, - label: 'خط', - panelTitle: 'حجم الخط', - voiceLabel: 'حجم الخط' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/bg.js b/scripts/ckeditor/plugins/font/lang/bg.js deleted file mode 100755 index 639dafc0..00000000 --- a/scripts/ckeditor/plugins/font/lang/bg.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'bg', { - fontSize: { - label: 'Размер', - voiceLabel: 'Размер на шрифт', - panelTitle: 'Размер на шрифт' - }, - label: 'Шрифт', - panelTitle: 'Име на шрифт', - voiceLabel: 'Шрифт' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/bn.js b/scripts/ckeditor/plugins/font/lang/bn.js deleted file mode 100755 index c88eb903..00000000 --- a/scripts/ckeditor/plugins/font/lang/bn.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'bn', { - fontSize: { - label: 'সাইজ', - voiceLabel: 'Font Size', - panelTitle: 'সাইজ' - }, - label: 'ফন্ট', - panelTitle: 'ফন্ট', - voiceLabel: 'ফন্ট' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/bs.js b/scripts/ckeditor/plugins/font/lang/bs.js deleted file mode 100755 index 7532fb1e..00000000 --- a/scripts/ckeditor/plugins/font/lang/bs.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'bs', { - fontSize: { - label: 'Velièina', - voiceLabel: 'Font Size', - panelTitle: 'Velièina' - }, - label: 'Font', - panelTitle: 'Font', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ca.js b/scripts/ckeditor/plugins/font/lang/ca.js deleted file mode 100755 index 5089350f..00000000 --- a/scripts/ckeditor/plugins/font/lang/ca.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ca', { - fontSize: { - label: 'Mida', - voiceLabel: 'Mida de la lletra', - panelTitle: 'Mida de la lletra' - }, - label: 'Tipus de lletra', - panelTitle: 'Tipus de lletra', - voiceLabel: 'Tipus de lletra' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/cs.js b/scripts/ckeditor/plugins/font/lang/cs.js deleted file mode 100755 index c2037467..00000000 --- a/scripts/ckeditor/plugins/font/lang/cs.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'cs', { - fontSize: { - label: 'Velikost', - voiceLabel: 'Velikost písma', - panelTitle: 'Velikost' - }, - label: 'Písmo', - panelTitle: 'Písmo', - voiceLabel: 'Písmo' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/cy.js b/scripts/ckeditor/plugins/font/lang/cy.js deleted file mode 100755 index a3ffb03f..00000000 --- a/scripts/ckeditor/plugins/font/lang/cy.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'cy', { - fontSize: { - label: 'Maint', - voiceLabel: 'Maint y Ffont', - panelTitle: 'Maint y Ffont' - }, - label: 'Ffont', - panelTitle: 'Enw\'r Ffont', - voiceLabel: 'Ffont' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/da.js b/scripts/ckeditor/plugins/font/lang/da.js deleted file mode 100755 index 76044d7c..00000000 --- a/scripts/ckeditor/plugins/font/lang/da.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'da', { - fontSize: { - label: 'Skriftstørrelse', - voiceLabel: 'Skriftstørrelse', - panelTitle: 'Skriftstørrelse' - }, - label: 'Skrifttype', - panelTitle: 'Skrifttype', - voiceLabel: 'Skrifttype' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/de.js b/scripts/ckeditor/plugins/font/lang/de.js deleted file mode 100755 index 219a92d7..00000000 --- a/scripts/ckeditor/plugins/font/lang/de.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'de', { - fontSize: { - label: 'Größe', - voiceLabel: 'Schrifgröße', - panelTitle: 'Größe' - }, - label: 'Schriftart', - panelTitle: 'Schriftart', - voiceLabel: 'Schriftart' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/el.js b/scripts/ckeditor/plugins/font/lang/el.js deleted file mode 100755 index 0cd3c9e0..00000000 --- a/scripts/ckeditor/plugins/font/lang/el.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'el', { - fontSize: { - label: 'Μέγεθος', - voiceLabel: 'Μέγεθος Γραμματοσειράς', - panelTitle: 'Μέγεθος Γραμματοσειράς' - }, - label: 'Γραμματοσειρά', - panelTitle: 'Όνομα Γραμματοσειράς', - voiceLabel: 'Γραμματοσειρά' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/en-au.js b/scripts/ckeditor/plugins/font/lang/en-au.js deleted file mode 100755 index 712419da..00000000 --- a/scripts/ckeditor/plugins/font/lang/en-au.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'en-au', { - fontSize: { - label: 'Size', - voiceLabel: 'Font Size', - panelTitle: 'Font Size' - }, - label: 'Font', - panelTitle: 'Font Name', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/en-ca.js b/scripts/ckeditor/plugins/font/lang/en-ca.js deleted file mode 100755 index b9b0c381..00000000 --- a/scripts/ckeditor/plugins/font/lang/en-ca.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'en-ca', { - fontSize: { - label: 'Size', - voiceLabel: 'Font Size', - panelTitle: 'Font Size' - }, - label: 'Font', - panelTitle: 'Font Name', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/en-gb.js b/scripts/ckeditor/plugins/font/lang/en-gb.js deleted file mode 100755 index ba10921c..00000000 --- a/scripts/ckeditor/plugins/font/lang/en-gb.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'en-gb', { - fontSize: { - label: 'Size', - voiceLabel: 'Font Size', - panelTitle: 'Font Size' - }, - label: 'Font', - panelTitle: 'Font Name', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/en.js b/scripts/ckeditor/plugins/font/lang/en.js deleted file mode 100755 index eb3ca485..00000000 --- a/scripts/ckeditor/plugins/font/lang/en.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'en', { - fontSize: { - label: 'Size', - voiceLabel: 'Font Size', - panelTitle: 'Font Size' - }, - label: 'Font', - panelTitle: 'Font Name', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/eo.js b/scripts/ckeditor/plugins/font/lang/eo.js deleted file mode 100755 index e0f9cd32..00000000 --- a/scripts/ckeditor/plugins/font/lang/eo.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'eo', { - fontSize: { - label: 'Grado', - voiceLabel: 'Tipara grado', - panelTitle: 'Tipara grado' - }, - label: 'Tiparo', - panelTitle: 'Tipara nomo', - voiceLabel: 'Tiparo' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/es.js b/scripts/ckeditor/plugins/font/lang/es.js deleted file mode 100755 index 0c8fb110..00000000 --- a/scripts/ckeditor/plugins/font/lang/es.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'es', { - fontSize: { - label: 'Tamaño', - voiceLabel: 'Tamaño de fuente', - panelTitle: 'Tamaño' - }, - label: 'Fuente', - panelTitle: 'Fuente', - voiceLabel: 'Fuente' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/et.js b/scripts/ckeditor/plugins/font/lang/et.js deleted file mode 100755 index 07039aa3..00000000 --- a/scripts/ckeditor/plugins/font/lang/et.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'et', { - fontSize: { - label: 'Suurus', - voiceLabel: 'Kirja suurus', - panelTitle: 'Suurus' - }, - label: 'Kiri', - panelTitle: 'Kiri', - voiceLabel: 'Kiri' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/eu.js b/scripts/ckeditor/plugins/font/lang/eu.js deleted file mode 100755 index 58ed0527..00000000 --- a/scripts/ckeditor/plugins/font/lang/eu.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'eu', { - fontSize: { - label: 'Tamaina', - voiceLabel: 'Tamaina', - panelTitle: 'Tamaina' - }, - label: 'Letra-tipoa', - panelTitle: 'Letra-tipoa', - voiceLabel: 'Letra-tipoa' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/fa.js b/scripts/ckeditor/plugins/font/lang/fa.js deleted file mode 100755 index 7ac18eb2..00000000 --- a/scripts/ckeditor/plugins/font/lang/fa.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'fa', { - fontSize: { - label: 'اندازه', - voiceLabel: 'اندازه قلم', - panelTitle: 'اندازه قلم' - }, - label: 'قلم', - panelTitle: 'نام قلم', - voiceLabel: 'قلم' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/fi.js b/scripts/ckeditor/plugins/font/lang/fi.js deleted file mode 100755 index 5c433326..00000000 --- a/scripts/ckeditor/plugins/font/lang/fi.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'fi', { - fontSize: { - label: 'Koko', - voiceLabel: 'Kirjaisimen koko', - panelTitle: 'Koko' - }, - label: 'Kirjaisinlaji', - panelTitle: 'Kirjaisinlaji', - voiceLabel: 'Kirjaisinlaji' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/fo.js b/scripts/ckeditor/plugins/font/lang/fo.js deleted file mode 100755 index 7e7c18e9..00000000 --- a/scripts/ckeditor/plugins/font/lang/fo.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'fo', { - fontSize: { - label: 'Skriftstødd', - voiceLabel: 'Skriftstødd', - panelTitle: 'Skriftstødd' - }, - label: 'Skrift', - panelTitle: 'Skrift', - voiceLabel: 'Skrift' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/fr-ca.js b/scripts/ckeditor/plugins/font/lang/fr-ca.js deleted file mode 100755 index a6b90bbf..00000000 --- a/scripts/ckeditor/plugins/font/lang/fr-ca.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'fr-ca', { - fontSize: { - label: 'Taille', - voiceLabel: 'Taille', - panelTitle: 'Taille' - }, - label: 'Police', - panelTitle: 'Police', - voiceLabel: 'Police' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/fr.js b/scripts/ckeditor/plugins/font/lang/fr.js deleted file mode 100755 index 08c604e9..00000000 --- a/scripts/ckeditor/plugins/font/lang/fr.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'fr', { - fontSize: { - label: 'Taille', - voiceLabel: 'Taille de police', - panelTitle: 'Taille de police' - }, - label: 'Police', - panelTitle: 'Style de police', - voiceLabel: 'Police' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/gl.js b/scripts/ckeditor/plugins/font/lang/gl.js deleted file mode 100755 index 0e85b7ec..00000000 --- a/scripts/ckeditor/plugins/font/lang/gl.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'gl', { - fontSize: { - label: 'Tamaño', - voiceLabel: 'Tamaño da letra', - panelTitle: 'Tamaño da letra' - }, - label: 'Tipo de letra', - panelTitle: 'Nome do tipo de letra', - voiceLabel: 'Tipo de letra' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/gu.js b/scripts/ckeditor/plugins/font/lang/gu.js deleted file mode 100755 index ca390d5d..00000000 --- a/scripts/ckeditor/plugins/font/lang/gu.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'gu', { - fontSize: { - label: 'ફૉન્ટ સાઇઝ/કદ', - voiceLabel: 'ફોન્ટ સાઈઝ', - panelTitle: 'ફૉન્ટ સાઇઝ/કદ' - }, - label: 'ફૉન્ટ', - panelTitle: 'ફૉન્ટ', - voiceLabel: 'ફોન્ટ' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/he.js b/scripts/ckeditor/plugins/font/lang/he.js deleted file mode 100755 index 9ac0df06..00000000 --- a/scripts/ckeditor/plugins/font/lang/he.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'he', { - fontSize: { - label: 'גודל', - voiceLabel: 'גודל', - panelTitle: 'גודל' - }, - label: 'גופן', - panelTitle: 'גופן', - voiceLabel: 'גופן' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/hi.js b/scripts/ckeditor/plugins/font/lang/hi.js deleted file mode 100755 index f7e4c3db..00000000 --- a/scripts/ckeditor/plugins/font/lang/hi.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'hi', { - fontSize: { - label: 'साइज़', - voiceLabel: 'Font Size', - panelTitle: 'साइज़' - }, - label: 'फ़ॉन्ट', - panelTitle: 'फ़ॉन्ट', - voiceLabel: 'फ़ॉन्ट' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/hr.js b/scripts/ckeditor/plugins/font/lang/hr.js deleted file mode 100755 index 51f49385..00000000 --- a/scripts/ckeditor/plugins/font/lang/hr.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'hr', { - fontSize: { - label: 'Veličina', - voiceLabel: 'Veličina slova', - panelTitle: 'Veličina' - }, - label: 'Font', - panelTitle: 'Font', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/hu.js b/scripts/ckeditor/plugins/font/lang/hu.js deleted file mode 100755 index 389d3834..00000000 --- a/scripts/ckeditor/plugins/font/lang/hu.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'hu', { - fontSize: { - label: 'Méret', - voiceLabel: 'Betűméret', - panelTitle: 'Méret' - }, - label: 'Betűtípus', - panelTitle: 'Betűtípus', - voiceLabel: 'Betűtípus' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/id.js b/scripts/ckeditor/plugins/font/lang/id.js deleted file mode 100755 index a128bb9b..00000000 --- a/scripts/ckeditor/plugins/font/lang/id.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'id', { - fontSize: { - label: 'Ukuran', - voiceLabel: 'Font Size', // MISSING - panelTitle: 'Font Size' // MISSING - }, - label: 'Font', // MISSING - panelTitle: 'Font Name', // MISSING - voiceLabel: 'Font' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/font/lang/is.js b/scripts/ckeditor/plugins/font/lang/is.js deleted file mode 100755 index d40220d7..00000000 --- a/scripts/ckeditor/plugins/font/lang/is.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'is', { - fontSize: { - label: 'Leturstærð ', - voiceLabel: 'Font Size', - panelTitle: 'Leturstærð ' - }, - label: 'Leturgerð ', - panelTitle: 'Leturgerð ', - voiceLabel: 'Leturgerð ' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/it.js b/scripts/ckeditor/plugins/font/lang/it.js deleted file mode 100755 index 1b6928e3..00000000 --- a/scripts/ckeditor/plugins/font/lang/it.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'it', { - fontSize: { - label: 'Dimensione', - voiceLabel: 'Dimensione Carattere', - panelTitle: 'Dimensione' - }, - label: 'Carattere', - panelTitle: 'Carattere', - voiceLabel: 'Carattere' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ja.js b/scripts/ckeditor/plugins/font/lang/ja.js deleted file mode 100755 index 8a26aa0f..00000000 --- a/scripts/ckeditor/plugins/font/lang/ja.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ja', { - fontSize: { - label: 'サイズ', - voiceLabel: 'フォントサイズ', - panelTitle: 'フォントサイズ' - }, - label: 'フォント', - panelTitle: 'フォント', - voiceLabel: 'フォント' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ka.js b/scripts/ckeditor/plugins/font/lang/ka.js deleted file mode 100755 index ad10db6b..00000000 --- a/scripts/ckeditor/plugins/font/lang/ka.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ka', { - fontSize: { - label: 'ზომა', - voiceLabel: 'ტექსტის ზომა', - panelTitle: 'ტექსტის ზომა' - }, - label: 'ფონტი', - panelTitle: 'ფონტის სახელი', - voiceLabel: 'ფონტი' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/km.js b/scripts/ckeditor/plugins/font/lang/km.js deleted file mode 100755 index 7d399ba7..00000000 --- a/scripts/ckeditor/plugins/font/lang/km.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'km', { - fontSize: { - label: 'ទំហំ', - voiceLabel: 'ទំហំ​អក្សរ', - panelTitle: 'ទំហំ​អក្សរ' - }, - label: 'ពុម្ព​អក្សរ', - panelTitle: 'ឈ្មោះ​ពុម្ព​អក្សរ', - voiceLabel: 'ពុម្ព​អក្សរ' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ko.js b/scripts/ckeditor/plugins/font/lang/ko.js deleted file mode 100755 index d5691436..00000000 --- a/scripts/ckeditor/plugins/font/lang/ko.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ko', { - fontSize: { - label: '글자 크기', - voiceLabel: 'Font Size', - panelTitle: '글자 크기' - }, - label: '폰트', - panelTitle: '폰트', - voiceLabel: '폰트' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ku.js b/scripts/ckeditor/plugins/font/lang/ku.js deleted file mode 100755 index aa5643cc..00000000 --- a/scripts/ckeditor/plugins/font/lang/ku.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ku', { - fontSize: { - label: 'گەورەیی', - voiceLabel: 'گەورەیی فۆنت', - panelTitle: 'گەورەیی فۆنت' - }, - label: 'فۆنت', - panelTitle: 'ناوی فۆنت', - voiceLabel: 'فۆنت' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/lt.js b/scripts/ckeditor/plugins/font/lang/lt.js deleted file mode 100755 index 47f3e6e6..00000000 --- a/scripts/ckeditor/plugins/font/lang/lt.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'lt', { - fontSize: { - label: 'Šrifto dydis', - voiceLabel: 'Šrifto dydis', - panelTitle: 'Šrifto dydis' - }, - label: 'Šriftas', - panelTitle: 'Šriftas', - voiceLabel: 'Šriftas' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/lv.js b/scripts/ckeditor/plugins/font/lang/lv.js deleted file mode 100755 index 9c62bdc0..00000000 --- a/scripts/ckeditor/plugins/font/lang/lv.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'lv', { - fontSize: { - label: 'Izmērs', - voiceLabel: 'Fonta izmeŗs', - panelTitle: 'Izmērs' - }, - label: 'Šrifts', - panelTitle: 'Šrifts', - voiceLabel: 'Fonts' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/mk.js b/scripts/ckeditor/plugins/font/lang/mk.js deleted file mode 100755 index 693d17b2..00000000 --- a/scripts/ckeditor/plugins/font/lang/mk.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'mk', { - fontSize: { - label: 'Size', - voiceLabel: 'Font Size', - panelTitle: 'Font Size' - }, - label: 'Font', // MISSING - panelTitle: 'Font Name', // MISSING - voiceLabel: 'Font' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/font/lang/mn.js b/scripts/ckeditor/plugins/font/lang/mn.js deleted file mode 100755 index 8b45d254..00000000 --- a/scripts/ckeditor/plugins/font/lang/mn.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'mn', { - fontSize: { - label: 'Хэмжээ', - voiceLabel: 'Үсгийн хэмжээ', - panelTitle: 'Үсгийн хэмжээ' - }, - label: 'Үсгийн хэлбэр', - panelTitle: 'Үгсийн хэлбэрийн нэр', - voiceLabel: 'Үгсийн хэлбэр' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ms.js b/scripts/ckeditor/plugins/font/lang/ms.js deleted file mode 100755 index 4bc139cb..00000000 --- a/scripts/ckeditor/plugins/font/lang/ms.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ms', { - fontSize: { - label: 'Saiz', - voiceLabel: 'Font Size', - panelTitle: 'Saiz' - }, - label: 'Font', - panelTitle: 'Font', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/nb.js b/scripts/ckeditor/plugins/font/lang/nb.js deleted file mode 100755 index b4a20982..00000000 --- a/scripts/ckeditor/plugins/font/lang/nb.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'nb', { - fontSize: { - label: 'Størrelse', - voiceLabel: 'Skriftstørrelse', - panelTitle: 'Skriftstørrelse' - }, - label: 'Skrift', - panelTitle: 'Skrift', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/nl.js b/scripts/ckeditor/plugins/font/lang/nl.js deleted file mode 100755 index ab3eb91f..00000000 --- a/scripts/ckeditor/plugins/font/lang/nl.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'nl', { - fontSize: { - label: 'Lettergrootte', - voiceLabel: 'Lettergrootte', - panelTitle: 'Lettergrootte' - }, - label: 'Lettertype', - panelTitle: 'Lettertype', - voiceLabel: 'Lettertype' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/no.js b/scripts/ckeditor/plugins/font/lang/no.js deleted file mode 100755 index 57f69bd9..00000000 --- a/scripts/ckeditor/plugins/font/lang/no.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'no', { - fontSize: { - label: 'Størrelse', - voiceLabel: 'Font Størrelse', - panelTitle: 'Størrelse' - }, - label: 'Skrift', - panelTitle: 'Skrift', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/pl.js b/scripts/ckeditor/plugins/font/lang/pl.js deleted file mode 100755 index a26857c6..00000000 --- a/scripts/ckeditor/plugins/font/lang/pl.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'pl', { - fontSize: { - label: 'Rozmiar', - voiceLabel: 'Rozmiar czcionki', - panelTitle: 'Rozmiar' - }, - label: 'Czcionka', - panelTitle: 'Czcionka', - voiceLabel: 'Czcionka' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/pt-br.js b/scripts/ckeditor/plugins/font/lang/pt-br.js deleted file mode 100755 index e4c13ccc..00000000 --- a/scripts/ckeditor/plugins/font/lang/pt-br.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'pt-br', { - fontSize: { - label: 'Tamanho', - voiceLabel: 'Tamanho da fonte', - panelTitle: 'Tamanho' - }, - label: 'Fonte', - panelTitle: 'Fonte', - voiceLabel: 'Fonte' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/pt.js b/scripts/ckeditor/plugins/font/lang/pt.js deleted file mode 100755 index fc642855..00000000 --- a/scripts/ckeditor/plugins/font/lang/pt.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'pt', { - fontSize: { - label: 'Tamanho', - voiceLabel: 'Tamanho da Letra', - panelTitle: 'Tamanho da Letra' - }, - label: 'Tipo de Letra', - panelTitle: 'Nome do Tipo de Letra', - voiceLabel: 'Tipo de Letra' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ro.js b/scripts/ckeditor/plugins/font/lang/ro.js deleted file mode 100755 index d2fa23c1..00000000 --- a/scripts/ckeditor/plugins/font/lang/ro.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ro', { - fontSize: { - label: 'Mărime', - voiceLabel: 'Font Size', - panelTitle: 'Mărime' - }, - label: 'Font', - panelTitle: 'Font', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ru.js b/scripts/ckeditor/plugins/font/lang/ru.js deleted file mode 100755 index 50048ad4..00000000 --- a/scripts/ckeditor/plugins/font/lang/ru.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ru', { - fontSize: { - label: 'Размер', - voiceLabel: 'Размер шрифта', - panelTitle: 'Размер шрифта' - }, - label: 'Шрифт', - panelTitle: 'Шрифт', - voiceLabel: 'Шрифт' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/si.js b/scripts/ckeditor/plugins/font/lang/si.js deleted file mode 100755 index fae9ef16..00000000 --- a/scripts/ckeditor/plugins/font/lang/si.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'si', { - fontSize: { - label: 'විශාලත්වය', - voiceLabel: 'අක්ෂර විශාලත්වය', - panelTitle: 'අක්ෂර විශාලත්වය' - }, - label: 'අක්ෂරය', - panelTitle: 'අක්ෂර නාමය', - voiceLabel: 'අක්ෂර' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/sk.js b/scripts/ckeditor/plugins/font/lang/sk.js deleted file mode 100755 index ef66ac84..00000000 --- a/scripts/ckeditor/plugins/font/lang/sk.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'sk', { - fontSize: { - label: 'Veľkosť', - voiceLabel: 'Veľkosť písma', - panelTitle: 'Veľkosť písma' - }, - label: 'Font', - panelTitle: 'Názov fontu', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/sl.js b/scripts/ckeditor/plugins/font/lang/sl.js deleted file mode 100755 index 583b8591..00000000 --- a/scripts/ckeditor/plugins/font/lang/sl.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'sl', { - fontSize: { - label: 'Velikost', - voiceLabel: 'Velikost', - panelTitle: 'Velikost' - }, - label: 'Pisava', - panelTitle: 'Pisava', - voiceLabel: 'Pisava' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/sq.js b/scripts/ckeditor/plugins/font/lang/sq.js deleted file mode 100755 index 10148b16..00000000 --- a/scripts/ckeditor/plugins/font/lang/sq.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'sq', { - fontSize: { - label: 'Madhësia', - voiceLabel: 'Madhësia e Shkronjës', - panelTitle: 'Madhësia e Shkronjës' - }, - label: 'Shkronja', - panelTitle: 'Emri i Shkronjës', - voiceLabel: 'Shkronja' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/sr-latn.js b/scripts/ckeditor/plugins/font/lang/sr-latn.js deleted file mode 100755 index beaed7c8..00000000 --- a/scripts/ckeditor/plugins/font/lang/sr-latn.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'sr-latn', { - fontSize: { - label: 'Veličina fonta', - voiceLabel: 'Font Size', - panelTitle: 'Veličina fonta' - }, - label: 'Font', - panelTitle: 'Font', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/sr.js b/scripts/ckeditor/plugins/font/lang/sr.js deleted file mode 100755 index 7c08aee1..00000000 --- a/scripts/ckeditor/plugins/font/lang/sr.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'sr', { - fontSize: { - label: 'Величина фонта', - voiceLabel: 'Font Size', - panelTitle: 'Величина фонта' - }, - label: 'Фонт', - panelTitle: 'Фонт', - voiceLabel: 'Фонт' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/sv.js b/scripts/ckeditor/plugins/font/lang/sv.js deleted file mode 100755 index 33f985a4..00000000 --- a/scripts/ckeditor/plugins/font/lang/sv.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'sv', { - fontSize: { - label: 'Storlek', - voiceLabel: 'Teckenstorlek', - panelTitle: 'Teckenstorlek' - }, - label: 'Typsnitt', - panelTitle: 'Typsnitt', - voiceLabel: 'Typsnitt' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/th.js b/scripts/ckeditor/plugins/font/lang/th.js deleted file mode 100755 index d952fbcb..00000000 --- a/scripts/ckeditor/plugins/font/lang/th.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'th', { - fontSize: { - label: 'ขนาด', - voiceLabel: 'Font Size', - panelTitle: 'ขนาด' - }, - label: 'แบบอักษร', - panelTitle: 'แบบอักษร', - voiceLabel: 'แบบอักษร' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/tr.js b/scripts/ckeditor/plugins/font/lang/tr.js deleted file mode 100755 index 2f4edbb6..00000000 --- a/scripts/ckeditor/plugins/font/lang/tr.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'tr', { - fontSize: { - label: 'Boyut', - voiceLabel: 'Font Size', - panelTitle: 'Boyut' - }, - label: 'Yazı Türü', - panelTitle: 'Yazı Türü', - voiceLabel: 'Font' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/tt.js b/scripts/ckeditor/plugins/font/lang/tt.js deleted file mode 100755 index 3d397532..00000000 --- a/scripts/ckeditor/plugins/font/lang/tt.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'tt', { - fontSize: { - label: 'Зурлык', - voiceLabel: 'Шрифт зурлыклары', - panelTitle: 'Шрифт зурлыклары' - }, - label: 'Шрифт', - panelTitle: 'Шрифт исеме', - voiceLabel: 'Шрифт' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/ug.js b/scripts/ckeditor/plugins/font/lang/ug.js deleted file mode 100755 index 11392003..00000000 --- a/scripts/ckeditor/plugins/font/lang/ug.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'ug', { - fontSize: { - label: 'چوڭلۇقى', - voiceLabel: 'خەت چوڭلۇقى', - panelTitle: 'چوڭلۇقى' - }, - label: 'خەت نۇسخا', - panelTitle: 'خەت نۇسخا', - voiceLabel: 'خەت نۇسخا' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/uk.js b/scripts/ckeditor/plugins/font/lang/uk.js deleted file mode 100755 index d62b9607..00000000 --- a/scripts/ckeditor/plugins/font/lang/uk.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'uk', { - fontSize: { - label: 'Розмір', - voiceLabel: 'Розмір шрифту', - panelTitle: 'Розмір' - }, - label: 'Шрифт', - panelTitle: 'Шрифт', - voiceLabel: 'Шрифт' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/vi.js b/scripts/ckeditor/plugins/font/lang/vi.js deleted file mode 100755 index a9f2ed2a..00000000 --- a/scripts/ckeditor/plugins/font/lang/vi.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'vi', { - fontSize: { - label: 'Cỡ chữ', - voiceLabel: 'Kích cỡ phông', - panelTitle: 'Cỡ chữ' - }, - label: 'Phông', - panelTitle: 'Phông', - voiceLabel: 'Phông' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/zh-cn.js b/scripts/ckeditor/plugins/font/lang/zh-cn.js deleted file mode 100755 index 2433325e..00000000 --- a/scripts/ckeditor/plugins/font/lang/zh-cn.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'zh-cn', { - fontSize: { - label: '大小', - voiceLabel: '文字大小', - panelTitle: '大小' - }, - label: '字体', - panelTitle: '字体', - voiceLabel: '字体' -} ); diff --git a/scripts/ckeditor/plugins/font/lang/zh.js b/scripts/ckeditor/plugins/font/lang/zh.js deleted file mode 100755 index 3256957a..00000000 --- a/scripts/ckeditor/plugins/font/lang/zh.js +++ /dev/null @@ -1,14 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'font', 'zh', { - fontSize: { - label: '大小', - voiceLabel: '字型大小', - panelTitle: '字型大小' - }, - label: '字型', - panelTitle: '字型名稱', - voiceLabel: '字型' -} ); diff --git a/scripts/ckeditor/plugins/font/plugin.js b/scripts/ckeditor/plugins/font/plugin.js deleted file mode 100755 index febbc5c8..00000000 --- a/scripts/ckeditor/plugins/font/plugin.js +++ /dev/null @@ -1,230 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - function addCombo( editor, comboName, styleType, lang, entries, defaultLabel, styleDefinition, order ) { - var config = editor.config, - style = new CKEDITOR.style( styleDefinition ); - - // Gets the list of fonts from the settings. - var names = entries.split( ';' ), - values = []; - - // Create style objects for all fonts. - var styles = {}; - for ( var i = 0; i < names.length; i++ ) { - var parts = names[ i ]; - - if ( parts ) { - parts = parts.split( '/' ); - - var vars = {}, - name = names[ i ] = parts[ 0 ]; - - vars[ styleType ] = values[ i ] = parts[ 1 ] || name; - - styles[ name ] = new CKEDITOR.style( styleDefinition, vars ); - styles[ name ]._.definition.name = name; - } else - names.splice( i--, 1 ); - } - - editor.ui.addRichCombo( comboName, { - label: lang.label, - title: lang.panelTitle, - toolbar: 'styles,' + order, - allowedContent: style, - requiredContent: style, - - panel: { - css: [ CKEDITOR.skin.getPath( 'editor' ) ].concat( config.contentsCss ), - multiSelect: false, - attributes: { 'aria-label': lang.panelTitle } - }, - - init: function() { - this.startGroup( lang.panelTitle ); - - for ( var i = 0; i < names.length; i++ ) { - var name = names[ i ]; - - // Add the tag entry to the panel list. - this.add( name, styles[ name ].buildPreview(), name ); - } - }, - - onClick: function( value ) { - editor.focus(); - editor.fire( 'saveSnapshot' ); - - var style = styles[ value ]; - - editor[ this.getValue() == value ? 'removeStyle' : 'applyStyle' ]( style ); - editor.fire( 'saveSnapshot' ); - }, - - onRender: function() { - editor.on( 'selectionChange', function( ev ) { - var currentValue = this.getValue(); - - var elementPath = ev.data.path, - elements = elementPath.elements; - - // For each element into the elements path. - for ( var i = 0, element; i < elements.length; i++ ) { - element = elements[ i ]; - - // Check if the element is removable by any of - // the styles. - for ( var value in styles ) { - if ( styles[ value ].checkElementMatch( element, true, editor ) ) { - if ( value != currentValue ) - this.setValue( value ); - return; - } - } - } - - // If no styles match, just empty it. - this.setValue( '', defaultLabel ); - }, this ); - }, - - refresh: function() { - if ( !editor.activeFilter.check( style ) ) - this.setState( CKEDITOR.TRISTATE_DISABLED ); - } - } ); - } - - CKEDITOR.plugins.add( 'font', { - requires: 'richcombo', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - init: function( editor ) { - var config = editor.config; - - addCombo( editor, 'Font', 'family', editor.lang.font, config.font_names, config.font_defaultLabel, config.font_style, 30 ); - addCombo( editor, 'FontSize', 'size', editor.lang.font.fontSize, config.fontSize_sizes, config.fontSize_defaultLabel, config.fontSize_style, 40 ); - } - } ); -} )(); - -/** - * The list of fonts names to be displayed in the Font combo in the toolbar. - * Entries are separated by semi-colons (`';'`), while it's possible to have more - * than one font for each entry, in the HTML way (separated by comma). - * - * A display name may be optionally defined by prefixing the entries with the - * name and the slash character. For example, `'Arial/Arial, Helvetica, sans-serif'` - * will be displayed as `'Arial'` in the list, but will be outputted as - * `'Arial, Helvetica, sans-serif'`. - * - * config.font_names = - * 'Arial/Arial, Helvetica, sans-serif;' + - * 'Times New Roman/Times New Roman, Times, serif;' + - * 'Verdana'; - * - * config.font_names = 'Arial;Times New Roman;Verdana'; - * - * @cfg {String} [font_names=see source] - * @member CKEDITOR.config - */ -CKEDITOR.config.font_names = 'Arial/Arial, Helvetica, sans-serif;' + - 'Comic Sans MS/Comic Sans MS, cursive;' + - 'Courier New/Courier New, Courier, monospace;' + - 'Georgia/Georgia, serif;' + - 'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' + - 'Tahoma/Tahoma, Geneva, sans-serif;' + - 'Times New Roman/Times New Roman, Times, serif;' + - 'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' + - 'Verdana/Verdana, Geneva, sans-serif'; - -/** - * The text to be displayed in the Font combo is none of the available values - * matches the current cursor position or text selection. - * - * // If the default site font is Arial, we may making it more explicit to the end user. - * config.font_defaultLabel = 'Arial'; - * - * @cfg {String} [font_defaultLabel=''] - * @member CKEDITOR.config - */ -CKEDITOR.config.font_defaultLabel = ''; - -/** - * The style definition to be used to apply the font in the text. - * - * // This is actually the default value for it. - * config.font_style = { - * element: 'span', - * styles: { 'font-family': '#(family)' }, - * overrides: [ { element: 'font', attributes: { 'face': null } } ] - * }; - * - * @cfg {Object} [font_style=see example] - * @member CKEDITOR.config - */ -CKEDITOR.config.font_style = { - element: 'span', - styles: { 'font-family': '#(family)' }, - overrides: [ { - element: 'font', attributes: { 'face': null } - } ] -}; - -/** - * The list of fonts size to be displayed in the Font Size combo in the - * toolbar. Entries are separated by semi-colons (`';'`). - * - * Any kind of "CSS like" size can be used, like `'12px'`, `'2.3em'`, `'130%'`, - * `'larger'` or `'x-small'`. - * - * A display name may be optionally defined by prefixing the entries with the - * name and the slash character. For example, `'Bigger Font/14px'` will be - * displayed as `'Bigger Font'` in the list, but will be outputted as `'14px'`. - * - * config.fontSize_sizes = '16/16px;24/24px;48/48px;'; - * - * config.fontSize_sizes = '12px;2.3em;130%;larger;x-small'; - * - * config.fontSize_sizes = '12 Pixels/12px;Big/2.3em;30 Percent More/130%;Bigger/larger;Very Small/x-small'; - * - * @cfg {String} [fontSize_sizes=see source] - * @member CKEDITOR.config - */ -CKEDITOR.config.fontSize_sizes = '8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px'; - -/** - * The text to be displayed in the Font Size combo is none of the available - * values matches the current cursor position or text selection. - * - * // If the default site font size is 12px, we may making it more explicit to the end user. - * config.fontSize_defaultLabel = '12px'; - * - * @cfg {String} [fontSize_defaultLabel=''] - * @member CKEDITOR.config - */ -CKEDITOR.config.fontSize_defaultLabel = ''; - -/** - * The style definition to be used to apply the font size in the text. - * - * // This is actually the default value for it. - * config.fontSize_style = { - * element: 'span', - * styles: { 'font-size': '#(size)' }, - * overrides: [ { element :'font', attributes: { 'size': null } } ] - * }; - * - * @cfg {Object} [fontSize_style=see example] - * @member CKEDITOR.config - */ -CKEDITOR.config.fontSize_style = { - element: 'span', - styles: { 'font-size': '#(size)' }, - overrides: [ { - element: 'font', attributes: { 'size': null } - } ] -}; diff --git a/scripts/ckeditor/plugins/format/lang/af.js b/scripts/ckeditor/plugins/format/lang/af.js deleted file mode 100755 index b2871bfe..00000000 --- a/scripts/ckeditor/plugins/format/lang/af.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'af', { - label: 'Opmaak', - panelTitle: 'Opmaak', - tag_address: 'Adres', - tag_div: 'Normaal (DIV)', - tag_h1: 'Opskrif 1', - tag_h2: 'Opskrif 2', - tag_h3: 'Opskrif 3', - tag_h4: 'Opskrif 4', - tag_h5: 'Opskrif 5', - tag_h6: 'Opskrif 6', - tag_p: 'Normaal', - tag_pre: 'Opgemaak' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ar.js b/scripts/ckeditor/plugins/format/lang/ar.js deleted file mode 100755 index 9873a4d6..00000000 --- a/scripts/ckeditor/plugins/format/lang/ar.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ar', { - label: 'تنسيق', - panelTitle: 'تنسيق الفقرة', - tag_address: 'عنوان', - tag_div: 'عادي (DIV)', - tag_h1: 'العنوان 1', - tag_h2: 'العنوان 2', - tag_h3: 'العنوان 3', - tag_h4: 'العنوان 4', - tag_h5: 'العنوان 5', - tag_h6: 'العنوان 6', - tag_p: 'عادي', - tag_pre: 'منسّق' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/bg.js b/scripts/ckeditor/plugins/format/lang/bg.js deleted file mode 100755 index 9b43edae..00000000 --- a/scripts/ckeditor/plugins/format/lang/bg.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'bg', { - label: 'Формат', - panelTitle: 'Формат', - tag_address: 'Адрес', - tag_div: 'Параграф (DIV)', - tag_h1: 'Заглавие 1', - tag_h2: 'Заглавие 2', - tag_h3: 'Заглавие 3', - tag_h4: 'Заглавие 4', - tag_h5: 'Заглавие 5', - tag_h6: 'Заглавие 6', - tag_p: 'Нормален', - tag_pre: 'Форматиран' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/bn.js b/scripts/ckeditor/plugins/format/lang/bn.js deleted file mode 100755 index 5ef5a26b..00000000 --- a/scripts/ckeditor/plugins/format/lang/bn.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'bn', { - label: 'ফন্ট ফরমেট', - panelTitle: 'ফন্ট ফরমেট', - tag_address: 'ঠিকানা', - tag_div: 'শীর্ষক (DIV)', - tag_h1: 'শীর্ষক ১', - tag_h2: 'শীর্ষক ২', - tag_h3: 'শীর্ষক ৩', - tag_h4: 'শীর্ষক ৪', - tag_h5: 'শীর্ষক ৫', - tag_h6: 'শীর্ষক ৬', - tag_p: 'সাধারণ', - tag_pre: 'ফর্মেটেড' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/bs.js b/scripts/ckeditor/plugins/format/lang/bs.js deleted file mode 100755 index 21781c62..00000000 --- a/scripts/ckeditor/plugins/format/lang/bs.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'bs', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Address', - tag_div: 'Normal (DIV)', // MISSING - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ca.js b/scripts/ckeditor/plugins/format/lang/ca.js deleted file mode 100755 index cf73250f..00000000 --- a/scripts/ckeditor/plugins/format/lang/ca.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ca', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Adreça', - tag_div: 'Normal (DIV)', - tag_h1: 'Encapçalament 1', - tag_h2: 'Encapçalament 2', - tag_h3: 'Encapçalament 3', - tag_h4: 'Encapçalament 4', - tag_h5: 'Encapçalament 5', - tag_h6: 'Encapçalament 6', - tag_p: 'Normal', - tag_pre: 'Formatejat' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/cs.js b/scripts/ckeditor/plugins/format/lang/cs.js deleted file mode 100755 index c979c293..00000000 --- a/scripts/ckeditor/plugins/format/lang/cs.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'cs', { - label: 'Formát', - panelTitle: 'Formát', - tag_address: 'Adresa', - tag_div: 'Normální (DIV)', - tag_h1: 'Nadpis 1', - tag_h2: 'Nadpis 2', - tag_h3: 'Nadpis 3', - tag_h4: 'Nadpis 4', - tag_h5: 'Nadpis 5', - tag_h6: 'Nadpis 6', - tag_p: 'Normální', - tag_pre: 'Naformátováno' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/cy.js b/scripts/ckeditor/plugins/format/lang/cy.js deleted file mode 100755 index 720ffcc3..00000000 --- a/scripts/ckeditor/plugins/format/lang/cy.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'cy', { - label: 'Fformat', - panelTitle: 'Fformat Paragraff', - tag_address: 'Cyfeiriad', - tag_div: 'Normal (DIV)', - tag_h1: 'Pennawd 1', - tag_h2: 'Pennawd 2', - tag_h3: 'Pennawd 3', - tag_h4: 'Pennawd 4', - tag_h5: 'Pennawd 5', - tag_h6: 'Pennawd 6', - tag_p: 'Normal', - tag_pre: 'Wedi\'i Fformatio' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/da.js b/scripts/ckeditor/plugins/format/lang/da.js deleted file mode 100755 index 6ddc860d..00000000 --- a/scripts/ckeditor/plugins/format/lang/da.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'da', { - label: 'Formatering', - panelTitle: 'Formatering', - tag_address: 'Adresse', - tag_div: 'Normal (DIV)', - tag_h1: 'Overskrift 1', - tag_h2: 'Overskrift 2', - tag_h3: 'Overskrift 3', - tag_h4: 'Overskrift 4', - tag_h5: 'Overskrift 5', - tag_h6: 'Overskrift 6', - tag_p: 'Normal', - tag_pre: 'Formateret' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/de.js b/scripts/ckeditor/plugins/format/lang/de.js deleted file mode 100755 index 3ec7d6f9..00000000 --- a/scripts/ckeditor/plugins/format/lang/de.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'de', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Addresse', - tag_div: 'Normal (DIV)', - tag_h1: 'Überschrift 1', - tag_h2: 'Überschrift 2', - tag_h3: 'Überschrift 3', - tag_h4: 'Überschrift 4', - tag_h5: 'Überschrift 5', - tag_h6: 'Überschrift 6', - tag_p: 'Normal', - tag_pre: 'Formatiert' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/el.js b/scripts/ckeditor/plugins/format/lang/el.js deleted file mode 100755 index 9e12ad3a..00000000 --- a/scripts/ckeditor/plugins/format/lang/el.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'el', { - label: 'Μορφοποίηση', - panelTitle: 'Μορφοποίηση Παραγράφου', - tag_address: 'Διεύθυνση', - tag_div: 'Κανονική (DIV)', - tag_h1: 'Κεφαλίδα 1', - tag_h2: 'Κεφαλίδα 2', - tag_h3: 'Κεφαλίδα 3', - tag_h4: 'Κεφαλίδα 4', - tag_h5: 'Κεφαλίδα 5', - tag_h6: 'Κεφαλίδα 6', - tag_p: 'Κανονική', - tag_pre: 'Προ-μορφοποιημένη' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/en-au.js b/scripts/ckeditor/plugins/format/lang/en-au.js deleted file mode 100755 index 6207bc08..00000000 --- a/scripts/ckeditor/plugins/format/lang/en-au.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'en-au', { - label: 'Format', - panelTitle: 'Paragraph Format', - tag_address: 'Address', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/en-ca.js b/scripts/ckeditor/plugins/format/lang/en-ca.js deleted file mode 100755 index e204880a..00000000 --- a/scripts/ckeditor/plugins/format/lang/en-ca.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'en-ca', { - label: 'Format', - panelTitle: 'Paragraph Format', - tag_address: 'Address', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/en-gb.js b/scripts/ckeditor/plugins/format/lang/en-gb.js deleted file mode 100755 index ded4b672..00000000 --- a/scripts/ckeditor/plugins/format/lang/en-gb.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'en-gb', { - label: 'Format', - panelTitle: 'Paragraph Format', - tag_address: 'Address', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/en.js b/scripts/ckeditor/plugins/format/lang/en.js deleted file mode 100755 index f741e6e2..00000000 --- a/scripts/ckeditor/plugins/format/lang/en.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'en', { - label: 'Format', - panelTitle: 'Paragraph Format', - tag_address: 'Address', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/eo.js b/scripts/ckeditor/plugins/format/lang/eo.js deleted file mode 100755 index ba64a4f8..00000000 --- a/scripts/ckeditor/plugins/format/lang/eo.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'eo', { - label: 'Formato', - panelTitle: 'ParagrafFormato', - tag_address: 'Adreso', - tag_div: 'Normala (DIV)', - tag_h1: 'Titolo 1', - tag_h2: 'Titolo 2', - tag_h3: 'Titolo 3', - tag_h4: 'Titolo 4', - tag_h5: 'Titolo 5', - tag_h6: 'Titolo 6', - tag_p: 'Normala', - tag_pre: 'Formatita' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/es.js b/scripts/ckeditor/plugins/format/lang/es.js deleted file mode 100755 index d0ca6afc..00000000 --- a/scripts/ckeditor/plugins/format/lang/es.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'es', { - label: 'Formato', - panelTitle: 'Formato', - tag_address: 'Dirección', - tag_div: 'Normal (DIV)', - tag_h1: 'Encabezado 1', - tag_h2: 'Encabezado 2', - tag_h3: 'Encabezado 3', - tag_h4: 'Encabezado 4', - tag_h5: 'Encabezado 5', - tag_h6: 'Encabezado 6', - tag_p: 'Normal', - tag_pre: 'Con formato' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/et.js b/scripts/ckeditor/plugins/format/lang/et.js deleted file mode 100755 index caa8d655..00000000 --- a/scripts/ckeditor/plugins/format/lang/et.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'et', { - label: 'Vorming', - panelTitle: 'Vorming', - tag_address: 'Aadress', - tag_div: 'Tavaline (DIV)', - tag_h1: 'Pealkiri 1', - tag_h2: 'Pealkiri 2', - tag_h3: 'Pealkiri 3', - tag_h4: 'Pealkiri 4', - tag_h5: 'Pealkiri 5', - tag_h6: 'Pealkiri 6', - tag_p: 'Tavaline', - tag_pre: 'Vormindatud' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/eu.js b/scripts/ckeditor/plugins/format/lang/eu.js deleted file mode 100755 index 21a8dbe7..00000000 --- a/scripts/ckeditor/plugins/format/lang/eu.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'eu', { - label: 'Formatua', - panelTitle: 'Formatua', - tag_address: 'Helbidea', - tag_div: 'Paragrafoa (DIV)', - tag_h1: 'Izenburua 1', - tag_h2: 'Izenburua 2', - tag_h3: 'Izenburua 3', - tag_h4: 'Izenburua 4', - tag_h5: 'Izenburua 5', - tag_h6: 'Izenburua 6', - tag_p: 'Arrunta', - tag_pre: 'Formateatua' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/fa.js b/scripts/ckeditor/plugins/format/lang/fa.js deleted file mode 100755 index d1307fbc..00000000 --- a/scripts/ckeditor/plugins/format/lang/fa.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'fa', { - label: 'قالب', - panelTitle: 'قالب بند', - tag_address: 'نشانی', - tag_div: 'بند', - tag_h1: 'سرنویس ۱', - tag_h2: 'سرنویس ۲', - tag_h3: 'سرنویس ۳', - tag_h4: 'سرنویس ۴', - tag_h5: 'سرنویس ۵', - tag_h6: 'سرنویس ۶', - tag_p: 'معمولی', - tag_pre: 'قالب‌دار' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/fi.js b/scripts/ckeditor/plugins/format/lang/fi.js deleted file mode 100755 index 755a2d86..00000000 --- a/scripts/ckeditor/plugins/format/lang/fi.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'fi', { - label: 'Muotoilu', - panelTitle: 'Muotoilu', - tag_address: 'Osoite', - tag_div: 'Normaali (DIV)', - tag_h1: 'Otsikko 1', - tag_h2: 'Otsikko 2', - tag_h3: 'Otsikko 3', - tag_h4: 'Otsikko 4', - tag_h5: 'Otsikko 5', - tag_h6: 'Otsikko 6', - tag_p: 'Normaali', - tag_pre: 'Muotoiltu' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/fo.js b/scripts/ckeditor/plugins/format/lang/fo.js deleted file mode 100755 index 35476444..00000000 --- a/scripts/ckeditor/plugins/format/lang/fo.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'fo', { - label: 'Skriftsnið', - panelTitle: 'Skriftsnið', - tag_address: 'Adressa', - tag_div: 'Vanligt (DIV)', - tag_h1: 'Yvirskrift 1', - tag_h2: 'Yvirskrift 2', - tag_h3: 'Yvirskrift 3', - tag_h4: 'Yvirskrift 4', - tag_h5: 'Yvirskrift 5', - tag_h6: 'Yvirskrift 6', - tag_p: 'Vanligt', - tag_pre: 'Sniðgivið' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/fr-ca.js b/scripts/ckeditor/plugins/format/lang/fr-ca.js deleted file mode 100755 index 31b3a204..00000000 --- a/scripts/ckeditor/plugins/format/lang/fr-ca.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'fr-ca', { - label: 'Format', - panelTitle: 'Format de paragraphe', - tag_address: 'Adresse', - tag_div: 'Normal (DIV)', - tag_h1: 'En-tête 1', - tag_h2: 'En-tête 2', - tag_h3: 'En-tête 3', - tag_h4: 'En-tête 4', - tag_h5: 'En-tête 5', - tag_h6: 'En-tête 6', - tag_p: 'Normal', - tag_pre: 'Formaté' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/fr.js b/scripts/ckeditor/plugins/format/lang/fr.js deleted file mode 100755 index f703f25a..00000000 --- a/scripts/ckeditor/plugins/format/lang/fr.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'fr', { - label: 'Format', - panelTitle: 'Format de paragraphe', - tag_address: 'Adresse', - tag_div: 'Normal (DIV)', - tag_h1: 'Titre 1', - tag_h2: 'Titre 2', - tag_h3: 'Titre 3', - tag_h4: 'Titre 4', - tag_h5: 'Titre 5', - tag_h6: 'Titre 6', - tag_p: 'Normal', - tag_pre: 'Formaté' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/gl.js b/scripts/ckeditor/plugins/format/lang/gl.js deleted file mode 100755 index 8576821f..00000000 --- a/scripts/ckeditor/plugins/format/lang/gl.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'gl', { - label: 'Formato', - panelTitle: 'Formato do parágrafo', - tag_address: 'Enderezo', - tag_div: 'Normal (DIV)', - tag_h1: 'Enacabezado 1', - tag_h2: 'Encabezado 2', - tag_h3: 'Encabezado 3', - tag_h4: 'Encabezado 4', - tag_h5: 'Encabezado 5', - tag_h6: 'Encabezado 6', - tag_p: 'Normal', - tag_pre: 'Formatado' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/gu.js b/scripts/ckeditor/plugins/format/lang/gu.js deleted file mode 100755 index e8488c8a..00000000 --- a/scripts/ckeditor/plugins/format/lang/gu.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'gu', { - label: 'ફૉન્ટ ફૉર્મટ, રચનાની શૈલી', - panelTitle: 'ફૉન્ટ ફૉર્મટ, રચનાની શૈલી', - tag_address: 'સરનામું', - tag_div: 'શીર્ષક (DIV)', - tag_h1: 'શીર્ષક 1', - tag_h2: 'શીર્ષક 2', - tag_h3: 'શીર્ષક 3', - tag_h4: 'શીર્ષક 4', - tag_h5: 'શીર્ષક 5', - tag_h6: 'શીર્ષક 6', - tag_p: 'સામાન્ય', - tag_pre: 'ફૉર્મટેડ' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/he.js b/scripts/ckeditor/plugins/format/lang/he.js deleted file mode 100755 index c590d43c..00000000 --- a/scripts/ckeditor/plugins/format/lang/he.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'he', { - label: 'עיצוב', - panelTitle: 'עיצוב', - tag_address: 'כתובת', - tag_div: 'נורמלי (DIV)', - tag_h1: 'כותרת', - tag_h2: 'כותרת 2', - tag_h3: 'כותרת 3', - tag_h4: 'כותרת 4', - tag_h5: 'כותרת 5', - tag_h6: 'כותרת 6', - tag_p: 'נורמלי', - tag_pre: 'קוד' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/hi.js b/scripts/ckeditor/plugins/format/lang/hi.js deleted file mode 100755 index 227ab67c..00000000 --- a/scripts/ckeditor/plugins/format/lang/hi.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'hi', { - label: 'फ़ॉर्मैट', - panelTitle: 'फ़ॉर्मैट', - tag_address: 'पता', - tag_div: 'शीर्षक (DIV)', - tag_h1: 'शीर्षक 1', - tag_h2: 'शीर्षक 2', - tag_h3: 'शीर्षक 3', - tag_h4: 'शीर्षक 4', - tag_h5: 'शीर्षक 5', - tag_h6: 'शीर्षक 6', - tag_p: 'साधारण', - tag_pre: 'फ़ॉर्मैटॅड' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/hr.js b/scripts/ckeditor/plugins/format/lang/hr.js deleted file mode 100755 index cae920ce..00000000 --- a/scripts/ckeditor/plugins/format/lang/hr.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'hr', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Address', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatirano' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/hu.js b/scripts/ckeditor/plugins/format/lang/hu.js deleted file mode 100755 index c848635a..00000000 --- a/scripts/ckeditor/plugins/format/lang/hu.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'hu', { - label: 'Formátum', - panelTitle: 'Formátum', - tag_address: 'Címsor', - tag_div: 'Bekezdés (DIV)', - tag_h1: 'Fejléc 1', - tag_h2: 'Fejléc 2', - tag_h3: 'Fejléc 3', - tag_h4: 'Fejléc 4', - tag_h5: 'Fejléc 5', - tag_h6: 'Fejléc 6', - tag_p: 'Normál', - tag_pre: 'Formázott' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/id.js b/scripts/ckeditor/plugins/format/lang/id.js deleted file mode 100755 index b6e5e668..00000000 --- a/scripts/ckeditor/plugins/format/lang/id.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'id', { - label: 'Bentuk', - panelTitle: 'Bentuk Paragraf', - tag_address: 'Alamat', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Membentuk' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/is.js b/scripts/ckeditor/plugins/format/lang/is.js deleted file mode 100755 index 47261ae6..00000000 --- a/scripts/ckeditor/plugins/format/lang/is.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'is', { - label: 'Stílsnið', - panelTitle: 'Stílsnið', - tag_address: 'Vistfang', - tag_div: 'Venjulegt (DIV)', - tag_h1: 'Fyrirsögn 1', - tag_h2: 'Fyrirsögn 2', - tag_h3: 'Fyrirsögn 3', - tag_h4: 'Fyrirsögn 4', - tag_h5: 'Fyrirsögn 5', - tag_h6: 'Fyrirsögn 6', - tag_p: 'Venjulegt letur', - tag_pre: 'Forsniðið' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/it.js b/scripts/ckeditor/plugins/format/lang/it.js deleted file mode 100755 index 38e8e790..00000000 --- a/scripts/ckeditor/plugins/format/lang/it.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'it', { - label: 'Formato', - panelTitle: 'Formato', - tag_address: 'Indirizzo', - tag_div: 'Paragrafo (DIV)', - tag_h1: 'Titolo 1', - tag_h2: 'Titolo 2', - tag_h3: 'Titolo 3', - tag_h4: 'Titolo 4', - tag_h5: 'Titolo 5', - tag_h6: 'Titolo 6', - tag_p: 'Normale', - tag_pre: 'Formattato' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ja.js b/scripts/ckeditor/plugins/format/lang/ja.js deleted file mode 100755 index 45a08169..00000000 --- a/scripts/ckeditor/plugins/format/lang/ja.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ja', { - label: '書式', - panelTitle: '段落の書式', - tag_address: 'アドレス', - tag_div: '標準 (DIV)', - tag_h1: '見出し 1', - tag_h2: '見出し 2', - tag_h3: '見出し 3', - tag_h4: '見出し 4', - tag_h5: '見出し 5', - tag_h6: '見出し 6', - tag_p: '標準', - tag_pre: '書式付き' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ka.js b/scripts/ckeditor/plugins/format/lang/ka.js deleted file mode 100755 index 2d9432b2..00000000 --- a/scripts/ckeditor/plugins/format/lang/ka.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ka', { - label: 'ფიორმატირება', - panelTitle: 'ფორმატირება', - tag_address: 'მისამართი', - tag_div: 'ჩვეულებრივი (DIV)', - tag_h1: 'სათაური 1', - tag_h2: 'სათაური 2', - tag_h3: 'სათაური 3', - tag_h4: 'სათაური 4', - tag_h5: 'სათაური 5', - tag_h6: 'სათაური 6', - tag_p: 'ჩვეულებრივი', - tag_pre: 'ფორმატირებული' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/km.js b/scripts/ckeditor/plugins/format/lang/km.js deleted file mode 100755 index 3f72e07b..00000000 --- a/scripts/ckeditor/plugins/format/lang/km.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'km', { - label: 'ទម្រង់', - panelTitle: 'ទម្រង់​កថាខណ្ឌ', - tag_address: 'អាសយដ្ឋាន', - tag_div: 'ធម្មតា (DIV)', - tag_h1: 'ចំណង​ជើង 1', - tag_h2: 'ចំណង​ជើង 2', - tag_h3: 'ចំណង​ជើង 3', - tag_h4: 'ចំណង​ជើង 4', - tag_h5: 'ចំណង​ជើង 5', - tag_h6: 'ចំណង​ជើង 6', - tag_p: 'ធម្មតា', - tag_pre: 'Formatted' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ko.js b/scripts/ckeditor/plugins/format/lang/ko.js deleted file mode 100755 index b00bf879..00000000 --- a/scripts/ckeditor/plugins/format/lang/ko.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ko', { - label: '포맷', - panelTitle: '포맷', - tag_address: 'Address', - tag_div: '기본 (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ku.js b/scripts/ckeditor/plugins/format/lang/ku.js deleted file mode 100755 index 941bc6bd..00000000 --- a/scripts/ckeditor/plugins/format/lang/ku.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ku', { - label: 'ڕازاندنەوە', - panelTitle: 'بەشی ڕازاندنەوه', - tag_address: 'ناونیشان', - tag_div: '(DIV)-ی ئاسایی', - tag_h1: 'سەرنووسەی ١', - tag_h2: 'سەرنووسەی ٢', - tag_h3: 'سەرنووسەی ٣', - tag_h4: 'سەرنووسەی ٤', - tag_h5: 'سەرنووسەی ٥', - tag_h6: 'سەرنووسەی ٦', - tag_p: 'ئاسایی', - tag_pre: 'شێوازکراو' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/lt.js b/scripts/ckeditor/plugins/format/lang/lt.js deleted file mode 100755 index 5565abb4..00000000 --- a/scripts/ckeditor/plugins/format/lang/lt.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'lt', { - label: 'Šrifto formatas', - panelTitle: 'Šrifto formatas', - tag_address: 'Kreipinio', - tag_div: 'Normalus (DIV)', - tag_h1: 'Antraštinis 1', - tag_h2: 'Antraštinis 2', - tag_h3: 'Antraštinis 3', - tag_h4: 'Antraštinis 4', - tag_h5: 'Antraštinis 5', - tag_h6: 'Antraštinis 6', - tag_p: 'Normalus', - tag_pre: 'Formuotas' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/lv.js b/scripts/ckeditor/plugins/format/lang/lv.js deleted file mode 100755 index 203fb43d..00000000 --- a/scripts/ckeditor/plugins/format/lang/lv.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'lv', { - label: 'Formāts', - panelTitle: 'Formāts', - tag_address: 'Adrese', - tag_div: 'Rindkopa (DIV)', - tag_h1: 'Virsraksts 1', - tag_h2: 'Virsraksts 2', - tag_h3: 'Virsraksts 3', - tag_h4: 'Virsraksts 4', - tag_h5: 'Virsraksts 5', - tag_h6: 'Virsraksts 6', - tag_p: 'Normāls teksts', - tag_pre: 'Formatēts teksts' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/mk.js b/scripts/ckeditor/plugins/format/lang/mk.js deleted file mode 100755 index 57940db5..00000000 --- a/scripts/ckeditor/plugins/format/lang/mk.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'mk', { - label: 'Format', // MISSING - panelTitle: 'Paragraph Format', // MISSING - tag_address: 'Address', // MISSING - tag_div: 'Normal (DIV)', // MISSING - tag_h1: 'Heading 1', // MISSING - tag_h2: 'Heading 2', // MISSING - tag_h3: 'Heading 3', // MISSING - tag_h4: 'Heading 4', // MISSING - tag_h5: 'Heading 5', // MISSING - tag_h6: 'Heading 6', // MISSING - tag_p: 'Normal', // MISSING - tag_pre: 'Formatted' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/format/lang/mn.js b/scripts/ckeditor/plugins/format/lang/mn.js deleted file mode 100755 index 3b74b64f..00000000 --- a/scripts/ckeditor/plugins/format/lang/mn.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'mn', { - label: 'Параргафын загвар', - panelTitle: 'Параргафын загвар', - tag_address: 'Хаяг', - tag_div: 'Paragraph (DIV)', - tag_h1: 'Гарчиг 1', - tag_h2: 'Гарчиг 2', - tag_h3: 'Гарчиг 3', - tag_h4: 'Гарчиг 4', - tag_h5: 'Гарчиг 5', - tag_h6: 'Гарчиг 6', - tag_p: 'Хэвийн', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ms.js b/scripts/ckeditor/plugins/format/lang/ms.js deleted file mode 100755 index b6c20bbb..00000000 --- a/scripts/ckeditor/plugins/format/lang/ms.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ms', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Alamat', - tag_div: 'Perenggan (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Telah Diformat' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/nb.js b/scripts/ckeditor/plugins/format/lang/nb.js deleted file mode 100755 index 1fd40bbc..00000000 --- a/scripts/ckeditor/plugins/format/lang/nb.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'nb', { - label: 'Format', - panelTitle: 'Avsnittsformat', - tag_address: 'Adresse', - tag_div: 'Normal (DIV)', - tag_h1: 'Overskrift 1', - tag_h2: 'Overskrift 2', - tag_h3: 'Overskrift 3', - tag_h4: 'Overskrift 4', - tag_h5: 'Overskrift 5', - tag_h6: 'Overskrift 6', - tag_p: 'Normal', - tag_pre: 'Formatert' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/nl.js b/scripts/ckeditor/plugins/format/lang/nl.js deleted file mode 100755 index 5a5458fe..00000000 --- a/scripts/ckeditor/plugins/format/lang/nl.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'nl', { - label: 'Opmaak', - panelTitle: 'Opmaak', - tag_address: 'Adres', - tag_div: 'Normaal (DIV)', - tag_h1: 'Kop 1', - tag_h2: 'Kop 2', - tag_h3: 'Kop 3', - tag_h4: 'Kop 4', - tag_h5: 'Kop 5', - tag_h6: 'Kop 6', - tag_p: 'Normaal', - tag_pre: 'Met opmaak' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/no.js b/scripts/ckeditor/plugins/format/lang/no.js deleted file mode 100755 index f6b38d22..00000000 --- a/scripts/ckeditor/plugins/format/lang/no.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'no', { - label: 'Format', - panelTitle: 'Avsnittsformat', - tag_address: 'Adresse', - tag_div: 'Normal (DIV)', - tag_h1: 'Overskrift 1', - tag_h2: 'Overskrift 2', - tag_h3: 'Overskrift 3', - tag_h4: 'Overskrift 4', - tag_h5: 'Overskrift 5', - tag_h6: 'Overskrift 6', - tag_p: 'Normal', - tag_pre: 'Formatert' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/pl.js b/scripts/ckeditor/plugins/format/lang/pl.js deleted file mode 100755 index 7e09ce89..00000000 --- a/scripts/ckeditor/plugins/format/lang/pl.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'pl', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Adres', - tag_div: 'Normalny (DIV)', - tag_h1: 'Nagłówek 1', - tag_h2: 'Nagłówek 2', - tag_h3: 'Nagłówek 3', - tag_h4: 'Nagłówek 4', - tag_h5: 'Nagłówek 5', - tag_h6: 'Nagłówek 6', - tag_p: 'Normalny', - tag_pre: 'Tekst sformatowany' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/pt-br.js b/scripts/ckeditor/plugins/format/lang/pt-br.js deleted file mode 100755 index 974db007..00000000 --- a/scripts/ckeditor/plugins/format/lang/pt-br.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'pt-br', { - label: 'Formatação', - panelTitle: 'Formatação', - tag_address: 'Endereço', - tag_div: 'Normal (DIV)', - tag_h1: 'Título 1', - tag_h2: 'Título 2', - tag_h3: 'Título 3', - tag_h4: 'Título 4', - tag_h5: 'Título 5', - tag_h6: 'Título 6', - tag_p: 'Normal', - tag_pre: 'Formatado' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/pt.js b/scripts/ckeditor/plugins/format/lang/pt.js deleted file mode 100755 index c0f41863..00000000 --- a/scripts/ckeditor/plugins/format/lang/pt.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'pt', { - label: 'Formatar', - panelTitle: 'Formatar Parágrafo', - tag_address: 'Endereço', - tag_div: 'Normal (DIV)', - tag_h1: 'Título 1', - tag_h2: 'Título 2', - tag_h3: 'Título 3', - tag_h4: 'Título 4', - tag_h5: 'Título 5', - tag_h6: 'Título 6', - tag_p: 'Normal', - tag_pre: 'Formatado' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ro.js b/scripts/ckeditor/plugins/format/lang/ro.js deleted file mode 100755 index 08aee78d..00000000 --- a/scripts/ckeditor/plugins/format/lang/ro.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ro', { - label: 'Formatare', - panelTitle: 'Formatare', - tag_address: 'Adresă', - tag_div: 'Normal (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatat' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ru.js b/scripts/ckeditor/plugins/format/lang/ru.js deleted file mode 100755 index b47f93e2..00000000 --- a/scripts/ckeditor/plugins/format/lang/ru.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ru', { - label: 'Форматирование', - panelTitle: 'Форматирование', - tag_address: 'Адрес', - tag_div: 'Обычное (div)', - tag_h1: 'Заголовок 1', - tag_h2: 'Заголовок 2', - tag_h3: 'Заголовок 3', - tag_h4: 'Заголовок 4', - tag_h5: 'Заголовок 5', - tag_h6: 'Заголовок 6', - tag_p: 'Обычное', - tag_pre: 'Моноширинное' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/si.js b/scripts/ckeditor/plugins/format/lang/si.js deleted file mode 100755 index 7d593278..00000000 --- a/scripts/ckeditor/plugins/format/lang/si.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'si', { - label: 'ආකෘතිය', - panelTitle: 'චේදයේ ', - tag_address: 'ලිපිනය', - tag_div: 'සාමාන්‍ය(DIV)', - tag_h1: 'ශීර්ෂය 1', - tag_h2: 'ශීර්ෂය 2', - tag_h3: 'ශීර්ෂය 3', - tag_h4: 'ශීර්ෂය 4', - tag_h5: 'ශීර්ෂය 5', - tag_h6: 'ශීර්ෂය 6', - tag_p: 'සාමාන්‍ය', - tag_pre: 'ආකෘතියන්' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/sk.js b/scripts/ckeditor/plugins/format/lang/sk.js deleted file mode 100755 index 6a3d0ddf..00000000 --- a/scripts/ckeditor/plugins/format/lang/sk.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'sk', { - label: 'Formát', - panelTitle: 'Formát', - tag_address: 'Adresa', - tag_div: 'Normálny (DIV)', - tag_h1: 'Nadpis 1', - tag_h2: 'Nadpis 2', - tag_h3: 'Nadpis 3', - tag_h4: 'Nadpis 4', - tag_h5: 'Nadpis 5', - tag_h6: 'Nadpis 6', - tag_p: 'Normálny', - tag_pre: 'Formátovaný' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/sl.js b/scripts/ckeditor/plugins/format/lang/sl.js deleted file mode 100755 index 37d38e76..00000000 --- a/scripts/ckeditor/plugins/format/lang/sl.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'sl', { - label: 'Oblika', - panelTitle: 'Oblika', - tag_address: 'Napis', - tag_div: 'Navaden (DIV)', - tag_h1: 'Naslov 1', - tag_h2: 'Naslov 2', - tag_h3: 'Naslov 3', - tag_h4: 'Naslov 4', - tag_h5: 'Naslov 5', - tag_h6: 'Naslov 6', - tag_p: 'Navaden', - tag_pre: 'Oblikovan' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/sq.js b/scripts/ckeditor/plugins/format/lang/sq.js deleted file mode 100755 index 4aa14d9b..00000000 --- a/scripts/ckeditor/plugins/format/lang/sq.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'sq', { - label: 'Formati', - panelTitle: 'Formati i Paragrafit', - tag_address: 'Adresa', - tag_div: 'Normal (DIV)', - tag_h1: 'Titulli 1', - tag_h2: 'Titulli 2', - tag_h3: 'Titulli 3', - tag_h4: 'Titulli 4', - tag_h5: 'Titulli 5', - tag_h6: 'Titulli 6', - tag_p: 'Normal', - tag_pre: 'Formatuar' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/sr-latn.js b/scripts/ckeditor/plugins/format/lang/sr-latn.js deleted file mode 100755 index 3f6ecd29..00000000 --- a/scripts/ckeditor/plugins/format/lang/sr-latn.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'sr-latn', { - label: 'Format', - panelTitle: 'Format', - tag_address: 'Adresa', - tag_div: 'Normalno (DIV)', - tag_h1: 'Naslov 1', - tag_h2: 'Naslov 2', - tag_h3: 'Naslov 3', - tag_h4: 'Naslov 4', - tag_h5: 'Naslov 5', - tag_h6: 'Naslov 6', - tag_p: 'Normal', - tag_pre: 'Formatirano' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/sr.js b/scripts/ckeditor/plugins/format/lang/sr.js deleted file mode 100755 index cc715974..00000000 --- a/scripts/ckeditor/plugins/format/lang/sr.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'sr', { - label: 'Формат', - panelTitle: 'Формат', - tag_address: 'Adresa', - tag_div: 'Нормално (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatirano' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/sv.js b/scripts/ckeditor/plugins/format/lang/sv.js deleted file mode 100755 index 3b2605f7..00000000 --- a/scripts/ckeditor/plugins/format/lang/sv.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'sv', { - label: 'Teckenformat', - panelTitle: 'Teckenformat', - tag_address: 'Adress', - tag_div: 'Normal (DIV)', - tag_h1: 'Rubrik 1', - tag_h2: 'Rubrik 2', - tag_h3: 'Rubrik 3', - tag_h4: 'Rubrik 4', - tag_h5: 'Rubrik 5', - tag_h6: 'Rubrik 6', - tag_p: 'Normal', - tag_pre: 'Formaterad' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/th.js b/scripts/ckeditor/plugins/format/lang/th.js deleted file mode 100755 index 6b2a5c80..00000000 --- a/scripts/ckeditor/plugins/format/lang/th.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'th', { - label: 'รูปแบบ', - panelTitle: 'รูปแบบ', - tag_address: 'Address', - tag_div: 'Paragraph (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Normal', - tag_pre: 'Formatted' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/tr.js b/scripts/ckeditor/plugins/format/lang/tr.js deleted file mode 100755 index 242fda9e..00000000 --- a/scripts/ckeditor/plugins/format/lang/tr.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'tr', { - label: 'Biçim', - panelTitle: 'Biçim', - tag_address: 'Adres', - tag_div: 'Paragraf (DIV)', - tag_h1: 'Başlık 1', - tag_h2: 'Başlık 2', - tag_h3: 'Başlık 3', - tag_h4: 'Başlık 4', - tag_h5: 'Başlık 5', - tag_h6: 'Başlık 6', - tag_p: 'Normal', - tag_pre: 'Biçimli' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/tt.js b/scripts/ckeditor/plugins/format/lang/tt.js deleted file mode 100755 index d05ffee4..00000000 --- a/scripts/ckeditor/plugins/format/lang/tt.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'tt', { - label: 'Форматлау', - panelTitle: 'Параграф форматлавы', - tag_address: 'Адрес', - tag_div: 'Гади (DIV)', - tag_h1: 'Башлам 1', - tag_h2: 'Башлам 2', - tag_h3: 'Башлам 3', - tag_h4: 'Башлам 4', - tag_h5: 'Башлам 5', - tag_h6: 'Башлам 6', - tag_p: 'Гади', - tag_pre: 'Форматлаулы' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/ug.js b/scripts/ckeditor/plugins/format/lang/ug.js deleted file mode 100755 index 8a274208..00000000 --- a/scripts/ckeditor/plugins/format/lang/ug.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'ug', { - label: 'پىچىم', - panelTitle: 'پىچىم', - tag_address: 'ئادرېس', - tag_div: 'ئابزاس (DIV)', - tag_h1: 'ماۋزۇ 1', - tag_h2: 'ماۋزۇ 2', - tag_h3: 'ماۋزۇ 3', - tag_h4: 'ماۋزۇ 4', - tag_h5: 'ماۋزۇ 5', - tag_h6: 'ماۋزۇ 6', - tag_p: 'ئادەتتىكى', - tag_pre: 'تىزىلغان پىچىم' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/uk.js b/scripts/ckeditor/plugins/format/lang/uk.js deleted file mode 100755 index 4552e721..00000000 --- a/scripts/ckeditor/plugins/format/lang/uk.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'uk', { - label: 'Форматування', - panelTitle: 'Форматування параграфа', - tag_address: 'Адреса', - tag_div: 'Нормальний (div)', - tag_h1: 'Заголовок 1', - tag_h2: 'Заголовок 2', - tag_h3: 'Заголовок 3', - tag_h4: 'Заголовок 4', - tag_h5: 'Заголовок 5', - tag_h6: 'Заголовок 6', - tag_p: 'Нормальний', - tag_pre: 'Форматований' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/vi.js b/scripts/ckeditor/plugins/format/lang/vi.js deleted file mode 100755 index aeec412e..00000000 --- a/scripts/ckeditor/plugins/format/lang/vi.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'vi', { - label: 'Định dạng', - panelTitle: 'Định dạng', - tag_address: 'Address', - tag_div: 'Bình thường (DIV)', - tag_h1: 'Heading 1', - tag_h2: 'Heading 2', - tag_h3: 'Heading 3', - tag_h4: 'Heading 4', - tag_h5: 'Heading 5', - tag_h6: 'Heading 6', - tag_p: 'Bình thường (P)', - tag_pre: 'Đã thiết lập' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/zh-cn.js b/scripts/ckeditor/plugins/format/lang/zh-cn.js deleted file mode 100755 index 0639814f..00000000 --- a/scripts/ckeditor/plugins/format/lang/zh-cn.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'zh-cn', { - label: '格式', - panelTitle: '格式', - tag_address: '地址', - tag_div: '段落(DIV)', - tag_h1: '标题 1', - tag_h2: '标题 2', - tag_h3: '标题 3', - tag_h4: '标题 4', - tag_h5: '标题 5', - tag_h6: '标题 6', - tag_p: '普通', - tag_pre: '已编排格式' -} ); diff --git a/scripts/ckeditor/plugins/format/lang/zh.js b/scripts/ckeditor/plugins/format/lang/zh.js deleted file mode 100755 index 36eef239..00000000 --- a/scripts/ckeditor/plugins/format/lang/zh.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'format', 'zh', { - label: '格式', - panelTitle: '段落格式', - tag_address: '地址', - tag_div: '標準 (DIV)', - tag_h1: '標題 1', - tag_h2: '標題 2', - tag_h3: '標題 3', - tag_h4: '標題 4', - tag_h5: '標題 5', - tag_h6: '標題 6', - tag_p: '標準', - tag_pre: '格式設定' -} ); diff --git a/scripts/ckeditor/plugins/format/plugin.js b/scripts/ckeditor/plugins/format/plugin.js deleted file mode 100755 index 10ca17fc..00000000 --- a/scripts/ckeditor/plugins/format/plugin.js +++ /dev/null @@ -1,244 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.add( 'format', { - requires: 'richcombo', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - init: function( editor ) { - if ( editor.blockless ) - return; - - var config = editor.config, - lang = editor.lang.format; - - // Gets the list of tags from the settings. - var tags = config.format_tags.split( ';' ); - - // Create style objects for all defined styles. - var styles = {}, - stylesCount = 0, - allowedContent = []; - for ( var i = 0; i < tags.length; i++ ) { - var tag = tags[ i ]; - var style = new CKEDITOR.style( config[ 'format_' + tag ] ); - if ( !editor.filter.customConfig || editor.filter.check( style ) ) { - stylesCount++; - styles[ tag ] = style; - styles[ tag ]._.enterMode = editor.config.enterMode; - allowedContent.push( style ); - } - } - - // Hide entire combo when all formats are rejected. - if ( stylesCount === 0 ) - return; - - editor.ui.addRichCombo( 'Format', { - label: lang.label, - title: lang.panelTitle, - toolbar: 'styles,20', - allowedContent: allowedContent, - - panel: { - css: [ CKEDITOR.skin.getPath( 'editor' ) ].concat( config.contentsCss ), - multiSelect: false, - attributes: { 'aria-label': lang.panelTitle } - }, - - init: function() { - this.startGroup( lang.panelTitle ); - - for ( var tag in styles ) { - var label = lang[ 'tag_' + tag ]; - - // Add the tag entry to the panel list. - this.add( tag, styles[ tag ].buildPreview( label ), label ); - } - }, - - onClick: function( value ) { - editor.focus(); - editor.fire( 'saveSnapshot' ); - - var style = styles[ value ], - elementPath = editor.elementPath(); - - editor[ style.checkActive( elementPath, editor ) ? 'removeStyle' : 'applyStyle' ]( style ); - - // Save the undo snapshot after all changes are affected. (#4899) - setTimeout( function() { - editor.fire( 'saveSnapshot' ); - }, 0 ); - }, - - onRender: function() { - editor.on( 'selectionChange', function( ev ) { - var currentTag = this.getValue(), - elementPath = ev.data.path; - - this.refresh(); - - for ( var tag in styles ) { - if ( styles[ tag ].checkActive( elementPath, editor ) ) { - if ( tag != currentTag ) - this.setValue( tag, editor.lang.format[ 'tag_' + tag ] ); - return; - } - } - - // If no styles match, just empty it. - this.setValue( '' ); - - }, this ); - }, - - onOpen: function() { - this.showAll(); - for ( var name in styles ) { - var style = styles[ name ]; - - // Check if that style is enabled in activeFilter. - if ( !editor.activeFilter.check( style ) ) - this.hideItem( name ); - - } - }, - - refresh: function() { - var elementPath = editor.elementPath(); - - if ( !elementPath ) - return; - - // Check if element path contains 'p' element. - if ( !elementPath.isContextFor( 'p' ) ) { - this.setState( CKEDITOR.TRISTATE_DISABLED ); - return; - } - - // Check if there is any available style. - for ( var name in styles ) { - if ( editor.activeFilter.check( styles[ name ] ) ) - return; - } - this.setState( CKEDITOR.TRISTATE_DISABLED ); - } - } ); - } -} ); - -/** - * A list of semi colon separated style names (by default tags) representing - * the style definition for each entry to be displayed in the Format combo in - * the toolbar. Each entry must have its relative definition configuration in a - * setting named `'format_(tagName)'`. For example, the `'p'` entry has its - * definition taken from `config.format_p`. - * - * config.format_tags = 'p;h2;h3;pre'; - * - * @cfg {String} [format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div'] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_tags = 'p;h1;h2;h3;h4;h5;h6;pre;address;div'; - -/** - * The style definition to be used to apply the `'Normal'` format. - * - * config.format_p = { element: 'p', attributes: { 'class': 'normalPara' } }; - * - * @cfg {Object} [format_p={ element: 'p' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_p = { element: 'p' }; - -/** - * The style definition to be used to apply the `'Normal (DIV)'` format. - * - * config.format_div = { element: 'div', attributes: { 'class': 'normalDiv' } }; - * - * @cfg {Object} [format_div={ element: 'div' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_div = { element: 'div' }; - -/** - * The style definition to be used to apply the `'Formatted'` format. - * - * config.format_pre = { element: 'pre', attributes: { 'class': 'code' } }; - * - * @cfg {Object} [format_pre={ element: 'pre' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_pre = { element: 'pre' }; - -/** - * The style definition to be used to apply the `'Address'` format. - * - * config.format_address = { element: 'address', attributes: { 'class': 'styledAddress' } }; - * - * @cfg {Object} [format_address={ element: 'address' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_address = { element: 'address' }; - -/** - * The style definition to be used to apply the `'Heading 1'` format. - * - * config.format_h1 = { element: 'h1', attributes: { 'class': 'contentTitle1' } }; - * - * @cfg {Object} [format_h1={ element: 'h1' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_h1 = { element: 'h1' }; - -/** - * The style definition to be used to apply the `'Heading 2'` format. - * - * config.format_h2 = { element: 'h2', attributes: { 'class': 'contentTitle2' } }; - * - * @cfg {Object} [format_h2={ element: 'h2' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_h2 = { element: 'h2' }; - -/** - * The style definition to be used to apply the `'Heading 3'` format. - * - * config.format_h3 = { element: 'h3', attributes: { 'class': 'contentTitle3' } }; - * - * @cfg {Object} [format_h3={ element: 'h3' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_h3 = { element: 'h3' }; - -/** - * The style definition to be used to apply the `'Heading 4'` format. - * - * config.format_h4 = { element: 'h4', attributes: { 'class': 'contentTitle4' } }; - * - * @cfg {Object} [format_h4={ element: 'h4' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_h4 = { element: 'h4' }; - -/** - * The style definition to be used to apply the `'Heading 5'` format. - * - * config.format_h5 = { element: 'h5', attributes: { 'class': 'contentTitle5' } }; - * - * @cfg {Object} [format_h5={ element: 'h5' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_h5 = { element: 'h5' }; - -/** - * The style definition to be used to apply the `'Heading 6'` format. - * - * config.format_h6 = { element: 'h6', attributes: { 'class': 'contentTitle6' } }; - * - * @cfg {Object} [format_h6={ element: 'h6' }] - * @member CKEDITOR.config - */ -CKEDITOR.config.format_h6 = { element: 'h6' }; diff --git a/scripts/ckeditor/plugins/forms/dialogs/button.js b/scripts/ckeditor/plugins/forms/dialogs/button.js old mode 100755 new mode 100644 index fe25d01c..f43007e6 --- a/scripts/ckeditor/plugins/forms/dialogs/button.js +++ b/scripts/ckeditor/plugins/forms/dialogs/button.js @@ -1,100 +1,8 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.dialog.add( 'button', function( editor ) { - function commitAttributes( element ) { - var val = this.getValue(); - if ( val ) { - element.attributes[ this.id ] = val; - if ( this.id == 'name' ) - element.attributes[ 'data-cke-saved-name' ] = val; - } else { - delete element.attributes[ this.id ]; - if ( this.id == 'name' ) - delete element.attributes[ 'data-cke-saved-name' ]; - } - } - - return { - title: editor.lang.forms.button.title, - minWidth: 350, - minHeight: 150, - onShow: function() { - delete this.button; - var element = this.getParentEditor().getSelection().getSelectedElement(); - if ( element && element.is( 'input' ) ) { - var type = element.getAttribute( 'type' ); - if ( type in { button: 1, reset: 1, submit: 1 } ) { - this.button = element; - this.setupContent( element ); - } - } - }, - onOk: function() { - var editor = this.getParentEditor(), - element = this.button, - isInsertMode = !element; - - var fake = element ? CKEDITOR.htmlParser.fragment.fromHtml( element.getOuterHtml() ).children[ 0 ] : new CKEDITOR.htmlParser.element( 'input' ); - this.commitContent( fake ); - - var writer = new CKEDITOR.htmlParser.basicWriter(); - fake.writeHtml( writer ); - var newElement = CKEDITOR.dom.element.createFromHtml( writer.getHtml(), editor.document ); - - if ( isInsertMode ) - editor.insertElement( newElement ); - else { - newElement.replace( element ); - editor.getSelection().selectElement( newElement ); - } - }, - contents: [ - { - id: 'info', - label: editor.lang.forms.button.title, - title: editor.lang.forms.button.title, - elements: [ - { - id: 'name', - type: 'text', - label: editor.lang.common.name, - 'default': '', - setup: function( element ) { - this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' ); - }, - commit: commitAttributes - }, - { - id: 'value', - type: 'text', - label: editor.lang.forms.button.text, - accessKey: 'V', - 'default': '', - setup: function( element ) { - this.setValue( element.getAttribute( 'value' ) || '' ); - }, - commit: commitAttributes - }, - { - id: 'type', - type: 'select', - label: editor.lang.forms.button.type, - 'default': 'button', - accessKey: 'T', - items: [ - [ editor.lang.forms.button.typeBtn, 'button' ], - [ editor.lang.forms.button.typeSbm, 'submit' ], - [ editor.lang.forms.button.typeRst, 'reset' ] - ], - setup: function( element ) { - this.setValue( element.getAttribute( 'type' ) || '' ); - }, - commit: commitAttributes - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("button",function(b){function d(a){var b=this.getValue();b?(a.attributes[this.id]=b,"name"==this.id&&(a.attributes["data-cke-saved-name"]=b)):(delete a.attributes[this.id],"name"==this.id&&delete a.attributes["data-cke-saved-name"])}return{title:b.lang.forms.button.title,minWidth:350,minHeight:150,onShow:function(){delete this.button;var a=this.getParentEditor().getSelection().getSelectedElement();a&&a.is("input")&&a.getAttribute("type")in{button:1,reset:1,submit:1}&&(this.button= +a,this.setupContent(a))},onOk:function(){var a=this.getParentEditor(),b=this.button,d=!b,c=b?CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element("input");this.commitContent(c);var e=new CKEDITOR.htmlParser.basicWriter;c.writeHtml(e);c=CKEDITOR.dom.element.createFromHtml(e.getHtml(),a.document);d?a.insertElement(c):(c.replace(b),a.getSelection().selectElement(c))},contents:[{id:"info",label:b.lang.forms.button.title,title:b.lang.forms.button.title,elements:[{id:"name", +type:"text",bidi:!0,label:b.lang.common.name,"default":"",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:d},{id:"value",type:"text",label:b.lang.forms.button.text,accessKey:"V","default":"",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:d},{id:"type",type:"select",label:b.lang.forms.button.type,"default":"button",accessKey:"T",items:[[b.lang.forms.button.typeBtn,"button"],[b.lang.forms.button.typeSbm,"submit"],[b.lang.forms.button.typeRst, +"reset"]],setup:function(a){this.setValue(a.getAttribute("type")||"")},commit:d}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/forms/dialogs/checkbox.js b/scripts/ckeditor/plugins/forms/dialogs/checkbox.js old mode 100755 new mode 100644 index bb5e035c..3103a43f --- a/scripts/ckeditor/plugins/forms/dialogs/checkbox.js +++ b/scripts/ckeditor/plugins/forms/dialogs/checkbox.js @@ -1,130 +1,9 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.dialog.add( 'checkbox', function( editor ) { - return { - title: editor.lang.forms.checkboxAndRadio.checkboxTitle, - minWidth: 350, - minHeight: 140, - onShow: function() { - delete this.checkbox; - - var element = this.getParentEditor().getSelection().getSelectedElement(); - - if ( element && element.getAttribute( 'type' ) == 'checkbox' ) { - this.checkbox = element; - this.setupContent( element ); - } - }, - onOk: function() { - var editor, - element = this.checkbox, - isInsertMode = !element; - - if ( isInsertMode ) { - editor = this.getParentEditor(); - element = editor.document.createElement( 'input' ); - element.setAttribute( 'type', 'checkbox' ); - editor.insertElement( element ); - } - this.commitContent( { element: element } ); - }, - contents: [ - { - id: 'info', - label: editor.lang.forms.checkboxAndRadio.checkboxTitle, - title: editor.lang.forms.checkboxAndRadio.checkboxTitle, - startupFocus: 'txtName', - elements: [ - { - id: 'txtName', - type: 'text', - label: editor.lang.common.name, - 'default': '', - accessKey: 'N', - setup: function( element ) { - this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' ); - }, - commit: function( data ) { - var element = data.element; - - // IE failed to update 'name' property on input elements, protect it now. - if ( this.getValue() ) - element.data( 'cke-saved-name', this.getValue() ); - else { - element.data( 'cke-saved-name', false ); - element.removeAttribute( 'name' ); - } - } - }, - { - id: 'txtValue', - type: 'text', - label: editor.lang.forms.checkboxAndRadio.value, - 'default': '', - accessKey: 'V', - setup: function( element ) { - var value = element.getAttribute( 'value' ); - // IE Return 'on' as default attr value. - this.setValue( CKEDITOR.env.ie && value == 'on' ? '' : value ); - }, - commit: function( data ) { - var element = data.element, - value = this.getValue(); - - if ( value && !( CKEDITOR.env.ie && value == 'on' ) ) - element.setAttribute( 'value', value ); - else { - if ( CKEDITOR.env.ie ) { - // Remove attribute 'value' of checkbox (#4721). - var checkbox = new CKEDITOR.dom.element( 'input', element.getDocument() ); - element.copyAttributes( checkbox, { value: 1 } ); - checkbox.replace( element ); - editor.getSelection().selectElement( checkbox ); - data.element = checkbox; - } else - element.removeAttribute( 'value' ); - } - } - }, - { - id: 'cmbSelected', - type: 'checkbox', - label: editor.lang.forms.checkboxAndRadio.selected, - 'default': '', - accessKey: 'S', - value: "checked", - setup: function( element ) { - this.setValue( element.getAttribute( 'checked' ) ); - }, - commit: function( data ) { - var element = data.element; - - if ( CKEDITOR.env.ie ) { - var isElementChecked = !!element.getAttribute( 'checked' ), - isChecked = !!this.getValue(); - - if ( isElementChecked != isChecked ) { - var replace = CKEDITOR.dom.element.createFromHtml( '', editor.document ); - - element.copyAttributes( replace, { type: 1, checked: 1 } ); - replace.replace( element ); - editor.getSelection().selectElement( replace ); - data.element = replace; - } - } else { - var value = this.getValue(); - if ( value ) - element.setAttribute( 'checked', 'checked' ); - else - element.removeAttribute( 'checked' ); - } - } - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("checkbox",function(d){return{title:d.lang.forms.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){delete this.checkbox;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"checkbox"==a.getAttribute("type")&&(this.checkbox=a,this.setupContent(a))},onOk:function(){var a,b=this.checkbox;b||(a=this.getParentEditor(),b=a.document.createElement("input"),b.setAttribute("type","checkbox"),a.insertElement(b));this.commitContent({element:b})},contents:[{id:"info", +label:d.lang.forms.checkboxAndRadio.checkboxTitle,title:d.lang.forms.checkboxAndRadio.checkboxTitle,startupFocus:"txtName",elements:[{id:"txtName",type:"text",label:d.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"txtValue",type:"text",label:d.lang.forms.checkboxAndRadio.value, +"default":"",accessKey:"V",setup:function(a){a=a.getAttribute("value");this.setValue(CKEDITOR.env.ie&&"on"==a?"":a)},commit:function(a){var b=a.element,c=this.getValue();c&&!(CKEDITOR.env.ie&&"on"==c)?b.setAttribute("value",c):CKEDITOR.env.ie?(c=new CKEDITOR.dom.element("input",b.getDocument()),b.copyAttributes(c,{value:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c):b.removeAttribute("value")}},{id:"cmbSelected",type:"checkbox",label:d.lang.forms.checkboxAndRadio.selected,"default":"", +accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var c=!!b.getAttribute("checked"),e=!!this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('",d.document),b.copyAttributes(c,{type:1,checked:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c)}else this.getValue()?b.setAttribute("checked","checked"):b.removeAttribute("checked")}}, +{id:"required",type:"checkbox",label:d.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/forms/dialogs/form.js b/scripts/ckeditor/plugins/forms/dialogs/form.js old mode 100755 new mode 100644 index 674d472f..f48a84fb --- a/scripts/ckeditor/plugins/forms/dialogs/form.js +++ b/scripts/ckeditor/plugins/forms/dialogs/form.js @@ -1,151 +1,8 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.dialog.add( 'form', function( editor ) { - var autoAttributes = { action: 1, id: 1, method: 1, enctype: 1, target: 1 }; - - return { - title: editor.lang.forms.form.title, - minWidth: 350, - minHeight: 200, - onShow: function() { - delete this.form; - - var path = this.getParentEditor().elementPath(), - form = path.contains( 'form', 1 ); - - if ( form ) { - this.form = form; - this.setupContent( form ); - } - }, - onOk: function() { - var editor, - element = this.form, - isInsertMode = !element; - - if ( isInsertMode ) { - editor = this.getParentEditor(); - element = editor.document.createElement( 'form' ); - element.appendBogus(); - } - - if ( isInsertMode ) - editor.insertElement( element ); - this.commitContent( element ); - }, - onLoad: function() { - function autoSetup( element ) { - this.setValue( element.getAttribute( this.id ) || '' ); - } - - function autoCommit( element ) { - if ( this.getValue() ) - element.setAttribute( this.id, this.getValue() ); - else - element.removeAttribute( this.id ); - } - - this.foreach( function( contentObj ) { - if ( autoAttributes[ contentObj.id ] ) { - contentObj.setup = autoSetup; - contentObj.commit = autoCommit; - } - } ); - }, - contents: [ - { - id: 'info', - label: editor.lang.forms.form.title, - title: editor.lang.forms.form.title, - elements: [ - { - id: 'txtName', - type: 'text', - label: editor.lang.common.name, - 'default': '', - accessKey: 'N', - setup: function( element ) { - this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' ); - }, - commit: function( element ) { - if ( this.getValue() ) - element.data( 'cke-saved-name', this.getValue() ); - else { - element.data( 'cke-saved-name', false ); - element.removeAttribute( 'name' ); - } - } - }, - { - id: 'action', - type: 'text', - label: editor.lang.forms.form.action, - 'default': '', - accessKey: 'T' - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ - { - id: 'id', - type: 'text', - label: editor.lang.common.id, - 'default': '', - accessKey: 'I' - }, - { - id: 'enctype', - type: 'select', - label: editor.lang.forms.form.encoding, - style: 'width:100%', - accessKey: 'E', - 'default': '', - items: [ - [ '' ], - [ 'text/plain' ], - [ 'multipart/form-data' ], - [ 'application/x-www-form-urlencoded' ] - ] - } - ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ - { - id: 'target', - type: 'select', - label: editor.lang.common.target, - style: 'width:100%', - accessKey: 'M', - 'default': '', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.targetNew, '_blank' ], - [ editor.lang.common.targetTop, '_top' ], - [ editor.lang.common.targetSelf, '_self' ], - [ editor.lang.common.targetParent, '_parent' ] - ] - }, - { - id: 'method', - type: 'select', - label: editor.lang.forms.form.method, - accessKey: 'M', - 'default': 'GET', - items: [ - [ 'GET', 'get' ], - [ 'POST', 'post' ] - ] - } - ] - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("form",function(a){var d={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.forms.form.title,minWidth:350,minHeight:200,onShow:function(){delete this.form;var b=this.getParentEditor().elementPath().contains("form",1);b&&(this.form=b,this.setupContent(b))},onOk:function(){var b,a=this.form,c=!a;c&&(b=this.getParentEditor(),a=b.document.createElement("form"),a.appendBogus());c&&b.insertElement(a);this.commitContent(a)},onLoad:function(){function a(b){this.setValue(b.getAttribute(this.id)|| +"")}function e(a){this.getValue()?a.setAttribute(this.id,this.getValue()):a.removeAttribute(this.id)}this.foreach(function(c){d[c.id]&&(c.setup=a,c.commit=e)})},contents:[{id:"info",label:a.lang.forms.form.title,title:a.lang.forms.form.title,elements:[{id:"txtName",bidi:!0,type:"text",label:a.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()): +(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"action",type:"text",label:a.lang.forms.form.action,"default":"",accessKey:"T"},{type:"hbox",widths:["45%","55%"],children:[{id:"id",type:"text",label:a.lang.common.id,"default":"",accessKey:"I"},{id:"enctype",type:"select",label:a.lang.forms.form.encoding,style:"width:100%",accessKey:"E","default":"",items:[[""],["text/plain"],["multipart/form-data"],["application/x-www-form-urlencoded"]]}]},{type:"hbox",widths:["45%","55%"],children:[{id:"target", +type:"select",label:a.lang.common.target,style:"width:100%",accessKey:"M","default":"",items:[[a.lang.common.notSet,""],[a.lang.common.targetNew,"_blank"],[a.lang.common.targetTop,"_top"],[a.lang.common.targetSelf,"_self"],[a.lang.common.targetParent,"_parent"]]},{id:"method",type:"select",label:a.lang.forms.form.method,accessKey:"M","default":"GET",items:[["GET","get"],["POST","post"]]}]}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/forms/dialogs/hiddenfield.js b/scripts/ckeditor/plugins/forms/dialogs/hiddenfield.js old mode 100755 new mode 100644 index 3ff7aa2f..1aa4b269 --- a/scripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +++ b/scripts/ckeditor/plugins/forms/dialogs/hiddenfield.js @@ -1,85 +1,7 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.dialog.add( 'hiddenfield', function( editor ) { - return { - title: editor.lang.forms.hidden.title, - hiddenField: null, - minWidth: 350, - minHeight: 110, - onShow: function() { - delete this.hiddenField; - - var editor = this.getParentEditor(), - selection = editor.getSelection(), - element = selection.getSelectedElement(); - - if ( element && element.data( 'cke-real-element-type' ) && element.data( 'cke-real-element-type' ) == 'hiddenfield' ) { - this.hiddenField = element; - element = editor.restoreRealElement( this.hiddenField ); - this.setupContent( element ); - selection.selectElement( this.hiddenField ); - } - }, - onOk: function() { - var name = this.getValueOf( 'info', '_cke_saved_name' ), - value = this.getValueOf( 'info', 'value' ), - editor = this.getParentEditor(), - element = CKEDITOR.env.ie && !( CKEDITOR.document.$.documentMode >= 8 ) ? editor.document.createElement( '' ) : editor.document.createElement( 'input' ); - - element.setAttribute( 'type', 'hidden' ); - this.commitContent( element ); - var fakeElement = editor.createFakeElement( element, 'cke_hidden', 'hiddenfield' ); - if ( !this.hiddenField ) - editor.insertElement( fakeElement ); - else { - fakeElement.replace( this.hiddenField ); - editor.getSelection().selectElement( fakeElement ); - } - return true; - }, - contents: [ - { - id: 'info', - label: editor.lang.forms.hidden.title, - title: editor.lang.forms.hidden.title, - elements: [ - { - id: '_cke_saved_name', - type: 'text', - label: editor.lang.forms.hidden.name, - 'default': '', - accessKey: 'N', - setup: function( element ) { - this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' ); - }, - commit: function( element ) { - if ( this.getValue() ) - element.setAttribute( 'name', this.getValue() ); - else - element.removeAttribute( 'name' ); - - } - }, - { - id: 'value', - type: 'text', - label: editor.lang.forms.hidden.value, - 'default': '', - accessKey: 'V', - setup: function( element ) { - this.setValue( element.getAttribute( 'value' ) || '' ); - }, - commit: function( element ) { - if ( this.getValue() ) - element.setAttribute( 'value', this.getValue() ); - else - element.removeAttribute( 'value' ); - } - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("hiddenfield",function(d){return{title:d.lang.forms.hidden.title,hiddenField:null,minWidth:350,minHeight:110,onShow:function(){delete this.hiddenField;var a=this.getParentEditor(),b=a.getSelection(),c=b.getSelectedElement();c&&(c.data("cke-real-element-type")&&"hiddenfield"==c.data("cke-real-element-type"))&&(this.hiddenField=c,c=a.restoreRealElement(this.hiddenField),this.setupContent(c),b.selectElement(this.hiddenField))},onOk:function(){var a=this.getValueOf("info","_cke_saved_name"), +b=this.getParentEditor(),a=CKEDITOR.env.ie&&8>CKEDITOR.document.$.documentMode?b.document.createElement(''):b.document.createElement("input");a.setAttribute("type","hidden");this.commitContent(a);a=b.createFakeElement(a,"cke_hidden","hiddenfield");this.hiddenField?(a.replace(this.hiddenField),b.getSelection().selectElement(a)):b.insertElement(a);return!0},contents:[{id:"info",label:d.lang.forms.hidden.title,title:d.lang.forms.hidden.title,elements:[{id:"_cke_saved_name", +type:"text",label:d.lang.forms.hidden.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.setAttribute("name",this.getValue()):a.removeAttribute("name")}},{id:"value",type:"text",label:d.lang.forms.hidden.value,"default":"",accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/forms/dialogs/radio.js b/scripts/ckeditor/plugins/forms/dialogs/radio.js old mode 100755 new mode 100644 index 0da7cd09..68401e8e --- a/scripts/ckeditor/plugins/forms/dialogs/radio.js +++ b/scripts/ckeditor/plugins/forms/dialogs/radio.js @@ -1,115 +1,9 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.dialog.add( 'radio', function( editor ) { - return { - title: editor.lang.forms.checkboxAndRadio.radioTitle, - minWidth: 350, - minHeight: 140, - onShow: function() { - delete this.radioButton; - - var element = this.getParentEditor().getSelection().getSelectedElement(); - if ( element && element.getName() == 'input' && element.getAttribute( 'type' ) == 'radio' ) { - this.radioButton = element; - this.setupContent( element ); - } - }, - onOk: function() { - var editor, - element = this.radioButton, - isInsertMode = !element; - - if ( isInsertMode ) { - editor = this.getParentEditor(); - element = editor.document.createElement( 'input' ); - element.setAttribute( 'type', 'radio' ); - } - - if ( isInsertMode ) - editor.insertElement( element ); - this.commitContent( { element: element } ); - }, - contents: [ - { - id: 'info', - label: editor.lang.forms.checkboxAndRadio.radioTitle, - title: editor.lang.forms.checkboxAndRadio.radioTitle, - elements: [ - { - id: 'name', - type: 'text', - label: editor.lang.common.name, - 'default': '', - accessKey: 'N', - setup: function( element ) { - this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' ); - }, - commit: function( data ) { - var element = data.element; - - if ( this.getValue() ) - element.data( 'cke-saved-name', this.getValue() ); - else { - element.data( 'cke-saved-name', false ); - element.removeAttribute( 'name' ); - } - } - }, - { - id: 'value', - type: 'text', - label: editor.lang.forms.checkboxAndRadio.value, - 'default': '', - accessKey: 'V', - setup: function( element ) { - this.setValue( element.getAttribute( 'value' ) || '' ); - }, - commit: function( data ) { - var element = data.element; - - if ( this.getValue() ) - element.setAttribute( 'value', this.getValue() ); - else - element.removeAttribute( 'value' ); - } - }, - { - id: 'checked', - type: 'checkbox', - label: editor.lang.forms.checkboxAndRadio.selected, - 'default': '', - accessKey: 'S', - value: "checked", - setup: function( element ) { - this.setValue( element.getAttribute( 'checked' ) ); - }, - commit: function( data ) { - var element = data.element; - - if ( !CKEDITOR.env.ie ) { - if ( this.getValue() ) - element.setAttribute( 'checked', 'checked' ); - else - element.removeAttribute( 'checked' ); - } else { - var isElementChecked = element.getAttribute( 'checked' ); - var isChecked = !!this.getValue(); - - if ( isElementChecked != isChecked ) { - var replace = CKEDITOR.dom.element.createFromHtml( '', editor.document ); - element.copyAttributes( replace, { type: 1, checked: 1 } ); - replace.replace( element ); - editor.getSelection().selectElement( replace ); - data.element = replace; - } - } - } - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("radio",function(b){return{title:b.lang.forms.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,onShow:function(){delete this.radioButton;var a=this.getParentEditor().getSelection().getSelectedElement();a&&("input"==a.getName()&&"radio"==a.getAttribute("type"))&&(this.radioButton=a,this.setupContent(a))},onOk:function(){var a,c=this.radioButton,b=!c;b&&(a=this.getParentEditor(),c=a.document.createElement("input"),c.setAttribute("type","radio"));b&&a.insertElement(c);this.commitContent({element:c})}, +contents:[{id:"info",label:b.lang.forms.checkboxAndRadio.radioTitle,title:b.lang.forms.checkboxAndRadio.radioTitle,elements:[{id:"name",type:"text",label:b.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:b.lang.forms.checkboxAndRadio.value,"default":"", +accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){a=a.element;this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}},{id:"checked",type:"checkbox",label:b.lang.forms.checkboxAndRadio.selected,"default":"",accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var c=a.element;if(CKEDITOR.env.ie){var d=c.getAttribute("checked"),e=!!this.getValue();d!=e&&(d=CKEDITOR.dom.element.createFromHtml('",b.document),c.copyAttributes(d,{type:1,checked:1}),d.replace(c),b.getSelection().selectElement(d),a.element=d)}else this.getValue()?c.setAttribute("checked","checked"):c.removeAttribute("checked")}},{id:"required",type:"checkbox",label:b.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"): +a.removeAttribute("required")}}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/forms/dialogs/select.js b/scripts/ckeditor/plugins/forms/dialogs/select.js old mode 100755 new mode 100644 index d5b91512..32d7d5db --- a/scripts/ckeditor/plugins/forms/dialogs/select.js +++ b/scripts/ckeditor/plugins/forms/dialogs/select.js @@ -1,503 +1,20 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.dialog.add( 'select', function( editor ) { - // Add a new option to a SELECT object (combo or list). - function addOption( combo, optionText, optionValue, documentObject, index ) { - combo = getSelect( combo ); - var oOption; - if ( documentObject ) - oOption = documentObject.createElement( "OPTION" ); - else - oOption = document.createElement( "OPTION" ); - - if ( combo && oOption && oOption.getName() == 'option' ) { - if ( CKEDITOR.env.ie ) { - if ( !isNaN( parseInt( index, 10 ) ) ) - combo.$.options.add( oOption.$, index ); - else - combo.$.options.add( oOption.$ ); - - oOption.$.innerHTML = optionText.length > 0 ? optionText : ''; - oOption.$.value = optionValue; - } else { - if ( index !== null && index < combo.getChildCount() ) - combo.getChild( index < 0 ? 0 : index ).insertBeforeMe( oOption ); - else - combo.append( oOption ); - - oOption.setText( optionText.length > 0 ? optionText : '' ); - oOption.setValue( optionValue ); - } - } else - return false; - - return oOption; - } - // Remove all selected options from a SELECT object. - function removeSelectedOptions( combo ) { - combo = getSelect( combo ); - - // Save the selected index - var iSelectedIndex = getSelectedIndex( combo ); - - // Remove all selected options. - for ( var i = combo.getChildren().count() - 1; i >= 0; i-- ) { - if ( combo.getChild( i ).$.selected ) - combo.getChild( i ).remove(); - } - - // Reset the selection based on the original selected index. - setSelectedIndex( combo, iSelectedIndex ); - } - //Modify option from a SELECT object. - function modifyOption( combo, index, title, value ) { - combo = getSelect( combo ); - if ( index < 0 ) - return false; - var child = combo.getChild( index ); - child.setText( title ); - child.setValue( value ); - return child; - } - - function removeAllOptions( combo ) { - combo = getSelect( combo ); - while ( combo.getChild( 0 ) && combo.getChild( 0 ).remove() ) { - /*jsl:pass*/ - } - } - // Moves the selected option by a number of steps (also negative). - function changeOptionPosition( combo, steps, documentObject ) { - combo = getSelect( combo ); - var iActualIndex = getSelectedIndex( combo ); - if ( iActualIndex < 0 ) - return false; - - var iFinalIndex = iActualIndex + steps; - iFinalIndex = ( iFinalIndex < 0 ) ? 0 : iFinalIndex; - iFinalIndex = ( iFinalIndex >= combo.getChildCount() ) ? combo.getChildCount() - 1 : iFinalIndex; - - if ( iActualIndex == iFinalIndex ) - return false; - - var oOption = combo.getChild( iActualIndex ), - sText = oOption.getText(), - sValue = oOption.getValue(); - - oOption.remove(); - - oOption = addOption( combo, sText, sValue, ( !documentObject ) ? null : documentObject, iFinalIndex ); - setSelectedIndex( combo, iFinalIndex ); - return oOption; - } - - function getSelectedIndex( combo ) { - combo = getSelect( combo ); - return combo ? combo.$.selectedIndex : -1; - } - - function setSelectedIndex( combo, index ) { - combo = getSelect( combo ); - if ( index < 0 ) - return null; - var count = combo.getChildren().count(); - combo.$.selectedIndex = ( index >= count ) ? ( count - 1 ) : index; - return combo; - } - - function getOptions( combo ) { - combo = getSelect( combo ); - return combo ? combo.getChildren() : false; - } - - function getSelect( obj ) { - if ( obj && obj.domId && obj.getInputElement().$ ) // Dialog element. - return obj.getInputElement(); - else if ( obj && obj.$ ) - return obj; - return false; - } - - return { - title: editor.lang.forms.select.title, - minWidth: CKEDITOR.env.ie ? 460 : 395, - minHeight: CKEDITOR.env.ie ? 320 : 300, - onShow: function() { - delete this.selectBox; - this.setupContent( 'clear' ); - var element = this.getParentEditor().getSelection().getSelectedElement(); - if ( element && element.getName() == "select" ) { - this.selectBox = element; - this.setupContent( element.getName(), element ); - - // Load Options into dialog. - var objOptions = getOptions( element ); - for ( var i = 0; i < objOptions.count(); i++ ) - this.setupContent( 'option', objOptions.getItem( i ) ); - } - }, - onOk: function() { - var editor = this.getParentEditor(), - element = this.selectBox, - isInsertMode = !element; - - if ( isInsertMode ) - element = editor.document.createElement( 'select' ); - this.commitContent( element ); - - if ( isInsertMode ) { - editor.insertElement( element ); - if ( CKEDITOR.env.ie ) { - var sel = editor.getSelection(), - bms = sel.createBookmarks(); - setTimeout( function() { - sel.selectBookmarks( bms ); - }, 0 ); - } - } - }, - contents: [ - { - id: 'info', - label: editor.lang.forms.select.selectInfo, - title: editor.lang.forms.select.selectInfo, - accessKey: '', - elements: [ - { - id: 'txtName', - type: 'text', - widths: [ '25%', '75%' ], - labelLayout: 'horizontal', - label: editor.lang.common.name, - 'default': '', - accessKey: 'N', - style: 'width:350px', - setup: function( name, element ) { - if ( name == 'clear' ) - this.setValue( this[ 'default' ] || '' ); - else if ( name == 'select' ) - this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' ); - - }, - commit: function( element ) { - if ( this.getValue() ) - element.data( 'cke-saved-name', this.getValue() ); - else { - element.data( 'cke-saved-name', false ); - element.removeAttribute( 'name' ); - } - } - }, - { - id: 'txtValue', - type: 'text', - widths: [ '25%', '75%' ], - labelLayout: 'horizontal', - label: editor.lang.forms.select.value, - style: 'width:350px', - 'default': '', - className: 'cke_disabled', - onLoad: function() { - this.getInputElement().setAttribute( 'readOnly', true ); - }, - setup: function( name, element ) { - if ( name == 'clear' ) - this.setValue( '' ); - else if ( name == 'option' && element.getAttribute( 'selected' ) ) - this.setValue( element.$.value ); - } - }, - { - type: 'hbox', - widths: [ '175px', '170px' ], - children: [ - { - id: 'txtSize', - type: 'text', - labelLayout: 'horizontal', - label: editor.lang.forms.select.size, - 'default': '', - accessKey: 'S', - style: 'width:175px', - validate: function() { - var func = CKEDITOR.dialog.validate.integer( editor.lang.common.validateNumberFailed ); - return ( ( this.getValue() === '' ) || func.apply( this ) ); - }, - setup: function( name, element ) { - if ( name == 'select' ) - this.setValue( element.getAttribute( 'size' ) || '' ); - if ( CKEDITOR.env.webkit ) - this.getInputElement().setStyle( 'width', '86px' ); - }, - commit: function( element ) { - if ( this.getValue() ) - element.setAttribute( 'size', this.getValue() ); - else - element.removeAttribute( 'size' ); - } - }, - { - type: 'html', - html: '' + CKEDITOR.tools.htmlEncode( editor.lang.forms.select.lines ) + '' - } - ] - }, - { - type: 'html', - html: '' + CKEDITOR.tools.htmlEncode( editor.lang.forms.select.opAvail ) + '' - }, - { - type: 'hbox', - widths: [ '115px', '115px', '100px' ], - children: [ - { - type: 'vbox', - children: [ - { - id: 'txtOptName', - type: 'text', - label: editor.lang.forms.select.opText, - style: 'width:115px', - setup: function( name, element ) { - if ( name == 'clear' ) - this.setValue( "" ); - } - }, - { - type: 'select', - id: 'cmbName', - label: '', - title: '', - size: 5, - style: 'width:115px;height:75px', - items: [], - onChange: function() { - var dialog = this.getDialog(), - values = dialog.getContentElement( 'info', 'cmbValue' ), - optName = dialog.getContentElement( 'info', 'txtOptName' ), - optValue = dialog.getContentElement( 'info', 'txtOptValue' ), - iIndex = getSelectedIndex( this ); - - setSelectedIndex( values, iIndex ); - optName.setValue( this.getValue() ); - optValue.setValue( values.getValue() ); - }, - setup: function( name, element ) { - if ( name == 'clear' ) - removeAllOptions( this ); - else if ( name == 'option' ) - addOption( this, element.getText(), element.getText(), this.getDialog().getParentEditor().document ); - }, - commit: function( element ) { - var dialog = this.getDialog(), - optionsNames = getOptions( this ), - optionsValues = getOptions( dialog.getContentElement( 'info', 'cmbValue' ) ), - selectValue = dialog.getContentElement( 'info', 'txtValue' ).getValue(); - - removeAllOptions( element ); - - for ( var i = 0; i < optionsNames.count(); i++ ) { - var oOption = addOption( element, optionsNames.getItem( i ).getValue(), optionsValues.getItem( i ).getValue(), dialog.getParentEditor().document ); - if ( optionsValues.getItem( i ).getValue() == selectValue ) { - oOption.setAttribute( 'selected', 'selected' ); - oOption.selected = true; - } - } - } - } - ] - }, - { - type: 'vbox', - children: [ - { - id: 'txtOptValue', - type: 'text', - label: editor.lang.forms.select.opValue, - style: 'width:115px', - setup: function( name, element ) { - if ( name == 'clear' ) - this.setValue( "" ); - } - }, - { - type: 'select', - id: 'cmbValue', - label: '', - size: 5, - style: 'width:115px;height:75px', - items: [], - onChange: function() { - var dialog = this.getDialog(), - names = dialog.getContentElement( 'info', 'cmbName' ), - optName = dialog.getContentElement( 'info', 'txtOptName' ), - optValue = dialog.getContentElement( 'info', 'txtOptValue' ), - iIndex = getSelectedIndex( this ); - - setSelectedIndex( names, iIndex ); - optName.setValue( names.getValue() ); - optValue.setValue( this.getValue() ); - }, - setup: function( name, element ) { - if ( name == 'clear' ) - removeAllOptions( this ); - else if ( name == 'option' ) { - var oValue = element.getValue(); - addOption( this, oValue, oValue, this.getDialog().getParentEditor().document ); - if ( element.getAttribute( 'selected' ) == 'selected' ) - this.getDialog().getContentElement( 'info', 'txtValue' ).setValue( oValue ); - } - } - } - ] - }, - { - type: 'vbox', - padding: 5, - children: [ - { - type: 'button', - id: 'btnAdd', - style: '', - label: editor.lang.forms.select.btnAdd, - title: editor.lang.forms.select.btnAdd, - style: 'width:100%;', - onClick: function() { - //Add new option. - var dialog = this.getDialog(), - parentEditor = dialog.getParentEditor(), - optName = dialog.getContentElement( 'info', 'txtOptName' ), - optValue = dialog.getContentElement( 'info', 'txtOptValue' ), - names = dialog.getContentElement( 'info', 'cmbName' ), - values = dialog.getContentElement( 'info', 'cmbValue' ); - - addOption( names, optName.getValue(), optName.getValue(), dialog.getParentEditor().document ); - addOption( values, optValue.getValue(), optValue.getValue(), dialog.getParentEditor().document ); - - optName.setValue( "" ); - optValue.setValue( "" ); - } - }, - { - type: 'button', - id: 'btnModify', - label: editor.lang.forms.select.btnModify, - title: editor.lang.forms.select.btnModify, - style: 'width:100%;', - onClick: function() { - //Modify selected option. - var dialog = this.getDialog(), - optName = dialog.getContentElement( 'info', 'txtOptName' ), - optValue = dialog.getContentElement( 'info', 'txtOptValue' ), - names = dialog.getContentElement( 'info', 'cmbName' ), - values = dialog.getContentElement( 'info', 'cmbValue' ), - iIndex = getSelectedIndex( names ); - - if ( iIndex >= 0 ) { - modifyOption( names, iIndex, optName.getValue(), optName.getValue() ); - modifyOption( values, iIndex, optValue.getValue(), optValue.getValue() ); - } - } - }, - { - type: 'button', - id: 'btnUp', - style: 'width:100%;', - label: editor.lang.forms.select.btnUp, - title: editor.lang.forms.select.btnUp, - onClick: function() { - //Move up. - var dialog = this.getDialog(), - names = dialog.getContentElement( 'info', 'cmbName' ), - values = dialog.getContentElement( 'info', 'cmbValue' ); - - changeOptionPosition( names, -1, dialog.getParentEditor().document ); - changeOptionPosition( values, -1, dialog.getParentEditor().document ); - } - }, - { - type: 'button', - id: 'btnDown', - style: 'width:100%;', - label: editor.lang.forms.select.btnDown, - title: editor.lang.forms.select.btnDown, - onClick: function() { - //Move down. - var dialog = this.getDialog(), - names = dialog.getContentElement( 'info', 'cmbName' ), - values = dialog.getContentElement( 'info', 'cmbValue' ); - - changeOptionPosition( names, 1, dialog.getParentEditor().document ); - changeOptionPosition( values, 1, dialog.getParentEditor().document ); - } - } - ] - } - ] - }, - { - type: 'hbox', - widths: [ '40%', '20%', '40%' ], - children: [ - { - type: 'button', - id: 'btnSetValue', - label: editor.lang.forms.select.btnSetValue, - title: editor.lang.forms.select.btnSetValue, - onClick: function() { - //Set as default value. - var dialog = this.getDialog(), - values = dialog.getContentElement( 'info', 'cmbValue' ), - txtValue = dialog.getContentElement( 'info', 'txtValue' ); - txtValue.setValue( values.getValue() ); - } - }, - { - type: 'button', - id: 'btnDelete', - label: editor.lang.forms.select.btnDelete, - title: editor.lang.forms.select.btnDelete, - onClick: function() { - // Delete option. - var dialog = this.getDialog(), - names = dialog.getContentElement( 'info', 'cmbName' ), - values = dialog.getContentElement( 'info', 'cmbValue' ), - optName = dialog.getContentElement( 'info', 'txtOptName' ), - optValue = dialog.getContentElement( 'info', 'txtOptValue' ); - - removeSelectedOptions( names ); - removeSelectedOptions( values ); - - optName.setValue( "" ); - optValue.setValue( "" ); - } - }, - { - id: 'chkMulti', - type: 'checkbox', - label: editor.lang.forms.select.chkMulti, - 'default': '', - accessKey: 'M', - value: "checked", - setup: function( name, element ) { - if ( name == 'select' ) - this.setValue( element.getAttribute( 'multiple' ) ); - if ( CKEDITOR.env.webkit ) - this.getElement().getParent().setStyle( 'vertical-align', 'middle' ); - }, - commit: function( element ) { - if ( this.getValue() ) - element.setAttribute( 'multiple', this.getValue() ); - else - element.removeAttribute( 'multiple' ); - } - } - ] - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("select",function(c){function h(a,b,e,d,c){a=f(a);d=d?d.createElement("OPTION"):document.createElement("OPTION");if(a&&d&&"option"==d.getName())CKEDITOR.env.ie?(isNaN(parseInt(c,10))?a.$.options.add(d.$):a.$.options.add(d.$,c),d.$.innerHTML=0c?0:c).insertBeforeMe(d):a.append(d),d.setText(0b)return!1;a=a.getChild(b);a.setText(e);a.setValue(d);return a}function k(a){for(a=f(a);a.getChild(0)&&a.getChild(0).remove(););}function j(a,b,e){var a=f(a),d=g(a);if(0>d)return!1;b=d+b;b=0>b?0:b;b=b>=a.getChildCount()?a.getChildCount()-1:b;if(d==b)return!1;var d=a.getChild(d),c=d.getText(),o=d.getValue();d.remove();d=h(a,c,o,!e?null:e,b);i(a,b);return d}function g(a){return(a=f(a))?a.$.selectedIndex:-1} +function i(a,b){a=f(a);if(0>b)return null;var e=a.getChildren().count();a.$.selectedIndex=b>=e?e-1:b;return a}function l(a){return(a=f(a))?a.getChildren():!1}function f(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}return{title:c.lang.forms.select.title,minWidth:CKEDITOR.env.ie?460:395,minHeight:CKEDITOR.env.ie?320:300,onShow:function(){delete this.selectBox;this.setupContent("clear");var a=this.getParentEditor().getSelection().getSelectedElement();if(a&&"select"==a.getName()){this.selectBox= +a;this.setupContent(a.getName(),a);for(var a=l(a),b=0;b"+CKEDITOR.tools.htmlEncode(c.lang.forms.select.lines)+"
    "}]},{type:"html",html:""+CKEDITOR.tools.htmlEncode(c.lang.forms.select.opAvail)+""},{type:"hbox",widths:["115px", +"115px","100px"],children:[{type:"vbox",children:[{id:"txtOptName",type:"text",label:c.lang.forms.select.opText,style:"width:115px",setup:function(a){"clear"==a&&this.setValue("")}},{type:"select",id:"cmbName",label:"",title:"",size:5,style:"width:115px;height:75px",items:[],onChange:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbValue"),e=a.getContentElement("info","txtOptName"),a=a.getContentElement("info","txtOptValue"),d=g(this);i(b,d);e.setValue(this.getValue());a.setValue(b.getValue())}, +setup:function(a,b){"clear"==a?k(this):"option"==a&&h(this,b.getText(),b.getText(),this.getDialog().getParentEditor().document)},commit:function(a){var b=this.getDialog(),e=l(this),d=l(b.getContentElement("info","cmbValue")),c=b.getContentElement("info","txtValue").getValue();k(a);for(var f=0;f', editor.document ); - element.copyAttributes( replace, { type: 1 } ); - replace.replace( element ); - data.element = replace; - } - } else - element.setAttribute( 'type', this.getValue() ); - } - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("textfield",function(b){function e(a){var a=a.element,b=this.getValue();b?a.setAttribute(this.id,b):a.removeAttribute(this.id)}function f(a){this.setValue(a.hasAttribute(this.id)&&a.getAttribute(this.id)||"")}var g={email:1,password:1,search:1,tel:1,text:1,url:1};return{title:b.lang.forms.textfield.title,minWidth:350,minHeight:150,onShow:function(){delete this.textField;var a=this.getParentEditor().getSelection().getSelectedElement();if(a&&"input"==a.getName()&&(g[a.getAttribute("type")]|| +!a.getAttribute("type")))this.textField=a,this.setupContent(a)},onOk:function(){var a=this.getParentEditor(),b=this.textField,c=!b;c&&(b=a.document.createElement("input"),b.setAttribute("type","text"));b={element:b};c&&a.insertElement(b.element);this.commitContent(b);c||a.getSelection().selectElement(b.element)},onLoad:function(){this.foreach(function(a){if(a.getValue&&(a.setup||(a.setup=f),!a.commit))a.commit=e})},contents:[{id:"info",label:b.lang.forms.textfield.title,title:b.lang.forms.textfield.title, +elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"_cke_saved_name",type:"text",label:b.lang.forms.textfield.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:b.lang.forms.textfield.value,"default":"",accessKey:"V",commit:function(a){if(CKEDITOR.env.ie&& +!this.getValue()){var d=a.element,c=new CKEDITOR.dom.element("input",b.document);d.copyAttributes(c,{value:1});c.replace(d);a.element=c}else e.call(this,a)}}]},{type:"hbox",widths:["50%","50%"],children:[{id:"size",type:"text",label:b.lang.forms.textfield.charWidth,"default":"",accessKey:"C",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed)},{id:"maxLength",type:"text",label:b.lang.forms.textfield.maxChars,"default":"",accessKey:"M",style:"width:50px", +validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed)}],onLoad:function(){CKEDITOR.env.ie7Compat&&this.getElement().setStyle("zoom","100%")}},{id:"type",type:"select",label:b.lang.forms.textfield.type,"default":"text",accessKey:"M",items:[[b.lang.forms.textfield.typeEmail,"email"],[b.lang.forms.textfield.typePass,"password"],[b.lang.forms.textfield.typeSearch,"search"],[b.lang.forms.textfield.typeTel,"tel"],[b.lang.forms.textfield.typeText,"text"],[b.lang.forms.textfield.typeUrl, +"url"]],setup:function(a){this.setValue(a.getAttribute("type"))},commit:function(a){var d=a.element;if(CKEDITOR.env.ie){var c=d.getAttribute("type"),e=this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('',b.document),d.copyAttributes(c,{type:1}),c.replace(d),a.element=c)}else d.setAttribute("type",this.getValue())}},{id:"required",type:"checkbox",label:b.lang.forms.textfield.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))}, +commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/forms/icons/button.png b/scripts/ckeditor/plugins/forms/icons/button.png deleted file mode 100755 index 0bf68caa..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/button.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/checkbox.png b/scripts/ckeditor/plugins/forms/icons/checkbox.png deleted file mode 100755 index 2f4eb2f4..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/checkbox.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/form.png b/scripts/ckeditor/plugins/forms/icons/form.png deleted file mode 100755 index 08416674..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/form.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hiddenfield.png b/scripts/ckeditor/plugins/forms/icons/hiddenfield.png deleted file mode 100755 index fce4fccc..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hiddenfield.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/button.png b/scripts/ckeditor/plugins/forms/icons/hidpi/button.png deleted file mode 100755 index bd92b165..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/button.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/checkbox.png b/scripts/ckeditor/plugins/forms/icons/hidpi/checkbox.png deleted file mode 100755 index 36be4aa0..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/checkbox.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/form.png b/scripts/ckeditor/plugins/forms/icons/hidpi/form.png deleted file mode 100755 index 4a02649c..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/form.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/hiddenfield.png b/scripts/ckeditor/plugins/forms/icons/hidpi/hiddenfield.png deleted file mode 100755 index cd5f3186..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/hiddenfield.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/imagebutton.png b/scripts/ckeditor/plugins/forms/icons/hidpi/imagebutton.png deleted file mode 100755 index d2737963..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/imagebutton.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/radio.png b/scripts/ckeditor/plugins/forms/icons/hidpi/radio.png deleted file mode 100755 index 2f0c72d6..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/radio.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/select-rtl.png b/scripts/ckeditor/plugins/forms/icons/hidpi/select-rtl.png deleted file mode 100755 index 42452e19..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/select-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/select.png b/scripts/ckeditor/plugins/forms/icons/hidpi/select.png deleted file mode 100755 index da2b066b..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/select.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/textarea-rtl.png b/scripts/ckeditor/plugins/forms/icons/hidpi/textarea-rtl.png deleted file mode 100755 index 60618a5b..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/textarea-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/textarea.png b/scripts/ckeditor/plugins/forms/icons/hidpi/textarea.png deleted file mode 100755 index 87073d22..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/textarea.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/textfield-rtl.png b/scripts/ckeditor/plugins/forms/icons/hidpi/textfield-rtl.png deleted file mode 100755 index d3c13582..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/textfield-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/hidpi/textfield.png b/scripts/ckeditor/plugins/forms/icons/hidpi/textfield.png deleted file mode 100755 index d3c13582..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/hidpi/textfield.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/imagebutton.png b/scripts/ckeditor/plugins/forms/icons/imagebutton.png deleted file mode 100755 index 162df9a3..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/imagebutton.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/radio.png b/scripts/ckeditor/plugins/forms/icons/radio.png deleted file mode 100755 index aaad523f..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/radio.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/select-rtl.png b/scripts/ckeditor/plugins/forms/icons/select-rtl.png deleted file mode 100755 index 029a0d22..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/select-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/select.png b/scripts/ckeditor/plugins/forms/icons/select.png deleted file mode 100755 index 44b02b9d..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/select.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/textarea-rtl.png b/scripts/ckeditor/plugins/forms/icons/textarea-rtl.png deleted file mode 100755 index 8a15d688..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/textarea-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/textarea.png b/scripts/ckeditor/plugins/forms/icons/textarea.png deleted file mode 100755 index 58e0fa02..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/textarea.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/textfield-rtl.png b/scripts/ckeditor/plugins/forms/icons/textfield-rtl.png deleted file mode 100755 index 054aab56..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/textfield-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/icons/textfield.png b/scripts/ckeditor/plugins/forms/icons/textfield.png deleted file mode 100755 index 054aab56..00000000 Binary files a/scripts/ckeditor/plugins/forms/icons/textfield.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/forms/images/hiddenfield.gif b/scripts/ckeditor/plugins/forms/images/hiddenfield.gif old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/forms/lang/af.js b/scripts/ckeditor/plugins/forms/lang/af.js deleted file mode 100755 index a28afdba..00000000 --- a/scripts/ckeditor/plugins/forms/lang/af.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'af', { - button: { - title: 'Knop eienskappe', - text: 'Teks (Waarde)', - type: 'Soort', - typeBtn: 'Knop', - typeSbm: 'Stuur', - typeRst: 'Maak leeg' - }, - checkboxAndRadio: { - checkboxTitle: 'Merkhokkie eienskappe', - radioTitle: 'Radioknoppie eienskappe', - value: 'Waarde', - selected: 'Geselekteer' - }, - form: { - title: 'Vorm eienskappe', - menu: 'Vorm eienskappe', - action: 'Aksie', - method: 'Metode', - encoding: 'Kodering' - }, - hidden: { - title: 'Verborge veld eienskappe', - name: 'Naam', - value: 'Waarde' - }, - select: { - title: 'Keuseveld eienskappe', - selectInfo: 'Info', - opAvail: 'Beskikbare opsies', - value: 'Waarde', - size: 'Grootte', - lines: 'Lyne', - chkMulti: 'Laat meer as een keuse toe', - opText: 'Teks', - opValue: 'Waarde', - btnAdd: 'Byvoeg', - btnModify: 'Wysig', - btnUp: 'Op', - btnDown: 'Af', - btnSetValue: 'Stel as geselekteerde waarde', - btnDelete: 'Verwyder' - }, - textarea: { - title: 'Teks-area eienskappe', - cols: 'Kolomme', - rows: 'Rye' - }, - textfield: { - title: 'Teksveld eienskappe', - name: 'Naam', - value: 'Waarde', - charWidth: 'Breedte (karakters)', - maxChars: 'Maksimum karakters', - type: 'Soort', - typeText: 'Teks', - typePass: 'Wagwoord', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ar.js b/scripts/ckeditor/plugins/forms/lang/ar.js deleted file mode 100755 index f64a3d92..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ar.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ar', { - button: { - title: 'خصائص زر الضغط', - text: 'القيمة/التسمية', - type: 'نوع الزر', - typeBtn: 'زر', - typeSbm: 'إرسال', - typeRst: 'إعادة تعيين' - }, - checkboxAndRadio: { - checkboxTitle: 'خصائص خانة الإختيار', - radioTitle: 'خصائص زر الخيار', - value: 'القيمة', - selected: 'محدد' - }, - form: { - title: 'خصائص النموذج', - menu: 'خصائص النموذج', - action: 'اسم الملف', - method: 'الأسلوب', - encoding: 'تشفير' - }, - hidden: { - title: 'خصائص الحقل المخفي', - name: 'الاسم', - value: 'القيمة' - }, - select: { - title: 'خصائص اختيار الحقل', - selectInfo: 'اختار معلومات', - opAvail: 'الخيارات المتاحة', - value: 'القيمة', - size: 'الحجم', - lines: 'الأسطر', - chkMulti: 'السماح بتحديدات متعددة', - opText: 'النص', - opValue: 'القيمة', - btnAdd: 'إضافة', - btnModify: 'تعديل', - btnUp: 'أعلى', - btnDown: 'أسفل', - btnSetValue: 'إجعلها محددة', - btnDelete: 'إزالة' - }, - textarea: { - title: 'خصائص مساحة النص', - cols: 'الأعمدة', - rows: 'الصفوف' - }, - textfield: { - title: 'خصائص مربع النص', - name: 'الاسم', - value: 'القيمة', - charWidth: 'عرض السمات', - maxChars: 'اقصى عدد للسمات', - type: 'نوع المحتوى', - typeText: 'نص', - typePass: 'كلمة مرور', - typeEmail: 'بريد إلكتروني', - typeSearch: 'بحث', - typeTel: 'رقم الهاتف', - typeUrl: 'الرابط' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/bg.js b/scripts/ckeditor/plugins/forms/lang/bg.js deleted file mode 100755 index 1ef67365..00000000 --- a/scripts/ckeditor/plugins/forms/lang/bg.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'bg', { - button: { - title: 'Настройки на бутона', - text: 'Текст (стойност)', - type: 'Тип', - typeBtn: 'Бутон', - typeSbm: 'Добави', - typeRst: 'Нулиране' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Настройки на радиобутон', - value: 'Стойност', - selected: 'Избрано' - }, - form: { - title: 'Настройки на формата', - menu: 'Настройки на формата', - action: 'Действие', - method: 'Метод', - encoding: 'Кодиране' - }, - hidden: { - title: 'Настройки за скрито поле', - name: 'Име', - value: 'Стойност' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Налични опции', - value: 'Стойност', - size: 'Размер', - lines: 'линии', - chkMulti: 'Allow multiple selections', - opText: 'Текст', - opValue: 'Стойност', - btnAdd: 'Добави', - btnModify: 'Промени', - btnUp: 'На горе', - btnDown: 'На долу', - btnSetValue: 'Set as selected value', - btnDelete: 'Изтриване' - }, - textarea: { - title: 'Опции за текстовата зона', - cols: 'Колони', - rows: 'Редове' - }, - textfield: { - title: 'Настройки за текстово поле', - name: 'Име', - value: 'Стойност', - charWidth: 'Ширина на знаците', - maxChars: 'Макс. знаци', - type: 'Тип', - typeText: 'Текст', - typePass: 'Парола', - typeEmail: 'Email', - typeSearch: 'Търсене', - typeTel: 'Телефонен номер', - typeUrl: 'Уеб адрес' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/bn.js b/scripts/ckeditor/plugins/forms/lang/bn.js deleted file mode 100755 index 6437d166..00000000 --- a/scripts/ckeditor/plugins/forms/lang/bn.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'bn', { - button: { - title: 'বাটন প্রোপার্টি', - text: 'টেক্সট (ভ্যালু)', - type: 'প্রকার', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'চেক বক্স প্রোপার্টি', - radioTitle: 'রেডিও বাটন প্রোপার্টি', - value: 'ভ্যালু', - selected: 'সিলেক্টেড' - }, - form: { - title: 'ফর্ম প্রোপার্টি', - menu: 'ফর্ম প্রোপার্টি', - action: 'একশ্যন', - method: 'পদ্ধতি', - encoding: 'Encoding' - }, - hidden: { - title: 'গুপ্ত ফীল্ড প্রোপার্টি', - name: 'নাম', - value: 'ভ্যালু' - }, - select: { - title: 'বাছাই ফীল্ড প্রোপার্টি', - selectInfo: 'তথ্য', - opAvail: 'অন্যান্য বিকল্প', - value: 'ভ্যালু', - size: 'সাইজ', - lines: 'লাইন সমূহ', - chkMulti: 'একাধিক সিলেকশন এলাউ কর', - opText: 'টেক্সট', - opValue: 'ভ্যালু', - btnAdd: 'যুক্ত', - btnModify: 'বদলে দাও', - btnUp: 'উপর', - btnDown: 'নীচে', - btnSetValue: 'বাছাই করা ভ্যালু হিসেবে সেট কর', - btnDelete: 'ডিলীট' - }, - textarea: { - title: 'টেক্সট এরিয়া প্রোপার্টি', - cols: 'কলাম', - rows: 'রো' - }, - textfield: { - title: 'টেক্সট ফীল্ড প্রোপার্টি', - name: 'নাম', - value: 'ভ্যালু', - charWidth: 'ক্যারেক্টার প্রশস্ততা', - maxChars: 'সর্বাধিক ক্যারেক্টার', - type: 'টাইপ', - typeText: 'টেক্সট', - typePass: 'পাসওয়ার্ড', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/bs.js b/scripts/ckeditor/plugins/forms/lang/bs.js deleted file mode 100755 index f753549d..00000000 --- a/scripts/ckeditor/plugins/forms/lang/bs.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'bs', { - button: { - title: 'Button Properties', - text: 'Text (Value)', - type: 'Type', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Radio Button Properties', - value: 'Value', - selected: 'Selected' - }, - form: { - title: 'Form Properties', - menu: 'Form Properties', - action: 'Action', - method: 'Method', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field Properties', - name: 'Name', - value: 'Value' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Available Options', - value: 'Value', - size: 'Size', - lines: 'lines', - chkMulti: 'Allow multiple selections', - opText: 'Text', - opValue: 'Value', - btnAdd: 'Add', - btnModify: 'Modify', - btnUp: 'Up', - btnDown: 'Down', - btnSetValue: 'Set as selected value', - btnDelete: 'Delete' - }, - textarea: { - title: 'Textarea Properties', - cols: 'Columns', - rows: 'Rows' - }, - textfield: { - title: 'Text Field Properties', - name: 'Name', - value: 'Value', - charWidth: 'Character Width', - maxChars: 'Maximum Characters', - type: 'Type', - typeText: 'Text', - typePass: 'Password', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ca.js b/scripts/ckeditor/plugins/forms/lang/ca.js deleted file mode 100755 index 8da895e8..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ca.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ca', { - button: { - title: 'Propietats del botó', - text: 'Text (Valor)', - type: 'Tipus', - typeBtn: 'Botó', - typeSbm: 'Transmet formulari', - typeRst: 'Reinicia formulari' - }, - checkboxAndRadio: { - checkboxTitle: 'Propietats de la casella de verificació', - radioTitle: 'Propietats del botó d\'opció', - value: 'Valor', - selected: 'Seleccionat' - }, - form: { - title: 'Propietats del formulari', - menu: 'Propietats del formulari', - action: 'Acció', - method: 'Mètode', - encoding: 'Codificació' - }, - hidden: { - title: 'Propietats del camp ocult', - name: 'Nom', - value: 'Valor' - }, - select: { - title: 'Propietats del camp de selecció', - selectInfo: 'Info', - opAvail: 'Opcions disponibles', - value: 'Valor', - size: 'Mida', - lines: 'Línies', - chkMulti: 'Permet múltiples seleccions', - opText: 'Text', - opValue: 'Valor', - btnAdd: 'Afegeix', - btnModify: 'Modifica', - btnUp: 'Amunt', - btnDown: 'Avall', - btnSetValue: 'Selecciona per defecte', - btnDelete: 'Elimina' - }, - textarea: { - title: 'Propietats de l\'àrea de text', - cols: 'Columnes', - rows: 'Files' - }, - textfield: { - title: 'Propietats del camp de text', - name: 'Nom', - value: 'Valor', - charWidth: 'Amplada', - maxChars: 'Nombre màxim de caràcters', - type: 'Tipus', - typeText: 'Text', - typePass: 'Contrasenya', - typeEmail: 'Correu electrònic', - typeSearch: 'Cercar', - typeTel: 'Número de telèfon', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/cs.js b/scripts/ckeditor/plugins/forms/lang/cs.js deleted file mode 100755 index 1406fd25..00000000 --- a/scripts/ckeditor/plugins/forms/lang/cs.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'cs', { - button: { - title: 'Vlastnosti tlačítka', - text: 'Popisek', - type: 'Typ', - typeBtn: 'Tlačítko', - typeSbm: 'Odeslat', - typeRst: 'Obnovit' - }, - checkboxAndRadio: { - checkboxTitle: 'Vlastnosti zaškrtávacího políčka', - radioTitle: 'Vlastnosti přepínače', - value: 'Hodnota', - selected: 'Zaškrtnuto' - }, - form: { - title: 'Vlastnosti formuláře', - menu: 'Vlastnosti formuláře', - action: 'Akce', - method: 'Metoda', - encoding: 'Kódování' - }, - hidden: { - title: 'Vlastnosti skrytého pole', - name: 'Název', - value: 'Hodnota' - }, - select: { - title: 'Vlastnosti seznamu', - selectInfo: 'Info', - opAvail: 'Dostupná nastavení', - value: 'Hodnota', - size: 'Velikost', - lines: 'Řádků', - chkMulti: 'Povolit mnohonásobné výběry', - opText: 'Text', - opValue: 'Hodnota', - btnAdd: 'Přidat', - btnModify: 'Změnit', - btnUp: 'Nahoru', - btnDown: 'Dolů', - btnSetValue: 'Nastavit jako vybranou hodnotu', - btnDelete: 'Smazat' - }, - textarea: { - title: 'Vlastnosti textové oblasti', - cols: 'Sloupců', - rows: 'Řádků' - }, - textfield: { - title: 'Vlastnosti textového pole', - name: 'Název', - value: 'Hodnota', - charWidth: 'Šířka ve znacích', - maxChars: 'Maximální počet znaků', - type: 'Typ', - typeText: 'Text', - typePass: 'Heslo', - typeEmail: 'Email', - typeSearch: 'Hledat', - typeTel: 'Telefonní číslo', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/cy.js b/scripts/ckeditor/plugins/forms/lang/cy.js deleted file mode 100755 index 670042c6..00000000 --- a/scripts/ckeditor/plugins/forms/lang/cy.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'cy', { - button: { - title: 'Priodweddau Botymau', - text: 'Testun (Gwerth)', - type: 'Math', - typeBtn: 'Botwm', - typeSbm: 'Anfon', - typeRst: 'Ailosod' - }, - checkboxAndRadio: { - checkboxTitle: 'Priodweddau Blwch Ticio', - radioTitle: 'Priodweddau Botwm Radio', - value: 'Gwerth', - selected: 'Dewiswyd' - }, - form: { - title: 'Priodweddau Ffurflen', - menu: 'Priodweddau Ffurflen', - action: 'Gweithred', - method: 'Dull', - encoding: 'Amgodio' - }, - hidden: { - title: 'Priodweddau Maes Cudd', - name: 'Enw', - value: 'Gwerth' - }, - select: { - title: 'Priodweddau Maes Dewis', - selectInfo: 'Gwyb Dewis', - opAvail: 'Opsiynau ar Gael', - value: 'Gwerth', - size: 'Maint', - lines: 'llinellau', - chkMulti: 'Caniatàu aml-ddewisiadau', - opText: 'Testun', - opValue: 'Gwerth', - btnAdd: 'Ychwanegu', - btnModify: 'Newid', - btnUp: 'Lan', - btnDown: 'Lawr', - btnSetValue: 'Gosod fel gwerth a ddewiswyd', - btnDelete: 'Dileu' - }, - textarea: { - title: 'Priodweddau Ardal Testun', - cols: 'Colofnau', - rows: 'Rhesi' - }, - textfield: { - title: 'Priodweddau Maes Testun', - name: 'Enw', - value: 'Gwerth', - charWidth: 'Lled Nod', - maxChars: 'Uchafswm y Nodau', - type: 'Math', - typeText: 'Testun', - typePass: 'Cyfrinair', - typeEmail: 'Ebost', - typeSearch: 'Chwilio', - typeTel: 'Rhif Ffôn', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/da.js b/scripts/ckeditor/plugins/forms/lang/da.js deleted file mode 100755 index fc95b19a..00000000 --- a/scripts/ckeditor/plugins/forms/lang/da.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'da', { - button: { - title: 'Egenskaber for knap', - text: 'Tekst', - type: 'Type', - typeBtn: 'Knap', - typeSbm: 'Send', - typeRst: 'Nulstil' - }, - checkboxAndRadio: { - checkboxTitle: 'Egenskaber for afkrydsningsfelt', - radioTitle: 'Egenskaber for alternativknap', - value: 'Værdi', - selected: 'Valgt' - }, - form: { - title: 'Egenskaber for formular', - menu: 'Egenskaber for formular', - action: 'Handling', - method: 'Metode', - encoding: 'Kodning (encoding)' - }, - hidden: { - title: 'Egenskaber for skjult felt', - name: 'Navn', - value: 'Værdi' - }, - select: { - title: 'Egenskaber for liste', - selectInfo: 'Generelt', - opAvail: 'Valgmuligheder', - value: 'Værdi', - size: 'Størrelse', - lines: 'Linjer', - chkMulti: 'Tillad flere valg', - opText: 'Tekst', - opValue: 'Værdi', - btnAdd: 'Tilføj', - btnModify: 'Redigér', - btnUp: 'Op', - btnDown: 'Ned', - btnSetValue: 'Sæt som valgt', - btnDelete: 'Slet' - }, - textarea: { - title: 'Egenskaber for tekstboks', - cols: 'Kolonner', - rows: 'Rækker' - }, - textfield: { - title: 'Egenskaber for tekstfelt', - name: 'Navn', - value: 'Værdi', - charWidth: 'Bredde (tegn)', - maxChars: 'Max. antal tegn', - type: 'Type', - typeText: 'Tekst', - typePass: 'Adgangskode', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/de.js b/scripts/ckeditor/plugins/forms/lang/de.js deleted file mode 100755 index 41cc313a..00000000 --- a/scripts/ckeditor/plugins/forms/lang/de.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'de', { - button: { - title: 'Button-Eigenschaften', - text: 'Text (Wert)', - type: 'Typ', - typeBtn: 'Button', - typeSbm: 'Absenden', - typeRst: 'Zurücksetzen' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox-Eigenschaften', - radioTitle: 'Optionsfeld-Eigenschaften', - value: 'Wert', - selected: 'ausgewählt' - }, - form: { - title: 'Formular-Eigenschaften', - menu: 'Formular-Eigenschaften', - action: 'Action', - method: 'Method', - encoding: 'Zeichenkodierung' - }, - hidden: { - title: 'Verstecktes Feld-Eigenschaften', - name: 'Name', - value: 'Wert' - }, - select: { - title: 'Auswahlfeld-Eigenschaften', - selectInfo: 'Info', - opAvail: 'Mögliche Optionen', - value: 'Wert', - size: 'Größe', - lines: 'Linien', - chkMulti: 'Erlaube Mehrfachauswahl', - opText: 'Text', - opValue: 'Wert', - btnAdd: 'Hinzufügen', - btnModify: 'Ändern', - btnUp: 'Hoch', - btnDown: 'Runter', - btnSetValue: 'Setze als Standardwert', - btnDelete: 'Entfernen' - }, - textarea: { - title: 'Textfeld (mehrzeilig) Eigenschaften', - cols: 'Spalten', - rows: 'Reihen' - }, - textfield: { - title: 'Textfeld (einzeilig) Eigenschaften', - name: 'Name', - value: 'Wert', - charWidth: 'Zeichenbreite', - maxChars: 'Max. Zeichen', - type: 'Typ', - typeText: 'Text', - typePass: 'Passwort', - typeEmail: 'E-mail', - typeSearch: 'Suche', - typeTel: 'Telefonnummer', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/el.js b/scripts/ckeditor/plugins/forms/lang/el.js deleted file mode 100755 index e8048164..00000000 --- a/scripts/ckeditor/plugins/forms/lang/el.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'el', { - button: { - title: 'Ιδιότητες Κουμπιού', - text: 'Κείμενο (Τιμή)', - type: 'Τύπος', - typeBtn: 'Κουμπί', - typeSbm: 'Υποβολή', - typeRst: 'Επαναφορά' - }, - checkboxAndRadio: { - checkboxTitle: 'Ιδιότητες Κουτιού Επιλογής', - radioTitle: 'Ιδιότητες Κουμπιού Επιλογής', - value: 'Τιμή', - selected: 'Επιλεγμένο' - }, - form: { - title: 'Ιδιότητες Φόρμας', - menu: 'Ιδιότητες Φόρμας', - action: 'Ενέργεια', - method: 'Μέθοδος', - encoding: 'Κωδικοποίηση' - }, - hidden: { - title: 'Ιδιότητες Κρυφού Πεδίου', - name: 'Όνομα', - value: 'Τιμή' - }, - select: { - title: 'Ιδιότητες Πεδίου Επιλογής', - selectInfo: 'Πληροφορίες Πεδίου Επιλογής', - opAvail: 'Διαθέσιμες Επιλογές', - value: 'Τιμή', - size: 'Μέγεθος', - lines: 'γραμμές', - chkMulti: 'Να επιτρέπονται οι πολλαπλές επιλογές', - opText: 'Κείμενο', - opValue: 'Τιμή', - btnAdd: 'Προσθήκη', - btnModify: 'Τροποποίηση', - btnUp: 'Πάνω', - btnDown: 'Κάτω', - btnSetValue: 'Θέση ως προεπιλογή', - btnDelete: 'Διαγραφή' - }, - textarea: { - title: 'Ιδιότητες Περιοχής Κειμένου', - cols: 'Στήλες', - rows: 'Σειρές' - }, - textfield: { - title: 'Ιδιότητες Πεδίου Κειμένου', - name: 'Όνομα', - value: 'Τιμή', - charWidth: 'Πλάτος Χαρακτήρων', - maxChars: 'Μέγιστοι χαρακτήρες', - type: 'Τύπος', - typeText: 'Κείμενο', - typePass: 'Κωδικός', - typeEmail: 'Email', - typeSearch: 'Αναζήτηση', - typeTel: 'Αριθμός Τηλεφώνου', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/en-au.js b/scripts/ckeditor/plugins/forms/lang/en-au.js deleted file mode 100755 index ce9d4ecb..00000000 --- a/scripts/ckeditor/plugins/forms/lang/en-au.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'en-au', { - button: { - title: 'Button Properties', - text: 'Text (Value)', - type: 'Type', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Radio Button Properties', - value: 'Value', - selected: 'Selected' - }, - form: { - title: 'Form Properties', - menu: 'Form Properties', - action: 'Action', - method: 'Method', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field Properties', - name: 'Name', - value: 'Value' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Available Options', - value: 'Value', - size: 'Size', - lines: 'lines', - chkMulti: 'Allow multiple selections', - opText: 'Text', - opValue: 'Value', - btnAdd: 'Add', - btnModify: 'Modify', - btnUp: 'Up', - btnDown: 'Down', - btnSetValue: 'Set as selected value', - btnDelete: 'Delete' - }, - textarea: { - title: 'Textarea Properties', - cols: 'Columns', - rows: 'Rows' - }, - textfield: { - title: 'Text Field Properties', - name: 'Name', - value: 'Value', - charWidth: 'Character Width', - maxChars: 'Maximum Characters', - type: 'Type', - typeText: 'Text', - typePass: 'Password', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/en-ca.js b/scripts/ckeditor/plugins/forms/lang/en-ca.js deleted file mode 100755 index e5ca0125..00000000 --- a/scripts/ckeditor/plugins/forms/lang/en-ca.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'en-ca', { - button: { - title: 'Button Properties', - text: 'Text (Value)', - type: 'Type', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Radio Button Properties', - value: 'Value', - selected: 'Selected' - }, - form: { - title: 'Form Properties', - menu: 'Form Properties', - action: 'Action', - method: 'Method', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field Properties', - name: 'Name', - value: 'Value' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Available Options', - value: 'Value', - size: 'Size', - lines: 'lines', - chkMulti: 'Allow multiple selections', - opText: 'Text', - opValue: 'Value', - btnAdd: 'Add', - btnModify: 'Modify', - btnUp: 'Up', - btnDown: 'Down', - btnSetValue: 'Set as selected value', - btnDelete: 'Delete' - }, - textarea: { - title: 'Textarea Properties', - cols: 'Columns', - rows: 'Rows' - }, - textfield: { - title: 'Text Field Properties', - name: 'Name', - value: 'Value', - charWidth: 'Character Width', - maxChars: 'Maximum Characters', - type: 'Type', - typeText: 'Text', - typePass: 'Password', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/en-gb.js b/scripts/ckeditor/plugins/forms/lang/en-gb.js deleted file mode 100755 index 50b052b6..00000000 --- a/scripts/ckeditor/plugins/forms/lang/en-gb.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'en-gb', { - button: { - title: 'Button Properties', - text: 'Text (Value)', - type: 'Type', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Radio Button Properties', - value: 'Value', - selected: 'Selected' - }, - form: { - title: 'Form Properties', - menu: 'Form Properties', - action: 'Action', - method: 'Method', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field Properties', - name: 'Name', - value: 'Value' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Available Options', - value: 'Value', - size: 'Size', - lines: 'lines', - chkMulti: 'Allow multiple selections', - opText: 'Text', - opValue: 'Value', - btnAdd: 'Add', - btnModify: 'Modify', - btnUp: 'Up', - btnDown: 'Down', - btnSetValue: 'Set as selected value', - btnDelete: 'Delete' - }, - textarea: { - title: 'Textarea Properties', - cols: 'Columns', - rows: 'Rows' - }, - textfield: { - title: 'Text Field Properties', - name: 'Name', - value: 'Value', - charWidth: 'Character Width', - maxChars: 'Maximum Characters', - type: 'Type', - typeText: 'Text', - typePass: 'Password', - typeEmail: 'E-mail', - typeSearch: 'Search', - typeTel: 'Telephone Number', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/en.js b/scripts/ckeditor/plugins/forms/lang/en.js deleted file mode 100755 index d7f6698a..00000000 --- a/scripts/ckeditor/plugins/forms/lang/en.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'en', { - button: { - title: 'Button Properties', - text: 'Text (Value)', - type: 'Type', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Radio Button Properties', - value: 'Value', - selected: 'Selected' - }, - form: { - title: 'Form Properties', - menu: 'Form Properties', - action: 'Action', - method: 'Method', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field Properties', - name: 'Name', - value: 'Value' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Available Options', - value: 'Value', - size: 'Size', - lines: 'lines', - chkMulti: 'Allow multiple selections', - opText: 'Text', - opValue: 'Value', - btnAdd: 'Add', - btnModify: 'Modify', - btnUp: 'Up', - btnDown: 'Down', - btnSetValue: 'Set as selected value', - btnDelete: 'Delete' - }, - textarea: { - title: 'Textarea Properties', - cols: 'Columns', - rows: 'Rows' - }, - textfield: { - title: 'Text Field Properties', - name: 'Name', - value: 'Value', - charWidth: 'Character Width', - maxChars: 'Maximum Characters', - type: 'Type', - typeText: 'Text', - typePass: 'Password', - typeEmail: 'Email', - typeSearch: 'Search', - typeTel: 'Telephone Number', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/eo.js b/scripts/ckeditor/plugins/forms/lang/eo.js deleted file mode 100755 index bbd5f529..00000000 --- a/scripts/ckeditor/plugins/forms/lang/eo.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'eo', { - button: { - title: 'Butonaj atributoj', - text: 'Teksto (Valoro)', - type: 'Tipo', - typeBtn: 'Butono', - typeSbm: 'Validigi (submit)', - typeRst: 'Remeti en la originstaton (Reset)' - }, - checkboxAndRadio: { - checkboxTitle: 'Markobutonaj Atributoj', - radioTitle: 'Radiobutonaj Atributoj', - value: 'Valoro', - selected: 'Selektita' - }, - form: { - title: 'Formularaj Atributoj', - menu: 'Formularaj Atributoj', - action: 'Ago', - method: 'Metodo', - encoding: 'Kodoprezento' - }, - hidden: { - title: 'Atributoj de Kaŝita Kampo', - name: 'Nomo', - value: 'Valoro' - }, - select: { - title: 'Atributoj de Elekta Kampo', - selectInfo: 'Informoj pri la rulummenuo', - opAvail: 'Elektoj Disponeblaj', - value: 'Valoro', - size: 'Grando', - lines: 'Linioj', - chkMulti: 'Permesi Plurajn Elektojn', - opText: 'Teksto', - opValue: 'Valoro', - btnAdd: 'Aldoni', - btnModify: 'Modifi', - btnUp: 'Supren', - btnDown: 'Malsupren', - btnSetValue: 'Agordi kiel Elektitan Valoron', - btnDelete: 'Forigi' - }, - textarea: { - title: 'Atributoj de Teksta Areo', - cols: 'Kolumnoj', - rows: 'Linioj' - }, - textfield: { - title: 'Atributoj de Teksta Kampo', - name: 'Nomo', - value: 'Valoro', - charWidth: 'Signolarĝo', - maxChars: 'Maksimuma Nombro da Signoj', - type: 'Tipo', - typeText: 'Teksto', - typePass: 'Pasvorto', - typeEmail: 'retpoŝtadreso', - typeSearch: 'Serĉi', - typeTel: 'Telefonnumero', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/es.js b/scripts/ckeditor/plugins/forms/lang/es.js deleted file mode 100755 index 111f759f..00000000 --- a/scripts/ckeditor/plugins/forms/lang/es.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'es', { - button: { - title: 'Propiedades de Botón', - text: 'Texto (Valor)', - type: 'Tipo', - typeBtn: 'Boton', - typeSbm: 'Enviar', - typeRst: 'Reestablecer' - }, - checkboxAndRadio: { - checkboxTitle: 'Propiedades de Casilla', - radioTitle: 'Propiedades de Botón de Radio', - value: 'Valor', - selected: 'Seleccionado' - }, - form: { - title: 'Propiedades de Formulario', - menu: 'Propiedades de Formulario', - action: 'Acción', - method: 'Método', - encoding: 'Codificación' - }, - hidden: { - title: 'Propiedades de Campo Oculto', - name: 'Nombre', - value: 'Valor' - }, - select: { - title: 'Propiedades de Campo de Selección', - selectInfo: 'Información', - opAvail: 'Opciones disponibles', - value: 'Valor', - size: 'Tamaño', - lines: 'Lineas', - chkMulti: 'Permitir múltiple selección', - opText: 'Texto', - opValue: 'Valor', - btnAdd: 'Agregar', - btnModify: 'Modificar', - btnUp: 'Subir', - btnDown: 'Bajar', - btnSetValue: 'Establecer como predeterminado', - btnDelete: 'Eliminar' - }, - textarea: { - title: 'Propiedades de Area de Texto', - cols: 'Columnas', - rows: 'Filas' - }, - textfield: { - title: 'Propiedades de Campo de Texto', - name: 'Nombre', - value: 'Valor', - charWidth: 'Caracteres de ancho', - maxChars: 'Máximo caracteres', - type: 'Tipo', - typeText: 'Texto', - typePass: 'Contraseña', - typeEmail: 'Correo electrónico', - typeSearch: 'Buscar', - typeTel: 'Número de teléfono', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/et.js b/scripts/ckeditor/plugins/forms/lang/et.js deleted file mode 100755 index 6732a32d..00000000 --- a/scripts/ckeditor/plugins/forms/lang/et.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'et', { - button: { - title: 'Nupu omadused', - text: 'Tekst (väärtus)', - type: 'Liik', - typeBtn: 'Nupp', - typeSbm: 'Saada', - typeRst: 'Lähtesta' - }, - checkboxAndRadio: { - checkboxTitle: 'Märkeruudu omadused', - radioTitle: 'Raadionupu omadused', - value: 'Väärtus', - selected: 'Märgitud' - }, - form: { - title: 'Vormi omadused', - menu: 'Vormi omadused', - action: 'Toiming', - method: 'Meetod', - encoding: 'Kodeering' - }, - hidden: { - title: 'Varjatud lahtri omadused', - name: 'Nimi', - value: 'Väärtus' - }, - select: { - title: 'Valiklahtri omadused', - selectInfo: 'Info', - opAvail: 'Võimalikud valikud:', - value: 'Väärtus', - size: 'Suurus', - lines: 'ridu', - chkMulti: 'Võimalik mitu valikut', - opText: 'Tekst', - opValue: 'Väärtus', - btnAdd: 'Lisa', - btnModify: 'Muuda', - btnUp: 'Üles', - btnDown: 'Alla', - btnSetValue: 'Määra vaikimisi', - btnDelete: 'Kustuta' - }, - textarea: { - title: 'Tekstiala omadused', - cols: 'Veerge', - rows: 'Ridu' - }, - textfield: { - title: 'Tekstilahtri omadused', - name: 'Nimi', - value: 'Väärtus', - charWidth: 'Laius (tähemärkides)', - maxChars: 'Maksimaalselt tähemärke', - type: 'Liik', - typeText: 'Tekst', - typePass: 'Parool', - typeEmail: 'E-mail', - typeSearch: 'Otsi', - typeTel: 'Telefon', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/eu.js b/scripts/ckeditor/plugins/forms/lang/eu.js deleted file mode 100755 index 017cce2b..00000000 --- a/scripts/ckeditor/plugins/forms/lang/eu.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'eu', { - button: { - title: 'Botoiaren Ezaugarriak', - text: 'Testua (Balorea)', - type: 'Mota', - typeBtn: 'Botoia', - typeSbm: 'Bidali', - typeRst: 'Garbitu' - }, - checkboxAndRadio: { - checkboxTitle: 'Kontrol-laukiko Ezaugarriak', - radioTitle: 'Aukera-botoiaren Ezaugarriak', - value: 'Balorea', - selected: 'Hautatuta' - }, - form: { - title: 'Formularioaren Ezaugarriak', - menu: 'Formularioaren Ezaugarriak', - action: 'Ekintza', - method: 'Metodoa', - encoding: 'Kodeketa' - }, - hidden: { - title: 'Ezkutuko Eremuaren Ezaugarriak', - name: 'Izena', - value: 'Balorea' - }, - select: { - title: 'Hautespen Eremuaren Ezaugarriak', - selectInfo: 'Informazioa', - opAvail: 'Aukera Eskuragarriak', - value: 'Balorea', - size: 'Tamaina', - lines: 'lerro kopurura', - chkMulti: 'Hautaketa anitzak baimendu', - opText: 'Testua', - opValue: 'Balorea', - btnAdd: 'Gehitu', - btnModify: 'Aldatu', - btnUp: 'Gora', - btnDown: 'Behera', - btnSetValue: 'Aukeratutako balorea ezarri', - btnDelete: 'Ezabatu' - }, - textarea: { - title: 'Testu-arearen Ezaugarriak', - cols: 'Zutabeak', - rows: 'Lerroak' - }, - textfield: { - title: 'Testu Eremuaren Ezaugarriak', - name: 'Izena', - value: 'Balorea', - charWidth: 'Zabalera', - maxChars: 'Zenbat karaktere gehienez', - type: 'Mota', - typeText: 'Testua', - typePass: 'Pasahitza', - typeEmail: 'E-posta', - typeSearch: 'Bilatu', - typeTel: 'Telefono Zenbakia', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/fa.js b/scripts/ckeditor/plugins/forms/lang/fa.js deleted file mode 100755 index 67398486..00000000 --- a/scripts/ckeditor/plugins/forms/lang/fa.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'fa', { - button: { - title: 'ویژگی​های دکمه', - text: 'متن (مقدار)', - type: 'نوع', - typeBtn: 'دکمه', - typeSbm: 'ثبت', - typeRst: 'بازنشانی (Reset)' - }, - checkboxAndRadio: { - checkboxTitle: 'ویژگی​های خانهٴ گزینه​ای', - radioTitle: 'ویژگی​های دکمهٴ رادیویی', - value: 'مقدار', - selected: 'برگزیده' - }, - form: { - title: 'ویژگی​های فرم', - menu: 'ویژگی​های فرم', - action: 'رویداد', - method: 'متد', - encoding: 'رمزنگاری' - }, - hidden: { - title: 'ویژگی​های فیلد پنهان', - name: 'نام', - value: 'مقدار' - }, - select: { - title: 'ویژگی​های فیلد چندگزینه​ای', - selectInfo: 'اطلاعات', - opAvail: 'گزینه​های دردسترس', - value: 'مقدار', - size: 'اندازه', - lines: 'خطوط', - chkMulti: 'گزینش چندگانه فراهم باشد', - opText: 'متن', - opValue: 'مقدار', - btnAdd: 'افزودن', - btnModify: 'ویرایش', - btnUp: 'بالا', - btnDown: 'پائین', - btnSetValue: 'تنظیم به عنوان مقدار برگزیده', - btnDelete: 'پاککردن' - }, - textarea: { - title: 'ویژگی​های ناحیهٴ متنی', - cols: 'ستون​ها', - rows: 'سطرها' - }, - textfield: { - title: 'ویژگی​های فیلد متنی', - name: 'نام', - value: 'مقدار', - charWidth: 'پهنای نویسه', - maxChars: 'بیشینهٴ نویسه​ها', - type: 'نوع', - typeText: 'متن', - typePass: 'گذرواژه', - typeEmail: 'ایمیل', - typeSearch: 'جستجو', - typeTel: 'شماره تلفن', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/fi.js b/scripts/ckeditor/plugins/forms/lang/fi.js deleted file mode 100755 index 8940b80c..00000000 --- a/scripts/ckeditor/plugins/forms/lang/fi.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'fi', { - button: { - title: 'Painikkeen ominaisuudet', - text: 'Teksti (arvo)', - type: 'Tyyppi', - typeBtn: 'Painike', - typeSbm: 'Lähetä', - typeRst: 'Tyhjennä' - }, - checkboxAndRadio: { - checkboxTitle: 'Valintaruudun ominaisuudet', - radioTitle: 'Radiopainikkeen ominaisuudet', - value: 'Arvo', - selected: 'Valittu' - }, - form: { - title: 'Lomakkeen ominaisuudet', - menu: 'Lomakkeen ominaisuudet', - action: 'Toiminto', - method: 'Tapa', - encoding: 'Enkoodaus' - }, - hidden: { - title: 'Piilokentän ominaisuudet', - name: 'Nimi', - value: 'Arvo' - }, - select: { - title: 'Valintakentän ominaisuudet', - selectInfo: 'Info', - opAvail: 'Ominaisuudet', - value: 'Arvo', - size: 'Koko', - lines: 'Rivit', - chkMulti: 'Salli usea valinta', - opText: 'Teksti', - opValue: 'Arvo', - btnAdd: 'Lisää', - btnModify: 'Muuta', - btnUp: 'Ylös', - btnDown: 'Alas', - btnSetValue: 'Aseta valituksi', - btnDelete: 'Poista' - }, - textarea: { - title: 'Tekstilaatikon ominaisuudet', - cols: 'Sarakkeita', - rows: 'Rivejä' - }, - textfield: { - title: 'Tekstikentän ominaisuudet', - name: 'Nimi', - value: 'Arvo', - charWidth: 'Leveys', - maxChars: 'Maksimi merkkimäärä', - type: 'Tyyppi', - typeText: 'Teksti', - typePass: 'Salasana', - typeEmail: 'Sähköposti', - typeSearch: 'Haku', - typeTel: 'Puhelinnumero', - typeUrl: 'Osoite' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/fo.js b/scripts/ckeditor/plugins/forms/lang/fo.js deleted file mode 100755 index 5670b22b..00000000 --- a/scripts/ckeditor/plugins/forms/lang/fo.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'fo', { - button: { - title: 'Eginleikar fyri knøtt', - text: 'Tekstur', - type: 'Slag', - typeBtn: 'Knøttur', - typeSbm: 'Send', - typeRst: 'Nullstilla' - }, - checkboxAndRadio: { - checkboxTitle: 'Eginleikar fyri flugubein', - radioTitle: 'Eginleikar fyri radioknøtt', - value: 'Virði', - selected: 'Valt' - }, - form: { - title: 'Eginleikar fyri Form', - menu: 'Eginleikar fyri Form', - action: 'Hending', - method: 'Háttur', - encoding: 'Encoding' - }, - hidden: { - title: 'Eginleikar fyri fjaldan teig', - name: 'Navn', - value: 'Virði' - }, - select: { - title: 'Eginleikar fyri valskrá', - selectInfo: 'Upplýsingar', - opAvail: 'Tøkir møguleikar', - value: 'Virði', - size: 'Stødd', - lines: 'Linjur', - chkMulti: 'Loyv fleiri valmøguleikum samstundis', - opText: 'Tekstur', - opValue: 'Virði', - btnAdd: 'Legg afturat', - btnModify: 'Broyt', - btnUp: 'Upp', - btnDown: 'Niður', - btnSetValue: 'Set sum valt virði', - btnDelete: 'Strika' - }, - textarea: { - title: 'Eginleikar fyri tekstumráði', - cols: 'kolonnur', - rows: 'røðir' - }, - textfield: { - title: 'Eginleikar fyri tekstteig', - name: 'Navn', - value: 'Virði', - charWidth: 'Breidd (sjónlig tekn)', - maxChars: 'Mest loyvdu tekn', - type: 'Slag', - typeText: 'Tekstur', - typePass: 'Loyniorð', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/fr-ca.js b/scripts/ckeditor/plugins/forms/lang/fr-ca.js deleted file mode 100755 index 44c1e6cb..00000000 --- a/scripts/ckeditor/plugins/forms/lang/fr-ca.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'fr-ca', { - button: { - title: 'Propriétés du bouton', - text: 'Texte (Valeur)', - type: 'Type', - typeBtn: 'Bouton', - typeSbm: 'Soumettre', - typeRst: 'Réinitialiser' - }, - checkboxAndRadio: { - checkboxTitle: 'Propriétés de la case à cocher', - radioTitle: 'Propriétés du bouton radio', - value: 'Valeur', - selected: 'Sélectionné' - }, - form: { - title: 'Propriétés du formulaire', - menu: 'Propriétés du formulaire', - action: 'Action', - method: 'Méthode', - encoding: 'Encodage' - }, - hidden: { - title: 'Propriétés du champ caché', - name: 'Nom', - value: 'Valeur' - }, - select: { - title: 'Propriétés du champ de sélection', - selectInfo: 'Info', - opAvail: 'Options disponibles', - value: 'Valeur', - size: 'Taille', - lines: 'lignes', - chkMulti: 'Permettre les sélections multiples', - opText: 'Texte', - opValue: 'Valeur', - btnAdd: 'Ajouter', - btnModify: 'Modifier', - btnUp: 'Monter', - btnDown: 'Descendre', - btnSetValue: 'Valeur sélectionnée', - btnDelete: 'Supprimer' - }, - textarea: { - title: 'Propriétés de la zone de texte', - cols: 'Colonnes', - rows: 'Lignes' - }, - textfield: { - title: 'Propriétés du champ texte', - name: 'Nom', - value: 'Valeur', - charWidth: 'Largeur de caractères', - maxChars: 'Nombre maximum de caractères', - type: 'Type', - typeText: 'Texte', - typePass: 'Mot de passe', - typeEmail: 'Courriel', - typeSearch: 'Recherche', - typeTel: 'Numéro de téléphone', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/fr.js b/scripts/ckeditor/plugins/forms/lang/fr.js deleted file mode 100755 index 36e7d0b7..00000000 --- a/scripts/ckeditor/plugins/forms/lang/fr.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'fr', { - button: { - title: 'Propriétés du bouton', - text: 'Texte (Value)', - type: 'Type', - typeBtn: 'Bouton', - typeSbm: 'Validation (submit)', - typeRst: 'Remise à zéro' - }, - checkboxAndRadio: { - checkboxTitle: 'Propriétés de la case à cocher', - radioTitle: 'Propriétés du bouton Radio', - value: 'Valeur', - selected: 'Sélectionné' - }, - form: { - title: 'Propriétés du formulaire', - menu: 'Propriétés du formulaire', - action: 'Action', - method: 'Méthode', - encoding: 'Encodage' - }, - hidden: { - title: 'Propriétés du champ caché', - name: 'Nom', - value: 'Valeur' - }, - select: { - title: 'Propriétés du menu déroulant', - selectInfo: 'Informations sur le menu déroulant', - opAvail: 'Options disponibles', - value: 'Valeur', - size: 'Taille', - lines: 'Lignes', - chkMulti: 'Permettre les sélections multiples', - opText: 'Texte', - opValue: 'Valeur', - btnAdd: 'Ajouter', - btnModify: 'Modifier', - btnUp: 'Haut', - btnDown: 'Bas', - btnSetValue: 'Définir comme valeur sélectionnée', - btnDelete: 'Supprimer' - }, - textarea: { - title: 'Propriétés de la zone de texte', - cols: 'Colonnes', - rows: 'Lignes' - }, - textfield: { - title: 'Propriétés du champ texte', - name: 'Nom', - value: 'Valeur', - charWidth: 'Taille des caractères', - maxChars: 'Nombre maximum de caractères', - type: 'Type', - typeText: 'Texte', - typePass: 'Mot de passe', - typeEmail: 'E-mail', - typeSearch: 'Rechercher', - typeTel: 'Numéro de téléphone', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/gl.js b/scripts/ckeditor/plugins/forms/lang/gl.js deleted file mode 100755 index ddd35b34..00000000 --- a/scripts/ckeditor/plugins/forms/lang/gl.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'gl', { - button: { - title: 'Propiedades do botón', - text: 'Texto (Valor)', - type: 'Tipo', - typeBtn: 'Botón', - typeSbm: 'Enviar', - typeRst: 'Restabelever' - }, - checkboxAndRadio: { - checkboxTitle: 'Propiedades da caixa de selección', - radioTitle: 'Propiedades do botón de opción', - value: 'Valor', - selected: 'Seleccionado' - }, - form: { - title: 'Propiedades do formulario', - menu: 'Propiedades do formulario', - action: 'Acción', - method: 'Método', - encoding: 'Codificación' - }, - hidden: { - title: 'Propiedades do campo agochado', - name: 'Nome', - value: 'Valor' - }, - select: { - title: 'Propiedades do campo de selección', - selectInfo: 'Información', - opAvail: 'Opcións dispoñíbeis', - value: 'Valor', - size: 'Tamaño', - lines: 'liñas', - chkMulti: 'Permitir múltiplas seleccións', - opText: 'Texto', - opValue: 'Valor', - btnAdd: 'Engadir', - btnModify: 'Modificar', - btnUp: 'Subir', - btnDown: 'Baixar', - btnSetValue: 'Estabelecer como valor seleccionado', - btnDelete: 'Eliminar' - }, - textarea: { - title: 'Propiedades da área de texto', - cols: 'Columnas', - rows: 'Filas' - }, - textfield: { - title: 'Propiedades do campo de texto', - name: 'Nome', - value: 'Valor', - charWidth: 'Largo do carácter', - maxChars: 'Núm. máximo de caracteres', - type: 'Tipo', - typeText: 'Texto', - typePass: 'Contrasinal', - typeEmail: 'Correo', - typeSearch: 'Buscar', - typeTel: 'Número de teléfono', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/gu.js b/scripts/ckeditor/plugins/forms/lang/gu.js deleted file mode 100755 index 7ec3e142..00000000 --- a/scripts/ckeditor/plugins/forms/lang/gu.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'gu', { - button: { - title: 'બટનના ગુણ', - text: 'ટેક્સ્ટ (વૅલ્યૂ)', - type: 'પ્રકાર', - typeBtn: 'બટન', - typeSbm: 'સબ્મિટ', - typeRst: 'રિસેટ' - }, - checkboxAndRadio: { - checkboxTitle: 'ચેક બોક્સ ગુણ', - radioTitle: 'રેડિઓ બટનના ગુણ', - value: 'વૅલ્યૂ', - selected: 'સિલેક્ટેડ' - }, - form: { - title: 'ફૉર્મ/પત્રકના ગુણ', - menu: 'ફૉર્મ/પત્રકના ગુણ', - action: 'ક્રિયા', - method: 'પદ્ધતિ', - encoding: 'અન્કોડીન્ગ' - }, - hidden: { - title: 'ગુપ્ત ક્ષેત્રના ગુણ', - name: 'નામ', - value: 'વૅલ્યૂ' - }, - select: { - title: 'પસંદગી ક્ષેત્રના ગુણ', - selectInfo: 'સૂચના', - opAvail: 'ઉપલબ્ધ વિકલ્પ', - value: 'વૅલ્યૂ', - size: 'સાઇઝ', - lines: 'લીટીઓ', - chkMulti: 'એકથી વધારે પસંદ કરી શકો', - opText: 'ટેક્સ્ટ', - opValue: 'વૅલ્યૂ', - btnAdd: 'ઉમેરવું', - btnModify: 'બદલવું', - btnUp: 'ઉપર', - btnDown: 'નીચે', - btnSetValue: 'પસંદ કરલી વૅલ્યૂ સેટ કરો', - btnDelete: 'રદ કરવું' - }, - textarea: { - title: 'ટેક્સ્ટ એઅરિઆ, શબ્દ વિસ્તારના ગુણ', - cols: 'કૉલમ/ઊભી કટાર', - rows: 'પંક્તિઓ' - }, - textfield: { - title: 'ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્રના ગુણ', - name: 'નામ', - value: 'વૅલ્યૂ', - charWidth: 'કેરેક્ટરની પહોળાઈ', - maxChars: 'અધિકતમ કેરેક્ટર', - type: 'ટાઇપ', - typeText: 'ટેક્સ્ટ', - typePass: 'પાસવર્ડ', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/he.js b/scripts/ckeditor/plugins/forms/lang/he.js deleted file mode 100755 index 33249f16..00000000 --- a/scripts/ckeditor/plugins/forms/lang/he.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'he', { - button: { - title: 'מאפייני כפתור', - text: 'טקסט (ערך)', - type: 'סוג', - typeBtn: 'כפתור', - typeSbm: 'שליחה', - typeRst: 'איפוס' - }, - checkboxAndRadio: { - checkboxTitle: 'מאפייני תיבת סימון', - radioTitle: 'מאפייני לחצן אפשרויות', - value: 'ערך', - selected: 'מסומן' - }, - form: { - title: 'מאפיני טופס', - menu: 'מאפיני טופס', - action: 'שלח אל', - method: 'סוג שליחה', - encoding: 'קידוד' - }, - hidden: { - title: 'מאפיני שדה חבוי', - name: 'שם', - value: 'ערך' - }, - select: { - title: 'מאפייני שדה בחירה', - selectInfo: 'מידע', - opAvail: 'אפשרויות זמינות', - value: 'ערך', - size: 'גודל', - lines: 'שורות', - chkMulti: 'איפשור בחירות מרובות', - opText: 'טקסט', - opValue: 'ערך', - btnAdd: 'הוספה', - btnModify: 'שינוי', - btnUp: 'למעלה', - btnDown: 'למטה', - btnSetValue: 'קביעה כברירת מחדל', - btnDelete: 'מחיקה' - }, - textarea: { - title: 'מאפייני איזור טקסט', - cols: 'עמודות', - rows: 'שורות' - }, - textfield: { - title: 'מאפייני שדה טקסט', - name: 'שם', - value: 'ערך', - charWidth: 'רוחב לפי תווים', - maxChars: 'מקסימום תווים', - type: 'סוג', - typeText: 'טקסט', - typePass: 'סיסמה', - typeEmail: 'דוא"ל', - typeSearch: 'חיפוש', - typeTel: 'מספר טלפון', - typeUrl: 'כתובת (URL)' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/hi.js b/scripts/ckeditor/plugins/forms/lang/hi.js deleted file mode 100755 index 919fc288..00000000 --- a/scripts/ckeditor/plugins/forms/lang/hi.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'hi', { - button: { - title: 'बटन प्रॉपर्टीज़', - text: 'टेक्स्ट (वैल्यू)', - type: 'प्रकार', - typeBtn: 'बटन', - typeSbm: 'सब्मिट', - typeRst: 'रिसेट' - }, - checkboxAndRadio: { - checkboxTitle: 'चॅक बॉक्स प्रॉपर्टीज़', - radioTitle: 'रेडिओ बटन प्रॉपर्टीज़', - value: 'वैल्यू', - selected: 'सॅलॅक्टॅड' - }, - form: { - title: 'फ़ॉर्म प्रॉपर्टीज़', - menu: 'फ़ॉर्म प्रॉपर्टीज़', - action: 'क्रिया', - method: 'तरीका', - encoding: 'Encoding' - }, - hidden: { - title: 'गुप्त फ़ील्ड प्रॉपर्टीज़', - name: 'नाम', - value: 'वैल्यू' - }, - select: { - title: 'चुनाव फ़ील्ड प्रॉपर्टीज़', - selectInfo: 'सूचना', - opAvail: 'उपलब्ध विकल्प', - value: 'वैल्यू', - size: 'साइज़', - lines: 'पंक्तियाँ', - chkMulti: 'एक से ज्यादा विकल्प चुनने दें', - opText: 'टेक्स्ट', - opValue: 'वैल्यू', - btnAdd: 'जोड़ें', - btnModify: 'बदलें', - btnUp: 'ऊपर', - btnDown: 'नीचे', - btnSetValue: 'चुनी गई वैल्यू सॅट करें', - btnDelete: 'डिलीट' - }, - textarea: { - title: 'टेक्स्त एरिया प्रॉपर्टीज़', - cols: 'कालम', - rows: 'पंक्तियां' - }, - textfield: { - title: 'टेक्स्ट फ़ील्ड प्रॉपर्टीज़', - name: 'नाम', - value: 'वैल्यू', - charWidth: 'करॅक्टर की चौढ़ाई', - maxChars: 'अधिकतम करॅक्टर', - type: 'टाइप', - typeText: 'टेक्स्ट', - typePass: 'पास्वर्ड', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/hr.js b/scripts/ckeditor/plugins/forms/lang/hr.js deleted file mode 100755 index e2b2c921..00000000 --- a/scripts/ckeditor/plugins/forms/lang/hr.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'hr', { - button: { - title: 'Button svojstva', - text: 'Tekst (vrijednost)', - type: 'Vrsta', - typeBtn: 'Gumb', - typeSbm: 'Pošalji', - typeRst: 'Poništi' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox svojstva', - radioTitle: 'Radio Button svojstva', - value: 'Vrijednost', - selected: 'Odabrano' - }, - form: { - title: 'Form svojstva', - menu: 'Form svojstva', - action: 'Akcija', - method: 'Metoda', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field svojstva', - name: 'Ime', - value: 'Vrijednost' - }, - select: { - title: 'Selection svojstva', - selectInfo: 'Info', - opAvail: 'Dostupne opcije', - value: 'Vrijednost', - size: 'Veličina', - lines: 'linija', - chkMulti: 'Dozvoli višestruki odabir', - opText: 'Tekst', - opValue: 'Vrijednost', - btnAdd: 'Dodaj', - btnModify: 'Promijeni', - btnUp: 'Gore', - btnDown: 'Dolje', - btnSetValue: 'Postavi kao odabranu vrijednost', - btnDelete: 'Obriši' - }, - textarea: { - title: 'Textarea svojstva', - cols: 'Kolona', - rows: 'Redova' - }, - textfield: { - title: 'Text Field svojstva', - name: 'Ime', - value: 'Vrijednost', - charWidth: 'Širina', - maxChars: 'Najviše karaktera', - type: 'Vrsta', - typeText: 'Tekst', - typePass: 'Šifra', - typeEmail: 'Email', - typeSearch: 'Traži', - typeTel: 'Broj telefona', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/hu.js b/scripts/ckeditor/plugins/forms/lang/hu.js deleted file mode 100755 index 8a7ecb3f..00000000 --- a/scripts/ckeditor/plugins/forms/lang/hu.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'hu', { - button: { - title: 'Gomb tulajdonságai', - text: 'Szöveg (Érték)', - type: 'Típus', - typeBtn: 'Gomb', - typeSbm: 'Küldés', - typeRst: 'Alaphelyzet' - }, - checkboxAndRadio: { - checkboxTitle: 'Jelölőnégyzet tulajdonságai', - radioTitle: 'Választógomb tulajdonságai', - value: 'Érték', - selected: 'Kiválasztott' - }, - form: { - title: 'Űrlap tulajdonságai', - menu: 'Űrlap tulajdonságai', - action: 'Adatfeldolgozást végző hivatkozás', - method: 'Adatküldés módja', - encoding: 'Kódolás' - }, - hidden: { - title: 'Rejtett mező tulajdonságai', - name: 'Név', - value: 'Érték' - }, - select: { - title: 'Legördülő lista tulajdonságai', - selectInfo: 'Alaptulajdonságok', - opAvail: 'Elérhető opciók', - value: 'Érték', - size: 'Méret', - lines: 'sor', - chkMulti: 'több sor is kiválasztható', - opText: 'Szöveg', - opValue: 'Érték', - btnAdd: 'Hozzáad', - btnModify: 'Módosít', - btnUp: 'Fel', - btnDown: 'Le', - btnSetValue: 'Legyen az alapértelmezett érték', - btnDelete: 'Töröl' - }, - textarea: { - title: 'Szövegterület tulajdonságai', - cols: 'Karakterek száma egy sorban', - rows: 'Sorok száma' - }, - textfield: { - title: 'Szövegmező tulajdonságai', - name: 'Név', - value: 'Érték', - charWidth: 'Megjelenített karakterek száma', - maxChars: 'Maximális karakterszám', - type: 'Típus', - typeText: 'Szöveg', - typePass: 'Jelszó', - typeEmail: 'Ímél', - typeSearch: 'Keresés', - typeTel: 'Telefonszám', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/id.js b/scripts/ckeditor/plugins/forms/lang/id.js deleted file mode 100755 index 7a85bae9..00000000 --- a/scripts/ckeditor/plugins/forms/lang/id.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'id', { - button: { - title: 'Button Properties', // MISSING - text: 'Teks (Nilai)', - type: 'Tipe', - typeBtn: 'Tombol', - typeSbm: 'Menyerahkan', - typeRst: 'Reset' // MISSING - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', // MISSING - radioTitle: 'Radio Button Properties', // MISSING - value: 'Nilai', - selected: 'Terpilih' - }, - form: { - title: 'Form Properties', // MISSING - menu: 'Form Properties', // MISSING - action: 'Aksi', - method: 'Metode', - encoding: 'Encoding' // MISSING - }, - hidden: { - title: 'Hidden Field Properties', // MISSING - name: 'Nama', - value: 'Nilai' - }, - select: { - title: 'Selection Field Properties', // MISSING - selectInfo: 'Select Info', // MISSING - opAvail: 'Available Options', // MISSING - value: 'Nilai', - size: 'Ukuran', - lines: 'garis', - chkMulti: 'Izinkan pemilihan ganda', - opText: 'Teks', - opValue: 'Nilai', - btnAdd: 'Tambah', - btnModify: 'Modifikasi', - btnUp: 'Atas', - btnDown: 'Bawah', - btnSetValue: 'Set as selected value', // MISSING - btnDelete: 'Hapus' - }, - textarea: { - title: 'Textarea Properties', // MISSING - cols: 'Kolom', - rows: 'Baris' - }, - textfield: { - title: 'Text Field Properties', // MISSING - name: 'Name', - value: 'Nilai', - charWidth: 'Character Width', // MISSING - maxChars: 'Maximum Characters', // MISSING - type: 'Tipe', - typeText: 'Teks', - typePass: 'Kata kunci', - typeEmail: 'Surel', - typeSearch: 'Cari', - typeTel: 'Nomor Telepon', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/is.js b/scripts/ckeditor/plugins/forms/lang/is.js deleted file mode 100755 index 62dfe6f8..00000000 --- a/scripts/ckeditor/plugins/forms/lang/is.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'is', { - button: { - title: 'Eigindi hnapps', - text: 'Texti', - type: 'Gerð', - typeBtn: 'Hnappur', - typeSbm: 'Staðfesta', - typeRst: 'Hreinsa' - }, - checkboxAndRadio: { - checkboxTitle: 'Eigindi markreits', - radioTitle: 'Eigindi valhnapps', - value: 'Gildi', - selected: 'Valið' - }, - form: { - title: 'Eigindi innsláttarforms', - menu: 'Eigindi innsláttarforms', - action: 'Aðgerð', - method: 'Aðferð', - encoding: 'Encoding' - }, - hidden: { - title: 'Eigindi falins svæðis', - name: 'Nafn', - value: 'Gildi' - }, - select: { - title: 'Eigindi lista', - selectInfo: 'Upplýsingar', - opAvail: 'Kostir', - value: 'Gildi', - size: 'Stærð', - lines: 'línur', - chkMulti: 'Leyfa fleiri kosti', - opText: 'Texti', - opValue: 'Gildi', - btnAdd: 'Bæta við', - btnModify: 'Breyta', - btnUp: 'Upp', - btnDown: 'Niður', - btnSetValue: 'Merkja sem valið', - btnDelete: 'Eyða' - }, - textarea: { - title: 'Eigindi textasvæðis', - cols: 'Dálkar', - rows: 'Línur' - }, - textfield: { - title: 'Eigindi textareits', - name: 'Nafn', - value: 'Gildi', - charWidth: 'Breidd (leturtákn)', - maxChars: 'Hámarksfjöldi leturtákna', - type: 'Gerð', - typeText: 'Texti', - typePass: 'Lykilorð', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'Vefslóð' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/it.js b/scripts/ckeditor/plugins/forms/lang/it.js deleted file mode 100755 index aa6b1213..00000000 --- a/scripts/ckeditor/plugins/forms/lang/it.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'it', { - button: { - title: 'Proprietà bottone', - text: 'Testo (Valore)', - type: 'Tipo', - typeBtn: 'Bottone', - typeSbm: 'Invio', - typeRst: 'Annulla' - }, - checkboxAndRadio: { - checkboxTitle: 'Proprietà checkbox', - radioTitle: 'Proprietà radio button', - value: 'Valore', - selected: 'Selezionato' - }, - form: { - title: 'Proprietà modulo', - menu: 'Proprietà modulo', - action: 'Azione', - method: 'Metodo', - encoding: 'Codifica' - }, - hidden: { - title: 'Proprietà campo nascosto', - name: 'Nome', - value: 'Valore' - }, - select: { - title: 'Proprietà menu di selezione', - selectInfo: 'Info', - opAvail: 'Opzioni disponibili', - value: 'Valore', - size: 'Dimensione', - lines: 'righe', - chkMulti: 'Permetti selezione multipla', - opText: 'Testo', - opValue: 'Valore', - btnAdd: 'Aggiungi', - btnModify: 'Modifica', - btnUp: 'Su', - btnDown: 'Gi', - btnSetValue: 'Imposta come predefinito', - btnDelete: 'Rimuovi' - }, - textarea: { - title: 'Proprietà area di testo', - cols: 'Colonne', - rows: 'Righe' - }, - textfield: { - title: 'Proprietà campo di testo', - name: 'Nome', - value: 'Valore', - charWidth: 'Larghezza', - maxChars: 'Numero massimo di caratteri', - type: 'Tipo', - typeText: 'Testo', - typePass: 'Password', - typeEmail: 'Email', - typeSearch: 'Cerca', - typeTel: 'Numero di telefono', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ja.js b/scripts/ckeditor/plugins/forms/lang/ja.js deleted file mode 100755 index bd915970..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ja.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ja', { - button: { - title: 'ボタン プロパティ', - text: 'テキスト (値)', - type: 'タイプ', - typeBtn: 'ボタン', - typeSbm: '送信', - typeRst: 'リセット' - }, - checkboxAndRadio: { - checkboxTitle: 'チェックボックスのプロパティ', - radioTitle: 'ラジオボタンのプロパティ', - value: '値', - selected: '選択済み' - }, - form: { - title: 'フォームのプロパティ', - menu: 'フォームのプロパティ', - action: 'アクション (action)', - method: 'メソッド (method)', - encoding: 'エンコード方式 (encoding)' - }, - hidden: { - title: '不可視フィールド プロパティ', - name: '名前 (name)', - value: '値 (value)' - }, - select: { - title: '選択フィールドのプロパティ', - selectInfo: '情報', - opAvail: '利用可能なオプション', - value: '選択項目値', - size: 'サイズ', - lines: '行', - chkMulti: '複数選択を許可', - opText: '選択項目名', - opValue: '値', - btnAdd: '追加', - btnModify: '編集', - btnUp: '上へ', - btnDown: '下へ', - btnSetValue: '選択した値を設定', - btnDelete: '削除' - }, - textarea: { - title: 'テキストエリア プロパティ', - cols: '列', - rows: '行' - }, - textfield: { - title: '1行テキスト プロパティ', - name: '名前', - value: '値', - charWidth: 'サイズ', - maxChars: '最大長', - type: 'タイプ', - typeText: 'テキスト', - typePass: 'パスワード入力', - typeEmail: 'メール', - typeSearch: '検索', - typeTel: '電話番号', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ka.js b/scripts/ckeditor/plugins/forms/lang/ka.js deleted file mode 100755 index 5f2a6a8b..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ka.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ka', { - button: { - title: 'ღილაკის პარამეტრები', - text: 'ტექსტი', - type: 'ტიპი', - typeBtn: 'ღილაკი', - typeSbm: 'გაგზავნა', - typeRst: 'გასუფთავება' - }, - checkboxAndRadio: { - checkboxTitle: 'მონიშვნის ღილაკის (Checkbox) პარამეტრები', - radioTitle: 'ასარჩევი ღილაკის (Radio) პარამეტრები', - value: 'ტექსტი', - selected: 'არჩეული' - }, - form: { - title: 'ფორმის პარამეტრები', - menu: 'ფორმის პარამეტრები', - action: 'ქმედება', - method: 'მეთოდი', - encoding: 'კოდირება' - }, - hidden: { - title: 'მალული ველის პარამეტრები', - name: 'სახელი', - value: 'მნიშვნელობა' - }, - select: { - title: 'არჩევის ველის პარამეტრები', - selectInfo: 'ინფორმაცია', - opAvail: 'შესაძლებელი ვარიანტები', - value: 'მნიშვნელობა', - size: 'ზომა', - lines: 'ხაზები', - chkMulti: 'მრავლობითი არჩევანის საშუალება', - opText: 'ტექსტი', - opValue: 'მნიშვნელობა', - btnAdd: 'დამატება', - btnModify: 'შეცვლა', - btnUp: 'ზემოთ', - btnDown: 'ქვემოთ', - btnSetValue: 'ამორჩეულ მნიშვნელოვნად დაყენება', - btnDelete: 'წაშლა' - }, - textarea: { - title: 'ტექსტური არის პარამეტრები', - cols: 'სვეტები', - rows: 'სტრიქონები' - }, - textfield: { - title: 'ტექსტური ველის პარამეტრები', - name: 'სახელი', - value: 'მნიშვნელობა', - charWidth: 'სიმბოლოს ზომა', - maxChars: 'ასოების მაქსიმალური ოდენობა', - type: 'ტიპი', - typeText: 'ტექსტი', - typePass: 'პაროლი', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/km.js b/scripts/ckeditor/plugins/forms/lang/km.js deleted file mode 100755 index 75c7abd5..00000000 --- a/scripts/ckeditor/plugins/forms/lang/km.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'km', { - button: { - title: 'លក្ខណៈ​ប៊ូតុង', - text: 'អត្ថបទ (តម្លៃ)', - type: 'ប្រភេទ', - typeBtn: 'ប៊ូតុង', - typeSbm: 'ដាក់ស្នើ', - typeRst: 'កំណត់​ឡើង​វិញ' - }, - checkboxAndRadio: { - checkboxTitle: 'លក្ខណៈ​ប្រអប់​ធីក', - radioTitle: 'លក្ខនៈ​ប៊ូតុង​មូល', - value: 'តម្លៃ', - selected: 'បាន​ជ្រើស' - }, - form: { - title: 'លក្ខណៈ​បែបបទ', - menu: 'លក្ខណៈ​បែបបទ', - action: 'សកម្មភាព', - method: 'វិធីសាស្ត្រ', - encoding: 'ការ​អ៊ិនកូដ' - }, - hidden: { - title: 'លក្ខណៈ​វាល​កំបាំង', - name: 'ឈ្មោះ', - value: 'តម្លៃ' - }, - select: { - title: 'លក្ខណៈ​វាល​ជម្រើស', - selectInfo: 'ព័ត៌មាន​ជម្រើស', - opAvail: 'ជម្រើស​ដែល​មាន', - value: 'តម្លៃ', - size: 'ទំហំ', - lines: 'បន្ទាត់', - chkMulti: 'អនុញ្ញាត​ពហុ​ជម្រើស', - opText: 'អត្ថបទ', - opValue: 'តម្លៃ', - btnAdd: 'បន្ថែម', - btnModify: 'ផ្លាស់ប្តូរ', - btnUp: 'លើ', - btnDown: 'ក្រោម', - btnSetValue: 'កំណត់​ជា​តម្លៃ​ដែល​បាន​ជ្រើស', - btnDelete: 'លុប' - }, - textarea: { - title: 'លក្ខណៈ​ប្រអប់​អត្ថបទ', - cols: 'ជួរឈរ', - rows: 'ជួរដេក' - }, - textfield: { - title: 'លក្ខណៈ​វាល​អត្ថបទ', - name: 'ឈ្មោះ', - value: 'តម្លៃ', - charWidth: 'ទទឹង​តួ​អក្សរ', - maxChars: 'អក្សរអតិបរិមា', - type: 'ប្រភេទ', - typeText: 'អត្ថបទ', - typePass: 'ពាក្យសម្ងាត់', - typeEmail: 'អ៊ីមែល', - typeSearch: 'ស្វែង​រក', - typeTel: 'លេខ​ទូរសព្ទ', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ko.js b/scripts/ckeditor/plugins/forms/lang/ko.js deleted file mode 100755 index 3f459a53..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ko.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ko', { - button: { - title: '버튼 속성', - text: '버튼글자(값)', - type: '버튼종류', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: '체크박스 속성', - radioTitle: '라디오버튼 속성', - value: '값', - selected: '선택됨' - }, - form: { - title: '폼 속성', - menu: '폼 속성', - action: '실행경로(Action)', - method: '방법(Method)', - encoding: 'Encoding' - }, - hidden: { - title: '숨김필드 속성', - name: '이름', - value: '값' - }, - select: { - title: '펼침목록 속성', - selectInfo: '정보', - opAvail: '선택옵션', - value: '값', - size: '세로크기', - lines: '줄', - chkMulti: '여러항목 선택 허용', - opText: '이름', - opValue: '값', - btnAdd: '추가', - btnModify: '변경', - btnUp: '위로', - btnDown: '아래로', - btnSetValue: '선택된것으로 설정', - btnDelete: '삭제' - }, - textarea: { - title: '입력영역 속성', - cols: '칸수', - rows: '줄수' - }, - textfield: { - title: '입력필드 속성', - name: '이름', - value: '값', - charWidth: '글자 너비', - maxChars: '최대 글자수', - type: '종류', - typeText: '문자열', - typePass: '비밀번호', - typeEmail: '이메일', - typeSearch: '검색', - typeTel: '전화번호', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ku.js b/scripts/ckeditor/plugins/forms/lang/ku.js deleted file mode 100755 index d0dc59aa..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ku.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ku', { - button: { - title: 'خاسیەتی دوگمە', - text: '(نرخی) دەق', - type: 'جۆر', - typeBtn: 'دوگمە', - typeSbm: 'بنێرە', - typeRst: 'ڕێکخستنەوە' - }, - checkboxAndRadio: { - checkboxTitle: 'خاسیەتی چووارگۆشی پشکنین', - radioTitle: 'خاسیەتی جێگرەوەی دوگمە', - value: 'نرخ', - selected: 'هەڵبژاردرا' - }, - form: { - title: 'خاسیەتی داڕشتە', - menu: 'خاسیەتی داڕشتە', - action: 'کردار', - method: 'ڕێگە', - encoding: 'بەکۆدکەر' - }, - hidden: { - title: 'خاسیەتی خانەی شاردراوە', - name: 'ناو', - value: 'نرخ' - }, - select: { - title: 'هەڵبژاردەی خاسیەتی خانە', - selectInfo: 'زانیاری', - opAvail: 'هەڵبژاردەی لەبەردەستدابوون', - value: 'نرخ', - size: 'گەورەیی', - lines: 'هێڵەکان', - chkMulti: 'ڕێدان بەفره هەڵبژارده', - opText: 'دەق', - opValue: 'نرخ', - btnAdd: 'زیادکردن', - btnModify: 'گۆڕانکاری', - btnUp: 'سەرەوه', - btnDown: 'خوارەوە', - btnSetValue: 'دابنێ وەك نرخێکی هەڵبژێردراو', - btnDelete: 'سڕینەوه' - }, - textarea: { - title: 'خاسیەتی ڕووبەری دەق', - cols: 'ستوونەکان', - rows: 'ڕیزەکان' - }, - textfield: { - title: 'خاسیەتی خانەی دەق', - name: 'ناو', - value: 'نرخ', - charWidth: 'پانی نووسە', - maxChars: 'ئەوپەڕی نووسە', - type: 'جۆر', - typeText: 'دەق', - typePass: 'پێپەڕەوشە', - typeEmail: 'ئیمەیل', - typeSearch: 'گەڕان', - typeTel: 'ژمارەی تەلەفۆن', - typeUrl: 'ناونیشانی بەستەر' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/lt.js b/scripts/ckeditor/plugins/forms/lang/lt.js deleted file mode 100755 index 19f9500c..00000000 --- a/scripts/ckeditor/plugins/forms/lang/lt.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'lt', { - button: { - title: 'Mygtuko savybės', - text: 'Tekstas (Reikšmė)', - type: 'Tipas', - typeBtn: 'Mygtukas', - typeSbm: 'Siųsti', - typeRst: 'Išvalyti' - }, - checkboxAndRadio: { - checkboxTitle: 'Žymimojo langelio savybės', - radioTitle: 'Žymimosios akutės savybės', - value: 'Reikšmė', - selected: 'Pažymėtas' - }, - form: { - title: 'Formos savybės', - menu: 'Formos savybės', - action: 'Veiksmas', - method: 'Metodas', - encoding: 'Kodavimas' - }, - hidden: { - title: 'Nerodomo lauko savybės', - name: 'Vardas', - value: 'Reikšmė' - }, - select: { - title: 'Atrankos lauko savybės', - selectInfo: 'Informacija', - opAvail: 'Galimos parinktys', - value: 'Reikšmė', - size: 'Dydis', - lines: 'eilučių', - chkMulti: 'Leisti daugeriopą atranką', - opText: 'Tekstas', - opValue: 'Reikšmė', - btnAdd: 'Įtraukti', - btnModify: 'Modifikuoti', - btnUp: 'Aukštyn', - btnDown: 'Žemyn', - btnSetValue: 'Laikyti pažymėta reikšme', - btnDelete: 'Trinti' - }, - textarea: { - title: 'Teksto srities savybės', - cols: 'Ilgis', - rows: 'Plotis' - }, - textfield: { - title: 'Teksto lauko savybės', - name: 'Vardas', - value: 'Reikšmė', - charWidth: 'Ilgis simboliais', - maxChars: 'Maksimalus simbolių skaičius', - type: 'Tipas', - typeText: 'Tekstas', - typePass: 'Slaptažodis', - typeEmail: 'El. paštas', - typeSearch: 'Paieška', - typeTel: 'Telefono numeris', - typeUrl: 'Nuoroda' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/lv.js b/scripts/ckeditor/plugins/forms/lang/lv.js deleted file mode 100755 index 64c776ab..00000000 --- a/scripts/ckeditor/plugins/forms/lang/lv.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'lv', { - button: { - title: 'Pogas īpašības', - text: 'Teksts (vērtība)', - type: 'Tips', - typeBtn: 'Poga', - typeSbm: 'Nosūtīt', - typeRst: 'Atcelt' - }, - checkboxAndRadio: { - checkboxTitle: 'Atzīmēšanas kastītes īpašības', - radioTitle: 'Izvēles poga īpašības', - value: 'Vērtība', - selected: 'Iezīmēts' - }, - form: { - title: 'Formas īpašības', - menu: 'Formas īpašības', - action: 'Darbība', - method: 'Metode', - encoding: 'Kodējums' - }, - hidden: { - title: 'Paslēptās teksta rindas īpašības', - name: 'Nosaukums', - value: 'Vērtība' - }, - select: { - title: 'Iezīmēšanas lauka īpašības', - selectInfo: 'Informācija', - opAvail: 'Pieejamās iespējas', - value: 'Vērtība', - size: 'Izmērs', - lines: 'rindas', - chkMulti: 'Atļaut vairākus iezīmējumus', - opText: 'Teksts', - opValue: 'Vērtība', - btnAdd: 'Pievienot', - btnModify: 'Veikt izmaiņas', - btnUp: 'Augšup', - btnDown: 'Lejup', - btnSetValue: 'Noteikt kā iezīmēto vērtību', - btnDelete: 'Dzēst' - }, - textarea: { - title: 'Teksta laukuma īpašības', - cols: 'Kolonnas', - rows: 'Rindas' - }, - textfield: { - title: 'Teksta rindas īpašības', - name: 'Nosaukums', - value: 'Vērtība', - charWidth: 'Simbolu platums', - maxChars: 'Simbolu maksimālais daudzums', - type: 'Tips', - typeText: 'Teksts', - typePass: 'Parole', - typeEmail: 'Epasts', - typeSearch: 'Meklēt', - typeTel: 'Tālruņa numurs', - typeUrl: 'Adrese' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/mk.js b/scripts/ckeditor/plugins/forms/lang/mk.js deleted file mode 100755 index 48cb7854..00000000 --- a/scripts/ckeditor/plugins/forms/lang/mk.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'mk', { - button: { - title: 'Button Properties', - text: 'Text (Value)', - type: 'Type', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', - radioTitle: 'Radio Button Properties', - value: 'Value', - selected: 'Selected' - }, - form: { - title: 'Form Properties', - menu: 'Form Properties', - action: 'Action', - method: 'Method', - encoding: 'Encoding' - }, - hidden: { - title: 'Hidden Field Properties', - name: 'Name', - value: 'Value' - }, - select: { - title: 'Selection Field Properties', - selectInfo: 'Select Info', - opAvail: 'Available Options', - value: 'Value', - size: 'Size', - lines: 'lines', - chkMulti: 'Allow multiple selections', - opText: 'Text', - opValue: 'Value', - btnAdd: 'Add', - btnModify: 'Modify', - btnUp: 'Up', - btnDown: 'Down', - btnSetValue: 'Set as selected value', - btnDelete: 'Delete' - }, - textarea: { - title: 'Textarea Properties', - cols: 'Columns', - rows: 'Rows' - }, - textfield: { - title: 'Text Field Properties', - name: 'Name', - value: 'Value', - charWidth: 'Character Width', - maxChars: 'Maximum Characters', - type: 'Type', - typeText: 'Text', - typePass: 'Password', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' // MISSING - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/mn.js b/scripts/ckeditor/plugins/forms/lang/mn.js deleted file mode 100755 index 65dd6e7d..00000000 --- a/scripts/ckeditor/plugins/forms/lang/mn.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'mn', { - button: { - title: 'Товчны шинж чанар', - text: 'Тэкст (Утга)', - type: 'Төрөл', - typeBtn: 'Товч', - typeSbm: 'Submit', - typeRst: 'Болих' - }, - checkboxAndRadio: { - checkboxTitle: 'Чекбоксны шинж чанар', - radioTitle: 'Радио товчны шинж чанар', - value: 'Утга', - selected: 'Сонгогдсон' - }, - form: { - title: 'Форм шинж чанар', - menu: 'Форм шинж чанар', - action: 'Үйлдэл', - method: 'Арга', - encoding: 'Encoding' - }, - hidden: { - title: 'Нууц талбарын шинж чанар', - name: 'Нэр', - value: 'Утга' - }, - select: { - title: 'Согогч талбарын шинж чанар', - selectInfo: 'Мэдээлэл', - opAvail: 'Идвэхтэй сонголт', - value: 'Утга', - size: 'Хэмжээ', - lines: 'Мөр', - chkMulti: 'Олон зүйл зэрэг сонгохыг зөвшөөрөх', - opText: 'Тэкст', - opValue: 'Утга', - btnAdd: 'Нэмэх', - btnModify: 'Өөрчлөх', - btnUp: 'Дээш', - btnDown: 'Доош', - btnSetValue: 'Сонгогдсан утга оноох', - btnDelete: 'Устгах' - }, - textarea: { - title: 'Текст орчны шинж чанар', - cols: 'Багана', - rows: 'Мөр' - }, - textfield: { - title: 'Текст талбарын шинж чанар', - name: 'Нэр', - value: 'Утга', - charWidth: 'Тэмдэгтын өргөн', - maxChars: 'Хамгийн их тэмдэгт', - type: 'Төрөл', - typeText: 'Текст', - typePass: 'Нууц үг', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'цахим хуудасны хаяг (URL)' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ms.js b/scripts/ckeditor/plugins/forms/lang/ms.js deleted file mode 100755 index fa7e2499..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ms.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ms', { - button: { - title: 'Ciri-ciri Butang', - text: 'Teks (Nilai)', - type: 'Jenis', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Ciri-ciri Checkbox', - radioTitle: 'Ciri-ciri Butang Radio', - value: 'Nilai', - selected: 'Dipilih' - }, - form: { - title: 'Ciri-ciri Borang', - menu: 'Ciri-ciri Borang', - action: 'Tindakan borang', - method: 'Cara borang dihantar', - encoding: 'Encoding' - }, - hidden: { - title: 'Ciri-ciri Field Tersembunyi', - name: 'Nama', - value: 'Nilai' - }, - select: { - title: 'Ciri-ciri Selection Field', - selectInfo: 'Select Info', - opAvail: 'Pilihan sediada', - value: 'Nilai', - size: 'Saiz', - lines: 'garisan', - chkMulti: 'Benarkan pilihan pelbagai', - opText: 'Teks', - opValue: 'Nilai', - btnAdd: 'Tambah Pilihan', - btnModify: 'Ubah Pilihan', - btnUp: 'Naik ke atas', - btnDown: 'Turun ke bawah', - btnSetValue: 'Set sebagai nilai terpilih', - btnDelete: 'Padam' - }, - textarea: { - title: 'Ciri-ciri Textarea', - cols: 'Lajur', - rows: 'Baris' - }, - textfield: { - title: 'Ciri-ciri Text Field', - name: 'Nama', - value: 'Nilai', - charWidth: 'Lebar isian', - maxChars: 'Isian Maksimum', - type: 'Jenis', - typeText: 'Teks', - typePass: 'Kata Laluan', - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/nb.js b/scripts/ckeditor/plugins/forms/lang/nb.js deleted file mode 100755 index bc27a53e..00000000 --- a/scripts/ckeditor/plugins/forms/lang/nb.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'nb', { - button: { - title: 'Egenskaper for knapp', - text: 'Tekst (verdi)', - type: 'Type', - typeBtn: 'Knapp', - typeSbm: 'Send', - typeRst: 'Nullstill' - }, - checkboxAndRadio: { - checkboxTitle: 'Egenskaper for avmerkingsboks', - radioTitle: 'Egenskaper for alternativknapp', - value: 'Verdi', - selected: 'Valgt' - }, - form: { - title: 'Egenskaper for skjema', - menu: 'Egenskaper for skjema', - action: 'Handling', - method: 'Metode', - encoding: 'Encoding' - }, - hidden: { - title: 'Egenskaper for skjult felt', - name: 'Navn', - value: 'Verdi' - }, - select: { - title: 'Egenskaper for rullegardinliste', - selectInfo: 'Info', - opAvail: 'Tilgjenglige alternativer', - value: 'Verdi', - size: 'Størrelse', - lines: 'Linjer', - chkMulti: 'Tillat flervalg', - opText: 'Tekst', - opValue: 'Verdi', - btnAdd: 'Legg til', - btnModify: 'Endre', - btnUp: 'Opp', - btnDown: 'Ned', - btnSetValue: 'Sett som valgt', - btnDelete: 'Slett' - }, - textarea: { - title: 'Egenskaper for tekstområde', - cols: 'Kolonner', - rows: 'Rader' - }, - textfield: { - title: 'Egenskaper for tekstfelt', - name: 'Navn', - value: 'Verdi', - charWidth: 'Tegnbredde', - maxChars: 'Maks antall tegn', - type: 'Type', - typeText: 'Tekst', - typePass: 'Passord', - typeEmail: 'Epost', - typeSearch: 'Søk', - typeTel: 'Telefonnummer', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/nl.js b/scripts/ckeditor/plugins/forms/lang/nl.js deleted file mode 100755 index d524790b..00000000 --- a/scripts/ckeditor/plugins/forms/lang/nl.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'nl', { - button: { - title: 'Eigenschappen knop', - text: 'Tekst (waarde)', - type: 'Soort', - typeBtn: 'Knop', - typeSbm: 'Versturen', - typeRst: 'Leegmaken' - }, - checkboxAndRadio: { - checkboxTitle: 'Eigenschappen aanvinkvakje', - radioTitle: 'Eigenschappen selectievakje', - value: 'Waarde', - selected: 'Geselecteerd' - }, - form: { - title: 'Eigenschappen formulier', - menu: 'Eigenschappen formulier', - action: 'Actie', - method: 'Methode', - encoding: 'Codering' - }, - hidden: { - title: 'Eigenschappen verborgen veld', - name: 'Naam', - value: 'Waarde' - }, - select: { - title: 'Eigenschappen selectieveld', - selectInfo: 'Informatie', - opAvail: 'Beschikbare opties', - value: 'Waarde', - size: 'Grootte', - lines: 'Regels', - chkMulti: 'Gecombineerde selecties toestaan', - opText: 'Tekst', - opValue: 'Waarde', - btnAdd: 'Toevoegen', - btnModify: 'Wijzigen', - btnUp: 'Omhoog', - btnDown: 'Omlaag', - btnSetValue: 'Als geselecteerde waarde instellen', - btnDelete: 'Verwijderen' - }, - textarea: { - title: 'Eigenschappen tekstvak', - cols: 'Kolommen', - rows: 'Rijen' - }, - textfield: { - title: 'Eigenschappen tekstveld', - name: 'Naam', - value: 'Waarde', - charWidth: 'Breedte (tekens)', - maxChars: 'Maximum aantal tekens', - type: 'Soort', - typeText: 'Tekst', - typePass: 'Wachtwoord', - typeEmail: 'E-mail', - typeSearch: 'Zoeken', - typeTel: 'Telefoonnummer', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/no.js b/scripts/ckeditor/plugins/forms/lang/no.js deleted file mode 100755 index 163dc8f9..00000000 --- a/scripts/ckeditor/plugins/forms/lang/no.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'no', { - button: { - title: 'Egenskaper for knapp', - text: 'Tekst (verdi)', - type: 'Type', - typeBtn: 'Knapp', - typeSbm: 'Send', - typeRst: 'Nullstill' - }, - checkboxAndRadio: { - checkboxTitle: 'Egenskaper for avmerkingsboks', - radioTitle: 'Egenskaper for alternativknapp', - value: 'Verdi', - selected: 'Valgt' - }, - form: { - title: 'Egenskaper for skjema', - menu: 'Egenskaper for skjema', - action: 'Handling', - method: 'Metode', - encoding: 'Encoding' - }, - hidden: { - title: 'Egenskaper for skjult felt', - name: 'Navn', - value: 'Verdi' - }, - select: { - title: 'Egenskaper for rullegardinliste', - selectInfo: 'Info', - opAvail: 'Tilgjenglige alternativer', - value: 'Verdi', - size: 'Størrelse', - lines: 'Linjer', - chkMulti: 'Tillat flervalg', - opText: 'Tekst', - opValue: 'Verdi', - btnAdd: 'Legg til', - btnModify: 'Endre', - btnUp: 'Opp', - btnDown: 'Ned', - btnSetValue: 'Sett som valgt', - btnDelete: 'Slett' - }, - textarea: { - title: 'Egenskaper for tekstområde', - cols: 'Kolonner', - rows: 'Rader' - }, - textfield: { - title: 'Egenskaper for tekstfelt', - name: 'Navn', - value: 'Verdi', - charWidth: 'Tegnbredde', - maxChars: 'Maks antall tegn', - type: 'Type', - typeText: 'Tekst', - typePass: 'Passord', - typeEmail: 'Epost', - typeSearch: 'Søk', - typeTel: 'Telefonnummer', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/pl.js b/scripts/ckeditor/plugins/forms/lang/pl.js deleted file mode 100755 index d218dbb5..00000000 --- a/scripts/ckeditor/plugins/forms/lang/pl.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'pl', { - button: { - title: 'Właściwości przycisku', - text: 'Tekst (Wartość)', - type: 'Typ', - typeBtn: 'Przycisk', - typeSbm: 'Wyślij', - typeRst: 'Wyczyść' - }, - checkboxAndRadio: { - checkboxTitle: 'Właściwości pola wyboru (checkbox)', - radioTitle: 'Właściwości przycisku opcji (radio)', - value: 'Wartość', - selected: 'Zaznaczone' - }, - form: { - title: 'Właściwości formularza', - menu: 'Właściwości formularza', - action: 'Akcja', - method: 'Metoda', - encoding: 'Kodowanie' - }, - hidden: { - title: 'Właściwości pola ukrytego', - name: 'Nazwa', - value: 'Wartość' - }, - select: { - title: 'Właściwości listy wyboru', - selectInfo: 'Informacje', - opAvail: 'Dostępne opcje', - value: 'Wartość', - size: 'Rozmiar', - lines: 'wierszy', - chkMulti: 'Wielokrotny wybór', - opText: 'Tekst', - opValue: 'Wartość', - btnAdd: 'Dodaj', - btnModify: 'Zmień', - btnUp: 'Do góry', - btnDown: 'Do dołu', - btnSetValue: 'Ustaw jako zaznaczoną', - btnDelete: 'Usuń' - }, - textarea: { - title: 'Właściwości obszaru tekstowego', - cols: 'Liczba kolumn', - rows: 'Liczba wierszy' - }, - textfield: { - title: 'Właściwości pola tekstowego', - name: 'Nazwa', - value: 'Wartość', - charWidth: 'Szerokość w znakach', - maxChars: 'Szerokość maksymalna', - type: 'Typ', - typeText: 'Tekst', - typePass: 'Hasło', - typeEmail: 'Email', - typeSearch: 'Szukaj', - typeTel: 'Numer telefonu', - typeUrl: 'Adres URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/pt-br.js b/scripts/ckeditor/plugins/forms/lang/pt-br.js deleted file mode 100755 index 2a7b39cb..00000000 --- a/scripts/ckeditor/plugins/forms/lang/pt-br.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'pt-br', { - button: { - title: 'Formatar Botão', - text: 'Texto (Valor)', - type: 'Tipo', - typeBtn: 'Botão', - typeSbm: 'Enviar', - typeRst: 'Limpar' - }, - checkboxAndRadio: { - checkboxTitle: 'Formatar Caixa de Seleção', - radioTitle: 'Formatar Botão de Opção', - value: 'Valor', - selected: 'Selecionado' - }, - form: { - title: 'Formatar Formulário', - menu: 'Formatar Formulário', - action: 'Ação', - method: 'Método', - encoding: 'Codificação' - }, - hidden: { - title: 'Formatar Campo Oculto', - name: 'Nome', - value: 'Valor' - }, - select: { - title: 'Formatar Caixa de Listagem', - selectInfo: 'Informações', - opAvail: 'Opções disponíveis', - value: 'Valor', - size: 'Tamanho', - lines: 'linhas', - chkMulti: 'Permitir múltiplas seleções', - opText: 'Texto', - opValue: 'Valor', - btnAdd: 'Adicionar', - btnModify: 'Modificar', - btnUp: 'Para cima', - btnDown: 'Para baixo', - btnSetValue: 'Definir como selecionado', - btnDelete: 'Remover' - }, - textarea: { - title: 'Formatar Área de Texto', - cols: 'Colunas', - rows: 'Linhas' - }, - textfield: { - title: 'Formatar Caixa de Texto', - name: 'Nome', - value: 'Valor', - charWidth: 'Comprimento (em caracteres)', - maxChars: 'Número Máximo de Caracteres', - type: 'Tipo', - typeText: 'Texto', - typePass: 'Senha', - typeEmail: 'Email', - typeSearch: 'Busca', - typeTel: 'Número de Telefone', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/pt.js b/scripts/ckeditor/plugins/forms/lang/pt.js deleted file mode 100755 index 1f8e8691..00000000 --- a/scripts/ckeditor/plugins/forms/lang/pt.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'pt', { - button: { - title: 'Propriedades do Botão', - text: 'Texto (Valor)', - type: 'Tipo', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Propriedades da Caixa de Verificação', - radioTitle: 'Propriedades do Botão de Opção', - value: 'Valor', - selected: 'Seleccionado' - }, - form: { - title: 'Propriedades do Formulário', - menu: 'Propriedades do Formulário', - action: 'Acção', - method: 'Método', - encoding: 'Encoding' - }, - hidden: { - title: 'Propriedades do Campo Escondido', - name: 'Nome', - value: 'Valor' - }, - select: { - title: 'Propriedades da Caixa de Combinação', - selectInfo: 'Informação', - opAvail: 'Opções Possíveis', - value: 'Valor', - size: 'Tamanho', - lines: 'linhas', - chkMulti: 'Permitir selecções múltiplas', - opText: 'Texto', - opValue: 'Valor', - btnAdd: 'Adicionar', - btnModify: 'Modificar', - btnUp: 'Para cima', - btnDown: 'Para baixo', - btnSetValue: 'Definir um valor por defeito', - btnDelete: 'Apagar' - }, - textarea: { - title: 'Propriedades da Área de Texto', - cols: 'Colunas', - rows: 'Linhas' - }, - textfield: { - title: 'Propriedades do Campo de Texto', - name: 'Nome', - value: 'Valor', - charWidth: 'Tamanho do caracter', - maxChars: 'Nr. Máximo de Caracteres', - type: 'Tipo', - typeText: 'Texto', - typePass: 'Palavra-chave', - typeEmail: 'Email', - typeSearch: 'Pesquisar', - typeTel: 'Numero de telefone', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ro.js b/scripts/ckeditor/plugins/forms/lang/ro.js deleted file mode 100755 index a399223c..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ro.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ro', { - button: { - title: 'Proprietăţi buton', - text: 'Text (Valoare)', - type: 'Tip', - typeBtn: 'Buton', - typeSbm: 'Trimite', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Proprietăţi bifă (Checkbox)', - radioTitle: 'Proprietăţi buton radio (Radio Button)', - value: 'Valoare', - selected: 'Selectat' - }, - form: { - title: 'Proprietăţi formular (Form)', - menu: 'Proprietăţi formular (Form)', - action: 'Acţiune', - method: 'Metodă', - encoding: 'Encodare' - }, - hidden: { - title: 'Proprietăţi câmp ascuns (Hidden Field)', - name: 'Nume', - value: 'Valoare' - }, - select: { - title: 'Proprietăţi câmp selecţie (Selection Field)', - selectInfo: 'Informaţii', - opAvail: 'Opţiuni disponibile', - value: 'Valoare', - size: 'Mărime', - lines: 'linii', - chkMulti: 'Permite selecţii multiple', - opText: 'Text', - opValue: 'Valoare', - btnAdd: 'Adaugă', - btnModify: 'Modifică', - btnUp: 'Sus', - btnDown: 'Jos', - btnSetValue: 'Setează ca valoare selectată', - btnDelete: 'Şterge' - }, - textarea: { - title: 'Proprietăţi suprafaţă text (Textarea)', - cols: 'Coloane', - rows: 'Linii' - }, - textfield: { - title: 'Proprietăţi câmp text (Text Field)', - name: 'Nume', - value: 'Valoare', - charWidth: 'Lărgimea caracterului', - maxChars: 'Caractere maxime', - type: 'Tip', - typeText: 'Text', - typePass: 'Parolă', - typeEmail: 'Email', - typeSearch: 'Cauta', - typeTel: 'Numar de telefon', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ru.js b/scripts/ckeditor/plugins/forms/lang/ru.js deleted file mode 100755 index f26b36c6..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ru.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ru', { - button: { - title: 'Свойства кнопки', - text: 'Текст (Значение)', - type: 'Тип', - typeBtn: 'Кнопка', - typeSbm: 'Отправка', - typeRst: 'Сброс' - }, - checkboxAndRadio: { - checkboxTitle: 'Свойства флаговой кнопки', - radioTitle: 'Свойства кнопки выбора', - value: 'Значение', - selected: 'Выбрано' - }, - form: { - title: 'Свойства формы', - menu: 'Свойства формы', - action: 'Действие', - method: 'Метод', - encoding: 'Кодировка' - }, - hidden: { - title: 'Свойства скрытого поля', - name: 'Имя', - value: 'Значение' - }, - select: { - title: 'Свойства списка выбора', - selectInfo: 'Информация о списке выбора', - opAvail: 'Доступные варианты', - value: 'Значение', - size: 'Размер', - lines: 'строк(и)', - chkMulti: 'Разрешить выбор нескольких вариантов', - opText: 'Текст', - opValue: 'Значение', - btnAdd: 'Добавить', - btnModify: 'Изменить', - btnUp: 'Поднять', - btnDown: 'Опустить', - btnSetValue: 'Пометить как выбранное', - btnDelete: 'Удалить' - }, - textarea: { - title: 'Свойства многострочного текстового поля', - cols: 'Колонок', - rows: 'Строк' - }, - textfield: { - title: 'Свойства текстового поля', - name: 'Имя', - value: 'Значение', - charWidth: 'Ширина поля (в символах)', - maxChars: 'Макс. количество символов', - type: 'Тип содержимого', - typeText: 'Текст', - typePass: 'Пароль', - typeEmail: 'Email', - typeSearch: 'Поиск', - typeTel: 'Номер телефона', - typeUrl: 'Ссылка' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/si.js b/scripts/ckeditor/plugins/forms/lang/si.js deleted file mode 100755 index 01bf555c..00000000 --- a/scripts/ckeditor/plugins/forms/lang/si.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'si', { - button: { - title: 'බොත්තම් ගුණ', - text: 'වගන්තිය(වටිනාකම)', - type: 'වර්ගය', - typeBtn: 'බොත්තම', - typeSbm: 'යොමුකරනවා', - typeRst: 'නැවත ආරම්භකතත්වයට පත් කරනවා' - }, - checkboxAndRadio: { - checkboxTitle: 'ලකුණු කිරීමේ කොටුවේ ලක්ෂණ', - radioTitle: 'Radio Button Properties', // MISSING - value: 'Value', // MISSING - selected: 'Selected' // MISSING - }, - form: { - title: 'පෝරමයේ ', - menu: 'පෝරමයේ ගුණ/', - action: 'ගන්නා පියවර', - method: 'ක්‍රමය', - encoding: 'කේතීකරණය' - }, - hidden: { - title: 'සැඟවුණු ප්‍රදේශයේ ', - name: 'නම', - value: 'Value' // MISSING - }, - select: { - title: 'තේරීම් ප්‍රදේශයේ ', - selectInfo: 'විස්තර තෝරන්න', - opAvail: 'ඉතුරුවී ඇති වීකල්ප', - value: 'Value', // MISSING - size: 'විශාලත්වය', - lines: 'lines', // MISSING - chkMulti: 'Allow multiple selections', // MISSING - opText: 'Text', // MISSING - opValue: 'Value', // MISSING - btnAdd: 'Add', // MISSING - btnModify: 'Modify', // MISSING - btnUp: 'Up', // MISSING - btnDown: 'Down', // MISSING - btnSetValue: 'Set as selected value', // MISSING - btnDelete: 'මකා දැම්ම' - }, - textarea: { - title: 'Textarea Properties', // MISSING - cols: 'සිරස් ', - rows: 'Rows' // MISSING - }, - textfield: { - title: 'Text Field Properties', // MISSING - name: 'නම', - value: 'Value', // MISSING - charWidth: 'Character Width', // MISSING - maxChars: 'Maximum Characters', // MISSING - type: 'වර්ගය', - typeText: 'Text', // MISSING - typePass: 'Password', // MISSING - typeEmail: 'Email', // MISSING - typeSearch: 'Search', // MISSING - typeTel: 'Telephone Number', // MISSING - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/sk.js b/scripts/ckeditor/plugins/forms/lang/sk.js deleted file mode 100755 index 96c2afe2..00000000 --- a/scripts/ckeditor/plugins/forms/lang/sk.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'sk', { - button: { - title: 'Vlastnosti tlačidla', - text: 'Text (Hodnota)', - type: 'Typ', - typeBtn: 'Tlačidlo', - typeSbm: 'Odoslať', - typeRst: 'Resetovať' - }, - checkboxAndRadio: { - checkboxTitle: 'Vlastnosti zaškrtávacieho políčka', - radioTitle: 'Vlastnosti prepínača (radio button)', - value: 'Hodnota', - selected: 'Vybrané (selected)' - }, - form: { - title: 'Vlastnosti formulára', - menu: 'Vlastnosti formulára', - action: 'Akcia (action)', - method: 'Metóda (method)', - encoding: 'Kódovanie (encoding)' - }, - hidden: { - title: 'Vlastnosti skrytého poľa', - name: 'Názov (name)', - value: 'Hodnota' - }, - select: { - title: 'Vlastnosti rozbaľovacieho zoznamu', - selectInfo: 'Informácie o výbere', - opAvail: 'Dostupné možnosti', - value: 'Hodnota', - size: 'Veľkosť', - lines: 'riadkov', - chkMulti: 'Povoliť viacnásobný výber', - opText: 'Text', - opValue: 'Hodnota', - btnAdd: 'Pridať', - btnModify: 'Upraviť', - btnUp: 'Hore', - btnDown: 'Dole', - btnSetValue: 'Nastaviť ako vybranú hodnotu', - btnDelete: 'Vymazať' - }, - textarea: { - title: 'Vlastnosti textovej oblasti (textarea)', - cols: 'Stĺpcov', - rows: 'Riadkov' - }, - textfield: { - title: 'Vlastnosti textového poľa', - name: 'Názov (name)', - value: 'Hodnota', - charWidth: 'Šírka poľa (podľa znakov)', - maxChars: 'Maximálny počet znakov', - type: 'Typ', - typeText: 'Text', - typePass: 'Heslo', - typeEmail: 'Email', - typeSearch: 'Hľadať', - typeTel: 'Telefónne číslo', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/sl.js b/scripts/ckeditor/plugins/forms/lang/sl.js deleted file mode 100755 index b98680b0..00000000 --- a/scripts/ckeditor/plugins/forms/lang/sl.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'sl', { - button: { - title: 'Lastnosti gumba', - text: 'Besedilo (Vrednost)', - type: 'Tip', - typeBtn: 'Gumb', - typeSbm: 'Potrdi', - typeRst: 'Ponastavi' - }, - checkboxAndRadio: { - checkboxTitle: 'Lastnosti potrditvenega polja', - radioTitle: 'Lastnosti izbirnega polja', - value: 'Vrednost', - selected: 'Izbrano' - }, - form: { - title: 'Lastnosti obrazca', - menu: 'Lastnosti obrazca', - action: 'Akcija', - method: 'Metoda', - encoding: 'Kodiranje znakov' - }, - hidden: { - title: 'Lastnosti skritega polja', - name: 'Ime', - value: 'Vrednost' - }, - select: { - title: 'Lastnosti spustnega seznama', - selectInfo: 'Podatki', - opAvail: 'Razpoložljive izbire', - value: 'Vrednost', - size: 'Velikost', - lines: 'vrstic', - chkMulti: 'Dovoli izbor večih vrstic', - opText: 'Besedilo', - opValue: 'Vrednost', - btnAdd: 'Dodaj', - btnModify: 'Spremeni', - btnUp: 'Gor', - btnDown: 'Dol', - btnSetValue: 'Postavi kot privzeto izbiro', - btnDelete: 'Izbriši' - }, - textarea: { - title: 'Lastnosti vnosnega območja', - cols: 'Stolpcev', - rows: 'Vrstic' - }, - textfield: { - title: 'Lastnosti vnosnega polja', - name: 'Ime', - value: 'Vrednost', - charWidth: 'Dolžina', - maxChars: 'Največje število znakov', - type: 'Tip', - typeText: 'Besedilo', - typePass: 'Geslo', - typeEmail: 'E-pošta', - typeSearch: 'Iskanje', - typeTel: 'Telefonska Številka', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/sq.js b/scripts/ckeditor/plugins/forms/lang/sq.js deleted file mode 100755 index bf3e7cb8..00000000 --- a/scripts/ckeditor/plugins/forms/lang/sq.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'sq', { - button: { - title: 'Rekuizitat e Pullës', - text: 'Teskti (Vlera)', - type: 'LLoji', - typeBtn: 'Buton', - typeSbm: 'Dërgo', - typeRst: 'Rikthe' - }, - checkboxAndRadio: { - checkboxTitle: 'Rekuizitat e Kutizë Përzgjedhëse', - radioTitle: 'Rekuizitat e Pullës', - value: 'Vlera', - selected: 'Përzgjedhur' - }, - form: { - title: 'Rekuizitat e Formës', - menu: 'Rekuizitat e Formës', - action: 'Veprim', - method: 'Metoda', - encoding: 'Kodimi' - }, - hidden: { - title: 'Rekuizitat e Fushës së Fshehur', - name: 'Emër', - value: 'Vlera' - }, - select: { - title: 'Rekuizitat e Fushës së Përzgjedhur', - selectInfo: 'Përzgjidh Informacionin', - opAvail: 'Opsionet e Mundshme', - value: 'Vlera', - size: 'Madhësia', - lines: 'rreshtat', - chkMulti: 'Lejo përzgjidhje të shumëfishta', - opText: 'Teksti', - opValue: 'Vlera', - btnAdd: 'Vendos', - btnModify: 'Ndrysho', - btnUp: 'Sipër', - btnDown: 'Poshtë', - btnSetValue: 'Bëje si vlerë të përzgjedhur', - btnDelete: 'Grise' - }, - textarea: { - title: 'Rekuzitat e Fushës së Tekstit', - cols: 'Kolonat', - rows: 'Rreshtat' - }, - textfield: { - title: 'Rekuizitat e Fushës së Tekstit', - name: 'Emër', - value: 'Vlera', - charWidth: 'Gjerësia e Karakterit', - maxChars: 'Numri maksimal i karaktereve', - type: 'LLoji', - typeText: 'Teksti', - typePass: 'Fjalëkalimi', - typeEmail: 'Posta Elektronike', - typeSearch: 'Kërko', - typeTel: 'Numri i Telefonit', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/sr-latn.js b/scripts/ckeditor/plugins/forms/lang/sr-latn.js deleted file mode 100755 index f0235dbd..00000000 --- a/scripts/ckeditor/plugins/forms/lang/sr-latn.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'sr-latn', { - button: { - title: 'Osobine dugmeta', - text: 'Tekst (vrednost)', - type: 'Tip', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Osobine polja za potvrdu', - radioTitle: 'Osobine radio-dugmeta', - value: 'Vrednost', - selected: 'Označeno' - }, - form: { - title: 'Osobine forme', - menu: 'Osobine forme', - action: 'Akcija', - method: 'Metoda', - encoding: 'Encoding' - }, - hidden: { - title: 'Osobine skrivenog polja', - name: 'Naziv', - value: 'Vrednost' - }, - select: { - title: 'Osobine izbornog polja', - selectInfo: 'Info', - opAvail: 'Dostupne opcije', - value: 'Vrednost', - size: 'Veličina', - lines: 'linija', - chkMulti: 'Dozvoli višestruku selekciju', - opText: 'Tekst', - opValue: 'Vrednost', - btnAdd: 'Dodaj', - btnModify: 'Izmeni', - btnUp: 'Gore', - btnDown: 'Dole', - btnSetValue: 'Podesi kao označenu vrednost', - btnDelete: 'Obriši' - }, - textarea: { - title: 'Osobine zone teksta', - cols: 'Broj kolona', - rows: 'Broj redova' - }, - textfield: { - title: 'Osobine tekstualnog polja', - name: 'Naziv', - value: 'Vrednost', - charWidth: 'Širina (karaktera)', - maxChars: 'Maksimalno karaktera', - type: 'Tip', - typeText: 'Tekst', - typePass: 'Lozinka', - typeEmail: 'Email', - typeSearch: 'Pretraži', - typeTel: 'Broj telefona', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/sr.js b/scripts/ckeditor/plugins/forms/lang/sr.js deleted file mode 100755 index d3ef22eb..00000000 --- a/scripts/ckeditor/plugins/forms/lang/sr.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'sr', { - button: { - title: 'Особине дугмета', - text: 'Текст (вредност)', - type: 'Tип', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'Особине поља за потврду', - radioTitle: 'Особине радио-дугмета', - value: 'Вредност', - selected: 'Означено' - }, - form: { - title: 'Особине форме', - menu: 'Особине форме', - action: 'Aкција', - method: 'Mетода', - encoding: 'Encoding' - }, - hidden: { - title: 'Особине скривеног поља', - name: 'Назив', - value: 'Вредност' - }, - select: { - title: 'Особине изборног поља', - selectInfo: 'Инфо', - opAvail: 'Доступне опције', - value: 'Вредност', - size: 'Величина', - lines: 'линија', - chkMulti: 'Дозволи вишеструку селекцију', - opText: 'Текст', - opValue: 'Вредност', - btnAdd: 'Додај', - btnModify: 'Измени', - btnUp: 'Горе', - btnDown: 'Доле', - btnSetValue: 'Подеси као означену вредност', - btnDelete: 'Обриши' - }, - textarea: { - title: 'Особине зоне текста', - cols: 'Број колона', - rows: 'Број редова' - }, - textfield: { - title: 'Особине текстуалног поља', - name: 'Назив', - value: 'Вредност', - charWidth: 'Ширина (карактера)', - maxChars: 'Максимално карактера', - type: 'Тип', - typeText: 'Текст', - typePass: 'Лозинка', - typeEmail: 'Е-пошта', - typeSearch: 'Претрага', - typeTel: 'Број телефона', - typeUrl: 'УРЛ' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/sv.js b/scripts/ckeditor/plugins/forms/lang/sv.js deleted file mode 100755 index 6437e715..00000000 --- a/scripts/ckeditor/plugins/forms/lang/sv.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'sv', { - button: { - title: 'Egenskaper för knapp', - text: 'Text (värde)', - type: 'Typ', - typeBtn: 'Knapp', - typeSbm: 'Skicka', - typeRst: 'Återställ' - }, - checkboxAndRadio: { - checkboxTitle: 'Egenskaper för kryssruta', - radioTitle: 'Egenskaper för alternativknapp', - value: 'Värde', - selected: 'Vald' - }, - form: { - title: 'Egenskaper för formulär', - menu: 'Egenskaper för formulär', - action: 'Funktion', - method: 'Metod', - encoding: 'Kodning' - }, - hidden: { - title: 'Egenskaper för dolt fält', - name: 'Namn', - value: 'Värde' - }, - select: { - title: 'Egenskaper för flervalslista', - selectInfo: 'Information', - opAvail: 'Befintliga val', - value: 'Värde', - size: 'Storlek', - lines: 'Linjer', - chkMulti: 'Tillåt flerval', - opText: 'Text', - opValue: 'Värde', - btnAdd: 'Lägg till', - btnModify: 'Redigera', - btnUp: 'Upp', - btnDown: 'Ner', - btnSetValue: 'Markera som valt värde', - btnDelete: 'Radera' - }, - textarea: { - title: 'Egenskaper för textruta', - cols: 'Kolumner', - rows: 'Rader' - }, - textfield: { - title: 'Egenskaper för textfält', - name: 'Namn', - value: 'Värde', - charWidth: 'Teckenbredd', - maxChars: 'Max antal tecken', - type: 'Typ', - typeText: 'Text', - typePass: 'Lösenord', - typeEmail: 'E-post', - typeSearch: 'Sök', - typeTel: 'Telefonnummer', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/th.js b/scripts/ckeditor/plugins/forms/lang/th.js deleted file mode 100755 index e224b1d6..00000000 --- a/scripts/ckeditor/plugins/forms/lang/th.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'th', { - button: { - title: 'รายละเอียดของ ปุ่ม', - text: 'ข้อความ (ค่าตัวแปร)', - type: 'ข้อความ', - typeBtn: 'Button', - typeSbm: 'Submit', - typeRst: 'Reset' - }, - checkboxAndRadio: { - checkboxTitle: 'คุณสมบัติของ เช็คบ๊อก', - radioTitle: 'คุณสมบัติของ เรดิโอบัตตอน', - value: 'ค่าตัวแปร', - selected: 'เลือกเป็นค่าเริ่มต้น' - }, - form: { - title: 'คุณสมบัติของ แบบฟอร์ม', - menu: 'คุณสมบัติของ แบบฟอร์ม', - action: 'แอคชั่น', - method: 'เมธอด', - encoding: 'Encoding' - }, - hidden: { - title: 'คุณสมบัติของ ฮิดเดนฟิลด์', - name: 'ชื่อ', - value: 'ค่าตัวแปร' - }, - select: { - title: 'คุณสมบัติของ แถบตัวเลือก', - selectInfo: 'อินโฟ', - opAvail: 'รายการตัวเลือก', - value: 'ค่าตัวแปร', - size: 'ขนาด', - lines: 'บรรทัด', - chkMulti: 'เลือกหลายค่าได้', - opText: 'ข้อความ', - opValue: 'ค่าตัวแปร', - btnAdd: 'เพิ่ม', - btnModify: 'แก้ไข', - btnUp: 'บน', - btnDown: 'ล่าง', - btnSetValue: 'เลือกเป็นค่าเริ่มต้น', - btnDelete: 'ลบ' - }, - textarea: { - title: 'คุณสมบัติของ เท็กแอเรีย', - cols: 'สดมภ์', - rows: 'แถว' - }, - textfield: { - title: 'คุณสมบัติของ เท็กซ์ฟิลด์', - name: 'ชื่อ', - value: 'ค่าตัวแปร', - charWidth: 'ความกว้าง', - maxChars: 'จำนวนตัวอักษรสูงสุด', - type: 'ชนิด', - typeText: 'ข้อความ', - typePass: 'รหัสผ่าน', - typeEmail: 'อีเมล', - typeSearch: 'ค้นหาก', - typeTel: 'หมายเลขโทรศัพท์', - typeUrl: 'ที่อยู่อ้างอิง URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/tr.js b/scripts/ckeditor/plugins/forms/lang/tr.js deleted file mode 100755 index 5cb7eeb3..00000000 --- a/scripts/ckeditor/plugins/forms/lang/tr.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'tr', { - button: { - title: 'Düğme Özellikleri', - text: 'Metin (Değer)', - type: 'Tip', - typeBtn: 'Düğme', - typeSbm: 'Gönder', - typeRst: 'Sıfırla' - }, - checkboxAndRadio: { - checkboxTitle: 'Onay Kutusu Özellikleri', - radioTitle: 'Seçenek Düğmesi Özellikleri', - value: 'Değer', - selected: 'Seçili' - }, - form: { - title: 'Form Özellikleri', - menu: 'Form Özellikleri', - action: 'İşlem', - method: 'Yöntem', - encoding: 'Kodlama' - }, - hidden: { - title: 'Gizli Veri Özellikleri', - name: 'Ad', - value: 'Değer' - }, - select: { - title: 'Seçim Menüsü Özellikleri', - selectInfo: 'Bilgi', - opAvail: 'Mevcut Seçenekler', - value: 'Değer', - size: 'Boyut', - lines: 'satır', - chkMulti: 'Çoklu seçime izin ver', - opText: 'Metin', - opValue: 'Değer', - btnAdd: 'Ekle', - btnModify: 'Düzenle', - btnUp: 'Yukarı', - btnDown: 'Aşağı', - btnSetValue: 'Seçili değer olarak ata', - btnDelete: 'Sil' - }, - textarea: { - title: 'Çok Satırlı Metin Özellikleri', - cols: 'Sütunlar', - rows: 'Satırlar' - }, - textfield: { - title: 'Metin Girişi Özellikleri', - name: 'Ad', - value: 'Değer', - charWidth: 'Karakter Genişliği', - maxChars: 'En Fazla Karakter', - type: 'Tür', - typeText: 'Metin', - typePass: 'Şifre', - typeEmail: 'E-posta', - typeSearch: 'Ara', - typeTel: 'Telefon Numarası', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/tt.js b/scripts/ckeditor/plugins/forms/lang/tt.js deleted file mode 100755 index 9d5a4d7f..00000000 --- a/scripts/ckeditor/plugins/forms/lang/tt.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'tt', { - button: { - title: 'Төймә үзлекләре', - text: 'Text (Value)', // MISSING - type: 'Төр', - typeBtn: 'Төймә', - typeSbm: 'Submit', // MISSING - typeRst: 'Reset' // MISSING - }, - checkboxAndRadio: { - checkboxTitle: 'Checkbox Properties', // MISSING - radioTitle: 'Radio Button Properties', // MISSING - value: 'Value', // MISSING - selected: 'Сайланган' - }, - form: { - title: 'Форма үзлекләре', - menu: 'Форма үзлекләре', - action: 'Гамәл', - method: 'Ысул', - encoding: 'Кодировка' - }, - hidden: { - title: 'Яшерен кыр үзлекләре', - name: 'Исем', - value: 'Күләм' - }, - select: { - title: 'Selection Field Properties', // MISSING - selectInfo: 'Select Info', // MISSING - opAvail: 'Available Options', // MISSING - value: 'Күләм', - size: 'Зурлык', - lines: 'юллар', - chkMulti: 'Allow multiple selections', // MISSING - opText: 'Текст', - opValue: 'Күләм', - btnAdd: 'Кушу', - btnModify: 'Үзгәртү', - btnUp: 'Өскә', - btnDown: 'Аска', - btnSetValue: 'Set as selected value', // MISSING - btnDelete: 'Бетерү' - }, - textarea: { - title: 'Текст мәйданы үзлекләре', - cols: 'Баганалар', - rows: 'Юллар' - }, - textfield: { - title: 'Текст кыры үзлекләре', - name: 'Исем', - value: 'Күләм', - charWidth: 'Символлар киңлеге', - maxChars: 'Maximum Characters', // MISSING - type: 'Төр', - typeText: 'Текст', - typePass: 'Сер сүз', - typeEmail: 'Эл. почта', - typeSearch: 'Эзләү', - typeTel: 'Телефон номеры', - typeUrl: 'Сылталама' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/ug.js b/scripts/ckeditor/plugins/forms/lang/ug.js deleted file mode 100755 index 3da35901..00000000 --- a/scripts/ckeditor/plugins/forms/lang/ug.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'ug', { - button: { - title: 'توپچا خاسلىقى', - text: 'بەلگە (قىممەت)', - type: 'تىپى', - typeBtn: 'توپچا', - typeSbm: 'تاپشۇر', - typeRst: 'ئەسلىگە قايتۇر' - }, - checkboxAndRadio: { - checkboxTitle: 'كۆپ تاللاش خاسلىقى', - radioTitle: 'تاق تاللاش توپچا خاسلىقى', - value: 'تاللىغان قىممەت', - selected: 'تاللانغان' - }, - form: { - title: 'جەدۋەل خاسلىقى', - menu: 'جەدۋەل خاسلىقى', - action: 'مەشغۇلات', - method: 'ئۇسۇل', - encoding: 'جەدۋەل كودلىنىشى' - }, - hidden: { - title: 'يوشۇرۇن دائىرە خاسلىقى', - name: 'ئات', - value: 'دەسلەپكى قىممىتى' - }, - select: { - title: 'جەدۋەل/تىزىم خاسلىقى', - selectInfo: 'ئۇچۇر تاللاڭ', - opAvail: 'تاللاش تۈرلىرى', - value: 'قىممەت', - size: 'ئېگىزلىكى', - lines: 'قۇر', - chkMulti: 'كۆپ تاللاشچان', - opText: 'تاللانما تېكىستى', - opValue: 'تاللانما قىممىتى', - btnAdd: 'قوش', - btnModify: 'ئۆزگەرت', - btnUp: 'ئۈستىگە', - btnDown: 'ئاستىغا', - btnSetValue: 'دەسلەپكى تاللانما قىممىتىگە تەڭشە', - btnDelete: 'ئۆچۈر' - }, - textarea: { - title: ' كۆپ قۇرلۇق تېكىست خاسلىقى', - cols: 'ھەرپ كەڭلىكى', - rows: 'قۇر سانى' - }, - textfield: { - title: 'تاق قۇرلۇق تېكىست خاسلىقى', - name: 'ئات', - value: 'دەسلەپكى قىممىتى', - charWidth: 'ھەرپ كەڭلىكى', - maxChars: 'ئەڭ كۆپ ھەرپ سانى', - type: 'تىپى', - typeText: 'تېكىست', - typePass: 'ئىم', - typeEmail: 'تورخەت', - typeSearch: 'ئىزدە', - typeTel: 'تېلېفون نومۇر', - typeUrl: 'ئادرېس' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/uk.js b/scripts/ckeditor/plugins/forms/lang/uk.js deleted file mode 100755 index fd2de8ce..00000000 --- a/scripts/ckeditor/plugins/forms/lang/uk.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'uk', { - button: { - title: 'Властивості кнопки', - text: 'Значення', - type: 'Тип', - typeBtn: 'Кнопка (button)', - typeSbm: 'Надіслати (submit)', - typeRst: 'Очистити (reset)' - }, - checkboxAndRadio: { - checkboxTitle: 'Властивості галочки', - radioTitle: 'Властивості кнопки вибору', - value: 'Значення', - selected: 'Обрана' - }, - form: { - title: 'Властивості форми', - menu: 'Властивості форми', - action: 'Дія', - method: 'Метод', - encoding: 'Кодування' - }, - hidden: { - title: 'Властивості прихованого поля', - name: 'Ім\'я', - value: 'Значення' - }, - select: { - title: 'Властивості списку', - selectInfo: 'Інфо', - opAvail: 'Доступні варіанти', - value: 'Значення', - size: 'Кількість', - lines: 'видимих позицій у списку', - chkMulti: 'Список з мультивибором', - opText: 'Текст', - opValue: 'Значення', - btnAdd: 'Добавити', - btnModify: 'Змінити', - btnUp: 'Вгору', - btnDown: 'Вниз', - btnSetValue: 'Встановити як обране значення', - btnDelete: 'Видалити' - }, - textarea: { - title: 'Властивості текстової області', - cols: 'Стовбці', - rows: 'Рядки' - }, - textfield: { - title: 'Властивості текстового поля', - name: 'Ім\'я', - value: 'Значення', - charWidth: 'Ширина', - maxChars: 'Макс. к-ть символів', - type: 'Тип', - typeText: 'Текст', - typePass: 'Пароль', - typeEmail: 'Пошта', - typeSearch: 'Пошук', - typeTel: 'Мобільний', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/vi.js b/scripts/ckeditor/plugins/forms/lang/vi.js deleted file mode 100755 index 59fd5dd5..00000000 --- a/scripts/ckeditor/plugins/forms/lang/vi.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'vi', { - button: { - title: 'Thuộc tính của nút', - text: 'Chuỗi hiển thị (giá trị)', - type: 'Kiểu', - typeBtn: 'Nút bấm', - typeSbm: 'Nút gửi', - typeRst: 'Nút nhập lại' - }, - checkboxAndRadio: { - checkboxTitle: 'Thuộc tính nút kiểm', - radioTitle: 'Thuộc tính nút chọn', - value: 'Giá trị', - selected: 'Được chọn' - }, - form: { - title: 'Thuộc tính biểu mẫu', - menu: 'Thuộc tính biểu mẫu', - action: 'Hành động', - method: 'Phương thức', - encoding: 'Bảng mã' - }, - hidden: { - title: 'Thuộc tính trường ẩn', - name: 'Tên', - value: 'Giá trị' - }, - select: { - title: 'Thuộc tính ô chọn', - selectInfo: 'Thông tin', - opAvail: 'Các tùy chọn có thể sử dụng', - value: 'Giá trị', - size: 'Kích cỡ', - lines: 'dòng', - chkMulti: 'Cho phép chọn nhiều', - opText: 'Văn bản', - opValue: 'Giá trị', - btnAdd: 'Thêm', - btnModify: 'Thay đổi', - btnUp: 'Lên', - btnDown: 'Xuống', - btnSetValue: 'Giá trị được chọn', - btnDelete: 'Nút xoá' - }, - textarea: { - title: 'Thuộc tính vùng văn bản', - cols: 'Số cột', - rows: 'Số hàng' - }, - textfield: { - title: 'Thuộc tính trường văn bản', - name: 'Tên', - value: 'Giá trị', - charWidth: 'Độ rộng của ký tự', - maxChars: 'Số ký tự tối đa', - type: 'Kiểu', - typeText: 'Ký tự', - typePass: 'Mật khẩu', - typeEmail: 'Email', - typeSearch: 'Tìm kiếm', - typeTel: 'Số điện thoại', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/zh-cn.js b/scripts/ckeditor/plugins/forms/lang/zh-cn.js deleted file mode 100755 index 04d14886..00000000 --- a/scripts/ckeditor/plugins/forms/lang/zh-cn.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'zh-cn', { - button: { - title: '按钮属性', - text: '标签(值)', - type: '类型', - typeBtn: '按钮', - typeSbm: '提交', - typeRst: '重设' - }, - checkboxAndRadio: { - checkboxTitle: '复选框属性', - radioTitle: '单选按钮属性', - value: '选定值', - selected: '已勾选' - }, - form: { - title: '表单属性', - menu: '表单属性', - action: '动作', - method: '方法', - encoding: '表单编码' - }, - hidden: { - title: '隐藏域属性', - name: '名称', - value: '初始值' - }, - select: { - title: '菜单/列表属性', - selectInfo: '选择信息', - opAvail: '可选项', - value: '值', - size: '高度', - lines: '行', - chkMulti: '允许多选', - opText: '选项文本', - opValue: '选项值', - btnAdd: '添加', - btnModify: '修改', - btnUp: '上移', - btnDown: '下移', - btnSetValue: '设为初始选定', - btnDelete: '删除' - }, - textarea: { - title: '多行文本属性', - cols: '字符宽度', - rows: '行数' - }, - textfield: { - title: '单行文本属性', - name: '名称', - value: '初始值', - charWidth: '字符宽度', - maxChars: '最多字符数', - type: '类型', - typeText: '文本', - typePass: '密码', - typeEmail: 'Email', - typeSearch: '搜索', - typeTel: '电话号码', - typeUrl: '地址' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/lang/zh.js b/scripts/ckeditor/plugins/forms/lang/zh.js deleted file mode 100755 index 75c79c0c..00000000 --- a/scripts/ckeditor/plugins/forms/lang/zh.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'forms', 'zh', { - button: { - title: '按鈕內容', - text: '顯示文字 (值)', - type: '類型', - typeBtn: '按鈕', - typeSbm: '送出', - typeRst: '重設' - }, - checkboxAndRadio: { - checkboxTitle: '核取方塊內容', - radioTitle: '選項按鈕內容', - value: '數值', - selected: '已選' - }, - form: { - title: '表單內容', - menu: '表單內容', - action: '動作', - method: '方式', - encoding: '編碼' - }, - hidden: { - title: '隱藏欄位內容', - name: '名稱', - value: '數值' - }, - select: { - title: '選取欄位內容', - selectInfo: '選擇資訊', - opAvail: '可用選項', - value: '數值', - size: '大小', - lines: '行數', - chkMulti: '允許多選', - opText: '文字', - opValue: '數值', - btnAdd: '新增', - btnModify: '修改', - btnUp: '向上', - btnDown: '向下', - btnSetValue: '設為已選', - btnDelete: '刪除' - }, - textarea: { - title: '文字區域內容', - cols: '列', - rows: '行' - }, - textfield: { - title: '文字欄位內容', - name: '名字', - value: '數值', - charWidth: '字元寬度', - maxChars: '最大字元數', - type: '類型', - typeText: '文字', - typePass: '密碼', - typeEmail: '電子郵件', - typeSearch: '搜尋', - typeTel: '電話號碼', - typeUrl: 'URL' - } -} ); diff --git a/scripts/ckeditor/plugins/forms/plugin.js b/scripts/ckeditor/plugins/forms/plugin.js deleted file mode 100755 index 1bf5bf75..00000000 --- a/scripts/ckeditor/plugins/forms/plugin.js +++ /dev/null @@ -1,277 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Forms Plugin - */ - -CKEDITOR.plugins.add( 'forms', { - requires: 'dialog,fakeobjects', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'button,checkbox,form,hiddenfield,imagebutton,radio,select,select-rtl,textarea,textarea-rtl,textfield', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - onLoad: function() { - CKEDITOR.addCss( '.cke_editable form' + - '{' + - 'border: 1px dotted #FF0000;' + - 'padding: 2px;' + - '}\n' ); - - CKEDITOR.addCss( 'img.cke_hidden' + - '{' + - 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/hiddenfield.gif' ) + ');' + - 'background-position: center center;' + - 'background-repeat: no-repeat;' + - 'border: 1px solid #a9a9a9;' + - 'width: 16px !important;' + - 'height: 16px !important;' + - '}' ); - - }, - init: function( editor ) { - var lang = editor.lang, - order = 0, - textfieldTypes = { email: 1, password: 1, search: 1, tel: 1, text: 1, url: 1 }, - allowedContent = { - checkbox: 'input[type,name,checked]', - radio: 'input[type,name,checked]', - textfield: 'input[type,name,value,size,maxlength]', - textarea: 'textarea[cols,rows,name]', - select: 'select[name,size,multiple]; option[value,selected]', - button: 'input[type,name,value]', - form: 'form[action,name,id,enctype,target,method]', - hiddenfield: 'input[type,name,value]', - imagebutton: 'input[type,alt,src]{width,height,border,border-width,border-style,margin,float}' - }, - requiredContent = { - checkbox: 'input', - radio: 'input', - textfield: 'input', - textarea: 'textarea', - select: 'select', - button: 'input', - form: 'form', - hiddenfield: 'input', - imagebutton: 'input' - }; - - // All buttons use the same code to register. So, to avoid - // duplications, let's use this tool function. - var addButtonCommand = function( buttonName, commandName, dialogFile ) { - var def = { - allowedContent: allowedContent[ commandName ], - requiredContent: requiredContent[ commandName ] - }; - commandName == 'form' && ( def.context = 'form' ); - - editor.addCommand( commandName, new CKEDITOR.dialogCommand( commandName, def ) ); - - editor.ui.addButton && editor.ui.addButton( buttonName, { - label: lang.common[ buttonName.charAt( 0 ).toLowerCase() + buttonName.slice( 1 ) ], - command: commandName, - toolbar: 'forms,' + ( order += 10 ) - } ); - CKEDITOR.dialog.add( commandName, dialogFile ); - }; - - var dialogPath = this.path + 'dialogs/'; - !editor.blockless && addButtonCommand( 'Form', 'form', dialogPath + 'form.js' ); - addButtonCommand( 'Checkbox', 'checkbox', dialogPath + 'checkbox.js' ); - addButtonCommand( 'Radio', 'radio', dialogPath + 'radio.js' ); - addButtonCommand( 'TextField', 'textfield', dialogPath + 'textfield.js' ); - addButtonCommand( 'Textarea', 'textarea', dialogPath + 'textarea.js' ); - addButtonCommand( 'Select', 'select', dialogPath + 'select.js' ); - addButtonCommand( 'Button', 'button', dialogPath + 'button.js' ); - - var imagePlugin = editor.plugins.image; - - // Since Image plugin is disabled when Image2 is to be loaded, - // ImageButton also got to be off (#11222). - if ( imagePlugin && !editor.plugins.image2 ) - addButtonCommand( 'ImageButton', 'imagebutton', CKEDITOR.plugins.getPath( 'image' ) + 'dialogs/image.js' ); - - addButtonCommand( 'HiddenField', 'hiddenfield', dialogPath + 'hiddenfield.js' ); - - // If the "menu" plugin is loaded, register the menu items. - if ( editor.addMenuItems ) { - var items = { - checkbox: { - label: lang.forms.checkboxAndRadio.checkboxTitle, - command: 'checkbox', - group: 'checkbox' - }, - - radio: { - label: lang.forms.checkboxAndRadio.radioTitle, - command: 'radio', - group: 'radio' - }, - - textfield: { - label: lang.forms.textfield.title, - command: 'textfield', - group: 'textfield' - }, - - hiddenfield: { - label: lang.forms.hidden.title, - command: 'hiddenfield', - group: 'hiddenfield' - }, - - button: { - label: lang.forms.button.title, - command: 'button', - group: 'button' - }, - - select: { - label: lang.forms.select.title, - command: 'select', - group: 'select' - }, - - textarea: { - label: lang.forms.textarea.title, - command: 'textarea', - group: 'textarea' - } - }; - - if ( imagePlugin ) { - items.imagebutton = { - label: lang.image.titleButton, - command: 'imagebutton', - group: 'imagebutton' - }; - } - - !editor.blockless && ( items.form = { - label: lang.forms.form.menu, - command: 'form', - group: 'form' - } ); - - editor.addMenuItems( items ); - - } - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - !editor.blockless && editor.contextMenu.addListener( function( element, selection, path ) { - var form = path.contains( 'form', 1 ); - if ( form && !form.isReadOnly() ) - return { form: CKEDITOR.TRISTATE_OFF }; - } ); - - editor.contextMenu.addListener( function( element ) { - if ( element && !element.isReadOnly() ) { - var name = element.getName(); - - if ( name == 'select' ) - return { select: CKEDITOR.TRISTATE_OFF }; - - if ( name == 'textarea' ) - return { textarea: CKEDITOR.TRISTATE_OFF }; - - if ( name == 'input' ) { - var type = element.getAttribute( 'type' ) || 'text'; - switch ( type ) { - case 'button': - case 'submit': - case 'reset': - return { button: CKEDITOR.TRISTATE_OFF }; - - case 'checkbox': - return { checkbox: CKEDITOR.TRISTATE_OFF }; - - case 'radio': - return { radio: CKEDITOR.TRISTATE_OFF }; - - case 'image': - return imagePlugin ? { imagebutton: CKEDITOR.TRISTATE_OFF } : null; - } - - if ( textfieldTypes[ type ] ) - return { textfield: CKEDITOR.TRISTATE_OFF }; - } - - if ( name == 'img' && element.data( 'cke-real-element-type' ) == 'hiddenfield' ) - return { hiddenfield: CKEDITOR.TRISTATE_OFF }; - } - } ); - } - - editor.on( 'doubleclick', function( evt ) { - var element = evt.data.element; - - if ( !editor.blockless && element.is( 'form' ) ) - evt.data.dialog = 'form'; - else if ( element.is( 'select' ) ) - evt.data.dialog = 'select'; - else if ( element.is( 'textarea' ) ) - evt.data.dialog = 'textarea'; - else if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'hiddenfield' ) - evt.data.dialog = 'hiddenfield'; - else if ( element.is( 'input' ) ) { - var type = element.getAttribute( 'type' ) || 'text'; - switch ( type ) { - case 'button': - case 'submit': - case 'reset': - evt.data.dialog = 'button'; - break; - case 'checkbox': - evt.data.dialog = 'checkbox'; - break; - case 'radio': - evt.data.dialog = 'radio'; - break; - case 'image': - evt.data.dialog = 'imagebutton'; - break; - } - if ( textfieldTypes[ type ] ) - evt.data.dialog = 'textfield'; - } - } ); - }, - - afterInit: function( editor ) { - var dataProcessor = editor.dataProcessor, - htmlFilter = dataProcessor && dataProcessor.htmlFilter, - dataFilter = dataProcessor && dataProcessor.dataFilter; - - // Cleanup certain IE form elements default values. - // Note: Inputs are marked with contenteditable=false flags, so filters for them - // need to be applied to non-editable content as well. - if ( CKEDITOR.env.ie ) { - htmlFilter && htmlFilter.addRules( { - elements: { - input: function( input ) { - var attrs = input.attributes, - type = attrs.type; - // Old IEs don't provide type for Text inputs #5522 - if ( !type ) - attrs.type = 'text'; - if ( type == 'checkbox' || type == 'radio' ) - attrs.value == 'on' && delete attrs.value; - } - } - }, { applyToAll: true } ); - } - - if ( dataFilter ) { - dataFilter.addRules( { - elements: { - input: function( element ) { - if ( element.attributes.type == 'hidden' ) - return editor.createFakeParserElement( element, 'cke_hidden', 'hiddenfield' ); - } - } - }, { applyToAll: true } ); - } - } -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/icons/hidpi/horizontalrule.png b/scripts/ckeditor/plugins/horizontalrule/icons/hidpi/horizontalrule.png deleted file mode 100755 index 433613da..00000000 Binary files a/scripts/ckeditor/plugins/horizontalrule/icons/hidpi/horizontalrule.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/horizontalrule/icons/horizontalrule.png b/scripts/ckeditor/plugins/horizontalrule/icons/horizontalrule.png deleted file mode 100755 index 4af9bc8e..00000000 Binary files a/scripts/ckeditor/plugins/horizontalrule/icons/horizontalrule.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/af.js b/scripts/ckeditor/plugins/horizontalrule/lang/af.js deleted file mode 100755 index 5a0b018d..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/af.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'af', { - toolbar: 'Horisontale lyn invoeg' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ar.js b/scripts/ckeditor/plugins/horizontalrule/lang/ar.js deleted file mode 100755 index d5832c83..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ar.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ar', { - toolbar: 'خط فاصل' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/bg.js b/scripts/ckeditor/plugins/horizontalrule/lang/bg.js deleted file mode 100755 index 2dd01fcf..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/bg.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'bg', { - toolbar: 'Вмъкване на хоризонтална линия' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/bn.js b/scripts/ckeditor/plugins/horizontalrule/lang/bn.js deleted file mode 100755 index 4b28409e..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/bn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'bn', { - toolbar: 'রেখা যুক্ত কর' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/bs.js b/scripts/ckeditor/plugins/horizontalrule/lang/bs.js deleted file mode 100755 index 5af008f2..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/bs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'bs', { - toolbar: 'Ubaci horizontalnu liniju' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ca.js b/scripts/ckeditor/plugins/horizontalrule/lang/ca.js deleted file mode 100755 index 8b747425..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ca', { - toolbar: 'Insereix línia horitzontal' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/cs.js b/scripts/ckeditor/plugins/horizontalrule/lang/cs.js deleted file mode 100755 index e81ce1fb..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/cs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'cs', { - toolbar: 'Vložit vodorovnou linku' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/cy.js b/scripts/ckeditor/plugins/horizontalrule/lang/cy.js deleted file mode 100755 index 0ff0e8ad..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/cy.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'cy', { - toolbar: 'Mewnosod Llinell Lorweddol' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/da.js b/scripts/ckeditor/plugins/horizontalrule/lang/da.js deleted file mode 100755 index 2b3a408d..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/da.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'da', { - toolbar: 'Indsæt vandret streg' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/de.js b/scripts/ckeditor/plugins/horizontalrule/lang/de.js deleted file mode 100755 index 45b06d95..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/de.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'de', { - toolbar: 'Horizontale Linie einfügen' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/el.js b/scripts/ckeditor/plugins/horizontalrule/lang/el.js deleted file mode 100755 index 7074f0f5..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/el.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'el', { - toolbar: 'Εισαγωγή Οριζόντιας Γραμμής' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/en-au.js b/scripts/ckeditor/plugins/horizontalrule/lang/en-au.js deleted file mode 100755 index e4529a95..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/en-au.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'en-au', { - toolbar: 'Insert Horizontal Line' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/en-ca.js b/scripts/ckeditor/plugins/horizontalrule/lang/en-ca.js deleted file mode 100755 index 40c06dc1..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/en-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'en-ca', { - toolbar: 'Insert Horizontal Line' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/en-gb.js b/scripts/ckeditor/plugins/horizontalrule/lang/en-gb.js deleted file mode 100755 index c24c70f4..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/en-gb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'en-gb', { - toolbar: 'Insert Horizontal Line' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/en.js b/scripts/ckeditor/plugins/horizontalrule/lang/en.js deleted file mode 100755 index 16728674..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/en.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'en', { - toolbar: 'Insert Horizontal Line' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/eo.js b/scripts/ckeditor/plugins/horizontalrule/lang/eo.js deleted file mode 100755 index 65ec9b75..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/eo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'eo', { - toolbar: 'Enmeti Horizontalan Linion' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/es.js b/scripts/ckeditor/plugins/horizontalrule/lang/es.js deleted file mode 100755 index ed90f633..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/es.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'es', { - toolbar: 'Insertar Línea Horizontal' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/et.js b/scripts/ckeditor/plugins/horizontalrule/lang/et.js deleted file mode 100755 index 2081ee4f..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/et.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'et', { - toolbar: 'Horisontaaljoone sisestamine' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/eu.js b/scripts/ckeditor/plugins/horizontalrule/lang/eu.js deleted file mode 100755 index 651b9f54..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/eu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'eu', { - toolbar: 'Txertatu Marra Horizontala' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/fa.js b/scripts/ckeditor/plugins/horizontalrule/lang/fa.js deleted file mode 100755 index cae6230e..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/fa.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'fa', { - toolbar: 'گنجاندن خط افقی' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/fi.js b/scripts/ckeditor/plugins/horizontalrule/lang/fi.js deleted file mode 100755 index ed96c079..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'fi', { - toolbar: 'Lisää murtoviiva' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/fo.js b/scripts/ckeditor/plugins/horizontalrule/lang/fo.js deleted file mode 100755 index 5851b998..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/fo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'fo', { - toolbar: 'Ger vatnrætta linju' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/fr-ca.js b/scripts/ckeditor/plugins/horizontalrule/lang/fr-ca.js deleted file mode 100755 index 8738357f..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/fr-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'fr-ca', { - toolbar: 'Insérer un séparateur horizontale' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/fr.js b/scripts/ckeditor/plugins/horizontalrule/lang/fr.js deleted file mode 100755 index e80dd070..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/fr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'fr', { - toolbar: 'Ligne horizontale' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/gl.js b/scripts/ckeditor/plugins/horizontalrule/lang/gl.js deleted file mode 100755 index cdfbd8aa..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/gl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'gl', { - toolbar: 'Inserir unha liña horizontal' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/gu.js b/scripts/ckeditor/plugins/horizontalrule/lang/gu.js deleted file mode 100755 index 8baf036d..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/gu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'gu', { - toolbar: 'સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/he.js b/scripts/ckeditor/plugins/horizontalrule/lang/he.js deleted file mode 100755 index 1bcbbf56..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/he.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'he', { - toolbar: 'הוספת קו אופקי' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/hi.js b/scripts/ckeditor/plugins/horizontalrule/lang/hi.js deleted file mode 100755 index e27de1e2..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/hi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'hi', { - toolbar: 'हॉरिज़ॉन्टल रेखा इन्सर्ट करें' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/hr.js b/scripts/ckeditor/plugins/horizontalrule/lang/hr.js deleted file mode 100755 index 44784e23..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/hr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'hr', { - toolbar: 'Ubaci vodoravnu liniju' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/hu.js b/scripts/ckeditor/plugins/horizontalrule/lang/hu.js deleted file mode 100755 index 8feb37d6..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/hu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'hu', { - toolbar: 'Elválasztóvonal beillesztése' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/id.js b/scripts/ckeditor/plugins/horizontalrule/lang/id.js deleted file mode 100755 index 5d42a935..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/id.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'id', { - toolbar: 'Sisip Garis Horisontal' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/is.js b/scripts/ckeditor/plugins/horizontalrule/lang/is.js deleted file mode 100755 index 80289c2f..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/is.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'is', { - toolbar: 'Lóðrétt lína' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/it.js b/scripts/ckeditor/plugins/horizontalrule/lang/it.js deleted file mode 100755 index bd963927..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/it.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'it', { - toolbar: 'Inserisci riga orizzontale' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ja.js b/scripts/ckeditor/plugins/horizontalrule/lang/ja.js deleted file mode 100755 index a1e4e1ae..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ja', { - toolbar: '水平線' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ka.js b/scripts/ckeditor/plugins/horizontalrule/lang/ka.js deleted file mode 100755 index 6743fa27..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ka.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ka', { - toolbar: 'ჰორიზონტალური ხაზის ჩასმა' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/km.js b/scripts/ckeditor/plugins/horizontalrule/lang/km.js deleted file mode 100755 index eb16f9f3..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/km.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'km', { - toolbar: 'បន្ថែមបន្ទាត់ផ្តេក' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ko.js b/scripts/ckeditor/plugins/horizontalrule/lang/ko.js deleted file mode 100755 index ed79c7d0..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ko.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ko', { - toolbar: '수평선 삽입' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ku.js b/scripts/ckeditor/plugins/horizontalrule/lang/ku.js deleted file mode 100755 index 368a4745..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ku.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ku', { - toolbar: 'دانانی هێلی ئاسۆیی' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/lt.js b/scripts/ckeditor/plugins/horizontalrule/lang/lt.js deleted file mode 100755 index 6af97538..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/lt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'lt', { - toolbar: 'Įterpti horizontalią liniją' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/lv.js b/scripts/ckeditor/plugins/horizontalrule/lang/lv.js deleted file mode 100755 index 120aca31..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/lv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'lv', { - toolbar: 'Ievietot horizontālu Atdalītājsvītru' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/mk.js b/scripts/ckeditor/plugins/horizontalrule/lang/mk.js deleted file mode 100755 index 7c073a1e..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/mk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'mk', { - toolbar: 'Insert Horizontal Line' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/mn.js b/scripts/ckeditor/plugins/horizontalrule/lang/mn.js deleted file mode 100755 index 8f716c08..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/mn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'mn', { - toolbar: 'Хөндлөн зураас оруулах' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ms.js b/scripts/ckeditor/plugins/horizontalrule/lang/ms.js deleted file mode 100755 index d7292907..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ms.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ms', { - toolbar: 'Masukkan Garisan Membujur' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/nb.js b/scripts/ckeditor/plugins/horizontalrule/lang/nb.js deleted file mode 100755 index 73e556a0..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/nb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'nb', { - toolbar: 'Sett inn horisontal linje' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/nl.js b/scripts/ckeditor/plugins/horizontalrule/lang/nl.js deleted file mode 100755 index e7e6aac3..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/nl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'nl', { - toolbar: 'Horizontale lijn invoegen' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/no.js b/scripts/ckeditor/plugins/horizontalrule/lang/no.js deleted file mode 100755 index 41c7f0c3..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/no.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'no', { - toolbar: 'Sett inn horisontal linje' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/pl.js b/scripts/ckeditor/plugins/horizontalrule/lang/pl.js deleted file mode 100755 index 33972518..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/pl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'pl', { - toolbar: 'Wstaw poziomą linię' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/pt-br.js b/scripts/ckeditor/plugins/horizontalrule/lang/pt-br.js deleted file mode 100755 index 5bcc1654..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/pt-br.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'pt-br', { - toolbar: 'Inserir Linha Horizontal' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/pt.js b/scripts/ckeditor/plugins/horizontalrule/lang/pt.js deleted file mode 100755 index 33cc934d..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/pt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'pt', { - toolbar: 'Inserir Linha Horizontal' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ro.js b/scripts/ckeditor/plugins/horizontalrule/lang/ro.js deleted file mode 100755 index 6e47fe1f..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ro.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ro', { - toolbar: 'Inserează linie orizontală' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ru.js b/scripts/ckeditor/plugins/horizontalrule/lang/ru.js deleted file mode 100755 index 31194521..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ru.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ru', { - toolbar: 'Вставить горизонтальную линию' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/si.js b/scripts/ckeditor/plugins/horizontalrule/lang/si.js deleted file mode 100755 index d0b448aa..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/si.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'si', { - toolbar: 'තිරස් රේඛාවක් ඇතුලත් කරන්න' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/sk.js b/scripts/ckeditor/plugins/horizontalrule/lang/sk.js deleted file mode 100755 index a055b984..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'sk', { - toolbar: 'Vložiť vodorovnú čiaru' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/sl.js b/scripts/ckeditor/plugins/horizontalrule/lang/sl.js deleted file mode 100755 index 309303dd..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/sl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'sl', { - toolbar: 'Vstavi vodoravno črto' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/sq.js b/scripts/ckeditor/plugins/horizontalrule/lang/sq.js deleted file mode 100755 index 240f3ae1..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/sq.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'sq', { - toolbar: 'Vendos Vijë Horizontale' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/sr-latn.js b/scripts/ckeditor/plugins/horizontalrule/lang/sr-latn.js deleted file mode 100755 index 08986d8b..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/sr-latn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'sr-latn', { - toolbar: 'Unesi horizontalnu liniju' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/sr.js b/scripts/ckeditor/plugins/horizontalrule/lang/sr.js deleted file mode 100755 index f649324b..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/sr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'sr', { - toolbar: 'Унеси хоризонталну линију' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/sv.js b/scripts/ckeditor/plugins/horizontalrule/lang/sv.js deleted file mode 100755 index 43fba5ac..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/sv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'sv', { - toolbar: 'Infoga horisontal linje' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/th.js b/scripts/ckeditor/plugins/horizontalrule/lang/th.js deleted file mode 100755 index 99ed77df..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/th.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'th', { - toolbar: 'แทรกเส้นคั่นบรรทัด' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/tr.js b/scripts/ckeditor/plugins/horizontalrule/lang/tr.js deleted file mode 100755 index a01f5f29..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/tr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'tr', { - toolbar: 'Yatay Satır Ekle' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/tt.js b/scripts/ckeditor/plugins/horizontalrule/lang/tt.js deleted file mode 100755 index 57184d76..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/tt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'tt', { - toolbar: 'Ятма сызык өстәү' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/ug.js b/scripts/ckeditor/plugins/horizontalrule/lang/ug.js deleted file mode 100755 index 274872a5..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/ug.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'ug', { - toolbar: 'توغرا سىزىق قىستۇر' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/uk.js b/scripts/ckeditor/plugins/horizontalrule/lang/uk.js deleted file mode 100755 index e6535c61..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/uk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'uk', { - toolbar: 'Горизонтальна лінія' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/vi.js b/scripts/ckeditor/plugins/horizontalrule/lang/vi.js deleted file mode 100755 index 115c1f9a..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/vi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'vi', { - toolbar: 'Chèn đường phân cách ngang' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/zh-cn.js b/scripts/ckeditor/plugins/horizontalrule/lang/zh-cn.js deleted file mode 100755 index 73da992e..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/zh-cn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'zh-cn', { - toolbar: '插入水平线' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/lang/zh.js b/scripts/ckeditor/plugins/horizontalrule/lang/zh.js deleted file mode 100755 index 9fcf30aa..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/lang/zh.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'horizontalrule', 'zh', { - toolbar: '插入水平線' -} ); diff --git a/scripts/ckeditor/plugins/horizontalrule/plugin.js b/scripts/ckeditor/plugins/horizontalrule/plugin.js deleted file mode 100755 index dfca5d81..00000000 --- a/scripts/ckeditor/plugins/horizontalrule/plugin.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Horizontal Rule plugin. - */ - -( function() { - var horizontalruleCmd = { - canUndo: false, // The undo snapshot will be handled by 'insertElement'. - exec: function( editor ) { - var hr = editor.document.createElement( 'hr' ); - editor.insertElement( hr ); - }, - - allowedContent: 'hr', - requiredContent: 'hr' - }; - - var pluginName = 'horizontalrule'; - - // Register a plugin named "horizontalrule". - CKEDITOR.plugins.add( pluginName, { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'horizontalrule', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - if ( editor.blockless ) - return; - - editor.addCommand( pluginName, horizontalruleCmd ); - editor.ui.addButton && editor.ui.addButton( 'HorizontalRule', { - label: editor.lang.horizontalrule.toolbar, - command: pluginName, - toolbar: 'insert,40' - } ); - } - } ); -} )(); diff --git a/scripts/ckeditor/plugins/htmlwriter/plugin.js b/scripts/ckeditor/plugins/htmlwriter/plugin.js deleted file mode 100755 index cc2827f3..00000000 --- a/scripts/ckeditor/plugins/htmlwriter/plugin.js +++ /dev/null @@ -1,359 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.add( 'htmlwriter', { - init: function( editor ) { - var writer = new CKEDITOR.htmlWriter(); - - writer.forceSimpleAmpersand = editor.config.forceSimpleAmpersand; - writer.indentationChars = editor.config.dataIndentationChars || '\t'; - - // Overwrite default basicWriter initialized in hmtlDataProcessor constructor. - editor.dataProcessor.writer = writer; - } -} ); - -/** - * Class used to write HTML data. - * - * var writer = new CKEDITOR.htmlWriter(); - * writer.openTag( 'p' ); - * writer.attribute( 'class', 'MyClass' ); - * writer.openTagClose( 'p' ); - * writer.text( 'Hello' ); - * writer.closeTag( 'p' ); - * alert( writer.getHtml() ); // '

    Hello

    ' - * - * @class - * @extends CKEDITOR.htmlParser.basicWriter - */ -CKEDITOR.htmlWriter = CKEDITOR.tools.createClass( { - base: CKEDITOR.htmlParser.basicWriter, - - /** - * Creates a htmlWriter class instance. - * - * @constructor - */ - $: function() { - // Call the base contructor. - this.base(); - - /** - * The characters to be used for each identation step. - * - * // Use tab for indentation. - * editorInstance.dataProcessor.writer.indentationChars = '\t'; - */ - this.indentationChars = '\t'; - - /** - * The characters to be used to close "self-closing" elements, like `
    ` or ``. - * - * // Use HTML4 notation for self-closing elements. - * editorInstance.dataProcessor.writer.selfClosingEnd = '>'; - */ - this.selfClosingEnd = ' />'; - - /** - * The characters to be used for line breaks. - * - * // Use CRLF for line breaks. - * editorInstance.dataProcessor.writer.lineBreakChars = '\r\n'; - */ - this.lineBreakChars = '\n'; - - this.sortAttributes = 1; - - this._.indent = 0; - this._.indentation = ''; - // Indicate preformatted block context status. (#5789) - this._.inPre = 0; - this._.rules = {}; - - var dtd = CKEDITOR.dtd; - - for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) ) { - this.setRules( e, { - indent: !dtd[ e ][ '#' ], - breakBeforeOpen: 1, - breakBeforeClose: !dtd[ e ][ '#' ], - breakAfterClose: 1, - needsSpace: ( e in dtd.$block ) && !( e in { li: 1, dt: 1, dd: 1 } ) - } ); - } - - this.setRules( 'br', { breakAfterOpen: 1 } ); - - this.setRules( 'title', { - indent: 0, - breakAfterOpen: 0 - } ); - - this.setRules( 'style', { - indent: 0, - breakBeforeClose: 1 - } ); - - this.setRules( 'pre', { - breakAfterOpen: 1, // Keep line break after the opening tag - indent: 0 // Disable indentation on
    .
    -		} );
    -	},
    -
    -	proto: {
    -		/**
    -		 * Writes the tag opening part for a opener tag.
    -		 *
    -		 *		// Writes ''.
    -		 *		writer.openTagClose( 'p', false );
    -		 *
    -		 *		// Writes ' />'.
    -		 *		writer.openTagClose( 'br', true );
    -		 *
    -		 * @param {String} tagName The element name for this tag.
    -		 * @param {Boolean} isSelfClose Indicates that this is a self-closing tag,
    -		 * like `
    ` or ``. - */ - openTagClose: function( tagName, isSelfClose ) { - var rules = this._.rules[ tagName ]; - - if ( isSelfClose ) { - this._.output.push( this.selfClosingEnd ); - - if ( rules && rules.breakAfterClose ) - this._.needsSpace = rules.needsSpace; - } else { - this._.output.push( '>' ); - - if ( rules && rules.indent ) - this._.indentation += this.indentationChars; - } - - if ( rules && rules.breakAfterOpen ) - this.lineBreak(); - tagName == 'pre' && ( this._.inPre = 1 ); - }, - - /** - * Writes an attribute. This function should be called after opening the - * tag with {@link #openTagClose}. - * - * // Writes ' class="MyClass"'. - * writer.attribute( 'class', 'MyClass' ); - * - * @param {String} attName The attribute name. - * @param {String} attValue The attribute value. - */ - attribute: function( attName, attValue ) { - - if ( typeof attValue == 'string' ) { - this.forceSimpleAmpersand && ( attValue = attValue.replace( /&/g, '&' ) ); - // Browsers don't always escape special character in attribute values. (#4683, #4719). - attValue = CKEDITOR.tools.htmlEncodeAttr( attValue ); - } - - this._.output.push( ' ', attName, '="', attValue, '"' ); - }, - - /** - * Writes a closer tag. - * - * // Writes '

    '. - * writer.closeTag( 'p' ); - * - * @param {String} tagName The element name for this tag. - */ - closeTag: function( tagName ) { - var rules = this._.rules[ tagName ]; - - if ( rules && rules.indent ) - this._.indentation = this._.indentation.substr( this.indentationChars.length ); - - if ( this._.indent ) - this.indentation(); - // Do not break if indenting. - else if ( rules && rules.breakBeforeClose ) { - this.lineBreak(); - this.indentation(); - } - - this._.output.push( '' ); - tagName == 'pre' && ( this._.inPre = 0 ); - - if ( rules && rules.breakAfterClose ) { - this.lineBreak(); - this._.needsSpace = rules.needsSpace; - } - - this._.afterCloser = 1; - }, - - /** - * Writes text. - * - * // Writes 'Hello Word'. - * writer.text( 'Hello Word' ); - * - * @param {String} text The text value - */ - text: function( text ) { - if ( this._.indent ) { - this.indentation(); - !this._.inPre && ( text = CKEDITOR.tools.ltrim( text ) ); - } - - this._.output.push( text ); - }, - - /** - * Writes a comment. - * - * // Writes "". - * writer.comment( ' My comment ' ); - * - * @param {String} comment The comment text. - */ - comment: function( comment ) { - if ( this._.indent ) - this.indentation(); - - this._.output.push( '' ); - }, - - /** - * Writes a line break. It uses the {@link #lineBreakChars} property for it. - * - * // Writes '\n' (e.g.). - * writer.lineBreak(); - */ - lineBreak: function() { - if ( !this._.inPre && this._.output.length > 0 ) - this._.output.push( this.lineBreakChars ); - this._.indent = 1; - }, - - /** - * Writes the current indentation chars. It uses the {@link #indentationChars} - * property, repeating it for the current indentation steps. - * - * // Writes '\t' (e.g.). - * writer.indentation(); - */ - indentation: function() { - if ( !this._.inPre && this._.indentation ) - this._.output.push( this._.indentation ); - this._.indent = 0; - }, - - /** - * Empties the current output buffer. It also brings back the default - * values of the writer flags. - * - * writer.reset(); - */ - reset: function() { - this._.output = []; - this._.indent = 0; - this._.indentation = ''; - this._.afterCloser = 0; - this._.inPre = 0; - }, - - /** - * Sets formatting rules for a give element. The possible rules are: - * - * * `indent`: indent the element contents. - * * `breakBeforeOpen`: break line before the opener tag for this element. - * * `breakAfterOpen`: break line after the opener tag for this element. - * * `breakBeforeClose`: break line before the closer tag for this element. - * * `breakAfterClose`: break line after the closer tag for this element. - * - * All rules default to `false`. Each call to the function overrides - * already present rules, leaving the undefined untouched. - * - * By default, all elements available in the {@link CKEDITOR.dtd#$block}, - * {@link CKEDITOR.dtd#$listItem} and {@link CKEDITOR.dtd#$tableContent} - * lists have all the above rules set to `true`. Additionaly, the `
    ` - * element has the `breakAfterOpen` set to `true`. - * - * // Break line before and after "img" tags. - * writer.setRules( 'img', { - * breakBeforeOpen: true - * breakAfterOpen: true - * } ); - * - * // Reset the rules for the "h1" tag. - * writer.setRules( 'h1', {} ); - * - * @param {String} tagName The element name to which set the rules. - * @param {Object} rules An object containing the element rules. - */ - setRules: function( tagName, rules ) { - var currentRules = this._.rules[ tagName ]; - - if ( currentRules ) - CKEDITOR.tools.extend( currentRules, rules, true ); - else - this._.rules[ tagName ] = rules; - } - } -} ); - -/** - * Whether to force using `'&'` instead of `'&'` in elements attributes - * values, it's not recommended to change this setting for compliance with the - * W3C XHTML 1.0 standards ([C.12, XHTML 1.0](http://www.w3.org/TR/xhtml1/#C_12)). - * - * // Use `'&'` instead of `'&'` - * CKEDITOR.config.forceSimpleAmpersand = true; - * - * @cfg {Boolean} [forceSimpleAmpersand=false] - * @member CKEDITOR.config - */ - -/** - * The characters to be used for indenting the HTML produced by the editor. - * Using characters different than `' '` (space) and `'\t'` (tab) is definitely - * a bad idea as it'll mess the code. - * - * // No indentation. - * CKEDITOR.config.dataIndentationChars = ''; - * - * // Use two spaces for indentation. - * CKEDITOR.config.dataIndentationChars = ' '; - * - * @cfg {String} [dataIndentationChars='\t'] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/swfobject.js b/scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/swfobject.js deleted file mode 100755 index f55260e5..00000000 --- a/scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/swfobject.js +++ /dev/null @@ -1,5 +0,0 @@ -/*jsl:ignoreall*/ -/* SWFObject v2.2 - is released under the MIT License -*/ -var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y0){for(var af=0;af0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad'}}aa.outerHTML='"+af+"";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab unlock ratio. - switchLockRatio( dialog, false ); // Unlock. - value = aMatch[ 1 ]; - } - - // Only if ratio is locked - if ( dialog.lockRatio ) { - var oImageOriginal = dialog.originalElement; - if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' ) { - if ( this.id == 'txtHeight' ) { - if ( value && value != '0' ) - value = Math.round( oImageOriginal.$.width * ( value / oImageOriginal.$.height ) ); - if ( !isNaN( value ) ) - dialog.setValueOf( 'info', 'txtWidth', value ); - } else //this.id = txtWidth. - { - if ( value && value != '0' ) - value = Math.round( oImageOriginal.$.height * ( value / oImageOriginal.$.width ) ); - if ( !isNaN( value ) ) - dialog.setValueOf( 'info', 'txtHeight', value ); - } - } - } - updatePreview( dialog ); - }; - - var updatePreview = function( dialog ) { - //Don't load before onShow. - if ( !dialog.originalElement || !dialog.preview ) - return 1; - - // Read attributes and update imagePreview; - dialog.commitContent( PREVIEW, dialog.preview ); - return 0; - }; - - // Custom commit dialog logic, where we're intended to give inline style - // field (txtdlgGenStyle) higher priority to avoid overwriting styles contribute - // by other fields. - function commitContent() { - var args = arguments; - var inlineStyleField = this.getContentElement( 'advanced', 'txtdlgGenStyle' ); - inlineStyleField && inlineStyleField.commit.apply( inlineStyleField, args ); - - this.foreach( function( widget ) { - if ( widget.commit && widget.id != 'txtdlgGenStyle' ) - widget.commit.apply( widget, args ); - } ); - } - - // Avoid recursions. - var incommit; - - // Synchronous field values to other impacted fields is required, e.g. border - // size change should alter inline-style text as well. - function commitInternally( targetFields ) { - if ( incommit ) - return; - - incommit = 1; - - var dialog = this.getDialog(), - element = dialog.imageElement; - if ( element ) { - // Commit this field and broadcast to target fields. - this.commit( IMAGE, element ); - - targetFields = [].concat( targetFields ); - var length = targetFields.length, - field; - for ( var i = 0; i < length; i++ ) { - field = dialog.getContentElement.apply( dialog, targetFields[ i ].split( ':' ) ); - // May cause recursion. - field && field.setup( IMAGE, element ); - } - } - - incommit = 0; - } - - var switchLockRatio = function( dialog, value ) { - if ( !dialog.getContentElement( 'info', 'ratioLock' ) ) - return null; - - var oImageOriginal = dialog.originalElement; - - // Dialog may already closed. (#5505) - if ( !oImageOriginal ) - return null; - - // Check image ratio and original image ratio, but respecting user's preference. - if ( value == 'check' ) { - if ( !dialog.userlockRatio && oImageOriginal.getCustomData( 'isReady' ) == 'true' ) { - var width = dialog.getValueOf( 'info', 'txtWidth' ), - height = dialog.getValueOf( 'info', 'txtHeight' ), - originalRatio = oImageOriginal.$.width * 1000 / oImageOriginal.$.height, - thisRatio = width * 1000 / height; - dialog.lockRatio = false; // Default: unlock ratio - - if ( !width && !height ) - dialog.lockRatio = true; - else if ( !isNaN( originalRatio ) && !isNaN( thisRatio ) ) { - if ( Math.round( originalRatio ) == Math.round( thisRatio ) ) - dialog.lockRatio = true; - } - } - } else if ( value != undefined ) - dialog.lockRatio = value; - else { - dialog.userlockRatio = 1; - dialog.lockRatio = !dialog.lockRatio; - } - - var ratioButton = CKEDITOR.document.getById( btnLockSizesId ); - if ( dialog.lockRatio ) - ratioButton.removeClass( 'cke_btn_unlocked' ); - else - ratioButton.addClass( 'cke_btn_unlocked' ); - - ratioButton.setAttribute( 'aria-checked', dialog.lockRatio ); - - // Ratio button hc presentation - WHITE SQUARE / BLACK SQUARE - if ( CKEDITOR.env.hc ) { - var icon = ratioButton.getChild( 0 ); - icon.setHtml( dialog.lockRatio ? CKEDITOR.env.ie ? '\u25A0' : '\u25A3' : CKEDITOR.env.ie ? '\u25A1' : '\u25A2' ); - } - - return dialog.lockRatio; - }; - - var resetSize = function( dialog ) { - var oImageOriginal = dialog.originalElement; - if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' ) { - var widthField = dialog.getContentElement( 'info', 'txtWidth' ), - heightField = dialog.getContentElement( 'info', 'txtHeight' ); - widthField && widthField.setValue( oImageOriginal.$.width ); - heightField && heightField.setValue( oImageOriginal.$.height ); - } - updatePreview( dialog ); - }; - - var setupDimension = function( type, element ) { - if ( type != IMAGE ) - return; - - function checkDimension( size, defaultValue ) { - var aMatch = size.match( regexGetSize ); - if ( aMatch ) { - if ( aMatch[ 2 ] == '%' ) // % is allowed. - { - aMatch[ 1 ] += '%'; - switchLockRatio( dialog, false ); // Unlock ratio - } - return aMatch[ 1 ]; - } - return defaultValue; - } - - var dialog = this.getDialog(), - value = '', - dimension = this.id == 'txtWidth' ? 'width' : 'height', - size = element.getAttribute( dimension ); - - if ( size ) - value = checkDimension( size, value ); - value = checkDimension( element.getStyle( dimension ), value ); - - this.setValue( value ); - }; - - var previewPreloader; - - var onImgLoadEvent = function() { - // Image is ready. - var original = this.originalElement; - original.setCustomData( 'isReady', 'true' ); - original.removeListener( 'load', onImgLoadEvent ); - original.removeListener( 'error', onImgLoadErrorEvent ); - original.removeListener( 'abort', onImgLoadErrorEvent ); - - // Hide loader - CKEDITOR.document.getById( imagePreviewLoaderId ).setStyle( 'display', 'none' ); - - // New image -> new domensions - if ( !this.dontResetSize ) - resetSize( this ); - - if ( this.firstLoad ) - CKEDITOR.tools.setTimeout( function() { - switchLockRatio( this, 'check' ); - }, 0, this ); - - this.firstLoad = false; - this.dontResetSize = false; - }; - - var onImgLoadErrorEvent = function() { - // Error. Image is not loaded. - var original = this.originalElement; - original.removeListener( 'load', onImgLoadEvent ); - original.removeListener( 'error', onImgLoadErrorEvent ); - original.removeListener( 'abort', onImgLoadErrorEvent ); - - // Set Error image. - var noimage = CKEDITOR.getUrl( CKEDITOR.plugins.get( 'image' ).path + 'images/noimage.png' ); - - if ( this.preview ) - this.preview.setAttribute( 'src', noimage ); - - // Hide loader - CKEDITOR.document.getById( imagePreviewLoaderId ).setStyle( 'display', 'none' ); - switchLockRatio( this, false ); // Unlock. - }; - - var numbering = function( id ) { - return CKEDITOR.tools.getNextId() + '_' + id; - }, - btnLockSizesId = numbering( 'btnLockSizes' ), - btnResetSizeId = numbering( 'btnResetSize' ), - imagePreviewLoaderId = numbering( 'ImagePreviewLoader' ), - previewLinkId = numbering( 'previewLink' ), - previewImageId = numbering( 'previewImage' ); - - return { - title: editor.lang.image[ dialogType == 'image' ? 'title' : 'titleButton' ], - minWidth: 420, - minHeight: 360, - onShow: function() { - this.imageElement = false; - this.linkElement = false; - - // Default: create a new element. - this.imageEditMode = false; - this.linkEditMode = false; - - this.lockRatio = true; - this.userlockRatio = 0; - this.dontResetSize = false; - this.firstLoad = true; - this.addLink = false; - - var editor = this.getParentEditor(), - sel = editor.getSelection(), - element = sel && sel.getSelectedElement(), - link = element && editor.elementPath( element ).contains( 'a', 1 ); - - //Hide loader. - CKEDITOR.document.getById( imagePreviewLoaderId ).setStyle( 'display', 'none' ); - // Create the preview before setup the dialog contents. - previewPreloader = new CKEDITOR.dom.element( 'img', editor.document ); - this.preview = CKEDITOR.document.getById( previewImageId ); - - // Copy of the image - this.originalElement = editor.document.createElement( 'img' ); - this.originalElement.setAttribute( 'alt', '' ); - this.originalElement.setCustomData( 'isReady', 'false' ); - - if ( link ) { - this.linkElement = link; - this.linkEditMode = true; - - // Look for Image element. - var linkChildren = link.getChildren(); - if ( linkChildren.count() == 1 ) // 1 child. - { - var childTagName = linkChildren.getItem( 0 ).getName(); - if ( childTagName == 'img' || childTagName == 'input' ) { - this.imageElement = linkChildren.getItem( 0 ); - if ( this.imageElement.getName() == 'img' ) - this.imageEditMode = 'img'; - else if ( this.imageElement.getName() == 'input' ) - this.imageEditMode = 'input'; - } - } - // Fill out all fields. - if ( dialogType == 'image' ) - this.setupContent( LINK, link ); - } - - // Edit given image element instead the one from selection. - if ( this.customImageElement ) { - this.imageEditMode = 'img'; - this.imageElement = this.customImageElement; - delete this.customImageElement; - } - else if ( element && element.getName() == 'img' && !element.data( 'cke-realelement' ) || - element && element.getName() == 'input' && element.getAttribute( 'type' ) == 'image' ) { - this.imageEditMode = element.getName(); - this.imageElement = element; - } - - if ( this.imageEditMode ) { - // Use the original element as a buffer from since we don't want - // temporary changes to be committed, e.g. if the dialog is canceled. - this.cleanImageElement = this.imageElement; - this.imageElement = this.cleanImageElement.clone( true, true ); - - // Fill out all fields. - this.setupContent( IMAGE, this.imageElement ); - } else - this.imageElement = editor.document.createElement( 'img' ); - - // Refresh LockRatio button - switchLockRatio( this, true ); - - // Dont show preview if no URL given. - if ( !CKEDITOR.tools.trim( this.getValueOf( 'info', 'txtUrl' ) ) ) { - this.preview.removeAttribute( 'src' ); - this.preview.setStyle( 'display', 'none' ); - } - }, - onOk: function() { - // Edit existing Image. - if ( this.imageEditMode ) { - var imgTagName = this.imageEditMode; - - // Image dialog and Input element. - if ( dialogType == 'image' && imgTagName == 'input' && confirm( editor.lang.image.button2Img ) ) { - // Replace INPUT-> IMG - imgTagName = 'img'; - this.imageElement = editor.document.createElement( 'img' ); - this.imageElement.setAttribute( 'alt', '' ); - editor.insertElement( this.imageElement ); - } - // ImageButton dialog and Image element. - else if ( dialogType != 'image' && imgTagName == 'img' && confirm( editor.lang.image.img2Button ) ) { - // Replace IMG -> INPUT - imgTagName = 'input'; - this.imageElement = editor.document.createElement( 'input' ); - this.imageElement.setAttributes( { - type: 'image', - alt: '' - } ); - editor.insertElement( this.imageElement ); - } else { - // Restore the original element before all commits. - this.imageElement = this.cleanImageElement; - delete this.cleanImageElement; - } - } else // Create a new image. - { - // Image dialog -> create IMG element. - if ( dialogType == 'image' ) - this.imageElement = editor.document.createElement( 'img' ); - else { - this.imageElement = editor.document.createElement( 'input' ); - this.imageElement.setAttribute( 'type', 'image' ); - } - this.imageElement.setAttribute( 'alt', '' ); - } - - // Create a new link. - if ( !this.linkEditMode ) - this.linkElement = editor.document.createElement( 'a' ); - - // Set attributes. - this.commitContent( IMAGE, this.imageElement ); - this.commitContent( LINK, this.linkElement ); - - // Remove empty style attribute. - if ( !this.imageElement.getAttribute( 'style' ) ) - this.imageElement.removeAttribute( 'style' ); - - // Insert a new Image. - if ( !this.imageEditMode ) { - if ( this.addLink ) { - //Insert a new Link. - if ( !this.linkEditMode ) { - editor.insertElement( this.linkElement ); - this.linkElement.append( this.imageElement, false ); - } else //Link already exists, image not. - editor.insertElement( this.imageElement ); - } else - editor.insertElement( this.imageElement ); - } else // Image already exists. - { - //Add a new link element. - if ( !this.linkEditMode && this.addLink ) { - editor.insertElement( this.linkElement ); - this.imageElement.appendTo( this.linkElement ); - } - //Remove Link, Image exists. - else if ( this.linkEditMode && !this.addLink ) { - editor.getSelection().selectElement( this.linkElement ); - editor.insertElement( this.imageElement ); - } - } - }, - onLoad: function() { - if ( dialogType != 'image' ) - this.hidePage( 'Link' ); //Hide Link tab. - var doc = this._.element.getDocument(); - - if ( this.getContentElement( 'info', 'ratioLock' ) ) { - this.addFocusable( doc.getById( btnResetSizeId ), 5 ); - this.addFocusable( doc.getById( btnLockSizesId ), 5 ); - } - - this.commitContent = commitContent; - }, - onHide: function() { - if ( this.preview ) - this.commitContent( CLEANUP, this.preview ); - - if ( this.originalElement ) { - this.originalElement.removeListener( 'load', onImgLoadEvent ); - this.originalElement.removeListener( 'error', onImgLoadErrorEvent ); - this.originalElement.removeListener( 'abort', onImgLoadErrorEvent ); - this.originalElement.remove(); - this.originalElement = false; // Dialog is closed. - } - - delete this.imageElement; - }, - contents: [ - { - id: 'info', - label: editor.lang.image.infoTab, - accessKey: 'I', - elements: [ - { - type: 'vbox', - padding: 0, - children: [ - { - type: 'hbox', - widths: [ '280px', '110px' ], - align: 'right', - children: [ - { - id: 'txtUrl', - type: 'text', - label: editor.lang.common.url, - required: true, - onChange: function() { - var dialog = this.getDialog(), - newUrl = this.getValue(); - - //Update original image - if ( newUrl.length > 0 ) //Prevent from load before onShow - { - dialog = this.getDialog(); - var original = dialog.originalElement; - - dialog.preview.removeStyle( 'display' ); - - original.setCustomData( 'isReady', 'false' ); - // Show loader - var loader = CKEDITOR.document.getById( imagePreviewLoaderId ); - if ( loader ) - loader.setStyle( 'display', '' ); - - original.on( 'load', onImgLoadEvent, dialog ); - original.on( 'error', onImgLoadErrorEvent, dialog ); - original.on( 'abort', onImgLoadErrorEvent, dialog ); - original.setAttribute( 'src', newUrl ); - - // Query the preloader to figure out the url impacted by based href. - previewPreloader.setAttribute( 'src', newUrl ); - dialog.preview.setAttribute( 'src', previewPreloader.$.src ); - updatePreview( dialog ); - } - // Dont show preview if no URL given. - else if ( dialog.preview ) { - dialog.preview.removeAttribute( 'src' ); - dialog.preview.setStyle( 'display', 'none' ); - } - }, - setup: function( type, element ) { - if ( type == IMAGE ) { - var url = element.data( 'cke-saved-src' ) || element.getAttribute( 'src' ); - var field = this; - - this.getDialog().dontResetSize = true; - - field.setValue( url ); // And call this.onChange() - // Manually set the initial value.(#4191) - field.setInitValue(); - } - }, - commit: function( type, element ) { - if ( type == IMAGE && ( this.getValue() || this.isChanged() ) ) { - element.data( 'cke-saved-src', this.getValue() ); - element.setAttribute( 'src', this.getValue() ); - } else if ( type == CLEANUP ) { - element.setAttribute( 'src', '' ); // If removeAttribute doesn't work. - element.removeAttribute( 'src' ); - } - }, - validate: CKEDITOR.dialog.validate.notEmpty( editor.lang.image.urlMissing ) - }, - { - type: 'button', - id: 'browse', - // v-align with the 'txtUrl' field. - // TODO: We need something better than a fixed size here. - style: 'display:inline-block;margin-top:14px;', - align: 'center', - label: editor.lang.common.browseServer, - hidden: true, - filebrowser: 'info:txtUrl' - } - ] - } - ] - }, - { - id: 'txtAlt', - type: 'text', - label: editor.lang.image.alt, - accessKey: 'T', - 'default': '', - onChange: function() { - updatePreview( this.getDialog() ); - }, - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'alt' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'alt', this.getValue() ); - } else if ( type == PREVIEW ) - element.setAttribute( 'alt', this.getValue() ); - else if ( type == CLEANUP ) - element.removeAttribute( 'alt' ); - - } - }, - { - type: 'hbox', - children: [ - { - id: 'basic', - type: 'vbox', - children: [ - { - type: 'hbox', - requiredContent: 'img{width,height}', - widths: [ '50%', '50%' ], - children: [ - { - type: 'vbox', - padding: 1, - children: [ - { - type: 'text', - width: '45px', - id: 'txtWidth', - label: editor.lang.common.width, - onKeyUp: onSizeChange, - onChange: function() { - commitInternally.call( this, 'advanced:txtdlgGenStyle' ); - }, - validate: function() { - var aMatch = this.getValue().match( regexGetSizeOrEmpty ), - isValid = !!( aMatch && parseInt( aMatch[ 1 ], 10 ) !== 0 ); - if ( !isValid ) - alert( editor.lang.common.invalidWidth ); - return isValid; - }, - setup: setupDimension, - commit: function( type, element, internalCommit ) { - var value = this.getValue(); - if ( type == IMAGE ) { - if ( value && editor.activeFilter.check( 'img{width,height}' ) ) - element.setStyle( 'width', CKEDITOR.tools.cssLength( value ) ); - else - element.removeStyle( 'width' ); - - !internalCommit && element.removeAttribute( 'width' ); - } else if ( type == PREVIEW ) { - var aMatch = value.match( regexGetSize ); - if ( !aMatch ) { - var oImageOriginal = this.getDialog().originalElement; - if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' ) - element.setStyle( 'width', oImageOriginal.$.width + 'px' ); - } else - element.setStyle( 'width', CKEDITOR.tools.cssLength( value ) ); - } else if ( type == CLEANUP ) { - element.removeAttribute( 'width' ); - element.removeStyle( 'width' ); - } - } - }, - { - type: 'text', - id: 'txtHeight', - width: '45px', - label: editor.lang.common.height, - onKeyUp: onSizeChange, - onChange: function() { - commitInternally.call( this, 'advanced:txtdlgGenStyle' ); - }, - validate: function() { - var aMatch = this.getValue().match( regexGetSizeOrEmpty ), - isValid = !!( aMatch && parseInt( aMatch[ 1 ], 10 ) !== 0 ); - if ( !isValid ) - alert( editor.lang.common.invalidHeight ); - return isValid; - }, - setup: setupDimension, - commit: function( type, element, internalCommit ) { - var value = this.getValue(); - if ( type == IMAGE ) { - if ( value && editor.activeFilter.check( 'img{width,height}' ) ) - element.setStyle( 'height', CKEDITOR.tools.cssLength( value ) ); - else - element.removeStyle( 'height' ); - - !internalCommit && element.removeAttribute( 'height' ); - } else if ( type == PREVIEW ) { - var aMatch = value.match( regexGetSize ); - if ( !aMatch ) { - var oImageOriginal = this.getDialog().originalElement; - if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' ) - element.setStyle( 'height', oImageOriginal.$.height + 'px' ); - } else - element.setStyle( 'height', CKEDITOR.tools.cssLength( value ) ); - } else if ( type == CLEANUP ) { - element.removeAttribute( 'height' ); - element.removeStyle( 'height' ); - } - } - } - ] - }, - { - id: 'ratioLock', - type: 'html', - style: 'margin-top:30px;width:40px;height:40px;', - onLoad: function() { - // Activate Reset button - var resetButton = CKEDITOR.document.getById( btnResetSizeId ), - ratioButton = CKEDITOR.document.getById( btnLockSizesId ); - if ( resetButton ) { - resetButton.on( 'click', function( evt ) { - resetSize( this ); - evt.data && evt.data.preventDefault(); - }, this.getDialog() ); - resetButton.on( 'mouseover', function() { - this.addClass( 'cke_btn_over' ); - }, resetButton ); - resetButton.on( 'mouseout', function() { - this.removeClass( 'cke_btn_over' ); - }, resetButton ); - } - // Activate (Un)LockRatio button - if ( ratioButton ) { - ratioButton.on( 'click', function( evt ) { - var locked = switchLockRatio( this ), - oImageOriginal = this.originalElement, - width = this.getValueOf( 'info', 'txtWidth' ); - - if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' && width ) { - var height = oImageOriginal.$.height / oImageOriginal.$.width * width; - if ( !isNaN( height ) ) { - this.setValueOf( 'info', 'txtHeight', Math.round( height ) ); - updatePreview( this ); - } - } - evt.data && evt.data.preventDefault(); - }, this.getDialog() ); - ratioButton.on( 'mouseover', function() { - this.addClass( 'cke_btn_over' ); - }, ratioButton ); - ratioButton.on( 'mouseout', function() { - this.removeClass( 'cke_btn_over' ); - }, ratioButton ); - } - }, - html: '' - } - ] - }, - { - type: 'vbox', - padding: 1, - children: [ - { - type: 'text', - id: 'txtBorder', - requiredContent: 'img{border-width}', - width: '60px', - label: editor.lang.image.border, - 'default': '', - onKeyUp: function() { - updatePreview( this.getDialog() ); - }, - onChange: function() { - commitInternally.call( this, 'advanced:txtdlgGenStyle' ); - }, - validate: CKEDITOR.dialog.validate.integer( editor.lang.image.validateBorder ), - setup: function( type, element ) { - if ( type == IMAGE ) { - var value, - borderStyle = element.getStyle( 'border-width' ); - borderStyle = borderStyle && borderStyle.match( /^(\d+px)(?: \1 \1 \1)?$/ ); - value = borderStyle && parseInt( borderStyle[ 1 ], 10 ); - isNaN( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'border' ) ); - this.setValue( value ); - } - }, - commit: function( type, element, internalCommit ) { - var value = parseInt( this.getValue(), 10 ); - if ( type == IMAGE || type == PREVIEW ) { - if ( !isNaN( value ) ) { - element.setStyle( 'border-width', CKEDITOR.tools.cssLength( value ) ); - element.setStyle( 'border-style', 'solid' ); - } else if ( !value && this.isChanged() ) - element.removeStyle( 'border' ); - - if ( !internalCommit && type == IMAGE ) - element.removeAttribute( 'border' ); - } else if ( type == CLEANUP ) { - element.removeAttribute( 'border' ); - element.removeStyle( 'border-width' ); - element.removeStyle( 'border-style' ); - element.removeStyle( 'border-color' ); - } - } - }, - { - type: 'text', - id: 'txtHSpace', - requiredContent: 'img{margin-left,margin-right}', - width: '60px', - label: editor.lang.image.hSpace, - 'default': '', - onKeyUp: function() { - updatePreview( this.getDialog() ); - }, - onChange: function() { - commitInternally.call( this, 'advanced:txtdlgGenStyle' ); - }, - validate: CKEDITOR.dialog.validate.integer( editor.lang.image.validateHSpace ), - setup: function( type, element ) { - if ( type == IMAGE ) { - var value, marginLeftPx, marginRightPx, - marginLeftStyle = element.getStyle( 'margin-left' ), - marginRightStyle = element.getStyle( 'margin-right' ); - - marginLeftStyle = marginLeftStyle && marginLeftStyle.match( pxLengthRegex ); - marginRightStyle = marginRightStyle && marginRightStyle.match( pxLengthRegex ); - marginLeftPx = parseInt( marginLeftStyle, 10 ); - marginRightPx = parseInt( marginRightStyle, 10 ); - - value = ( marginLeftPx == marginRightPx ) && marginLeftPx; - isNaN( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'hspace' ) ); - - this.setValue( value ); - } - }, - commit: function( type, element, internalCommit ) { - var value = parseInt( this.getValue(), 10 ); - if ( type == IMAGE || type == PREVIEW ) { - if ( !isNaN( value ) ) { - element.setStyle( 'margin-left', CKEDITOR.tools.cssLength( value ) ); - element.setStyle( 'margin-right', CKEDITOR.tools.cssLength( value ) ); - } else if ( !value && this.isChanged() ) { - element.removeStyle( 'margin-left' ); - element.removeStyle( 'margin-right' ); - } - - if ( !internalCommit && type == IMAGE ) - element.removeAttribute( 'hspace' ); - } else if ( type == CLEANUP ) { - element.removeAttribute( 'hspace' ); - element.removeStyle( 'margin-left' ); - element.removeStyle( 'margin-right' ); - } - } - }, - { - type: 'text', - id: 'txtVSpace', - requiredContent: 'img{margin-top,margin-bottom}', - width: '60px', - label: editor.lang.image.vSpace, - 'default': '', - onKeyUp: function() { - updatePreview( this.getDialog() ); - }, - onChange: function() { - commitInternally.call( this, 'advanced:txtdlgGenStyle' ); - }, - validate: CKEDITOR.dialog.validate.integer( editor.lang.image.validateVSpace ), - setup: function( type, element ) { - if ( type == IMAGE ) { - var value, marginTopPx, marginBottomPx, - marginTopStyle = element.getStyle( 'margin-top' ), - marginBottomStyle = element.getStyle( 'margin-bottom' ); - - marginTopStyle = marginTopStyle && marginTopStyle.match( pxLengthRegex ); - marginBottomStyle = marginBottomStyle && marginBottomStyle.match( pxLengthRegex ); - marginTopPx = parseInt( marginTopStyle, 10 ); - marginBottomPx = parseInt( marginBottomStyle, 10 ); - - value = ( marginTopPx == marginBottomPx ) && marginTopPx; - isNaN( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'vspace' ) ); - this.setValue( value ); - } - }, - commit: function( type, element, internalCommit ) { - var value = parseInt( this.getValue(), 10 ); - if ( type == IMAGE || type == PREVIEW ) { - if ( !isNaN( value ) ) { - element.setStyle( 'margin-top', CKEDITOR.tools.cssLength( value ) ); - element.setStyle( 'margin-bottom', CKEDITOR.tools.cssLength( value ) ); - } else if ( !value && this.isChanged() ) { - element.removeStyle( 'margin-top' ); - element.removeStyle( 'margin-bottom' ); - } - - if ( !internalCommit && type == IMAGE ) - element.removeAttribute( 'vspace' ); - } else if ( type == CLEANUP ) { - element.removeAttribute( 'vspace' ); - element.removeStyle( 'margin-top' ); - element.removeStyle( 'margin-bottom' ); - } - } - }, - { - id: 'cmbAlign', - requiredContent: 'img{float}', - type: 'select', - widths: [ '35%', '65%' ], - style: 'width:90px', - label: editor.lang.common.align, - 'default': '', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.alignLeft, 'left' ], - [ editor.lang.common.alignRight, 'right' ] - // Backward compatible with v2 on setup when specified as attribute value, - // while these values are no more available as select options. - // [ editor.lang.image.alignAbsBottom , 'absBottom'], - // [ editor.lang.image.alignAbsMiddle , 'absMiddle'], - // [ editor.lang.image.alignBaseline , 'baseline'], - // [ editor.lang.image.alignTextTop , 'text-top'], - // [ editor.lang.image.alignBottom , 'bottom'], - // [ editor.lang.image.alignMiddle , 'middle'], - // [ editor.lang.image.alignTop , 'top'] - ], - onChange: function() { - updatePreview( this.getDialog() ); - commitInternally.call( this, 'advanced:txtdlgGenStyle' ); - }, - setup: function( type, element ) { - if ( type == IMAGE ) { - var value = element.getStyle( 'float' ); - switch ( value ) { - // Ignore those unrelated values. - case 'inherit': - case 'none': - value = ''; - } - - !value && ( value = ( element.getAttribute( 'align' ) || '' ).toLowerCase() ); - this.setValue( value ); - } - }, - commit: function( type, element, internalCommit ) { - var value = this.getValue(); - if ( type == IMAGE || type == PREVIEW ) { - if ( value ) - element.setStyle( 'float', value ); - else - element.removeStyle( 'float' ); - - if ( !internalCommit && type == IMAGE ) { - value = ( element.getAttribute( 'align' ) || '' ).toLowerCase(); - switch ( value ) { - // we should remove it only if it matches "left" or "right", - // otherwise leave it intact. - case 'left': - case 'right': - element.removeAttribute( 'align' ); - } - } - } else if ( type == CLEANUP ) - element.removeStyle( 'float' ); - - } - } - ] - } - ] - }, - { - type: 'vbox', - height: '250px', - children: [ - { - type: 'html', - id: 'htmlPreview', - style: 'width:95%;', - html: '
    ' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) + '
    ' + - '' + - '
    ' + - '' + - '' + - ( editor.config.image_previewText || 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ' + - 'Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, ' + - 'nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.' ) + - '
    ' - } - ] - } - ] - } - ] - }, - { - id: 'Link', - requiredContent: 'a[href]', - label: editor.lang.image.linkTab, - padding: 0, - elements: [ - { - id: 'txtUrl', - type: 'text', - label: editor.lang.common.url, - style: 'width: 100%', - 'default': '', - setup: function( type, element ) { - if ( type == LINK ) { - var href = element.data( 'cke-saved-href' ); - if ( !href ) - href = element.getAttribute( 'href' ); - this.setValue( href ); - } - }, - commit: function( type, element ) { - if ( type == LINK ) { - if ( this.getValue() || this.isChanged() ) { - var url = this.getValue(); - element.data( 'cke-saved-href', url ); - element.setAttribute( 'href', url ); - - if ( this.getValue() || !editor.config.image_removeLinkByEmptyURL ) - this.getDialog().addLink = true; - } - } - } - }, - { - type: 'button', - id: 'browse', - filebrowser: { - action: 'Browse', - target: 'Link:txtUrl', - url: editor.config.filebrowserImageBrowseLinkUrl - }, - style: 'float:right', - hidden: true, - label: editor.lang.common.browseServer - }, - { - id: 'cmbTarget', - type: 'select', - requiredContent: 'a[target]', - label: editor.lang.common.target, - 'default': '', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.targetNew, '_blank' ], - [ editor.lang.common.targetTop, '_top' ], - [ editor.lang.common.targetSelf, '_self' ], - [ editor.lang.common.targetParent, '_parent' ] - ], - setup: function( type, element ) { - if ( type == LINK ) - this.setValue( element.getAttribute( 'target' ) || '' ); - }, - commit: function( type, element ) { - if ( type == LINK ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'target', this.getValue() ); - } - } - } - ] - }, - { - id: 'Upload', - hidden: true, - filebrowser: 'uploadButton', - label: editor.lang.image.upload, - elements: [ - { - type: 'file', - id: 'upload', - label: editor.lang.image.btnUpload, - style: 'height:40px', - size: 38 - }, - { - type: 'fileButton', - id: 'uploadButton', - filebrowser: 'info:txtUrl', - label: editor.lang.image.btnUpload, - 'for': [ 'Upload', 'upload' ] - } - ] - }, - { - id: 'advanced', - label: editor.lang.common.advancedTab, - elements: [ - { - type: 'hbox', - widths: [ '50%', '25%', '25%' ], - children: [ - { - type: 'text', - id: 'linkId', - requiredContent: 'img[id]', - label: editor.lang.common.id, - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'id' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'id', this.getValue() ); - } - } - }, - { - id: 'cmbLangDir', - type: 'select', - requiredContent: 'img[dir]', - style: 'width : 100px;', - label: editor.lang.common.langDir, - 'default': '', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.langDirLtr, 'ltr' ], - [ editor.lang.common.langDirRtl, 'rtl' ] - ], - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'dir' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'dir', this.getValue() ); - } - } - }, - { - type: 'text', - id: 'txtLangCode', - requiredContent: 'img[lang]', - label: editor.lang.common.langCode, - 'default': '', - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'lang' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'lang', this.getValue() ); - } - } - } - ] - }, - { - type: 'text', - id: 'txtGenLongDescr', - requiredContent: 'img[longdesc]', - label: editor.lang.common.longDescr, - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'longDesc' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'longDesc', this.getValue() ); - } - } - }, - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - type: 'text', - id: 'txtGenClass', - requiredContent: 'img(cke-xyz)', // Random text like 'xyz' will check if all are allowed. - label: editor.lang.common.cssClass, - 'default': '', - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'class' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'class', this.getValue() ); - } - } - }, - { - type: 'text', - id: 'txtGenTitle', - requiredContent: 'img[title]', - label: editor.lang.common.advisoryTitle, - 'default': '', - onChange: function() { - updatePreview( this.getDialog() ); - }, - setup: function( type, element ) { - if ( type == IMAGE ) - this.setValue( element.getAttribute( 'title' ) ); - }, - commit: function( type, element ) { - if ( type == IMAGE ) { - if ( this.getValue() || this.isChanged() ) - element.setAttribute( 'title', this.getValue() ); - } else if ( type == PREVIEW ) - element.setAttribute( 'title', this.getValue() ); - else if ( type == CLEANUP ) - element.removeAttribute( 'title' ); - - } - } - ] - }, - { - type: 'text', - id: 'txtdlgGenStyle', - requiredContent: 'img{cke-xyz}', // Random text like 'xyz' will check if all are allowed. - label: editor.lang.common.cssStyle, - validate: CKEDITOR.dialog.validate.inlineStyle( editor.lang.common.invalidInlineStyle ), - 'default': '', - setup: function( type, element ) { - if ( type == IMAGE ) { - var genStyle = element.getAttribute( 'style' ); - if ( !genStyle && element.$.style.cssText ) - genStyle = element.$.style.cssText; - this.setValue( genStyle ); - - var height = element.$.style.height, - width = element.$.style.width, - aMatchH = ( height ? height : '' ).match( regexGetSize ), - aMatchW = ( width ? width : '' ).match( regexGetSize ); - - this.attributesInStyle = { - height: !!aMatchH, - width: !!aMatchW - }; - } - }, - onChange: function() { - commitInternally.call( this, [ 'info:cmbFloat', 'info:cmbAlign', - 'info:txtVSpace', 'info:txtHSpace', - 'info:txtBorder', - 'info:txtWidth', 'info:txtHeight' ] ); - updatePreview( this ); - }, - commit: function( type, element ) { - if ( type == IMAGE && ( this.getValue() || this.isChanged() ) ) - element.setAttribute( 'style', this.getValue() ); - - } - } - ] - } - ] - }; - }; - - CKEDITOR.dialog.add( 'image', function( editor ) { - return imageDialog( editor, 'image' ); - } ); - - CKEDITOR.dialog.add( 'imagebutton', function( editor ) { - return imageDialog( editor, 'imagebutton' ); - } ); -} )(); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){var r=function(d,j){function r(){var a=arguments,b=this.getContentElement("advanced","txtdlgGenStyle");b&&b.commit.apply(b,a);this.foreach(function(b){b.commit&&"txtdlgGenStyle"!=b.id&&b.commit.apply(b,a)})}function i(a){if(!s){s=1;var b=this.getDialog(),c=b.imageElement;if(c){this.commit(e,c);for(var a=[].concat(a),d=a.length,v,g=0;g'+d.lang.image.lockRatio+''+ +d.lang.image.resetSize+"
    "}]},{type:"vbox",padding:1,children:[{type:"text",id:"txtBorder",requiredContent:"img{border-width}",width:"60px",label:d.lang.image.border,"default":"",onKeyUp:function(){f(this.getDialog())},onChange:function(){i.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(d.lang.image.validateBorder),setup:function(a,b){if(a==e){var c;c=(c=(c=b.getStyle("border-width"))&&c.match(/^(\d+px)(?: \1 \1 \1)?$/))&&parseInt(c[1],10);isNaN(parseInt(c, +10))&&(c=b.getAttribute("border"));this.setValue(c)}},commit:function(a,b){var c=parseInt(this.getValue(),10);a==e||4==a?(isNaN(c)?!c&&this.isChanged()&&b.removeStyle("border"):(b.setStyle("border-width",CKEDITOR.tools.cssLength(c)),b.setStyle("border-style","solid")),a==e&&b.removeAttribute("border")):8==a&&(b.removeAttribute("border"),b.removeStyle("border-width"),b.removeStyle("border-style"),b.removeStyle("border-color"))}},{type:"text",id:"txtHSpace",requiredContent:"img{margin-left,margin-right}", +width:"60px",label:d.lang.image.hSpace,"default":"",onKeyUp:function(){f(this.getDialog())},onChange:function(){i.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(d.lang.image.validateHSpace),setup:function(a,b){if(a==e){var c,d;c=b.getStyle("margin-left");d=b.getStyle("margin-right");c=c&&c.match(o);d=d&&d.match(o);c=parseInt(c,10);d=parseInt(d,10);c=c==d&&c;isNaN(parseInt(c,10))&&(c=b.getAttribute("hspace"));this.setValue(c)}},commit:function(a,b){var c=parseInt(this.getValue(), +10);a==e||4==a?(isNaN(c)?!c&&this.isChanged()&&(b.removeStyle("margin-left"),b.removeStyle("margin-right")):(b.setStyle("margin-left",CKEDITOR.tools.cssLength(c)),b.setStyle("margin-right",CKEDITOR.tools.cssLength(c))),a==e&&b.removeAttribute("hspace")):8==a&&(b.removeAttribute("hspace"),b.removeStyle("margin-left"),b.removeStyle("margin-right"))}},{type:"text",id:"txtVSpace",requiredContent:"img{margin-top,margin-bottom}",width:"60px",label:d.lang.image.vSpace,"default":"",onKeyUp:function(){f(this.getDialog())}, +onChange:function(){i.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(d.lang.image.validateVSpace),setup:function(a,b){if(a==e){var c,d;c=b.getStyle("margin-top");d=b.getStyle("margin-bottom");c=c&&c.match(o);d=d&&d.match(o);c=parseInt(c,10);d=parseInt(d,10);c=c==d&&c;isNaN(parseInt(c,10))&&(c=b.getAttribute("vspace"));this.setValue(c)}},commit:function(a,b){var c=parseInt(this.getValue(),10);a==e||4==a?(isNaN(c)?!c&&this.isChanged()&&(b.removeStyle("margin-top"),b.removeStyle("margin-bottom")): +(b.setStyle("margin-top",CKEDITOR.tools.cssLength(c)),b.setStyle("margin-bottom",CKEDITOR.tools.cssLength(c))),a==e&&b.removeAttribute("vspace")):8==a&&(b.removeAttribute("vspace"),b.removeStyle("margin-top"),b.removeStyle("margin-bottom"))}},{id:"cmbAlign",requiredContent:"img{float}",type:"select",widths:["35%","65%"],style:"width:90px",label:d.lang.common.align,"default":"",items:[[d.lang.common.notSet,""],[d.lang.common.alignLeft,"left"],[d.lang.common.alignRight,"right"]],onChange:function(){f(this.getDialog()); +i.call(this,"advanced:txtdlgGenStyle")},setup:function(a,b){if(a==e){var c=b.getStyle("float");switch(c){case "inherit":case "none":c=""}!c&&(c=(b.getAttribute("align")||"").toLowerCase());this.setValue(c)}},commit:function(a,b){var c=this.getValue();if(a==e||4==a){if(c?b.setStyle("float",c):b.removeStyle("float"),a==e)switch(c=(b.getAttribute("align")||"").toLowerCase(),c){case "left":case "right":b.removeAttribute("align")}}else 8==a&&b.removeStyle("float")}}]}]},{type:"vbox",height:"250px",children:[{type:"html", +id:"htmlPreview",style:"width:95%;",html:"
    "+CKEDITOR.tools.htmlEncode(d.lang.common.preview)+'
    '+(d.config.image_previewText||"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.")+ +"
    "}]}]}]},{id:"Link",requiredContent:"a[href]",label:d.lang.image.linkTab,padding:0,elements:[{id:"txtUrl",type:"text",label:d.lang.common.url,style:"width: 100%","default":"",setup:function(a,b){if(2==a){var c=b.data("cke-saved-href");c||(c=b.getAttribute("href"));this.setValue(c)}},commit:function(a,b){if(2==a&&(this.getValue()||this.isChanged())){var c=this.getValue();b.data("cke-saved-href",c);b.setAttribute("href",c);this.getValue()||!d.config.image_removeLinkByEmptyURL? +this.getDialog().addLink=!0:this.getDialog().addLink=!1}}},{type:"button",id:"browse",filebrowser:{action:"Browse",target:"Link:txtUrl",url:d.config.filebrowserImageBrowseLinkUrl},style:"float:right",hidden:!0,label:d.lang.common.browseServer},{id:"cmbTarget",type:"select",requiredContent:"a[target]",label:d.lang.common.target,"default":"",items:[[d.lang.common.notSet,""],[d.lang.common.targetNew,"_blank"],[d.lang.common.targetTop,"_top"],[d.lang.common.targetSelf,"_self"],[d.lang.common.targetParent, +"_parent"]],setup:function(a,b){2==a&&this.setValue(b.getAttribute("target")||"")},commit:function(a,b){2==a&&(this.getValue()||this.isChanged())&&b.setAttribute("target",this.getValue())}}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:d.lang.image.upload,elements:[{type:"file",id:"upload",label:d.lang.image.btnUpload,style:"height:40px",size:38},{type:"fileButton",id:"uploadButton",filebrowser:"info:txtUrl",label:d.lang.image.btnUpload,"for":["Upload","upload"]}]},{id:"advanced",label:d.lang.common.advancedTab, +elements:[{type:"hbox",widths:["50%","25%","25%"],children:[{type:"text",id:"linkId",requiredContent:"img[id]",label:d.lang.common.id,setup:function(a,b){a==e&&this.setValue(b.getAttribute("id"))},commit:function(a,b){a==e&&(this.getValue()||this.isChanged())&&b.setAttribute("id",this.getValue())}},{id:"cmbLangDir",type:"select",requiredContent:"img[dir]",style:"width : 100px;",label:d.lang.common.langDir,"default":"",items:[[d.lang.common.notSet,""],[d.lang.common.langDirLtr,"ltr"],[d.lang.common.langDirRtl, +"rtl"]],setup:function(a,b){a==e&&this.setValue(b.getAttribute("dir"))},commit:function(a,b){a==e&&(this.getValue()||this.isChanged())&&b.setAttribute("dir",this.getValue())}},{type:"text",id:"txtLangCode",requiredContent:"img[lang]",label:d.lang.common.langCode,"default":"",setup:function(a,b){a==e&&this.setValue(b.getAttribute("lang"))},commit:function(a,b){a==e&&(this.getValue()||this.isChanged())&&b.setAttribute("lang",this.getValue())}}]},{type:"text",id:"txtGenLongDescr",requiredContent:"img[longdesc]", +label:d.lang.common.longDescr,setup:function(a,b){a==e&&this.setValue(b.getAttribute("longDesc"))},commit:function(a,b){a==e&&(this.getValue()||this.isChanged())&&b.setAttribute("longDesc",this.getValue())}},{type:"hbox",widths:["50%","50%"],children:[{type:"text",id:"txtGenClass",requiredContent:"img(cke-xyz)",label:d.lang.common.cssClass,"default":"",setup:function(a,b){a==e&&this.setValue(b.getAttribute("class"))},commit:function(a,b){a==e&&(this.getValue()||this.isChanged())&&b.setAttribute("class", +this.getValue())}},{type:"text",id:"txtGenTitle",requiredContent:"img[title]",label:d.lang.common.advisoryTitle,"default":"",onChange:function(){f(this.getDialog())},setup:function(a,b){a==e&&this.setValue(b.getAttribute("title"))},commit:function(a,b){a==e?(this.getValue()||this.isChanged())&&b.setAttribute("title",this.getValue()):4==a?b.setAttribute("title",this.getValue()):8==a&&b.removeAttribute("title")}}]},{type:"text",id:"txtdlgGenStyle",requiredContent:"img{cke-xyz}",label:d.lang.common.cssStyle, +validate:CKEDITOR.dialog.validate.inlineStyle(d.lang.common.invalidInlineStyle),"default":"",setup:function(a,b){if(a==e){var c=b.getAttribute("style");!c&&b.$.style.cssText&&(c=b.$.style.cssText);this.setValue(c);var d=b.$.style.height,c=b.$.style.width,d=(d?d:"").match(k),c=(c?c:"").match(k);this.attributesInStyle={height:!!d,width:!!c}}},onChange:function(){i.call(this,"info:cmbFloat info:cmbAlign info:txtVSpace info:txtHSpace info:txtBorder info:txtWidth info:txtHeight".split(" "));f(this)},commit:function(a, +b){a==e&&(this.getValue()||this.isChanged())&&b.setAttribute("style",this.getValue())}}]}]}};CKEDITOR.dialog.add("image",function(d){return r(d,"image")});CKEDITOR.dialog.add("imagebutton",function(d){return r(d,"imagebutton")})})(); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/image/icons/hidpi/image.png b/scripts/ckeditor/plugins/image/icons/hidpi/image.png deleted file mode 100755 index b3c7ade5..00000000 Binary files a/scripts/ckeditor/plugins/image/icons/hidpi/image.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/image/icons/image.png b/scripts/ckeditor/plugins/image/icons/image.png deleted file mode 100755 index fcf61b5f..00000000 Binary files a/scripts/ckeditor/plugins/image/icons/image.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/image/images/noimage.png b/scripts/ckeditor/plugins/image/images/noimage.png old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/image/lang/af.js b/scripts/ckeditor/plugins/image/lang/af.js deleted file mode 100755 index 1af81832..00000000 --- a/scripts/ckeditor/plugins/image/lang/af.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'af', { - alertUrl: 'Gee URL van afbeelding.', - alt: 'Alternatiewe teks', - border: 'Rand', - btnUpload: 'Stuur na bediener', - button2Img: 'Wil u die geselekteerde afbeeldingsknop vervang met \'n eenvoudige afbeelding?', - hSpace: 'HSpasie', - img2Button: 'Wil u die geselekteerde afbeelding vervang met \'n afbeeldingsknop?', - infoTab: 'Afbeelding informasie', - linkTab: 'Skakel', - lockRatio: 'Vaste proporsie', - menu: 'Afbeelding eienskappe', - resetSize: 'Herstel grootte', - title: 'Afbeelding eienskappe', - titleButton: 'Afbeeldingsknop eienskappe', - upload: 'Oplaai', - urlMissing: 'Die URL na die afbeelding ontbreek.', - vSpace: 'VSpasie', - validateBorder: 'Rand moet \'n heelgetal wees.', - validateHSpace: 'HSpasie moet \'n heelgetal wees.', - validateVSpace: 'VSpasie moet \'n heelgetal wees.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ar.js b/scripts/ckeditor/plugins/image/lang/ar.js deleted file mode 100755 index 2a748101..00000000 --- a/scripts/ckeditor/plugins/image/lang/ar.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ar', { - alertUrl: 'فضلاً أكتب الموقع الذي توجد عليه هذه الصورة.', - alt: 'عنوان الصورة', - border: 'سمك الحدود', - btnUpload: 'أرسلها للخادم', - button2Img: 'هل تريد تحويل زر الصورة المختار إلى صورة بسيطة؟', - hSpace: 'تباعد أفقي', - img2Button: 'هل تريد تحويل الصورة المختارة إلى زر صورة؟', - infoTab: 'معلومات الصورة', - linkTab: 'الرابط', - lockRatio: 'تناسق الحجم', - menu: 'خصائص الصورة', - resetSize: 'إستعادة الحجم الأصلي', - title: 'خصائص الصورة', - titleButton: 'خصائص زر الصورة', - upload: 'رفع', - urlMissing: 'عنوان مصدر الصورة مفقود', - vSpace: 'تباعد عمودي', - validateBorder: 'الإطار يجب أن يكون عددا', - validateHSpace: 'HSpace يجب أن يكون عدداً.', - validateVSpace: 'VSpace يجب أن يكون عدداً.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/bg.js b/scripts/ckeditor/plugins/image/lang/bg.js deleted file mode 100755 index 8d19e794..00000000 --- a/scripts/ckeditor/plugins/image/lang/bg.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'bg', { - alertUrl: 'Моля, въведете пълния път до изображението', - alt: 'Алтернативен текст', - border: 'Рамка', - btnUpload: 'Изпрати я на сървъра', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'Хоризонтален отстъп', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Инфо за снимка', - linkTab: 'Връзка', - lockRatio: 'Заключване на съотношението', - menu: 'Настройки за снимка', - resetSize: 'Нулиране на размер', - title: 'Настройки за снимка', - titleButton: 'Настойки за бутон за снимка', - upload: 'Качване', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'Вертикален отстъп', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/bn.js b/scripts/ckeditor/plugins/image/lang/bn.js deleted file mode 100755 index 7b75326d..00000000 --- a/scripts/ckeditor/plugins/image/lang/bn.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'bn', { - alertUrl: 'অনুগ্রহক করে ছবির URL টাইপ করুন', - alt: 'বিকল্প টেক্সট', - border: 'বর্ডার', - btnUpload: 'ইহাকে সার্ভারে প্রেরন কর', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'হরাইজন্টাল স্পেস', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'ছবির তথ্য', - linkTab: 'লিংক', - lockRatio: 'অনুপাত লক কর', - menu: 'ছবির প্রোপার্টি', - resetSize: 'সাইজ পূর্বাবস্থায় ফিরিয়ে দাও', - title: 'ছবির প্রোপার্টি', - titleButton: 'ছবি বাটন প্রোপার্টি', - upload: 'আপলোড', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'ভার্টিকেল স্পেস', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/bs.js b/scripts/ckeditor/plugins/image/lang/bs.js deleted file mode 100755 index fe7ce3e9..00000000 --- a/scripts/ckeditor/plugins/image/lang/bs.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'bs', { - alertUrl: 'Molimo ukucajte URL od slike.', - alt: 'Tekst na slici', - border: 'Okvir', - btnUpload: 'Šalji na server', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Info slike', - linkTab: 'Link', - lockRatio: 'Zakljuèaj odnos', - menu: 'Svojstva slike', - resetSize: 'Resetuj dimenzije', - title: 'Svojstva slike', - titleButton: 'Image Button Properties', // MISSING - upload: 'Šalji', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ca.js b/scripts/ckeditor/plugins/image/lang/ca.js deleted file mode 100755 index 9da909d5..00000000 --- a/scripts/ckeditor/plugins/image/lang/ca.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ca', { - alertUrl: 'Si us plau, escriviu la URL de la imatge', - alt: 'Text alternatiu', - border: 'Vora', - btnUpload: 'Envia-la al servidor', - button2Img: 'Voleu transformar el botó d\'imatge seleccionat en una simple imatge?', - hSpace: 'Espaiat horit.', - img2Button: 'Voleu transformar la imatge seleccionada en un botó d\'imatge?', - infoTab: 'Informació de la imatge', - linkTab: 'Enllaç', - lockRatio: 'Bloqueja les proporcions', - menu: 'Propietats de la imatge', - resetSize: 'Restaura la mida', - title: 'Propietats de la imatge', - titleButton: 'Propietats del botó d\'imatge', - upload: 'Puja', - urlMissing: 'Falta la URL de la imatge.', - vSpace: 'Espaiat vert.', - validateBorder: 'La vora ha de ser un nombre enter.', - validateHSpace: 'HSpace ha de ser un nombre enter.', - validateVSpace: 'VSpace ha de ser un nombre enter.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/cs.js b/scripts/ckeditor/plugins/image/lang/cs.js deleted file mode 100755 index f17179df..00000000 --- a/scripts/ckeditor/plugins/image/lang/cs.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'cs', { - alertUrl: 'Zadejte prosím URL obrázku', - alt: 'Alternativní text', - border: 'Okraje', - btnUpload: 'Odeslat na server', - button2Img: 'Skutečně chcete převést zvolené obrázkové tlačítko na obyčejný obrázek?', - hSpace: 'Horizontální mezera', - img2Button: 'Skutečně chcete převést zvolený obrázek na obrázkové tlačítko?', - infoTab: 'Informace o obrázku', - linkTab: 'Odkaz', - lockRatio: 'Zámek', - menu: 'Vlastnosti obrázku', - resetSize: 'Původní velikost', - title: 'Vlastnosti obrázku', - titleButton: 'Vlastností obrázkového tlačítka', - upload: 'Odeslat', - urlMissing: 'Zadané URL zdroje obrázku nebylo nalezeno.', - vSpace: 'Vertikální mezera', - validateBorder: 'Okraj musí být nastaven v celých číslech.', - validateHSpace: 'Horizontální mezera musí být nastavena v celých číslech.', - validateVSpace: 'Vertikální mezera musí být nastavena v celých číslech.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/cy.js b/scripts/ckeditor/plugins/image/lang/cy.js deleted file mode 100755 index 4fe325aa..00000000 --- a/scripts/ckeditor/plugins/image/lang/cy.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'cy', { - alertUrl: 'Rhowch URL y ddelwedd', - alt: 'Testun Amgen', - border: 'Ymyl', - btnUpload: 'Anfon i\'r Gweinydd', - button2Img: 'Ydych am drawsffurfio\'r botwm ddelwedd hwn ar ddelwedd syml?', - hSpace: 'BwlchLl', - img2Button: 'Ydych am drawsffurfio\'r ddelwedd hon ar fotwm delwedd?', - infoTab: 'Gwyb Delwedd', - linkTab: 'Dolen', - lockRatio: 'Cloi Cymhareb', - menu: 'Priodweddau Delwedd', - resetSize: 'Ailosod Maint', - title: 'Priodweddau Delwedd', - titleButton: 'Priodweddau Botwm Delwedd', - upload: 'Lanlwytho', - urlMissing: 'URL gwreiddiol y ddelwedd ar goll.', - vSpace: 'BwlchF', - validateBorder: 'Rhaid i\'r ymyl fod yn gyfanrif.', - validateHSpace: 'Rhaid i\'r HSpace fod yn gyfanrif.', - validateVSpace: 'Rhaid i\'r VSpace fod yn gyfanrif.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/da.js b/scripts/ckeditor/plugins/image/lang/da.js deleted file mode 100755 index b1026e89..00000000 --- a/scripts/ckeditor/plugins/image/lang/da.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'da', { - alertUrl: 'Indtast stien til billedet', - alt: 'Alternativ tekst', - border: 'Ramme', - btnUpload: 'Upload fil til serveren', - button2Img: 'Vil du lave billedknappen om til et almindeligt billede?', - hSpace: 'Vandret margen', - img2Button: 'Vil du lave billedet om til en billedknap?', - infoTab: 'Generelt', - linkTab: 'Hyperlink', - lockRatio: 'Lås størrelsesforhold', - menu: 'Egenskaber for billede', - resetSize: 'Nulstil størrelse', - title: 'Egenskaber for billede', - titleButton: 'Egenskaber for billedknap', - upload: 'Upload', - urlMissing: 'Kilde på billed-URL mangler', - vSpace: 'Lodret margen', - validateBorder: 'Kant skal være et helt nummer.', - validateHSpace: 'HSpace skal være et helt nummer.', - validateVSpace: 'VSpace skal være et helt nummer.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/de.js b/scripts/ckeditor/plugins/image/lang/de.js deleted file mode 100755 index d687b0ca..00000000 --- a/scripts/ckeditor/plugins/image/lang/de.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'de', { - alertUrl: 'Bitte geben Sie die Bild-URL an', - alt: 'Alternativer Text', - border: 'Rahmen', - btnUpload: 'Zum Server senden', - button2Img: 'Möchten Sie den gewählten Bild-Button in ein einfaches Bild umwandeln?', - hSpace: 'Horizontal-Abstand', - img2Button: 'Möchten Sie das gewählten Bild in einen Bild-Button umwandeln?', - infoTab: 'Bild-Info', - linkTab: 'Link', - lockRatio: 'Größenverhältnis beibehalten', - menu: 'Bild-Eigenschaften', - resetSize: 'Größe zurücksetzen', - title: 'Bild-Eigenschaften', - titleButton: 'Bildbutton-Eigenschaften', - upload: 'Hochladen', - urlMissing: 'Imagequelle URL fehlt.', - vSpace: 'Vertikal-Abstand', - validateBorder: 'Rahmen muß eine ganze Zahl sein.', - validateHSpace: 'Horizontal-Abstand muß eine ganze Zahl sein.', - validateVSpace: 'Vertikal-Abstand muß eine ganze Zahl sein.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/el.js b/scripts/ckeditor/plugins/image/lang/el.js deleted file mode 100755 index 2b0f0f11..00000000 --- a/scripts/ckeditor/plugins/image/lang/el.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'el', { - alertUrl: 'Εισάγετε την τοποθεσία (URL) της εικόνας', - alt: 'Εναλλακτικό Κείμενο', - border: 'Περίγραμμα', - btnUpload: 'Αποστολή στον Διακομιστή', - button2Img: 'Θέλετε να μετατρέψετε το επιλεγμένο κουμπί εικόνας σε απλή εικόνα;', - hSpace: 'HSpace', - img2Button: 'Θέλετε να μεταμορφώσετε την επιλεγμένη εικόνα που είναι πάνω σε ένα κουμπί;', - infoTab: 'Πληροφορίες Εικόνας', - linkTab: 'Σύνδεσμος', - lockRatio: 'Κλείδωμα Αναλογίας', - menu: 'Ιδιότητες Εικόνας', - resetSize: 'Επαναφορά Αρχικού Μεγέθους', - title: 'Ιδιότητες Εικόνας', - titleButton: 'Ιδιότητες Κουμπιού Εικόνας', - upload: 'Αποστολή', - urlMissing: 'Το URL πηγής για την εικόνα λείπει.', - vSpace: 'VSpace', - validateBorder: 'Το περίγραμμα πρέπει να είναι ένας ακέραιος αριθμός.', - validateHSpace: 'Το HSpace πρέπει να είναι ένας ακέραιος αριθμός.', - validateVSpace: 'Το VSpace πρέπει να είναι ένας ακέραιος αριθμός.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/en-au.js b/scripts/ckeditor/plugins/image/lang/en-au.js deleted file mode 100755 index bdc6d2f7..00000000 --- a/scripts/ckeditor/plugins/image/lang/en-au.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'en-au', { - alertUrl: 'Please type the image URL', - alt: 'Alternative Text', - border: 'Border', - btnUpload: 'Send it to the Server', - button2Img: 'Do you want to transform the selected image button on a simple image?', - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', - infoTab: 'Image Info', - linkTab: 'Link', - lockRatio: 'Lock Ratio', - menu: 'Image Properties', - resetSize: 'Reset Size', - title: 'Image Properties', - titleButton: 'Image Button Properties', - upload: 'Upload', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/en-ca.js b/scripts/ckeditor/plugins/image/lang/en-ca.js deleted file mode 100755 index 072987f8..00000000 --- a/scripts/ckeditor/plugins/image/lang/en-ca.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'en-ca', { - alertUrl: 'Please type the image URL', - alt: 'Alternative Text', - border: 'Border', - btnUpload: 'Send it to the Server', - button2Img: 'Do you want to transform the selected image button on a simple image?', - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', - infoTab: 'Image Info', - linkTab: 'Link', - lockRatio: 'Lock Ratio', - menu: 'Image Properties', - resetSize: 'Reset Size', - title: 'Image Properties', - titleButton: 'Image Button Properties', - upload: 'Upload', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/en-gb.js b/scripts/ckeditor/plugins/image/lang/en-gb.js deleted file mode 100755 index 343febdc..00000000 --- a/scripts/ckeditor/plugins/image/lang/en-gb.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'en-gb', { - alertUrl: 'Please type the image URL', - alt: 'Alternative Text', - border: 'Border', - btnUpload: 'Send it to the Server', - button2Img: 'Do you want to transform the selected image button on a simple image?', - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', - infoTab: 'Image Info', - linkTab: 'Link', - lockRatio: 'Lock Ratio', - menu: 'Image Properties', - resetSize: 'Reset Size', - title: 'Image Properties', - titleButton: 'Image Button Properties', - upload: 'Upload', - urlMissing: 'Image source URL is missing.', - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', - validateHSpace: 'HSpace must be a whole number.', - validateVSpace: 'VSpace must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/en.js b/scripts/ckeditor/plugins/image/lang/en.js deleted file mode 100755 index 299e2f12..00000000 --- a/scripts/ckeditor/plugins/image/lang/en.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'en', { - alertUrl: 'Please type the image URL', - alt: 'Alternative Text', - border: 'Border', - btnUpload: 'Send it to the Server', - button2Img: 'Do you want to transform the selected image button on a simple image?', - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', - infoTab: 'Image Info', - linkTab: 'Link', - lockRatio: 'Lock Ratio', - menu: 'Image Properties', - resetSize: 'Reset Size', - title: 'Image Properties', - titleButton: 'Image Button Properties', - upload: 'Upload', - urlMissing: 'Image source URL is missing.', - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', - validateHSpace: 'HSpace must be a whole number.', - validateVSpace: 'VSpace must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/eo.js b/scripts/ckeditor/plugins/image/lang/eo.js deleted file mode 100755 index ad483832..00000000 --- a/scripts/ckeditor/plugins/image/lang/eo.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'eo', { - alertUrl: 'Bonvolu tajpi la retadreson de la bildo', - alt: 'Anstataŭiga Teksto', - border: 'Bordero', - btnUpload: 'Sendu al Servilo', - button2Img: 'Ĉu vi volas transformi la selektitan bildbutonon en simplan bildon?', - hSpace: 'Horizontala Spaco', - img2Button: 'Ĉu vi volas transformi la selektitan bildon en bildbutonon?', - infoTab: 'Informoj pri Bildo', - linkTab: 'Ligilo', - lockRatio: 'Konservi Proporcion', - menu: 'Atributoj de Bildo', - resetSize: 'Origina Grando', - title: 'Atributoj de Bildo', - titleButton: 'Bildbutonaj Atributoj', - upload: 'Alŝuti', - urlMissing: 'La fontretadreso de la bildo mankas.', - vSpace: 'Vertikala Spaco', - validateBorder: 'La bordero devas esti entjera nombro.', - validateHSpace: 'La horizontala spaco devas esti entjera nombro.', - validateVSpace: 'La vertikala spaco devas esti entjera nombro.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/es.js b/scripts/ckeditor/plugins/image/lang/es.js deleted file mode 100755 index e2d5c253..00000000 --- a/scripts/ckeditor/plugins/image/lang/es.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'es', { - alertUrl: 'Por favor escriba la URL de la imagen', - alt: 'Texto Alternativo', - border: 'Borde', - btnUpload: 'Enviar al Servidor', - button2Img: '¿Desea convertir el botón de imagen en una simple imagen?', - hSpace: 'Esp.Horiz', - img2Button: '¿Desea convertir la imagen en un botón de imagen?', - infoTab: 'Información de Imagen', - linkTab: 'Vínculo', - lockRatio: 'Proporcional', - menu: 'Propiedades de Imagen', - resetSize: 'Tamaño Original', - title: 'Propiedades de Imagen', - titleButton: 'Propiedades de Botón de Imagen', - upload: 'Cargar', - urlMissing: 'Debe indicar la URL de la imagen.', - vSpace: 'Esp.Vert', - validateBorder: 'El borde debe ser un número.', - validateHSpace: 'El espaciado horizontal debe ser un número.', - validateVSpace: 'El espaciado vertical debe ser un número.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/et.js b/scripts/ckeditor/plugins/image/lang/et.js deleted file mode 100755 index e4e74850..00000000 --- a/scripts/ckeditor/plugins/image/lang/et.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'et', { - alertUrl: 'Palun kirjuta pildi URL', - alt: 'Alternatiivne tekst', - border: 'Joon', - btnUpload: 'Saada serverisse', - button2Img: 'Kas tahad teisendada valitud pildiga nupu tavaliseks pildiks?', - hSpace: 'H. vaheruum', - img2Button: 'Kas tahad teisendada valitud tavalise pildi pildiga nupuks?', - infoTab: 'Pildi info', - linkTab: 'Link', - lockRatio: 'Lukusta kuvasuhe', - menu: 'Pildi omadused', - resetSize: 'Lähtesta suurus', - title: 'Pildi omadused', - titleButton: 'Piltnupu omadused', - upload: 'Lae üles', - urlMissing: 'Pildi lähte-URL on puudu.', - vSpace: 'V. vaheruum', - validateBorder: 'Äärise laius peab olema täisarv.', - validateHSpace: 'Horisontaalne vaheruum peab olema täisarv.', - validateVSpace: 'Vertikaalne vaheruum peab olema täisarv.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/eu.js b/scripts/ckeditor/plugins/image/lang/eu.js deleted file mode 100755 index 08387eb4..00000000 --- a/scripts/ckeditor/plugins/image/lang/eu.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'eu', { - alertUrl: 'Mesedez Irudiaren URLa idatzi', - alt: 'Ordezko Testua', - border: 'Ertza', - btnUpload: 'Zerbitzarira bidalia', - button2Img: 'Aukeratutako irudi botoia, irudi normal batean eraldatu nahi duzu?', - hSpace: 'HSpace', - img2Button: 'Aukeratutako irudia, irudi botoi batean eraldatu nahi duzu?', - infoTab: 'Irudi informazioa', - linkTab: 'Esteka', - lockRatio: 'Erlazioa Blokeatu', - menu: 'Irudi Ezaugarriak', - resetSize: 'Tamaina Berrezarri', - title: 'Irudi Ezaugarriak', - titleButton: 'Irudi Botoiaren Ezaugarriak', - upload: 'Gora Kargatu', - urlMissing: 'Irudiaren iturburu URL-a falta da.', - vSpace: 'VSpace', - validateBorder: 'Ertza zenbaki oso bat izan behar da.', - validateHSpace: 'HSpace zenbaki oso bat izan behar da.', - validateVSpace: 'VSpace zenbaki oso bat izan behar da.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/fa.js b/scripts/ckeditor/plugins/image/lang/fa.js deleted file mode 100755 index 09402c82..00000000 --- a/scripts/ckeditor/plugins/image/lang/fa.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'fa', { - alertUrl: 'لطفا URL تصویر را بنویسید', - alt: 'متن جایگزین', - border: 'لبه', - btnUpload: 'به سرور بفرست', - button2Img: 'آیا مایلید از یک تصویر ساده روی دکمه تصویری انتخاب شده استفاده کنید؟', - hSpace: 'فاصلهٴ افقی', - img2Button: 'آیا مایلید از یک دکمه تصویری روی تصویر انتخاب شده استفاده کنید؟', - infoTab: 'اطلاعات تصویر', - linkTab: 'پیوند', - lockRatio: 'قفل کردن نسبت', - menu: 'ویژگی​های تصویر', - resetSize: 'بازنشانی اندازه', - title: 'ویژگی​های تصویر', - titleButton: 'ویژگی​های دکمهٴ تصویری', - upload: 'انتقال به سرور', - urlMissing: 'آدرس URL اصلی تصویر یافت نشد.', - vSpace: 'فاصلهٴ عمودی', - validateBorder: 'مقدار خطوط باید یک عدد باشد.', - validateHSpace: 'مقدار فاصله گذاری افقی باید یک عدد باشد.', - validateVSpace: 'مقدار فاصله گذاری عمودی باید یک عدد باشد.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/fi.js b/scripts/ckeditor/plugins/image/lang/fi.js deleted file mode 100755 index 8f522173..00000000 --- a/scripts/ckeditor/plugins/image/lang/fi.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'fi', { - alertUrl: 'Kirjoita kuvan osoite (URL)', - alt: 'Vaihtoehtoinen teksti', - border: 'Kehys', - btnUpload: 'Lähetä palvelimelle', - button2Img: 'Haluatko muuntaa valitun kuvanäppäimen kuvaksi?', - hSpace: 'Vaakatila', - img2Button: 'Haluatko muuntaa valitun kuvan kuvanäppäimeksi?', - infoTab: 'Kuvan tiedot', - linkTab: 'Linkki', - lockRatio: 'Lukitse suhteet', - menu: 'Kuvan ominaisuudet', - resetSize: 'Alkuperäinen koko', - title: 'Kuvan ominaisuudet', - titleButton: 'Kuvapainikkeen ominaisuudet', - upload: 'Lisää kuva', - urlMissing: 'Kuvan lähdeosoite puuttuu.', - vSpace: 'Pystytila', - validateBorder: 'Kehyksen täytyy olla kokonaisluku.', - validateHSpace: 'HSpace-määrityksen täytyy olla kokonaisluku.', - validateVSpace: 'VSpace-määrityksen täytyy olla kokonaisluku.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/fo.js b/scripts/ckeditor/plugins/image/lang/fo.js deleted file mode 100755 index fe23ced3..00000000 --- a/scripts/ckeditor/plugins/image/lang/fo.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'fo', { - alertUrl: 'Rita slóðina til myndina', - alt: 'Alternativur tekstur', - border: 'Bordi', - btnUpload: 'Send til ambætaran', - button2Img: 'Skal valdi myndaknøttur gerast til vanliga mynd?', - hSpace: 'Høgri breddi', - img2Button: 'Skal valda mynd gerast til myndaknøtt?', - infoTab: 'Myndaupplýsingar', - linkTab: 'Tilknýti', - lockRatio: 'Læs lutfallið', - menu: 'Myndaeginleikar', - resetSize: 'Upprunastødd', - title: 'Myndaeginleikar', - titleButton: 'Eginleikar fyri myndaknøtt', - upload: 'Send', - urlMissing: 'URL til mynd manglar.', - vSpace: 'Vinstri breddi', - validateBorder: 'Bordi má vera eitt heiltal.', - validateHSpace: 'HSpace má vera eitt heiltal.', - validateVSpace: 'VSpace má vera eitt heiltal.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/fr-ca.js b/scripts/ckeditor/plugins/image/lang/fr-ca.js deleted file mode 100755 index fa7737b9..00000000 --- a/scripts/ckeditor/plugins/image/lang/fr-ca.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'fr-ca', { - alertUrl: 'Veuillez saisir l\'URL de l\'image', - alt: 'Texte alternatif', - border: 'Bordure', - btnUpload: 'Envoyer sur le serveur', - button2Img: 'Désirez-vous transformer l\'image sélectionnée en image simple?', - hSpace: 'Espacement horizontal', - img2Button: 'Désirez-vous transformer l\'image sélectionnée en bouton image?', - infoTab: 'Informations sur l\'image', - linkTab: 'Lien', - lockRatio: 'Verrouiller les proportions', - menu: 'Propriétés de l\'image', - resetSize: 'Taille originale', - title: 'Propriétés de l\'image', - titleButton: 'Propriétés du bouton image', - upload: 'Téléverser', - urlMissing: 'L\'URL de la source de l\'image est manquant.', - vSpace: 'Espacement vertical', - validateBorder: 'La bordure doit être un entier.', - validateHSpace: 'L\'espacement horizontal doit être un entier.', - validateVSpace: 'L\'espacement vertical doit être un entier.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/fr.js b/scripts/ckeditor/plugins/image/lang/fr.js deleted file mode 100755 index ae542121..00000000 --- a/scripts/ckeditor/plugins/image/lang/fr.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'fr', { - alertUrl: 'Veuillez entrer l\'adresse de l\'image', - alt: 'Texte de remplacement', - border: 'Bordure', - btnUpload: 'Envoyer sur le serveur', - button2Img: 'Voulez-vous transformer le bouton image sélectionné en simple image?', - hSpace: 'Espacement horizontal', - img2Button: 'Voulez-vous transformer l\'image en bouton image?', - infoTab: 'Informations sur l\'image', - linkTab: 'Lien', - lockRatio: 'Conserver les proportions', - menu: 'Propriétés de l\'image', - resetSize: 'Taille d\'origine', - title: 'Propriétés de l\'image', - titleButton: 'Propriétés du bouton image', - upload: 'Envoyer', - urlMissing: 'L\'adresse source de l\'image est manquante.', - vSpace: 'Espacement vertical', - validateBorder: 'Bordure doit être un entier.', - validateHSpace: 'HSpace doit être un entier.', - validateVSpace: 'VSpace doit être un entier.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/gl.js b/scripts/ckeditor/plugins/image/lang/gl.js deleted file mode 100755 index f4aa596e..00000000 --- a/scripts/ckeditor/plugins/image/lang/gl.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'gl', { - alertUrl: 'Escriba o URL da imaxe', - alt: 'Texto alternativo', - border: 'Bordo', - btnUpload: 'Enviar ao servidor', - button2Img: 'Quere converter o botón da imaxe seleccionada nunha imaxe sinxela?', - hSpace: 'Esp.Horiz.', - img2Button: 'Quere converter a imaxe seleccionada nun botón de imaxe?', - infoTab: 'Información da imaxe', - linkTab: 'Ligazón', - lockRatio: 'Proporcional', - menu: 'Propiedades da imaxe', - resetSize: 'Tamaño orixinal', - title: 'Propiedades da imaxe', - titleButton: 'Propiedades do botón de imaxe', - upload: 'Cargar', - urlMissing: 'Non se atopa o URL da imaxe.', - vSpace: 'Esp.Vert.', - validateBorder: 'O bordo debe ser un número.', - validateHSpace: 'O espazado horizontal debe ser un número.', - validateVSpace: 'O espazado vertical debe ser un número.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/gu.js b/scripts/ckeditor/plugins/image/lang/gu.js deleted file mode 100755 index a24f4b03..00000000 --- a/scripts/ckeditor/plugins/image/lang/gu.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'gu', { - alertUrl: 'ચિત્રની URL ટાઇપ કરો', - alt: 'ઑલ્ટર્નટ ટેક્સ્ટ', - border: 'બોર્ડર', - btnUpload: 'આ સર્વરને મોકલવું', - button2Img: 'તમારે ઈમેજ બટનને સાદી ઈમેજમાં બદલવું છે.', - hSpace: 'સમસ્તરીય જગ્યા', - img2Button: 'તમારે સાદી ઈમેજને ઈમેજ બટનમાં બદલવું છે.', - infoTab: 'ચિત્ર ની જાણકારી', - linkTab: 'લિંક', - lockRatio: 'લૉક ગુણોત્તર', - menu: 'ચિત્રના ગુણ', - resetSize: 'રીસેટ સાઇઝ', - title: 'ચિત્રના ગુણ', - titleButton: 'ચિત્ર બટનના ગુણ', - upload: 'અપલોડ', - urlMissing: 'ઈમેજની મૂળ URL છે નહી.', - vSpace: 'લંબરૂપ જગ્યા', - validateBorder: 'બોર્ડેર આંકડો હોવો જોઈએ.', - validateHSpace: 'HSpaceઆંકડો હોવો જોઈએ.', - validateVSpace: 'VSpace આંકડો હોવો જોઈએ. ' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/he.js b/scripts/ckeditor/plugins/image/lang/he.js deleted file mode 100755 index 58732a96..00000000 --- a/scripts/ckeditor/plugins/image/lang/he.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'he', { - alertUrl: 'יש להקליד את כתובת התמונה', - alt: 'טקסט חלופי', - border: 'מסגרת', - btnUpload: 'שליחה לשרת', - button2Img: 'האם להפוך את תמונת הכפתור לתמונה פשוטה?', - hSpace: 'מרווח אופקי', - img2Button: 'האם להפוך את התמונה לכפתור תמונה?', - infoTab: 'מידע על התמונה', - linkTab: 'קישור', - lockRatio: 'נעילת היחס', - menu: 'תכונות התמונה', - resetSize: 'איפוס הגודל', - title: 'מאפייני התמונה', - titleButton: 'מאפיני כפתור תמונה', - upload: 'העלאה', - urlMissing: 'כתובת התמונה חסרה.', - vSpace: 'מרווח אנכי', - validateBorder: 'שדה המסגרת חייב להיות מספר שלם.', - validateHSpace: 'שדה המרווח האופקי חייב להיות מספר שלם.', - validateVSpace: 'שדה המרווח האנכי חייב להיות מספר שלם.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/hi.js b/scripts/ckeditor/plugins/image/lang/hi.js deleted file mode 100755 index 4986a3e5..00000000 --- a/scripts/ckeditor/plugins/image/lang/hi.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'hi', { - alertUrl: 'तस्वीर का URL टाइप करें ', - alt: 'वैकल्पिक टेक्स्ट', - border: 'बॉर्डर', - btnUpload: 'इसे सर्वर को भेजें', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'हॉरिज़ॉन्टल स्पेस', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'तस्वीर की जानकारी', - linkTab: 'लिंक', - lockRatio: 'लॉक अनुपात', - menu: 'तस्वीर प्रॉपर्टीज़', - resetSize: 'रीसॅट साइज़', - title: 'तस्वीर प्रॉपर्टीज़', - titleButton: 'तस्वीर बटन प्रॉपर्टीज़', - upload: 'अपलोड', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'वर्टिकल स्पेस', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/hr.js b/scripts/ckeditor/plugins/image/lang/hr.js deleted file mode 100755 index a11f9f4c..00000000 --- a/scripts/ckeditor/plugins/image/lang/hr.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'hr', { - alertUrl: 'Unesite URL slike', - alt: 'Alternativni tekst', - border: 'Okvir', - btnUpload: 'Pošalji na server', - button2Img: 'Želite li promijeniti odabrani gumb u jednostavnu sliku?', - hSpace: 'HSpace', - img2Button: 'Želite li promijeniti odabranu sliku u gumb?', - infoTab: 'Info slike', - linkTab: 'Link', - lockRatio: 'Zaključaj odnos', - menu: 'Svojstva slika', - resetSize: 'Obriši veličinu', - title: 'Svojstva slika', - titleButton: 'Image Button svojstva', - upload: 'Pošalji', - urlMissing: 'Nedostaje URL slike.', - vSpace: 'VSpace', - validateBorder: 'Okvir mora biti cijeli broj.', - validateHSpace: 'HSpace mora biti cijeli broj', - validateVSpace: 'VSpace mora biti cijeli broj.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/hu.js b/scripts/ckeditor/plugins/image/lang/hu.js deleted file mode 100755 index b763c636..00000000 --- a/scripts/ckeditor/plugins/image/lang/hu.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'hu', { - alertUrl: 'Töltse ki a kép webcímét', - alt: 'Buborék szöveg', - border: 'Keret', - btnUpload: 'Küldés a szerverre', - button2Img: 'A kiválasztott képgombból sima képet szeretne csinálni?', - hSpace: 'Vízsz. táv', - img2Button: 'A kiválasztott képből képgombot szeretne csinálni?', - infoTab: 'Alaptulajdonságok', - linkTab: 'Hivatkozás', - lockRatio: 'Arány megtartása', - menu: 'Kép tulajdonságai', - resetSize: 'Eredeti méret', - title: 'Kép tulajdonságai', - titleButton: 'Képgomb tulajdonságai', - upload: 'Feltöltés', - urlMissing: 'Hiányzik a kép URL-je', - vSpace: 'Függ. táv', - validateBorder: 'A keret méretének egész számot kell beírni!', - validateHSpace: 'Vízszintes távolságnak egész számot kell beírni!', - validateVSpace: 'Függőleges távolságnak egész számot kell beírni!' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/id.js b/scripts/ckeditor/plugins/image/lang/id.js deleted file mode 100755 index f4f61e57..00000000 --- a/scripts/ckeditor/plugins/image/lang/id.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'id', { - alertUrl: 'Mohon tulis URL gambar', - alt: 'Teks alternatif', - border: 'Batas', - btnUpload: 'Kirim ke Server', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'HSpace', // MISSING - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Info Gambar', - linkTab: 'Tautan', - lockRatio: 'Lock Ratio', // MISSING - menu: 'Image Properties', // MISSING - resetSize: 'Reset Size', // MISSING - title: 'Image Properties', // MISSING - titleButton: 'Image Button Properties', // MISSING - upload: 'Unggah', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/is.js b/scripts/ckeditor/plugins/image/lang/is.js deleted file mode 100755 index 628e3466..00000000 --- a/scripts/ckeditor/plugins/image/lang/is.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'is', { - alertUrl: 'Sláðu inn slóðina að myndinni', - alt: 'Baklægur texti', - border: 'Rammi', - btnUpload: 'Hlaða upp', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'Vinstri bil', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Almennt', - linkTab: 'Stikla', - lockRatio: 'Festa stærðarhlutfall', - menu: 'Eigindi myndar', - resetSize: 'Reikna stærð', - title: 'Eigindi myndar', - titleButton: 'Eigindi myndahnapps', - upload: 'Hlaða upp', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'Hægri bil', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/it.js b/scripts/ckeditor/plugins/image/lang/it.js deleted file mode 100755 index 5e83df4f..00000000 --- a/scripts/ckeditor/plugins/image/lang/it.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'it', { - alertUrl: 'Devi inserire l\'URL per l\'immagine', - alt: 'Testo alternativo', - border: 'Bordo', - btnUpload: 'Invia al server', - button2Img: 'Vuoi trasformare il bottone immagine selezionato in un\'immagine semplice?', - hSpace: 'HSpace', - img2Button: 'Vuoi trasferomare l\'immagine selezionata in un bottone immagine?', - infoTab: 'Informazioni immagine', - linkTab: 'Collegamento', - lockRatio: 'Blocca rapporto', - menu: 'Proprietà immagine', - resetSize: 'Reimposta dimensione', - title: 'Proprietà immagine', - titleButton: 'Proprietà bottone immagine', - upload: 'Carica', - urlMissing: 'Manca l\'URL dell\'immagine.', - vSpace: 'VSpace', - validateBorder: 'Il campo Bordo deve essere un numero intero.', - validateHSpace: 'Il campo HSpace deve essere un numero intero.', - validateVSpace: 'Il campo VSpace deve essere un numero intero.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ja.js b/scripts/ckeditor/plugins/image/lang/ja.js deleted file mode 100755 index 5d0777d7..00000000 --- a/scripts/ckeditor/plugins/image/lang/ja.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ja', { - alertUrl: '画像のURLを入力してください', - alt: '代替テキスト', - border: '枠線の幅', - btnUpload: 'サーバーに送信', - button2Img: '選択した画像ボタンを画像に変換しますか?', - hSpace: '水平間隔', - img2Button: '選択した画像を画像ボタンに変換しますか?', - infoTab: '画像情報', - linkTab: 'リンク', - lockRatio: '比率を固定', - menu: '画像のプロパティ', - resetSize: 'サイズをリセット', - title: '画像のプロパティ', - titleButton: '画像ボタンのプロパティ', - upload: 'アップロード', - urlMissing: '画像のURLを入力してください。', - vSpace: '垂直間隔', - validateBorder: '枠線の幅は数値で入力してください。', - validateHSpace: '水平間隔は数値で入力してください。', - validateVSpace: '垂直間隔は数値で入力してください。' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ka.js b/scripts/ckeditor/plugins/image/lang/ka.js deleted file mode 100755 index 9db5f622..00000000 --- a/scripts/ckeditor/plugins/image/lang/ka.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ka', { - alertUrl: 'აკრიფეთ სურათის URL', - alt: 'სანაცვლო ტექსტი', - border: 'ჩარჩო', - btnUpload: 'სერვერისთვის გაგზავნა', - button2Img: 'გსურთ არჩეული სურათიანი ღილაკის გადაქცევა ჩვეულებრივ ღილაკად?', - hSpace: 'ჰორიზონტალური სივრცე', - img2Button: 'გსურთ არჩეული ჩვეულებრივი ღილაკის გადაქცევა სურათიან ღილაკად?', - infoTab: 'სურათის ინფორმცია', - linkTab: 'ბმული', - lockRatio: 'პროპორციის შენარჩუნება', - menu: 'სურათის პარამეტრები', - resetSize: 'ზომის დაბრუნება', - title: 'სურათის პარამეტრები', - titleButton: 'სურათიანი ღილაკის პარამეტრები', - upload: 'ატვირთვა', - urlMissing: 'სურათის URL არაა შევსებული.', - vSpace: 'ვერტიკალური სივრცე', - validateBorder: 'ჩარჩო მთელი რიცხვი უნდა იყოს.', - validateHSpace: 'ჰორიზონტალური სივრცე მთელი რიცხვი უნდა იყოს.', - validateVSpace: 'ვერტიკალური სივრცე მთელი რიცხვი უნდა იყოს.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/km.js b/scripts/ckeditor/plugins/image/lang/km.js deleted file mode 100755 index 29ef2d62..00000000 --- a/scripts/ckeditor/plugins/image/lang/km.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'km', { - alertUrl: 'សូម​បញ្ចូល URL រូបភាព', - alt: 'អត្ថបទជំនួស', - border: 'ស៊ុម', - btnUpload: 'ផ្ញើ​ទៅ​ម៉ាស៊ីន​បម្រើ', - button2Img: 'តើ​អ្នក​ចង់​ផ្លាស់​ប្ដូរ​ប៊ូតុង​រូបភាព​ដែល​បាន​ជ្រើស នៅ​លើ​រូបភាព​ធម្មតា​មួយ​មែនទេ?', - hSpace: 'គម្លាត​ផ្ដេក', - img2Button: 'តើ​អ្នក​ចង់​ផ្លាស់​ប្ដូរ​រូបភាព​ដែល​បាន​ជ្រើស នៅ​លើ​ប៊ូតុង​រូបភាព​មែនទេ?', - infoTab: 'ពត៌មានអំពីរូបភាព', - linkTab: 'តំណ', - lockRatio: 'ចាក់​សោ​ផល​ធៀប', - menu: 'លក្ខណៈ​រូបភាព', - resetSize: 'កំណត់ទំហំឡើងវិញ', - title: 'លក្ខណៈ​រូបភាព', - titleButton: 'លក្ខណៈ​ប៊ូតុង​រូបភាព', - upload: 'ផ្ទុកឡើង', - urlMissing: 'ខ្វះ URL ប្រភព​រូប​ភាព។', - vSpace: 'គម្លាត​បញ្ឈរ', - validateBorder: 'ស៊ុម​ត្រូវ​តែ​ជា​លេខ។', - validateHSpace: 'គម្លាត​ផ្ដេក​ត្រូវ​តែ​ជា​លេខ។', - validateVSpace: 'គម្លាត​បញ្ឈរ​ត្រូវ​តែ​ជា​លេខ។' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ko.js b/scripts/ckeditor/plugins/image/lang/ko.js deleted file mode 100755 index 05e1bd04..00000000 --- a/scripts/ckeditor/plugins/image/lang/ko.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ko', { - alertUrl: '이미지 URL을 입력하십시요', - alt: '이미지 설명', - border: '테두리', - btnUpload: '서버로 전송', - button2Img: '단순 이미지에서 선택한 이미지 버튼을 변환하시겠습니까?', - hSpace: '수평여백', - img2Button: '이미지 버튼에 선택한 이미지를 변환하시겠습니까?', - infoTab: '이미지 정보', - linkTab: '링크', - lockRatio: '비율 유지', - menu: '이미지 설정', - resetSize: '원래 크기로', - title: '이미지 설정', - titleButton: '이미지버튼 속성', - upload: '업로드', - urlMissing: '이미지 소스 URL이 없습니다.', - vSpace: '수직여백', - validateBorder: '테두리는 정수여야 합니다.', - validateHSpace: '가로 길이는 정수여야 합니다.', - validateVSpace: '세로 길이는 정수여야 합니다.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ku.js b/scripts/ckeditor/plugins/image/lang/ku.js deleted file mode 100755 index ea870fee..00000000 --- a/scripts/ckeditor/plugins/image/lang/ku.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ku', { - alertUrl: 'تکایه ناونیشانی بەستەری وێنه بنووسه', - alt: 'جێگرەوەی دەق', - border: 'پەراوێز', - btnUpload: 'ناردنی بۆ ڕاژه', - button2Img: 'تۆ دەتەوێت دوگمەی وێنەی دیاریکراو بگۆڕیت بۆ وێنەیەکی ئاسایی؟', - hSpace: 'بۆشایی ئاسۆیی', - img2Button: 'تۆ دەتەوێت وێنەی دیاریکراو بگۆڕیت بۆ دوگمەی وێنه؟', - infoTab: 'زانیاری وێنه', - linkTab: 'بەستەر', - lockRatio: 'داخستنی ڕێژه', - menu: 'خاسیەتی وێنه', - resetSize: 'ڕێکخستنەوەی قەباره', - title: 'خاسیەتی وێنه', - titleButton: 'خاسیەتی دوگمەی وێنه', - upload: 'بارکردن', - urlMissing: 'سەرچاوەی بەستەری وێنه بزره', - vSpace: 'بۆشایی ئەستونی', - validateBorder: 'پەراوێز دەبێت بەتەواوی تەنها ژماره بێت.', - validateHSpace: 'بۆشایی ئاسۆیی دەبێت بەتەواوی تەنها ژمارە بێت.', - validateVSpace: 'بۆشایی ئەستونی دەبێت بەتەواوی تەنها ژماره بێت.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/lt.js b/scripts/ckeditor/plugins/image/lang/lt.js deleted file mode 100755 index 090b8f2a..00000000 --- a/scripts/ckeditor/plugins/image/lang/lt.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'lt', { - alertUrl: 'Prašome įvesti vaizdo URL', - alt: 'Alternatyvus Tekstas', - border: 'Rėmelis', - btnUpload: 'Siųsti į serverį', - button2Img: 'Ar norite mygtuką paversti paprastu paveiksliuku?', - hSpace: 'Hor.Erdvė', - img2Button: 'Ar norite paveiksliuką paversti mygtuku?', - infoTab: 'Vaizdo informacija', - linkTab: 'Nuoroda', - lockRatio: 'Išlaikyti proporciją', - menu: 'Vaizdo savybės', - resetSize: 'Atstatyti dydį', - title: 'Vaizdo savybės', - titleButton: 'Vaizdinio mygtuko savybės', - upload: 'Nusiųsti', - urlMissing: 'Paveiksliuko nuorodos nėra.', - vSpace: 'Vert.Erdvė', - validateBorder: 'Reikšmė turi būti sveikas skaičius.', - validateHSpace: 'Reikšmė turi būti sveikas skaičius.', - validateVSpace: 'Reikšmė turi būti sveikas skaičius.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/lv.js b/scripts/ckeditor/plugins/image/lang/lv.js deleted file mode 100755 index cde75ede..00000000 --- a/scripts/ckeditor/plugins/image/lang/lv.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'lv', { - alertUrl: 'Lūdzu norādīt attēla hipersaiti', - alt: 'Alternatīvais teksts', - border: 'Rāmis', - btnUpload: 'Nosūtīt serverim', - button2Img: 'Vai vēlaties pārveidot izvēlēto attēla pogu uz attēla?', - hSpace: 'Horizontālā telpa', - img2Button: 'Vai vēlaties pārveidot izvēlēto attēlu uz attēla pogas?', - infoTab: 'Informācija par attēlu', - linkTab: 'Hipersaite', - lockRatio: 'Nemainīga Augstuma/Platuma attiecība', - menu: 'Attēla īpašības', - resetSize: 'Atjaunot sākotnējo izmēru', - title: 'Attēla īpašības', - titleButton: 'Attēlpogas īpašības', - upload: 'Augšupielādēt', - urlMissing: 'Trūkst attēla atrašanās adrese.', - vSpace: 'Vertikālā telpa', - validateBorder: 'Apmalei jābūt veselam skaitlim', - validateHSpace: 'HSpace jābūt veselam skaitlim', - validateVSpace: 'VSpace jābūt veselam skaitlim' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/mk.js b/scripts/ckeditor/plugins/image/lang/mk.js deleted file mode 100755 index e27f37c2..00000000 --- a/scripts/ckeditor/plugins/image/lang/mk.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'mk', { - alertUrl: 'Please type the image URL', // MISSING - alt: 'Alternative Text', // MISSING - border: 'Border', // MISSING - btnUpload: 'Send it to the Server', // MISSING - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'HSpace', // MISSING - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Image Info', // MISSING - linkTab: 'Link', // MISSING - lockRatio: 'Lock Ratio', // MISSING - menu: 'Image Properties', // MISSING - resetSize: 'Reset Size', // MISSING - title: 'Image Properties', // MISSING - titleButton: 'Image Button Properties', // MISSING - upload: 'Upload', // MISSING - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', // MISSING - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/mn.js b/scripts/ckeditor/plugins/image/lang/mn.js deleted file mode 100755 index f36d180c..00000000 --- a/scripts/ckeditor/plugins/image/lang/mn.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'mn', { - alertUrl: 'Зурагны URL-ын төрлийн сонгоно уу', - alt: 'Зургийг орлох бичвэр', - border: 'Хүрээ', - btnUpload: 'Үүнийг сервэррүү илгээ', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'Хөндлөн зай', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Зурагны мэдээлэл', - linkTab: 'Холбоос', - lockRatio: 'Радио түгжих', - menu: 'Зураг', - resetSize: 'хэмжээ дахин оноох', - title: 'Зураг', - titleButton: 'Зурган товчны шинж чанар', - upload: 'Хуулах', - urlMissing: 'Зургийн эх сурвалжийн хаяг (URL) байхгүй байна.', - vSpace: 'Босоо зай', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ms.js b/scripts/ckeditor/plugins/image/lang/ms.js deleted file mode 100755 index c61fc5e4..00000000 --- a/scripts/ckeditor/plugins/image/lang/ms.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ms', { - alertUrl: 'Sila taip URL untuk fail gambar', - alt: 'Text Alternatif', - border: 'Border', - btnUpload: 'Hantar ke Server', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'Ruang Melintang', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Info Imej', - linkTab: 'Sambungan', - lockRatio: 'Tetapkan Nisbah', - menu: 'Ciri-ciri Imej', - resetSize: 'Saiz Set Semula', - title: 'Ciri-ciri Imej', - titleButton: 'Ciri-ciri Butang Bergambar', - upload: 'Muat Naik', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'Ruang Menegak', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/nb.js b/scripts/ckeditor/plugins/image/lang/nb.js deleted file mode 100755 index 92d08c91..00000000 --- a/scripts/ckeditor/plugins/image/lang/nb.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'nb', { - alertUrl: 'Vennligst skriv bilde-urlen', - alt: 'Alternativ tekst', - border: 'Ramme', - btnUpload: 'Send det til serveren', - button2Img: 'Vil du endre den valgte bildeknappen til et vanlig bilde?', - hSpace: 'HMarg', - img2Button: 'Vil du endre det valgte bildet til en bildeknapp?', - infoTab: 'Bildeinformasjon', - linkTab: 'Lenke', - lockRatio: 'Lås forhold', - menu: 'Bildeegenskaper', - resetSize: 'Tilbakestill størrelse', - title: 'Bildeegenskaper', - titleButton: 'Egenskaper for bildeknapp', - upload: 'Last opp', - urlMissing: 'Bildets adresse mangler.', - vSpace: 'VMarg', - validateBorder: 'Ramme må være et heltall.', - validateHSpace: 'HMarg må være et heltall.', - validateVSpace: 'VMarg må være et heltall.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/nl.js b/scripts/ckeditor/plugins/image/lang/nl.js deleted file mode 100755 index 6d5024cd..00000000 --- a/scripts/ckeditor/plugins/image/lang/nl.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'nl', { - alertUrl: 'Geef de URL van de afbeelding', - alt: 'Alternatieve tekst', - border: 'Rand', - btnUpload: 'Naar server verzenden', - button2Img: 'Wilt u de geselecteerde afbeeldingsknop vervangen door een eenvoudige afbeelding?', - hSpace: 'HSpace', - img2Button: 'Wilt u de geselecteerde afbeelding vervangen door een afbeeldingsknop?', - infoTab: 'Informatie afbeelding', - linkTab: 'Link', - lockRatio: 'Afmetingen vergrendelen', - menu: 'Eigenschappen afbeelding', - resetSize: 'Afmetingen resetten', - title: 'Eigenschappen afbeelding', - titleButton: 'Eigenschappen afbeeldingsknop', - upload: 'Upload', - urlMissing: 'De URL naar de afbeelding ontbreekt.', - vSpace: 'VSpace', - validateBorder: 'Rand moet een heel nummer zijn.', - validateHSpace: 'HSpace moet een heel nummer zijn.', - validateVSpace: 'VSpace moet een heel nummer zijn.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/no.js b/scripts/ckeditor/plugins/image/lang/no.js deleted file mode 100755 index b67329f0..00000000 --- a/scripts/ckeditor/plugins/image/lang/no.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'no', { - alertUrl: 'Vennligst skriv bilde-urlen', - alt: 'Alternativ tekst', - border: 'Ramme', - btnUpload: 'Send det til serveren', - button2Img: 'Vil du endre den valgte bildeknappen til et vanlig bilde?', - hSpace: 'HMarg', - img2Button: 'Vil du endre det valgte bildet til en bildeknapp?', - infoTab: 'Bildeinformasjon', - linkTab: 'Lenke', - lockRatio: 'Lås forhold', - menu: 'Bildeegenskaper', - resetSize: 'Tilbakestill størrelse', - title: 'Bildeegenskaper', - titleButton: 'Egenskaper for bildeknapp', - upload: 'Last opp', - urlMissing: 'Bildets adresse mangler.', - vSpace: 'VMarg', - validateBorder: 'Ramme må være et heltall.', - validateHSpace: 'HMarg må være et heltall.', - validateVSpace: 'VMarg må være et heltall.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/pl.js b/scripts/ckeditor/plugins/image/lang/pl.js deleted file mode 100755 index ebfad8ad..00000000 --- a/scripts/ckeditor/plugins/image/lang/pl.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'pl', { - alertUrl: 'Podaj adres obrazka.', - alt: 'Tekst zastępczy', - border: 'Obramowanie', - btnUpload: 'Wyślij', - button2Img: 'Czy chcesz przekonwertować zaznaczony przycisk graficzny do zwykłego obrazka?', - hSpace: 'Odstęp poziomy', - img2Button: 'Czy chcesz przekonwertować zaznaczony obrazek do przycisku graficznego?', - infoTab: 'Informacje o obrazku', - linkTab: 'Hiperłącze', - lockRatio: 'Zablokuj proporcje', - menu: 'Właściwości obrazka', - resetSize: 'Przywróć rozmiar', - title: 'Właściwości obrazka', - titleButton: 'Właściwości przycisku graficznego', - upload: 'Wyślij', - urlMissing: 'Podaj adres URL obrazka.', - vSpace: 'Odstęp pionowy', - validateBorder: 'Wartość obramowania musi być liczbą całkowitą.', - validateHSpace: 'Wartość odstępu poziomego musi być liczbą całkowitą.', - validateVSpace: 'Wartość odstępu pionowego musi być liczbą całkowitą.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/pt-br.js b/scripts/ckeditor/plugins/image/lang/pt-br.js deleted file mode 100755 index b0ed9c78..00000000 --- a/scripts/ckeditor/plugins/image/lang/pt-br.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'pt-br', { - alertUrl: 'Por favor, digite a URL da imagem.', - alt: 'Texto Alternativo', - border: 'Borda', - btnUpload: 'Enviar para o Servidor', - button2Img: 'Deseja transformar o botão de imagem em uma imagem comum?', - hSpace: 'HSpace', - img2Button: 'Deseja transformar a imagem em um botão de imagem?', - infoTab: 'Informações da Imagem', - linkTab: 'Link', - lockRatio: 'Travar Proporções', - menu: 'Formatar Imagem', - resetSize: 'Redefinir para o Tamanho Original', - title: 'Formatar Imagem', - titleButton: 'Formatar Botão de Imagem', - upload: 'Enviar', - urlMissing: 'URL da imagem está faltando.', - vSpace: 'VSpace', - validateBorder: 'A borda deve ser um número inteiro.', - validateHSpace: 'O HSpace deve ser um número inteiro.', - validateVSpace: 'O VSpace deve ser um número inteiro.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/pt.js b/scripts/ckeditor/plugins/image/lang/pt.js deleted file mode 100755 index 22aae00e..00000000 --- a/scripts/ckeditor/plugins/image/lang/pt.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'pt', { - alertUrl: 'Por favor introduza o URL da imagem', - alt: 'Texto Alternativo', - border: 'Limite', - btnUpload: 'Enviar para o Servidor', - button2Img: 'Deseja transformar o botão com imagem selecionado em uma imagem?', - hSpace: 'Esp.Horiz', - img2Button: 'Deseja transformar a imagem selecionada em um botão com imagem?', - infoTab: 'Informação da Imagem', - linkTab: 'Hiperligação', - lockRatio: 'Proporcional', - menu: 'Propriedades da Imagem', - resetSize: 'Tamanho Original', - title: 'Propriedades da Imagem', - titleButton: 'Propriedades do Botão de imagens', - upload: 'Carregar', - urlMissing: 'O URL da fonte da imagem está em falta.', - vSpace: 'Esp.Vert', - validateBorder: 'A borda tem de ser um numero.', - validateHSpace: 'HSpace tem de ser um numero.', - validateVSpace: 'VSpace tem de ser um numero.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ro.js b/scripts/ckeditor/plugins/image/lang/ro.js deleted file mode 100755 index 5cfcd288..00000000 --- a/scripts/ckeditor/plugins/image/lang/ro.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ro', { - alertUrl: 'Vă rugăm să scrieţi URL-ul imaginii', - alt: 'Text alternativ', - border: 'Margine', - btnUpload: 'Trimite la server', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Informaţii despre imagine', - linkTab: 'Link (Legătură web)', - lockRatio: 'Păstrează proporţiile', - menu: 'Proprietăţile imaginii', - resetSize: 'Resetează mărimea', - title: 'Proprietăţile imaginii', - titleButton: 'Proprietăţi buton imagine (Image Button)', - upload: 'Încarcă', - urlMissing: 'Sursa URL a imaginii lipsește.', - vSpace: 'VSpace', - validateBorder: 'Bordura trebuie să fie un număr întreg.', - validateHSpace: 'Hspace trebuie să fie un număr întreg.', - validateVSpace: 'Vspace trebuie să fie un număr întreg.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ru.js b/scripts/ckeditor/plugins/image/lang/ru.js deleted file mode 100755 index a9a949f9..00000000 --- a/scripts/ckeditor/plugins/image/lang/ru.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ru', { - alertUrl: 'Пожалуйста, введите ссылку на изображение', - alt: 'Альтернативный текст', - border: 'Граница', - btnUpload: 'Загрузить на сервер', - button2Img: 'Вы желаете преобразовать это изображение-кнопку в обычное изображение?', - hSpace: 'Гориз. отступ', - img2Button: 'Вы желаете преобразовать это обычное изображение в изображение-кнопку?', - infoTab: 'Данные об изображении', - linkTab: 'Ссылка', - lockRatio: 'Сохранять пропорции', - menu: 'Свойства изображения', - resetSize: 'Вернуть обычные размеры', - title: 'Свойства изображения', - titleButton: 'Свойства изображения-кнопки', - upload: 'Загрузить', - urlMissing: 'Не указана ссылка на изображение.', - vSpace: 'Вертик. отступ', - validateBorder: 'Размер границ должен быть задан числом.', - validateHSpace: 'Горизонтальный отступ должен быть задан числом.', - validateVSpace: 'Вертикальный отступ должен быть задан числом.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/si.js b/scripts/ckeditor/plugins/image/lang/si.js deleted file mode 100755 index 7cdd07c2..00000000 --- a/scripts/ckeditor/plugins/image/lang/si.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'si', { - alertUrl: 'කරුණාකර රුපයේ URL ලියන්න', - alt: 'විකල්ප ', - border: 'සීමාවවල ', - btnUpload: 'සේවාදායකය වෙත යොමුකිරිම', - button2Img: 'ඔබට තෝරන ලද රුපය පරිවර්තනය කිරීමට අවශ්‍යද?', - hSpace: 'HSpace', - img2Button: 'ඔබට තෝරන ලද රුපය පරිවර්තනය කිරීමට අවශ්‍යද?', - infoTab: 'රුපයේ තොරතුරු', - linkTab: 'සබැඳිය', - lockRatio: 'නවතන අනුපාතය ', - menu: 'රුපයේ ගුණ', - resetSize: 'නැවතත් විශාලත්වය වෙනස් කිරීම', - title: 'රුපයේ ', - titleButton: 'රුප බොත්තමේ ගුණ', - upload: 'උඩුගතකිරීම', - urlMissing: 'රුප මුලාශ්‍ර URL නැත.', - vSpace: 'VSpace', - validateBorder: 'මාඉම් සම්පුර්ණ සංක්‍යාවක් විය යුතුය.', - validateHSpace: 'HSpace සම්පුර්ණ සංක්‍යාවක් විය යුතුය', - validateVSpace: 'VSpace සම්පුර්ණ සංක්‍යාවක් විය යුතුය.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/sk.js b/scripts/ckeditor/plugins/image/lang/sk.js deleted file mode 100755 index 1d000515..00000000 --- a/scripts/ckeditor/plugins/image/lang/sk.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'sk', { - alertUrl: 'Zadajte prosím URL obrázka', - alt: 'Alternatívny text', - border: 'Rám (border)', - btnUpload: 'Odoslať to na server', - button2Img: 'Chcete zmeniť vybrané obrázkové tlačidlo na jednoduchý obrázok?', - hSpace: 'H-medzera', - img2Button: 'Chcete zmeniť vybraný obrázok na obrázkové tlačidlo?', - infoTab: 'Informácie o obrázku', - linkTab: 'Odkaz', - lockRatio: 'Pomer zámky', - menu: 'Vlastnosti obrázka', - resetSize: 'Pôvodná veľkosť', - title: 'Vlastnosti obrázka', - titleButton: 'Vlastnosti obrázkového tlačidla', - upload: 'Nahrať', - urlMissing: 'Chýba URL zdroja obrázka.', - vSpace: 'V-medzera', - validateBorder: 'Rám (border) musí byť celé číslo.', - validateHSpace: 'H-medzera musí byť celé číslo.', - validateVSpace: 'V-medzera musí byť celé číslo.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/sl.js b/scripts/ckeditor/plugins/image/lang/sl.js deleted file mode 100755 index a92688c6..00000000 --- a/scripts/ckeditor/plugins/image/lang/sl.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'sl', { - alertUrl: 'Vnesite URL slike', - alt: 'Nadomestno besedilo', - border: 'Obroba', - btnUpload: 'Pošlji na strežnik', - button2Img: 'Želiš pretvoriti izbrani gumb s sliko v preprosto sliko?', - hSpace: 'Vodoravni razmik', - img2Button: 'Želiš pretvoriti izbrano sliko v gumb s sliko?', - infoTab: 'Podatki o sliki', - linkTab: 'Povezava', - lockRatio: 'Zakleni razmerje', - menu: 'Lastnosti slike', - resetSize: 'Ponastavi velikost', - title: 'Lastnosti slike', - titleButton: 'Lastnosti gumba s sliko', - upload: 'Pošlji', - urlMissing: 'Manjka vir (URL) slike.', - vSpace: 'Navpični razmik', - validateBorder: 'Meja mora biti celo število.', - validateHSpace: 'HSpace mora biti celo število.', - validateVSpace: 'VSpace mora biti celo število.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/sq.js b/scripts/ckeditor/plugins/image/lang/sq.js deleted file mode 100755 index e49063d9..00000000 --- a/scripts/ckeditor/plugins/image/lang/sq.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'sq', { - alertUrl: 'Ju lutemi shkruani URL-në e fotos', - alt: 'Tekst Alternativ', - border: 'Korniza', - btnUpload: 'Dërgo në server', - button2Img: 'Dëshironi të e ndërroni pullën e fotos së selektuar në një foto të thjeshtë?', - hSpace: 'HSpace', - img2Button: 'Dëshironi të ndryshoni foton e përzgjedhur në pullë?', - infoTab: 'Informacione mbi Fotografinë', - linkTab: 'Nyja', - lockRatio: 'Mbyll Racionin', - menu: 'Karakteristikat e Fotografisë', - resetSize: 'Rikthe Madhësinë', - title: 'Karakteristikat e Fotografisë', - titleButton: 'Karakteristikat e Pullës së Fotografisë', - upload: 'Ngarko', - urlMissing: 'Mungon URL e burimit të fotografisë.', - vSpace: 'Hapësira Vertikale', - validateBorder: 'Korniza duhet të jetë numër i plotë.', - validateHSpace: 'Hapësira horizontale duhet të jetë numër i plotë.', - validateVSpace: 'Hapësira vertikale duhet të jetë numër i plotë.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/sr-latn.js b/scripts/ckeditor/plugins/image/lang/sr-latn.js deleted file mode 100755 index 0db3c0e1..00000000 --- a/scripts/ckeditor/plugins/image/lang/sr-latn.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'sr-latn', { - alertUrl: 'Unesite URL slike', - alt: 'Alternativni tekst', - border: 'Okvir', - btnUpload: 'Pošalji na server', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'HSpace', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Info slike', - linkTab: 'Link', - lockRatio: 'Zaključaj odnos', - menu: 'Osobine slika', - resetSize: 'Resetuj veličinu', - title: 'Osobine slika', - titleButton: 'Osobine dugmeta sa slikom', - upload: 'Pošalji', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/sr.js b/scripts/ckeditor/plugins/image/lang/sr.js deleted file mode 100755 index 36f8b4b9..00000000 --- a/scripts/ckeditor/plugins/image/lang/sr.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'sr', { - alertUrl: 'Унесите УРЛ слике', - alt: 'Алтернативни текст', - border: 'Оквир', - btnUpload: 'Пошаљи на сервер', - button2Img: 'Да ли желите да промените одабрану слику дугмета као једноставну слику?', - hSpace: 'HSpace', - img2Button: 'Да ли желите да промените одабрану слику у слику дугмета?', - infoTab: 'Инфо слике', - linkTab: 'Линк', - lockRatio: 'Закључај однос', - menu: 'Особине слика', - resetSize: 'Ресетуј величину', - title: 'Особине слика', - titleButton: 'Особине дугмета са сликом', - upload: 'Пошаљи', - urlMissing: 'Недостаје УРЛ слике.', - vSpace: 'VSpace', - validateBorder: 'Ивица треба да буде цифра.', - validateHSpace: 'HSpace треба да буде цифра.', - validateVSpace: 'VSpace треба да буде цифра.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/sv.js b/scripts/ckeditor/plugins/image/lang/sv.js deleted file mode 100755 index 2c9502b0..00000000 --- a/scripts/ckeditor/plugins/image/lang/sv.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'sv', { - alertUrl: 'Var god och ange bildens URL', - alt: 'Alternativ text', - border: 'Kant', - btnUpload: 'Skicka till server', - button2Img: 'Vill du omvandla den valda bildknappen på en enkel bild?', - hSpace: 'Horis. marginal', - img2Button: 'Vill du omvandla den valda bildknappen på en enkel bild?', - infoTab: 'Bildinformation', - linkTab: 'Länk', - lockRatio: 'Lås höjd/bredd förhållanden', - menu: 'Bildegenskaper', - resetSize: 'Återställ storlek', - title: 'Bildegenskaper', - titleButton: 'Egenskaper för bildknapp', - upload: 'Ladda upp', - urlMissing: 'Bildkällans URL saknas.', - vSpace: 'Vert. marginal', - validateBorder: 'Kantlinje måste vara ett heltal.', - validateHSpace: 'HSpace måste vara ett heltal.', - validateVSpace: 'VSpace måste vara ett heltal.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/th.js b/scripts/ckeditor/plugins/image/lang/th.js deleted file mode 100755 index 86d07204..00000000 --- a/scripts/ckeditor/plugins/image/lang/th.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'th', { - alertUrl: 'กรุณาระบุที่อยู่อ้างอิงออนไลน์ของไฟล์รูปภาพ (URL)', - alt: 'คำประกอบรูปภาพ', - border: 'ขนาดขอบรูป', - btnUpload: 'อัพโหลดไฟล์ไปเก็บไว้ที่เครื่องแม่ข่าย (เซิร์ฟเวอร์)', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'ระยะแนวนอน', - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'ข้อมูลของรูปภาพ', - linkTab: 'ลิ้งค์', - lockRatio: 'กำหนดอัตราส่วน กว้าง-สูง แบบคงที่', - menu: 'คุณสมบัติของ รูปภาพ', - resetSize: 'กำหนดรูปเท่าขนาดจริง', - title: 'คุณสมบัติของ รูปภาพ', - titleButton: 'คุณสมบัติของ ปุ่มแบบรูปภาพ', - upload: 'อัพโหลดไฟล์', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'ระยะแนวตั้ง', - validateBorder: 'Border must be a whole number.', // MISSING - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/tr.js b/scripts/ckeditor/plugins/image/lang/tr.js deleted file mode 100755 index 2dcbdaba..00000000 --- a/scripts/ckeditor/plugins/image/lang/tr.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'tr', { - alertUrl: 'Lütfen resmin URL\'sini yazınız', - alt: 'Alternatif Yazı', - border: 'Kenar', - btnUpload: 'Sunucuya Yolla', - button2Img: 'Seçili resim butonunu basit resime çevirmek istermisiniz?', - hSpace: 'Yatay Boşluk', - img2Button: 'Seçili olan resimi, resimli butona çevirmek istermisiniz?', - infoTab: 'Resim Bilgisi', - linkTab: 'Köprü', - lockRatio: 'Oranı Kilitle', - menu: 'Resim Özellikleri', - resetSize: 'Boyutu Başa Döndür', - title: 'Resim Özellikleri', - titleButton: 'Resimli Düğme Özellikleri', - upload: 'Karşıya Yükle', - urlMissing: 'Resmin URL kaynağı eksiktir.', - vSpace: 'Dikey Boşluk', - validateBorder: 'Çerçeve tam sayı olmalıdır.', - validateHSpace: 'HSpace tam sayı olmalıdır.', - validateVSpace: 'VSpace tam sayı olmalıdır.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/tt.js b/scripts/ckeditor/plugins/image/lang/tt.js deleted file mode 100755 index ca91379e..00000000 --- a/scripts/ckeditor/plugins/image/lang/tt.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'tt', { - alertUrl: 'Please type the image URL', // MISSING - alt: 'Альтернатив текст', - border: 'Чик', - btnUpload: 'Серверга җибәрү', - button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING - hSpace: 'HSpace', // MISSING - img2Button: 'Do you want to transform the selected image on a image button?', // MISSING - infoTab: 'Рәсем тасвирламасы', - linkTab: 'Сылталама', - lockRatio: 'Lock Ratio', // MISSING - menu: 'Рәсем үзлекләре', - resetSize: 'Reset Size', // MISSING - title: 'Рәсем үзлекләре', - titleButton: 'Рәсемле төймə үзлекләре', - upload: 'Йөкләү', - urlMissing: 'Image source URL is missing.', // MISSING - vSpace: 'VSpace', // MISSING - validateBorder: 'Чик киңлеге сан булырга тиеш', - validateHSpace: 'HSpace must be a whole number.', // MISSING - validateVSpace: 'VSpace must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/image/lang/ug.js b/scripts/ckeditor/plugins/image/lang/ug.js deleted file mode 100755 index fd688b7c..00000000 --- a/scripts/ckeditor/plugins/image/lang/ug.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'ug', { - alertUrl: 'سۈرەت ئادرېسىنى كىرگۈزۈڭ', - alt: 'تېكىست ئالماشتۇر', - border: 'گىرۋەك چوڭلۇقى', - btnUpload: 'مۇلازىمېتىرغا يۈكلە', - button2Img: 'نۆۋەتتىكى توپچىنى سۈرەتكە ئۆزگەرتەمسىز؟', - hSpace: 'توغرىسىغا ئارىلىقى', - img2Button: 'نۆۋەتتىكى سۈرەتنى توپچىغا ئۆزگەرتەمسىز؟', - infoTab: 'سۈرەت', - linkTab: 'ئۇلانما', - lockRatio: 'نىسبەتنى قۇلۇپلا', - menu: 'سۈرەت خاسلىقى', - resetSize: 'ئەسلى چوڭلۇق', - title: 'سۈرەت خاسلىقى', - titleButton: 'سۈرەت دائىرە خاسلىقى', - upload: 'يۈكلە', - urlMissing: 'سۈرەتنىڭ ئەسلى ھۆججەت ئادرېسى كەم', - vSpace: 'بويىغا ئارىلىقى', - validateBorder: 'گىرۋەك چوڭلۇقى چوقۇم سان بولىدۇ', - validateHSpace: 'توغرىسىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ', - validateVSpace: 'بويىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/uk.js b/scripts/ckeditor/plugins/image/lang/uk.js deleted file mode 100755 index 9b546482..00000000 --- a/scripts/ckeditor/plugins/image/lang/uk.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'uk', { - alertUrl: 'Будь ласка, вкажіть URL зображення', - alt: 'Альтернативний текст', - border: 'Рамка', - btnUpload: 'Надіслати на сервер', - button2Img: 'Бажаєте перетворити обрану кнопку-зображення на просте зображення?', - hSpace: 'Гориз. відступ', - img2Button: 'Бажаєте перетворити обране зображення на кнопку-зображення?', - infoTab: 'Інформація про зображення', - linkTab: 'Посилання', - lockRatio: 'Зберегти пропорції', - menu: 'Властивості зображення', - resetSize: 'Очистити поля розмірів', - title: 'Властивості зображення', - titleButton: 'Властивості кнопки із зображенням', - upload: 'Надіслати', - urlMissing: 'Вкажіть URL зображення.', - vSpace: 'Верт. відступ', - validateBorder: 'Ширина рамки повинна бути цілим числом.', - validateHSpace: 'Гориз. відступ повинен бути цілим числом.', - validateVSpace: 'Верт. відступ повинен бути цілим числом.' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/vi.js b/scripts/ckeditor/plugins/image/lang/vi.js deleted file mode 100755 index 23a3ca49..00000000 --- a/scripts/ckeditor/plugins/image/lang/vi.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'vi', { - alertUrl: 'Hãy đưa vào đường dẫn của ảnh', - alt: 'Chú thích ảnh', - border: 'Đường viền', - btnUpload: 'Tải lên máy chủ', - button2Img: 'Bạn có muốn chuyển nút bấm bằng ảnh được chọn thành ảnh?', - hSpace: 'Khoảng đệm ngang', - img2Button: 'Bạn có muốn chuyển đổi ảnh được chọn thành nút bấm bằng ảnh?', - infoTab: 'Thông tin của ảnh', - linkTab: 'Tab liên kết', - lockRatio: 'Giữ nguyên tỷ lệ', - menu: 'Thuộc tính của ảnh', - resetSize: 'Kích thước gốc', - title: 'Thuộc tính của ảnh', - titleButton: 'Thuộc tính nút của ảnh', - upload: 'Tải lên', - urlMissing: 'Thiếu đường dẫn hình ảnh', - vSpace: 'Khoảng đệm dọc', - validateBorder: 'Chiều rộng của đường viền phải là một số nguyên dương', - validateHSpace: 'Khoảng đệm ngang phải là một số nguyên dương', - validateVSpace: 'Khoảng đệm dọc phải là một số nguyên dương' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/zh-cn.js b/scripts/ckeditor/plugins/image/lang/zh-cn.js deleted file mode 100755 index 611dc626..00000000 --- a/scripts/ckeditor/plugins/image/lang/zh-cn.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'zh-cn', { - alertUrl: '请输入图像地址', - alt: '替换文本', - border: '边框大小', - btnUpload: '上传到服务器', - button2Img: '确定要把当前图像按钮转换为普通图像吗?', - hSpace: '水平间距', - img2Button: '确定要把当前图像改变为图像按钮吗?', - infoTab: '图像信息', - linkTab: '链接', - lockRatio: '锁定比例', - menu: '图像属性', - resetSize: '原始尺寸', - title: '图像属性', - titleButton: '图像域属性', - upload: '上传', - urlMissing: '缺少图像源文件地址', - vSpace: '垂直间距', - validateBorder: '边框大小必须为整数格式', - validateHSpace: '水平间距必须为整数格式', - validateVSpace: '垂直间距必须为整数格式' -} ); diff --git a/scripts/ckeditor/plugins/image/lang/zh.js b/scripts/ckeditor/plugins/image/lang/zh.js deleted file mode 100755 index d4eb9b0b..00000000 --- a/scripts/ckeditor/plugins/image/lang/zh.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'image', 'zh', { - alertUrl: '請輸入圖片 URL', - alt: '替代文字', - border: '框線', - btnUpload: '傳送到伺服器', - button2Img: '請問您確定要將「圖片按鈕」轉換成「圖片」嗎?', - hSpace: 'HSpace', - img2Button: '請問您確定要將「圖片」轉換成「圖片按鈕」嗎?', - infoTab: '影像資訊', - linkTab: '連結', - lockRatio: '固定比例', - menu: '影像屬性', - resetSize: '重設大小', - title: '影像屬性', - titleButton: '影像按鈕屬性', - upload: '上傳', - urlMissing: '遺失圖片來源之 URL ', - vSpace: 'VSpace', - validateBorder: '框線必須是整數。', - validateHSpace: 'HSpace 必須是整數。', - validateVSpace: 'VSpace 必須是整數。' -} ); diff --git a/scripts/ckeditor/plugins/image/plugin.js b/scripts/ckeditor/plugins/image/plugin.js deleted file mode 100755 index 426fb397..00000000 --- a/scripts/ckeditor/plugins/image/plugin.js +++ /dev/null @@ -1,170 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Image plugin - */ - -( function() { - - CKEDITOR.plugins.add( 'image', { - requires: 'dialog', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'image', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - // Abort when Image2 is to be loaded since both plugins - // share the same button, command, etc. names (#11222). - if ( editor.plugins.image2 ) - return; - - var pluginName = 'image'; - - // Register the dialog. - CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/image.js' ); - - var allowed = 'img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}', - required = 'img[alt,src]'; - - if ( CKEDITOR.dialog.isTabEnabled( editor, pluginName, 'advanced' ) ) - allowed = 'img[alt,dir,id,lang,longdesc,!src,title]{*}(*)'; - - // Register the command. - editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName, { - allowedContent: allowed, - requiredContent: required, - contentTransformations: [ - [ 'img{width}: sizeToStyle', 'img[width]: sizeToAttribute' ], - [ 'img{float}: alignmentToStyle', 'img[align]: alignmentToAttribute' ] - ] - } ) ); - - // Register the toolbar button. - editor.ui.addButton && editor.ui.addButton( 'Image', { - label: editor.lang.common.image, - command: pluginName, - toolbar: 'insert,10' - } ); - - editor.on( 'doubleclick', function( evt ) { - var element = evt.data.element; - - if ( element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() ) - evt.data.dialog = 'image'; - } ); - - // If the "menu" plugin is loaded, register the menu items. - if ( editor.addMenuItems ) { - editor.addMenuItems( { - image: { - label: editor.lang.image.menu, - command: 'image', - group: 'image' - } - } ); - } - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - editor.contextMenu.addListener( function( element, selection ) { - if ( getSelectedImage( editor, element ) ) - return { image: CKEDITOR.TRISTATE_OFF }; - } ); - } - }, - afterInit: function( editor ) { - // Abort when Image2 is to be loaded since both plugins - // share the same button, command, etc. names (#11222). - if ( editor.plugins.image2 ) - return; - - // Customize the behavior of the alignment commands. (#7430) - setupAlignCommand( 'left' ); - setupAlignCommand( 'right' ); - setupAlignCommand( 'center' ); - setupAlignCommand( 'block' ); - - function setupAlignCommand( value ) { - var command = editor.getCommand( 'justify' + value ); - if ( command ) { - if ( value == 'left' || value == 'right' ) { - command.on( 'exec', function( evt ) { - var img = getSelectedImage( editor ), - align; - if ( img ) { - align = getImageAlignment( img ); - if ( align == value ) { - img.removeStyle( 'float' ); - - // Remove "align" attribute when necessary. - if ( value == getImageAlignment( img ) ) - img.removeAttribute( 'align' ); - } else - img.setStyle( 'float', value ); - - evt.cancel(); - } - } ); - } - - command.on( 'refresh', function( evt ) { - var img = getSelectedImage( editor ), - align; - if ( img ) { - align = getImageAlignment( img ); - - this.setState( - ( align == value ) ? CKEDITOR.TRISTATE_ON : ( value == 'right' || value == 'left' ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); - - evt.cancel(); - } - } ); - } - } - } - } ); - - function getSelectedImage( editor, element ) { - if ( !element ) { - var sel = editor.getSelection(); - element = sel.getSelectedElement(); - } - - if ( element && element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() ) - return element; - } - - function getImageAlignment( element ) { - var align = element.getStyle( 'float' ); - - if ( align == 'inherit' || align == 'none' ) - align = 0; - - if ( !align ) - align = element.getAttribute( 'align' ); - - return align; - } - -} )(); - -/** - * Whether to remove links when emptying the link URL field in the image dialog. - * - * config.image_removeLinkByEmptyURL = false; - * - * @cfg {Boolean} [image_removeLinkByEmptyURL=true] - * @member CKEDITOR.config - */ -CKEDITOR.config.image_removeLinkByEmptyURL = true; - -/** - * Padding text to set off the image in preview area. - * - * config.image_previewText = CKEDITOR.tools.repeat( '___ ', 100 ); - * - * @cfg {String} [image_previewText='Lorem ipsum dolor...' (placeholder text)] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/image2/dev/assets/image1.jpg b/scripts/ckeditor/plugins/image2/dev/assets/image1.jpg deleted file mode 100755 index 2fe79eb2..00000000 Binary files a/scripts/ckeditor/plugins/image2/dev/assets/image1.jpg and /dev/null differ diff --git a/scripts/ckeditor/plugins/image2/dev/assets/image2.jpg b/scripts/ckeditor/plugins/image2/dev/assets/image2.jpg deleted file mode 100755 index 453ece5d..00000000 Binary files a/scripts/ckeditor/plugins/image2/dev/assets/image2.jpg and /dev/null differ diff --git a/scripts/ckeditor/plugins/image2/dev/contents.css b/scripts/ckeditor/plugins/image2/dev/contents.css deleted file mode 100755 index b0bc8f59..00000000 --- a/scripts/ckeditor/plugins/image2/dev/contents.css +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ - -.cke_widget_wrapper:hover:after { - content: "id: " attr(data-cke-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; -} - -.align-left { - float: left; - margin-right: 20px; -} - -.align-right { - float: right; - margin-left: 20px; -} - -.align-center { - text-align: center; -} - -.align-center > figure { - display: inline-block; -} diff --git a/scripts/ckeditor/plugins/image2/dev/image2.html b/scripts/ckeditor/plugins/image2/dev/image2.html deleted file mode 100755 index b4bd71fe..00000000 --- a/scripts/ckeditor/plugins/image2/dev/image2.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - Widget Image — CKEditor Sample - - - - - - - - - - - - -

    - CKEditor Samples » Widget Image -

    - -

    Classic (iframe-based) Sample

    - - - -

    Inline Sample

    - -
    -

    Apollo 11

    - -
    - Saturn V -
    Roll out of Saturn V on launch pad
    -
    - -

    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.

    - -

    Broadcasting and quotes

    - -

    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.

    -
    - -
    - The Eagle -
    The Eagle in lunar orbit
    -
    - -

    Technical details

    - -

    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:

    - -
      -
    1. Command Module with a cabin for the three astronauts which was the only part which landed back on Earth
    2. -
    3. Service Module which supported the Command Module with propulsion, electrical power, oxygen and water
    4. -
    5. Lunar Module for landing on the Moon.
    6. -
    - -

    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.

    - -

    - Saturn V -

    - -
    -

    Source: Wikipedia.org

    -
    - -

    Div Editing Area Sample

    - - - -

    alignClasses samples

    - - - -

    - - -

    - - - - - - diff --git a/scripts/ckeditor/plugins/image2/dialogs/image2.js b/scripts/ckeditor/plugins/image2/dialogs/image2.js deleted file mode 100755 index 3c36a001..00000000 --- a/scripts/ckeditor/plugins/image2/dialogs/image2.js +++ /dev/null @@ -1,657 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Image plugin based on Widgets API - */ - -'use strict'; - - -CKEDITOR.dialog.add( 'image2', function( editor ) { - - // RegExp: 123, 123px, empty string "" - var regexGetSizeOrEmpty = /(^\s*(\d+)(px)?\s*$)|^$/i, - - lockButtonId = CKEDITOR.tools.getNextId(), - resetButtonId = CKEDITOR.tools.getNextId(), - - lang = editor.lang.image2, - commonLang = editor.lang.common, - - lockResetStyle = 'margin-top:18px;width:40px;height:20px;', - lockResetHtml = new CKEDITOR.template( - '' ).output( { - lockButtonId: lockButtonId, - resetButtonId: resetButtonId - } ), - - helpers = CKEDITOR.plugins.image2, - - // Editor instance configuration. - config = editor.config, - - // Content restrictions defined by the widget which - // impact on dialog structure and presence of fields. - features = editor.widgets.registered.image.features, - - // Functions inherited from image2 plugin. - checkHasNaturalRatio = helpers.checkHasNaturalRatio, - getNatural = helpers.getNatural, - - // Global variables referring to the dialog's context. - doc, widget, image, - - // Global variable referring to this dialog's image pre-loader. - preLoader, - - // Global variables holding the original size of the image. - domWidth, domHeight, - - // Global variables related to image pre-loading. - preLoadedWidth, preLoadedHeight, srcChanged, - - // Global variables related to size locking. - lockRatio, userDefinedLock, - - // Global variables referring to dialog fields and elements. - lockButton, resetButton, widthField, heightField, - - natural; - - // Validates dimension. Allowed values are: - // "123px", "123", "" (empty string) - function validateDimension() { - var match = this.getValue().match( regexGetSizeOrEmpty ), - isValid = !!( match && parseInt( match[ 1 ], 10 ) !== 0 ); - - if ( !isValid ) - alert( commonLang[ 'invalid' + CKEDITOR.tools.capitalize( this.id ) ] ); - - return isValid; - } - - // Creates a function that pre-loads images. The callback function passes - // [image, width, height] or null if loading failed. - // - // @returns {Function} - function createPreLoader() { - var image = doc.createElement( 'img' ), - listeners = []; - - function addListener( event, callback ) { - listeners.push( image.once( event, function( evt ) { - removeListeners(); - callback( evt ); - } ) ); - } - - function removeListeners() { - var l; - - while ( ( l = listeners.pop() ) ) - l.removeListener(); - } - - // @param {String} src. - // @param {Function} callback. - return function( src, callback, scope ) { - addListener( 'load', function() { - // Don't use image.$.(width|height) since it's buggy in IE9-10 (#11159) - var dimensions = getNatural( image ); - - callback.call( scope, image, dimensions.width, dimensions.height ); - } ); - - addListener( 'error', function() { - callback( null ); - } ); - - addListener( 'abort', function() { - callback( null ); - } ); - - image.setAttribute( 'src', - ( config.baseHref || '' ) + src + '?' + Math.random().toString( 16 ).substring( 2 ) ); - }; - } - - // This function updates width and height fields once the - // "src" field is altered. Along with dimensions, also the - // dimensions lock is adjusted. - function onChangeSrc() { - var value = this.getValue(); - - toggleDimensions( false ); - - // Remember that src is different than default. - if ( value !== widget.data.src ) { - // Update dimensions of the image once it's preloaded. - preLoader( value, function( image, width, height ) { - // Re-enable width and height fields. - toggleDimensions( true ); - - // There was problem loading the image. Unlock ratio. - if ( !image ) - return toggleLockRatio( false ); - - // Fill width field with the width of the new image. - widthField.setValue( width ); - - // Fill height field with the height of the new image. - heightField.setValue( height ); - - // Cache the new width. - preLoadedWidth = width; - - // Cache the new height. - preLoadedHeight = height; - - // Check for new lock value if image exist. - toggleLockRatio( helpers.checkHasNaturalRatio( image ) ); - } ); - - srcChanged = true; - } - - // Value is the same as in widget data but is was - // modified back in time. Roll back dimensions when restoring - // default src. - else if ( srcChanged ) { - // Re-enable width and height fields. - toggleDimensions( true ); - - // Restore width field with cached width. - widthField.setValue( domWidth ); - - // Restore height field with cached height. - heightField.setValue( domHeight ); - - // Src equals default one back again. - srcChanged = false; - } - - // Value is the same as in widget data and it hadn't - // been modified. - else { - // Re-enable width and height fields. - toggleDimensions( true ); - } - } - - function onChangeDimension() { - // If ratio is un-locked, then we don't care what's next. - if ( !lockRatio ) - return; - - var value = this.getValue(); - - // No reason to auto-scale or unlock if the field is empty. - if ( !value ) - return; - - // If the value of the field is invalid (e.g. with %), unlock ratio. - if ( !value.match( regexGetSizeOrEmpty ) ) - toggleLockRatio( false ); - - // No automatic re-scale when dimension is '0'. - if ( value === '0' ) - return; - - var isWidth = this.id == 'width', - // If dialog opened for the new image, domWidth and domHeight - // will be empty. Use dimensions from pre-loader in such case instead. - width = domWidth || preLoadedWidth, - height = domHeight || preLoadedHeight; - - // If changing width, then auto-scale height. - if ( isWidth ) - value = Math.round( height * ( value / width ) ); - - // If changing height, then auto-scale width. - else - value = Math.round( width * ( value / height ) ); - - // If the value is a number, apply it to the other field. - if ( !isNaN( value ) ) - ( isWidth ? heightField : widthField ).setValue( value ); - } - - // Set-up function for lock and reset buttons: - // * Adds lock and reset buttons to focusables. Check if button exist first - // because it may be disabled e.g. due to ACF restrictions. - // * Register mouseover and mouseout event listeners for UI manipulations. - // * Register click event listeners for buttons. - function onLoadLockReset() { - var dialog = this.getDialog(); - - function setupMouseClasses( el ) { - el.on( 'mouseover', function() { - this.addClass( 'cke_btn_over' ); - }, el ); - - el.on( 'mouseout', function() { - this.removeClass( 'cke_btn_over' ); - }, el ); - } - - // Create references to lock and reset buttons for this dialog instance. - lockButton = doc.getById( lockButtonId ); - resetButton = doc.getById( resetButtonId ); - - // Activate (Un)LockRatio button - if ( lockButton ) { - // Consider that there's an additional focusable field - // in the dialog when the "browse" button is visible. - dialog.addFocusable( lockButton, 4 + hasFileBrowser ); - - lockButton.on( 'click', function( evt ) { - toggleLockRatio(); - evt.data && evt.data.preventDefault(); - }, this.getDialog() ); - - setupMouseClasses( lockButton ); - } - - // Activate the reset size button. - if ( resetButton ) { - // Consider that there's an additional focusable field - // in the dialog when the "browse" button is visible. - dialog.addFocusable( resetButton, 5 + hasFileBrowser ); - - // Fills width and height fields with the original dimensions of the - // image (stored in widget#data since widget#init). - resetButton.on( 'click', function( evt ) { - // If there's a new image loaded, reset button should revert - // cached dimensions of pre-loaded DOM element. - if ( srcChanged ) { - widthField.setValue( preLoadedWidth ); - heightField.setValue( preLoadedHeight ); - } - - // If the old image remains, reset button should revert - // dimensions as loaded when the dialog was first shown. - else { - widthField.setValue( domWidth ); - heightField.setValue( domHeight ); - } - - evt.data && evt.data.preventDefault(); - }, this ); - - setupMouseClasses( resetButton ); - } - } - - function toggleLockRatio( enable ) { - // No locking if there's no radio (i.e. due to ACF). - if ( !lockButton ) - return; - - if ( typeof enable == 'boolean' ) { - // If user explicitly wants to decide whether - // to lock or not, don't do anything. - if ( userDefinedLock ) - return; - - lockRatio = enable; - } - - // Undefined. User changed lock value. - else { - var width = widthField.getValue(), - height; - - userDefinedLock = true; - lockRatio = !lockRatio; - - // Automatically adjust height to width to match - // the original ratio (based on dom- dimensions). - if ( lockRatio && width ) { - height = domHeight / domWidth * width; - - if ( !isNaN( height ) ) - heightField.setValue( Math.round( height ) ); - } - } - - lockButton[ lockRatio ? 'removeClass' : 'addClass' ]( 'cke_btn_unlocked' ); - lockButton.setAttribute( 'aria-checked', lockRatio ); - - // Ratio button hc presentation - WHITE SQUARE / BLACK SQUARE - if ( CKEDITOR.env.hc ) { - var icon = lockButton.getChild( 0 ); - icon.setHtml( lockRatio ? CKEDITOR.env.ie ? '\u25A0' : '\u25A3' : CKEDITOR.env.ie ? '\u25A1' : '\u25A2' ); - } - } - - function toggleDimensions( enable ) { - var method = enable ? 'enable' : 'disable'; - - widthField[ method ](); - heightField[ method ](); - } - - var hasFileBrowser = !!( config.filebrowserImageBrowseUrl || config.filebrowserBrowseUrl ), - srcBoxChildren = [ - { - id: 'src', - type: 'text', - label: commonLang.url, - onKeyup: onChangeSrc, - onChange: onChangeSrc, - setup: function( widget ) { - this.setValue( widget.data.src ); - }, - commit: function( widget ) { - widget.setData( 'src', this.getValue() ); - }, - validate: CKEDITOR.dialog.validate.notEmpty( lang.urlMissing ) - } - ]; - - // Render the "Browse" button on demand to avoid an "empty" (hidden child) - // space in dialog layout that distorts the UI. - if ( hasFileBrowser ) { - srcBoxChildren.push( { - type: 'button', - id: 'browse', - // v-align with the 'txtUrl' field. - // TODO: We need something better than a fixed size here. - style: 'display:inline-block;margin-top:14px;', - align: 'center', - label: editor.lang.common.browseServer, - hidden: true, - filebrowser: 'info:src' - } ); - } - - return { - title: lang.title, - minWidth: 250, - minHeight: 100, - onLoad: function() { - // Create a "global" reference to the document for this dialog instance. - doc = this._.element.getDocument(); - - // Create a pre-loader used for determining dimensions of new images. - preLoader = createPreLoader(); - }, - onShow: function() { - // Create a "global" reference to edited widget. - widget = this.widget; - - // Create a "global" reference to widget's image. - image = widget.parts.image; - - // Reset global variables. - srcChanged = userDefinedLock = lockRatio = false; - - // Natural dimensions of the image. - natural = getNatural( image ); - - // Get the natural width of the image. - preLoadedWidth = domWidth = natural.width; - - // Get the natural height of the image. - preLoadedHeight = domHeight = natural.height; - }, - contents: [ - { - id: 'info', - label: lang.infoTab, - elements: [ - { - type: 'vbox', - padding: 0, - children: [ - { - type: 'hbox', - widths: [ '100%' ], - children: srcBoxChildren - } - ] - }, - { - id: 'alt', - type: 'text', - label: lang.alt, - setup: function( widget ) { - this.setValue( widget.data.alt ); - }, - commit: function( widget ) { - widget.setData( 'alt', this.getValue() ); - } - }, - { - type: 'hbox', - widths: [ '25%', '25%', '50%' ], - requiredContent: features.dimension.requiredContent, - children: [ - { - type: 'text', - width: '45px', - id: 'width', - label: commonLang.width, - validate: validateDimension, - onKeyUp: onChangeDimension, - onLoad: function() { - widthField = this; - }, - setup: function( widget ) { - this.setValue( widget.data.width ); - }, - commit: function( widget ) { - widget.setData( 'width', this.getValue() ); - } - }, - { - type: 'text', - id: 'height', - width: '45px', - label: commonLang.height, - validate: validateDimension, - onKeyUp: onChangeDimension, - onLoad: function() { - heightField = this; - }, - setup: function( widget ) { - this.setValue( widget.data.height ); - }, - commit: function( widget ) { - widget.setData( 'height', this.getValue() ); - } - }, - { - id: 'lock', - type: 'html', - style: lockResetStyle, - onLoad: onLoadLockReset, - setup: function( widget ) { - toggleLockRatio( widget.data.lock ); - }, - commit: function( widget ) { - widget.setData( 'lock', lockRatio ); - }, - html: lockResetHtml - } - ] - }, - { - type: 'hbox', - id: 'alignment', - requiredContent: features.align.requiredContent, - children: [ - { - id: 'align', - type: 'radio', - items: [ - [ commonLang.alignNone, 'none' ], - [ commonLang.alignLeft, 'left' ], - [ commonLang.alignCenter, 'center' ], - [ commonLang.alignRight, 'right' ] ], - label: commonLang.align, - setup: function( widget ) { - this.setValue( widget.data.align ); - }, - commit: function( widget ) { - widget.setData( 'align', this.getValue() ); - } - } - ] - }, - { - id: 'hasCaption', - type: 'checkbox', - label: lang.captioned, - requiredContent: features.caption.requiredContent, - setup: function( widget ) { - this.setValue( widget.data.hasCaption ); - }, - commit: function( widget ) { - widget.setData( 'hasCaption', this.getValue() ); - } - } - ] - }, - { - id: 'Upload', - filebrowser: 'uploadButton', - label: lang.uploadTab, - elements: [ - { - type: 'file', - id: 'upload', - label: lang.btnUpload, - style: 'height:40px' - }, - { - type: 'fileButton', - id: 'uploadButton', - onLoad: function( a ) { - CKEDITOR.document.getById( this.domId ).on( 'click', function() { - - // grab the file(s) from the file input tag and upload it using AJAX - var dialog = this.getDialog(); - var files = dialog.getContentElement("Upload", "upload").getInputElement().$.files; - - var file_missing_msg = localize("Please select a file!"); - - // no files were selected - if(files.length == 0) { - alert(file_missing_msg); - return false; - } - - // Create the form data object for uploading with POST - var formData = new FormData(); - - // add all the other attachments that were previously added - $( "input[name^='attachment']" ).each(function(idx, el) { - formData.append($(el).attr('name'), $(el).attr('value')); - }); - - formData.append('drop-count', files.length); // number of files being uploaded - for (var i = 0; i < files.length; i++) { - formData.append('next_attachment', parent.next_attachment); - formData.append('encoding', "HTML"); - formData.append('attfile', files[i]); - - parent.next_attachment += 1; - } - formData.append('cmd', "Upload"); // Command for server to recognize this as an file upload - - var URL = 'upload.html?next_attachment=' + parent.next_attachment; - - $.ajax({ - xhr: function() - { - var xhr = new window.XMLHttpRequest(); - - // Start the progress bar - progressJs().start(); - - //Upload progress - xhr.upload.addEventListener("progress", function(evt){ - if (evt.lengthComputable) { - var percentComplete = evt.loaded / evt.total; - //Update the progress bar - progressJs().set(percentComplete); - } - }, false); - - return xhr; - }, - contentType: false, - processData: false, - type: 'POST', - url: URL, - data: formData, - success: function(data) { - - // Extract the last attachment section of the returned page - var attch = $(".attachment", $(data)).last(); - - // Create a new attachment section that will replace the current one - var attch_upload = $("#attachment_upload", $(data)); - - // The last img tag in this html snippet contains the source of the image which we need - // We first split the html based on img tags - var arr = attch.html().split("' + - template + - '
    {captionPlaceholder}
    ' + - '' ), - alignmentsArr = [ 'left', 'center', 'right' ], - alignmentsObj = { left: 0, center: 1, right: 2 }, - regexPercent = /^\s*(\d+\%)\s*$/i; - - CKEDITOR.plugins.add( 'image2', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - requires: 'widget,dialog', - icons: 'image', - hidpi: true, - - onLoad: function() { - CKEDITOR.addCss( - '.cke_image_nocaption{' + - // This is to remove unwanted space so resize - // wrapper is displayed property. - 'line-height:0' + - '}' + - '.cke_editable.cke_image_sw, .cke_editable.cke_image_sw *{cursor:sw-resize !important}' + - '.cke_editable.cke_image_se, .cke_editable.cke_image_se *{cursor:se-resize !important}' + - '.cke_image_resizer{' + - 'display:none;' + - 'position:absolute;' + - 'width:10px;' + - 'height:10px;' + - 'bottom:-5px;' + - 'right:-5px;' + - 'background:#000;' + - 'outline:1px solid #fff;' + - // Prevent drag handler from being misplaced (#11207). - 'line-height:0;' + - 'cursor:se-resize;' + - '}' + - '.cke_image_resizer_wrapper{' + - 'position:relative;' + - 'display:inline-block;' + - 'line-height:0;' + - '}' + - // Bottom-left corner style of the resizer. - '.cke_image_resizer.cke_image_resizer_left{' + - 'right:auto;' + - 'left:-5px;' + - 'cursor:sw-resize;' + - '}' + - '.cke_widget_wrapper:hover .cke_image_resizer,' + - '.cke_image_resizer.cke_image_resizing{' + - 'display:block' + - '}' + - // Expand widget wrapper when linked inline image. - '.cke_widget_wrapper>a{' + - 'display:inline-block' + - '}' ); - }, - - init: function( editor ) { - // Adapts configuration from original image plugin. Should be removed - // when we'll rename image2 to image. - var config = editor.config, - lang = editor.lang.image2, - image = widgetDef( editor ); - - // Since filebrowser plugin discovers config properties by dialog (plugin?) - // names (sic!), this hack will be necessary as long as Image2 is not named - // Image. And since Image2 will never be Image, for sure some filebrowser logic - // got to be refined. - config.filebrowserImage2BrowseUrl = config.filebrowserImageBrowseUrl; - config.filebrowserImage2UploadUrl = config.filebrowserImageUploadUrl; - - // Add custom elementspath names to widget definition. - image.pathName = lang.pathName; - image.editables.caption.pathName = lang.pathNameCaption; - - // Register the widget. - editor.widgets.add( 'image', image ); - - // Add toolbar button for this plugin. - editor.ui.addButton && editor.ui.addButton( 'Image', { - label: editor.lang.common.image, - command: 'image', - toolbar: 'insert,10' - } ); - - // Register context menu option for editing widget. - if ( editor.contextMenu ) { - editor.addMenuGroup( 'image', 10 ); - - editor.addMenuItem( 'image', { - label: lang.menu, - command: 'image', - group: 'image' - } ); - } - - CKEDITOR.dialog.add( 'image2', this.path + 'dialogs/image2.js' ); - }, - - afterInit: function( editor ) { - // Integrate with align commands (justify plugin). - var align = { left: 1, right: 1, center: 1, block: 1 }, - integrate = alignCommandIntegrator( editor ); - - for ( var value in align ) - integrate( value ); - - // Integrate with link commands (link plugin). - linkCommandIntegrator( editor ); - } - } ); - - // Wiget states (forms) depending on alignment and configuration. - // - // Non-captioned widget (inline styles) - // ┌──────┬───────────────────────────────┬─────────────────────────────┐ - // │Align │Internal form │Data │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │none │ │ - // │ │ │ │ - // │ │ │ │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │left │ │ - // │ │ │ │ - // │ │ │ │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │center│

    │ - // │ │

    │ - // │ │

    │ - // │ │

    │ │ - // │ │
    │ │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │right │ │ - // │ │ │ │ - // │ │ │ │ - // └──────┴───────────────────────────────┴─────────────────────────────┘ - // - // Non-captioned widget (config.image2_alignClasses defined) - // ┌──────┬───────────────────────────────┬─────────────────────────────┐ - // │Align │Internal form │Data │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │none │ │ - // │ │ │ │ - // │ │ │ │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │left │ │ - // │ │ │ │ - // │ │ │ │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │center│

    │ - // │ │

    │ - // │ │

    │ - // │ │

    │ │ - // │ │
    │ │ - // ├──────┼───────────────────────────────┼─────────────────────────────┤ - // │right │ │ - // │ │ │ │ - // │ │ │ │ - // └──────┴───────────────────────────────┴─────────────────────────────┘ - // - // Captioned widget (inline styles) - // ┌──────┬────────────────────────────────────────┬────────────────────────────────────────┐ - // │Align │Internal form │Data │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │none │
    │ - // │ │
    │ │ - // │ │ │ │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │left │
    │ - // │ │
    │ │ - // │ │ │ │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │center│
    │ - // │ │
    │ - // │ │ │

    │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │right │
    │ - // │ │
    │ │ - // │ │ │ │ - // └──────┴────────────────────────────────────────┴────────────────────────────────────────┘ - // - // Captioned widget (config.image2_alignClasses defined) - // ┌──────┬────────────────────────────────────────┬────────────────────────────────────────┐ - // │Align │Internal form │Data │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │none │
    │ - // │ │
    │ │ - // │ │ │ │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │left │
    │ - // │ │
    │ │ - // │ │ │ │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │center│
    │ - // │ │
    │ - // │ │ │

    │ - // ├──────┼────────────────────────────────────────┼────────────────────────────────────────┤ - // │right │
    │ - // │ │
    │ │ - // │ │ │ │ - // └──────┴────────────────────────────────────────┴────────────────────────────────────────┘ - // - // @param {CKEDITOR.editor} - // @returns {Object} - function widgetDef( editor ) { - var alignClasses = editor.config.image2_alignClasses, - captionedClass = editor.config.image2_captionedClass; - - function deflate() { - if ( this.deflated ) - return; - - // Remember whether widget was focused before destroyed. - if ( editor.widgets.focused == this.widget ) - this.focused = true; - - editor.widgets.destroy( this.widget ); - - // Mark widget was destroyed. - this.deflated = true; - } - - function inflate() { - var editable = editor.editable(), - doc = editor.document; - - // Create a new widget. This widget will be either captioned - // non-captioned, block or inline according to what is the - // new state of the widget. - if ( this.deflated ) { - this.widget = editor.widgets.initOn( this.element, 'image', this.widget.data ); - - // Once widget was re-created, it may become an inline element without - // block wrapper (i.e. when unaligned, end not captioned). Let's do some - // sort of autoparagraphing here (#10853). - if ( this.widget.inline && !( new CKEDITOR.dom.elementPath( this.widget.wrapper, editable ).block ) ) { - var block = doc.createElement( editor.activeEnterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ); - block.replace( this.widget.wrapper ); - this.widget.wrapper.move( block ); - } - - // The focus must be transferred from the old one (destroyed) - // to the new one (just created). - if ( this.focused ) { - this.widget.focus(); - delete this.focused; - } - - delete this.deflated; - } - - // If now widget was destroyed just update wrapper's alignment. - // According to the new state. - else - setWrapperAlign( this.widget, alignClasses ); - } - - return { - allowedContent: getWidgetAllowedContent( editor ), - - requiredContent: 'img[src,alt]', - - features: getWidgetFeatures( editor ), - - styleableElements: 'img figure', - - // This widget converts style-driven dimensions to attributes. - contentTransformations: [ - [ 'img[width]: sizeToAttribute' ] - ], - - // This widget has an editable caption. - editables: { - caption: { - selector: 'figcaption', - allowedContent: 'br em strong sub sup u s; a[!href]' - } - }, - - parts: { - image: 'img', - caption: 'figcaption' - // parts#link defined in widget#init - }, - - // The name of this widget's dialog. - dialog: 'image2', - - // Template of the widget: plain image. - template: template, - - data: function() { - var features = this.features; - - // Image can't be captioned when figcaption is disallowed (#11004). - if ( this.data.hasCaption && !editor.filter.checkFeature( features.caption ) ) - this.data.hasCaption = false; - - // Image can't be aligned when floating is disallowed (#11004). - if ( this.data.align != 'none' && !editor.filter.checkFeature( features.align ) ) - this.data.align = 'none'; - - // Convert the internal form of the widget from the old state to the new one. - this.shiftState( { - widget: this, - element: this.element, - oldData: this.oldData, - newData: this.data, - deflate: deflate, - inflate: inflate - } ); - - // Update widget.parts.link since it will not auto-update unless widget - // is destroyed and re-inited. - if ( !this.data.link ) { - if ( this.parts.link ) - delete this.parts.link; - } else { - if ( !this.parts.link ) - this.parts.link = this.parts.image.getParent(); - } - - this.parts.image.setAttributes( { - src: this.data.src, - - // This internal is required by the editor. - 'data-cke-saved-src': this.data.src, - - alt: this.data.alt - } ); - - // If shifting non-captioned -> captioned, remove classes - // related to styles from . - if ( this.oldData && !this.oldData.hasCaption && this.data.hasCaption ) { - for ( var c in this.data.classes ) - this.parts.image.removeClass( c ); - } - - // Set dimensions of the image according to gathered data. - // Do it only when the attributes are allowed (#11004). - if ( editor.filter.checkFeature( features.dimension ) ) - setDimensions( this ); - - // Cache current data. - this.oldData = CKEDITOR.tools.extend( {}, this.data ); - }, - - init: function() { - var helpers = CKEDITOR.plugins.image2, - image = this.parts.image, - data = { - hasCaption: !!this.parts.caption, - src: image.getAttribute( 'src' ), - alt: image.getAttribute( 'alt' ) || '', - width: image.getAttribute( 'width' ) || '', - height: image.getAttribute( 'height' ) || '', - - // Lock ratio is on by default (#10833). - lock: this.ready ? helpers.checkHasNaturalRatio( image ) : true - }; - - // If we used 'a' in widget#parts definition, it could happen that - // selected element is a child of widget.parts#caption. Since there's no clever - // way to solve it with CSS selectors, it's done like that. (#11783). - var link = image.getAscendant( 'a' ); - - if ( link && this.wrapper.contains( link ) ) - this.parts.link = link; - - // Depending on configuration, read style/class from element and - // then remove it. Removed style/class will be set on wrapper in #data listener. - // Note: Center alignment is detected during upcast, so only left/right cases - // are checked below. - if ( !data.align ) { - // Read the initial left/right alignment from the class set on element. - if ( alignClasses ) { - if ( this.element.hasClass( alignClasses[ 0 ] ) ) - data.align = 'left'; - else if ( this.element.hasClass( alignClasses[ 2 ] ) ) - data.align = 'right'; - - if ( data.align ) - this.element.removeClass( alignClasses[ alignmentsObj[ data.align ] ] ); - else - data.align = 'none'; - } - // Read initial float style from figure/image and then remove it. - else { - data.align = this.element.getStyle( 'float' ) || image.getStyle( 'float' ) || 'none'; - this.element.removeStyle( 'float' ); - image.removeStyle( 'float' ); - } - } - - // Update data.link object with attributes if the link has been discovered. - if ( editor.plugins.link && this.parts.link ) { - data.link = CKEDITOR.plugins.link.parseLinkAttributes( editor, this.parts.link ); - - // Get rid of cke_widget_* classes in data. Otherwise - // they might appear in link dialog. - var advanced = data.link.advanced; - if ( advanced && advanced.advCSSClasses ) - advanced.advCSSClasses = CKEDITOR.tools.trim( advanced.advCSSClasses.replace( /cke_\S+/, '' ) ); - } - - // Get rid of extra vertical space when there's no caption. - // It will improve the look of the resizer. - this.wrapper[ ( data.hasCaption ? 'remove' : 'add' ) + 'Class' ]( 'cke_image_nocaption' ); - - this.setData( data ); - - // Setup dynamic image resizing with mouse. - // Don't initialize resizer when dimensions are disallowed (#11004). - if ( editor.filter.checkFeature( this.features.dimension ) ) - setupResizer( this ); - - this.shiftState = helpers.stateShifter( this.editor ); - - // Add widget editing option to its context menu. - this.on( 'contextMenu', function( evt ) { - evt.data.image = CKEDITOR.TRISTATE_OFF; - - // Integrate context menu items for link. - // Note that widget may be wrapped in a link, which - // does not belong to that widget (#11814). - if ( this.parts.link || this.wrapper.getAscendant( 'a' ) ) - evt.data.link = evt.data.unlink = CKEDITOR.TRISTATE_OFF; - } ); - - // Pass the reference to this widget to the dialog. - this.on( 'dialog', function( evt ) { - evt.data.widget = this; - }, this ); - }, - - // Overrides default method to handle internal mutability of Image2. - // @see CKEDITOR.plugins.widget#addClass - addClass: function( className ) { - getStyleableElement( this ).addClass( className ); - }, - - // Overrides default method to handle internal mutability of Image2. - // @see CKEDITOR.plugins.widget#hasClass - hasClass: function( className ) { - return getStyleableElement( this ).hasClass( className ); - }, - - // Overrides default method to handle internal mutability of Image2. - // @see CKEDITOR.plugins.widget#removeClass - removeClass: function( className ) { - getStyleableElement( this ).removeClass( className ); - }, - - // Overrides default method to handle internal mutability of Image2. - // @see CKEDITOR.plugins.widget#getClasses - getClasses: ( function() { - var classRegex = new RegExp( '^(' + [].concat( captionedClass, alignClasses ).join( '|' ) + ')$' ); - - return function() { - var classes = this.repository.parseElementClasses( getStyleableElement( this ).getAttribute( 'class' ) ); - - // Neither config.image2_captionedClass nor config.image2_alignClasses - // do not belong to style classes. - for ( var c in classes ) { - if ( classRegex.test( c ) ) - delete classes[ c ]; - } - - return classes; - }; - } )(), - - upcast: upcastWidgetElement( editor ), - downcast: downcastWidgetElement( editor ) - }; - } - - CKEDITOR.plugins.image2 = { - stateShifter: function( editor ) { - // Tag name used for centering non-captioned widgets. - var doc = editor.document, - alignClasses = editor.config.image2_alignClasses, - captionedClass = editor.config.image2_captionedClass, - editable = editor.editable(), - - // The order that stateActions get executed. It matters! - shiftables = [ 'hasCaption', 'align', 'link' ]; - - // Atomic procedures, one per state variable. - var stateActions = { - align: function( shift, oldValue, newValue ) { - var el = shift.element; - - // Alignment changed. - if ( shift.changed.align ) { - // No caption in the new state. - if ( !shift.newData.hasCaption ) { - // Changed to "center" (non-captioned). - if ( newValue == 'center' ) { - shift.deflate(); - shift.element = wrapInCentering( editor, el ); - } - - // Changed to "non-center" from "center" while caption removed. - if ( !shift.changed.hasCaption && oldValue == 'center' && newValue != 'center' ) { - shift.deflate(); - shift.element = unwrapFromCentering( el ); - } - } - } - - // Alignment remains and "center" removed caption. - else if ( newValue == 'center' && shift.changed.hasCaption && !shift.newData.hasCaption ) { - shift.deflate(); - shift.element = wrapInCentering( editor, el ); - } - - // Finally set display for figure. - if ( !alignClasses && el.is( 'figure' ) ) { - if ( newValue == 'center' ) - el.setStyle( 'display', 'inline-block' ); - else - el.removeStyle( 'display' ); - } - }, - - hasCaption: function( shift, oldValue, newValue ) { - // This action is for real state change only. - if ( !shift.changed.hasCaption ) - return; - - // Get or from widget. Note that widget element might itself - // be what we're looking for. Also element can be

    ...

    . - var imageOrLink; - if ( shift.element.is( { img: 1, a: 1 } ) ) - imageOrLink = shift.element; - else - imageOrLink = shift.element.findOne( 'a,img' ); - - // Switching hasCaption always destroys the widget. - shift.deflate(); - - // There was no caption, but the caption is to be added. - if ( newValue ) { - // Create new
    from widget template. - var figure = CKEDITOR.dom.element.createFromHtml( templateBlock.output( { - captionedClass: captionedClass, - captionPlaceholder: editor.lang.image2.captionPlaceholder - } ), doc ); - - // Replace element with
    . - replaceSafely( figure, shift.element ); - - // Use old or instead of the one from the template, - // so we won't lose additional attributes. - imageOrLink.replace( figure.findOne( 'img' ) ); - - // Update widget's element. - shift.element = figure; - } - - // The caption was present, but now it's to be removed. - else { - // Unwrap or from figure. - imageOrLink.replace( shift.element ); - - // Update widget's element. - shift.element = imageOrLink; - } - }, - - link: function( shift, oldValue, newValue ) { - if ( shift.changed.link ) { - var img = shift.element.is( 'img' ) ? - shift.element : shift.element.findOne( 'img' ), - link = shift.element.is( 'a' ) ? - shift.element : shift.element.findOne( 'a' ), - // Why deflate: - // If element is , it will be wrapped into , - // which becomes a new widget.element. - // If element is , it will be unlinked - // so becomes a new widget.element. - needsDeflate = ( shift.element.is( 'a' ) && !newValue ) || ( shift.element.is( 'img' ) && newValue ), - newEl; - - if ( needsDeflate ) - shift.deflate(); - - // If unlinked the image, returned element is . - if ( !newValue ) - newEl = unwrapFromLink( link ); - else { - // If linked the image, returned element is . - if ( !oldValue ) - newEl = wrapInLink( img, shift.newData.link ); - - // Set and remove all attributes associated with this state. - var attributes = CKEDITOR.plugins.link.getLinkAttributes( editor, newValue ); - - if ( !CKEDITOR.tools.isEmpty( attributes.set ) ) - ( newEl || link ).setAttributes( attributes.set ); - - if ( attributes.removed.length ) - ( newEl || link ).removeAttributes( attributes.removed ); - } - - if ( needsDeflate ) - shift.element = newEl; - } - } - }; - - function wrapInCentering( editor, element ) { - var attribsAndStyles = {}; - - if ( alignClasses ) - attribsAndStyles.attributes = { 'class': alignClasses[ 1 ] }; - else - attribsAndStyles.styles = { 'text-align': 'center' }; - - // There's no gentle way to center inline element with CSS, so create p/div - // that wraps widget contents and does the trick either with style or class. - var center = doc.createElement( - editor.activeEnterMode == CKEDITOR.ENTER_P ? 'p' : 'div', attribsAndStyles ); - - // Replace element with centering wrapper. - replaceSafely( center, element ); - element.move( center ); - - return center; - } - - function unwrapFromCentering( element ) { - var imageOrLink = element.findOne( 'a,img' ); - - imageOrLink.replace( element ); - - return imageOrLink; - } - - // Wraps -> . - // Returns reference to . - // - // @param {CKEDITOR.dom.element} img - // @param {Object} linkData - // @returns {CKEDITOR.dom.element} - function wrapInLink( img, linkData ) { - var link = doc.createElement( 'a', { - attributes: { - href: linkData.url - } - } ); - - link.replace( img ); - img.move( link ); - - return link; - } - - // De-wraps -> . - // Returns the reference to - // - // @param {CKEDITOR.dom.element} link - // @returns {CKEDITOR.dom.element} - function unwrapFromLink( link ) { - var img = link.findOne( 'img' ); - - img.replace( link ); - - return img; - } - - function replaceSafely( replacing, replaced ) { - if ( replaced.getParent() ) { - var range = editor.createRange(); - - range.moveToPosition( replaced, CKEDITOR.POSITION_BEFORE_START ); - - // Remove old element. Do it before insertion to avoid a case when - // element is moved from 'replaced' element before it, what creates - // a tricky case which insertElementIntorRange does not handle. - replaced.remove(); - - editable.insertElementIntoRange( replacing, range ); - } - else - replacing.replace( replaced ); - } - - return function( shift ) { - var name, i; - - shift.changed = {}; - - for ( i = 0; i < shiftables.length; i++ ) { - name = shiftables[ i ]; - - shift.changed[ name ] = shift.oldData ? - shift.oldData[ name ] !== shift.newData[ name ] : false; - } - - // Iterate over possible state variables. - for ( i = 0; i < shiftables.length; i++ ) { - name = shiftables[ i ]; - - stateActions[ name ]( shift, - shift.oldData ? shift.oldData[ name ] : null, - shift.newData[ name ] ); - } - - shift.inflate(); - }; - }, - - // Checks whether current ratio of the image match the natural one. - // by comparing dimensions. - // @param {CKEDITOR.dom.element} image - // @returns {Boolean} - checkHasNaturalRatio: function( image ) { - var $ = image.$, - natural = this.getNatural( image ); - - // The reason for two alternative comparisons is that the rounding can come from - // both dimensions, e.g. there are two cases: - // 1. height is computed as a rounded relation of the real height and the value of width, - // 2. width is computed as a rounded relation of the real width and the value of heigh. - return Math.round( $.clientWidth / natural.width * natural.height ) == $.clientHeight || - Math.round( $.clientHeight / natural.height * natural.width ) == $.clientWidth; - }, - - // Returns natural dimensions of the image. For modern browsers - // it uses natural(Width|Height) for old ones (IE8), creates - // a new image and reads dimensions. - // @param {CKEDITOR.dom.element} image - // @returns {Object} - getNatural: function( image ) { - var dimensions; - - if ( image.$.naturalWidth ) { - dimensions = { - width: image.$.naturalWidth, - height: image.$.naturalHeight - }; - } else { - var img = new Image(); - img.src = image.getAttribute( 'src' ); - - dimensions = { - width: img.width, - height: img.height - }; - } - - return dimensions; - } - }; - - function setWrapperAlign( widget, alignClasses ) { - var wrapper = widget.wrapper, - align = widget.data.align, - hasCaption = widget.data.hasCaption; - - if ( alignClasses ) { - // Remove all align classes first. - for ( var i = 3; i--; ) - wrapper.removeClass( alignClasses[ i ] ); - - if ( align == 'center' ) { - // Avoid touching non-captioned, centered widgets because - // they have the class set on the element instead of wrapper: - // - //
    - //

    - // - //

    - //
    - if ( hasCaption ) - wrapper.addClass( alignClasses[ 1 ] ); - } else if ( align != 'none' ) - wrapper.addClass( alignClasses[ alignmentsObj[ align ] ] ); - } else { - if ( align == 'center' ) { - if ( hasCaption ) - wrapper.setStyle( 'text-align', 'center' ); - else - wrapper.removeStyle( 'text-align' ); - - wrapper.removeStyle( 'float' ); - } - else { - if ( align == 'none' ) - wrapper.removeStyle( 'float' ); - else - wrapper.setStyle( 'float', align ); - - wrapper.removeStyle( 'text-align' ); - } - } - } - - // Returns a function that creates widgets from all and - //
    elements. - // - // @param {CKEDITOR.editor} editor - // @returns {Function} - function upcastWidgetElement( editor ) { - var isCenterWrapper = centerWrapperChecker( editor ), - captionedClass = editor.config.image2_captionedClass; - - // @param {CKEDITOR.htmlParser.element} el - // @param {Object} data - return function( el, data ) { - var dimensions = { width: 1, height: 1 }, - name = el.name, - image; - - // #11110 Don't initialize on pasted fake objects. - if ( el.attributes[ 'data-cke-realelement' ] ) - return; - - // If a center wrapper is found, there are 3 possible cases: - // - // 1.
    ...
    . - // In this case centering is done with a class set on widget.wrapper. - // Simply replace centering wrapper with figure (it's no longer necessary). - // - // 2.

    . - // Nothing to do here:

    remains for styling purposes. - // - // 3.

    . - // Nothing to do here (2.) but that case is only possible in enterMode different - // than ENTER_P. - if ( isCenterWrapper( el ) ) { - if ( name == 'div' ) { - var figure = el.getFirst( 'figure' ); - - // Case #1. - if ( figure ) { - el.replaceWith( figure ); - el = figure; - } - } - // Cases #2 and #3 (handled transparently) - - // If there's a centering wrapper, save it in data. - data.align = 'center'; - - // Image can be wrapped in link . - image = el.getFirst( 'img' ) || el.getFirst( 'a' ).getFirst( 'img' ); - } - - // No center wrapper has been found. - else if ( name == 'figure' && el.hasClass( captionedClass ) ) - image = el.getFirst( 'img' ) || el.getFirst( 'a' ).getFirst( 'img' ); - - // Upcast linked image like . - else if ( isLinkedOrStandaloneImage( el ) ) - image = el.name == 'a' ? el.children[ 0 ] : el; - - if ( !image ) - return; - - // If there's an image, then cool, we got a widget. - // Now just remove dimension attributes expressed with %. - for ( var d in dimensions ) { - var dimension = image.attributes[ d ]; - - if ( dimension && dimension.match( regexPercent ) ) - delete image.attributes[ d ]; - } - - return el; - }; - } - - // Returns a function which transforms the widget to the external format - // according to the current configuration. - // - // @param {CKEDITOR.editor} - function downcastWidgetElement( editor ) { - var alignClasses = editor.config.image2_alignClasses; - - // @param {CKEDITOR.htmlParser.element} el - return function( el ) { - // In case of , is the element to hold - // inline styles or classes (image2_alignClasses). - var attrsHolder = el.name == 'a' ? el.getFirst() : el, - attrs = attrsHolder.attributes, - align = this.data.align; - - // De-wrap the image from resize handle wrapper. - // Only block widgets have one. - if ( !this.inline ) { - var resizeWrapper = el.getFirst( 'span' ); - - if ( resizeWrapper ) - resizeWrapper.replaceWith( resizeWrapper.getFirst( { img: 1, a: 1 } ) ); - } - - if ( align && align != 'none' ) { - var styles = CKEDITOR.tools.parseCssText( attrs.style || '' ); - - // When the widget is captioned (
    ) and internally centering is done - // with widget's wrapper style/class, in the external data representation, - //
    must be wrapped with an element holding an style/class: - // - //
    - //
    ...
    - //
    - // or - //
    - //
    ...
    - //
    - // - if ( align == 'center' && el.name == 'figure' ) { - el = el.wrapWith( new CKEDITOR.htmlParser.element( 'div', - alignClasses ? { 'class': alignClasses[ 1 ] } : { style: 'text-align:center' } ) ); - } - - // If left/right, add float style to the downcasted element. - else if ( align in { left: 1, right: 1 } ) { - if ( alignClasses ) - attrsHolder.addClass( alignClasses[ alignmentsObj[ align ] ] ); - else - styles[ 'float' ] = align; - } - - // Update element styles. - if ( !alignClasses && !CKEDITOR.tools.isEmpty( styles ) ) - attrs.style = CKEDITOR.tools.writeCssText( styles ); - } - - return el; - }; - } - - // Returns a function that checks if an element is a centering wrapper. - // - // @param {CKEDITOR.editor} editor - // @returns {Function} - function centerWrapperChecker( editor ) { - var captionedClass = editor.config.image2_captionedClass, - alignClasses = editor.config.image2_alignClasses, - validChildren = { figure: 1, a: 1, img: 1 }; - - return function( el ) { - // Wrapper must be either
    or

    . - 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 child = children[ 0 ]; - - // Only

    or can be first (only) child of centering wrapper, - // regardless of its type. - if ( !( child.name in validChildren ) ) - return false; - - // If centering wrapper is

    , only can be the child. - //

    - if ( el.name == 'p' ) { - if ( !isLinkedOrStandaloneImage( child ) ) - return false; - } - // Centering
    can hold or
    , depending on enterMode. - else { - // If a
    is the first (only) child, it must have a class. - //
    ...
    - if ( child.name == 'figure' ) { - if ( !child.hasClass( captionedClass ) ) - return false; - } else { - // Centering
    can hold or only when enterMode - // is ENTER_(BR|DIV). - //
    - //
    - if ( editor.enterMode == CKEDITOR.ENTER_P ) - return false; - - // Regardless of enterMode, a child which is not
    must be - // either or . - if ( !isLinkedOrStandaloneImage( child ) ) - return false; - } - } - - // Centering wrapper got to be... centering. If image2_alignClasses are defined, - // check for centering class. Otherwise, check the style. - if ( alignClasses ? el.hasClass( alignClasses[ 1 ] ) : - CKEDITOR.tools.parseCssText( el.attributes.style || '', true )[ 'text-align' ] == 'center' ) - return true; - - return false; - }; - } - - // Checks whether element is or . - // - // @param {CKEDITOR.htmlParser.element} - function isLinkedOrStandaloneImage( el ) { - if ( el.name == 'img' ) - return true; - else if ( el.name == 'a' ) - return el.children.length == 1 && el.getFirst( 'img' ); - - return false; - } - - // Sets width and height of the widget image according to current widget data. - // - // @param {CKEDITOR.plugins.widget} widget - function setDimensions( widget ) { - var data = widget.data, - dimensions = { width: data.width, height: data.height }, - 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, - editable = editor.editable(), - doc = editor.document, - - // Store the resizer in a widget for testing (#11004). - resizer = widget.resizer = doc.createElement( 'span' ); - - resizer.addClass( 'cke_image_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 imageOrLink = widget.parts.link || widget.parts.image, - oldResizeWrapper = imageOrLink.getParent(), - resizeWrapper = doc.createElement( 'span' ); - - resizeWrapper.addClass( 'cke_image_resizer_wrapper' ); - resizeWrapper.append( imageOrLink ); - 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. - 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, - - listeners = [], - - // A class applied to editable during resizing. - cursorClass = 'cke_image_s' + ( !~factor ? 'w' : 'e' ), - - 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, listeners ); - - // Clean up the mousemove listener. Update widget data if valid. - attachToDocuments( 'mouseup', onMouseUp, listeners ); - - // The entire editable will have the special cursor while resizing goes on. - editable.addClass( cursorClass ); - - // This is to always keep the resizer element visible while resizing. - resizer.addClass( 'cke_image_resizing' ); - - // Attaches an event to a global document if inline editor. - // Additionally, if classic (`iframe`-based) editor, 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 = Math.round( newWidth / ratio ); - } - - // Calculate height first, and then adjust width, preserving ratio. - function adjustToY() { - newHeight = startHeight - moveDiffY; - newWidth = Math.round( 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 = listeners.pop() ) ) - l.removeListener(); - - // Restore default cursor by removing special class. - editable.removeClass( cursorClass ); - - // This is to bring back the regular behaviour of the resizer. - resizer.removeClass( 'cke_image_resizing' ); - - 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_image_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 = [], - enabled; - - 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; - - // Cache "enabled" on first use. This is because filter#checkFeature may - // not be available during plugin's afterInit in the future — a moment when - // alignCommandIntegrator is called. - if ( enabled == undefined ) - enabled = editor.filter.checkFeature( editor.widgets.registered.image.features.align ); - - // Don't allow justify commands when widget alignment is disabled (#11004). - if ( !enabled ) - this.setState( CKEDITOR.TRISTATE_DISABLED ); - else { - this.setState( - ( widget.data.align == value ) ? - CKEDITOR.TRISTATE_ON - : - ( value in allowed ) ? - CKEDITOR.TRISTATE_OFF - : - CKEDITOR.TRISTATE_DISABLED ); - } - - evt.cancel(); - } ); - }; - } - - function linkCommandIntegrator( editor ) { - // Nothing to integrate with if link is not loaded. - if ( !editor.plugins.link ) - return; - - CKEDITOR.on( 'dialogDefinition', function( evt ) { - var dialog = evt.data; - - if ( dialog.name == 'link' ) { - var def = dialog.definition; - - var onShow = def.onShow, - onOk = def.onOk; - - def.onShow = function() { - var widget = getFocusedWidget( editor ); - - // Widget cannot be enclosed in a link, i.e. - // foobar - if ( widget && ( widget.inline ? !widget.wrapper.getAscendant( 'a' ) : 1 ) ) - this.setupContent( widget.data.link || {} ); - else - onShow.apply( this, arguments ); - }; - - // Set widget data if linking the widget using - // link dialog (instead of default action). - // State shifter handles data change and takes - // care of internal DOM structure of linked widget. - def.onOk = function() { - var widget = getFocusedWidget( editor ); - - // Widget cannot be enclosed in a link, i.e. - // foobar - if ( widget && ( widget.inline ? !widget.wrapper.getAscendant( 'a' ) : 1 ) ) { - var data = {}; - - // Collect data from fields. - this.commitContent( data ); - - // Set collected data to widget. - widget.setData( 'link', data ); - } else - onOk.apply( this, arguments ); - }; - } - } ); - - // Overwrite default behaviour of unlink command. - editor.getCommand( 'unlink' ).on( 'exec', function( evt ) { - var widget = getFocusedWidget( editor ); - - // Override unlink only when link truly belongs to the widget. - // If wrapped inline widget in a link, let default unlink work (#11814). - if ( !widget || !widget.parts.link ) - return; - - widget.setData( 'link', null ); - - // Selection (which is fake) may not change if unlinked image in focused widget, - // i.e. if captioned image. Let's refresh command state manually here. - this.refresh( editor, editor.elementPath() ); - - evt.cancel(); - } ); - - // Overwrite default refresh of unlink command. - editor.getCommand( 'unlink' ).on( 'refresh', function( evt ) { - var widget = getFocusedWidget( editor ); - - if ( !widget ) - return; - - // Note that widget may be wrapped in a link, which - // does not belong to that widget (#11814). - this.setState( widget.data.link || widget.wrapper.getAscendant( 'a' ) ? - 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 == 'image' ) - return widget; - - return null; - } - - // Returns a set of widget allowedContent rules, depending - // on configurations like config#image2_alignClasses or - // config#image2_captionedClass. - // - // @param {CKEDITOR.editor} - // @returns {Object} - function getWidgetAllowedContent( editor ) { - var alignClasses = editor.config.image2_alignClasses, - rules = { - // Widget may need
    or

    centering wrapper. - div: { - match: centerWrapperChecker( editor ) - }, - p: { - match: centerWrapperChecker( editor ) - }, - img: { - attributes: '!src,alt,width,height' - }, - figure: { - classes: '!' + editor.config.image2_captionedClass - }, - figcaption: true - }; - - if ( alignClasses ) { - // Centering class from the config. - rules.div.classes = alignClasses[ 1 ]; - rules.p.classes = rules.div.classes; - - // Left/right classes from the config. - rules.img.classes = alignClasses[ 0 ] + ',' + alignClasses[ 2 ]; - rules.figure.classes += ',' + rules.img.classes; - } else { - // Centering with text-align. - rules.div.styles = 'text-align'; - rules.p.styles = 'text-align'; - - rules.img.styles = 'float'; - rules.figure.styles = 'float,display'; - } - - return rules; - } - - // Returns a set of widget feature rules, depending - // on editor configuration. Note that the following may not cover - // all the possible cases since requiredContent supports a single - // tag only. - // - // @param {CKEDITOR.editor} - // @returns {Object} - function getWidgetFeatures( editor ) { - var alignClasses = editor.config.image2_alignClasses, - features = { - dimension: { - requiredContent: 'img[width,height]' - }, - align: { - requiredContent: 'img' + - ( alignClasses ? '(' + alignClasses[ 0 ] + ')' : '{float}' ) - }, - caption: { - requiredContent: 'figcaption' - } - }; - - return features; - } - - // Returns element which is styled, considering current - // state of the widget. - // - // @see CKEDITOR.plugins.widget#applyStyle - // @param {CKEDITOR.plugins.widget} widget - // @returns {CKEDITOR.dom.element} - function getStyleableElement( widget ) { - return widget.data.hasCaption ? widget.element : widget.parts.image; - } -} )(); - -/** - * A CSS class applied to the `

    ` element of a captioned image. - * - * // Changes the class to "captionedImage". - * CKEDITOR.config.image2_captionedClass = 'captionedImage'; - * - * @cfg {String} [image2_captionedClass='image'] - * @member CKEDITOR.config - */ -CKEDITOR.config.image2_captionedClass = 'image'; - -/** - * CSS classes applied to aligned images. Useful to take control over the way - * the images are aligned, i.e. to customize output HTML and integrate external stylesheets. - * - * Classes should be defined in an array of three elements, containing left, center, and right - * alignment classes, respectively. For example: - * - * config.image2_alignClasses = [ 'align-left', 'align-center', 'align-right' ]; - * - * **Note**: Once this configuration option is set, the plugin will no longer produce inline - * styles for alignment. It means that e.g. the following HTML will be produced: - * - * My image - * - * instead of: - * - * My image - * - * **Note**: Once this configuration option is set, corresponding style definitions - * must be supplied to the editor: - * - * * For [classic editor](#!/guide/dev_framed) it can be done by defining additional - * styles in the {@link CKEDITOR.config#contentsCss stylesheets loaded by the editor}. The same - * styles must be provided on the target page where the content will be loaded. - * * For [inline editor](#!/guide/dev_inline) the styles can be defined directly - * with ` - - - - -

    Indent DEV sample

    -

    List & Block

    -
      -
    • - -
    • -
    • -
      
      -		
    • -
    - -

    Indent classes

    -
      -
    • - -
    • -
    • -
      
      -		
    • -
    - -

    List only

    -
      -
    • - -
    • -
    • -
      
      -		
    • -
    - -

    Block only

    -
      -
    • - -
    • -
    • -
      
      -		
    • -
    - -

    CKEDITOR.ENTER_BR

    -
      -
    • - -
    • -
    • -
      
      -		
    • -
    - - - diff --git a/scripts/ckeditor/plugins/indent/icons/hidpi/indent-rtl.png b/scripts/ckeditor/plugins/indent/icons/hidpi/indent-rtl.png deleted file mode 100755 index e14dc308..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/hidpi/indent-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/hidpi/indent.png b/scripts/ckeditor/plugins/indent/icons/hidpi/indent.png deleted file mode 100755 index c629bb41..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/hidpi/indent.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/hidpi/outdent-rtl.png b/scripts/ckeditor/plugins/indent/icons/hidpi/outdent-rtl.png deleted file mode 100755 index 35f69abf..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/hidpi/outdent-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/hidpi/outdent.png b/scripts/ckeditor/plugins/indent/icons/hidpi/outdent.png deleted file mode 100755 index b00179e2..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/hidpi/outdent.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/indent-rtl.png b/scripts/ckeditor/plugins/indent/icons/indent-rtl.png deleted file mode 100755 index ff3fd222..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/indent-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/indent.png b/scripts/ckeditor/plugins/indent/icons/indent.png deleted file mode 100755 index 3e151bc6..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/indent.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/outdent-rtl.png b/scripts/ckeditor/plugins/indent/icons/outdent-rtl.png deleted file mode 100755 index 7165424d..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/outdent-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/icons/outdent.png b/scripts/ckeditor/plugins/indent/icons/outdent.png deleted file mode 100755 index 54f205d6..00000000 Binary files a/scripts/ckeditor/plugins/indent/icons/outdent.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/indent/lang/af.js b/scripts/ckeditor/plugins/indent/lang/af.js deleted file mode 100755 index 67c98155..00000000 --- a/scripts/ckeditor/plugins/indent/lang/af.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'af', { - indent: 'Vergroot inspring', - outdent: 'Verklein inspring' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ar.js b/scripts/ckeditor/plugins/indent/lang/ar.js deleted file mode 100755 index 3bfc804b..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ar.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ar', { - indent: 'زيادة المسافة البادئة', - outdent: 'إنقاص المسافة البادئة' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/bg.js b/scripts/ckeditor/plugins/indent/lang/bg.js deleted file mode 100755 index 01b2bd09..00000000 --- a/scripts/ckeditor/plugins/indent/lang/bg.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'bg', { - indent: 'Увеличаване на отстъпа', - outdent: 'Намаляване на отстъпа' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/bn.js b/scripts/ckeditor/plugins/indent/lang/bn.js deleted file mode 100755 index cac32b7c..00000000 --- a/scripts/ckeditor/plugins/indent/lang/bn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'bn', { - indent: 'ইনডেন্ট বাড়াও', - outdent: 'ইনডেন্ট কমাও' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/bs.js b/scripts/ckeditor/plugins/indent/lang/bs.js deleted file mode 100755 index 6d90d1d2..00000000 --- a/scripts/ckeditor/plugins/indent/lang/bs.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'bs', { - indent: 'Poveæaj uvod', - outdent: 'Smanji uvod' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ca.js b/scripts/ckeditor/plugins/indent/lang/ca.js deleted file mode 100755 index ccbef414..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ca', { - indent: 'Augmenta el sagnat', - outdent: 'Redueix el sagnat' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/cs.js b/scripts/ckeditor/plugins/indent/lang/cs.js deleted file mode 100755 index bd74d421..00000000 --- a/scripts/ckeditor/plugins/indent/lang/cs.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'cs', { - indent: 'Zvětšit odsazení', - outdent: 'Zmenšit odsazení' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/cy.js b/scripts/ckeditor/plugins/indent/lang/cy.js deleted file mode 100755 index aa25ed1f..00000000 --- a/scripts/ckeditor/plugins/indent/lang/cy.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'cy', { - indent: 'Cynyddu\'r Mewnoliad', - outdent: 'Lleihau\'r Mewnoliad' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/da.js b/scripts/ckeditor/plugins/indent/lang/da.js deleted file mode 100755 index 0e3ef64b..00000000 --- a/scripts/ckeditor/plugins/indent/lang/da.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'da', { - indent: 'Forøg indrykning', - outdent: 'Formindsk indrykning' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/de.js b/scripts/ckeditor/plugins/indent/lang/de.js deleted file mode 100755 index d9b8fc17..00000000 --- a/scripts/ckeditor/plugins/indent/lang/de.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'de', { - indent: 'Einzug erhöhen', - outdent: 'Einzug verringern' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/el.js b/scripts/ckeditor/plugins/indent/lang/el.js deleted file mode 100755 index 24149793..00000000 --- a/scripts/ckeditor/plugins/indent/lang/el.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'el', { - indent: 'Αύξηση Εσοχής', - outdent: 'Μείωση Εσοχής' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/en-au.js b/scripts/ckeditor/plugins/indent/lang/en-au.js deleted file mode 100755 index 1af5e1ab..00000000 --- a/scripts/ckeditor/plugins/indent/lang/en-au.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'en-au', { - indent: 'Increase Indent', - outdent: 'Decrease Indent' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/en-ca.js b/scripts/ckeditor/plugins/indent/lang/en-ca.js deleted file mode 100755 index 301296f7..00000000 --- a/scripts/ckeditor/plugins/indent/lang/en-ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'en-ca', { - indent: 'Increase Indent', - outdent: 'Decrease Indent' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/en-gb.js b/scripts/ckeditor/plugins/indent/lang/en-gb.js deleted file mode 100755 index c647d600..00000000 --- a/scripts/ckeditor/plugins/indent/lang/en-gb.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'en-gb', { - indent: 'Increase Indent', - outdent: 'Decrease Indent' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/en.js b/scripts/ckeditor/plugins/indent/lang/en.js deleted file mode 100755 index ca17990b..00000000 --- a/scripts/ckeditor/plugins/indent/lang/en.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'en', { - indent: 'Increase Indent', - outdent: 'Decrease Indent' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/eo.js b/scripts/ckeditor/plugins/indent/lang/eo.js deleted file mode 100755 index 5674a2f8..00000000 --- a/scripts/ckeditor/plugins/indent/lang/eo.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'eo', { - indent: 'Pligrandigi Krommarĝenon', - outdent: 'Malpligrandigi Krommarĝenon' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/es.js b/scripts/ckeditor/plugins/indent/lang/es.js deleted file mode 100755 index 1cab736d..00000000 --- a/scripts/ckeditor/plugins/indent/lang/es.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'es', { - indent: 'Aumentar Sangría', - outdent: 'Disminuir Sangría' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/et.js b/scripts/ckeditor/plugins/indent/lang/et.js deleted file mode 100755 index 0fc87d57..00000000 --- a/scripts/ckeditor/plugins/indent/lang/et.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'et', { - indent: 'Taande suurendamine', - outdent: 'Taande vähendamine' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/eu.js b/scripts/ckeditor/plugins/indent/lang/eu.js deleted file mode 100755 index f5ba6862..00000000 --- a/scripts/ckeditor/plugins/indent/lang/eu.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'eu', { - indent: 'Handitu Koska', - outdent: 'Txikitu Koska' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/fa.js b/scripts/ckeditor/plugins/indent/lang/fa.js deleted file mode 100755 index ed5c312a..00000000 --- a/scripts/ckeditor/plugins/indent/lang/fa.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'fa', { - indent: 'افزایش تورفتگی', - outdent: 'کاهش تورفتگی' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/fi.js b/scripts/ckeditor/plugins/indent/lang/fi.js deleted file mode 100755 index c9c2bf56..00000000 --- a/scripts/ckeditor/plugins/indent/lang/fi.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'fi', { - indent: 'Suurenna sisennystä', - outdent: 'Pienennä sisennystä' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/fo.js b/scripts/ckeditor/plugins/indent/lang/fo.js deleted file mode 100755 index 0278825e..00000000 --- a/scripts/ckeditor/plugins/indent/lang/fo.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'fo', { - indent: 'Økja reglubrotarinntriv', - outdent: 'Minka reglubrotarinntriv' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/fr-ca.js b/scripts/ckeditor/plugins/indent/lang/fr-ca.js deleted file mode 100755 index 680e2091..00000000 --- a/scripts/ckeditor/plugins/indent/lang/fr-ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'fr-ca', { - indent: 'Augmenter le retrait', - outdent: 'Diminuer le retrait' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/fr.js b/scripts/ckeditor/plugins/indent/lang/fr.js deleted file mode 100755 index f3c3f8dd..00000000 --- a/scripts/ckeditor/plugins/indent/lang/fr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'fr', { - indent: 'Augmenter le retrait (tabulation)', - outdent: 'Diminuer le retrait (tabulation)' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/gl.js b/scripts/ckeditor/plugins/indent/lang/gl.js deleted file mode 100755 index dd1947db..00000000 --- a/scripts/ckeditor/plugins/indent/lang/gl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'gl', { - indent: 'Aumentar a sangría', - outdent: 'Reducir a sangría' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/gu.js b/scripts/ckeditor/plugins/indent/lang/gu.js deleted file mode 100755 index 2f1e32d6..00000000 --- a/scripts/ckeditor/plugins/indent/lang/gu.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'gu', { - indent: 'ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી', - outdent: 'ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/he.js b/scripts/ckeditor/plugins/indent/lang/he.js deleted file mode 100755 index ef26b11d..00000000 --- a/scripts/ckeditor/plugins/indent/lang/he.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'he', { - indent: 'הגדלת הזחה', - outdent: 'הקטנת הזחה' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/hi.js b/scripts/ckeditor/plugins/indent/lang/hi.js deleted file mode 100755 index deeb8095..00000000 --- a/scripts/ckeditor/plugins/indent/lang/hi.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'hi', { - indent: 'इन्डॅन्ट बढ़ायें', - outdent: 'इन्डॅन्ट कम करें' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/hr.js b/scripts/ckeditor/plugins/indent/lang/hr.js deleted file mode 100755 index 96982ea4..00000000 --- a/scripts/ckeditor/plugins/indent/lang/hr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'hr', { - indent: 'Pomakni udesno', - outdent: 'Pomakni ulijevo' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/hu.js b/scripts/ckeditor/plugins/indent/lang/hu.js deleted file mode 100755 index c5c03099..00000000 --- a/scripts/ckeditor/plugins/indent/lang/hu.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'hu', { - indent: 'Behúzás növelése', - outdent: 'Behúzás csökkentése' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/id.js b/scripts/ckeditor/plugins/indent/lang/id.js deleted file mode 100755 index b05114ef..00000000 --- a/scripts/ckeditor/plugins/indent/lang/id.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'id', { - indent: 'Tingkatkan Lekuk', - outdent: 'Kurangi Lekuk' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/is.js b/scripts/ckeditor/plugins/indent/lang/is.js deleted file mode 100755 index 3093ce8a..00000000 --- a/scripts/ckeditor/plugins/indent/lang/is.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'is', { - indent: 'Minnka inndrátt', - outdent: 'Auka inndrátt' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/it.js b/scripts/ckeditor/plugins/indent/lang/it.js deleted file mode 100755 index c62d5149..00000000 --- a/scripts/ckeditor/plugins/indent/lang/it.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'it', { - indent: 'Aumenta rientro', - outdent: 'Riduci rientro' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ja.js b/scripts/ckeditor/plugins/indent/lang/ja.js deleted file mode 100755 index d851bc1a..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ja.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ja', { - indent: 'インデント', - outdent: 'インデント解除' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ka.js b/scripts/ckeditor/plugins/indent/lang/ka.js deleted file mode 100755 index 56b7af97..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ka.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ka', { - indent: 'მეტად შეწევა', - outdent: 'ნაკლებად შეწევა' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/km.js b/scripts/ckeditor/plugins/indent/lang/km.js deleted file mode 100755 index 3f91ae82..00000000 --- a/scripts/ckeditor/plugins/indent/lang/km.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'km', { - indent: 'បន្ថែមការចូលបន្ទាត់', - outdent: 'បន្ថយការចូលបន្ទាត់' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ko.js b/scripts/ckeditor/plugins/indent/lang/ko.js deleted file mode 100755 index 0bf3f120..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ko.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ko', { - indent: '들여쓰기', - outdent: '내어쓰기' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ku.js b/scripts/ckeditor/plugins/indent/lang/ku.js deleted file mode 100755 index c12de669..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ku.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ku', { - indent: 'زیادکردنی بۆشایی', - outdent: 'کەمکردنەوەی بۆشایی' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/lt.js b/scripts/ckeditor/plugins/indent/lang/lt.js deleted file mode 100755 index 906040f8..00000000 --- a/scripts/ckeditor/plugins/indent/lang/lt.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'lt', { - indent: 'Padidinti įtrauką', - outdent: 'Sumažinti įtrauką' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/lv.js b/scripts/ckeditor/plugins/indent/lang/lv.js deleted file mode 100755 index 063f00d9..00000000 --- a/scripts/ckeditor/plugins/indent/lang/lv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'lv', { - indent: 'Palielināt atkāpi', - outdent: 'Samazināt atkāpi' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/mk.js b/scripts/ckeditor/plugins/indent/lang/mk.js deleted file mode 100755 index af3311f4..00000000 --- a/scripts/ckeditor/plugins/indent/lang/mk.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'mk', { - indent: 'Increase Indent', // MISSING - outdent: 'Decrease Indent' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/mn.js b/scripts/ckeditor/plugins/indent/lang/mn.js deleted file mode 100755 index 3f8981fa..00000000 --- a/scripts/ckeditor/plugins/indent/lang/mn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'mn', { - indent: 'Догол мөр хасах', - outdent: 'Догол мөр нэмэх' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ms.js b/scripts/ckeditor/plugins/indent/lang/ms.js deleted file mode 100755 index 6c044325..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ms.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ms', { - indent: 'Tambahkan Inden', - outdent: 'Kurangkan Inden' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/nb.js b/scripts/ckeditor/plugins/indent/lang/nb.js deleted file mode 100755 index 2dafc5d2..00000000 --- a/scripts/ckeditor/plugins/indent/lang/nb.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'nb', { - indent: 'Øk innrykk', - outdent: 'Reduser innrykk' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/nl.js b/scripts/ckeditor/plugins/indent/lang/nl.js deleted file mode 100755 index dd4a5c4b..00000000 --- a/scripts/ckeditor/plugins/indent/lang/nl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'nl', { - indent: 'Inspringing vergroten', - outdent: 'Inspringing verkleinen' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/no.js b/scripts/ckeditor/plugins/indent/lang/no.js deleted file mode 100755 index a2bf4783..00000000 --- a/scripts/ckeditor/plugins/indent/lang/no.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'no', { - indent: 'Øk innrykk', - outdent: 'Reduser innrykk' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/pl.js b/scripts/ckeditor/plugins/indent/lang/pl.js deleted file mode 100755 index 84bf2c08..00000000 --- a/scripts/ckeditor/plugins/indent/lang/pl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'pl', { - indent: 'Zwiększ wcięcie', - outdent: 'Zmniejsz wcięcie' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/pt-br.js b/scripts/ckeditor/plugins/indent/lang/pt-br.js deleted file mode 100755 index 88141e12..00000000 --- a/scripts/ckeditor/plugins/indent/lang/pt-br.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'pt-br', { - indent: 'Aumentar Recuo', - outdent: 'Diminuir Recuo' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/pt.js b/scripts/ckeditor/plugins/indent/lang/pt.js deleted file mode 100755 index 8f56bad6..00000000 --- a/scripts/ckeditor/plugins/indent/lang/pt.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'pt', { - indent: 'Aumentar Avanço', - outdent: 'Diminuir Avanço' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ro.js b/scripts/ckeditor/plugins/indent/lang/ro.js deleted file mode 100755 index a7914b5f..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ro.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ro', { - indent: 'Creşte indentarea', - outdent: 'Scade indentarea' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ru.js b/scripts/ckeditor/plugins/indent/lang/ru.js deleted file mode 100755 index 48c1844b..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ru.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ru', { - indent: 'Увеличить отступ', - outdent: 'Уменьшить отступ' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/si.js b/scripts/ckeditor/plugins/indent/lang/si.js deleted file mode 100755 index d6c36f93..00000000 --- a/scripts/ckeditor/plugins/indent/lang/si.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'si', { - indent: 'අතර පරතරය වැඩිකරන්න', - outdent: 'අතර පරතරය අඩුකරන්න' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/sk.js b/scripts/ckeditor/plugins/indent/lang/sk.js deleted file mode 100755 index 9698fba6..00000000 --- a/scripts/ckeditor/plugins/indent/lang/sk.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'sk', { - indent: 'Zväčšiť odsadenie', - outdent: 'Zmenšiť odsadenie' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/sl.js b/scripts/ckeditor/plugins/indent/lang/sl.js deleted file mode 100755 index 05e7ef77..00000000 --- a/scripts/ckeditor/plugins/indent/lang/sl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'sl', { - indent: 'Povečaj zamik', - outdent: 'Zmanjšaj zamik' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/sq.js b/scripts/ckeditor/plugins/indent/lang/sq.js deleted file mode 100755 index 17d2634e..00000000 --- a/scripts/ckeditor/plugins/indent/lang/sq.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'sq', { - indent: 'Rrite Identin', - outdent: 'Zvogëlo Identin' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/sr-latn.js b/scripts/ckeditor/plugins/indent/lang/sr-latn.js deleted file mode 100755 index e86cd8f9..00000000 --- a/scripts/ckeditor/plugins/indent/lang/sr-latn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'sr-latn', { - indent: 'Uvećaj levu marginu', - outdent: 'Smanji levu marginu' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/sr.js b/scripts/ckeditor/plugins/indent/lang/sr.js deleted file mode 100755 index fab6c98c..00000000 --- a/scripts/ckeditor/plugins/indent/lang/sr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'sr', { - indent: 'Увећај леву маргину', - outdent: 'Смањи леву маргину' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/sv.js b/scripts/ckeditor/plugins/indent/lang/sv.js deleted file mode 100755 index b17a08e1..00000000 --- a/scripts/ckeditor/plugins/indent/lang/sv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'sv', { - indent: 'Öka indrag', - outdent: 'Minska indrag' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/th.js b/scripts/ckeditor/plugins/indent/lang/th.js deleted file mode 100755 index bb7e04b1..00000000 --- a/scripts/ckeditor/plugins/indent/lang/th.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'th', { - indent: 'เพิ่มระยะย่อหน้า', - outdent: 'ลดระยะย่อหน้า' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/tr.js b/scripts/ckeditor/plugins/indent/lang/tr.js deleted file mode 100755 index 330e148b..00000000 --- a/scripts/ckeditor/plugins/indent/lang/tr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'tr', { - indent: 'Sekme Arttır', - outdent: 'Sekme Azalt' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/tt.js b/scripts/ckeditor/plugins/indent/lang/tt.js deleted file mode 100755 index 4a7ec907..00000000 --- a/scripts/ckeditor/plugins/indent/lang/tt.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'tt', { - indent: 'Отступны арттыру', - outdent: 'Отступны кечерәйтү' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/ug.js b/scripts/ckeditor/plugins/indent/lang/ug.js deleted file mode 100755 index 6184811c..00000000 --- a/scripts/ckeditor/plugins/indent/lang/ug.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'ug', { - indent: 'تارايت', - outdent: 'كەڭەيت' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/uk.js b/scripts/ckeditor/plugins/indent/lang/uk.js deleted file mode 100755 index 3d3bec71..00000000 --- a/scripts/ckeditor/plugins/indent/lang/uk.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'uk', { - indent: 'Збільшити відступ', - outdent: 'Зменшити відступ' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/vi.js b/scripts/ckeditor/plugins/indent/lang/vi.js deleted file mode 100755 index c26caa6d..00000000 --- a/scripts/ckeditor/plugins/indent/lang/vi.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'vi', { - indent: 'Dịch vào trong', - outdent: 'Dịch ra ngoài' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/zh-cn.js b/scripts/ckeditor/plugins/indent/lang/zh-cn.js deleted file mode 100755 index b125f3c6..00000000 --- a/scripts/ckeditor/plugins/indent/lang/zh-cn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'zh-cn', { - indent: '增加缩进量', - outdent: '减少缩进量' -} ); diff --git a/scripts/ckeditor/plugins/indent/lang/zh.js b/scripts/ckeditor/plugins/indent/lang/zh.js deleted file mode 100755 index ecb6091e..00000000 --- a/scripts/ckeditor/plugins/indent/lang/zh.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'indent', 'zh', { - indent: '增加縮排', - outdent: '減少縮排' -} ); diff --git a/scripts/ckeditor/plugins/indent/plugin.js b/scripts/ckeditor/plugins/indent/plugin.js deleted file mode 100755 index 97d73b76..00000000 --- a/scripts/ckeditor/plugins/indent/plugin.js +++ /dev/null @@ -1,462 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Increase and Decrease Indent commands. - */ - -( function() { - 'use strict'; - - var TRISTATE_DISABLED = CKEDITOR.TRISTATE_DISABLED, - TRISTATE_OFF = CKEDITOR.TRISTATE_OFF; - - CKEDITOR.plugins.add( 'indent', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'indent,indent-rtl,outdent,outdent-rtl', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - - init: function( editor ) { - var genericDefinition = CKEDITOR.plugins.indent.genericDefinition; - - // Register generic commands. - setupGenericListeners( editor, editor.addCommand( 'indent', new genericDefinition( true ) ) ); - setupGenericListeners( editor, editor.addCommand( 'outdent', new genericDefinition() ) ); - - // Create and register toolbar button if possible. - if ( editor.ui.addButton ) { - editor.ui.addButton( 'Indent', { - label: editor.lang.indent.indent, - command: 'indent', - directional: true, - toolbar: 'indent,20' - } ); - - editor.ui.addButton( 'Outdent', { - label: editor.lang.indent.outdent, - command: 'outdent', - directional: true, - toolbar: 'indent,10' - } ); - } - - // Register dirChanged listener. - editor.on( 'dirChanged', function( evt ) { - var range = editor.createRange(), - dataNode = evt.data.node; - - range.setStartBefore( dataNode ); - range.setEndAfter( dataNode ); - - var walker = new CKEDITOR.dom.walker( range ), - node; - - while ( ( node = walker.next() ) ) { - if ( node.type == CKEDITOR.NODE_ELEMENT ) { - // A child with the defined dir is to be ignored. - if ( !node.equals( dataNode ) && node.getDirection() ) { - range.setStartAfter( node ); - walker = new CKEDITOR.dom.walker( range ); - continue; - } - - // Switch alignment classes. - var classes = editor.config.indentClasses; - if ( classes ) { - var suffix = ( evt.data.dir == 'ltr' ) ? [ '_rtl', '' ] : [ '', '_rtl' ]; - for ( var i = 0; i < classes.length; i++ ) { - if ( node.hasClass( classes[ i ] + suffix[ 0 ] ) ) { - node.removeClass( classes[ i ] + suffix[ 0 ] ); - node.addClass( classes[ i ] + suffix[ 1 ] ); - } - } - } - - // Switch the margins. - var marginLeft = node.getStyle( 'margin-right' ), - marginRight = node.getStyle( 'margin-left' ); - - marginLeft ? node.setStyle( 'margin-left', marginLeft ) : node.removeStyle( 'margin-left' ); - marginRight ? node.setStyle( 'margin-right', marginRight ) : node.removeStyle( 'margin-right' ); - } - } - } ); - } - } ); - - /** - * Global command class definitions and global helpers. - * - * @class - * @singleton - */ - CKEDITOR.plugins.indent = { - /** - * A base class for a generic command definition, responsible mainly for creating - * Increase Indent and Decrease Indent toolbar buttons as well as for refreshing - * UI states. - * - * Commands of this class do not perform any indentation by themselves. They - * delegate this job to content-specific indentation commands (i.e. indentlist). - * - * @class CKEDITOR.plugins.indent.genericDefinition - * @extends CKEDITOR.commandDefinition - * @param {CKEDITOR.editor} editor The editor instance this command will be - * applied to. - * @param {String} name The name of the command. - * @param {Boolean} [isIndent] Defines the command as indenting or outdenting. - */ - genericDefinition: function( isIndent ) { - /** - * Determines whether the command belongs to the indentation family. - * Otherwise it is assumed to be an outdenting command. - * - * @readonly - * @property {Boolean} [=false] - */ - this.isIndent = !!isIndent; - - // Mimic naive startDisabled behavior for outdent. - this.startDisabled = !this.isIndent; - }, - - /** - * A base class for specific indentation command definitions responsible for - * handling a pre-defined set of elements i.e. indentlist for lists or - * indentblock for text block elements. - * - * Commands of this class perform indentation operations and modify the DOM structure. - * They listen for events fired by {@link CKEDITOR.plugins.indent.genericDefinition} - * and execute defined actions. - * - * **NOTE**: This is not an {@link CKEDITOR.command editor command}. - * Context-specific commands are internal, for indentation system only. - * - * @class CKEDITOR.plugins.indent.specificDefinition - * @param {CKEDITOR.editor} editor The editor instance this command will be - * applied to. - * @param {String} name The name of the command. - * @param {Boolean} [isIndent] Defines the command as indenting or outdenting. - */ - specificDefinition: function( editor, name, isIndent ) { - this.name = name; - this.editor = editor; - - /** - * An object of jobs handled by the command. Each job consists - * of two functions: `refresh` and `exec` as well as the execution priority. - * - * * The `refresh` function determines whether a job is doable for - * a particular context. These functions are executed in the - * order of priorities, one by one, for all plugins that registered - * jobs. As jobs are related to generic commands, refreshing - * occurs when the global command is firing the `refresh` event. - * - * **Note**: This function must return either {@link CKEDITOR#TRISTATE_DISABLED} - * or {@link CKEDITOR#TRISTATE_OFF}. - * - * * The `exec` function modifies the DOM if possible. Just like - * `refresh`, `exec` functions are executed in the order of priorities - * while the generic command is executed. This function is not executed - * if `refresh` for this job returned {@link CKEDITOR#TRISTATE_DISABLED}. - * - * **Note**: This function must return a Boolean value, indicating whether it - * was successful. If a job was successful, then no other jobs are being executed. - * - * Sample definition: - * - * command.jobs = { - * // Priority = 20. - * '20': { - * refresh( editor, path ) { - * if ( condition ) - * return CKEDITOR.TRISTATE_OFF; - * else - * return CKEDITOR.TRISTATE_DISABLED; - * }, - * exec( editor ) { - * // DOM modified! This was OK. - * return true; - * } - * }, - * // Priority = 60. This job is done later. - * '60': { - * // Another job. - * } - * }; - * - * For additional information, please check comments for - * the `setupGenericListeners` function. - * - * @readonly - * @property {Object} [={}] - */ - this.jobs = {}; - - /** - * Determines whether the editor that the command belongs to has - * {@link CKEDITOR.config#enterMode config.enterMode} set to {@link CKEDITOR#ENTER_BR}. - * - * @readonly - * @see CKEDITOR.config#enterMode - * @property {Boolean} [=false] - */ - this.enterBr = editor.config.enterMode == CKEDITOR.ENTER_BR; - - /** - * Determines whether the command belongs to the indentation family. - * Otherwise it is assumed to be an outdenting command. - * - * @readonly - * @property {Boolean} [=false] - */ - this.isIndent = !!isIndent; - - /** - * The name of the global command related to this one. - * - * @readonly - */ - this.relatedGlobal = isIndent ? 'indent' : 'outdent'; - - /** - * A keystroke associated with this command (*Tab* or *Shift+Tab*). - * - * @readonly - */ - this.indentKey = isIndent ? 9 : CKEDITOR.SHIFT + 9; - - /** - * Stores created markers for the command so they can eventually be - * purged after the `exec` function is run. - */ - this.database = {}; - }, - - /** - * Registers content-specific commands as a part of the indentation system - * directed by generic commands. Once a command is registered, - * it listens for events of a related generic command. - * - * CKEDITOR.plugins.indent.registerCommands( editor, { - * 'indentlist': new indentListCommand( editor, 'indentlist' ), - * 'outdentlist': new indentListCommand( editor, 'outdentlist' ) - * } ); - * - * Content-specific commands listen for the generic command's `exec` and - * try to execute their own jobs, one after another. If some execution is - * successful, `evt.data.done` is set so no more jobs (commands) are involved. - * - * Content-specific commands also listen for the generic command's `refresh` - * and fill the `evt.data.states` object with states of jobs. A generic command - * uses this data to determine its own state and to update the UI. - * - * @member CKEDITOR.plugins.indent - * @param {CKEDITOR.editor} editor The editor instance this command is - * applied to. - * @param {Object} commands An object of {@link CKEDITOR.command}. - */ - registerCommands: function( editor, commands ) { - editor.on( 'pluginsLoaded', function() { - for ( var name in commands ) { - ( function( editor, command ) { - var relatedGlobal = editor.getCommand( command.relatedGlobal ); - - for ( var priority in command.jobs ) { - // Observe generic exec event and execute command when necessary. - // If the command was successfully handled by the command and - // DOM has been modified, stop event propagation so no other plugin - // will bother. Job is done. - relatedGlobal.on( 'exec', function( evt ) { - if ( evt.data.done ) - return; - - // Make sure that anything this command will do is invisible - // for undoManager. What undoManager only can see and - // remember is the execution of the global command (relatedGlobal). - editor.fire( 'lockSnapshot' ); - - if ( command.execJob( editor, priority ) ) - evt.data.done = true; - - editor.fire( 'unlockSnapshot' ); - - // Clean up the markers. - CKEDITOR.dom.element.clearAllMarkers( command.database ); - }, this, null, priority ); - - // Observe generic refresh event and force command refresh. - // Once refreshed, save command state in event data - // so generic command plugin can update its own state and UI. - relatedGlobal.on( 'refresh', function( evt ) { - if ( !evt.data.states ) - evt.data.states = {}; - - evt.data.states[ command.name + '@' + priority ] = - command.refreshJob( editor, priority, evt.data.path ); - }, this, null, priority ); - } - - // Since specific indent commands have no UI elements, - // they need to be manually registered as a editor feature. - editor.addFeature( command ); - } )( this, commands[ name ] ); - } - } ); - } - }; - - CKEDITOR.plugins.indent.genericDefinition.prototype = { - context: 'p', - - exec: function() {} - }; - - CKEDITOR.plugins.indent.specificDefinition.prototype = { - /** - * Executes the content-specific procedure if the context is correct. - * It calls the `exec` function of a job of the given `priority` - * that modifies the DOM. - * - * @param {CKEDITOR.editor} editor The editor instance this command - * will be applied to. - * @param {Number} priority The priority of the job to be executed. - * @returns {Boolean} Indicates whether the job was successful. - */ - execJob: function( editor, priority ) { - var job = this.jobs[ priority ]; - - if ( job.state != TRISTATE_DISABLED ) - return job.exec.call( this, editor ); - }, - - /** - * Calls the `refresh` function of a job of the given `priority`. - * The function returns the state of the job which can be either - * {@link CKEDITOR#TRISTATE_DISABLED} or {@link CKEDITOR#TRISTATE_OFF}. - * - * @param {CKEDITOR.editor} editor The editor instance this command - * will be applied to. - * @param {Number} priority The priority of the job to be executed. - * @returns {Number} The state of the job. - */ - refreshJob: function( editor, priority, path ) { - var job = this.jobs[ priority ]; - - if ( !editor.activeFilter.checkFeature( this ) ) - job.state = TRISTATE_DISABLED; - else - job.state = job.refresh.call( this, editor, path ); - - return job.state; - }, - - /** - * Checks if the element path contains the element handled - * by this indentation command. - * - * @param {CKEDITOR.dom.elementPath} node A path to be checked. - * @returns {CKEDITOR.dom.element} - */ - getContext: function( path ) { - return path.contains( this.context ); - } - }; - - /** - * Attaches event listeners for this generic command. Since the indentation - * system is event-oriented, generic commands communicate with - * content-specific commands using the `exec` and `refresh` events. - * - * Listener priorities are crucial. Different indentation phases - * are executed with different priorities. - * - * For the `exec` event: - * - * * 0: Selection and bookmarks are saved by the generic command. - * * 1-99: Content-specific commands try to indent the code by executing - * their own jobs ({@link CKEDITOR.plugins.indent.specificDefinition#jobs}). - * * 100: Bookmarks are re-selected by the generic command. - * - * The visual interpretation looks as follows: - * - * +------------------+ - * | Exec event fired | - * +------ + ---------+ - * | - * 0 -<----------+ Selection and bookmarks saved. - * | - * | - * 25 -<---+ Exec 1st job of plugin#1 (return false, continuing...). - * | - * | - * 50 -<---+ Exec 1st job of plugin#2 (return false, continuing...). - * | - * | - * 75 -<---+ Exec 2nd job of plugin#1 (only if plugin#2 failed). - * | - * | - * 100 -<-----------+ Re-select bookmarks, clean-up. - * | - * +-------- v ----------+ - * | Exec event finished | - * +---------------------+ - * - * For the `refresh` event: - * - * * <100: Content-specific commands refresh their job states according - * to the given path. Jobs save their states in the `evt.data.states` object - * passed along with the event. This can be either {@link CKEDITOR#TRISTATE_DISABLED} - * or {@link CKEDITOR#TRISTATE_OFF}. - * * 100: Command state is determined according to what states - * have been returned by content-specific jobs (`evt.data.states`). - * UI elements are updated at this stage. - * - * **Note**: If there is at least one job with the {@link CKEDITOR#TRISTATE_OFF} state, - * then the generic command state is also {@link CKEDITOR#TRISTATE_OFF}. Otherwise, - * the command state is {@link CKEDITOR#TRISTATE_DISABLED}. - * - * @param {CKEDITOR.command} command The command to be set up. - * @private - */ - function setupGenericListeners( editor, command ) { - var selection, bookmarks; - - // Set the command state according to content-specific - // command states. - command.on( 'refresh', function( evt ) { - // If no state comes with event data, disable command. - var states = [ TRISTATE_DISABLED ]; - - for ( var s in evt.data.states ) - states.push( evt.data.states[ s ] ); - - this.setState( CKEDITOR.tools.search( states, TRISTATE_OFF ) ? - TRISTATE_OFF - : - TRISTATE_DISABLED ); - }, command, null, 100 ); - - // Initialization. Save bookmarks and mark event as not handled - // by any plugin (command) yet. - command.on( 'exec', function( evt ) { - selection = editor.getSelection(); - bookmarks = selection.createBookmarks( 1 ); - - // Mark execution as not handled yet. - if ( !evt.data ) - evt.data = {}; - - evt.data.done = false; - }, command, null, 0 ); - - // Housekeeping. Make sure selectionChange will be called. - // Also re-select previously saved bookmarks. - command.on( 'exec', function( evt ) { - editor.forceNextSelectionCheck(); - selection.selectBookmarks( bookmarks ); - }, command, null, 100 ); - } -} )(); diff --git a/scripts/ckeditor/plugins/indentblock/plugin.js b/scripts/ckeditor/plugins/indentblock/plugin.js deleted file mode 100755 index d9ed8004..00000000 --- a/scripts/ckeditor/plugins/indentblock/plugin.js +++ /dev/null @@ -1,309 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Handles the indentation of block elements. - */ - -( function() { - 'use strict'; - - var $listItem = CKEDITOR.dtd.$listItem, - $list = CKEDITOR.dtd.$list, - TRISTATE_DISABLED = CKEDITOR.TRISTATE_DISABLED, - TRISTATE_OFF = CKEDITOR.TRISTATE_OFF; - - CKEDITOR.plugins.add( 'indentblock', { - requires: 'indent', - init: function( editor ) { - var globalHelpers = CKEDITOR.plugins.indent, - classes = editor.config.indentClasses; - - // Register commands. - globalHelpers.registerCommands( editor, { - indentblock: new commandDefinition( editor, 'indentblock', true ), - outdentblock: new commandDefinition( editor, 'outdentblock' ) - } ); - - function commandDefinition( editor, name ) { - globalHelpers.specificDefinition.apply( this, arguments ); - - this.allowedContent = { - 'div h1 h2 h3 h4 h5 h6 ol p pre ul': { - // Do not add elements, but only text-align style if element is validated by other rule. - propertiesOnly: true, - styles: !classes ? 'margin-left,margin-right' : null, - classes: classes || null - } - }; - - if ( this.enterBr ) - this.allowedContent.div = true; - - this.requiredContent = ( this.enterBr ? 'div' : 'p' ) + - ( classes ? - '(' + classes.join( ',' ) + ')' - : - '{margin-left}' ); - - this.jobs = { - '20': { - refresh: function( editor, path ) { - var firstBlock = path.block || path.blockLimit; - - // Switch context from list item to list - // because indentblock can indent entire list - // but not a single list element. - - if ( firstBlock.is( $listItem ) ) - firstBlock = firstBlock.getParent(); - - // If firstBlock isn't list item, but still there's - // some ascendant (i.e.
      ), then this is not - // a job for indentblock, e.g.: - // - //
        - //
      • foo

      • - //
      - - else if ( firstBlock.getAscendant( $listItem ) ) - return TRISTATE_DISABLED; - - // [-] Context in the path or ENTER_BR - // - // Don't try to indent if the element is out of - // this plugin's scope. This assertion is omitted - // if ENTER_BR is in use since there may be no block - // in the path. - - if ( !this.enterBr && !this.getContext( path ) ) - return TRISTATE_DISABLED; - - else if ( classes ) { - - // [+] Context in the path or ENTER_BR - // [+] IndentClasses - // - // If there are indentation classes, check if reached - // the highest level of indentation. If so, disable - // the command. - - if ( indentClassLeft.call( this, firstBlock, classes ) ) - return TRISTATE_OFF; - else - return TRISTATE_DISABLED; - } else { - - // [+] Context in the path or ENTER_BR - // [-] IndentClasses - // [+] Indenting - // - // No indent-level limitations due to indent classes. - // Indent-like command can always be executed. - - if ( this.isIndent ) - return TRISTATE_OFF; - - // [+] Context in the path or ENTER_BR - // [-] IndentClasses - // [-] Indenting - // [-] Block in the path - // - // No block in path. There's no element to apply indentation - // so disable the command. - - else if ( !firstBlock ) - return TRISTATE_DISABLED; - - // [+] Context in the path or ENTER_BR - // [-] IndentClasses - // [-] Indenting - // [+] Block in path. - // - // Not using indentClasses but there is firstBlock. - // We can calculate current indentation level and - // try to increase/decrease it. - - else { - return CKEDITOR[ - ( getIndent( firstBlock ) || 0 ) <= 0 ? - 'TRISTATE_DISABLED' - : - 'TRISTATE_OFF' ]; - } - } - }, - - exec: function( editor ) { - var selection = editor.getSelection(), - range = selection && selection.getRanges()[ 0 ], - nearestListBlock; - - // If there's some list in the path, then it will be - // a full-list indent by increasing or decreasing margin property. - if ( ( nearestListBlock = editor.elementPath().contains( $list ) ) ) - indentElement.call( this, nearestListBlock, classes ); - - // If no list in the path, use iterator to indent all the possible - // paragraphs in the range, creating them if necessary. - else { - var iterator = range.createIterator(), - enterMode = editor.config.enterMode, - block; - - iterator.enforceRealBlocks = true; - iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR; - - while ( ( block = iterator.getNextParagraph( enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ) ) { - if ( !block.isReadOnly() ) - indentElement.call( this, block, classes ); - } - } - - return true; - } - } - }; - } - - CKEDITOR.tools.extend( commandDefinition.prototype, globalHelpers.specificDefinition.prototype, { - // Elements that, if in an elementpath, will be handled by this - // command. They restrict the scope of the plugin. - context: { div: 1, dl: 1, h1: 1, h2: 1, h3: 1, h4: 1, h5: 1, h6: 1, ul: 1, ol: 1, p: 1, pre: 1, table: 1 }, - - // A regex built on config#indentClasses to detect whether an - // element has some indentClass or not. - classNameRegex: classes ? - new RegExp( '(?:^|\\s+)(' + classes.join( '|' ) + ')(?=$|\\s)' ) - : - null - } ); - } - } ); - - // Generic indentation procedure for indentation of any element - // either with margin property or config#indentClass. - function indentElement( element, classes, dir ) { - if ( element.getCustomData( 'indent_processed' ) ) - return; - - var editor = this.editor, - isIndent = this.isIndent; - - if ( classes ) { - // Transform current class f to indent step index. - var indentClass = element.$.className.match( this.classNameRegex ), - indentStep = 0; - - if ( indentClass ) { - indentClass = indentClass[ 1 ]; - indentStep = CKEDITOR.tools.indexOf( classes, indentClass ) + 1; - } - - // Operate on indent step index, transform indent step index - // back to class name. - if ( ( indentStep += isIndent ? 1 : -1 ) < 0 ) - return; - - indentStep = Math.min( indentStep, classes.length ); - indentStep = Math.max( indentStep, 0 ); - element.$.className = CKEDITOR.tools.ltrim( element.$.className.replace( this.classNameRegex, '' ) ); - - if ( indentStep > 0 ) - element.addClass( classes[ indentStep - 1 ] ); - } else { - var indentCssProperty = getIndentCss( element, dir ), - currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 ), - indentOffset = editor.config.indentOffset || 40; - - if ( isNaN( currentOffset ) ) - currentOffset = 0; - - currentOffset += ( isIndent ? 1 : -1 ) * indentOffset; - - if ( currentOffset < 0 ) - return; - - currentOffset = Math.max( currentOffset, 0 ); - currentOffset = Math.ceil( currentOffset / indentOffset ) * indentOffset; - - element.setStyle( indentCssProperty, currentOffset ? - currentOffset + ( editor.config.indentUnit || 'px' ) - : - '' ); - - if ( element.getAttribute( 'style' ) === '' ) - element.removeAttribute( 'style' ); - } - - CKEDITOR.dom.element.setMarker( this.database, element, 'indent_processed', 1 ); - - return; - } - - // Method that checks if current indentation level for an element - // reached the limit determined by config#indentClasses. - function indentClassLeft( node, classes ) { - var indentClass = node.$.className.match( this.classNameRegex ), - isIndent = this.isIndent; - - // If node has one of the indentClasses: - // * If it holds the topmost indentClass, then - // no more classes have left. - // * If it holds any other indentClass, it can use the next one - // or the previous one. - // * Outdent is always possible. We can remove indentClass. - if ( indentClass ) - return isIndent ? indentClass[ 1 ] != classes.slice( -1 ) : true; - - // If node has no class which belongs to indentClasses, - // then it is at 0-level. It can be indented but not outdented. - else - return isIndent; - } - - // Determines indent CSS property for an element according to - // what is the direction of such element. It can be either `margin-left` - // or `margin-right`. - function getIndentCss( element, dir ) { - return ( dir || element.getComputedStyle( 'direction' ) ) == 'ltr' ? 'margin-left' : 'margin-right'; - } - - // Return the numerical indent value of margin-left|right of an element, - // considering element's direction. If element has no margin specified, - // NaN is returned. - function getIndent( element ) { - return parseInt( element.getStyle( getIndentCss( element ) ), 10 ); - } -} )(); - -/** - * A list of classes to use for indenting the contents. If set to `null`, no classes will be used - * and instead the {@link #indentUnit} and {@link #indentOffset} properties will be used. - * - * // Use the 'Indent1', 'Indent2', 'Indent3' classes. - * config.indentClasses = ['Indent1', 'Indent2', 'Indent3']; - * - * @cfg {Array} [indentClasses=null] - * @member CKEDITOR.config - */ - -/** - * The size in {@link CKEDITOR.config#indentUnit indentation units} of each indentation step. - * - * config.indentOffset = 4; - * - * @cfg {Number} [indentOffset=40] - * @member CKEDITOR.config - */ - -/** - * The unit used for {@link CKEDITOR.config#indentOffset indentation offset}. - * - * config.indentUnit = 'em'; - * - * @cfg {String} [indentUnit='px'] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/indentlist/plugin.js b/scripts/ckeditor/plugins/indentlist/plugin.js deleted file mode 100755 index d6338ab4..00000000 --- a/scripts/ckeditor/plugins/indentlist/plugin.js +++ /dev/null @@ -1,298 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Handles the indentation of lists. - */ - -( function() { - 'use strict'; - - var isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( true ), - isNotBookmark = CKEDITOR.dom.walker.bookmark( false, true ), - TRISTATE_DISABLED = CKEDITOR.TRISTATE_DISABLED, - TRISTATE_OFF = CKEDITOR.TRISTATE_OFF; - - CKEDITOR.plugins.add( 'indentlist', { - requires: 'indent', - init: function( editor ) { - var globalHelpers = CKEDITOR.plugins.indent, - editable = editor; - - // Register commands. - globalHelpers.registerCommands( editor, { - indentlist: new commandDefinition( editor, 'indentlist', true ), - outdentlist: new commandDefinition( editor, 'outdentlist' ) - } ); - - function commandDefinition( editor, name ) { - globalHelpers.specificDefinition.apply( this, arguments ); - - // Require ul OR ol list. - this.requiredContent = [ 'ul', 'ol' ]; - - // Indent and outdent lists with TAB/SHIFT+TAB key. Indenting can - // be done for any list item that isn't the first child of the parent. - editor.on( 'key', function( evt ) { - if ( editor.mode != 'wysiwyg' ) - return; - - if ( evt.data.keyCode == this.indentKey ) { - var list = this.getContext( editor.elementPath() ); - - if ( list ) { - // Don't indent if in first list item of the parent. - // Outdent, however, can always be done to collapse - // the list into a paragraph (div). - if ( this.isIndent && firstItemInPath.call( this, editor.elementPath(), list ) ) - return; - - // Exec related global indentation command. Global - // commands take care of bookmarks and selection, - // so it's much easier to use them instead of - // content-specific commands. - editor.execCommand( this.relatedGlobal ); - - // Cancel the key event so editor doesn't lose focus. - evt.cancel(); - } - } - }, this ); - - // There are two different jobs for this plugin: - // - // * Indent job (priority=10), before indentblock. - // - // This job is before indentblock because, if this plugin is - // loaded it has higher priority over indentblock. It means that, - // if possible, nesting is performed, and then block manipulation, - // if necessary. - // - // * Outdent job (priority=30), after outdentblock. - // - // This job got to be after outdentblock because in some cases - // (margin, config#indentClass on list) outdent must be done on - // block-level. - - this.jobs[ this.isIndent ? 10 : 30 ] = { - refresh: this.isIndent ? - function( editor, path ) { - var list = this.getContext( path ), - inFirstListItem = firstItemInPath.call( this, path, list ); - - if ( !list || !this.isIndent || inFirstListItem ) - return TRISTATE_DISABLED; - - return TRISTATE_OFF; - } - : - function( editor, path ) { - var list = this.getContext( path ); - - if ( !list || this.isIndent ) - return TRISTATE_DISABLED; - - return TRISTATE_OFF; - }, - - exec: CKEDITOR.tools.bind( indentList, this ) - }; - } - - CKEDITOR.tools.extend( commandDefinition.prototype, globalHelpers.specificDefinition.prototype, { - // Elements that, if in an elementpath, will be handled by this - // command. They restrict the scope of the plugin. - context: { ol: 1, ul: 1 } - } ); - } - } ); - - function indentList( editor ) { - var that = this, - database = this.database, - context = this.context; - - function indent( listNode ) { - // Our starting and ending points of the range might be inside some blocks under a list item... - // So before playing with the iterator, we need to expand the block to include the list items. - var startContainer = range.startContainer, - endContainer = range.endContainer; - while ( startContainer && !startContainer.getParent().equals( listNode ) ) - startContainer = startContainer.getParent(); - while ( endContainer && !endContainer.getParent().equals( listNode ) ) - endContainer = endContainer.getParent(); - - if ( !startContainer || !endContainer ) - return false; - - // Now we can iterate over the individual items on the same tree depth. - var block = startContainer, - itemsToMove = [], - stopFlag = false; - - while ( !stopFlag ) { - if ( block.equals( endContainer ) ) - stopFlag = true; - - itemsToMove.push( block ); - block = block.getNext(); - } - - if ( itemsToMove.length < 1 ) - return false; - - // Do indent or outdent operations on the array model of the list, not the - // list's DOM tree itself. The array model demands that it knows as much as - // possible about the surrounding lists, we need to feed it the further - // ancestor node that is still a list. - var listParents = listNode.getParents( true ); - for ( var i = 0; i < listParents.length; i++ ) { - if ( listParents[ i ].getName && context[ listParents[ i ].getName() ] ) { - listNode = listParents[ i ]; - break; - } - } - - var indentOffset = that.isIndent ? 1 : -1, - startItem = itemsToMove[ 0 ], - lastItem = itemsToMove[ itemsToMove.length - 1 ], - - // Convert the list DOM tree into a one dimensional array. - listArray = CKEDITOR.plugins.list.listToArray( listNode, database ), - - // Apply indenting or outdenting on the array. - baseIndent = listArray[ lastItem.getCustomData( 'listarray_index' ) ].indent; - - for ( i = startItem.getCustomData( 'listarray_index' ); i <= lastItem.getCustomData( 'listarray_index' ); i++ ) { - listArray[ i ].indent += indentOffset; - // Make sure the newly created sublist get a brand-new element of the same type. (#5372) - if ( indentOffset > 0 ) { - var listRoot = listArray[ i ].parent; - listArray[ i ].parent = new CKEDITOR.dom.element( listRoot.getName(), listRoot.getDocument() ); - } - } - - for ( i = lastItem.getCustomData( 'listarray_index' ) + 1; i < listArray.length && listArray[ i ].indent > baseIndent; i++ ) - listArray[ i ].indent += indentOffset; - - // Convert the array back to a DOM forest (yes we might have a few subtrees now). - // And replace the old list with the new forest. - var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, listNode.getDirection() ); - - // Avoid nested
    • after outdent even they're visually same, - // recording them for later refactoring.(#3982) - if ( !that.isIndent ) { - var parentLiElement; - if ( ( parentLiElement = listNode.getParent() ) && parentLiElement.is( 'li' ) ) { - var children = newList.listNode.getChildren(), - pendingLis = [], - count = children.count(), - child; - - for ( i = count - 1; i >= 0; i-- ) { - if ( ( child = children.getItem( i ) ) && child.is && child.is( 'li' ) ) - pendingLis.push( child ); - } - } - } - - if ( newList ) - newList.listNode.replace( listNode ); - - // Move the nested
    • to be appeared after the parent. - if ( pendingLis && pendingLis.length ) { - for ( i = 0; i < pendingLis.length; i++ ) { - var li = pendingLis[ i ], - followingList = li; - - // Nest preceding
        /
          inside current
        1. if any. - while ( ( followingList = followingList.getNext() ) && followingList.is && followingList.getName() in context ) { - // IE requires a filler NBSP for nested list inside empty list item, - // otherwise the list item will be inaccessiable. (#4476) - if ( CKEDITOR.env.needsNbspFiller && !li.getFirst( neitherWhitespacesNorBookmark ) ) - li.append( range.document.createText( '\u00a0' ) ); - - li.append( followingList ); - } - - li.insertAfter( parentLiElement ); - } - } - - if ( newList ) - editor.fire( 'contentDomInvalidated' ); - - return true; - } - - var selection = editor.getSelection(), - ranges = selection && selection.getRanges(), - iterator = ranges.createIterator(), - range; - - while ( ( range = iterator.getNextRange() ) ) { - var rangeRoot = range.getCommonAncestor(), - nearestListBlock = rangeRoot; - - while ( nearestListBlock && !( nearestListBlock.type == CKEDITOR.NODE_ELEMENT && context[ nearestListBlock.getName() ] ) ) - nearestListBlock = nearestListBlock.getParent(); - - // Avoid having selection boundaries out of the list. - //
          • [...

          ...]

          =>
          • [...]

          ...

          - if ( !nearestListBlock ) { - if ( ( nearestListBlock = range.startPath().contains( context ) ) ) - range.setEndAt( nearestListBlock, CKEDITOR.POSITION_BEFORE_END ); - } - - // Avoid having selection enclose the entire list. (#6138) - // [
          • ...
          ] =>
          • [...]
          - if ( !nearestListBlock ) { - var selectedNode = range.getEnclosedNode(); - if ( selectedNode && selectedNode.type == CKEDITOR.NODE_ELEMENT && selectedNode.getName() in context ) { - range.setStartAt( selectedNode, CKEDITOR.POSITION_AFTER_START ); - range.setEndAt( selectedNode, CKEDITOR.POSITION_BEFORE_END ); - nearestListBlock = selectedNode; - } - } - - // Avoid selection anchors under list root. - //
            [
          • ...
          • ]
          =>
          • [...]
          - if ( nearestListBlock && range.startContainer.type == CKEDITOR.NODE_ELEMENT && range.startContainer.getName() in context ) { - var walker = new CKEDITOR.dom.walker( range ); - walker.evaluator = listItem; - range.startContainer = walker.next(); - } - - if ( nearestListBlock && range.endContainer.type == CKEDITOR.NODE_ELEMENT && range.endContainer.getName() in context ) { - walker = new CKEDITOR.dom.walker( range ); - walker.evaluator = listItem; - range.endContainer = walker.previous(); - } - - if ( nearestListBlock ) - return indent( nearestListBlock ); - } - return 0; - } - - // Check whether a first child of a list is in the path. - // The list can be extracted from path or given explicitly - // e.g. for better performance if cached. - function firstItemInPath( path, list ) { - if ( !list ) - list = path.contains( this.context ); - - return list && path.block && path.block.equals( list.getFirst( listItem ) ); - } - - // Determines whether a node is a list
        2. element. - function listItem( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' ); - } - - function neitherWhitespacesNorBookmark( node ) { - return isNotWhitespaces( node ) && isNotBookmark( node ); - } -} )(); diff --git a/scripts/ckeditor/plugins/justify/icons/hidpi/justifyblock.png b/scripts/ckeditor/plugins/justify/icons/hidpi/justifyblock.png deleted file mode 100755 index 7209fd41..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/hidpi/justifyblock.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/hidpi/justifycenter.png b/scripts/ckeditor/plugins/justify/icons/hidpi/justifycenter.png deleted file mode 100755 index 365e3205..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/hidpi/justifycenter.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/hidpi/justifyleft.png b/scripts/ckeditor/plugins/justify/icons/hidpi/justifyleft.png deleted file mode 100755 index 75308c12..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/hidpi/justifyleft.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/hidpi/justifyright.png b/scripts/ckeditor/plugins/justify/icons/hidpi/justifyright.png deleted file mode 100755 index de7c3d45..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/hidpi/justifyright.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/justifyblock.png b/scripts/ckeditor/plugins/justify/icons/justifyblock.png deleted file mode 100755 index a507be1b..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/justifyblock.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/justifycenter.png b/scripts/ckeditor/plugins/justify/icons/justifycenter.png deleted file mode 100755 index f758bc42..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/justifycenter.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/justifyleft.png b/scripts/ckeditor/plugins/justify/icons/justifyleft.png deleted file mode 100755 index 542ddee3..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/justifyleft.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/icons/justifyright.png b/scripts/ckeditor/plugins/justify/icons/justifyright.png deleted file mode 100755 index 71a983c9..00000000 Binary files a/scripts/ckeditor/plugins/justify/icons/justifyright.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/justify/lang/af.js b/scripts/ckeditor/plugins/justify/lang/af.js deleted file mode 100755 index 1ebc685a..00000000 --- a/scripts/ckeditor/plugins/justify/lang/af.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'af', { - block: 'Uitvul', - center: 'Sentreer', - left: 'Links oplyn', - right: 'Regs oplyn' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ar.js b/scripts/ckeditor/plugins/justify/lang/ar.js deleted file mode 100755 index 99bd7b94..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ar.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ar', { - block: 'ضبط', - center: 'توسيط', - left: 'محاذاة إلى اليسار', - right: 'محاذاة إلى اليمين' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/bg.js b/scripts/ckeditor/plugins/justify/lang/bg.js deleted file mode 100755 index 9077fcef..00000000 --- a/scripts/ckeditor/plugins/justify/lang/bg.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'bg', { - block: 'Двустранно подравняване', - center: 'Център', - left: 'Подравни в ляво', - right: 'Подравни в дясно' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/bn.js b/scripts/ckeditor/plugins/justify/lang/bn.js deleted file mode 100755 index 5d0e6b9e..00000000 --- a/scripts/ckeditor/plugins/justify/lang/bn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'bn', { - block: 'ব্লক জাস্টিফাই', - center: 'মাঝ বরাবর ঘেষা', - left: 'বা দিকে ঘেঁষা', - right: 'ডান দিকে ঘেঁষা' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/bs.js b/scripts/ckeditor/plugins/justify/lang/bs.js deleted file mode 100755 index ca0be4e9..00000000 --- a/scripts/ckeditor/plugins/justify/lang/bs.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'bs', { - block: 'Puno poravnanje', - center: 'Centralno poravnanje', - left: 'Lijevo poravnanje', - right: 'Desno poravnanje' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ca.js b/scripts/ckeditor/plugins/justify/lang/ca.js deleted file mode 100755 index 37068e3b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ca.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ca', { - block: 'Justificat', - center: 'Centrat', - left: 'Alinea a l\'esquerra', - right: 'Alinea a la dreta' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/cs.js b/scripts/ckeditor/plugins/justify/lang/cs.js deleted file mode 100755 index 4045513f..00000000 --- a/scripts/ckeditor/plugins/justify/lang/cs.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'cs', { - block: 'Zarovnat do bloku', - center: 'Zarovnat na střed', - left: 'Zarovnat vlevo', - right: 'Zarovnat vpravo' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/cy.js b/scripts/ckeditor/plugins/justify/lang/cy.js deleted file mode 100755 index 25a2f8fd..00000000 --- a/scripts/ckeditor/plugins/justify/lang/cy.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'cy', { - block: 'Unioni', - center: 'Alinio i\'r Canol', - left: 'Alinio i\'r Chwith', - right: 'Alinio i\'r Dde' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/da.js b/scripts/ckeditor/plugins/justify/lang/da.js deleted file mode 100755 index a845bd2b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/da.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'da', { - block: 'Lige margener', - center: 'Centreret', - left: 'Venstrestillet', - right: 'Højrestillet' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/de.js b/scripts/ckeditor/plugins/justify/lang/de.js deleted file mode 100755 index 847537ff..00000000 --- a/scripts/ckeditor/plugins/justify/lang/de.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'de', { - block: 'Blocksatz', - center: 'Zentriert', - left: 'Linksbündig', - right: 'Rechtsbündig' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/el.js b/scripts/ckeditor/plugins/justify/lang/el.js deleted file mode 100755 index ed628f21..00000000 --- a/scripts/ckeditor/plugins/justify/lang/el.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'el', { - block: 'Πλήρης Στοίχιση', - center: 'Στο Κέντρο', - left: 'Στοίχιση Αριστερά', - right: 'Στοίχιση Δεξιά' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/en-au.js b/scripts/ckeditor/plugins/justify/lang/en-au.js deleted file mode 100755 index d2ade0b3..00000000 --- a/scripts/ckeditor/plugins/justify/lang/en-au.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'en-au', { - block: 'Justify', - center: 'Centre', - left: 'Align Left', - right: 'Align Right' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/en-ca.js b/scripts/ckeditor/plugins/justify/lang/en-ca.js deleted file mode 100755 index 94e6456e..00000000 --- a/scripts/ckeditor/plugins/justify/lang/en-ca.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'en-ca', { - block: 'Justify', - center: 'Centre', - left: 'Align Left', - right: 'Align Right' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/en-gb.js b/scripts/ckeditor/plugins/justify/lang/en-gb.js deleted file mode 100755 index b47834de..00000000 --- a/scripts/ckeditor/plugins/justify/lang/en-gb.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'en-gb', { - block: 'Justify', - center: 'Centre', - left: 'Align Left', - right: 'Align Right' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/en.js b/scripts/ckeditor/plugins/justify/lang/en.js deleted file mode 100755 index df473005..00000000 --- a/scripts/ckeditor/plugins/justify/lang/en.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'en', { - block: 'Justify', - center: 'Center', - left: 'Align Left', - right: 'Align Right' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/eo.js b/scripts/ckeditor/plugins/justify/lang/eo.js deleted file mode 100755 index b9811a7f..00000000 --- a/scripts/ckeditor/plugins/justify/lang/eo.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'eo', { - block: 'Ĝisrandigi Ambaŭflanke', - center: 'Centrigi', - left: 'Ĝisrandigi maldekstren', - right: 'Ĝisrandigi dekstren' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/es.js b/scripts/ckeditor/plugins/justify/lang/es.js deleted file mode 100755 index 942ddbf9..00000000 --- a/scripts/ckeditor/plugins/justify/lang/es.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'es', { - block: 'Justificado', - center: 'Centrar', - left: 'Alinear a Izquierda', - right: 'Alinear a Derecha' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/et.js b/scripts/ckeditor/plugins/justify/lang/et.js deleted file mode 100755 index a69b61fe..00000000 --- a/scripts/ckeditor/plugins/justify/lang/et.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'et', { - block: 'Rööpjoondus', - center: 'Keskjoondus', - left: 'Vasakjoondus', - right: 'Paremjoondus' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/eu.js b/scripts/ckeditor/plugins/justify/lang/eu.js deleted file mode 100755 index 07d242ac..00000000 --- a/scripts/ckeditor/plugins/justify/lang/eu.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'eu', { - block: 'Justifikatu', - center: 'Lerrokatu Erdian', - left: 'Lerrokatu Ezkerrean', - right: 'Lerrokatu Eskuman' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/fa.js b/scripts/ckeditor/plugins/justify/lang/fa.js deleted file mode 100755 index aa605238..00000000 --- a/scripts/ckeditor/plugins/justify/lang/fa.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'fa', { - block: 'بلوک چین', - center: 'میان چین', - left: 'چپ چین', - right: 'راست چین' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/fi.js b/scripts/ckeditor/plugins/justify/lang/fi.js deleted file mode 100755 index f73c014b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/fi.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'fi', { - block: 'Tasaa molemmat reunat', - center: 'Keskitä', - left: 'Tasaa vasemmat reunat', - right: 'Tasaa oikeat reunat' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/fo.js b/scripts/ckeditor/plugins/justify/lang/fo.js deleted file mode 100755 index c5f5d3ac..00000000 --- a/scripts/ckeditor/plugins/justify/lang/fo.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'fo', { - block: 'Javnir tekstkantar', - center: 'Miðsett', - left: 'Vinstrasett', - right: 'Høgrasett' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/fr-ca.js b/scripts/ckeditor/plugins/justify/lang/fr-ca.js deleted file mode 100755 index 59ebd5fe..00000000 --- a/scripts/ckeditor/plugins/justify/lang/fr-ca.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'fr-ca', { - block: 'Justifié', - center: 'Centré', - left: 'Aligner à gauche', - right: 'Aligner à Droite' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/fr.js b/scripts/ckeditor/plugins/justify/lang/fr.js deleted file mode 100755 index 227efd42..00000000 --- a/scripts/ckeditor/plugins/justify/lang/fr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'fr', { - block: 'Justifier', - center: 'Centrer', - left: 'Aligner à gauche', - right: 'Aligner à droite' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/gl.js b/scripts/ckeditor/plugins/justify/lang/gl.js deleted file mode 100755 index 6751c93e..00000000 --- a/scripts/ckeditor/plugins/justify/lang/gl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'gl', { - block: 'Xustificado', - center: 'Centrado', - left: 'Aliñar á esquerda', - right: 'Aliñar á dereita' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/gu.js b/scripts/ckeditor/plugins/justify/lang/gu.js deleted file mode 100755 index 08d75ad9..00000000 --- a/scripts/ckeditor/plugins/justify/lang/gu.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'gu', { - block: 'બ્લૉક, અંતરાય જસ્ટિફાઇ', - center: 'સંકેંદ્રણ/સેંટરિંગ', - left: 'ડાબી બાજુએ/બાજુ તરફ', - right: 'જમણી બાજુએ/બાજુ તરફ' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/he.js b/scripts/ckeditor/plugins/justify/lang/he.js deleted file mode 100755 index 2a1e121b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/he.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'he', { - block: 'יישור לשוליים', - center: 'מרכוז', - left: 'יישור לשמאל', - right: 'יישור לימין' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/hi.js b/scripts/ckeditor/plugins/justify/lang/hi.js deleted file mode 100755 index 4bf1be43..00000000 --- a/scripts/ckeditor/plugins/justify/lang/hi.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'hi', { - block: 'ब्लॉक जस्टीफ़ाई', - center: 'बीच में', - left: 'बायीं तरफ', - right: 'दायीं तरफ' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/hr.js b/scripts/ckeditor/plugins/justify/lang/hr.js deleted file mode 100755 index bdbac374..00000000 --- a/scripts/ckeditor/plugins/justify/lang/hr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'hr', { - block: 'Blok poravnanje', - center: 'Središnje poravnanje', - left: 'Lijevo poravnanje', - right: 'Desno poravnanje' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/hu.js b/scripts/ckeditor/plugins/justify/lang/hu.js deleted file mode 100755 index 421bb0be..00000000 --- a/scripts/ckeditor/plugins/justify/lang/hu.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'hu', { - block: 'Sorkizárt', - center: 'Középre', - left: 'Balra', - right: 'Jobbra' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/id.js b/scripts/ckeditor/plugins/justify/lang/id.js deleted file mode 100755 index 72da241a..00000000 --- a/scripts/ckeditor/plugins/justify/lang/id.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'id', { - block: 'Rata kiri-kanan', - center: 'Pusat', - left: 'Align Left', // MISSING - right: 'Align Right' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/is.js b/scripts/ckeditor/plugins/justify/lang/is.js deleted file mode 100755 index 5633a848..00000000 --- a/scripts/ckeditor/plugins/justify/lang/is.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'is', { - block: 'Jafna báðum megin', - center: 'Miðja texta', - left: 'Vinstrijöfnun', - right: 'Hægrijöfnun' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/it.js b/scripts/ckeditor/plugins/justify/lang/it.js deleted file mode 100755 index 274d9fb3..00000000 --- a/scripts/ckeditor/plugins/justify/lang/it.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'it', { - block: 'Giustifica', - center: 'Centra', - left: 'Allinea a sinistra', - right: 'Allinea a destra' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ja.js b/scripts/ckeditor/plugins/justify/lang/ja.js deleted file mode 100755 index cf2a916d..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ja.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ja', { - block: '両端揃え', - center: '中央揃え', - left: '左揃え', - right: '右揃え' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ka.js b/scripts/ckeditor/plugins/justify/lang/ka.js deleted file mode 100755 index 9bae755f..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ka.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ka', { - block: 'გადასწორება', - center: 'შუაში სწორება', - left: 'მარცხნივ სწორება', - right: 'მარჯვნივ სწორება' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/km.js b/scripts/ckeditor/plugins/justify/lang/km.js deleted file mode 100755 index 4c0c971b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/km.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'km', { - block: 'តម្រឹម​ពេញ', - center: 'កណ្ដាល', - left: 'តម្រឹម​ឆ្វេង', - right: 'តម្រឹម​ស្ដាំ' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ko.js b/scripts/ckeditor/plugins/justify/lang/ko.js deleted file mode 100755 index a3ad614e..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ko.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ko', { - block: '양쪽 맞춤', - center: '가운데 정렬', - left: '왼쪽 정렬', - right: '오른쪽 정렬' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ku.js b/scripts/ckeditor/plugins/justify/lang/ku.js deleted file mode 100755 index 121f6751..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ku.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ku', { - block: 'هاوستوونی', - center: 'ناوەڕاست', - left: 'بەهێڵ کردنی چەپ', - right: 'بەهێڵ کردنی ڕاست' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/lt.js b/scripts/ckeditor/plugins/justify/lang/lt.js deleted file mode 100755 index 7b8e0a2a..00000000 --- a/scripts/ckeditor/plugins/justify/lang/lt.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'lt', { - block: 'Lygiuoti abi puses', - center: 'Centruoti', - left: 'Lygiuoti kairę', - right: 'Lygiuoti dešinę' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/lv.js b/scripts/ckeditor/plugins/justify/lang/lv.js deleted file mode 100755 index 31b3d9c9..00000000 --- a/scripts/ckeditor/plugins/justify/lang/lv.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'lv', { - block: 'Izlīdzināt malas', - center: 'Izlīdzināt pret centru', - left: 'Izlīdzināt pa kreisi', - right: 'Izlīdzināt pa labi' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/mk.js b/scripts/ckeditor/plugins/justify/lang/mk.js deleted file mode 100755 index 7ade5721..00000000 --- a/scripts/ckeditor/plugins/justify/lang/mk.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'mk', { - block: 'Justify', // MISSING - center: 'Center', // MISSING - left: 'Align Left', // MISSING - right: 'Align Right' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/mn.js b/scripts/ckeditor/plugins/justify/lang/mn.js deleted file mode 100755 index b596e9a0..00000000 --- a/scripts/ckeditor/plugins/justify/lang/mn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'mn', { - block: 'Тэгшлэх', - center: 'Голлуулах', - left: 'Зүүн талд тулгах', - right: 'Баруун талд тулгах' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ms.js b/scripts/ckeditor/plugins/justify/lang/ms.js deleted file mode 100755 index 13dce30b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ms.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ms', { - block: 'Jajaran Blok', - center: 'Jajaran Tengah', - left: 'Jajaran Kiri', - right: 'Jajaran Kanan' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/nb.js b/scripts/ckeditor/plugins/justify/lang/nb.js deleted file mode 100755 index 9f3a55bb..00000000 --- a/scripts/ckeditor/plugins/justify/lang/nb.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'nb', { - block: 'Blokkjuster', - center: 'Midtstill', - left: 'Venstrejuster', - right: 'Høyrejuster' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/nl.js b/scripts/ckeditor/plugins/justify/lang/nl.js deleted file mode 100755 index 13a1034d..00000000 --- a/scripts/ckeditor/plugins/justify/lang/nl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'nl', { - block: 'Uitvullen', - center: 'Centreren', - left: 'Links uitlijnen', - right: 'Rechts uitlijnen' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/no.js b/scripts/ckeditor/plugins/justify/lang/no.js deleted file mode 100755 index 7cded65b..00000000 --- a/scripts/ckeditor/plugins/justify/lang/no.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'no', { - block: 'Blokkjuster', - center: 'Midtstill', - left: 'Venstrejuster', - right: 'Høyrejuster' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/pl.js b/scripts/ckeditor/plugins/justify/lang/pl.js deleted file mode 100755 index 2e3284e4..00000000 --- a/scripts/ckeditor/plugins/justify/lang/pl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'pl', { - block: 'Wyjustuj', - center: 'Wyśrodkuj', - left: 'Wyrównaj do lewej', - right: 'Wyrównaj do prawej' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/pt-br.js b/scripts/ckeditor/plugins/justify/lang/pt-br.js deleted file mode 100755 index a936155f..00000000 --- a/scripts/ckeditor/plugins/justify/lang/pt-br.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'pt-br', { - block: 'Justificado', - center: 'Centralizar', - left: 'Alinhar Esquerda', - right: 'Alinhar Direita' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/pt.js b/scripts/ckeditor/plugins/justify/lang/pt.js deleted file mode 100755 index eb148cae..00000000 --- a/scripts/ckeditor/plugins/justify/lang/pt.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'pt', { - block: 'Justificado', - center: 'Alinhar ao Centro', - left: 'Alinhar à Esquerda', - right: 'Alinhar à Direita' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ro.js b/scripts/ckeditor/plugins/justify/lang/ro.js deleted file mode 100755 index 4ff43ce0..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ro.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ro', { - block: 'Aliniere în bloc (Block Justify)', - center: 'Aliniere centrală', - left: 'Aliniere la stânga', - right: 'Aliniere la dreapta' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ru.js b/scripts/ckeditor/plugins/justify/lang/ru.js deleted file mode 100755 index 1f8bb49e..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ru.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ru', { - block: 'По ширине', - center: 'По центру', - left: 'По левому краю', - right: 'По правому краю' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/si.js b/scripts/ckeditor/plugins/justify/lang/si.js deleted file mode 100755 index 9d5927d8..00000000 --- a/scripts/ckeditor/plugins/justify/lang/si.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'si', { - block: 'Justify', // MISSING - center: 'මධ්‍ය', - left: 'Align Left', // MISSING - right: 'Align Right' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/sk.js b/scripts/ckeditor/plugins/justify/lang/sk.js deleted file mode 100755 index 15196a6d..00000000 --- a/scripts/ckeditor/plugins/justify/lang/sk.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'sk', { - block: 'Zarovnať do bloku', - center: 'Zarovnať na stred', - left: 'Zarovnať vľavo', - right: 'Zarovnať vpravo' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/sl.js b/scripts/ckeditor/plugins/justify/lang/sl.js deleted file mode 100755 index 33fce814..00000000 --- a/scripts/ckeditor/plugins/justify/lang/sl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'sl', { - block: 'Obojestranska poravnava', - center: 'Sredinska poravnava', - left: 'Leva poravnava', - right: 'Desna poravnava' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/sq.js b/scripts/ckeditor/plugins/justify/lang/sq.js deleted file mode 100755 index 62ceb2a8..00000000 --- a/scripts/ckeditor/plugins/justify/lang/sq.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'sq', { - block: 'Zgjero', - center: 'Qendër', - left: 'Rreshto majtas', - right: 'Rreshto Djathtas' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/sr-latn.js b/scripts/ckeditor/plugins/justify/lang/sr-latn.js deleted file mode 100755 index 6b0e0826..00000000 --- a/scripts/ckeditor/plugins/justify/lang/sr-latn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'sr-latn', { - block: 'Obostrano ravnanje', - center: 'Centriran tekst', - left: 'Levo ravnanje', - right: 'Desno ravnanje' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/sr.js b/scripts/ckeditor/plugins/justify/lang/sr.js deleted file mode 100755 index 1b153a29..00000000 --- a/scripts/ckeditor/plugins/justify/lang/sr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'sr', { - block: 'Обострано равнање', - center: 'Центриран текст', - left: 'Лево равнање', - right: 'Десно равнање' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/sv.js b/scripts/ckeditor/plugins/justify/lang/sv.js deleted file mode 100755 index 44b8d2a5..00000000 --- a/scripts/ckeditor/plugins/justify/lang/sv.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'sv', { - block: 'Justera till marginaler', - center: 'Centrera', - left: 'Vänsterjustera', - right: 'Högerjustera' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/th.js b/scripts/ckeditor/plugins/justify/lang/th.js deleted file mode 100755 index eac90410..00000000 --- a/scripts/ckeditor/plugins/justify/lang/th.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'th', { - block: 'จัดพอดีหน้ากระดาษ', - center: 'จัดกึ่งกลาง', - left: 'จัดชิดซ้าย', - right: 'จัดชิดขวา' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/tr.js b/scripts/ckeditor/plugins/justify/lang/tr.js deleted file mode 100755 index 81052bcb..00000000 --- a/scripts/ckeditor/plugins/justify/lang/tr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'tr', { - block: 'İki Kenara Yaslanmış', - center: 'Ortalanmış', - left: 'Sola Dayalı', - right: 'Sağa Dayalı' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/tt.js b/scripts/ckeditor/plugins/justify/lang/tt.js deleted file mode 100755 index 3e22a11a..00000000 --- a/scripts/ckeditor/plugins/justify/lang/tt.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'tt', { - block: 'Киңлеккә карап тигезләү', - center: 'Үзәккә тигезләү', - left: 'Сул як кырыйдан тигезләү', - right: 'Уң як кырыйдан тигезләү' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/ug.js b/scripts/ckeditor/plugins/justify/lang/ug.js deleted file mode 100755 index aa6b7cd9..00000000 --- a/scripts/ckeditor/plugins/justify/lang/ug.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'ug', { - block: 'ئىككى تەرەپتىن توغرىلا', - center: 'ئوتتۇرىغا توغرىلا', - left: 'سولغا توغرىلا', - right: 'ئوڭغا توغرىلا' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/uk.js b/scripts/ckeditor/plugins/justify/lang/uk.js deleted file mode 100755 index d9da7596..00000000 --- a/scripts/ckeditor/plugins/justify/lang/uk.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'uk', { - block: 'По ширині', - center: 'По центру', - left: 'По лівому краю', - right: 'По правому краю' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/vi.js b/scripts/ckeditor/plugins/justify/lang/vi.js deleted file mode 100755 index 64072bf3..00000000 --- a/scripts/ckeditor/plugins/justify/lang/vi.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'vi', { - block: 'Canh đều', - center: 'Canh giữa', - left: 'Canh trái', - right: 'Canh phải' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/zh-cn.js b/scripts/ckeditor/plugins/justify/lang/zh-cn.js deleted file mode 100755 index eb1c9892..00000000 --- a/scripts/ckeditor/plugins/justify/lang/zh-cn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'zh-cn', { - block: '两端对齐', - center: '居中', - left: '左对齐', - right: '右对齐' -} ); diff --git a/scripts/ckeditor/plugins/justify/lang/zh.js b/scripts/ckeditor/plugins/justify/lang/zh.js deleted file mode 100755 index 81d95867..00000000 --- a/scripts/ckeditor/plugins/justify/lang/zh.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'justify', 'zh', { - block: '左右對齊', - center: '置中', - left: '靠左對齊', - right: '靠右對齊' -} ); diff --git a/scripts/ckeditor/plugins/justify/plugin.js b/scripts/ckeditor/plugins/justify/plugin.js deleted file mode 100755 index 8648ff7e..00000000 --- a/scripts/ckeditor/plugins/justify/plugin.js +++ /dev/null @@ -1,241 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Justify commands. - */ - -( function() { - function getAlignment( element, useComputedState ) { - useComputedState = useComputedState === undefined || useComputedState; - - var align; - if ( useComputedState ) - align = element.getComputedStyle( 'text-align' ); - else { - while ( !element.hasAttribute || !( element.hasAttribute( 'align' ) || element.getStyle( 'text-align' ) ) ) { - var parent = element.getParent(); - if ( !parent ) - break; - element = parent; - } - align = element.getStyle( 'text-align' ) || element.getAttribute( 'align' ) || ''; - } - - // Sometimes computed values doesn't tell. - align && ( align = align.replace( /(?:-(?:moz|webkit)-)?(?:start|auto)/i, '' ) ); - - !align && useComputedState && ( align = element.getComputedStyle( 'direction' ) == 'rtl' ? 'right' : 'left' ); - - return align; - } - - function justifyCommand( editor, name, value ) { - this.editor = editor; - this.name = name; - this.value = value; - this.context = 'p'; - - var classes = editor.config.justifyClasses, - blockTag = editor.config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div'; - - if ( classes ) { - switch ( value ) { - case 'left': - this.cssClassName = classes[ 0 ]; - break; - case 'center': - this.cssClassName = classes[ 1 ]; - break; - case 'right': - this.cssClassName = classes[ 2 ]; - break; - case 'justify': - this.cssClassName = classes[ 3 ]; - break; - } - - this.cssClassRegex = new RegExp( '(?:^|\\s+)(?:' + classes.join( '|' ) + ')(?=$|\\s)' ); - this.requiredContent = blockTag + '(' + this.cssClassName + ')'; - } - else - this.requiredContent = blockTag + '{text-align}'; - - this.allowedContent = { - 'caption div h1 h2 h3 h4 h5 h6 p pre td th li': { - // Do not add elements, but only text-align style if element is validated by other rule. - propertiesOnly: true, - styles: this.cssClassName ? null : 'text-align', - classes: this.cssClassName || null - } - }; - - // In enter mode BR we need to allow here for div, because when non other - // feature allows div justify is the only plugin that uses it. - if ( editor.config.enterMode == CKEDITOR.ENTER_BR ) - this.allowedContent.div = true; - } - - function onDirChanged( e ) { - var editor = e.editor; - - var range = editor.createRange(); - range.setStartBefore( e.data.node ); - range.setEndAfter( e.data.node ); - - var walker = new CKEDITOR.dom.walker( range ), - node; - - while ( ( node = walker.next() ) ) { - if ( node.type == CKEDITOR.NODE_ELEMENT ) { - // A child with the defined dir is to be ignored. - if ( !node.equals( e.data.node ) && node.getDirection() ) { - range.setStartAfter( node ); - walker = new CKEDITOR.dom.walker( range ); - continue; - } - - // Switch the alignment. - var classes = editor.config.justifyClasses; - if ( classes ) { - // The left align class. - if ( node.hasClass( classes[ 0 ] ) ) { - node.removeClass( classes[ 0 ] ); - node.addClass( classes[ 2 ] ); - } - // The right align class. - else if ( node.hasClass( classes[ 2 ] ) ) { - node.removeClass( classes[ 2 ] ); - node.addClass( classes[ 0 ] ); - } - } - - // Always switch CSS margins. - var style = 'text-align'; - var align = node.getStyle( style ); - - if ( align == 'left' ) - node.setStyle( style, 'right' ); - else if ( align == 'right' ) - node.setStyle( style, 'left' ); - } - } - } - - justifyCommand.prototype = { - exec: function( editor ) { - var selection = editor.getSelection(), - enterMode = editor.config.enterMode; - - if ( !selection ) - return; - - var bookmarks = selection.createBookmarks(), - ranges = selection.getRanges(); - - var cssClassName = this.cssClassName, - iterator, block; - - var useComputedState = editor.config.useComputedState; - useComputedState = useComputedState === undefined || useComputedState; - - for ( var i = ranges.length - 1; i >= 0; i-- ) { - iterator = ranges[ i ].createIterator(); - iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR; - - while ( ( block = iterator.getNextParagraph( enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ) ) { - if ( block.isReadOnly() ) - continue; - - block.removeAttribute( 'align' ); - block.removeStyle( 'text-align' ); - - // Remove any of the alignment classes from the className. - var className = cssClassName && ( block.$.className = CKEDITOR.tools.ltrim( block.$.className.replace( this.cssClassRegex, '' ) ) ); - - var apply = ( this.state == CKEDITOR.TRISTATE_OFF ) && ( !useComputedState || ( getAlignment( block, true ) != this.value ) ); - - if ( cssClassName ) { - // Append the desired class name. - if ( apply ) - block.addClass( cssClassName ); - else if ( !className ) - block.removeAttribute( 'class' ); - } else if ( apply ) - block.setStyle( 'text-align', this.value ); - } - - } - - editor.focus(); - editor.forceNextSelectionCheck(); - selection.selectBookmarks( bookmarks ); - }, - - refresh: function( editor, path ) { - var firstBlock = path.block || path.blockLimit; - - this.setState( firstBlock.getName() != 'body' && getAlignment( firstBlock, this.editor.config.useComputedState ) == this.value ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF ); - } - }; - - CKEDITOR.plugins.add( 'justify', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'justifyblock,justifycenter,justifyleft,justifyright', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - if ( editor.blockless ) - return; - - var left = new justifyCommand( editor, 'justifyleft', 'left' ), - center = new justifyCommand( editor, 'justifycenter', 'center' ), - right = new justifyCommand( editor, 'justifyright', 'right' ), - justify = new justifyCommand( editor, 'justifyblock', 'justify' ); - - editor.addCommand( 'justifyleft', left ); - editor.addCommand( 'justifycenter', center ); - editor.addCommand( 'justifyright', right ); - editor.addCommand( 'justifyblock', justify ); - - if ( editor.ui.addButton ) { - editor.ui.addButton( 'JustifyLeft', { - label: editor.lang.justify.left, - command: 'justifyleft', - toolbar: 'align,10' - } ); - editor.ui.addButton( 'JustifyCenter', { - label: editor.lang.justify.center, - command: 'justifycenter', - toolbar: 'align,20' - } ); - editor.ui.addButton( 'JustifyRight', { - label: editor.lang.justify.right, - command: 'justifyright', - toolbar: 'align,30' - } ); - editor.ui.addButton( 'JustifyBlock', { - label: editor.lang.justify.block, - command: 'justifyblock', - toolbar: 'align,40' - } ); - } - - editor.on( 'dirChanged', onDirChanged ); - } - } ); -} )(); - -/** - * List of classes to use for aligning the contents. If it's `null`, no classes will be used - * and instead the corresponding CSS values will be used. - * - * The array should contain 4 members, in the following order: left, center, right, justify. - * - * // Use the classes 'AlignLeft', 'AlignCenter', 'AlignRight', 'AlignJustify' - * config.justifyClasses = [ 'AlignLeft', 'AlignCenter', 'AlignRight', 'AlignJustify' ]; - * - * @cfg {Array} [justifyClasses=null] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/language/icons/hidpi/language.png b/scripts/ckeditor/plugins/language/icons/hidpi/language.png deleted file mode 100755 index 3908a6ae..00000000 Binary files a/scripts/ckeditor/plugins/language/icons/hidpi/language.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/language/icons/language.png b/scripts/ckeditor/plugins/language/icons/language.png deleted file mode 100755 index eb680d42..00000000 Binary files a/scripts/ckeditor/plugins/language/icons/language.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/language/lang/ar.js b/scripts/ckeditor/plugins/language/lang/ar.js deleted file mode 100755 index 286fa946..00000000 --- a/scripts/ckeditor/plugins/language/lang/ar.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'ar', { - button: 'Set language', // MISSING - remove: 'Remove language' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/language/lang/ca.js b/scripts/ckeditor/plugins/language/lang/ca.js deleted file mode 100755 index 3b70ef86..00000000 --- a/scripts/ckeditor/plugins/language/lang/ca.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'ca', { - button: 'Definir l\'idioma', - remove: 'Eliminar idioma' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/cs.js b/scripts/ckeditor/plugins/language/lang/cs.js deleted file mode 100755 index 8e0e5bb1..00000000 --- a/scripts/ckeditor/plugins/language/lang/cs.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'cs', { - button: 'Nastavit jazyk', - remove: 'Odstranit jazyk' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/cy.js b/scripts/ckeditor/plugins/language/lang/cy.js deleted file mode 100755 index dbf66a66..00000000 --- a/scripts/ckeditor/plugins/language/lang/cy.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'cy', { - button: 'Gosod iaith', - remove: 'Tynnu iaith' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/de.js b/scripts/ckeditor/plugins/language/lang/de.js deleted file mode 100755 index 3a6c1ab6..00000000 --- a/scripts/ckeditor/plugins/language/lang/de.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'de', { - button: 'Sprache stellen', - remove: 'Sprache entfernen' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/el.js b/scripts/ckeditor/plugins/language/lang/el.js deleted file mode 100755 index 25a6735e..00000000 --- a/scripts/ckeditor/plugins/language/lang/el.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'el', { - button: 'Θέση γλώσσας', - remove: 'Αφαίρεση γλώσσας' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/en-gb.js b/scripts/ckeditor/plugins/language/lang/en-gb.js deleted file mode 100755 index 35e7ec7b..00000000 --- a/scripts/ckeditor/plugins/language/lang/en-gb.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'en-gb', { - button: 'Set language', - remove: 'Remove language' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/en.js b/scripts/ckeditor/plugins/language/lang/en.js deleted file mode 100755 index 3fadb234..00000000 --- a/scripts/ckeditor/plugins/language/lang/en.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'en', { - button: 'Set language', - remove: 'Remove language' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/eo.js b/scripts/ckeditor/plugins/language/lang/eo.js deleted file mode 100755 index 6e242441..00000000 --- a/scripts/ckeditor/plugins/language/lang/eo.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'eo', { - button: 'Instali lingvon', - remove: 'Forigi lingvon' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/es.js b/scripts/ckeditor/plugins/language/lang/es.js deleted file mode 100755 index 33b9a7ff..00000000 --- a/scripts/ckeditor/plugins/language/lang/es.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'es', { - button: 'Fijar lenguaje', - remove: 'Quitar lenguaje' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/fa.js b/scripts/ckeditor/plugins/language/lang/fa.js deleted file mode 100755 index c27ce7ee..00000000 --- a/scripts/ckeditor/plugins/language/lang/fa.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'fa', { - button: 'تعیین زبان', - remove: 'حذف زبان' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/fi.js b/scripts/ckeditor/plugins/language/lang/fi.js deleted file mode 100755 index f359cbb0..00000000 --- a/scripts/ckeditor/plugins/language/lang/fi.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'fi', { - button: 'Aseta kieli', - remove: 'Poista kieli' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/fr.js b/scripts/ckeditor/plugins/language/lang/fr.js deleted file mode 100755 index b8106569..00000000 --- a/scripts/ckeditor/plugins/language/lang/fr.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'fr', { - button: 'Définir la langue', - remove: 'Supprimer la langue' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/gl.js b/scripts/ckeditor/plugins/language/lang/gl.js deleted file mode 100755 index c078c792..00000000 --- a/scripts/ckeditor/plugins/language/lang/gl.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'gl', { - button: 'Estabelezer o idioma', - remove: 'Retirar o idioma' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/he.js b/scripts/ckeditor/plugins/language/lang/he.js deleted file mode 100755 index dddba90e..00000000 --- a/scripts/ckeditor/plugins/language/lang/he.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'he', { - button: 'צור שפה', - remove: 'הסר שפה' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/hr.js b/scripts/ckeditor/plugins/language/lang/hr.js deleted file mode 100755 index ff5dc48c..00000000 --- a/scripts/ckeditor/plugins/language/lang/hr.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'hr', { - button: 'Namjesti jezik', - remove: 'Makni jezik' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/hu.js b/scripts/ckeditor/plugins/language/lang/hu.js deleted file mode 100755 index e2d3415c..00000000 --- a/scripts/ckeditor/plugins/language/lang/hu.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'hu', { - button: 'Nyelv beállítása', - remove: 'Nyelv eltávolítása' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/it.js b/scripts/ckeditor/plugins/language/lang/it.js deleted file mode 100755 index 9bad2e88..00000000 --- a/scripts/ckeditor/plugins/language/lang/it.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'it', { - button: 'Imposta lingua', - remove: 'Rimuovi lingua' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/ja.js b/scripts/ckeditor/plugins/language/lang/ja.js deleted file mode 100755 index dbe4c22f..00000000 --- a/scripts/ckeditor/plugins/language/lang/ja.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'ja', { - button: '言語を設定', - remove: '言語を削除' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/km.js b/scripts/ckeditor/plugins/language/lang/km.js deleted file mode 100755 index e14203a9..00000000 --- a/scripts/ckeditor/plugins/language/lang/km.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'km', { - button: 'កំណត់​ភាសា', - remove: 'លុប​ភាសា' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/nb.js b/scripts/ckeditor/plugins/language/lang/nb.js deleted file mode 100755 index 670f1ebe..00000000 --- a/scripts/ckeditor/plugins/language/lang/nb.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'nb', { - button: 'Sett språk', - remove: 'Fjern språk' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/nl.js b/scripts/ckeditor/plugins/language/lang/nl.js deleted file mode 100755 index 2e8bb0e3..00000000 --- a/scripts/ckeditor/plugins/language/lang/nl.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'nl', { - button: 'Taal instellen', - remove: 'Taal verwijderen' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/no.js b/scripts/ckeditor/plugins/language/lang/no.js deleted file mode 100755 index e5ad0e04..00000000 --- a/scripts/ckeditor/plugins/language/lang/no.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'no', { - button: 'Sett språk', - remove: 'Fjern språk' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/pl.js b/scripts/ckeditor/plugins/language/lang/pl.js deleted file mode 100755 index 1b37e3e7..00000000 --- a/scripts/ckeditor/plugins/language/lang/pl.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'pl', { - button: 'Ustaw język', - remove: 'Usuń język' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/pt-br.js b/scripts/ckeditor/plugins/language/lang/pt-br.js deleted file mode 100755 index 277f53c2..00000000 --- a/scripts/ckeditor/plugins/language/lang/pt-br.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'pt-br', { - button: 'Configure o Idioma', - remove: 'Remover Idioma' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/pt.js b/scripts/ckeditor/plugins/language/lang/pt.js deleted file mode 100755 index 1cd82975..00000000 --- a/scripts/ckeditor/plugins/language/lang/pt.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'pt', { - button: 'Definir Idioma', - remove: 'Remover Idioma' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/ru.js b/scripts/ckeditor/plugins/language/lang/ru.js deleted file mode 100755 index ff419b84..00000000 --- a/scripts/ckeditor/plugins/language/lang/ru.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'ru', { - button: 'Установка языка', - remove: 'Удалить язык' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/sl.js b/scripts/ckeditor/plugins/language/lang/sl.js deleted file mode 100755 index 9ebbcd71..00000000 --- a/scripts/ckeditor/plugins/language/lang/sl.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'sl', { - button: 'Nastavi jezik', - remove: 'Odstrani jezik' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/sv.js b/scripts/ckeditor/plugins/language/lang/sv.js deleted file mode 100755 index a232f729..00000000 --- a/scripts/ckeditor/plugins/language/lang/sv.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'sv', { - button: 'Sätt språk', - remove: 'Ta bort språk' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/tt.js b/scripts/ckeditor/plugins/language/lang/tt.js deleted file mode 100755 index 99a3d3ae..00000000 --- a/scripts/ckeditor/plugins/language/lang/tt.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'tt', { - button: 'Тел сайлау', - remove: 'Телне бетерү' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/uk.js b/scripts/ckeditor/plugins/language/lang/uk.js deleted file mode 100755 index 6ba4149d..00000000 --- a/scripts/ckeditor/plugins/language/lang/uk.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'uk', { - button: 'Установити мову', - remove: 'Вилучити мову' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/vi.js b/scripts/ckeditor/plugins/language/lang/vi.js deleted file mode 100755 index 220a4169..00000000 --- a/scripts/ckeditor/plugins/language/lang/vi.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'vi', { - button: 'Thiết lập ngôn ngữ', - remove: 'Loại bỏ ngôn ngữ' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/zh-cn.js b/scripts/ckeditor/plugins/language/lang/zh-cn.js deleted file mode 100755 index 83b0ecb5..00000000 --- a/scripts/ckeditor/plugins/language/lang/zh-cn.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'zh-cn', { - button: '设置语言', - remove: '移除语言' -} ); diff --git a/scripts/ckeditor/plugins/language/lang/zh.js b/scripts/ckeditor/plugins/language/lang/zh.js deleted file mode 100755 index 925baceb..00000000 --- a/scripts/ckeditor/plugins/language/lang/zh.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.setLang( 'language', 'zh', { - button: '設定語言', - remove: '移除語言' -} ); diff --git a/scripts/ckeditor/plugins/language/plugin.js b/scripts/ckeditor/plugins/language/plugin.js deleted file mode 100755 index 62ebeebc..00000000 --- a/scripts/ckeditor/plugins/language/plugin.js +++ /dev/null @@ -1,166 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview [Language](http://ckeditor.com/addon/language) plugin. - */ - -'use strict'; - -( function() { - - var allowedContent = 'span[!lang,!dir]', - requiredContent = 'span[lang,dir]'; - - CKEDITOR.plugins.add( 'language', { - requires: 'menubutton', - lang: 'ar,ca,cs,cy,de,el,en,en-gb,eo,es,fa,fi,fr,gl,he,hr,hu,it,ja,km,nb,nl,no,pl,pt,pt-br,ru,sl,sv,tt,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'language', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - - init: function( editor ) { - var languagesConfigStrings = ( editor.config.language_list || [ 'ar:Arabic:rtl', 'fr:French', 'es:Spanish' ] ), - plugin = this, - lang = editor.lang.language, - items = {}, - parts, - curLanguageId, // 2-letter language identifier. - languageButtonId, // Will store button namespaced identifier, like "language_en". - i; - - // Registers command. - editor.addCommand( 'language', { - allowedContent: allowedContent, - requiredContent: requiredContent, - contextSensitive: true, - exec: function( editor, languageId ) { - var item = items[ 'language_' + languageId ]; - - if ( item ) - editor[ item.style.checkActive( editor.elementPath(), editor ) ? 'removeStyle' : 'applyStyle' ]( item.style ); - }, - refresh: function( editor, path ) { - this.setState( plugin.getCurrentLangElement( editor ) ? - CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF ); - } - } ); - - // Parse languagesConfigStrings, and create items entry for each lang. - for ( i = 0; i < languagesConfigStrings.length; i++ ) { - parts = languagesConfigStrings[ i ].split( ':' ); - curLanguageId = parts[ 0 ]; - languageButtonId = 'language_' + curLanguageId; - - items[ languageButtonId ] = { - label: parts[ 1 ], - langId: curLanguageId, - group: 'language', - order: i, - // Tells if this language is left-to-right oriented (default: true). - ltr: ( '' + parts[ 2 ] ).toLowerCase() != 'rtl', - onClick: function() { - editor.execCommand( 'language', this.langId ); - }, - role: 'menuitemcheckbox' - }; - - // Init style property. - items[ languageButtonId ].style = new CKEDITOR.style( { - element: 'span', - attributes: { - lang: curLanguageId, - dir: items[ languageButtonId ].ltr ? 'ltr' : 'rtl' - } - } ); - } - - // Remove language indicator button. - items.language_remove = { - label: lang.remove, - group: 'language_remove', - state: CKEDITOR.TRISTATE_DISABLED, - order: items.length, - onClick: function() { - var currentLanguagedElement = plugin.getCurrentLangElement( editor ); - - if ( currentLanguagedElement ) - editor.execCommand( 'language', currentLanguagedElement.getAttribute( 'lang' ) ); - } - }; - - // Initialize groups for menu. - editor.addMenuGroup( 'language', 1 ); - editor.addMenuGroup( 'language_remove' ); // Group order is skipped intentionally, it will be placed at the end. - editor.addMenuItems( items ); - - editor.ui.add( 'Language', CKEDITOR.UI_MENUBUTTON, { - label: lang.button, - // MenuButtons do not (yet) has toFeature method, so we cannot do this: - // toFeature: function( editor ) { return editor.getCommand( 'language' ); } - // Set feature's properties directly on button. - allowedContent: allowedContent, - requiredContent: requiredContent, - toolbar: 'bidi,30', - command: 'language', - onMenu: function() { - var activeItems = {}, - currentLanguagedElement = plugin.getCurrentLangElement( editor ); - - for ( var prop in items ) - activeItems[ prop ] = CKEDITOR.TRISTATE_OFF; - - activeItems.language_remove = currentLanguagedElement ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED; - - if ( currentLanguagedElement ) - activeItems[ 'language_' + currentLanguagedElement.getAttribute( 'lang' ) ] = CKEDITOR.TRISTATE_ON; - - return activeItems; - } - } ); - }, - - // Gets the first language element for the current editor selection. - // @param {CKEDITOR.editor} editor - // @returns {CKEDITOR.dom.element} The language element, if any. - getCurrentLangElement: function( editor ) { - var elementPath = editor.elementPath(), - activePath = elementPath && elementPath.elements, - pathMember, ret; - - // IE8: upon initialization if there is no path elementPath() returns null. - if ( elementPath ) { - for ( var i = 0; i < activePath.length; i++ ) { - pathMember = activePath[ i ]; - - if ( !ret && pathMember.getName() == 'span' && pathMember.hasAttribute( 'dir' ) && pathMember.hasAttribute( 'lang' ) ) - ret = pathMember; - } - } - - return ret; - } - } ); -} )(); - -/** - * Specifies the list of languages available in the - * [Language](http://ckeditor.com/addon/language) plugin. Each entry - * should be a string in the following format: - * - * :[:] - * - * * _languageCode_: The language code used for the `lang` attribute in ISO 639 format. - * Language codes can be found [here](http://www.loc.gov/standards/iso639-2/php/English_list.php). - * You can use both 2-letter ISO-639-1 codes and 3-letter ISO-639-2 codes, though - * for consistency it is recommended to stick to ISO-639-1 2-letter codes. - * * _languageLabel_: The label to show for this language in the list. - * * _textDirection_: (optional) One of the following values: `rtl` or `ltr`, - * indicating the reading direction of the language. Defaults to `ltr`. - * - * config.language_list = [ 'he:Hebrew:rtl', 'pt:Portuguese', 'de:German' ]; - * - * @cfg {Array} [language_list = [ 'ar:Arabic:rtl', 'fr:French', 'es:Spanish' ]] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/lineutils/dev/dnd.html b/scripts/ckeditor/plugins/lineutils/dev/dnd.html deleted file mode 100755 index 506079b2..00000000 --- a/scripts/ckeditor/plugins/lineutils/dev/dnd.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Widget Drag & Drop with Lineutils — CKEditor Sample - - - - - - -

          - CKEditor Samples » Widget Drag & Drop with Lineutils -

          - -

          Classic (iframe-based) Editor

          - - - -

          Inline Editor

          - -
          - - - - - - - - - - - - - - - -
          This tableis thevery firstelement of the document.
          We are stillable to accesthe space before it. - - - - - - - - - -
          This table is inside of a cell of another table.
          We can type either before or after it though.
          -
          - -
          -
          -
            -
          1. This numbered list...
          2. -
          3. ...is a neighbour of a horizontal line...
          4. -
          5. -
              -
            1. Nested list!
            2. -
            -
          6. -
          - -
          Saturn V -
          Roll out of Saturn V on launch pad
          -
          - -
            -
          • We can type between the lists...
          • -
          • ...thanks to Magicline.
          • -
          - -

          Lorem ipsum dolor sit amet dui. Morbi vel turpis. Nullam et leo. Etiam rutrum, urna tellus dui vel tincidunt mattis egestas, justo fringilla vel, massa. Phasellus.

          - -

          Quisque iaculis, dui lectus varius vitae, tortor. Proin lacus. Pellentesque ac lacus. Aenean nonummy commodo nec, pede. Etiam blandit risus elit.

          - -

          Ut pretium. Vestibulum rutrum in, adipiscing elit. Sed in quam in purus sem vitae pede. Pellentesque bibendum, urna sem vel risus. Vivamus posuere metus. Aliquam gravida iaculis nisl. Nam enim. Aliquam erat ac lacus tellus ac felis.

          - -
          -

          This text is wrapped in a DIV element. We can type after this element though.

          -
          -
          - - - - - - diff --git a/scripts/ckeditor/plugins/lineutils/dev/magicfinger.html b/scripts/ckeditor/plugins/lineutils/dev/magicfinger.html deleted file mode 100755 index 651aa829..00000000 --- a/scripts/ckeditor/plugins/lineutils/dev/magicfinger.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - Lineutils — CKEditor Sample - - - - -

          - CKEditor Samples » Lineutils -

          - -

          Classic (iframe-based) Editor

          - - - -

          Inline Editor

          - -
          - - - - - - - - - - - - - - - -
          This tableis thevery firstelement of the document.
          We are stillable to accesthe space before it. - - - - - - - - - -
          This table is inside of a cell of another table.
          We can type either before or after it though.
          -
          - -

          Two succesive horizontal lines (HR tags). We can access the space in between:

          - -
          -
          -
            -
          1. This numbered list...
          2. -
          3. ...is a neighbour of a horizontal line...
          4. -
          5. -
              -
            1. Nested list!
            2. -
            -
          6. -
          - -
            -
          • We can type between the lists...
          • -
          • ...thanks to Magicline.
          • -
          - -

          Lorem ipsum dolor sit amet dui. Morbi vel turpis. Nullam et leo. Etiam rutrum, urna tellus dui vel tincidunt mattis egestas, justo fringilla vel, massa. Phasellus.

          - -

          Quisque iaculis, dui lectus varius vitae, tortor. Proin lacus. Pellentesque ac lacus. Aenean nonummy commodo nec, pede. Etiam blandit risus elit.

          - -

          Ut pretium. Vestibulum rutrum in, adipiscing elit. Sed in quam in purus sem vitae pede. Pellentesque bibendum, urna sem vel risus. Vivamus posuere metus. Aliquam gravida iaculis nisl. Nam enim. Aliquam erat ac lacus tellus ac felis.

          - -
          -

          This text is wrapped in a DIV element. We can type after this element though.

          -
          -
          - -

          Extreme inline

          - -
          -
          Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. Curabitur et ligula. Ut molestie a, ultricies porta urna. Vestibulum commodo volutpat a, convallis ac, laoreet enim.
          -
          - Position static -
          foo
          -
          -
          -
          Key
          Value
          -
          -
          Whatever
          -
          -

          Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies

          -
          -
          -

          Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies

          -
          foo
          -
          - -

          Classic (iframe-based) Editor, H-scroll

          - - - - - - - - diff --git a/scripts/ckeditor/plugins/lineutils/plugin.js b/scripts/ckeditor/plugins/lineutils/plugin.js deleted file mode 100755 index ab014034..00000000 --- a/scripts/ckeditor/plugins/lineutils/plugin.js +++ /dev/null @@ -1,933 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - - /** - * @fileOverview A set of utilities to find and make horizontal spaces in edited contents. - */ - -'use strict'; - -( function() { - - CKEDITOR.plugins.add( 'lineutils' ); - - /** - * Determines a position relative to an element in DOM (before). - * - * @readonly - * @property {Number} [=0] - * @member CKEDITOR - */ - CKEDITOR.LINEUTILS_BEFORE = 1; - - /** - * Determines a position relative to an element in DOM (after). - * - * @readonly - * @property {Number} [=2] - * @member CKEDITOR - */ - CKEDITOR.LINEUTILS_AFTER = 2; - - /** - * Determines a position relative to an element in DOM (inside). - * - * @readonly - * @property {Number} [=4] - * @member CKEDITOR - */ - CKEDITOR.LINEUTILS_INSIDE = 4; - - /** - * An utility that traverses DOM tree and discovers elements - * (relations) matching user-defined lookups. - * - * @private - * @class CKEDITOR.plugins.lineutils.finder - * @constructor Creates a Finder class instance. - * @param {CKEDITOR.editor} editor Editor instance that Finder belongs to. - * @param {Object} def Finder's definition. - * @since 4.3 - */ - function Finder( editor, def ) { - CKEDITOR.tools.extend( this, { - editor: editor, - editable: editor.editable(), - doc: editor.document, - win: editor.window - }, def, true ); - - this.frame = this.win.getFrame(); - this.inline = this.editable.isInline(); - this.target = this[ this.inline ? 'editable' : 'doc' ]; - } - - Finder.prototype = { - /** - * Initializes searching for elements with every mousemove event fired. - * To stop searching use {@link #stop}. - * - * @param {Function} [callback] Function executed on every iteration. - */ - start: function( callback ) { - var that = this, - editor = this.editor, - doc = this.doc, - el, x, y; - - var moveBuffer = CKEDITOR.tools.eventsBuffer( 50, function() { - if ( editor.readOnly || editor.mode != 'wysiwyg' ) - return; - - that.relations = {}; - - el = new CKEDITOR.dom.element( doc.$.elementFromPoint( x, y ) ); - - that.traverseSearch( el ); - - if ( !isNaN( x + y ) ) - that.pixelSearch( el, x, y ); - - callback && callback( that.relations, x, y ); - } ); - - // Searching starting from element from point on mousemove. - this.listener = this.editable.attachListener( this.target, 'mousemove', function( evt ) { - x = evt.data.$.clientX; - y = evt.data.$.clientY; - - moveBuffer.input(); - } ); - - this.editable.attachListener( this.inline ? this.editable : this.frame, 'mouseout', function( evt ) { - moveBuffer.reset(); - } ); - }, - - /** - * Stops observing mouse events attached by {@link #start}. - */ - stop: function() { - if ( this.listener ) - this.listener.removeListener(); - }, - - /** - * Returns a range representing the relation, according to its element - * and type. - * - * @param {Object} location Location containing unique identifier and type. - * @returns {CKEDITOR.dom.range} Range representing the relation. - */ - getRange: ( function() { - var where = {}; - - where[ CKEDITOR.LINEUTILS_BEFORE ] = CKEDITOR.POSITION_BEFORE_START; - where[ CKEDITOR.LINEUTILS_AFTER ] = CKEDITOR.POSITION_AFTER_END; - where[ CKEDITOR.LINEUTILS_INSIDE ] = CKEDITOR.POSITION_AFTER_START; - - return function( location ) { - var range = this.editor.createRange(); - - range.moveToPosition( this.relations[ location.uid ].element, where[ location.type ] ); - - return range; - }; - } )(), - - /** - * Stores given relation in {@link #relations} object. Processes the relation - * to normalize and avoid duplicates. - * - * @param {CKEDITOR.dom.element} el Element of the relation. - * @param {Number} type Relation, one of `CKEDITOR.LINEUTILS_AFTER`, `CKEDITOR.LINEUTILS_BEFORE`, `CKEDITOR.LINEUTILS_INSIDE`. - */ - store: ( function() { - function merge( el, type, relations ) { - var uid = el.getUniqueId(); - - if ( uid in relations ) - relations[ uid ].type |= type; - else - relations[ uid ] = { element: el, type: type }; - } - - return function( el, type ) { - var alt; - - // Normalization to avoid duplicates: - // CKEDITOR.LINEUTILS_AFTER becomes CKEDITOR.LINEUTILS_BEFORE of el.getNext(). - if ( is( type, CKEDITOR.LINEUTILS_AFTER ) && isStatic( alt = el.getNext() ) && alt.isVisible() ) { - merge( alt, CKEDITOR.LINEUTILS_BEFORE, this.relations ); - type ^= CKEDITOR.LINEUTILS_AFTER; - } - - // Normalization to avoid duplicates: - // CKEDITOR.LINEUTILS_INSIDE becomes CKEDITOR.LINEUTILS_BEFORE of el.getFirst(). - if ( is( type, CKEDITOR.LINEUTILS_INSIDE ) && isStatic( alt = el.getFirst() ) && alt.isVisible() ) { - merge( alt, CKEDITOR.LINEUTILS_BEFORE, this.relations ); - type ^= CKEDITOR.LINEUTILS_INSIDE; - } - - merge( el, type, this.relations ); - }; - } )(), - - /** - * Traverses DOM tree towards root, checking all ancestors - * with lookup rules, avoiding duplicates. Stores positive relations - * in {@link #relations} object. - * - * @param {CKEDITOR.dom.element} el Element which is the starting point. - */ - traverseSearch: function( el ) { - var l, type, uid; - - // Go down DOM towards root (or limit). - do { - uid = el.$[ 'data-cke-expando' ]; - - // This element was already visited and checked. - if ( uid && uid in this.relations ) - continue; - - if ( el.equals( this.editable ) ) - return; - - if ( isStatic( el ) ) { - // Collect all addresses yielded by lookups for that element. - for ( l in this.lookups ) { - - if ( ( type = this.lookups[ l ]( el ) ) ) - this.store( el, type ); - } - } - } while ( !isLimit( el ) && ( el = el.getParent() ) ) - }, - - /** - * Iterates vertically pixel-by-pixel within given element starting - * from given coordinates, searching for elements in the neighbourhood. - * Once an element is found it is processed by {@link #traverseSearch}. - * - * @param {CKEDITOR.dom.element} el Element which is the starting point. - * @param {Number} [x] Horizontal mouse coordinate relative to the viewport. - * @param {Number} [y] Vertical mouse coordinate relative to the viewport. - */ - pixelSearch: ( function() { - var contains = CKEDITOR.env.ie || CKEDITOR.env.webkit ? - function( el, found ) { - return el.contains( found ); - } - : - function( el, found ) { - return !!( el.compareDocumentPosition( found ) & 16 ); - }; - - // Iterates pixel-by-pixel from starting coordinates, moving by defined - // step and getting elementFromPoint in every iteration. Iteration stops when: - // * A valid element is found. - // * Condition function returns false (i.e. reached boundaries of viewport). - // * No element is found (i.e. coordinates out of viewport). - // * Element found is ascendant of starting element. - // - // @param {Object} doc Native DOM document. - // @param {Object} el Native DOM element. - // @param {Number} xStart Horizontal starting coordinate to use. - // @param {Number} yStart Vertical starting coordinate to use. - // @param {Number} step Step of the algorithm. - // @param {Function} condition A condition relative to current vertical coordinate. - function iterate( el, xStart, yStart, step, condition ) { - var y = yStart, - tryouts = 0, - found, uid; - - while ( condition( y ) ) { - y += step; - - // If we try and we try, and still nothing's found, let's end - // that party. - if ( ++tryouts == 25 ) - return; - - found = this.doc.$.elementFromPoint( xStart, y ); - - // Nothing found. This is crazy... but... - // It might be that a line, which is in different document, - // covers that pixel (elementFromPoint is doc-sensitive). - // Better let's have another try. - if ( !found ) - continue; - - // Still in the same element. - else if ( found == el ) { - tryouts = 0; - continue; - } - - // Reached the edge of an element and found an ancestor or... - // A line, that covers that pixel. Better let's have another try. - else if ( !contains( el, found ) ) - continue; - - tryouts = 0; - - // Found a valid element. Stop iterating. - if ( isStatic( ( found = new CKEDITOR.dom.element( found ) ) ) ) - return found; - } - } - - return function( el, x, y ) { - var paneHeight = this.win.getViewPaneSize().height, - - // Try to find an element iterating *up* from the starting point. - neg = iterate.call( this, el.$, x, y, -1, function( y ) { - return y > 0; - } ), - - // Try to find an element iterating *down* from the starting point. - pos = iterate.call( this, el.$, x, y, 1, function( y ) { - return y < paneHeight; - } ); - - if ( neg ) { - this.traverseSearch( neg ); - - // Iterate towards DOM root until neg is a direct child of el. - while ( !neg.getParent().equals( el ) ) - neg = neg.getParent(); - } - - if ( pos ) { - this.traverseSearch( pos ); - - // Iterate towards DOM root until pos is a direct child of el. - while ( !pos.getParent().equals( el ) ) - pos = pos.getParent(); - } - - // Iterate forwards starting from neg and backwards from - // pos to harvest all children of el between those elements. - // Stop when neg and pos meet each other or there's none of them. - // TODO (?) reduce number of hops forwards/backwards. - while ( neg || pos ) { - if ( neg ) - neg = neg.getNext( isStatic ); - - if ( !neg || neg.equals( pos ) ) - break; - - this.traverseSearch( neg ); - - if ( pos ) - pos = pos.getPrevious( isStatic ); - - if ( !pos || pos.equals( neg ) ) - break; - - this.traverseSearch( pos ); - } - }; - } )(), - - /** - * Unline {@link #traverseSearch}, it collects **all** elements from editable's DOM tree - * and runs lookups for every one of them, collecting relations. - * - * @returns {Object} {@link #relations}. - */ - greedySearch: function() { - this.relations = {}; - - var all = this.editable.getElementsByTag( '*' ), - i = 0, - el, type, l; - - while ( ( el = all.getItem( i++ ) ) ) { - // Don't consider editable, as it might be inline, - // and i.e. checking it's siblings is pointless. - if ( el.equals( this.editable ) ) - continue; - - // Don't visit non-editable internals, for example widget's - // guts (above wrapper, below nested). Still check editable limits, - // as they are siblings with editable contents. - if ( !el.hasAttribute( 'contenteditable' ) && el.isReadOnly() ) - continue; - - if ( isStatic( el ) && el.isVisible() ) { - // Collect all addresses yielded by lookups for that element. - for ( l in this.lookups ) { - if ( ( type = this.lookups[ l ]( el ) ) ) - this.store( el, type ); - } - } - } - - return this.relations; - } - - /** - * Relations express elements in DOM that match user-defined {@link #lookups}. - * Every relation has its own `type` that determines whether - * it refers to the space before, after or inside of `element`. - * This object stores relations found by {@link #traverseSearch} or {@link #greedySearch}, structured - * in the following way: - * - * relations: { - * // Unique identifier of the element. - * Number: { - * // Element of this relation. - * element: {@link CKEDITOR.dom.element} - * // Conjunction of CKEDITOR.LINEUTILS_BEFORE, CKEDITOR.LINEUTILS_AFTER and CKEDITOR.LINEUTILS_INSIDE. - * type: Number - * }, - * ... - * } - * - * @property {Object} relations - * @readonly - */ - - /** - * A set of user-defined functions used by Finder to check if an element - * is a valid relation, belonging to {@link #relations}. - * When the criterion is met, lookup returns a logical conjunction of `CKEDITOR.LINEUTILS_BEFORE`, - * `CKEDITOR.LINEUTILS_AFTER` or `CKEDITOR.LINEUTILS_INSIDE`. - * - * Lookups are passed along with Finder's definition. - * - * lookups: { - * 'some lookup': function( el ) { - * if ( someCondition ) - * return CKEDITOR.LINEUTILS_BEFORE; - * }, - * ... - * } - * - * @property {Object} lookups - */ - }; - - - /** - * An utility that analyses relations found by - * CKEDITOR.plugins.lineutils.finder and locates them - * in the viewport as horizontal lines of specific coordinates. - * - * @private - * @class CKEDITOR.plugins.lineutils.locator - * @constructor Creates a Locator class instance. - * @param {CKEDITOR.editor} editor Editor instance that Locator belongs to. - * @since 4.3 - */ - function Locator( editor, def ) { - CKEDITOR.tools.extend( this, def, { - editor: editor - }, true ); - } - - Locator.prototype = { - /** - * Localizes Y coordinate for all types of every single relation and stores - * them in the object. - * - * @param {Object} relations {@link CKEDITOR.plugins.lineutils.finder#relations}. - * @returns {Object} {@link #locations}. - */ - locate: ( function() { - var rel, uid; - - function locateSibling( rel, type ) { - var sib = rel.element[ type === CKEDITOR.LINEUTILS_BEFORE ? 'getPrevious' : 'getNext' ](); - - // Return the middle point between siblings. - if ( sib && isStatic( sib ) ) { - rel.siblingRect = sib.getClientRect(); - - if ( type == CKEDITOR.LINEUTILS_BEFORE ) - return ( rel.siblingRect.bottom + rel.elementRect.top ) / 2; - else - return ( rel.elementRect.bottom + rel.siblingRect.top ) / 2; - } - - // If there's no sibling, use the edge of an element. - else { - if ( type == CKEDITOR.LINEUTILS_BEFORE ) - return rel.elementRect.top; - else - return rel.elementRect.bottom; - } - } - - return function( relations ) { - this.locations = {}; - - for ( uid in relations ) { - rel = relations[ uid ]; - rel.elementRect = rel.element.getClientRect(); - - if ( is( rel.type, CKEDITOR.LINEUTILS_BEFORE ) ) - this.store( uid, CKEDITOR.LINEUTILS_BEFORE, locateSibling( rel, CKEDITOR.LINEUTILS_BEFORE ) ); - - if ( is( rel.type, CKEDITOR.LINEUTILS_AFTER ) ) - this.store( uid, CKEDITOR.LINEUTILS_AFTER, locateSibling( rel, CKEDITOR.LINEUTILS_AFTER ) ); - - // The middle point of the element. - if ( is( rel.type, CKEDITOR.LINEUTILS_INSIDE ) ) - this.store( uid, CKEDITOR.LINEUTILS_INSIDE, ( rel.elementRect.top + rel.elementRect.bottom ) / 2 ); - } - - return this.locations; - }; - } )(), - - /** - * Calculates distances from every location to given vertical coordinate - * and sorts locations according to that distance. - * - * @param {Number} y The vertical coordinate used for sorting, used as a reference. - * @param {Number} [howMany] Determines the number "closest locations" to be returned. - * @returns {Array} Sorted, array representation of {@link #locations}. - */ - sort: ( function() { - var locations, sorted, - dist, uid, type, i; - - function distance( y ) { - return Math.abs( y - locations[ uid ][ type ] ); - } - - return function( y, howMany ) { - locations = this.locations; - sorted = []; - - for ( uid in locations ) { - for ( type in locations[ uid ] ) { - dist = distance( y ); - - // An array is empty. - if ( !sorted.length ) - sorted.push( { uid: +uid, type: type, dist: dist } ); - else { - // Sort the array on fly when it's populated. - for ( i = 0; i < sorted.length; i++ ) { - if ( dist < sorted[ i ].dist ) { - sorted.splice( i, 0, { uid: +uid, type: type, dist: dist } ); - break; - } - } - - // Nothing was inserted, so the distance is bigger than - // any of already calculated: push to the end. - if ( i == sorted.length ) - sorted.push( { uid: +uid, type: type, dist: dist } ); - } - } - } - - if ( typeof howMany != 'undefined' ) - return sorted.slice( 0, howMany ); - else - return sorted; - }; - } )(), - - /** - * Stores the location in a collection. - * - * @param {Number} uid Unique identifier of the relation. - * @param {Number} type One of `CKEDITOR.LINEUTILS_BEFORE`, `CKEDITOR.LINEUTILS_AFTER` and `CKEDITOR.LINEUTILS_INSIDE`. - * @param {Number} y Vertical position of the relation. - */ - store: function( uid, type, y ) { - if ( !this.locations[ uid ] ) - this.locations[ uid ] = {}; - - this.locations[ uid ][ type ] = y; - } - - /** - * @readonly - * @property {Object} locations - */ - }; - - var tipCss = { - display: 'block', - width: '0px', - height: '0px', - 'border-color': 'transparent', - 'border-style': 'solid', - position: 'absolute', - top: '-6px' - }, - - lineStyle = { - height: '0px', - 'border-top': '1px dashed red', - position: 'absolute', - 'z-index': 9999 - }, - - lineTpl = - '
          ' + - ' ' + - ' ' + - '
          '; - - /** - * An utility that draws horizontal lines in DOM according to locations - * returned by CKEDITOR.plugins.lineutils.locator. - * - * @private - * @class CKEDITOR.plugins.lineutils.liner - * @constructor Creates a Liner class instance. - * @param {CKEDITOR.editor} editor Editor instance that Liner belongs to. - * @param {Object} def Liner's definition. - * @since 4.3 - */ - function Liner( editor, def ) { - var editable = editor.editable(); - - CKEDITOR.tools.extend( this, { - editor: editor, - editable: editable, - doc: editor.document, - win: editor.window, - container: CKEDITOR.document.getBody(), - winTop: CKEDITOR.document.getWindow() - }, def, true ); - - this.hidden = {}; - this.visible = {}; - - this.inline = editable.isInline(); - - if ( !this.inline ) - this.frame = this.win.getFrame(); - - this.queryViewport(); - - // Callbacks must be wrapped. Otherwise they're not attached - // to global DOM objects (i.e. topmost window) for every editor - // because they're treated as duplicates. They belong to the - // same prototype shared among Liner instances. - var queryViewport = CKEDITOR.tools.bind( this.queryViewport, this ), - hideVisible = CKEDITOR.tools.bind( this.hideVisible, this ), - removeAll = CKEDITOR.tools.bind( this.removeAll, this ); - - editable.attachListener( this.winTop, 'resize', queryViewport ); - editable.attachListener( this.winTop, 'scroll', queryViewport ); - - editable.attachListener( this.winTop, 'resize', hideVisible ); - editable.attachListener( this.win, 'scroll', hideVisible ); - - editable.attachListener( this.inline ? editable : this.frame, 'mouseout', function( evt ) { - var x = evt.data.$.clientX, - y = evt.data.$.clientY; - - this.queryViewport(); - - // Check if mouse is out of the element (iframe/editable). - if ( x <= this.rect.left || x >= this.rect.right || y <= this.rect.top || y >= this.rect.bottom ) - this.hideVisible(); - - // Check if mouse is out of the top-window vieport. - if ( x <= 0 || x >= this.winTopPane.width || y <= 0 || y >= this.winTopPane.height ) - this.hideVisible(); - }, this ); - - editable.attachListener( editor, 'resize', queryViewport ); - editable.attachListener( editor, 'mode', removeAll ); - editor.on( 'destroy', removeAll ); - - this.lineTpl = new CKEDITOR.template( lineTpl ).output( { - lineStyle: CKEDITOR.tools.writeCssText( - CKEDITOR.tools.extend( {}, lineStyle, this.lineStyle, true ) - ), - tipLeftStyle: CKEDITOR.tools.writeCssText( - CKEDITOR.tools.extend( {}, tipCss, { - left: '0px', - 'border-left-color': 'red', - 'border-width': '6px 0 6px 6px' - }, this.tipCss, this.tipLeftStyle, true ) - ), - tipRightStyle: CKEDITOR.tools.writeCssText( - CKEDITOR.tools.extend( {}, tipCss, { - right: '0px', - 'border-right-color': 'red', - 'border-width': '6px 6px 6px 0' - }, this.tipCss, this.tipRightStyle, true ) - ) - } ); - } - - Liner.prototype = { - /** - * Permanently removes all lines (both hidden and visible) from DOM. - */ - removeAll: function() { - var l; - - for ( l in this.hidden ) { - this.hidden[ l ].remove(); - delete this.hidden[ l ]; - } - - for ( l in this.visible ) { - this.visible[ l ].remove(); - delete this.visible[ l ]; - } - }, - - /** - * Hides a given line. - * - * @param {CKEDITOR.dom.element} line The line to be hidden. - */ - hideLine: function( line ) { - var uid = line.getUniqueId(); - - line.hide(); - - this.hidden[ uid ] = line; - delete this.visible[ uid ]; - }, - - /** - * Shows a given line. - * - * @param {CKEDITOR.dom.element} line The line to be shown. - */ - showLine: function( line ) { - var uid = line.getUniqueId(); - - line.show(); - - this.visible[ uid ] = line; - delete this.hidden[ uid ]; - }, - - /** - * Hides all visible lines. - */ - hideVisible: function() { - for ( var l in this.visible ) - this.hideLine( this.visible[ l ] ); - }, - - /** - * Shows a line at given location. - * - * @param {Object} location Location object containing unique identifier of the relation - * and its type. Usually returned by {@link CKEDITOR.plugins.lineutils.locator#sort}. - * @param {Function} [callback] A callback to be called once the line is shown. - */ - placeLine: function( location, callback ) { - var styles, line, l; - - // No style means that line would be out of viewport. - if ( !( styles = this.getStyle( location.uid, location.type ) ) ) - return; - - // Search for any visible line of a different hash first. - // It's faster to re-position visible line than to show it. - for ( l in this.visible ) { - if ( this.visible[ l ].getCustomData( 'hash' ) !== this.hash ) { - line = this.visible[ l ]; - break; - } - } - - // Search for any hidden line of a different hash. - if ( !line ) { - for ( l in this.hidden ) { - if ( this.hidden[ l ].getCustomData( 'hash' ) !== this.hash ) { - this.showLine( ( line = this.hidden[ l ] ) ); - break; - } - } - } - - // If no line available, add the new one. - if ( !line ) - this.showLine( ( line = this.addLine() ) ); - - // Mark the line with current hash. - line.setCustomData( 'hash', this.hash ); - - // Mark the line as visible. - this.visible[ line.getUniqueId() ] = line; - - line.setStyles( styles ); - - callback && callback( line ); - }, - - /** - * Creates style set to be used by the line, representing a particular - * relation (location). - * - * @param {Number} uid Unique identifier of the relation. - * @param {Number} type Type of the relation. - * @returns {Object} An object containing styles. - */ - getStyle: function( uid, type ) { - var rel = this.relations[ uid ], - loc = this.locations[ uid ][ type ], - styles = {}, - hdiff; - - // Line should be between two elements. - if ( rel.siblingRect ) - styles.width = Math.max( rel.siblingRect.width, rel.elementRect.width ); - // Line is relative to a single element. - else - styles.width = rel.elementRect.width; - - // Let's calculate the vertical position of the line. - if ( this.inline ) - styles.top = loc + this.winTopScroll.y; - else - styles.top = this.rect.top + this.winTopScroll.y + loc; - - // Check if line would be vertically out of the viewport. - if ( styles.top - this.winTopScroll.y < this.rect.top || styles.top - this.winTopScroll.y > this.rect.bottom ) - return false; - - // Now let's calculate the horizontal alignment (left and width). - if ( this.inline ) - styles.left = rel.elementRect.left; - else { - if ( rel.elementRect.left > 0 ) - styles.left = this.rect.left + rel.elementRect.left; - - // H-scroll case. Left edge of element may be out of viewport. - else { - styles.width += rel.elementRect.left; - styles.left = this.rect.left; - } - - // H-scroll case. Right edge of element may be out of viewport. - if ( ( hdiff = styles.left + styles.width - ( this.rect.left + this.winPane.width ) ) > 0 ) - styles.width -= hdiff; - } - - // Finally include horizontal scroll of the global window. - styles.left += this.winTopScroll.x; - - // Append 'px' to style values. - for ( var style in styles ) - styles[ style ] = CKEDITOR.tools.cssLength( styles[ style ] ); - - return styles; - }, - - /** - * Adds a new line to DOM. - * - * @returns {CKEDITOR.dom.element} A brand-new line. - */ - addLine: function() { - var line = CKEDITOR.dom.element.createFromHtml( this.lineTpl ); - - line.appendTo( this.container ); - - return line; - }, - - /** - * Assigns an unique hash to the instance that is later utilized - * to tell unwanted lines from new ones. This method **must** be called - * before a new set of relations is to be visualized so {@link #cleanup} - * eventually hides obsolete lines. This is because lines - * are re-used between {@link #placeLine} calls and the number of - * necessary ones may vary according to the number of relations. - * - * @param {Object} relations {@link CKEDITOR.plugins.lineutils.finder#relations}. - * @param {Object} locations {@link CKEDITOR.plugins.lineutils.locator#locations}. - */ - prepare: function( relations, locations ) { - this.relations = relations; - this.locations = locations; - this.hash = Math.random(); - }, - - /** - * Hides all visible lines that don't belong to current hash - * and no-longer represent relations (locations). - * - * See also: {@link #prepare}. - */ - cleanup: function() { - var line; - - for ( var l in this.visible ) { - line = this.visible[ l ]; - - if ( line.getCustomData( 'hash' ) !== this.hash ) - this.hideLine( line ); - } - }, - - /** - * Queries dimensions of the viewport, editable, frame etc. - * that are used for correct positioning of the line. - */ - queryViewport: function() { - this.winPane = this.win.getViewPaneSize(); - this.winTopScroll = this.winTop.getScrollPosition(); - this.winTopPane = this.winTop.getViewPaneSize(); - - if ( this.inline ) - this.rect = this.editable.getClientRect(); - else - this.rect = this.frame.getClientRect(); - } - }; - - function is( type, flag ) { - return type & flag; - } - - var floats = { left: 1, right: 1, center: 1 }, - positions = { absolute: 1, fixed: 1 }; - - function isElement( node ) { - return node && node.type == CKEDITOR.NODE_ELEMENT; - } - - function isFloated( el ) { - return !!( floats[ el.getComputedStyle( 'float' ) ] || floats[ el.getAttribute( 'align' ) ] ); - } - - function isPositioned( el ) { - return !!positions[ el.getComputedStyle( 'position' ) ]; - } - - function isLimit( node ) { - return isElement( node ) && node.getAttribute( 'contenteditable' ) == 'true'; - } - - function isStatic( node ) { - return isElement( node ) && !isFloated( node ) && !isPositioned( node ); - } - - /** - * Global namespace holding definitions and global helpers for the lineutils plugin. - * - * @private - * @class - * @singleton - * @since 4.3 - */ - CKEDITOR.plugins.lineutils = { - finder: Finder, - locator: Locator, - liner: Liner - }; -} )(); diff --git a/scripts/ckeditor/plugins/link/dialogs/anchor.js b/scripts/ckeditor/plugins/link/dialogs/anchor.js old mode 100755 new mode 100644 index 625b0a0f..f5fe2eab --- a/scripts/ckeditor/plugins/link/dialogs/anchor.js +++ b/scripts/ckeditor/plugins/link/dialogs/anchor.js @@ -1,108 +1,7 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.dialog.add( 'anchor', function( editor ) { - // Function called in onShow to load selected element. - var loadElements = function( element ) { - this._.selectedElement = element; - - var attributeValue = element.data( 'cke-saved-name' ); - this.setValueOf( 'info', 'txtName', attributeValue || '' ); - }; - - function createFakeAnchor( editor, attributes ) { - return editor.createFakeElement( editor.document.createElement( 'a', { - attributes: attributes - } ), 'cke_anchor', 'anchor' ); - } - - return { - title: editor.lang.link.anchor.title, - minWidth: 300, - minHeight: 60, - onOk: function() { - var name = CKEDITOR.tools.trim( this.getValueOf( 'info', 'txtName' ) ); - var attributes = { - id: name, - name: name, - 'data-cke-saved-name': name - }; - - if ( this._.selectedElement ) { - if ( this._.selectedElement.data( 'cke-realelement' ) ) { - var newFake = createFakeAnchor( editor, attributes ); - newFake.replace( this._.selectedElement ); - - // Selecting fake element for IE. (#11377) - if ( CKEDITOR.env.ie ) - editor.getSelection().selectElement( newFake ); - } else - this._.selectedElement.setAttributes( attributes ); - } else { - var sel = editor.getSelection(), - range = sel && sel.getRanges()[ 0 ]; - - // Empty anchor - if ( range.collapsed ) { - var anchor = createFakeAnchor( editor, attributes ); - range.insertNode( anchor ); - } else { - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) - attributes[ 'class' ] = 'cke_anchor'; - - // Apply style. - var style = new CKEDITOR.style( { element: 'a', attributes: attributes } ); - style.type = CKEDITOR.STYLE_INLINE; - editor.applyStyle( style ); - } - } - }, - - onHide: function() { - delete this._.selectedElement; - }, - - onShow: function() { - var sel = editor.getSelection(), - fullySelected = sel.getSelectedElement(), - fakeSelected = fullySelected && fullySelected.data( 'cke-realelement' ), - linkElement = fakeSelected ? - CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, fullySelected ) : - CKEDITOR.plugins.link.getSelectedLink( editor ); - - if ( linkElement ) { - loadElements.call( this, linkElement ); - !fakeSelected && sel.selectElement( linkElement ); - - if ( fullySelected ) - this._.selectedElement = fullySelected; - } - - this.getContentElement( 'info', 'txtName' ).focus(); - }, - contents: [ - { - id: 'info', - label: editor.lang.link.anchor.title, - accessKey: 'I', - elements: [ - { - type: 'text', - id: 'txtName', - label: editor.lang.link.anchor.name, - required: true, - validate: function() { - if ( !this.getValue() ) { - alert( editor.lang.link.anchor.errorName ); - return false; - } - return true; - } - } - ] - } - ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("anchor",function(c){function d(a,b){return a.createFakeElement(a.document.createElement("a",{attributes:b}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var a=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),a={id:a,name:a,"data-cke-saved-name":a};if(this._.selectedElement)this._.selectedElement.data("cke-realelement")?(a=d(c,a),a.replace(this._.selectedElement),CKEDITOR.env.ie&&c.getSelection().selectElement(a)): +this._.selectedElement.setAttributes(a);else{var b=c.getSelection(),b=b&&b.getRanges()[0];b.collapsed?(a=d(c,a),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",attributes:a}),a.type=CKEDITOR.STYLE_INLINE,c.applyStyle(a))}},onHide:function(){delete this._.selectedElement},onShow:function(){var a=c.getSelection(),b=a.getSelectedElement(),d=b&&b.data("cke-realelement"),e=d?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b):CKEDITOR.plugins.link.getSelectedLink(c); +e&&(this._.selectedElement=e,this.setValueOf("info","txtName",e.data("cke-saved-name")||""),!d&&a.selectElement(e),b&&(this._.selectedElement=b));this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return!this.getValue()?(alert(c.lang.link.anchor.errorName),!1):!0}}]}]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/link/dialogs/link.js b/scripts/ckeditor/plugins/link/dialogs/link.js old mode 100755 new mode 100644 index 403ae299..3ee3209d --- a/scripts/ckeditor/plugins/link/dialogs/link.js +++ b/scripts/ckeditor/plugins/link/dialogs/link.js @@ -1,956 +1,26 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -'use strict'; - -( function() { - CKEDITOR.dialog.add( 'link', function( editor ) { - var plugin = CKEDITOR.plugins.link; - - // Handles the event when the "Target" selection box is changed. - var targetChanged = function() { - var dialog = this.getDialog(), - popupFeatures = dialog.getContentElement( 'target', 'popupFeatures' ), - targetName = dialog.getContentElement( 'target', 'linkTargetName' ), - value = this.getValue(); - - if ( !popupFeatures || !targetName ) - return; - - popupFeatures = popupFeatures.getElement(); - popupFeatures.hide(); - targetName.setValue( '' ); - - switch ( value ) { - case 'frame': - targetName.setLabel( editor.lang.link.targetFrameName ); - targetName.getElement().show(); - break; - case 'popup': - popupFeatures.show(); - targetName.setLabel( editor.lang.link.targetPopupName ); - targetName.getElement().show(); - break; - default: - targetName.setValue( value ); - targetName.getElement().hide(); - break; - } - - }; - - // Handles the event when the "Type" selection box is changed. - var linkTypeChanged = function() { - var dialog = this.getDialog(), - partIds = [ 'urlOptions', 'anchorOptions', 'emailOptions' ], - typeValue = this.getValue(), - uploadTab = dialog.definition.getContents( 'upload' ), - uploadInitiallyHidden = uploadTab && uploadTab.hidden; - - if ( typeValue == 'url' ) { - if ( editor.config.linkShowTargetTab ) - dialog.showPage( 'target' ); - if ( !uploadInitiallyHidden ) - dialog.showPage( 'upload' ); - } else { - dialog.hidePage( 'target' ); - if ( !uploadInitiallyHidden ) - dialog.hidePage( 'upload' ); - } - - for ( var i = 0; i < partIds.length; i++ ) { - var element = dialog.getContentElement( 'info', partIds[ i ] ); - if ( !element ) - continue; - - element = element.getElement().getParent().getParent(); - if ( partIds[ i ] == typeValue + 'Options' ) - element.show(); - else - element.hide(); - } - - dialog.layout(); - }; - - var setupParams = function( page, data ) { - if ( data[ page ] ) - this.setValue( data[ page ][ this.id ] || '' ); - }; - - var setupPopupParams = function( data ) { - return setupParams.call( this, 'target', data ); - }; - - var setupAdvParams = function( data ) { - return setupParams.call( this, 'advanced', data ); - }; - - var commitParams = function( page, data ) { - if ( !data[ page ] ) - data[ page ] = {}; - - data[ page ][ this.id ] = this.getValue() || ''; - }; - - var commitPopupParams = function( data ) { - return commitParams.call( this, 'target', data ); - }; - - var commitAdvParams = function( data ) { - return commitParams.call( this, 'advanced', data ); - }; - - var commonLang = editor.lang.common, - linkLang = editor.lang.link, - anchors; - - return { - title: linkLang.title, - minWidth: 350, - minHeight: 230, - contents: [ - { - id: 'info', - label: linkLang.info, - title: linkLang.info, - elements: [ - { - id: 'linkType', - type: 'select', - label: linkLang.type, - 'default': 'url', - items: [ - [ linkLang.toUrl, 'url' ], - [ linkLang.toAnchor, 'anchor' ], - [ linkLang.toEmail, 'email' ] - ], - onChange: linkTypeChanged, - setup: function( data ) { - this.setValue( data.type || 'url' ); - }, - commit: function( data ) { - data.type = this.getValue(); - } - }, - { - type: 'vbox', - id: 'urlOptions', - children: [ - { - type: 'hbox', - widths: [ '25%', '75%' ], - children: [ - { - id: 'protocol', - type: 'select', - label: commonLang.protocol, - 'default': 'http://', - items: [ - // Force 'ltr' for protocol names in BIDI. (#5433) - [ 'http://\u200E', 'http://' ], - [ 'https://\u200E', 'https://' ], - [ 'ftp://\u200E', 'ftp://' ], - [ 'news://\u200E', 'news://' ], - [ linkLang.other, '' ] - ], - setup: function( data ) { - if ( data.url ) - this.setValue( data.url.protocol || '' ); - }, - commit: function( data ) { - if ( !data.url ) - data.url = {}; - - data.url.protocol = this.getValue(); - } - }, - { - type: 'text', - id: 'url', - label: commonLang.url, - required: true, - onLoad: function() { - this.allowOnChange = true; - }, - onKeyUp: function() { - this.allowOnChange = false; - var protocolCmb = this.getDialog().getContentElement( 'info', 'protocol' ), - url = this.getValue(), - urlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/i, - urlOnChangeTestOther = /^((javascript:)|[#\/\.\?])/i; - - var protocol = urlOnChangeProtocol.exec( url ); - if ( protocol ) { - this.setValue( url.substr( protocol[ 0 ].length ) ); - protocolCmb.setValue( protocol[ 0 ].toLowerCase() ); - } else if ( urlOnChangeTestOther.test( url ) ) - protocolCmb.setValue( '' ); - - this.allowOnChange = true; - }, - onChange: function() { - if ( this.allowOnChange ) // Dont't call on dialog load. - this.onKeyUp(); - }, - validate: function() { - var dialog = this.getDialog(); - - if ( dialog.getContentElement( 'info', 'linkType' ) && dialog.getValueOf( 'info', 'linkType' ) != 'url' ) - return true; - - if ( !editor.config.linkJavaScriptLinksAllowed && ( /javascript\:/ ).test( this.getValue() ) ) { - alert( commonLang.invalidValue ); - return false; - } - - if ( this.getDialog().fakeObj ) // Edit Anchor. - return true; - - var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noUrl ); - return func.apply( this ); - }, - setup: function( data ) { - this.allowOnChange = false; - if ( data.url ) - this.setValue( data.url.url ); - this.allowOnChange = true; - - }, - commit: function( data ) { - // IE will not trigger the onChange event if the mouse has been used - // to carry all the operations #4724 - this.onChange(); - - if ( !data.url ) - data.url = {}; - - data.url.url = this.getValue(); - this.allowOnChange = false; - } - } - ], - setup: function( data ) { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) - this.getElement().show(); - } - }, - { - type: 'button', - id: 'browse', - hidden: 'true', - filebrowser: 'info:url', - label: commonLang.browseServer - } - ] - }, - { - type: 'vbox', - id: 'anchorOptions', - width: 260, - align: 'center', - padding: 0, - children: [ - { - type: 'fieldset', - id: 'selectAnchorText', - label: linkLang.selectAnchor, - setup: function( data ) { - anchors = plugin.getEditorAnchors( editor ); - - this.getElement()[ anchors && anchors.length ? 'show' : 'hide' ](); - }, - children: [ - { - type: 'hbox', - id: 'selectAnchor', - children: [ - { - type: 'select', - id: 'anchorName', - 'default': '', - label: linkLang.anchorName, - style: 'width: 100%;', - items: [ - [ '' ] - ], - setup: function( data ) { - this.clear(); - this.add( '' ); - - if ( anchors ) { - for ( var i = 0; i < anchors.length; i++ ) { - if ( anchors[ i ].name ) - this.add( anchors[ i ].name ); - } - } - - if ( data.anchor ) - this.setValue( data.anchor.name ); - - var linkType = this.getDialog().getContentElement( 'info', 'linkType' ); - if ( linkType && linkType.getValue() == 'email' ) - this.focus(); - }, - commit: function( data ) { - if ( !data.anchor ) - data.anchor = {}; - - data.anchor.name = this.getValue(); - } - }, - { - type: 'select', - id: 'anchorId', - 'default': '', - label: linkLang.anchorId, - style: 'width: 100%;', - items: [ - [ '' ] - ], - setup: function( data ) { - this.clear(); - this.add( '' ); - - if ( anchors ) { - for ( var i = 0; i < anchors.length; i++ ) { - if ( anchors[ i ].id ) - this.add( anchors[ i ].id ); - } - } - - if ( data.anchor ) - this.setValue( data.anchor.id ); - }, - commit: function( data ) { - if ( !data.anchor ) - data.anchor = {}; - - data.anchor.id = this.getValue(); - } - } - ], - setup: function( data ) { - this.getElement()[ anchors && anchors.length ? 'show' : 'hide' ](); - } - } - ] - }, - { - type: 'html', - id: 'noAnchors', - style: 'text-align: center;', - html: '
          ' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
          ', - // Focus the first element defined in above html. - focus: true, - setup: function( data ) { - this.getElement()[ anchors && anchors.length ? 'hide' : 'show' ](); - } - } - ], - setup: function( data ) { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) - this.getElement().hide(); - } - }, - { - type: 'vbox', - id: 'emailOptions', - padding: 1, - children: [ - { - type: 'text', - id: 'emailAddress', - label: linkLang.emailAddress, - required: true, - validate: function() { - var dialog = this.getDialog(); - - if ( !dialog.getContentElement( 'info', 'linkType' ) || dialog.getValueOf( 'info', 'linkType' ) != 'email' ) - return true; - - var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noEmail ); - return func.apply( this ); - }, - setup: function( data ) { - if ( data.email ) - this.setValue( data.email.address ); - - var linkType = this.getDialog().getContentElement( 'info', 'linkType' ); - if ( linkType && linkType.getValue() == 'email' ) - this.select(); - }, - commit: function( data ) { - if ( !data.email ) - data.email = {}; - - data.email.address = this.getValue(); - } - }, - { - type: 'text', - id: 'emailSubject', - label: linkLang.emailSubject, - setup: function( data ) { - if ( data.email ) - this.setValue( data.email.subject ); - }, - commit: function( data ) { - if ( !data.email ) - data.email = {}; - - data.email.subject = this.getValue(); - } - }, - { - type: 'textarea', - id: 'emailBody', - label: linkLang.emailBody, - rows: 3, - 'default': '', - setup: function( data ) { - if ( data.email ) - this.setValue( data.email.body ); - }, - commit: function( data ) { - if ( !data.email ) - data.email = {}; - - data.email.body = this.getValue(); - } - } - ], - setup: function( data ) { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) - this.getElement().hide(); - } - } - ] - }, - { - id: 'target', - requiredContent: 'a[target]', // This is not fully correct, because some target option requires JS. - label: linkLang.target, - title: linkLang.target, - elements: [ - { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ - { - type: 'select', - id: 'linkTargetType', - label: commonLang.target, - 'default': 'notSet', - style: 'width : 100%;', - 'items': [ - [ commonLang.notSet, 'notSet' ], - [ linkLang.targetFrame, 'frame' ], - [ linkLang.targetPopup, 'popup' ], - [ commonLang.targetNew, '_blank' ], - [ commonLang.targetTop, '_top' ], - [ commonLang.targetSelf, '_self' ], - [ commonLang.targetParent, '_parent' ] - ], - onChange: targetChanged, - setup: function( data ) { - if ( data.target ) - this.setValue( data.target.type || 'notSet' ); - targetChanged.call( this ); - }, - commit: function( data ) { - if ( !data.target ) - data.target = {}; - - data.target.type = this.getValue(); - } - }, - { - type: 'text', - id: 'linkTargetName', - label: linkLang.targetFrameName, - 'default': '', - setup: function( data ) { - if ( data.target ) - this.setValue( data.target.name ); - }, - commit: function( data ) { - if ( !data.target ) - data.target = {}; - - data.target.name = this.getValue().replace( /\W/gi, '' ); - } - } - ] - }, - { - type: 'vbox', - width: '100%', - align: 'center', - padding: 2, - id: 'popupFeatures', - children: [ - { - type: 'fieldset', - label: linkLang.popupFeatures, - children: [ - { - type: 'hbox', - children: [ - { - type: 'checkbox', - id: 'resizable', - label: linkLang.popupResizable, - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'checkbox', - id: 'status', - label: linkLang.popupStatusBar, - setup: setupPopupParams, - commit: commitPopupParams - - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'checkbox', - id: 'location', - label: linkLang.popupLocationBar, - setup: setupPopupParams, - commit: commitPopupParams - - }, - { - type: 'checkbox', - id: 'toolbar', - label: linkLang.popupToolbar, - setup: setupPopupParams, - commit: commitPopupParams - - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'checkbox', - id: 'menubar', - label: linkLang.popupMenuBar, - setup: setupPopupParams, - commit: commitPopupParams - - }, - { - type: 'checkbox', - id: 'fullscreen', - label: linkLang.popupFullScreen, - setup: setupPopupParams, - commit: commitPopupParams - - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'checkbox', - id: 'scrollbars', - label: linkLang.popupScrollBars, - setup: setupPopupParams, - commit: commitPopupParams - - }, - { - type: 'checkbox', - id: 'dependent', - label: linkLang.popupDependent, - setup: setupPopupParams, - commit: commitPopupParams - - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'text', - widths: [ '50%', '50%' ], - labelLayout: 'horizontal', - label: commonLang.width, - id: 'width', - setup: setupPopupParams, - commit: commitPopupParams - - }, - { - type: 'text', - labelLayout: 'horizontal', - widths: [ '50%', '50%' ], - label: linkLang.popupLeft, - id: 'left', - setup: setupPopupParams, - commit: commitPopupParams - - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'text', - labelLayout: 'horizontal', - widths: [ '50%', '50%' ], - label: commonLang.height, - id: 'height', - setup: setupPopupParams, - commit: commitPopupParams - - }, - { - type: 'text', - labelLayout: 'horizontal', - label: linkLang.popupTop, - widths: [ '50%', '50%' ], - id: 'top', - setup: setupPopupParams, - commit: commitPopupParams - - } - ] - } - ] - } - ] - } - ] - }, - { - id: 'upload', - label: linkLang.upload, - title: linkLang.upload, - hidden: true, - filebrowser: 'uploadButton', - elements: [ - { - type: 'file', - id: 'upload', - label: commonLang.upload, - style: 'height:40px', - size: 29 - }, - { - type: 'fileButton', - id: 'uploadButton', - label: commonLang.uploadSubmit, - filebrowser: 'info:url', - 'for': [ 'upload', 'upload' ] - } - ] - }, - { - id: 'advanced', - label: linkLang.advanced, - title: linkLang.advanced, - elements: [ - { - type: 'vbox', - padding: 1, - children: [ - { - type: 'hbox', - widths: [ '45%', '35%', '20%' ], - children: [ - { - type: 'text', - id: 'advId', - requiredContent: 'a[id]', - label: linkLang.id, - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'select', - id: 'advLangDir', - requiredContent: 'a[dir]', - label: linkLang.langDir, - 'default': '', - style: 'width:110px', - items: [ - [ commonLang.notSet, '' ], - [ linkLang.langDirLTR, 'ltr' ], - [ linkLang.langDirRTL, 'rtl' ] - ], - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - id: 'advAccessKey', - requiredContent: 'a[accesskey]', - width: '80px', - label: linkLang.acccessKey, - maxLength: 1, - setup: setupAdvParams, - commit: commitAdvParams - - } - ] - }, - { - type: 'hbox', - widths: [ '45%', '35%', '20%' ], - children: [ - { - type: 'text', - label: linkLang.name, - id: 'advName', - requiredContent: 'a[name]', - setup: setupAdvParams, - commit: commitAdvParams - - }, - { - type: 'text', - label: linkLang.langCode, - id: 'advLangCode', - requiredContent: 'a[lang]', - width: '110px', - 'default': '', - setup: setupAdvParams, - commit: commitAdvParams - - }, - { - type: 'text', - label: linkLang.tabIndex, - id: 'advTabIndex', - requiredContent: 'a[tabindex]', - width: '80px', - maxLength: 5, - setup: setupAdvParams, - commit: commitAdvParams - - } - ] - } - ] - }, - { - type: 'vbox', - padding: 1, - children: [ - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ - { - type: 'text', - label: linkLang.advisoryTitle, - requiredContent: 'a[title]', - 'default': '', - id: 'advTitle', - setup: setupAdvParams, - commit: commitAdvParams - - }, - { - type: 'text', - label: linkLang.advisoryContentType, - requiredContent: 'a[type]', - 'default': '', - id: 'advContentType', - setup: setupAdvParams, - commit: commitAdvParams - - } - ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ - { - type: 'text', - label: linkLang.cssClasses, - requiredContent: 'a(cke-xyz)', // Random text like 'xyz' will check if all are allowed. - 'default': '', - id: 'advCSSClasses', - setup: setupAdvParams, - commit: commitAdvParams - - }, - { - type: 'text', - label: linkLang.charset, - requiredContent: 'a[charset]', - 'default': '', - id: 'advCharset', - setup: setupAdvParams, - commit: commitAdvParams - - } - ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ - { - type: 'text', - label: linkLang.rel, - requiredContent: 'a[rel]', - 'default': '', - id: 'advRel', - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - label: linkLang.styles, - requiredContent: 'a{cke-xyz}', // Random text like 'xyz' will check if all are allowed. - 'default': '', - id: 'advStyles', - validate: CKEDITOR.dialog.validate.inlineStyle( editor.lang.common.invalidInlineStyle ), - setup: setupAdvParams, - commit: commitAdvParams - } - ] - } - ] - } - ] - } - ], - onShow: function() { - var editor = this.getParentEditor(), - selection = editor.getSelection(), - element = null; - - // Fill in all the relevant fields if there's already one link selected. - if ( ( element = plugin.getSelectedLink( editor ) ) && element.hasAttribute( 'href' ) ) { - // Don't change selection if some element is already selected. - // For example - don't destroy fake selection. - if ( !selection.getSelectedElement() ) - selection.selectElement( element ); - } else - element = null; - - var data = plugin.parseLinkAttributes( editor, element ); - - // Record down the selected element in the dialog. - this._.selectedElement = element; - - this.setupContent( data ); - }, - onOk: function() { - var data = {}; - - // Collect data from fields. - this.commitContent( data ); - - var selection = editor.getSelection(), - attributes = plugin.getLinkAttributes( editor, data ); - - if ( !this._.selectedElement ) { - var range = selection.getRanges()[ 0 ]; - - // Use link URL as text with a collapsed cursor. - if ( range.collapsed ) { - // Short mailto link text view (#5736). - var text = new CKEDITOR.dom.text( data.type == 'email' ? - data.email.address : attributes.set[ 'data-cke-saved-href' ], editor.document ); - range.insertNode( text ); - range.selectNodeContents( text ); - } - - // Apply style. - var style = new CKEDITOR.style( { - element: 'a', - attributes: attributes.set - } ); - - style.type = CKEDITOR.STYLE_INLINE; // need to override... dunno why. - style.applyToRange( range, editor ); - range.select(); - } else { - // We're only editing an existing link, so just overwrite the attributes. - var element = this._.selectedElement, - href = element.data( 'cke-saved-href' ), - textView = element.getHtml(); - - element.setAttributes( attributes.set ); - element.removeAttributes( attributes.removed ); - - // Update text view when user changes protocol (#4612). - if ( href == textView || data.type == 'email' && textView.indexOf( '@' ) != -1 ) { - // Short mailto link text view (#5736). - element.setHtml( data.type == 'email' ? - data.email.address : attributes.set[ 'data-cke-saved-href' ] ); - - // We changed the content, so need to select it again. - selection.selectElement( element ); - } - - delete this._.selectedElement; - } - }, - onLoad: function() { - if ( !editor.config.linkShowAdvancedTab ) - this.hidePage( 'advanced' ); //Hide Advanded tab. - - if ( !editor.config.linkShowTargetTab ) - this.hidePage( 'target' ); //Hide Target tab. - }, - // Inital focus on 'url' field if link is of type URL. - onFocus: function() { - var linkType = this.getContentElement( 'info', 'linkType' ), - urlField; - - if ( linkType && linkType.getValue() == 'url' ) { - urlField = this.getContentElement( 'info', 'url' ); - urlField.select(); - } - } - }; - } ); -} )(); - -/** - * The e-mail address anti-spam protection option. The protection will be - * applied when creating or modifying e-mail links through the editor interface. - * - * Two methods of protection can be chosen: - * - * 1. The e-mail parts (name, domain, and any other query string) are - * assembled into a function call pattern. Such function must be - * provided by the developer in the pages that will use the contents. - * 2. Only the e-mail address is obfuscated into a special string that - * has no meaning for humans or spam bots, but which is properly - * rendered and accepted by the browser. - * - * Both approaches require JavaScript to be enabled. - * - * // href="mailto:tester@ckeditor.com?subject=subject&body=body" - * config.emailProtection = ''; - * - * // href="e-mail" - * config.emailProtection = 'encode'; - * - * // href="javascript:mt('tester','ckeditor.com','subject','body')" - * config.emailProtection = 'mt(NAME,DOMAIN,SUBJECT,BODY)'; - * - * @since 3.1 - * @cfg {String} [emailProtection='' (empty string = disabled)] - * @member CKEDITOR.config - */ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){CKEDITOR.dialog.add("link",function(g){var l=CKEDITOR.plugins.link,m=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),k=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),k){case "frame":a.setLabel(g.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(g.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(k),a.getElement().hide()}}, +f=function(a){a.target&&this.setValue(a.target[this.id]||"")},h=function(a){a.advanced&&this.setValue(a.advanced[this.id]||"")},i=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},j=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},c=g.lang.common,b=g.lang.link,d;return{title:b.title,minWidth:350,minHeight:230,contents:[{id:"info",label:b.info,title:b.info,elements:[{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"], +[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],k=this.getValue(),e=a.definition.getContents("upload"),e=e&&e.hidden;"url"==k?(g.config.linkShowTargetTab&&a.showPage("target"),e||a.showPage("upload")):(a.hidePage("target"),e||a.hidePage("upload"));for(e=0;e'+CKEDITOR.tools.htmlEncode(b.noAnchors)+"
    ",focus:!0,setup:function(){this.getElement()[d&&d.length?"hide":"show"]()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",id:"emailAddress", +label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return!a.getContentElement("info","linkType")||"email"!=a.getValueOf("info","linkType")?!0:CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this)},setup:function(a){a.email&&this.setValue(a.email.address);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.select()},commit:function(a){a.email||(a.email={});a.email.address=this.getValue()}},{type:"text",id:"emailSubject",label:b.emailSubject, +setup:function(a){a.email&&this.setValue(a.email.subject)},commit:function(a){a.email||(a.email={});a.email.subject=this.getValue()}},{type:"textarea",id:"emailBody",label:b.emailBody,rows:3,"default":"",setup:function(a){a.email&&this.setValue(a.email.body)},commit:function(a){a.email||(a.email={});a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}}]},{id:"target",requiredContent:"a[target]",label:b.target,title:b.target, +elements:[{type:"hbox",widths:["50%","50%"],children:[{type:"select",id:"linkTargetType",label:c.target,"default":"notSet",style:"width : 100%;",items:[[c.notSet,"notSet"],[b.targetFrame,"frame"],[b.targetPopup,"popup"],[c.targetNew,"_blank"],[c.targetTop,"_top"],[c.targetSelf,"_self"],[c.targetParent,"_parent"]],onChange:m,setup:function(a){a.target&&this.setValue(a.target.type||"notSet");m.call(this)},commit:function(a){a.target||(a.target={});a.target.type=this.getValue()}},{type:"text",id:"linkTargetName", +label:b.targetFrameName,"default":"",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){a.target||(a.target={});a.target.name=this.getValue().replace(/\W/gi,"")}}]},{type:"vbox",width:"100%",align:"center",padding:2,id:"popupFeatures",children:[{type:"fieldset",label:b.popupFeatures,children:[{type:"hbox",children:[{type:"checkbox",id:"resizable",label:b.popupResizable,setup:f,commit:i},{type:"checkbox",id:"status",label:b.popupStatusBar,setup:f,commit:i}]},{type:"hbox", +children:[{type:"checkbox",id:"location",label:b.popupLocationBar,setup:f,commit:i},{type:"checkbox",id:"toolbar",label:b.popupToolbar,setup:f,commit:i}]},{type:"hbox",children:[{type:"checkbox",id:"menubar",label:b.popupMenuBar,setup:f,commit:i},{type:"checkbox",id:"fullscreen",label:b.popupFullScreen,setup:f,commit:i}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b.popupScrollBars,setup:f,commit:i},{type:"checkbox",id:"dependent",label:b.popupDependent,setup:f,commit:i}]},{type:"hbox", +children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:c.width,id:"width",setup:f,commit:i},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b.popupLeft,id:"left",setup:f,commit:i}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:c.height,id:"height",setup:f,commit:i},{type:"text",labelLayout:"horizontal",label:b.popupTop,widths:["50%","50%"],id:"top",setup:f,commit:i}]}]}]}]},{id:"upload",label:b.upload,title:b.upload,hidden:!0, +filebrowser:"uploadButton",elements:[{type:"file",id:"upload",label:c.upload,style:"height:40px",size:29},{type:"fileButton",id:"uploadButton",label:c.uploadSubmit,filebrowser:"info:url","for":["upload","upload"]}]},{id:"advanced",label:b.advanced,title:b.advanced,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",id:"advId",requiredContent:"a[id]",label:b.id,setup:h,commit:j},{type:"select",id:"advLangDir",requiredContent:"a[dir]",label:b.langDir, +"default":"",style:"width:110px",items:[[c.notSet,""],[b.langDirLTR,"ltr"],[b.langDirRTL,"rtl"]],setup:h,commit:j},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b.acccessKey,maxLength:1,setup:h,commit:j}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b.name,id:"advName",requiredContent:"a[name]",setup:h,commit:j},{type:"text",label:b.langCode,id:"advLangCode",requiredContent:"a[lang]",width:"110px","default":"",setup:h,commit:j},{type:"text", +label:b.tabIndex,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:h,commit:j}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.advisoryTitle,requiredContent:"a[title]","default":"",id:"advTitle",setup:h,commit:j},{type:"text",label:b.advisoryContentType,requiredContent:"a[type]","default":"",id:"advContentType",setup:h,commit:j}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.cssClasses,requiredContent:"a(cke-xyz)", +"default":"",id:"advCSSClasses",setup:h,commit:j},{type:"text",label:b.charset,requiredContent:"a[charset]","default":"",id:"advCharset",setup:h,commit:j}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.rel,requiredContent:"a[rel]","default":"",id:"advRel",setup:h,commit:j},{type:"text",label:b.styles,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR.dialog.validate.inlineStyle(g.lang.common.invalidInlineStyle),setup:h,commit:j}]}]}]}],onShow:function(){var a= +this.getParentEditor(),b=a.getSelection(),c=null;(c=l.getSelectedLink(a))&&c.hasAttribute("href")?b.getSelectedElement()||b.selectElement(c):c=null;a=l.parseLinkAttributes(a,c);this._.selectedElement=c;this.setupContent(a)},onOk:function(){var a={};this.commitContent(a);var b=g.getSelection(),c=l.getLinkAttributes(g,a);if(this._.selectedElement){var e=this._.selectedElement,d=e.data("cke-saved-href"),f=e.getHtml();e.setAttributes(c.set);e.removeAttributes(c.removed);if(d==f||"email"==a.type&&-1!= +f.indexOf("@"))e.setHtml("email"==a.type?a.email.address:c.set["data-cke-saved-href"]),b.selectElement(e);delete this._.selectedElement}else b=b.getRanges()[0],b.collapsed&&(a=new CKEDITOR.dom.text("email"==a.type?a.email.address:c.set["data-cke-saved-href"],g.document),b.insertNode(a),b.selectNodeContents(a)),c=new CKEDITOR.style({element:"a",attributes:c.set}),c.type=CKEDITOR.STYLE_INLINE,c.applyToRange(b,g),b.select()},onLoad:function(){g.config.linkShowAdvancedTab||this.hidePage("advanced");g.config.linkShowTargetTab|| +this.hidePage("target")},onFocus:function(){var a=this.getContentElement("info","linkType");a&&"url"==a.getValue()&&(a=this.getContentElement("info","url"),a.select())}}})})(); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/link/icons/anchor-rtl.png b/scripts/ckeditor/plugins/link/icons/anchor-rtl.png deleted file mode 100755 index 87d717d8..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/anchor-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/anchor.png b/scripts/ckeditor/plugins/link/icons/anchor.png deleted file mode 100755 index 0ca085f7..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/anchor.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/hidpi/anchor-rtl.png b/scripts/ckeditor/plugins/link/icons/hidpi/anchor-rtl.png deleted file mode 100755 index cd6d4ea6..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/hidpi/anchor-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/hidpi/anchor.png b/scripts/ckeditor/plugins/link/icons/hidpi/anchor.png deleted file mode 100755 index c5869db8..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/hidpi/anchor.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/hidpi/link.png b/scripts/ckeditor/plugins/link/icons/hidpi/link.png deleted file mode 100755 index bb8a0691..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/hidpi/link.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/hidpi/unlink.png b/scripts/ckeditor/plugins/link/icons/hidpi/unlink.png deleted file mode 100755 index 5af59c26..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/hidpi/unlink.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/link.png b/scripts/ckeditor/plugins/link/icons/link.png deleted file mode 100755 index 95092d03..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/link.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/icons/unlink.png b/scripts/ckeditor/plugins/link/icons/unlink.png deleted file mode 100755 index 33a15999..00000000 Binary files a/scripts/ckeditor/plugins/link/icons/unlink.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/link/images/anchor.png b/scripts/ckeditor/plugins/link/images/anchor.png old mode 100755 new mode 100644 index c946ba54..6d861a0e Binary files a/scripts/ckeditor/plugins/link/images/anchor.png and b/scripts/ckeditor/plugins/link/images/anchor.png differ diff --git a/scripts/ckeditor/plugins/link/images/hidpi/anchor.png b/scripts/ckeditor/plugins/link/images/hidpi/anchor.png old mode 100755 new mode 100644 index 908b9fa3..f5048430 Binary files a/scripts/ckeditor/plugins/link/images/hidpi/anchor.png and b/scripts/ckeditor/plugins/link/images/hidpi/anchor.png differ diff --git a/scripts/ckeditor/plugins/link/lang/af.js b/scripts/ckeditor/plugins/link/lang/af.js deleted file mode 100755 index 3b5e99c8..00000000 --- a/scripts/ckeditor/plugins/link/lang/af.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'af', { - acccessKey: 'Toegangsleutel', - advanced: 'Gevorderd', - advisoryContentType: 'Aanbevole inhoudstipe', - advisoryTitle: 'Aanbevole titel', - anchor: { - toolbar: 'Anker byvoeg/verander', - menu: 'Anker-eienskappe', - title: 'Anker-eienskappe', - name: 'Ankernaam', - errorName: 'Voltooi die ankernaam asseblief', - remove: 'Remove Anchor' - }, - anchorId: 'Op element Id', - anchorName: 'Op ankernaam', - charset: 'Karakterstel van geskakelde bron', - cssClasses: 'CSS klasse', - emailAddress: 'E-posadres', - emailBody: 'Berig-inhoud', - emailSubject: 'Berig-onderwerp', - id: 'Id', - info: 'Skakel informasie', - langCode: 'Taalkode', - langDir: 'Skryfrigting', - langDirLTR: 'Links na regs (LTR)', - langDirRTL: 'Regs na links (RTL)', - menu: 'Wysig skakel', - name: 'Naam', - noAnchors: '(Geen ankers beskikbaar in dokument)', - noEmail: 'Gee die e-posadres', - noUrl: 'Gee die skakel se URL', - other: '', - popupDependent: 'Afhanklik (Netscape)', - popupFeatures: 'Eienskappe van opspringvenster', - popupFullScreen: 'Volskerm (IE)', - popupLeft: 'Posisie links', - popupLocationBar: 'Adresbalk', - popupMenuBar: 'Spyskaartbalk', - popupResizable: 'Herskaalbaar', - popupScrollBars: 'Skuifbalke', - popupStatusBar: 'Statusbalk', - popupToolbar: 'Werkbalk', - popupTop: 'Posisie bo', - rel: 'Relationship', // MISSING - selectAnchor: 'Kies \'n anker', - styles: 'Styl', - tabIndex: 'Tab indeks', - target: 'Doel', - targetFrame: '', - targetFrameName: 'Naam van doelraam', - targetPopup: '', - targetPopupName: 'Naam van opspringvenster', - title: 'Skakel', - toAnchor: 'Anker in bladsy', - toEmail: 'E-pos', - toUrl: 'URL', - toolbar: 'Skakel invoeg/wysig', - type: 'Skakelsoort', - unlink: 'Verwyder skakel', - upload: 'Oplaai' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ar.js b/scripts/ckeditor/plugins/link/lang/ar.js deleted file mode 100755 index 4d3f1e1c..00000000 --- a/scripts/ckeditor/plugins/link/lang/ar.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ar', { - acccessKey: 'مفاتيح الإختصار', - advanced: 'متقدم', - advisoryContentType: 'نوع التقرير', - advisoryTitle: 'عنوان التقرير', - anchor: { - toolbar: 'إشارة مرجعية', - menu: 'تحرير الإشارة المرجعية', - title: 'خصائص الإشارة المرجعية', - name: 'اسم الإشارة المرجعية', - errorName: 'الرجاء كتابة اسم الإشارة المرجعية', - remove: 'إزالة الإشارة المرجعية' - }, - anchorId: 'حسب رقم العنصر', - anchorName: 'حسب إسم الإشارة المرجعية', - charset: 'ترميز المادة المطلوبة', - cssClasses: 'فئات التنسيق', - emailAddress: 'البريد الإلكتروني', - emailBody: 'محتوى الرسالة', - emailSubject: 'موضوع الرسالة', - id: 'هوية', - info: 'معلومات الرابط', - langCode: 'رمز اللغة', - langDir: 'إتجاه نص اللغة', - langDirLTR: 'اليسار لليمين (LTR)', - langDirRTL: 'اليمين لليسار (RTL)', - menu: 'تحرير الرابط', - name: 'إسم', - noAnchors: '(لا توجد علامات مرجعية في هذا المستند)', - noEmail: 'الرجاء كتابة الريد الإلكتروني', - noUrl: 'الرجاء كتابة رابط الموقع', - other: '<أخرى>', - popupDependent: 'تابع (Netscape)', - popupFeatures: 'خصائص النافذة المنبثقة', - popupFullScreen: 'ملئ الشاشة (IE)', - popupLeft: 'التمركز لليسار', - popupLocationBar: 'شريط العنوان', - popupMenuBar: 'القوائم الرئيسية', - popupResizable: 'قابلة التشكيل', - popupScrollBars: 'أشرطة التمرير', - popupStatusBar: 'شريط الحالة', - popupToolbar: 'شريط الأدوات', - popupTop: 'التمركز للأعلى', - rel: 'العلاقة', - selectAnchor: 'اختر علامة مرجعية', - styles: 'نمط', - tabIndex: 'الترتيب', - target: 'هدف الرابط', - targetFrame: '<إطار>', - targetFrameName: 'اسم الإطار المستهدف', - targetPopup: '<نافذة منبثقة>', - targetPopupName: 'اسم النافذة المنبثقة', - title: 'رابط', - toAnchor: 'مكان في هذا المستند', - toEmail: 'بريد إلكتروني', - toUrl: 'الرابط', - toolbar: 'رابط', - type: 'نوع الربط', - unlink: 'إزالة رابط', - upload: 'رفع' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/bg.js b/scripts/ckeditor/plugins/link/lang/bg.js deleted file mode 100755 index 88c949a3..00000000 --- a/scripts/ckeditor/plugins/link/lang/bg.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'bg', { - acccessKey: 'Ключ за достъп', - advanced: 'Разширено', - advisoryContentType: 'Препоръчителен тип на съдържанието', - advisoryTitle: 'Препоръчително заглавие', - anchor: { - toolbar: 'Котва', - menu: 'Промяна на котва', - title: 'Настройки на котва', - name: 'Име на котва', - errorName: 'Моля въведете име на котвата', - remove: 'Премахване на котва' - }, - anchorId: 'По ID на елемент', - anchorName: 'По име на котва', - charset: 'Тип на свързания ресурс', - cssClasses: 'Класове за CSS', - emailAddress: 'E-mail aдрес', - emailBody: 'Съдържание', - emailSubject: 'Тема', - id: 'ID', - info: 'Инфо за връзката', - langCode: 'Код за езика', - langDir: 'Посока на езика', - langDirLTR: 'Ляво на Дясно (ЛнД)', - langDirRTL: 'Дясно на Ляво (ДнЛ)', - menu: 'Промяна на връзка', - name: 'Име', - noAnchors: '(Няма котви в текущия документ)', - noEmail: 'Моля въведете e-mail aдрес', - noUrl: 'Моля въведете URL адреса', - other: '<друго>', - popupDependent: 'Зависимост (Netscape)', - popupFeatures: 'Функции на изкачащ прозорец', - popupFullScreen: 'Цял екран (IE)', - popupLeft: 'Лява позиция', - popupLocationBar: 'Лента с локацията', - popupMenuBar: 'Лента за меню', - popupResizable: 'Оразмеряем', - popupScrollBars: 'Скролери', - popupStatusBar: 'Статусна лента', - popupToolbar: 'Лента с инструменти', - popupTop: 'Горна позиция', - rel: 'Връзка', - selectAnchor: 'Изберете котва', - styles: 'Стил', - tabIndex: 'Ред на достъп', - target: 'Цел', - targetFrame: '', - targetFrameName: 'Име на целевият прозорец', - targetPopup: '<изкачащ прозорец>', - targetPopupName: 'Име на изкачащ прозорец', - title: 'Връзка', - toAnchor: 'Връзка към котва в текста', - toEmail: 'E-mail', - toUrl: 'Уеб адрес', - toolbar: 'Връзка', - type: 'Тип на връзката', - unlink: 'Премахни връзката', - upload: 'Качване' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/bn.js b/scripts/ckeditor/plugins/link/lang/bn.js deleted file mode 100755 index a6054658..00000000 --- a/scripts/ckeditor/plugins/link/lang/bn.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'bn', { - acccessKey: 'এক্সেস কী', - advanced: 'এডভান্সড', - advisoryContentType: 'পরামর্শ কন্টেন্টের প্রকার', - advisoryTitle: 'পরামর্শ শীর্ষক', - anchor: { - toolbar: 'নোঙ্গর', - menu: 'নোঙর প্রোপার্টি', - title: 'নোঙর প্রোপার্টি', - name: 'নোঙরের নাম', - errorName: 'নোঙরের নাম টাইপ করুন', - remove: 'Remove Anchor' - }, - anchorId: 'নোঙরের আইডি দিয়ে', - anchorName: 'নোঙরের নাম দিয়ে', - charset: 'লিংক রিসোর্স ক্যারেক্টর সেট', - cssClasses: 'স্টাইল-শীট ক্লাস', - emailAddress: 'ইমেইল ঠিকানা', - emailBody: 'মেসেজের দেহ', - emailSubject: 'মেসেজের বিষয়', - id: 'আইডি', - info: 'লিংক তথ্য', - langCode: 'ভাষা লেখার দিক', - langDir: 'ভাষা লেখার দিক', - langDirLTR: 'বাম থেকে ডান (LTR)', - langDirRTL: 'ডান থেকে বাম (RTL)', - menu: 'লিংক সম্পাদন', - name: 'নাম', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'অনুগ্রহ করে ইমেইল এড্রেস টাইপ করুন', - noUrl: 'অনুগ্রহ করে URL লিংক টাইপ করুন', - other: '', // MISSING - popupDependent: 'ডিপেন্ডেন্ট (Netscape)', - popupFeatures: 'পপআপ উইন্ডো ফীচার সমূহ', - popupFullScreen: 'পূর্ণ পর্দা জুড়ে (IE)', - popupLeft: 'বামের পজিশন', - popupLocationBar: 'লোকেশন বার', - popupMenuBar: 'মেন্যু বার', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'স্ক্রল বার', - popupStatusBar: 'স্ট্যাটাস বার', - popupToolbar: 'টুল বার', - popupTop: 'ডানের পজিশন', - rel: 'Relationship', // MISSING - selectAnchor: 'নোঙর বাছাই', - styles: 'স্টাইল', - tabIndex: 'ট্যাব ইন্ডেক্স', - target: 'টার্গেট', - targetFrame: '<ফ্রেম>', - targetFrameName: 'টার্গেট ফ্রেমের নাম', - targetPopup: '<পপআপ উইন্ডো>', - targetPopupName: 'পপআপ উইন্ডোর নাম', - title: 'লিংক', - toAnchor: 'এই পেজে নোঙর কর', - toEmail: 'ইমেইল', - toUrl: 'URL', - toolbar: 'লিংক যুক্ত কর', - type: 'লিংক প্রকার', - unlink: 'লিংক সরাও', - upload: 'আপলোড' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/bs.js b/scripts/ckeditor/plugins/link/lang/bs.js deleted file mode 100755 index 59073ea9..00000000 --- a/scripts/ckeditor/plugins/link/lang/bs.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'bs', { - acccessKey: 'Pristupna tipka', - advanced: 'Naprednije', - advisoryContentType: 'Advisory vrsta sadržaja', - advisoryTitle: 'Advisory title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - remove: 'Remove Anchor' - }, - anchorId: 'Po Id-u elementa', - anchorName: 'Po nazivu sidra', - charset: 'Linked Resource Charset', - cssClasses: 'Klase CSS stilova', - emailAddress: 'E-Mail Adresa', - emailBody: 'Poruka', - emailSubject: 'Subjekt poruke', - id: 'Id', - info: 'Link info', - langCode: 'Smjer pisanja', - langDir: 'Smjer pisanja', - langDirLTR: 'S lijeva na desno (LTR)', - langDirRTL: 'S desna na lijevo (RTL)', - menu: 'Izmjeni link', - name: 'Naziv', - noAnchors: '(Nema dostupnih sidra na stranici)', - noEmail: 'Molimo ukucajte e-mail adresu', - noUrl: 'Molimo ukucajte URL link', - other: '', // MISSING - popupDependent: 'Ovisno (Netscape)', - popupFeatures: 'Moguænosti popup prozora', - popupFullScreen: 'Cijeli ekran (IE)', - popupLeft: 'Lijeva pozicija', - popupLocationBar: 'Traka za lokaciju', - popupMenuBar: 'Izborna traka', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll traka', - popupStatusBar: 'Statusna traka', - popupToolbar: 'Traka sa alatima', - popupTop: 'Gornja pozicija', - rel: 'Relationship', // MISSING - selectAnchor: 'Izaberi sidro', - styles: 'Stil', - tabIndex: 'Tab indeks', - target: 'Prozor', - targetFrame: '', - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', - targetPopupName: 'Naziv popup prozora', - title: 'Link', - toAnchor: 'Sidro na ovoj stranici', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Ubaci/Izmjeni link', - type: 'Tip linka', - unlink: 'Izbriši link', - upload: 'Šalji' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ca.js b/scripts/ckeditor/plugins/link/lang/ca.js deleted file mode 100755 index a9850d2e..00000000 --- a/scripts/ckeditor/plugins/link/lang/ca.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ca', { - acccessKey: 'Clau d\'accés', - advanced: 'Avançat', - advisoryContentType: 'Tipus de contingut consultiu', - advisoryTitle: 'Títol consultiu', - anchor: { - toolbar: 'Insereix/Edita àncora', - menu: 'Propietats de l\'àncora', - title: 'Propietats de l\'àncora', - name: 'Nom de l\'àncora', - errorName: 'Si us plau, escriviu el nom de l\'ancora', - remove: 'Remove Anchor' - }, - anchorId: 'Per Id d\'element', - anchorName: 'Per nom d\'àncora', - charset: 'Conjunt de caràcters font enllaçat', - cssClasses: 'Classes del full d\'estil', - emailAddress: 'Adreça de correu electrònic', - emailBody: 'Cos del missatge', - emailSubject: 'Assumpte del missatge', - id: 'Id', - info: 'Informació de l\'enllaç', - langCode: 'Direcció de l\'idioma', - langDir: 'Direcció de l\'idioma', - langDirLTR: 'D\'esquerra a dreta (LTR)', - langDirRTL: 'De dreta a esquerra (RTL)', - menu: 'Edita l\'enllaç', - name: 'Nom', - noAnchors: '(No hi ha àncores disponibles en aquest document)', - noEmail: 'Si us plau, escrigui l\'adreça correu electrònic', - noUrl: 'Si us plau, escrigui l\'enllaç URL', - other: '', - popupDependent: 'Depenent (Netscape)', - popupFeatures: 'Característiques finestra popup', - popupFullScreen: 'Pantalla completa (IE)', - popupLeft: 'Posició esquerra', - popupLocationBar: 'Barra d\'adreça', - popupMenuBar: 'Barra de menú', - popupResizable: 'Redimensionable', - popupScrollBars: 'Barres d\'scroll', - popupStatusBar: 'Barra d\'estat', - popupToolbar: 'Barra d\'eines', - popupTop: 'Posició dalt', - rel: 'Relació', - selectAnchor: 'Selecciona una àncora', - styles: 'Estil', - tabIndex: 'Index de Tab', - target: 'Destí', - targetFrame: '', - targetFrameName: 'Nom del marc de destí', - targetPopup: '', - targetPopupName: 'Nom finestra popup', - title: 'Enllaç', - toAnchor: 'Àncora en aquesta pàgina', - toEmail: 'Correu electrònic', - toUrl: 'URL', - toolbar: 'Insereix/Edita enllaç', - type: 'Tipus d\'enllaç', - unlink: 'Elimina l\'enllaç', - upload: 'Puja' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/cs.js b/scripts/ckeditor/plugins/link/lang/cs.js deleted file mode 100755 index 796e9bc7..00000000 --- a/scripts/ckeditor/plugins/link/lang/cs.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'cs', { - acccessKey: 'Přístupový klíč', - advanced: 'Rozšířené', - advisoryContentType: 'Pomocný typ obsahu', - advisoryTitle: 'Pomocný titulek', - anchor: { - toolbar: 'Záložka', - menu: 'Vlastnosti záložky', - title: 'Vlastnosti záložky', - name: 'Název záložky', - errorName: 'Zadejte prosím název záložky', - remove: 'Odstranit záložku' - }, - anchorId: 'Podle Id objektu', - anchorName: 'Podle jména kotvy', - charset: 'Přiřazená znaková sada', - cssClasses: 'Třída stylu', - emailAddress: 'E-mailová adresa', - emailBody: 'Tělo zprávy', - emailSubject: 'Předmět zprávy', - id: 'Id', - info: 'Informace o odkazu', - langCode: 'Kód jazyka', - langDir: 'Směr jazyka', - langDirLTR: 'Zleva doprava (LTR)', - langDirRTL: 'Zprava doleva (RTL)', - menu: 'Změnit odkaz', - name: 'Jméno', - noAnchors: '(Ve stránce není definována žádná kotva!)', - noEmail: 'Zadejte prosím e-mailovou adresu', - noUrl: 'Zadejte prosím URL odkazu', - other: '', - popupDependent: 'Závislost (Netscape)', - popupFeatures: 'Vlastnosti vyskakovacího okna', - popupFullScreen: 'Celá obrazovka (IE)', - popupLeft: 'Levý okraj', - popupLocationBar: 'Panel umístění', - popupMenuBar: 'Panel nabídky', - popupResizable: 'Umožňující měnit velikost', - popupScrollBars: 'Posuvníky', - popupStatusBar: 'Stavový řádek', - popupToolbar: 'Panel nástrojů', - popupTop: 'Horní okraj', - rel: 'Vztah', - selectAnchor: 'Vybrat kotvu', - styles: 'Styl', - tabIndex: 'Pořadí prvku', - target: 'Cíl', - targetFrame: '', - targetFrameName: 'Název cílového rámu', - targetPopup: '', - targetPopupName: 'Název vyskakovacího okna', - title: 'Odkaz', - toAnchor: 'Kotva v této stránce', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Odkaz', - type: 'Typ odkazu', - unlink: 'Odstranit odkaz', - upload: 'Odeslat' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/cy.js b/scripts/ckeditor/plugins/link/lang/cy.js deleted file mode 100755 index 9fa27f6c..00000000 --- a/scripts/ckeditor/plugins/link/lang/cy.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'cy', { - acccessKey: 'Allwedd Mynediad', - advanced: 'Uwch', - advisoryContentType: 'Math y Cynnwys Cynghorol', - advisoryTitle: 'Teitl Cynghorol', - anchor: { - toolbar: 'Angor', - menu: 'Golygu\'r Angor', - title: 'Priodweddau\'r Angor', - name: 'Enw\'r Angor', - errorName: 'Teipiwch enw\'r angor', - remove: 'Tynnwch yr Angor' - }, - anchorId: 'Gan Id yr Elfen', - anchorName: 'Gan Enw\'r Angor', - charset: 'Set Nodau\'r Adnodd Cysylltiedig', - cssClasses: 'Dosbarthiadau Dalen Arddull', - emailAddress: 'Cyfeiriad E-Bost', - emailBody: 'Corff y Neges', - emailSubject: 'Testun y Neges', - id: 'Id', - info: 'Gwyb y Ddolen', - langCode: 'Cod Iaith', - langDir: 'Cyfeiriad Iaith', - langDirLTR: 'Chwith i\'r Dde (LTR)', - langDirRTL: 'Dde i\'r Chwith (RTL)', - menu: 'Golygu Dolen', - name: 'Enw', - noAnchors: '(Dim angorau ar gael yn y ddogfen)', - noEmail: 'Teipiwch gyfeiriad yr e-bost', - noUrl: 'Teipiwch URL y ddolen', - other: '', - popupDependent: 'Dibynnol (Netscape)', - popupFeatures: 'Nodweddion Ffenestr Bop', - popupFullScreen: 'Sgrin Llawn (IE)', - popupLeft: 'Safle Chwith', - popupLocationBar: 'Bar Safle', - popupMenuBar: 'Dewislen', - popupResizable: 'Ailfeintiol', - popupScrollBars: 'Barrau Sgrolio', - popupStatusBar: 'Bar Statws', - popupToolbar: 'Bar Offer', - popupTop: 'Safle Top', - rel: 'Perthynas', - selectAnchor: 'Dewiswch Angor', - styles: 'Arddull', - tabIndex: 'Indecs Tab', - target: 'Targed', - targetFrame: '', - targetFrameName: 'Enw Ffrâm y Targed', - targetPopup: '', - targetPopupName: 'Enw Ffenestr Bop', - title: 'Dolen', - toAnchor: 'Dolen at angor yn y testun', - toEmail: 'E-bost', - toUrl: 'URL', - toolbar: 'Dolen', - type: 'Math y Ddolen', - unlink: 'Datgysylltu', - upload: 'Lanlwytho' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/da.js b/scripts/ckeditor/plugins/link/lang/da.js deleted file mode 100755 index d2de212c..00000000 --- a/scripts/ckeditor/plugins/link/lang/da.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'da', { - acccessKey: 'Genvejstast', - advanced: 'Avanceret', - advisoryContentType: 'Indholdstype', - advisoryTitle: 'Titel', - anchor: { - toolbar: 'Indsæt/redigér bogmærke', - menu: 'Egenskaber for bogmærke', - title: 'Egenskaber for bogmærke', - name: 'Bogmærkenavn', - errorName: 'Indtast bogmærkenavn', - remove: 'Fjern bogmærke' - }, - anchorId: 'Efter element-Id', - anchorName: 'Efter ankernavn', - charset: 'Tegnsæt', - cssClasses: 'Typografiark', - emailAddress: 'E-mailadresse', - emailBody: 'Besked', - emailSubject: 'Emne', - id: 'Id', - info: 'Generelt', - langCode: 'Tekstretning', - langDir: 'Tekstretning', - langDirLTR: 'Fra venstre mod højre (LTR)', - langDirRTL: 'Fra højre mod venstre (RTL)', - menu: 'Redigér hyperlink', - name: 'Navn', - noAnchors: '(Ingen bogmærker i dokumentet)', - noEmail: 'Indtast e-mailadresse!', - noUrl: 'Indtast hyperlink-URL!', - other: '', - popupDependent: 'Koblet/dependent (Netscape)', - popupFeatures: 'Egenskaber for popup', - popupFullScreen: 'Fuld skærm (IE)', - popupLeft: 'Position fra venstre', - popupLocationBar: 'Adresselinje', - popupMenuBar: 'Menulinje', - popupResizable: 'Justérbar', - popupScrollBars: 'Scrollbar', - popupStatusBar: 'Statuslinje', - popupToolbar: 'Værktøjslinje', - popupTop: 'Position fra toppen', - rel: 'Relation', - selectAnchor: 'Vælg et anker', - styles: 'Typografi', - tabIndex: 'Tabulatorindeks', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Destinationsvinduets navn', - targetPopup: '', - targetPopupName: 'Popupvinduets navn', - title: 'Egenskaber for hyperlink', - toAnchor: 'Bogmærke på denne side', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Indsæt/redigér hyperlink', - type: 'Type', - unlink: 'Fjern hyperlink', - upload: 'Upload' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/de.js b/scripts/ckeditor/plugins/link/lang/de.js deleted file mode 100755 index 66fcbd6c..00000000 --- a/scripts/ckeditor/plugins/link/lang/de.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'de', { - acccessKey: 'Zugriffstaste', - advanced: 'Erweitert', - advisoryContentType: 'Inhaltstyp', - advisoryTitle: 'Titel Beschreibung', - anchor: { - toolbar: 'Anker einfügen/editieren', - menu: 'Anker-Eigenschaften', - title: 'Anker-Eigenschaften', - name: 'Anker Name', - errorName: 'Bitte geben Sie den Namen des Ankers ein', - remove: 'Anker entfernen' - }, - anchorId: 'nach Element Id', - anchorName: 'nach Anker Name', - charset: 'Ziel-Zeichensatz', - cssClasses: 'Stylesheet Klasse', - emailAddress: 'E-Mail Adresse', - emailBody: 'Nachrichtentext', - emailSubject: 'Betreffzeile', - id: 'Id', - info: 'Link-Info', - langCode: 'Sprachenkürzel', - langDir: 'Schreibrichtung', - langDirLTR: 'Links nach Rechts (LTR)', - langDirRTL: 'Rechts nach Links (RTL)', - menu: 'Link editieren', - name: 'Name', - noAnchors: '(keine Anker im Dokument vorhanden)', - noEmail: 'Bitte geben Sie e-Mail Adresse an', - noUrl: 'Bitte geben Sie die Link-URL an', - other: '', - popupDependent: 'Abhängig (Netscape)', - popupFeatures: 'Pop-up Fenster-Eigenschaften', - popupFullScreen: 'Vollbild (IE)', - popupLeft: 'Linke Position', - popupLocationBar: 'Adress-Leiste', - popupMenuBar: 'Menü-Leiste', - popupResizable: 'Größe änderbar', - popupScrollBars: 'Rollbalken', - popupStatusBar: 'Statusleiste', - popupToolbar: 'Symbolleiste', - popupTop: 'Obere Position', - rel: 'Beziehung', - selectAnchor: 'Anker auswählen', - styles: 'Style', - tabIndex: 'Tab-Index', - target: 'Zielseite', - targetFrame: '', - targetFrameName: 'Ziel-Fenster-Name', - targetPopup: '', - targetPopupName: 'Pop-up Fenster-Name', - title: 'Link', - toAnchor: 'Anker in dieser Seite', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Link einfügen/editieren', - type: 'Link-Typ', - unlink: 'Link entfernen', - upload: 'Hochladen' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/el.js b/scripts/ckeditor/plugins/link/lang/el.js deleted file mode 100755 index 78fe3039..00000000 --- a/scripts/ckeditor/plugins/link/lang/el.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'el', { - acccessKey: 'Συντόμευση', - advanced: 'Για Προχωρημένους', - advisoryContentType: 'Ενδεικτικός Τύπος Περιεχομένου', - advisoryTitle: 'Ενδεικτικός Τίτλος', - anchor: { - toolbar: 'Εισαγωγή/επεξεργασία Άγκυρας', - menu: 'Ιδιότητες άγκυρας', - title: 'Ιδιότητες άγκυρας', - name: 'Όνομα άγκυρας', - errorName: 'Παρακαλούμε εισάγετε όνομα άγκυρας', - remove: 'Αφαίρεση Άγκυρας' - }, - anchorId: 'Βάσει του Element Id', - anchorName: 'Βάσει του Ονόματος Άγκυρας', - charset: 'Κωδικοποίηση Χαρακτήρων Προσαρτημένης Πηγής', - cssClasses: 'Κλάσεις Φύλλων Στυλ', - emailAddress: 'Διεύθυνση E-mail', - emailBody: 'Κείμενο Μηνύματος', - emailSubject: 'Θέμα Μηνύματος', - id: 'Id', - info: 'Πληροφορίες Συνδέσμου', - langCode: 'Κατεύθυνση Κειμένου', - langDir: 'Κατεύθυνση Κειμένου', - langDirLTR: 'Αριστερά προς Δεξιά (LTR)', - langDirRTL: 'Δεξιά προς Αριστερά (RTL)', - menu: 'Επεξεργασία Συνδέσμου', - name: 'Όνομα', - noAnchors: '(Δεν υπάρχουν άγκυρες στο κείμενο)', - noEmail: 'Εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου', - noUrl: 'Εισάγετε την τοποθεσία (URL) του συνδέσμου', - other: '<άλλο>', - popupDependent: 'Εξαρτημένο (Netscape)', - popupFeatures: 'Επιλογές Αναδυόμενου Παραθύρου', - popupFullScreen: 'Πλήρης Οθόνη (IE)', - popupLeft: 'Θέση Αριστερά', - popupLocationBar: 'Γραμμή Τοποθεσίας', - popupMenuBar: 'Γραμμή Επιλογών', - popupResizable: 'Προσαρμοζόμενο Μέγεθος', - popupScrollBars: 'Μπάρες Κύλισης', - popupStatusBar: 'Γραμμή Κατάστασης', - popupToolbar: 'Εργαλειοθήκη', - popupTop: 'Θέση Πάνω', - rel: 'Σχέση', - selectAnchor: 'Επιλέξτε μια Άγκυρα', - styles: 'Μορφή', - tabIndex: 'Σειρά Μεταπήδησης', - target: 'Παράθυρο Προορισμού', - targetFrame: '<πλαίσιο>', - targetFrameName: 'Όνομα Πλαισίου Προορισμού', - targetPopup: '<αναδυόμενο παράθυρο>', - targetPopupName: 'Όνομα Αναδυόμενου Παραθύρου', - title: 'Σύνδεσμος', - toAnchor: 'Άγκυρα σε αυτήν τη σελίδα', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Σύνδεσμος', - type: 'Τύπος Συνδέσμου', - unlink: 'Αφαίρεση Συνδέσμου', - upload: 'Αποστολή' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/en-au.js b/scripts/ckeditor/plugins/link/lang/en-au.js deleted file mode 100755 index 7ea28ffe..00000000 --- a/scripts/ckeditor/plugins/link/lang/en-au.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'en-au', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - other: '', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/en-ca.js b/scripts/ckeditor/plugins/link/lang/en-ca.js deleted file mode 100755 index 42cbd590..00000000 --- a/scripts/ckeditor/plugins/link/lang/en-ca.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'en-ca', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - other: '', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/en-gb.js b/scripts/ckeditor/plugins/link/lang/en-gb.js deleted file mode 100755 index 9a93311a..00000000 --- a/scripts/ckeditor/plugins/link/lang/en-gb.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'en-gb', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - other: '', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/en.js b/scripts/ckeditor/plugins/link/lang/en.js deleted file mode 100755 index 2c572ab6..00000000 --- a/scripts/ckeditor/plugins/link/lang/en.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'en', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - other: '', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/eo.js b/scripts/ckeditor/plugins/link/lang/eo.js deleted file mode 100755 index 424c110a..00000000 --- a/scripts/ckeditor/plugins/link/lang/eo.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'eo', { - acccessKey: 'Fulmoklavo', - advanced: 'Speciala', - advisoryContentType: 'Enhavotipo', - advisoryTitle: 'Priskriba Titolo', - anchor: { - toolbar: 'Ankro', - menu: 'Enmeti/Ŝanĝi Ankron', - title: 'Ankraj Atributoj', - name: 'Ankra Nomo', - errorName: 'Bv entajpi la ankran nomon', - remove: 'Forigi Ankron' - }, - anchorId: 'Per Elementidentigilo', - anchorName: 'Per Ankronomo', - charset: 'Signaro de la Ligita Rimedo', - cssClasses: 'Klasoj de Stilfolioj', - emailAddress: 'Retpoŝto', - emailBody: 'Mesaĝa korpo', - emailSubject: 'Mesaĝa Temo', - id: 'Id', - info: 'Informoj pri la Ligilo', - langCode: 'Lingva Kodo', - langDir: 'Skribdirekto', - langDirLTR: 'De maldekstro dekstren (LTR)', - langDirRTL: 'De dekstro maldekstren (RTL)', - menu: 'Ŝanĝi Ligilon', - name: 'Nomo', - noAnchors: '', - noEmail: 'Bonvolu entajpi la retpoŝtadreson', - noUrl: 'Bonvolu entajpi la URL-on', - other: '', - popupDependent: 'Dependa (Netscape)', - popupFeatures: 'Atributoj de la Ŝprucfenestro', - popupFullScreen: 'Tutekrane (IE)', - popupLeft: 'Maldekstra Pozicio', - popupLocationBar: 'Adresobreto', - popupMenuBar: 'Menubreto', - popupResizable: 'Dimensiŝanĝebla', - popupScrollBars: 'Rulumskaloj', - popupStatusBar: 'Statobreto', - popupToolbar: 'Ilobreto', - popupTop: 'Supra Pozicio', - rel: 'Rilato', - selectAnchor: 'Elekti Ankron', - styles: 'Stilo', - tabIndex: 'Taba Indekso', - target: 'Celo', - targetFrame: '', - targetFrameName: 'Nomo de CelKadro', - targetPopup: '<ŝprucfenestro>', - targetPopupName: 'Nomo de Ŝprucfenestro', - title: 'Ligilo', - toAnchor: 'Ankri en tiu ĉi paĝo', - toEmail: 'Retpoŝto', - toUrl: 'URL', - toolbar: 'Enmeti/Ŝanĝi Ligilon', - type: 'Tipo de Ligilo', - unlink: 'Forigi Ligilon', - upload: 'Alŝuti' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/es.js b/scripts/ckeditor/plugins/link/lang/es.js deleted file mode 100755 index b7134afe..00000000 --- a/scripts/ckeditor/plugins/link/lang/es.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'es', { - acccessKey: 'Tecla de Acceso', - advanced: 'Avanzado', - advisoryContentType: 'Tipo de Contenido', - advisoryTitle: 'Título', - anchor: { - toolbar: 'Referencia', - menu: 'Propiedades de Referencia', - title: 'Propiedades de Referencia', - name: 'Nombre de la Referencia', - errorName: 'Por favor, complete el nombre de la Referencia', - remove: 'Quitar Referencia' - }, - anchorId: 'Por ID de elemento', - anchorName: 'Por Nombre de Referencia', - charset: 'Fuente de caracteres vinculado', - cssClasses: 'Clases de hojas de estilo', - emailAddress: 'Dirección de E-Mail', - emailBody: 'Cuerpo del Mensaje', - emailSubject: 'Título del Mensaje', - id: 'Id', - info: 'Información de Vínculo', - langCode: 'Código idioma', - langDir: 'Orientación', - langDirLTR: 'Izquierda a Derecha (LTR)', - langDirRTL: 'Derecha a Izquierda (RTL)', - menu: 'Editar Vínculo', - name: 'Nombre', - noAnchors: '(No hay referencias disponibles en el documento)', - noEmail: 'Por favor escriba la dirección de e-mail', - noUrl: 'Por favor escriba el vínculo URL', - other: '', - popupDependent: 'Dependiente (Netscape)', - popupFeatures: 'Características de Ventana Emergente', - popupFullScreen: 'Pantalla Completa (IE)', - popupLeft: 'Posición Izquierda', - popupLocationBar: 'Barra de ubicación', - popupMenuBar: 'Barra de Menú', - popupResizable: 'Redimensionable', - popupScrollBars: 'Barras de desplazamiento', - popupStatusBar: 'Barra de Estado', - popupToolbar: 'Barra de Herramientas', - popupTop: 'Posición Derecha', - rel: 'Relación', - selectAnchor: 'Seleccionar una referencia', - styles: 'Estilo', - tabIndex: 'Indice de tabulación', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nombre del Marco Destino', - targetPopup: '', - targetPopupName: 'Nombre de Ventana Emergente', - title: 'Vínculo', - toAnchor: 'Referencia en esta página', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Insertar/Editar Vínculo', - type: 'Tipo de vínculo', - unlink: 'Eliminar Vínculo', - upload: 'Cargar' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/et.js b/scripts/ckeditor/plugins/link/lang/et.js deleted file mode 100755 index e6155742..00000000 --- a/scripts/ckeditor/plugins/link/lang/et.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'et', { - acccessKey: 'Juurdepääsu võti', - advanced: 'Täpsemalt', - advisoryContentType: 'Juhendava sisu tüüp', - advisoryTitle: 'Juhendav tiitel', - anchor: { - toolbar: 'Ankru sisestamine/muutmine', - menu: 'Ankru omadused', - title: 'Ankru omadused', - name: 'Ankru nimi', - errorName: 'Palun sisesta ankru nimi', - remove: 'Eemalda ankur' - }, - anchorId: 'Elemendi id järgi', - anchorName: 'Ankru nime järgi', - charset: 'Lingitud ressursi märgistik', - cssClasses: 'Stiilistiku klassid', - emailAddress: 'E-posti aadress', - emailBody: 'Sõnumi tekst', - emailSubject: 'Sõnumi teema', - id: 'ID', - info: 'Lingi info', - langCode: 'Keele suund', - langDir: 'Keele suund', - langDirLTR: 'Vasakult paremale (LTR)', - langDirRTL: 'Paremalt vasakule (RTL)', - menu: 'Muuda linki', - name: 'Nimi', - noAnchors: '(Selles dokumendis pole ankruid)', - noEmail: 'Palun kirjuta e-posti aadress', - noUrl: 'Palun kirjuta lingi URL', - other: '', - popupDependent: 'Sõltuv (Netscape)', - popupFeatures: 'Hüpikakna omadused', - popupFullScreen: 'Täisekraan (IE)', - popupLeft: 'Vasak asukoht', - popupLocationBar: 'Aadressiriba', - popupMenuBar: 'Menüüriba', - popupResizable: 'Suurust saab muuta', - popupScrollBars: 'Kerimisribad', - popupStatusBar: 'Olekuriba', - popupToolbar: 'Tööriistariba', - popupTop: 'Ülemine asukoht', - rel: 'Suhe', - selectAnchor: 'Vali ankur', - styles: 'Laad', - tabIndex: 'Tab indeks', - target: 'Sihtkoht', - targetFrame: '', - targetFrameName: 'Sihtmärk raami nimi', - targetPopup: '', - targetPopupName: 'Hüpikakna nimi', - title: 'Link', - toAnchor: 'Ankur sellel lehel', - toEmail: 'E-post', - toUrl: 'URL', - toolbar: 'Lingi lisamine/muutmine', - type: 'Lingi liik', - unlink: 'Lingi eemaldamine', - upload: 'Lae üles' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/eu.js b/scripts/ckeditor/plugins/link/lang/eu.js deleted file mode 100755 index fb34d6f7..00000000 --- a/scripts/ckeditor/plugins/link/lang/eu.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'eu', { - acccessKey: 'Sarbide-gakoa', - advanced: 'Aurreratua', - advisoryContentType: 'Eduki Mota (Content Type)', - advisoryTitle: 'Izenburua', - anchor: { - toolbar: 'Aingura', - menu: 'Ainguraren Ezaugarriak', - title: 'Ainguraren Ezaugarriak', - name: 'Ainguraren Izena', - errorName: 'Idatzi ainguraren izena', - remove: 'Remove Anchor' - }, - anchorId: 'Elementuaren ID-gatik', - anchorName: 'Aingura izenagatik', - charset: 'Estekatutako Karaktere Multzoa', - cssClasses: 'Estilo-orriko Klaseak', - emailAddress: 'ePosta Helbidea', - emailBody: 'Mezuaren Gorputza', - emailSubject: 'Mezuaren Gaia', - id: 'Id', - info: 'Estekaren Informazioa', - langCode: 'Hizkuntzaren Norabidea', - langDir: 'Hizkuntzaren Norabidea', - langDirLTR: 'Ezkerretik Eskumara(LTR)', - langDirRTL: 'Eskumatik Ezkerrera (RTL)', - menu: 'Aldatu Esteka', - name: 'Izena', - noAnchors: '(Ez daude aingurak eskuragarri dokumentuan)', - noEmail: 'Mesedez ePosta helbidea idatzi', - noUrl: 'Mesedez URL esteka idatzi', - other: '', - popupDependent: 'Menpekoa (Netscape)', - popupFeatures: 'Popup Leihoaren Ezaugarriak', - popupFullScreen: 'Pantaila Osoa (IE)', - popupLeft: 'Ezkerreko Posizioa', - popupLocationBar: 'Kokaleku Barra', - popupMenuBar: 'Menu Barra', - popupResizable: 'Tamaina Aldakorra', - popupScrollBars: 'Korritze Barrak', - popupStatusBar: 'Egoera Barra', - popupToolbar: 'Tresna Barra', - popupTop: 'Goiko Posizioa', - rel: 'Erlazioa', - selectAnchor: 'Aingura bat hautatu', - styles: 'Estiloa', - tabIndex: 'Tabulazio Indizea', - target: 'Target (Helburua)', - targetFrame: '', - targetFrameName: 'Marko Helburuaren Izena', - targetPopup: '', - targetPopupName: 'Popup Leihoaren Izena', - title: 'Esteka', - toAnchor: 'Aingura orrialde honetan', - toEmail: 'ePosta', - toUrl: 'URL', - toolbar: 'Txertatu/Editatu Esteka', - type: 'Esteka Mota', - unlink: 'Kendu Esteka', - upload: 'Gora kargatu' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/fa.js b/scripts/ckeditor/plugins/link/lang/fa.js deleted file mode 100755 index 992276fc..00000000 --- a/scripts/ckeditor/plugins/link/lang/fa.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'fa', { - acccessKey: 'کلید دستیابی', - advanced: 'پیشرفته', - advisoryContentType: 'نوع محتوای کمکی', - advisoryTitle: 'عنوان کمکی', - anchor: { - toolbar: 'گنجاندن/ویرایش لنگر', - menu: 'ویژگی​های لنگر', - title: 'ویژگی​های لنگر', - name: 'نام لنگر', - errorName: 'لطفا نام لنگر را بنویسید', - remove: 'حذف لنگر' - }, - anchorId: 'با شناسهٴ المان', - anchorName: 'با نام لنگر', - charset: 'نویسه​گان منبع پیوند شده', - cssClasses: 'کلاس​های شیوه​نامه(Stylesheet)', - emailAddress: 'نشانی پست الکترونیکی', - emailBody: 'متن پیام', - emailSubject: 'موضوع پیام', - id: 'شناسه', - info: 'اطلاعات پیوند', - langCode: 'جهت​نمای زبان', - langDir: 'جهت​نمای زبان', - langDirLTR: 'چپ به راست (LTR)', - langDirRTL: 'راست به چپ (RTL)', - menu: 'ویرایش پیوند', - name: 'نام', - noAnchors: '(در این سند لنگری دردسترس نیست)', - noEmail: 'لطفا نشانی پست الکترونیکی را بنویسید', - noUrl: 'لطفا URL پیوند را بنویسید', - other: '<سایر>', - popupDependent: 'وابسته (Netscape)', - popupFeatures: 'ویژگی​های پنجرهٴ پاپاپ', - popupFullScreen: 'تمام صفحه (IE)', - popupLeft: 'موقعیت چپ', - popupLocationBar: 'نوار موقعیت', - popupMenuBar: 'نوار منو', - popupResizable: 'قابل تغییر اندازه', - popupScrollBars: 'میله​های پیمایش', - popupStatusBar: 'نوار وضعیت', - popupToolbar: 'نوار ابزار', - popupTop: 'موقعیت بالا', - rel: 'وابستگی', - selectAnchor: 'یک لنگر برگزینید', - styles: 'شیوه (style)', - tabIndex: 'نمایهٴ دسترسی با برگه', - target: 'مقصد', - targetFrame: '<فریم>', - targetFrameName: 'نام فریم مقصد', - targetPopup: '<پنجرهٴ پاپاپ>', - targetPopupName: 'نام پنجرهٴ پاپاپ', - title: 'پیوند', - toAnchor: 'لنگر در همین صفحه', - toEmail: 'پست الکترونیکی', - toUrl: 'URL', - toolbar: 'گنجاندن/ویرایش پیوند', - type: 'نوع پیوند', - unlink: 'برداشتن پیوند', - upload: 'انتقال به سرور' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/fi.js b/scripts/ckeditor/plugins/link/lang/fi.js deleted file mode 100755 index f391763f..00000000 --- a/scripts/ckeditor/plugins/link/lang/fi.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'fi', { - acccessKey: 'Pikanäppäin', - advanced: 'Lisäominaisuudet', - advisoryContentType: 'Avustava sisällön tyyppi', - advisoryTitle: 'Avustava otsikko', - anchor: { - toolbar: 'Lisää ankkuri/muokkaa ankkuria', - menu: 'Ankkurin ominaisuudet', - title: 'Ankkurin ominaisuudet', - name: 'Nimi', - errorName: 'Ankkurille on kirjoitettava nimi', - remove: 'Poista ankkuri' - }, - anchorId: 'Ankkurin ID:n mukaan', - anchorName: 'Ankkurin nimen mukaan', - charset: 'Linkitetty kirjaimisto', - cssClasses: 'Tyyliluokat', - emailAddress: 'Sähköpostiosoite', - emailBody: 'Viesti', - emailSubject: 'Aihe', - id: 'Tunniste', - info: 'Linkin tiedot', - langCode: 'Kielen suunta', - langDir: 'Kielen suunta', - langDirLTR: 'Vasemmalta oikealle (LTR)', - langDirRTL: 'Oikealta vasemmalle (RTL)', - menu: 'Muokkaa linkkiä', - name: 'Nimi', - noAnchors: '(Ei ankkureita tässä dokumentissa)', - noEmail: 'Kirjoita sähköpostiosoite', - noUrl: 'Linkille on kirjoitettava URL', - other: '', - popupDependent: 'Riippuva (Netscape)', - popupFeatures: 'Popup ikkunan ominaisuudet', - popupFullScreen: 'Täysi ikkuna (IE)', - popupLeft: 'Vasemmalta (px)', - popupLocationBar: 'Osoiterivi', - popupMenuBar: 'Valikkorivi', - popupResizable: 'Venytettävä', - popupScrollBars: 'Vierityspalkit', - popupStatusBar: 'Tilarivi', - popupToolbar: 'Vakiopainikkeet', - popupTop: 'Ylhäältä (px)', - rel: 'Suhde', - selectAnchor: 'Valitse ankkuri', - styles: 'Tyyli', - tabIndex: 'Tabulaattori indeksi', - target: 'Kohde', - targetFrame: '', - targetFrameName: 'Kohdekehyksen nimi', - targetPopup: '', - targetPopupName: 'Popup ikkunan nimi', - title: 'Linkki', - toAnchor: 'Ankkuri tässä sivussa', - toEmail: 'Sähköposti', - toUrl: 'Osoite', - toolbar: 'Lisää linkki/muokkaa linkkiä', - type: 'Linkkityyppi', - unlink: 'Poista linkki', - upload: 'Lisää tiedosto' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/fo.js b/scripts/ckeditor/plugins/link/lang/fo.js deleted file mode 100755 index 7f7dad15..00000000 --- a/scripts/ckeditor/plugins/link/lang/fo.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'fo', { - acccessKey: 'Snarvegisknöttur', - advanced: 'Fjølbroytt', - advisoryContentType: 'Vegleiðandi innihaldsslag', - advisoryTitle: 'Vegleiðandi heiti', - anchor: { - toolbar: 'Ger/broyt marknastein', - menu: 'Eginleikar fyri marknastein', - title: 'Eginleikar fyri marknastein', - name: 'Heiti marknasteinsins', - errorName: 'Vinarliga rita marknasteinsins heiti', - remove: 'Strika marknastein' - }, - anchorId: 'Eftir element Id', - anchorName: 'Eftir navni á marknasteini', - charset: 'Atknýtt teknsett', - cssClasses: 'Typografi klassar', - emailAddress: 'Teldupost-adressa', - emailBody: 'Breyðtekstur', - emailSubject: 'Evni', - id: 'Id', - info: 'Tilknýtis upplýsingar', - langCode: 'Tekstkós', - langDir: 'Tekstkós', - langDirLTR: 'Frá vinstru til høgru (LTR)', - langDirRTL: 'Frá høgru til vinstru (RTL)', - menu: 'Broyt tilknýti', - name: 'Navn', - noAnchors: '(Eingir marknasteinar eru í hesum dokumentið)', - noEmail: 'Vinarliga skriva teldupost-adressu', - noUrl: 'Vinarliga skriva tilknýti (URL)', - other: '', - popupDependent: 'Bundið (Netscape)', - popupFeatures: 'Popup vindeygans víðkaðu eginleikar', - popupFullScreen: 'Fullur skermur (IE)', - popupLeft: 'Frástøða frá vinstru', - popupLocationBar: 'Adressulinja', - popupMenuBar: 'Skrábjálki', - popupResizable: 'Stødd kann broytast', - popupScrollBars: 'Rullibjálki', - popupStatusBar: 'Støðufrágreiðingarbjálki', - popupToolbar: 'Amboðsbjálki', - popupTop: 'Frástøða frá íerva', - rel: 'Relatión', - selectAnchor: 'Vel ein marknastein', - styles: 'Typografi', - tabIndex: 'Tabulator indeks', - target: 'Target', - targetFrame: '', - targetFrameName: 'Vís navn vindeygans', - targetPopup: '', - targetPopupName: 'Popup vindeygans navn', - title: 'Tilknýti', - toAnchor: 'Tilknýti til marknastein í tekstinum', - toEmail: 'Teldupostur', - toUrl: 'URL', - toolbar: 'Ger/broyt tilknýti', - type: 'Tilknýtisslag', - unlink: 'Strika tilknýti', - upload: 'Send til ambætaran' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/fr-ca.js b/scripts/ckeditor/plugins/link/lang/fr-ca.js deleted file mode 100755 index b760dcf7..00000000 --- a/scripts/ckeditor/plugins/link/lang/fr-ca.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'fr-ca', { - acccessKey: 'Touche d\'accessibilité', - advanced: 'Avancé', - advisoryContentType: 'Type de contenu', - advisoryTitle: 'Description', - anchor: { - toolbar: 'Ancre', - menu: 'Modifier l\'ancre', - title: 'Propriétés de l\'ancre', - name: 'Nom de l\'ancre', - errorName: 'Veuillez saisir le nom de l\'ancre', - remove: 'Supprimer l\'ancre' - }, - anchorId: 'Par ID', - anchorName: 'Par nom', - charset: 'Encodage de la cible', - cssClasses: 'Classes CSS', - emailAddress: 'Courriel', - emailBody: 'Corps du message', - emailSubject: 'Objet du message', - id: 'ID', - info: 'Informations sur le lien', - langCode: 'Code de langue', - langDir: 'Sens d\'écriture', - langDirLTR: 'De gauche à droite (LTR)', - langDirRTL: 'De droite à gauche (RTL)', - menu: 'Modifier le lien', - name: 'Nom', - noAnchors: '(Pas d\'ancre disponible dans le document)', - noEmail: 'Veuillez saisir le courriel', - noUrl: 'Veuillez saisir l\'URL', - other: '', - popupDependent: 'Dépendante (Netscape)', - popupFeatures: 'Caractéristiques de la fenêtre popup', - popupFullScreen: 'Plein écran (IE)', - popupLeft: 'Position de la gauche', - popupLocationBar: 'Barre d\'adresse', - popupMenuBar: 'Barre de menu', - popupResizable: 'Redimensionnable', - popupScrollBars: 'Barres de défilement', - popupStatusBar: 'Barre d\'état', - popupToolbar: 'Barre d\'outils', - popupTop: 'Position à partir du haut', - rel: 'Relation', - selectAnchor: 'Sélectionner une ancre', - styles: 'Style', - tabIndex: 'Ordre de tabulation', - target: 'Destination', - targetFrame: '', - targetFrameName: 'Nom du cadre de destination', - targetPopup: '', - targetPopupName: 'Nom de la fenêtre popup', - title: 'Lien', - toAnchor: 'Ancre dans cette page', - toEmail: 'Courriel', - toUrl: 'URL', - toolbar: 'Lien', - type: 'Type de lien', - unlink: 'Supprimer le lien', - upload: 'Téléverser' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/fr.js b/scripts/ckeditor/plugins/link/lang/fr.js deleted file mode 100755 index 9366f038..00000000 --- a/scripts/ckeditor/plugins/link/lang/fr.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'fr', { - acccessKey: 'Touche d\'accessibilité', - advanced: 'Avancé', - advisoryContentType: 'Type de contenu (ex: text/html)', - advisoryTitle: 'Description (title)', - anchor: { - toolbar: 'Ancre', - menu: 'Editer l\'ancre', - title: 'Propriétés de l\'ancre', - name: 'Nom de l\'ancre', - errorName: 'Veuillez entrer le nom de l\'ancre.', - remove: 'Supprimer l\'ancre' - }, - anchorId: 'Par ID d\'élément', - anchorName: 'Par nom d\'ancre', - charset: 'Charset de la cible', - cssClasses: 'Classe CSS', - emailAddress: 'Adresse E-Mail', - emailBody: 'Corps du message', - emailSubject: 'Sujet du message', - id: 'Id', - info: 'Infos sur le lien', - langCode: 'Code de langue', - langDir: 'Sens d\'écriture', - langDirLTR: 'Gauche à droite', - langDirRTL: 'Droite à gauche', - menu: 'Editer le lien', - name: 'Nom', - noAnchors: '(Aucune ancre disponible dans ce document)', - noEmail: 'Veuillez entrer l\'adresse e-mail', - noUrl: 'Veuillez entrer l\'adresse du lien', - other: '', - popupDependent: 'Dépendante (Netscape)', - popupFeatures: 'Options de la fenêtre popup', - popupFullScreen: 'Plein écran (IE)', - popupLeft: 'Position gauche', - popupLocationBar: 'Barre d\'adresse', - popupMenuBar: 'Barre de menu', - popupResizable: 'Redimensionnable', - popupScrollBars: 'Barres de défilement', - popupStatusBar: 'Barre de status', - popupToolbar: 'Barre d\'outils', - popupTop: 'Position haute', - rel: 'Relation', - selectAnchor: 'Sélectionner l\'ancre', - styles: 'Style', - tabIndex: 'Index de tabulation', - target: 'Cible', - targetFrame: '', - targetFrameName: 'Nom du Cadre destination', - targetPopup: '', - targetPopupName: 'Nom de la fenêtre popup', - title: 'Lien', - toAnchor: 'Transformer le lien en ancre dans le texte', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Lien', - type: 'Type de lien', - unlink: 'Supprimer le lien', - upload: 'Envoyer' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/gl.js b/scripts/ckeditor/plugins/link/lang/gl.js deleted file mode 100755 index 6dc31d93..00000000 --- a/scripts/ckeditor/plugins/link/lang/gl.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'gl', { - acccessKey: 'Chave de acceso', - advanced: 'Avanzado', - advisoryContentType: 'Tipo de contido informativo', - advisoryTitle: 'Título', - anchor: { - toolbar: 'Ancoraxe', - menu: 'Editar a ancoraxe', - title: 'Propiedades da ancoraxe', - name: 'Nome da ancoraxe', - errorName: 'Escriba o nome da ancoraxe', - remove: 'Retirar a ancoraxe' - }, - anchorId: 'Polo ID do elemento', - anchorName: 'Polo nome da ancoraxe', - charset: 'Codificación do recurso ligado', - cssClasses: 'Clases da folla de estilos', - emailAddress: 'Enderezo de correo', - emailBody: 'Corpo da mensaxe', - emailSubject: 'Asunto da mensaxe', - id: 'ID', - info: 'Información da ligazón', - langCode: 'Código do idioma', - langDir: 'Dirección de escritura do idioma', - langDirLTR: 'Esquerda a dereita (LTR)', - langDirRTL: 'Dereita a esquerda (RTL)', - menu: 'Editar a ligazón', - name: 'Nome', - noAnchors: '(Non hai ancoraxes dispoñíbeis no documento)', - noEmail: 'Escriba o enderezo de correo', - noUrl: 'Escriba a ligazón URL', - other: '', - popupDependent: 'Dependente (Netscape)', - popupFeatures: 'Características da xanela emerxente', - popupFullScreen: 'Pantalla completa (IE)', - popupLeft: 'Posición esquerda', - popupLocationBar: 'Barra de localización', - popupMenuBar: 'Barra do menú', - popupResizable: 'Redimensionábel', - popupScrollBars: 'Barras de desprazamento', - popupStatusBar: 'Barra de estado', - popupToolbar: 'Barra de ferramentas', - popupTop: 'Posición superior', - rel: 'Relación', - selectAnchor: 'Seleccionar unha ancoraxe', - styles: 'Estilo', - tabIndex: 'Índice de tabulación', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nome do marco de destino', - targetPopup: '', - targetPopupName: 'Nome da xanela emerxente', - title: 'Ligazón', - toAnchor: 'Ligar coa ancoraxe no testo', - toEmail: 'Correo', - toUrl: 'URL', - toolbar: 'Ligazón', - type: 'Tipo de ligazón', - unlink: 'Eliminar a ligazón', - upload: 'Enviar' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/gu.js b/scripts/ckeditor/plugins/link/lang/gu.js deleted file mode 100755 index f3b03b70..00000000 --- a/scripts/ckeditor/plugins/link/lang/gu.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'gu', { - acccessKey: 'ઍક્સેસ કી', - advanced: 'અડ્વાન્સડ', - advisoryContentType: 'મુખ્ય કન્ટેન્ટ પ્રકાર', - advisoryTitle: 'મુખ્ય મથાળું', - anchor: { - toolbar: 'ઍંકર ઇન્સર્ટ/દાખલ કરવી', - menu: 'ઍંકરના ગુણ', - title: 'ઍંકરના ગુણ', - name: 'ઍંકરનું નામ', - errorName: 'ઍંકરનું નામ ટાઈપ કરો', - remove: 'સ્થિર નકરવું' - }, - anchorId: 'ઍંકર એલિમન્ટ Id થી પસંદ કરો', - anchorName: 'ઍંકર નામથી પસંદ કરો', - charset: 'લિંક રિસૉર્સ કૅરિક્ટર સેટ', - cssClasses: 'સ્ટાઇલ-શીટ ક્લાસ', - emailAddress: 'ઈ-મેલ સરનામું', - emailBody: 'સંદેશ', - emailSubject: 'ઈ-મેલ વિષય', - id: 'Id', - info: 'લિંક ઇન્ફૉ ટૅબ', - langCode: 'ભાષા લેખવાની પદ્ધતિ', - langDir: 'ભાષા લેખવાની પદ્ધતિ', - langDirLTR: 'ડાબે થી જમણે (LTR)', - langDirRTL: 'જમણે થી ડાબે (RTL)', - menu: ' લિંક એડિટ/માં ફેરફાર કરવો', - name: 'નામ', - noAnchors: '(ડૉક્યુમન્ટમાં ઍંકરની સંખ્યા)', - noEmail: 'ઈ-મેલ સરનામું ટાઇપ કરો', - noUrl: 'લિંક URL ટાઇપ કરો', - other: ' <અન્ય>', - popupDependent: 'ડિપેન્ડન્ટ (Netscape)', - popupFeatures: 'પૉપ-અપ વિન્ડો ફીચરસૅ', - popupFullScreen: 'ફુલ સ્ક્રીન (IE)', - popupLeft: 'ડાબી બાજુ', - popupLocationBar: 'લોકેશન બાર', - popupMenuBar: 'મેન્યૂ બાર', - popupResizable: 'રીસાઈઝએબલ', - popupScrollBars: 'સ્ક્રોલ બાર', - popupStatusBar: 'સ્ટૅટસ બાર', - popupToolbar: 'ટૂલ બાર', - popupTop: 'જમણી બાજુ', - rel: 'સંબંધની સ્થિતિ', - selectAnchor: 'ઍંકર પસંદ કરો', - styles: 'સ્ટાઇલ', - tabIndex: 'ટૅબ ઇન્ડેક્સ', - target: 'ટાર્ગેટ/લક્ષ્ય', - targetFrame: '<ફ્રેમ>', - targetFrameName: 'ટાર્ગેટ ફ્રેમ નું નામ', - targetPopup: '<પૉપ-અપ વિન્ડો>', - targetPopupName: 'પૉપ-અપ વિન્ડો નું નામ', - title: 'લિંક', - toAnchor: 'આ પેજનો ઍંકર', - toEmail: 'ઈ-મેલ', - toUrl: 'URL', - toolbar: 'લિંક ઇન્સર્ટ/દાખલ કરવી', - type: 'લિંક પ્રકાર', - unlink: 'લિંક કાઢવી', - upload: 'અપલોડ' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/he.js b/scripts/ckeditor/plugins/link/lang/he.js deleted file mode 100755 index b8af6984..00000000 --- a/scripts/ckeditor/plugins/link/lang/he.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'he', { - acccessKey: 'מקש גישה', - advanced: 'אפשרויות מתקדמות', - advisoryContentType: 'Content Type מוצע', - advisoryTitle: 'כותרת מוצעת', - anchor: { - toolbar: 'הוספת/עריכת נקודת עיגון', - menu: 'מאפייני נקודת עיגון', - title: 'מאפייני נקודת עיגון', - name: 'שם לנקודת עיגון', - errorName: 'יש להקליד שם לנקודת עיגון', - remove: 'מחיקת נקודת עיגון' - }, - anchorId: 'עפ"י זיהוי (ID) האלמנט', - anchorName: 'עפ"י שם העוגן', - charset: 'קידוד המשאב המקושר', - cssClasses: 'גיליונות עיצוב קבוצות', - emailAddress: 'כתובת הדוא"ל', - emailBody: 'גוף ההודעה', - emailSubject: 'נושא ההודעה', - id: 'זיהוי (ID)', - info: 'מידע על הקישור', - langCode: 'קוד שפה', - langDir: 'כיוון שפה', - langDirLTR: 'שמאל לימין (LTR)', - langDirRTL: 'ימין לשמאל (RTL)', - menu: 'מאפייני קישור', - name: 'שם', - noAnchors: '(אין עוגנים זמינים בדף)', - noEmail: 'יש להקליד את כתובת הדוא"ל', - noUrl: 'יש להקליד את כתובת הקישור (URL)', - other: '<אחר>', - popupDependent: 'תלוי (Netscape)', - popupFeatures: 'תכונות החלון הקופץ', - popupFullScreen: 'מסך מלא (IE)', - popupLeft: 'מיקום צד שמאל', - popupLocationBar: 'סרגל כתובת', - popupMenuBar: 'סרגל תפריט', - popupResizable: 'שינוי גודל', - popupScrollBars: 'ניתן לגלילה', - popupStatusBar: 'סרגל חיווי', - popupToolbar: 'סרגל הכלים', - popupTop: 'מיקום צד עליון', - rel: 'קשר גומלין', - selectAnchor: 'בחירת עוגן', - styles: 'סגנון', - tabIndex: 'מספר טאב', - target: 'מטרה', - targetFrame: '<מסגרת>', - targetFrameName: 'שם מסגרת היעד', - targetPopup: '<חלון קופץ>', - targetPopupName: 'שם החלון הקופץ', - title: 'קישור', - toAnchor: 'עוגן בעמוד זה', - toEmail: 'דוא"ל', - toUrl: 'כתובת (URL)', - toolbar: 'הוספת/עריכת קישור', - type: 'סוג קישור', - unlink: 'הסרת הקישור', - upload: 'העלאה' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/hi.js b/scripts/ckeditor/plugins/link/lang/hi.js deleted file mode 100755 index 6486a75c..00000000 --- a/scripts/ckeditor/plugins/link/lang/hi.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'hi', { - acccessKey: 'ऍक्सॅस की', - advanced: 'ऍड्वान्स्ड', - advisoryContentType: 'परामर्श कन्टॅन्ट प्रकार', - advisoryTitle: 'परामर्श शीर्शक', - anchor: { - toolbar: 'ऐंकर इन्सर्ट/संपादन', - menu: 'ऐंकर प्रॉपर्टीज़', - title: 'ऐंकर प्रॉपर्टीज़', - name: 'ऐंकर का नाम', - errorName: 'ऐंकर का नाम टाइप करें', - remove: 'Remove Anchor' - }, - anchorId: 'ऍलीमॅन्ट Id से', - anchorName: 'ऐंकर नाम से', - charset: 'लिंक रिसोर्स करॅक्टर सॅट', - cssClasses: 'स्टाइल-शीट क्लास', - emailAddress: 'ई-मेल पता', - emailBody: 'संदेश', - emailSubject: 'संदेश विषय', - id: 'Id', - info: 'लिंक ', - langCode: 'भाषा लिखने की दिशा', - langDir: 'भाषा लिखने की दिशा', - langDirLTR: 'बायें से दायें (LTR)', - langDirRTL: 'दायें से बायें (RTL)', - menu: 'लिंक संपादन', - name: 'नाम', - noAnchors: '(डॉक्यूमॅन्ट में ऐंकर्स की संख्या)', - noEmail: 'ई-मेल पता टाइप करें', - noUrl: 'लिंक URL टाइप करें', - other: '<अन्य>', - popupDependent: 'डिपेन्डॅन्ट (Netscape)', - popupFeatures: 'पॉप-अप विन्डो फ़ीचर्स', - popupFullScreen: 'फ़ुल स्क्रीन (IE)', - popupLeft: 'बायीं तरफ', - popupLocationBar: 'लोकेशन बार', - popupMenuBar: 'मॅन्यू बार', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'स्क्रॉल बार', - popupStatusBar: 'स्टेटस बार', - popupToolbar: 'टूल बार', - popupTop: 'दायीं तरफ', - rel: 'Relationship', // MISSING - selectAnchor: 'ऐंकर चुनें', - styles: 'स्टाइल', - tabIndex: 'टैब इन्डॅक्स', - target: 'टार्गेट', - targetFrame: '<फ़्रेम>', - targetFrameName: 'टार्गेट फ़्रेम का नाम', - targetPopup: '<पॉप-अप विन्डो>', - targetPopupName: 'पॉप-अप विन्डो का नाम', - title: 'लिंक', - toAnchor: 'इस पेज का ऐंकर', - toEmail: 'ई-मेल', - toUrl: 'URL', - toolbar: 'लिंक इन्सर्ट/संपादन', - type: 'लिंक प्रकार', - unlink: 'लिंक हटायें', - upload: 'अपलोड' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/hr.js b/scripts/ckeditor/plugins/link/lang/hr.js deleted file mode 100755 index e3644049..00000000 --- a/scripts/ckeditor/plugins/link/lang/hr.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'hr', { - acccessKey: 'Pristupna tipka', - advanced: 'Napredno', - advisoryContentType: 'Advisory vrsta sadržaja', - advisoryTitle: 'Advisory naslov', - anchor: { - toolbar: 'Ubaci/promijeni sidro', - menu: 'Svojstva sidra', - title: 'Svojstva sidra', - name: 'Ime sidra', - errorName: 'Molimo unesite ime sidra', - remove: 'Ukloni sidro' - }, - anchorId: 'Po Id elementa', - anchorName: 'Po nazivu sidra', - charset: 'Kodna stranica povezanih resursa', - cssClasses: 'Stylesheet klase', - emailAddress: 'E-Mail adresa', - emailBody: 'Sadržaj poruke', - emailSubject: 'Naslov', - id: 'Id', - info: 'Link Info', - langCode: 'Smjer jezika', - langDir: 'Smjer jezika', - langDirLTR: 'S lijeva na desno (LTR)', - langDirRTL: 'S desna na lijevo (RTL)', - menu: 'Promijeni link', - name: 'Naziv', - noAnchors: '(Nema dostupnih sidra)', - noEmail: 'Molimo upišite e-mail adresu', - noUrl: 'Molimo upišite URL link', - other: '', - popupDependent: 'Ovisno (Netscape)', - popupFeatures: 'Mogućnosti popup prozora', - popupFullScreen: 'Cijeli ekran (IE)', - popupLeft: 'Lijeva pozicija', - popupLocationBar: 'Traka za lokaciju', - popupMenuBar: 'Izborna traka', - popupResizable: 'Promjenjiva veličina', - popupScrollBars: 'Scroll traka', - popupStatusBar: 'Statusna traka', - popupToolbar: 'Traka s alatima', - popupTop: 'Gornja pozicija', - rel: 'Veza', - selectAnchor: 'Odaberi sidro', - styles: 'Stil', - tabIndex: 'Tab Indeks', - target: 'Meta', - targetFrame: '', - targetFrameName: 'Ime ciljnog okvira', - targetPopup: '', - targetPopupName: 'Naziv popup prozora', - title: 'Link', - toAnchor: 'Sidro na ovoj stranici', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Ubaci/promijeni link', - type: 'Link vrsta', - unlink: 'Ukloni link', - upload: 'Pošalji' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/hu.js b/scripts/ckeditor/plugins/link/lang/hu.js deleted file mode 100755 index 4843acda..00000000 --- a/scripts/ckeditor/plugins/link/lang/hu.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'hu', { - acccessKey: 'Billentyűkombináció', - advanced: 'További opciók', - advisoryContentType: 'Súgó tartalomtípusa', - advisoryTitle: 'Súgócimke', - anchor: { - toolbar: 'Horgony beillesztése/szerkesztése', - menu: 'Horgony tulajdonságai', - title: 'Horgony tulajdonságai', - name: 'Horgony neve', - errorName: 'Kérem adja meg a horgony nevét', - remove: 'Horgony eltávolítása' - }, - anchorId: 'Azonosító szerint', - anchorName: 'Horgony név szerint', - charset: 'Hivatkozott tartalom kódlapja', - cssClasses: 'Stíluskészlet', - emailAddress: 'E-Mail cím', - emailBody: 'Üzenet', - emailSubject: 'Üzenet tárgya', - id: 'Id', - info: 'Alaptulajdonságok', - langCode: 'Írás iránya', - langDir: 'Írás iránya', - langDirLTR: 'Balról jobbra', - langDirRTL: 'Jobbról balra', - menu: 'Hivatkozás módosítása', - name: 'Név', - noAnchors: '(Nincs horgony a dokumentumban)', - noEmail: 'Adja meg az E-Mail címet', - noUrl: 'Adja meg a hivatkozás webcímét', - other: '', - popupDependent: 'Szülőhöz kapcsolt (csak Netscape)', - popupFeatures: 'Felugró ablak jellemzői', - popupFullScreen: 'Teljes képernyő (csak IE)', - popupLeft: 'Bal pozíció', - popupLocationBar: 'Címsor', - popupMenuBar: 'Menü sor', - popupResizable: 'Átméretezés', - popupScrollBars: 'Gördítősáv', - popupStatusBar: 'Állapotsor', - popupToolbar: 'Eszköztár', - popupTop: 'Felső pozíció', - rel: 'Kapcsolat típusa', - selectAnchor: 'Horgony választása', - styles: 'Stílus', - tabIndex: 'Tabulátor index', - target: 'Tartalom megjelenítése', - targetFrame: '', - targetFrameName: 'Keret neve', - targetPopup: '', - targetPopupName: 'Felugró ablak neve', - title: 'Hivatkozás tulajdonságai', - toAnchor: 'Horgony az oldalon', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Hivatkozás beillesztése/módosítása', - type: 'Hivatkozás típusa', - unlink: 'Hivatkozás törlése', - upload: 'Feltöltés' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/id.js b/scripts/ckeditor/plugins/link/lang/id.js deleted file mode 100755 index 2e8c5e93..00000000 --- a/scripts/ckeditor/plugins/link/lang/id.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'id', { - acccessKey: 'Access Key', // MISSING - advanced: 'Advanced', // MISSING - advisoryContentType: 'Advisory Content Type', // MISSING - advisoryTitle: 'Penasehat Judul', - anchor: { - toolbar: 'Anchor', // MISSING - menu: 'Edit Anchor', // MISSING - title: 'Anchor Properties', // MISSING - name: 'Anchor Name', // MISSING - errorName: 'Please type the anchor name', // MISSING - remove: 'Remove Anchor' // MISSING - }, - anchorId: 'By Element Id', // MISSING - anchorName: 'By Anchor Name', // MISSING - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'Kelas Stylesheet', - emailAddress: 'E-Mail Address', // MISSING - emailBody: 'Message Body', // MISSING - emailSubject: 'Message Subject', // MISSING - id: 'Id', - info: 'Link Info', // MISSING - langCode: 'Kode Bahasa', - langDir: 'Arah Bahasa', - langDirLTR: 'Kiri ke Kanan (LTR)', - langDirRTL: 'Kanan ke Kiri (RTL)', - menu: 'Edit Link', // MISSING - name: 'Nama', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'Please type the e-mail address', // MISSING - noUrl: 'Please type the link URL', // MISSING - other: '', // MISSING - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', // MISSING - styles: 'Gaya', - tabIndex: 'Tab Index', // MISSING - target: 'Sasaran', - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'Tautan', - toAnchor: 'Link to anchor in the text', // MISSING - toEmail: 'E-mail', // MISSING - toUrl: 'URL', - toolbar: 'Tautan', - type: 'Link Type', // MISSING - unlink: 'Unlink', // MISSING - upload: 'Unggah' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/is.js b/scripts/ckeditor/plugins/link/lang/is.js deleted file mode 100755 index 7a614eb3..00000000 --- a/scripts/ckeditor/plugins/link/lang/is.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'is', { - acccessKey: 'Skammvalshnappur', - advanced: 'Tæknilegt', - advisoryContentType: 'Tegund innihalds', - advisoryTitle: 'Titill', - anchor: { - toolbar: 'Stofna/breyta kaflamerki', - menu: 'Eigindi kaflamerkis', - title: 'Eigindi kaflamerkis', - name: 'Nafn bókamerkis', - errorName: 'Sláðu inn nafn bókamerkis!', - remove: 'Remove Anchor' - }, - anchorId: 'Eftir auðkenni einingar', - anchorName: 'Eftir akkerisnafni', - charset: 'Táknróf', - cssClasses: 'Stílsniðsflokkur', - emailAddress: 'Netfang', - emailBody: 'Meginmál', - emailSubject: 'Efni', - id: 'Auðkenni', - info: 'Almennt', - langCode: 'Lesstefna', - langDir: 'Lesstefna', - langDirLTR: 'Frá vinstri til hægri (LTR)', - langDirRTL: 'Frá hægri til vinstri (RTL)', - menu: 'Breyta stiklu', - name: 'Nafn', - noAnchors: '', - noEmail: 'Sláðu inn netfang!', - noUrl: 'Sláðu inn veffang stiklunnar!', - other: '', - popupDependent: 'Háð venslum (Netscape)', - popupFeatures: 'Eigindi sprettiglugga', - popupFullScreen: 'Heilskjár (IE)', - popupLeft: 'Fjarlægð frá vinstri', - popupLocationBar: 'Fanglína', - popupMenuBar: 'Vallína', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Skrunstikur', - popupStatusBar: 'Stöðustika', - popupToolbar: 'Verkfærastika', - popupTop: 'Fjarlægð frá efri brún', - rel: 'Relationship', // MISSING - selectAnchor: 'Veldu akkeri', - styles: 'Stíll', - tabIndex: 'Raðnúmer innsláttarreits', - target: 'Mark', - targetFrame: '', - targetFrameName: 'Nafn markglugga', - targetPopup: '', - targetPopupName: 'Nafn sprettiglugga', - title: 'Stikla', - toAnchor: 'Bókamerki á þessari síðu', - toEmail: 'Netfang', - toUrl: 'Vefslóð', - toolbar: 'Stofna/breyta stiklu', - type: 'Stikluflokkur', - unlink: 'Fjarlægja stiklu', - upload: 'Senda upp' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/it.js b/scripts/ckeditor/plugins/link/lang/it.js deleted file mode 100755 index a84b033e..00000000 --- a/scripts/ckeditor/plugins/link/lang/it.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'it', { - acccessKey: 'Scorciatoia da tastiera', - advanced: 'Avanzate', - advisoryContentType: 'Tipo della risorsa collegata', - advisoryTitle: 'Titolo', - anchor: { - toolbar: 'Inserisci/Modifica Ancora', - menu: 'Proprietà ancora', - title: 'Proprietà ancora', - name: 'Nome ancora', - errorName: 'Inserici il nome dell\'ancora', - remove: 'Rimuovi l\'ancora' - }, - anchorId: 'Per id elemento', - anchorName: 'Per Nome', - charset: 'Set di caretteri della risorsa collegata', - cssClasses: 'Nome classe CSS', - emailAddress: 'Indirizzo E-Mail', - emailBody: 'Corpo del messaggio', - emailSubject: 'Oggetto del messaggio', - id: 'Id', - info: 'Informazioni collegamento', - langCode: 'Direzione scrittura', - langDir: 'Direzione scrittura', - langDirLTR: 'Da Sinistra a Destra (LTR)', - langDirRTL: 'Da Destra a Sinistra (RTL)', - menu: 'Modifica collegamento', - name: 'Nome', - noAnchors: '(Nessuna ancora disponibile nel documento)', - noEmail: 'Devi inserire un\'indirizzo e-mail', - noUrl: 'Devi inserire l\'URL del collegamento', - other: '', - popupDependent: 'Dipendente (Netscape)', - popupFeatures: 'Caratteristiche finestra popup', - popupFullScreen: 'A tutto schermo (IE)', - popupLeft: 'Posizione da sinistra', - popupLocationBar: 'Barra degli indirizzi', - popupMenuBar: 'Barra del menu', - popupResizable: 'Ridimensionabile', - popupScrollBars: 'Barre di scorrimento', - popupStatusBar: 'Barra di stato', - popupToolbar: 'Barra degli strumenti', - popupTop: 'Posizione dall\'alto', - rel: 'Relazioni', - selectAnchor: 'Scegli Ancora', - styles: 'Stile', - tabIndex: 'Ordine di tabulazione', - target: 'Destinazione', - targetFrame: '', - targetFrameName: 'Nome del riquadro di destinazione', - targetPopup: '', - targetPopupName: 'Nome finestra popup', - title: 'Collegamento', - toAnchor: 'Ancora nel testo', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Collegamento', - type: 'Tipo di Collegamento', - unlink: 'Elimina collegamento', - upload: 'Carica' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ja.js b/scripts/ckeditor/plugins/link/lang/ja.js deleted file mode 100755 index f5ae3abd..00000000 --- a/scripts/ckeditor/plugins/link/lang/ja.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ja', { - acccessKey: 'アクセスキー', - advanced: '高度な設定', - advisoryContentType: 'Content Type属性', - advisoryTitle: 'Title属性', - anchor: { - toolbar: 'アンカー挿入/編集', - menu: 'アンカーの編集', - title: 'アンカーのプロパティ', - name: 'アンカー名', - errorName: 'アンカー名を入力してください。', - remove: 'アンカーを削除' - }, - anchorId: 'エレメントID', - anchorName: 'アンカー名', - charset: 'リンク先のcharset', - cssClasses: 'スタイルシートクラス', - emailAddress: 'E-Mail アドレス', - emailBody: '本文', - emailSubject: '件名', - id: 'Id', - info: 'ハイパーリンク情報', - langCode: '言語コード', - langDir: '文字表記の方向', - langDirLTR: '左から右 (LTR)', - langDirRTL: '右から左 (RTL)', - menu: 'リンクを編集', - name: 'Name属性', - noAnchors: '(このドキュメント内にアンカーはありません)', - noEmail: 'メールアドレスを入力してください。', - noUrl: 'リンクURLを入力してください。', - other: '<その他の>', - popupDependent: '開いたウィンドウに連動して閉じる (Netscape)', - popupFeatures: 'ポップアップウィンドウ特徴', - popupFullScreen: '全画面モード(IE)', - popupLeft: '左端からの座標で指定', - popupLocationBar: 'ロケーションバー', - popupMenuBar: 'メニューバー', - popupResizable: 'サイズ可変', - popupScrollBars: 'スクロールバー', - popupStatusBar: 'ステータスバー', - popupToolbar: 'ツールバー', - popupTop: '上端からの座標で指定', - rel: '関連リンク', - selectAnchor: 'アンカーを選択', - styles: 'スタイルシート', - tabIndex: 'タブインデックス', - target: 'ターゲット', - targetFrame: '<フレーム>', - targetFrameName: 'ターゲットのフレーム名', - targetPopup: '<ポップアップウィンドウ>', - targetPopupName: 'ポップアップウィンドウ名', - title: 'ハイパーリンク', - toAnchor: 'ページ内のアンカー', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'リンク挿入/編集', - type: 'リンクタイプ', - unlink: 'リンクを削除', - upload: 'アップロード' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ka.js b/scripts/ckeditor/plugins/link/lang/ka.js deleted file mode 100755 index d2735295..00000000 --- a/scripts/ckeditor/plugins/link/lang/ka.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ka', { - acccessKey: 'წვდომის ღილაკი', - advanced: 'დაწვრილებით', - advisoryContentType: 'შიგთავსის ტიპი', - advisoryTitle: 'სათაური', - anchor: { - toolbar: 'ღუზა', - menu: 'ღუზის რედაქტირება', - title: 'ღუზის პარამეტრები', - name: 'ღუზუს სახელი', - errorName: 'აკრიფეთ ღუზის სახელი', - remove: 'Remove Anchor' - }, - anchorId: 'ელემენტის Id-თ', - anchorName: 'ღუზის სახელით', - charset: 'კოდირება', - cssClasses: 'CSS კლასი', - emailAddress: 'ელფოსტის მისამართები', - emailBody: 'წერილის ტექსტი', - emailSubject: 'წერილის სათაური', - id: 'Id', - info: 'ბმულის ინფორმაცია', - langCode: 'ენის კოდი', - langDir: 'ენის მიმართულება', - langDirLTR: 'მარცხნიდან მარჯვნივ (LTR)', - langDirRTL: 'მარჯვნიდან მარცხნივ (RTL)', - menu: 'ბმულის რედაქტირება', - name: 'სახელი', - noAnchors: '(ამ დოკუმენტში ღუზა არაა)', - noEmail: 'აკრიფეთ ელფოსტის მისამართი', - noUrl: 'აკრიფეთ ბმულის URL', - other: '<სხვა>', - popupDependent: 'დამოკიდებული (Netscape)', - popupFeatures: 'Popup ფანჯრის პარამეტრები', - popupFullScreen: 'მთელი ეკრანი (IE)', - popupLeft: 'მარცხენა პოზიცია', - popupLocationBar: 'ნავიგაციის ზოლი', - popupMenuBar: 'მენიუს ზოლი', - popupResizable: 'ცვალებადი ზომით', - popupScrollBars: 'გადახვევის ზოლები', - popupStatusBar: 'სტატუსის ზოლი', - popupToolbar: 'ხელსაწყოთა ზოლი', - popupTop: 'ზედა პოზიცია', - rel: 'კავშირი', - selectAnchor: 'აირჩიეთ ღუზა', - styles: 'CSS სტილი', - tabIndex: 'Tab-ის ინდექსი', - target: 'გახსნის ადგილი', - targetFrame: '', - targetFrameName: 'Frame-ის სახელი', - targetPopup: '', - targetPopupName: 'Popup ფანჯრის სახელი', - title: 'ბმული', - toAnchor: 'ბმული ტექსტში ღუზაზე', - toEmail: 'ელფოსტა', - toUrl: 'URL', - toolbar: 'ბმული', - type: 'ბმულის ტიპი', - unlink: 'ბმულის მოხსნა', - upload: 'აქაჩვა' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/km.js b/scripts/ckeditor/plugins/link/lang/km.js deleted file mode 100755 index 9b8c2f56..00000000 --- a/scripts/ckeditor/plugins/link/lang/km.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'km', { - acccessKey: 'សោរ​ចូល', - advanced: 'កម្រិត​ខ្ពស់', - advisoryContentType: 'ប្រភេទអត្ថបទ​ប្រឹក្សា', - advisoryTitle: 'ចំណងជើង​ប្រឹក្សា', - anchor: { - toolbar: 'យុថ្កា', - menu: 'កែ​យុថ្កា', - title: 'លក្ខណៈ​យុថ្កា', - name: 'ឈ្មោះ​យុថ្កា', - errorName: 'សូម​បញ្ចូល​ឈ្មោះ​យុថ្កា', - remove: 'ដក​យុថ្កា​ចេញ' - }, - anchorId: 'តាម ID ធាតុ', - anchorName: 'តាម​ឈ្មោះ​យុថ្កា', - charset: 'លេខកូតអក្សររបស់ឈ្នាប់', - cssClasses: 'Stylesheet Classes', - emailAddress: 'អាសយដ្ឋាន​អ៊ីមែល', - emailBody: 'តួ​អត្ថបទ', - emailSubject: 'ប្រធានបទ​សារ', - id: 'Id', - info: 'ព័ត៌មាន​ពី​តំណ', - langCode: 'កូដ​ភាសា', - langDir: 'ទិសដៅភាសា', - langDirLTR: 'ពីឆ្វេងទៅស្តាំ(LTR)', - langDirRTL: 'ពីស្តាំទៅឆ្វេង(RTL)', - menu: 'កែ​តំណ', - name: 'ឈ្មោះ', - noAnchors: '(មិន​មាន​យុថ្កា​នៅ​ក្នុង​ឯកសារ​អត្ថថបទ​ទេ)', - noEmail: 'សូម​បញ្ចូល​អាសយដ្ឋាន​អ៊ីមែល', - noUrl: 'សូម​បញ្ចូល​តំណ URL', - other: '<ផ្សេង​ទៀត>', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'មុខ​ងារ​ផុស​ផ្ទាំង​វីនដូ​ឡើង', - popupFullScreen: 'ពេញ​អេក្រង់ (IE)', - popupLeft: 'ទីតាំងខាងឆ្វេង', - popupLocationBar: 'របារ​ទីតាំង', - popupMenuBar: 'របារ​ម៉ឺនុយ', - popupResizable: 'អាច​ប្ដូរ​ទំហំ', - popupScrollBars: 'របារ​រំកិល', - popupStatusBar: 'របារ​ស្ថានភាព', - popupToolbar: 'របារ​ឧបករណ៍', - popupTop: 'ទីតាំង​កំពូល', - rel: 'សម្ពន្ធ​ភាព', - selectAnchor: 'រើស​យក​យុថ្កា​មួយ', - styles: 'ស្ទីល', - tabIndex: 'លេខ Tab', - target: 'គោលដៅ', - targetFrame: '<ស៊ុម>', - targetFrameName: 'ឈ្មោះ​ស៊ុម​ជា​គោល​ដៅ', - targetPopup: '<វីនដូ​ផុស​ឡើង>', - targetPopupName: 'ឈ្មោះ​វីនដូត​ផុស​ឡើង', - title: 'តំណ', - toAnchor: 'ត​ភ្ជាប់​ទៅ​យុថ្កា​ក្នុង​អត្ថបទ', - toEmail: 'អ៊ីមែល', - toUrl: 'URL', - toolbar: 'តំណ', - type: 'ប្រភេទ​តំណ', - unlink: 'ផ្ដាច់​តំណ', - upload: 'ផ្ទុក​ឡើង' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ko.js b/scripts/ckeditor/plugins/link/lang/ko.js deleted file mode 100755 index 1ad19b42..00000000 --- a/scripts/ckeditor/plugins/link/lang/ko.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ko', { - acccessKey: '엑세스 키', - advanced: '자세히', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: '책갈피 삽입/변경', - menu: '책갈피 속성', - title: '책갈피 속성', - name: '책갈피 이름', - errorName: '책갈피 이름을 입력하십시요.', - remove: 'Remove Anchor' - }, - anchorId: '책갈피 ID', - anchorName: '책갈피 이름', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - emailAddress: '이메일 주소', - emailBody: '내용', - emailSubject: '제목', - id: 'ID', - info: '링크 정보', - langCode: '쓰기 방향', - langDir: '쓰기 방향', - langDirLTR: '왼쪽에서 오른쪽 (LTR)', - langDirRTL: '오른쪽에서 왼쪽 (RTL)', - menu: '링크 수정', - name: 'Name', - noAnchors: '(문서에 책갈피가 없습니다.)', - noEmail: '이메일주소를 입력하십시요.', - noUrl: '링크 URL을 입력하십시요.', - other: '<기타>', - popupDependent: 'Dependent (Netscape)', - popupFeatures: '팝업창 설정', - popupFullScreen: '전체화면 (IE)', - popupLeft: '왼쪽 위치', - popupLocationBar: '주소표시줄', - popupMenuBar: '메뉴바', - popupResizable: '크기 조절 가능', - popupScrollBars: '스크롤바', - popupStatusBar: '상태바', - popupToolbar: '툴바', - popupTop: '윗쪽 위치', - rel: '관계', - selectAnchor: '책갈피 선택', - styles: 'Style', - tabIndex: '탭 순서', - target: '타겟', - targetFrame: '<프레임>', - targetFrameName: '타겟 프레임 이름', - targetPopup: '<팝업창>', - targetPopupName: '팝업창 이름', - title: '링크', - toAnchor: '책갈피', - toEmail: '이메일', - toUrl: 'URL', - toolbar: '링크 삽입/변경', - type: '링크 종류', - unlink: '링크 삭제', - upload: '업로드' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ku.js b/scripts/ckeditor/plugins/link/lang/ku.js deleted file mode 100755 index 197842c3..00000000 --- a/scripts/ckeditor/plugins/link/lang/ku.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ku', { - acccessKey: 'کلیلی دەستپێگەیشتن', - advanced: 'پێشکەوتوو', - advisoryContentType: 'جۆری ناوەڕۆکی ڕاویژکار', - advisoryTitle: 'ڕاوێژکاری سەردێڕ', - anchor: { - toolbar: 'دانان/چاکسازی لەنگەر', - menu: 'چاکسازی لەنگەر', - title: 'خاسیەتی لەنگەر', - name: 'ناوی لەنگەر', - errorName: 'تکایه ناوی لەنگەر بنووسه', - remove: 'لابردنی لەنگەر' - }, - anchorId: 'بەپێی ناسنامەی توخم', - anchorName: 'بەپێی ناوی لەنگەر', - charset: 'بەستەری سەرچاوەی نووسە', - cssClasses: 'شێوازی چینی پەڕه', - emailAddress: 'ناونیشانی ئیمەیل', - emailBody: 'ناوەڕۆکی نامە', - emailSubject: 'بابەتی نامە', - id: 'ناسنامە', - info: 'زانیاری بەستەر', - langCode: 'هێمای زمان', - langDir: 'ئاراستەی زمان', - langDirLTR: 'چەپ بۆ ڕاست (LTR)', - langDirRTL: 'ڕاست بۆ چەپ (RTL)', - menu: 'چاکسازی بەستەر', - name: 'ناو', - noAnchors: '(هیچ جۆرێکی لەنگەر ئامادە نیە لەم پەڕەیه)', - noEmail: 'تکایە ناونیشانی ئیمەیل بنووسە', - noUrl: 'تکایە ناونیشانی بەستەر بنووسە', - other: '<هیتر>', - popupDependent: 'پێوەبەستراو (Netscape)', - popupFeatures: 'خاسیەتی پەنجەرەی سەرهەڵدەر', - popupFullScreen: 'پڕ بەپڕی شاشە (IE)', - popupLeft: 'جێگای چەپ', - popupLocationBar: 'هێڵی ناونیشانی بەستەر', - popupMenuBar: 'هێڵی لیسته', - popupResizable: 'توانای گۆڕینی قەباره', - popupScrollBars: 'هێڵی هاتووچۆپێکردن', - popupStatusBar: 'هێڵی دۆخ', - popupToolbar: 'هێڵی تووڵامراز', - popupTop: 'جێگای سەرەوە', - rel: 'پەیوەندی', - selectAnchor: 'هەڵبژاردنی لەنگەرێك', - styles: 'شێواز', - tabIndex: 'بازدەری تابی ئیندێکس', - target: 'ئامانج', - targetFrame: '<چووارچێوە>', - targetFrameName: 'ناوی ئامانجی چووارچێوە', - targetPopup: '<پەنجەرەی سەرهەڵدەر>', - targetPopupName: 'ناوی پەنجەرەی سەرهەڵدەر', - title: 'بەستەر', - toAnchor: 'بەستەر بۆ لەنگەر له دەق', - toEmail: 'ئیمەیل', - toUrl: 'ناونیشانی بەستەر', - toolbar: 'دانان/ڕێکخستنی بەستەر', - type: 'جۆری بەستەر', - unlink: 'لابردنی بەستەر', - upload: 'بارکردن' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/lt.js b/scripts/ckeditor/plugins/link/lang/lt.js deleted file mode 100755 index 563cf094..00000000 --- a/scripts/ckeditor/plugins/link/lang/lt.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'lt', { - acccessKey: 'Prieigos raktas', - advanced: 'Papildomas', - advisoryContentType: 'Konsultacinio turinio tipas', - advisoryTitle: 'Konsultacinė antraštė', - anchor: { - toolbar: 'Įterpti/modifikuoti žymę', - menu: 'Žymės savybės', - title: 'Žymės savybės', - name: 'Žymės vardas', - errorName: 'Prašome įvesti žymės vardą', - remove: 'Pašalinti žymę' - }, - anchorId: 'Pagal žymės Id', - anchorName: 'Pagal žymės vardą', - charset: 'Susietų išteklių simbolių lentelė', - cssClasses: 'Stilių lentelės klasės', - emailAddress: 'El.pašto adresas', - emailBody: 'Žinutės turinys', - emailSubject: 'Žinutės tema', - id: 'Id', - info: 'Nuorodos informacija', - langCode: 'Teksto kryptis', - langDir: 'Teksto kryptis', - langDirLTR: 'Iš kairės į dešinę (LTR)', - langDirRTL: 'Iš dešinės į kairę (RTL)', - menu: 'Taisyti nuorodą', - name: 'Vardas', - noAnchors: '(Šiame dokumente žymių nėra)', - noEmail: 'Prašome įvesti el.pašto adresą', - noUrl: 'Prašome įvesti nuorodos URL', - other: '', - popupDependent: 'Priklausomas (Netscape)', - popupFeatures: 'Išskleidžiamo lango savybės', - popupFullScreen: 'Visas ekranas (IE)', - popupLeft: 'Kairė pozicija', - popupLocationBar: 'Adreso juosta', - popupMenuBar: 'Meniu juosta', - popupResizable: 'Kintamas dydis', - popupScrollBars: 'Slinkties juostos', - popupStatusBar: 'Būsenos juosta', - popupToolbar: 'Mygtukų juosta', - popupTop: 'Viršutinė pozicija', - rel: 'Sąsajos', - selectAnchor: 'Pasirinkite žymę', - styles: 'Stilius', - tabIndex: 'Tabuliavimo indeksas', - target: 'Paskirties vieta', - targetFrame: '', - targetFrameName: 'Paskirties kadro vardas', - targetPopup: '', - targetPopupName: 'Paskirties lango vardas', - title: 'Nuoroda', - toAnchor: 'Žymė šiame puslapyje', - toEmail: 'El.paštas', - toUrl: 'Nuoroda', - toolbar: 'Įterpti/taisyti nuorodą', - type: 'Nuorodos tipas', - unlink: 'Panaikinti nuorodą', - upload: 'Siųsti' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/lv.js b/scripts/ckeditor/plugins/link/lang/lv.js deleted file mode 100755 index 1ffe9ded..00000000 --- a/scripts/ckeditor/plugins/link/lang/lv.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'lv', { - acccessKey: 'Pieejas taustiņš', - advanced: 'Izvērstais', - advisoryContentType: 'Konsultatīvs satura tips', - advisoryTitle: 'Konsultatīvs virsraksts', - anchor: { - toolbar: 'Ievietot/Labot iezīmi', - menu: 'Labot iezīmi', - title: 'Iezīmes uzstādījumi', - name: 'Iezīmes nosaukums', - errorName: 'Lūdzu norādiet iezīmes nosaukumu', - remove: 'Noņemt iezīmi' - }, - anchorId: 'Pēc elementa ID', - anchorName: 'Pēc iezīmes nosaukuma', - charset: 'Pievienotā resursa kodējums', - cssClasses: 'Stilu saraksta klases', - emailAddress: 'E-pasta adrese', - emailBody: 'Ziņas saturs', - emailSubject: 'Ziņas tēma', - id: 'ID', - info: 'Hipersaites informācija', - langCode: 'Valodas kods', - langDir: 'Valodas lasīšanas virziens', - langDirLTR: 'No kreisās uz labo (LTR)', - langDirRTL: 'No labās uz kreiso (RTL)', - menu: 'Labot hipersaiti', - name: 'Nosaukums', - noAnchors: '(Šajā dokumentā nav iezīmju)', - noEmail: 'Lūdzu norādi e-pasta adresi', - noUrl: 'Lūdzu norādi hipersaiti', - other: '', - popupDependent: 'Atkarīgs (Netscape)', - popupFeatures: 'Uznirstošā loga nosaukums īpašības', - popupFullScreen: 'Pilnā ekrānā (IE)', - popupLeft: 'Kreisā koordināte', - popupLocationBar: 'Atrašanās vietas josla', - popupMenuBar: 'Izvēlnes josla', - popupResizable: 'Mērogojams', - popupScrollBars: 'Ritjoslas', - popupStatusBar: 'Statusa josla', - popupToolbar: 'Rīku josla', - popupTop: 'Augšējā koordināte', - rel: 'Relācija', - selectAnchor: 'Izvēlēties iezīmi', - styles: 'Stils', - tabIndex: 'Ciļņu indekss', - target: 'Mērķis', - targetFrame: '', - targetFrameName: 'Mērķa ietvara nosaukums', - targetPopup: '', - targetPopupName: 'Uznirstošā loga nosaukums', - title: 'Hipersaite', - toAnchor: 'Iezīme šajā lapā', - toEmail: 'E-pasts', - toUrl: 'Adrese', - toolbar: 'Ievietot/Labot hipersaiti', - type: 'Hipersaites tips', - unlink: 'Noņemt hipersaiti', - upload: 'Augšupielādēt' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/mk.js b/scripts/ckeditor/plugins/link/lang/mk.js deleted file mode 100755 index 2f1fa7d5..00000000 --- a/scripts/ckeditor/plugins/link/lang/mk.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'mk', { - acccessKey: 'Access Key', // MISSING - advanced: 'Advanced', // MISSING - advisoryContentType: 'Advisory Content Type', // MISSING - advisoryTitle: 'Advisory Title', // MISSING - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', // MISSING - anchorName: 'By Anchor Name', // MISSING - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'Stylesheet Classes', // MISSING - emailAddress: 'E-Mail Address', // MISSING - emailBody: 'Message Body', // MISSING - emailSubject: 'Message Subject', // MISSING - id: 'Id', // MISSING - info: 'Link Info', // MISSING - langCode: 'Language Code', // MISSING - langDir: 'Language Direction', // MISSING - langDirLTR: 'Left to Right (LTR)', // MISSING - langDirRTL: 'Right to Left (RTL)', // MISSING - menu: 'Edit Link', // MISSING - name: 'Name', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'Please type the e-mail address', // MISSING - noUrl: 'Please type the link URL', // MISSING - other: '', // MISSING - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', // MISSING - styles: 'Style', // MISSING - tabIndex: 'Tab Index', // MISSING - target: 'Target', // MISSING - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'Link', // MISSING - toAnchor: 'Link to anchor in the text', // MISSING - toEmail: 'E-mail', // MISSING - toUrl: 'URL', // MISSING - toolbar: 'Link', // MISSING - type: 'Link Type', // MISSING - unlink: 'Unlink', // MISSING - upload: 'Upload' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/link/lang/mn.js b/scripts/ckeditor/plugins/link/lang/mn.js deleted file mode 100755 index ae64b9ad..00000000 --- a/scripts/ckeditor/plugins/link/lang/mn.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'mn', { - acccessKey: 'Холбох түлхүүр', - advanced: 'Нэмэлт', - advisoryContentType: 'Зөвлөлдөх төрлийн агуулга', - advisoryTitle: 'Зөвлөлдөх гарчиг', - anchor: { - toolbar: 'Зангуу', - menu: 'Зангууг болосруулах', - title: 'Зангуугийн шинж чанар', - name: 'Зангуугийн нэр', - errorName: 'Зангуугийн нэрийг оруулна уу', - remove: 'Зангууг устгах' - }, - anchorId: 'Элемэнтйн Id нэрээр', - anchorName: 'Зангуугийн нэрээр', - charset: 'Тэмдэгт оноох нөөцөд холбогдсон', - cssClasses: 'Stylesheet классууд', - emailAddress: 'Э-шуудангийн хаяг', - emailBody: 'Зурвасны их бие', - emailSubject: 'Зурвасны гарчиг', - id: 'Id', - info: 'Холбоосын тухай мэдээлэл', - langCode: 'Хэлний код', - langDir: 'Хэлний чиглэл', - langDirLTR: 'Зүүнээс баруун (LTR)', - langDirRTL: 'Баруунаас зүүн (RTL)', - menu: 'Холбоос засварлах', - name: 'Нэр', - noAnchors: '(Баримт бичиг зангуугүй байна)', - noEmail: 'Э-шуудангий хаягаа шивнэ үү', - noUrl: 'Холбоосны URL хаягийг шивнэ үү', - other: '', // MISSING - popupDependent: 'Хамаатай (Netscape)', - popupFeatures: 'Popup цонхны онцлог', - popupFullScreen: 'Цонх дүүргэх (Internet Explorer)', - popupLeft: 'Зүүн байрлал', - popupLocationBar: 'Location хэсэг', - popupMenuBar: 'Цэсний самбар', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Скрол хэсэгүүд', - popupStatusBar: 'Статус хэсэг', - popupToolbar: 'Багажны самбар', - popupTop: 'Дээд байрлал', - rel: 'Relationship', // MISSING - selectAnchor: 'Нэг зангууг сонгоно уу', - styles: 'Загвар', - tabIndex: 'Tab индекс', - target: 'Байрлал', - targetFrame: '<Агуулах хүрээ>', - targetFrameName: 'Очих фремын нэр', - targetPopup: '', - targetPopupName: 'Popup цонхны нэр', - title: 'Холбоос', - toAnchor: 'Энэ бичвэр дэх зангуу руу очих холбоос', - toEmail: 'Э-захиа', - toUrl: 'цахим хуудасны хаяг (URL)', - toolbar: 'Холбоос', - type: 'Линкийн төрөл', - unlink: 'Холбоос авч хаях', - upload: 'Хуулах' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ms.js b/scripts/ckeditor/plugins/link/lang/ms.js deleted file mode 100755 index d8e4ff0f..00000000 --- a/scripts/ckeditor/plugins/link/lang/ms.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ms', { - acccessKey: 'Kunci Akses', - advanced: 'Advanced', - advisoryContentType: 'Jenis Kandungan Makluman', - advisoryTitle: 'Tajuk Makluman', - anchor: { - toolbar: 'Masukkan/Sunting Pautan', - menu: 'Ciri-ciri Pautan', - title: 'Ciri-ciri Pautan', - name: 'Nama Pautan', - errorName: 'Sila taip nama pautan', - remove: 'Remove Anchor' - }, - anchorId: 'dengan menggunakan ID elemen', - anchorName: 'dengan menggunakan nama pautan', - charset: 'Linked Resource Charset', - cssClasses: 'Kelas-kelas Stylesheet', - emailAddress: 'Alamat E-Mail', - emailBody: 'Isi Kandungan Mesej', - emailSubject: 'Subjek Mesej', - id: 'Id', - info: 'Butiran Sambungan', - langCode: 'Arah Tulisan', - langDir: 'Arah Tulisan', - langDirLTR: 'Kiri ke Kanan (LTR)', - langDirRTL: 'Kanan ke Kiri (RTL)', - menu: 'Sunting Sambungan', - name: 'Nama', - noAnchors: '(Tiada pautan terdapat dalam dokumen ini)', - noEmail: 'Sila taip alamat e-mail', - noUrl: 'Sila taip sambungan URL', - other: '', - popupDependent: 'Bergantungan (Netscape)', - popupFeatures: 'Ciri Tetingkap Popup', - popupFullScreen: 'Skrin Penuh (IE)', - popupLeft: 'Posisi Kiri', - popupLocationBar: 'Bar Lokasi', - popupMenuBar: 'Bar Menu', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Bar-bar skrol', - popupStatusBar: 'Bar Status', - popupToolbar: 'Toolbar', - popupTop: 'Posisi Atas', - rel: 'Relationship', // MISSING - selectAnchor: 'Sila pilih pautan', - styles: 'Stail', - tabIndex: 'Indeks Tab ', - target: 'Sasaran', - targetFrame: '', - targetFrameName: 'Nama Bingkai Sasaran', - targetPopup: '', - targetPopupName: 'Nama Tetingkap Popup', - title: 'Sambungan', - toAnchor: 'Pautan dalam muka surat ini', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Masukkan/Sunting Sambungan', - type: 'Jenis Sambungan', - unlink: 'Buang Sambungan', - upload: 'Muat Naik' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/nb.js b/scripts/ckeditor/plugins/link/lang/nb.js deleted file mode 100755 index e7e239ab..00000000 --- a/scripts/ckeditor/plugins/link/lang/nb.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'nb', { - acccessKey: 'Aksessknapp', - advanced: 'Avansert', - advisoryContentType: 'Type', - advisoryTitle: 'Tittel', - anchor: { - toolbar: 'Sett inn/Rediger anker', - menu: 'Egenskaper for anker', - title: 'Egenskaper for anker', - name: 'Ankernavn', - errorName: 'Vennligst skriv inn ankernavnet', - remove: 'Fjern anker' - }, - anchorId: 'Element etter ID', - anchorName: 'Anker etter navn', - charset: 'Lenket tegnsett', - cssClasses: 'Stilarkklasser', - emailAddress: 'E-postadresse', - emailBody: 'Melding', - emailSubject: 'Meldingsemne', - id: 'Id', - info: 'Lenkeinfo', - langCode: 'Språkkode', - langDir: 'Språkretning', - langDirLTR: 'Venstre til høyre (VTH)', - langDirRTL: 'Høyre til venstre (HTV)', - menu: 'Rediger lenke', - name: 'Navn', - noAnchors: '(Ingen anker i dokumentet)', - noEmail: 'Vennligst skriv inn e-postadressen', - noUrl: 'Vennligst skriv inn lenkens URL', - other: '', - popupDependent: 'Avhenging (Netscape)', - popupFeatures: 'Egenskaper for popup-vindu', - popupFullScreen: 'Fullskjerm (IE)', - popupLeft: 'Venstre posisjon', - popupLocationBar: 'Adresselinje', - popupMenuBar: 'Menylinje', - popupResizable: 'Skalerbar', - popupScrollBars: 'Scrollbar', - popupStatusBar: 'Statuslinje', - popupToolbar: 'Verktøylinje', - popupTop: 'Topp-posisjon', - rel: 'Relasjon (rel)', - selectAnchor: 'Velg et anker', - styles: 'Stil', - tabIndex: 'Tabindeks', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Målramme', - targetPopup: '', - targetPopupName: 'Navn på popup-vindu', - title: 'Lenke', - toAnchor: 'Lenke til anker i teksten', - toEmail: 'E-post', - toUrl: 'URL', - toolbar: 'Sett inn/Rediger lenke', - type: 'Lenketype', - unlink: 'Fjern lenke', - upload: 'Last opp' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/nl.js b/scripts/ckeditor/plugins/link/lang/nl.js deleted file mode 100755 index 5590a77d..00000000 --- a/scripts/ckeditor/plugins/link/lang/nl.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'nl', { - acccessKey: 'Toegangstoets', - advanced: 'Geavanceerd', - advisoryContentType: 'Aanbevolen content-type', - advisoryTitle: 'Adviserende titel', - anchor: { - toolbar: 'Interne link', - menu: 'Eigenschappen interne link', - title: 'Eigenschappen interne link', - name: 'Naam interne link', - errorName: 'Geef de naam van de interne link op', - remove: 'Interne link verwijderen' - }, - anchorId: 'Op kenmerk interne link', - anchorName: 'Op naam interne link', - charset: 'Karakterset van gelinkte bron', - cssClasses: 'Stylesheet-klassen', - emailAddress: 'E-mailadres', - emailBody: 'Inhoud bericht', - emailSubject: 'Onderwerp bericht', - id: 'Id', - info: 'Linkomschrijving', - langCode: 'Taalcode', - langDir: 'Schrijfrichting', - langDirLTR: 'Links naar rechts (LTR)', - langDirRTL: 'Rechts naar links (RTL)', - menu: 'Link wijzigen', - name: 'Naam', - noAnchors: '(Geen interne links in document gevonden)', - noEmail: 'Geef een e-mailadres', - noUrl: 'Geef de link van de URL', - other: '', - popupDependent: 'Afhankelijk (Netscape)', - popupFeatures: 'Instellingen popupvenster', - popupFullScreen: 'Volledig scherm (IE)', - popupLeft: 'Positie links', - popupLocationBar: 'Locatiemenu', - popupMenuBar: 'Menubalk', - popupResizable: 'Herschaalbaar', - popupScrollBars: 'Schuifbalken', - popupStatusBar: 'Statusbalk', - popupToolbar: 'Werkbalk', - popupTop: 'Positie boven', - rel: 'Relatie', - selectAnchor: 'Kies een interne link', - styles: 'Stijl', - tabIndex: 'Tabvolgorde', - target: 'Doelvenster', - targetFrame: '', - targetFrameName: 'Naam doelframe', - targetPopup: '', - targetPopupName: 'Naam popupvenster', - title: 'Link', - toAnchor: 'Interne link in pagina', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Link invoegen/wijzigen', - type: 'Linktype', - unlink: 'Link verwijderen', - upload: 'Upload' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/no.js b/scripts/ckeditor/plugins/link/lang/no.js deleted file mode 100755 index ca71ad4e..00000000 --- a/scripts/ckeditor/plugins/link/lang/no.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'no', { - acccessKey: 'Aksessknapp', - advanced: 'Avansert', - advisoryContentType: 'Type', - advisoryTitle: 'Tittel', - anchor: { - toolbar: 'Sett inn/Rediger anker', - menu: 'Egenskaper for anker', - title: 'Egenskaper for anker', - name: 'Ankernavn', - errorName: 'Vennligst skriv inn ankernavnet', - remove: 'Fjern anker' - }, - anchorId: 'Element etter ID', - anchorName: 'Anker etter navn', - charset: 'Lenket tegnsett', - cssClasses: 'Stilarkklasser', - emailAddress: 'E-postadresse', - emailBody: 'Melding', - emailSubject: 'Meldingsemne', - id: 'Id', - info: 'Lenkeinfo', - langCode: 'Språkkode', - langDir: 'Språkretning', - langDirLTR: 'Venstre til høyre (VTH)', - langDirRTL: 'Høyre til venstre (HTV)', - menu: 'Rediger lenke', - name: 'Navn', - noAnchors: '(Ingen anker i dokumentet)', - noEmail: 'Vennligst skriv inn e-postadressen', - noUrl: 'Vennligst skriv inn lenkens URL', - other: '', - popupDependent: 'Avhenging (Netscape)', - popupFeatures: 'Egenskaper for popup-vindu', - popupFullScreen: 'Fullskjerm (IE)', - popupLeft: 'Venstre posisjon', - popupLocationBar: 'Adresselinje', - popupMenuBar: 'Menylinje', - popupResizable: 'Skalerbar', - popupScrollBars: 'Scrollbar', - popupStatusBar: 'Statuslinje', - popupToolbar: 'Verktøylinje', - popupTop: 'Topp-posisjon', - rel: 'Relasjon (rel)', - selectAnchor: 'Velg et anker', - styles: 'Stil', - tabIndex: 'Tabindeks', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Målramme', - targetPopup: '', - targetPopupName: 'Navn på popup-vindu', - title: 'Lenke', - toAnchor: 'Lenke til anker i teksten', - toEmail: 'E-post', - toUrl: 'URL', - toolbar: 'Sett inn/Rediger lenke', - type: 'Lenketype', - unlink: 'Fjern lenke', - upload: 'Last opp' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/pl.js b/scripts/ckeditor/plugins/link/lang/pl.js deleted file mode 100755 index f1e13098..00000000 --- a/scripts/ckeditor/plugins/link/lang/pl.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'pl', { - acccessKey: 'Klawisz dostępu', - advanced: 'Zaawansowane', - advisoryContentType: 'Typ MIME obiektu docelowego', - advisoryTitle: 'Opis obiektu docelowego', - anchor: { - toolbar: 'Wstaw/edytuj kotwicę', - menu: 'Właściwości kotwicy', - title: 'Właściwości kotwicy', - name: 'Nazwa kotwicy', - errorName: 'Wpisz nazwę kotwicy', - remove: 'Usuń kotwicę' - }, - anchorId: 'Wg identyfikatora', - anchorName: 'Wg nazwy', - charset: 'Kodowanie znaków obiektu docelowego', - cssClasses: 'Nazwa klasy CSS', - emailAddress: 'Adres e-mail', - emailBody: 'Treść', - emailSubject: 'Temat', - id: 'Id', - info: 'Informacje ', - langCode: 'Kod języka', - langDir: 'Kierunek tekstu', - langDirLTR: 'Od lewej do prawej (LTR)', - langDirRTL: 'Od prawej do lewej (RTL)', - menu: 'Edytuj odnośnik', - name: 'Nazwa', - noAnchors: '(W dokumencie nie zdefiniowano żadnych kotwic)', - noEmail: 'Podaj adres e-mail', - noUrl: 'Podaj adres URL', - other: '', - popupDependent: 'Okno zależne (Netscape)', - popupFeatures: 'Właściwości wyskakującego okna', - popupFullScreen: 'Pełny ekran (IE)', - popupLeft: 'Pozycja w poziomie', - popupLocationBar: 'Pasek adresu', - popupMenuBar: 'Pasek menu', - popupResizable: 'Skalowalny', - popupScrollBars: 'Paski przewijania', - popupStatusBar: 'Pasek statusu', - popupToolbar: 'Pasek narzędzi', - popupTop: 'Pozycja w pionie', - rel: 'Relacja', - selectAnchor: 'Wybierz kotwicę', - styles: 'Styl', - tabIndex: 'Indeks kolejności', - target: 'Obiekt docelowy', - targetFrame: '', - targetFrameName: 'Nazwa ramki docelowej', - targetPopup: '', - targetPopupName: 'Nazwa wyskakującego okna', - title: 'Odnośnik', - toAnchor: 'Odnośnik wewnątrz strony (kotwica)', - toEmail: 'Adres e-mail', - toUrl: 'Adres URL', - toolbar: 'Wstaw/edytuj odnośnik', - type: 'Typ odnośnika', - unlink: 'Usuń odnośnik', - upload: 'Wyślij' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/pt-br.js b/scripts/ckeditor/plugins/link/lang/pt-br.js deleted file mode 100755 index b5cc8271..00000000 --- a/scripts/ckeditor/plugins/link/lang/pt-br.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'pt-br', { - acccessKey: 'Chave de Acesso', - advanced: 'Avançado', - advisoryContentType: 'Tipo de Conteúdo', - advisoryTitle: 'Título', - anchor: { - toolbar: 'Inserir/Editar Âncora', - menu: 'Formatar Âncora', - title: 'Formatar Âncora', - name: 'Nome da Âncora', - errorName: 'Por favor, digite o nome da âncora', - remove: 'Remover Âncora' - }, - anchorId: 'Id da âncora', - anchorName: 'Nome da âncora', - charset: 'Charset do Link', - cssClasses: 'Classe de CSS', - emailAddress: 'Endereço E-Mail', - emailBody: 'Corpo da Mensagem', - emailSubject: 'Assunto da Mensagem', - id: 'Id', - info: 'Informações', - langCode: 'Direção do idioma', - langDir: 'Direção do idioma', - langDirLTR: 'Esquerda para Direita (LTR)', - langDirRTL: 'Direita para Esquerda (RTL)', - menu: 'Editar Link', - name: 'Nome', - noAnchors: '(Não há âncoras no documento)', - noEmail: 'Por favor, digite o endereço de e-mail', - noUrl: 'Por favor, digite o endereço do Link', - other: '', - popupDependent: 'Dependente (Netscape)', - popupFeatures: 'Propriedades da Janela Pop-up', - popupFullScreen: 'Modo Tela Cheia (IE)', - popupLeft: 'Esquerda', - popupLocationBar: 'Barra de Endereços', - popupMenuBar: 'Barra de Menus', - popupResizable: 'Redimensionável', - popupScrollBars: 'Barras de Rolagem', - popupStatusBar: 'Barra de Status', - popupToolbar: 'Barra de Ferramentas', - popupTop: 'Topo', - rel: 'Tipo de Relação', - selectAnchor: 'Selecione uma âncora', - styles: 'Estilos', - tabIndex: 'Índice de Tabulação', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nome do Frame de Destino', - targetPopup: '', - targetPopupName: 'Nome da Janela Pop-up', - title: 'Editar Link', - toAnchor: 'Âncora nesta página', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Inserir/Editar Link', - type: 'Tipo de hiperlink', - unlink: 'Remover Link', - upload: 'Enviar ao Servidor' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/pt.js b/scripts/ckeditor/plugins/link/lang/pt.js deleted file mode 100755 index 7ff25185..00000000 --- a/scripts/ckeditor/plugins/link/lang/pt.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'pt', { - acccessKey: 'Chave de Acesso', - advanced: 'Avançado', - advisoryContentType: 'Tipo de Conteúdo', - advisoryTitle: 'Título', - anchor: { - toolbar: ' Inserir/Editar Âncora', - menu: 'Propriedades da Âncora', - title: 'Propriedades da Âncora', - name: 'Nome da Âncora', - errorName: 'Por favor, introduza o nome da âncora', - remove: 'Remove Anchor' - }, - anchorId: 'Por ID de elemento', - anchorName: 'Por Nome de Referência', - charset: 'Fonte de caracteres vinculado', - cssClasses: 'Classes de Estilo de Folhas Classes', - emailAddress: 'Endereço de E-Mail', - emailBody: 'Corpo da Mensagem', - emailSubject: 'Título de Mensagem', - id: 'ID', - info: 'Informação de Hiperligação', - langCode: 'Orientação de idioma', - langDir: 'Orientação de idioma', - langDirLTR: 'Esquerda à Direita (LTR)', - langDirRTL: 'Direita a Esquerda (RTL)', - menu: 'Editar Hiperligação', - name: 'Nome', - noAnchors: '(Não há referências disponíveis no documento)', - noEmail: 'Por favor introduza o endereço de e-mail', - noUrl: 'Por favor introduza a hiperligação URL', - other: '', - popupDependent: 'Dependente (Netscape)', - popupFeatures: 'Características de Janela de Popup', - popupFullScreen: 'Janela Completa (IE)', - popupLeft: 'Posição Esquerda', - popupLocationBar: 'Barra de localização', - popupMenuBar: 'Barra de Menu', - popupResizable: 'Redimensionável', - popupScrollBars: 'Barras de deslocamento', - popupStatusBar: 'Barra de Estado', - popupToolbar: 'Barra de Ferramentas', - popupTop: 'Posição Direita', - rel: 'Relação', - selectAnchor: 'Seleccionar una referência', - styles: 'Estilo', - tabIndex: 'Índice de Tubulação', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nome do Frame Destino', - targetPopup: '', - targetPopupName: 'Nome da Janela de Popup', - title: 'Hiperligação', - toAnchor: 'Referência a esta página', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Inserir/Editar Hiperligação', - type: 'Tipo de Hiperligação', - unlink: 'Eliminar Hiperligação', - upload: 'Carregar' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ro.js b/scripts/ckeditor/plugins/link/lang/ro.js deleted file mode 100755 index c26f6b46..00000000 --- a/scripts/ckeditor/plugins/link/lang/ro.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ro', { - acccessKey: 'Tasta de acces', - advanced: 'Avansat', - advisoryContentType: 'Tipul consultativ al titlului', - advisoryTitle: 'Titlul consultativ', - anchor: { - toolbar: 'Inserează/Editează ancoră', - menu: 'Proprietăţi ancoră', - title: 'Proprietăţi ancoră', - name: 'Numele ancorei', - errorName: 'Vă rugăm scrieţi numele ancorei', - remove: 'Elimină ancora' - }, - anchorId: 'după Id-ul elementului', - anchorName: 'după numele ancorei', - charset: 'Setul de caractere al resursei legate', - cssClasses: 'Clasele cu stilul paginii (CSS)', - emailAddress: 'Adresă de e-mail', - emailBody: 'Opțiuni Meniu Contextual', - emailSubject: 'Subiectul mesajului', - id: 'Id', - info: 'Informaţii despre link (Legătură web)', - langCode: 'Direcţia cuvintelor', - langDir: 'Direcţia cuvintelor', - langDirLTR: 'stânga-dreapta (LTR)', - langDirRTL: 'dreapta-stânga (RTL)', - menu: 'Editează Link', - name: 'Nume', - noAnchors: '(Nicio ancoră disponibilă în document)', - noEmail: 'Vă rugăm să scrieţi adresa de e-mail', - noUrl: 'Vă rugăm să scrieţi URL-ul', - other: '', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Proprietăţile ferestrei popup', - popupFullScreen: 'Tot ecranul (Full Screen)(IE)', - popupLeft: 'Poziţia la stânga', - popupLocationBar: 'Bara de locaţie', - popupMenuBar: 'Bara de meniu', - popupResizable: 'Redimensionabil', - popupScrollBars: 'Bare de derulare', - popupStatusBar: 'Bara de status', - popupToolbar: 'Bara de opţiuni', - popupTop: 'Poziţia la dreapta', - rel: 'Relație', - selectAnchor: 'Selectaţi o ancoră', - styles: 'Stil', - tabIndex: 'Indexul tabului', - target: 'Ţintă (Target)', - targetFrame: '', - targetFrameName: 'Numele frameului ţintă', - targetPopup: '', - targetPopupName: 'Numele ferestrei popup', - title: 'Link (Legătură web)', - toAnchor: 'Ancoră în această pagină', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Inserează/Editează link (legătură web)', - type: 'Tipul link-ului (al legăturii web)', - unlink: 'Înlătură link (legătură web)', - upload: 'Încarcă' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ru.js b/scripts/ckeditor/plugins/link/lang/ru.js deleted file mode 100755 index be450bf2..00000000 --- a/scripts/ckeditor/plugins/link/lang/ru.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ru', { - acccessKey: 'Клавиша доступа', - advanced: 'Дополнительно', - advisoryContentType: 'Тип содержимого', - advisoryTitle: 'Заголовок', - anchor: { - toolbar: 'Вставить / редактировать якорь', - menu: 'Изменить якорь', - title: 'Свойства якоря', - name: 'Имя якоря', - errorName: 'Пожалуйста, введите имя якоря', - remove: 'Удалить якорь' - }, - anchorId: 'По идентификатору', - anchorName: 'По имени', - charset: 'Кодировка ресурса', - cssClasses: 'Классы CSS', - emailAddress: 'Email адрес', - emailBody: 'Текст сообщения', - emailSubject: 'Тема сообщения', - id: 'Идентификатор', - info: 'Информация о ссылке', - langCode: 'Код языка', - langDir: 'Направление текста', - langDirLTR: 'Слева направо (LTR)', - langDirRTL: 'Справа налево (RTL)', - menu: 'Редактировать ссылку', - name: 'Имя', - noAnchors: '(В документе нет ни одного якоря)', - noEmail: 'Пожалуйста, введите email адрес', - noUrl: 'Пожалуйста, введите ссылку', - other: '<другой>', - popupDependent: 'Зависимое (Netscape)', - popupFeatures: 'Параметры всплывающего окна', - popupFullScreen: 'Полноэкранное (IE)', - popupLeft: 'Отступ слева', - popupLocationBar: 'Панель адреса', - popupMenuBar: 'Панель меню', - popupResizable: 'Изменяемый размер', - popupScrollBars: 'Полосы прокрутки', - popupStatusBar: 'Строка состояния', - popupToolbar: 'Панель инструментов', - popupTop: 'Отступ сверху', - rel: 'Отношение', - selectAnchor: 'Выберите якорь', - styles: 'Стиль', - tabIndex: 'Последовательность перехода', - target: 'Цель', - targetFrame: '<фрейм>', - targetFrameName: 'Имя целевого фрейма', - targetPopup: '<всплывающее окно>', - targetPopupName: 'Имя всплывающего окна', - title: 'Ссылка', - toAnchor: 'Ссылка на якорь в тексте', - toEmail: 'Email', - toUrl: 'Ссылка', - toolbar: 'Вставить/Редактировать ссылку', - type: 'Тип ссылки', - unlink: 'Убрать ссылку', - upload: 'Загрузка' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/si.js b/scripts/ckeditor/plugins/link/lang/si.js deleted file mode 100755 index 9c00408c..00000000 --- a/scripts/ckeditor/plugins/link/lang/si.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'si', { - acccessKey: 'ප්‍රවේශ යතුර', - advanced: 'දීය', - advisoryContentType: 'උපදේශාත්මක අන්තර්ගත ආකාරය', - advisoryTitle: 'උපදේශාත්මක නාමය', - anchor: { - toolbar: 'ආධාරය', - menu: 'ආධාරය වෙනස් කිරීම', - title: 'ආධාරක ', - name: 'ආධාරකයේ නාමය', - errorName: 'කරුණාකර ආධාරකයේ නාමය ඇතුල් කරන්න', - remove: 'ආධාරකය ඉවත් කිරීම' - }, - anchorId: 'By Element Id', // MISSING - anchorName: 'By Anchor Name', // MISSING - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'විලාසපත්‍ර පන්තිය', - emailAddress: 'E-Mail Address', // MISSING - emailBody: 'Message Body', // MISSING - emailSubject: 'Message Subject', // MISSING - id: 'අංකය', - info: 'Link Info', // MISSING - langCode: 'භාෂා කේතය', - langDir: 'භාෂා දිශාව', - langDirLTR: 'වමේසිට දකුණුට', - langDirRTL: 'දකුණේ සිට වමට', - menu: 'Edit Link', // MISSING - name: 'නම', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'Please type the e-mail address', // MISSING - noUrl: 'Please type the link URL', // MISSING - other: '', // MISSING - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', // MISSING - styles: 'විලාසය', - tabIndex: 'Tab Index', // MISSING - target: 'අරමුණ', - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'සබැඳිය', - toAnchor: 'Link to anchor in the text', // MISSING - toEmail: 'E-mail', // MISSING - toUrl: 'URL', - toolbar: 'සබැඳිය', - type: 'Link Type', // MISSING - unlink: 'Unlink', // MISSING - upload: 'උඩුගතකිරීම' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/sk.js b/scripts/ckeditor/plugins/link/lang/sk.js deleted file mode 100755 index a30052f0..00000000 --- a/scripts/ckeditor/plugins/link/lang/sk.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'sk', { - acccessKey: 'Prístupový kľúč', - advanced: 'Rozšírené', - advisoryContentType: 'Pomocný typ obsahu', - advisoryTitle: 'Pomocný titulok', - anchor: { - toolbar: 'Kotva', - menu: 'Upraviť kotvu', - title: 'Vlastnosti kotvy', - name: 'Názov kotvy', - errorName: 'Zadajte prosím názov kotvy', - remove: 'Odstrániť kotvu' - }, - anchorId: 'Podľa Id objektu', - anchorName: 'Podľa mena kotvy', - charset: 'Priradená znaková sada', - cssClasses: 'Triedy štýlu', - emailAddress: 'E-Mailová adresa', - emailBody: 'Telo správy', - emailSubject: 'Predmet správy', - id: 'Id', - info: 'Informácie o odkaze', - langCode: 'Orientácia jazyka', - langDir: 'Orientácia jazyka', - langDirLTR: 'Zľava doprava (LTR)', - langDirRTL: 'Sprava doľava (RTL)', - menu: 'Upraviť odkaz', - name: 'Názov', - noAnchors: '(V dokumente nie sú dostupné žiadne kotvy)', - noEmail: 'Zadajte prosím e-mailovú adresu', - noUrl: 'Zadajte prosím URL odkazu', - other: '', - popupDependent: 'Závislosť (Netscape)', - popupFeatures: 'Vlastnosti vyskakovacieho okna', - popupFullScreen: 'Celá obrazovka (IE)', - popupLeft: 'Ľavý okraj', - popupLocationBar: 'Panel umiestnenia (location bar)', - popupMenuBar: 'Panel ponuky (menu bar)', - popupResizable: 'Meniteľná veľkosť (resizable)', - popupScrollBars: 'Posuvníky (scroll bars)', - popupStatusBar: 'Stavový riadok (status bar)', - popupToolbar: 'Panel nástrojov (toolbar)', - popupTop: 'Horný okraj', - rel: 'Vzťah (rel)', - selectAnchor: 'Vybrať kotvu', - styles: 'Štýl', - tabIndex: 'Poradie prvku (tab index)', - target: 'Cieľ', - targetFrame: '', - targetFrameName: 'Názov rámu cieľa', - targetPopup: '', - targetPopupName: 'Názov vyskakovacieho okna', - title: 'Odkaz', - toAnchor: 'Odkaz na kotvu v texte', - toEmail: 'E-mail', - toUrl: 'URL', - toolbar: 'Odkaz', - type: 'Typ odkazu', - unlink: 'Odstrániť odkaz', - upload: 'Nahrať' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/sl.js b/scripts/ckeditor/plugins/link/lang/sl.js deleted file mode 100755 index adf5505a..00000000 --- a/scripts/ckeditor/plugins/link/lang/sl.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'sl', { - acccessKey: 'Dostopno Geslo', - advanced: 'Napredno', - advisoryContentType: 'Predlagani tip vsebine (content-type)', - advisoryTitle: 'Predlagani naslov', - anchor: { - toolbar: 'Vstavi/uredi zaznamek', - menu: 'Lastnosti zaznamka', - title: 'Lastnosti zaznamka', - name: 'Ime zaznamka', - errorName: 'Prosim vnesite ime zaznamka', - remove: 'Remove Anchor' - }, - anchorId: 'Po ID-ju elementa', - anchorName: 'Po imenu zaznamka', - charset: 'Kodna tabela povezanega vira', - cssClasses: 'Razred stilne predloge', - emailAddress: 'Elektronski naslov', - emailBody: 'Vsebina sporočila', - emailSubject: 'Predmet sporočila', - id: 'Id', - info: 'Podatki o povezavi', - langCode: 'Smer jezika', - langDir: 'Smer jezika', - langDirLTR: 'Od leve proti desni (LTR)', - langDirRTL: 'Od desne proti levi (RTL)', - menu: 'Uredi povezavo', - name: 'Ime', - noAnchors: '(V tem dokumentu ni zaznamkov)', - noEmail: 'Vnesite elektronski naslov', - noUrl: 'Vnesite URL povezave', - other: '', - popupDependent: 'Podokno (Netscape)', - popupFeatures: 'Značilnosti pojavnega okna', - popupFullScreen: 'Celozaslonska slika (IE)', - popupLeft: 'Lega levo', - popupLocationBar: 'Naslovna vrstica', - popupMenuBar: 'Menijska vrstica', - popupResizable: 'Spremenljive velikosti', - popupScrollBars: 'Drsniki', - popupStatusBar: 'Vrstica stanja', - popupToolbar: 'Orodna vrstica', - popupTop: 'Lega na vrhu', - rel: 'Odnos', - selectAnchor: 'Izberi zaznamek', - styles: 'Slog', - tabIndex: 'Številka tabulatorja', - target: 'Cilj', - targetFrame: '', - targetFrameName: 'Ime ciljnega okvirja', - targetPopup: '', - targetPopupName: 'Ime pojavnega okna', - title: 'Povezava', - toAnchor: 'Zaznamek na tej strani', - toEmail: 'Elektronski naslov', - toUrl: 'URL', - toolbar: 'Vstavi/uredi povezavo', - type: 'Vrsta povezave', - unlink: 'Odstrani povezavo', - upload: 'Prenesi' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/sq.js b/scripts/ckeditor/plugins/link/lang/sq.js deleted file mode 100755 index 2ae16d11..00000000 --- a/scripts/ckeditor/plugins/link/lang/sq.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'sq', { - acccessKey: 'Sipas ID-së së Elementit', - advanced: 'Të përparuara', - advisoryContentType: 'Lloji i Përmbajtjes Këshillimore', - advisoryTitle: 'Titull', - anchor: { - toolbar: 'Spirancë', - menu: 'Redakto Spirancën', - title: 'Anchor Properties', // MISSING - name: 'Emri i Spirancës', - errorName: 'Ju lutemi shkruani emrin e spirancës', - remove: 'Largo Spirancën' - }, - anchorId: 'Sipas ID-së së Elementit', - anchorName: 'Sipas Emrit të Spirancës', - charset: 'Seti i Karaktereve të Burimeve të Nëdlidhura', - cssClasses: 'Klasa stili CSS', - emailAddress: 'Posta Elektronike', - emailBody: 'Trupi i Porosisë', - emailSubject: 'Titulli i Porosisë', - id: 'Id', - info: 'Informacione të Nyjes', - langCode: 'Kod gjuhe', - langDir: 'Drejtim teksti', - langDirLTR: 'Nga e majta në të djathë (LTR)', - langDirRTL: 'Nga e djathta në të majtë (RTL)', - menu: 'Redakto Nyjen', - name: 'Emër', - noAnchors: '(Nuk ka asnjë spirancë në dokument)', - noEmail: 'Ju lutemi shkruani postën elektronike', - noUrl: 'Ju lutemi shkruani URL-në e nyjes', - other: '', - popupDependent: 'E Varur (Netscape)', - popupFeatures: 'Karakteristikat e Dritares së Dialogut', - popupFullScreen: 'Ekran i Plotë (IE)', - popupLeft: 'Pozita Majtas', - popupLocationBar: 'Shiriti i Lokacionit', - popupMenuBar: 'Shiriti i Menysë', - popupResizable: 'I ndryshueshëm', - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Shiriti i Statutit', - popupToolbar: 'Shiriti i Mejteve', - popupTop: 'Top Pozita', - rel: 'Marrëdhëniet', - selectAnchor: 'Përzgjidh një Spirancë', - styles: 'Stil', - tabIndex: 'Tab Index', // MISSING - target: 'Objektivi', - targetFrame: '', - targetFrameName: 'Emri i Kornizës së Synuar', - targetPopup: '', - targetPopupName: 'Emri i Dritares së Dialogut', - title: 'Nyja', - toAnchor: 'Lidhu me spirancën në tekst', - toEmail: 'Posta Elektronike', - toUrl: 'URL', - toolbar: 'Nyja', - type: 'Lloji i Nyjes', - unlink: 'Largo Nyjen', - upload: 'Ngarko' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/sr-latn.js b/scripts/ckeditor/plugins/link/lang/sr-latn.js deleted file mode 100755 index 9bf78e41..00000000 --- a/scripts/ckeditor/plugins/link/lang/sr-latn.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'sr-latn', { - acccessKey: 'Pristupni taster', - advanced: 'Napredni tagovi', - advisoryContentType: 'Advisory vrsta sadržaja', - advisoryTitle: 'Advisory naslov', - anchor: { - toolbar: 'Unesi/izmeni sidro', - menu: 'Osobine sidra', - title: 'Osobine sidra', - name: 'Naziv sidra', - errorName: 'Unesite naziv sidra', - remove: 'Ukloni sidro' - }, - anchorId: 'Po Id-u elementa', - anchorName: 'Po nazivu sidra', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet klase', - emailAddress: 'E-Mail adresa', - emailBody: 'Sadržaj poruke', - emailSubject: 'Naslov', - id: 'Id', - info: 'Link Info', - langCode: 'Smer jezika', - langDir: 'Smer jezika', - langDirLTR: 'S leva na desno (LTR)', - langDirRTL: 'S desna na levo (RTL)', - menu: 'Izmeni link', - name: 'Naziv', - noAnchors: '(Nema dostupnih sidra)', - noEmail: 'Otkucajte adresu elektronske pote', - noUrl: 'Unesite URL linka', - other: '<остало>', - popupDependent: 'Zavisno (Netscape)', - popupFeatures: 'Mogućnosti popup prozora', - popupFullScreen: 'Prikaz preko celog ekrana (IE)', - popupLeft: 'Od leve ivice ekrana (px)', - popupLocationBar: 'Lokacija', - popupMenuBar: 'Kontekstni meni', - popupResizable: 'Promenljive veličine', - popupScrollBars: 'Scroll bar', - popupStatusBar: 'Statusna linija', - popupToolbar: 'Toolbar', - popupTop: 'Od vrha ekrana (px)', - rel: 'Odnos', - selectAnchor: 'Odaberi sidro', - styles: 'Stil', - tabIndex: 'Tab indeks', - target: 'Meta', - targetFrame: '', - targetFrameName: 'Naziv odredišnog frejma', - targetPopup: '', - targetPopupName: 'Naziv popup prozora', - title: 'Link', - toAnchor: 'Sidro na ovoj stranici', - toEmail: 'E-Mail', - toUrl: 'URL', - toolbar: 'Unesi/izmeni link', - type: 'Vrsta linka', - unlink: 'Ukloni link', - upload: 'Pošalji' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/sr.js b/scripts/ckeditor/plugins/link/lang/sr.js deleted file mode 100755 index 2bb39ff2..00000000 --- a/scripts/ckeditor/plugins/link/lang/sr.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'sr', { - acccessKey: 'Приступни тастер', - advanced: 'Напредни тагови', - advisoryContentType: 'Advisory врста садржаја', - advisoryTitle: 'Advisory наслов', - anchor: { - toolbar: 'Унеси/измени сидро', - menu: 'Особине сидра', - title: 'Особине сидра', - name: 'Име сидра', - errorName: 'Молимо Вас да унесете име сидра', - remove: 'Remove Anchor' - }, - anchorId: 'Пo Ид-jу елемента', - anchorName: 'По називу сидра', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet класе', - emailAddress: 'Адреса електронске поште', - emailBody: 'Садржај поруке', - emailSubject: 'Наслов', - id: 'Ид', - info: 'Линк инфо', - langCode: 'Смер језика', - langDir: 'Смер језика', - langDirLTR: 'С лева на десно (LTR)', - langDirRTL: 'С десна на лево (RTL)', - menu: 'Промени линк', - name: 'Назив', - noAnchors: '(Нема доступних сидра)', - noEmail: 'Откуцајте адресу електронске поште', - noUrl: 'Унесите УРЛ линка', - other: '<друго>', - popupDependent: 'Зависно (Netscape)', - popupFeatures: 'Могућности искачућег прозора', - popupFullScreen: 'Приказ преко целог екрана (ИE)', - popupLeft: 'Од леве ивице екрана (пиксела)', - popupLocationBar: 'Локација', - popupMenuBar: 'Контекстни мени', - popupResizable: 'Величина се мења', - popupScrollBars: 'Скрол бар', - popupStatusBar: 'Статусна линија', - popupToolbar: 'Toolbar', - popupTop: 'Од врха екрана (пиксела)', - rel: 'Однос', - selectAnchor: 'Одабери сидро', - styles: 'Стил', - tabIndex: 'Таб индекс', - target: 'Meтa', - targetFrame: '<оквир>', - targetFrameName: 'Назив одредишног фрејма', - targetPopup: '<искачући прозор>', - targetPopupName: 'Назив искачућег прозора', - title: 'Линк', - toAnchor: 'Сидро на овој страници', - toEmail: 'Eлектронска пошта', - toUrl: 'УРЛ', - toolbar: 'Унеси/измени линк', - type: 'Врста линка', - unlink: 'Уклони линк', - upload: 'Пошаљи' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/sv.js b/scripts/ckeditor/plugins/link/lang/sv.js deleted file mode 100755 index 04b90e0b..00000000 --- a/scripts/ckeditor/plugins/link/lang/sv.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'sv', { - acccessKey: 'Behörighetsnyckel', - advanced: 'Avancerad', - advisoryContentType: 'Innehållstyp', - advisoryTitle: 'Titel', - anchor: { - toolbar: 'Infoga/Redigera ankarlänk', - menu: 'Egenskaper för ankarlänk', - title: 'Egenskaper för ankarlänk', - name: 'Ankarnamn', - errorName: 'Var god ange ett ankarnamn', - remove: 'Radera ankare' - }, - anchorId: 'Efter element-id', - anchorName: 'Efter ankarnamn', - charset: 'Teckenuppställning', - cssClasses: 'Stilmall', - emailAddress: 'E-postadress', - emailBody: 'Innehåll', - emailSubject: 'Ämne', - id: 'Id', - info: 'Länkinformation', - langCode: 'Språkkod', - langDir: 'Språkriktning', - langDirLTR: 'Vänster till höger (VTH)', - langDirRTL: 'Höger till vänster (HTV)', - menu: 'Redigera länk', - name: 'Namn', - noAnchors: '(Inga ankare kunde hittas)', - noEmail: 'Var god ange e-postadress', - noUrl: 'Var god ange länkens URL', - other: '', - popupDependent: 'Beroende (endast Netscape)', - popupFeatures: 'Popup-fönstrets egenskaper', - popupFullScreen: 'Helskärm (endast IE)', - popupLeft: 'Position från vänster', - popupLocationBar: 'Adressfält', - popupMenuBar: 'Menyfält', - popupResizable: 'Resizable', - popupScrollBars: 'Scrolllista', - popupStatusBar: 'Statusfält', - popupToolbar: 'Verktygsfält', - popupTop: 'Position från sidans topp', - rel: 'Förhållande', - selectAnchor: 'Välj ett ankare', - styles: 'Stilmall', - tabIndex: 'Tabindex', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Målets ramnamn', - targetPopup: '', - targetPopupName: 'Popup-fönstrets namn', - title: 'Länk', - toAnchor: 'Länk till ankare i texten', - toEmail: 'E-post', - toUrl: 'URL', - toolbar: 'Infoga/Redigera länk', - type: 'Länktyp', - unlink: 'Radera länk', - upload: 'Ladda upp' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/th.js b/scripts/ckeditor/plugins/link/lang/th.js deleted file mode 100755 index e3eeb19d..00000000 --- a/scripts/ckeditor/plugins/link/lang/th.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'th', { - acccessKey: 'แอคเซส คีย์', - advanced: 'ขั้นสูง', - advisoryContentType: 'ชนิดของคำเกริ่นนำ', - advisoryTitle: 'คำเกริ่นนำ', - anchor: { - toolbar: 'แทรก/แก้ไข Anchor', - menu: 'รายละเอียด Anchor', - title: 'รายละเอียด Anchor', - name: 'ชื่อ Anchor', - errorName: 'กรุณาระบุชื่อของ Anchor', - remove: 'Remove Anchor' - }, - anchorId: 'ไอดี', - anchorName: 'ชื่อ', - charset: 'ลิงค์เชื่อมโยงไปยังชุดตัวอักษร', - cssClasses: 'คลาสของไฟล์กำหนดลักษณะการแสดงผล', - emailAddress: 'อีเมล์ (E-Mail)', - emailBody: 'ข้อความ', - emailSubject: 'หัวเรื่อง', - id: 'ไอดี', - info: 'รายละเอียด', - langCode: 'การเขียน-อ่านภาษา', - langDir: 'การเขียน-อ่านภาษา', - langDirLTR: 'จากซ้ายไปขวา (LTR)', - langDirRTL: 'จากขวามาซ้าย (RTL)', - menu: 'แก้ไข ลิงค์', - name: 'ชื่อ', - noAnchors: '(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)', - noEmail: 'กรุณาระบุอีเมล์ (E-mail)', - noUrl: 'กรุณาระบุที่อยู่อ้างอิงออนไลน์ (URL)', - other: '<อื่น ๆ>', - popupDependent: 'แสดงเต็มหน้าจอ (Netscape)', - popupFeatures: 'คุณสมบัติของหน้าจอเล็ก (Pop-up)', - popupFullScreen: 'แสดงเต็มหน้าจอ (IE5.5++ เท่านั้น)', - popupLeft: 'พิกัดซ้าย (Left Position)', - popupLocationBar: 'แสดงที่อยู่ของไฟล์', - popupMenuBar: 'แสดงแถบเมนู', - popupResizable: 'สามารถปรับขนาดได้', - popupScrollBars: 'แสดงแถบเลื่อน', - popupStatusBar: 'แสดงแถบสถานะ', - popupToolbar: 'แสดงแถบเครื่องมือ', - popupTop: 'พิกัดบน (Top Position)', - rel: 'ความสัมพันธ์', - selectAnchor: 'ระบุข้อมูลของจุดเชื่อมโยง (Anchor)', - styles: 'ลักษณะการแสดงผล', - tabIndex: 'ลำดับของ แท็บ', - target: 'การเปิดหน้าลิงค์', - targetFrame: '<เปิดในเฟรม>', - targetFrameName: 'ชื่อทาร์เก็ตเฟรม', - targetPopup: '<เปิดหน้าจอเล็ก (Pop-up)>', - targetPopupName: 'ระบุชื่อหน้าจอเล็ก (Pop-up)', - title: 'ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ', - toAnchor: 'จุดเชื่อมโยง (Anchor)', - toEmail: 'ส่งอีเมล์ (E-Mail)', - toUrl: 'ที่อยู่อ้างอิง URL', - toolbar: 'แทรก/แก้ไข ลิงค์', - type: 'ประเภทของลิงค์', - unlink: 'ลบ ลิงค์', - upload: 'อัพโหลดไฟล์' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/tr.js b/scripts/ckeditor/plugins/link/lang/tr.js deleted file mode 100755 index 6e78d753..00000000 --- a/scripts/ckeditor/plugins/link/lang/tr.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'tr', { - acccessKey: 'Erişim Tuşu', - advanced: 'Gelişmiş', - advisoryContentType: 'Danışma İçerik Türü', - advisoryTitle: 'Danışma Başlığı', - anchor: { - toolbar: 'Bağlantı Ekle/Düzenle', - menu: 'Bağlantı Özellikleri', - title: 'Bağlantı Özellikleri', - name: 'Bağlantı Adı', - errorName: 'Lütfen bağlantı için ad giriniz', - remove: 'Bağlantıyı Kaldır' - }, - anchorId: 'Eleman Kimlik Numarası ile', - anchorName: 'Bağlantı Adı ile', - charset: 'Bağlı Kaynak Karakter Gurubu', - cssClasses: 'Biçem Sayfası Sınıfları', - emailAddress: 'E-Posta Adresi', - emailBody: 'İleti Gövdesi', - emailSubject: 'İleti Konusu', - id: 'Id', - info: 'Link Bilgisi', - langCode: 'Dil Yönü', - langDir: 'Dil Yönü', - langDirLTR: 'Soldan Sağa (LTR)', - langDirRTL: 'Sağdan Sola (RTL)', - menu: 'Link Düzenle', - name: 'Ad', - noAnchors: '(Bu belgede hiç çapa yok)', - noEmail: 'Lütfen E-posta adresini yazın', - noUrl: 'Lütfen Link URL\'sini yazın', - other: '', - popupDependent: 'Bağımlı (Netscape)', - popupFeatures: 'Yeni Açılan Pencere Özellikleri', - popupFullScreen: 'Tam Ekran (IE)', - popupLeft: 'Sola Göre Konum', - popupLocationBar: 'Yer Çubuğu', - popupMenuBar: 'Menü Çubuğu', - popupResizable: 'Resizable', - popupScrollBars: 'Kaydırma Çubukları', - popupStatusBar: 'Durum Çubuğu', - popupToolbar: 'Araç Çubuğu', - popupTop: 'Yukarıya Göre Konum', - rel: 'İlişki', - selectAnchor: 'Bağlantı Seç', - styles: 'Biçem', - tabIndex: 'Sekme İndeksi', - target: 'Hedef', - targetFrame: '<çerçeve>', - targetFrameName: 'Hedef Çerçeve Adı', - targetPopup: '', - targetPopupName: 'Yeni Açılan Pencere Adı', - title: 'Link', - toAnchor: 'Bu sayfada çapa', - toEmail: 'E-Posta', - toUrl: 'URL', - toolbar: 'Link Ekle/Düzenle', - type: 'Link Türü', - unlink: 'Köprü Kaldır', - upload: 'Karşıya Yükle' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/tt.js b/scripts/ckeditor/plugins/link/lang/tt.js deleted file mode 100755 index 686457e8..00000000 --- a/scripts/ckeditor/plugins/link/lang/tt.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'tt', { - acccessKey: 'Access Key', // MISSING - advanced: 'Киңәйтелгән көйләүләр', - advisoryContentType: 'Advisory Content Type', // MISSING - advisoryTitle: 'Киңәш исем', - anchor: { - toolbar: 'Якорь', - menu: 'Якорьне үзгәртү', - title: 'Якорь үзлекләре', - name: 'Якорь исеме', - errorName: 'Якорьнең исемен языгыз', - remove: 'Якорьне бетерү' - }, - anchorId: 'Элемент идентификаторы буенча', - anchorName: 'Якорь исеме буенча', - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'Стильләр класслары', - emailAddress: 'Электрон почта адресы', - emailBody: 'Хат эчтәлеге', - emailSubject: 'Хат темасы', - id: 'Идентификатор', - info: 'Сылталама тасвирламасы', - langCode: 'Тел коды', - langDir: 'Язылыш юнəлеше', - langDirLTR: 'Сулдан уңга язылыш (LTR)', - langDirRTL: 'Уңнан сулга язылыш (RTL)', - menu: 'Сылталамаyны үзгәртү', - name: 'Исем', - noAnchors: '(Әлеге документта якорьләр табылмады)', - noEmail: 'Электрон почта адресын языгыз', - noUrl: 'Сылталаманы языгыз', - other: '<бүтән>', - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Бәйләнеш', - selectAnchor: 'Якорьне сайлау', - styles: 'Стиль', - tabIndex: 'Tab Index', // MISSING - target: 'Максат', - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'Сылталама', - toAnchor: 'Якорьне текст белән бәйләү', - toEmail: 'Электрон почта', - toUrl: 'Сылталама', - toolbar: 'Сылталама', - type: 'Сылталама төре', - unlink: 'Сылталаманы бетерү', - upload: 'Йөкләү' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/ug.js b/scripts/ckeditor/plugins/link/lang/ug.js deleted file mode 100755 index d370788f..00000000 --- a/scripts/ckeditor/plugins/link/lang/ug.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'ug', { - acccessKey: 'زىيارەت كۇنۇپكا', - advanced: 'ئالىي', - advisoryContentType: 'مەزمۇن تىپى', - advisoryTitle: 'ماۋزۇ', - anchor: { - toolbar: 'لەڭگەرلىك نۇقتا ئۇلانمىسى قىستۇر/تەھرىرلە', - menu: 'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى', - title: 'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى', - name: 'لەڭگەرلىك نۇقتا ئاتى', - errorName: 'لەڭگەرلىك نۇقتا ئاتىنى كىرگۈزۈڭ', - remove: 'لەڭگەرلىك نۇقتا ئۆچۈر' - }, - anchorId: 'لەڭگەرلىك نۇقتا ID سى بويىچە', - anchorName: 'لەڭگەرلىك نۇقتا ئاتى بويىچە', - charset: 'ھەرپ كودلىنىشى', - cssClasses: 'ئۇسلۇب خىلى ئاتى', - emailAddress: 'ئادرېس', - emailBody: 'مەزمۇن', - emailSubject: 'ماۋزۇ', - id: 'ID', - info: 'ئۇلانما ئۇچۇرى', - langCode: 'تىل كودى', - langDir: 'تىل يۆنىلىشى', - langDirLTR: 'سولدىن ئوڭغا (LTR)', - langDirRTL: 'ئوڭدىن سولغا (RTL)', - menu: 'ئۇلانما تەھرىر', - name: 'ئات', - noAnchors: '(بۇ پۈتۈكتە ئىشلەتكىلى بولىدىغان لەڭگەرلىك نۇقتا يوق)', - noEmail: 'ئېلخەت ئادرېسىنى كىرگۈزۈڭ', - noUrl: 'ئۇلانما ئادرېسىنى كىرگۈزۈڭ', - other: '‹باشقا›', - popupDependent: 'تەۋە (NS)', - popupFeatures: 'قاڭقىش كۆزنەك خاسلىقى', - popupFullScreen: 'پۈتۈن ئېكران (IE)', - popupLeft: 'سول', - popupLocationBar: 'ئادرېس بالداق', - popupMenuBar: 'تىزىملىك بالداق', - popupResizable: 'چوڭلۇقى ئۆزگەرتىشچان', - popupScrollBars: 'دومىلىما سۈرگۈچ', - popupStatusBar: 'ھالەت بالداق', - popupToolbar: 'قورال بالداق', - popupTop: 'ئوڭ', - rel: 'باغلىنىش', - selectAnchor: 'بىر لەڭگەرلىك نۇقتا تاللاڭ', - styles: 'قۇر ئىچىدىكى ئۇسلۇبى', - tabIndex: 'Tab تەرتىپى', - target: 'نىشان', - targetFrame: '‹كاندۇك›', - targetFrameName: 'نىشان كاندۇك ئاتى', - targetPopup: '‹قاڭقىش كۆزنەك›', - targetPopupName: 'قاڭقىش كۆزنەك ئاتى', - title: 'ئۇلانما', - toAnchor: 'بەت ئىچىدىكى لەڭگەرلىك نۇقتا ئۇلانمىسى', - toEmail: 'ئېلخەت', - toUrl: 'ئادرېس', - toolbar: 'ئۇلانما قىستۇر/تەھرىرلە', - type: 'ئۇلانما تىپى', - unlink: 'ئۇلانما بىكار قىل', - upload: 'يۈكلە' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/uk.js b/scripts/ckeditor/plugins/link/lang/uk.js deleted file mode 100755 index c2885711..00000000 --- a/scripts/ckeditor/plugins/link/lang/uk.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'uk', { - acccessKey: 'Гаряча клавіша', - advanced: 'Додаткове', - advisoryContentType: 'Тип вмісту', - advisoryTitle: 'Заголовок', - anchor: { - toolbar: 'Вставити/Редагувати якір', - menu: 'Властивості якоря', - title: 'Властивості якоря', - name: 'Ім\'я якоря', - errorName: 'Будь ласка, вкажіть ім\'я якоря', - remove: 'Прибрати якір' - }, - anchorId: 'За ідентифікатором елементу', - anchorName: 'За ім\'ям елементу', - charset: 'Кодування', - cssClasses: 'Клас CSS', - emailAddress: 'Адреса ел. пошти', - emailBody: 'Тіло повідомлення', - emailSubject: 'Тема листа', - id: 'Ідентифікатор', - info: 'Інформація посилання', - langCode: 'Код мови', - langDir: 'Напрямок мови', - langDirLTR: 'Зліва направо (LTR)', - langDirRTL: 'Справа наліво (RTL)', - menu: 'Вставити посилання', - name: 'Ім\'я', - noAnchors: '(В цьому документі немає якорів)', - noEmail: 'Будь ласка, вкажіть адрес ел. пошти', - noUrl: 'Будь ласка, вкажіть URL посилання', - other: '<інший>', - popupDependent: 'Залежний (Netscape)', - popupFeatures: 'Властивості випливаючого вікна', - popupFullScreen: 'Повний екран (IE)', - popupLeft: 'Позиція зліва', - popupLocationBar: 'Панель локації', - popupMenuBar: 'Панель меню', - popupResizable: 'Масштабоване', - popupScrollBars: 'Стрічки прокрутки', - popupStatusBar: 'Рядок статусу', - popupToolbar: 'Панель інструментів', - popupTop: 'Позиція зверху', - rel: 'Зв\'язок', - selectAnchor: 'Оберіть якір', - styles: 'Стиль CSS', - tabIndex: 'Послідовність переходу', - target: 'Ціль', - targetFrame: '<фрейм>', - targetFrameName: 'Ім\'я цільового фрейму', - targetPopup: '<випливаюче вікно>', - targetPopupName: 'Ім\'я випливаючого вікна', - title: 'Посилання', - toAnchor: 'Якір на цю сторінку', - toEmail: 'Ел. пошта', - toUrl: 'URL', - toolbar: 'Вставити/Редагувати посилання', - type: 'Тип посилання', - unlink: 'Видалити посилання', - upload: 'Надіслати' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/vi.js b/scripts/ckeditor/plugins/link/lang/vi.js deleted file mode 100755 index 95fcb304..00000000 --- a/scripts/ckeditor/plugins/link/lang/vi.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'vi', { - acccessKey: 'Phím hỗ trợ truy cập', - advanced: 'Mở rộng', - advisoryContentType: 'Nội dung hướng dẫn', - advisoryTitle: 'Nhan đề hướng dẫn', - anchor: { - toolbar: 'Chèn/Sửa điểm neo', - menu: 'Thuộc tính điểm neo', - title: 'Thuộc tính điểm neo', - name: 'Tên của điểm neo', - errorName: 'Hãy nhập vào tên của điểm neo', - remove: 'Xóa neo' - }, - anchorId: 'Theo định danh thành phần', - anchorName: 'Theo tên điểm neo', - charset: 'Bảng mã của tài nguyên được liên kết đến', - cssClasses: 'Lớp Stylesheet', - emailAddress: 'Thư điện tử', - emailBody: 'Nội dung thông điệp', - emailSubject: 'Tiêu đề thông điệp', - id: 'Định danh', - info: 'Thông tin liên kết', - langCode: 'Mã ngôn ngữ', - langDir: 'Hướng ngôn ngữ', - langDirLTR: 'Trái sang phải (LTR)', - langDirRTL: 'Phải sang trái (RTL)', - menu: 'Sửa liên kết', - name: 'Tên', - noAnchors: '(Không có điểm neo nào trong tài liệu)', - noEmail: 'Hãy đưa vào địa chỉ thư điện tử', - noUrl: 'Hãy đưa vào đường dẫn liên kết (URL)', - other: '', - popupDependent: 'Phụ thuộc (Netscape)', - popupFeatures: 'Đặc điểm của cửa sổ Popup', - popupFullScreen: 'Toàn màn hình (IE)', - popupLeft: 'Vị trí bên trái', - popupLocationBar: 'Thanh vị trí', - popupMenuBar: 'Thanh Menu', - popupResizable: 'Có thể thay đổi kích cỡ', - popupScrollBars: 'Thanh cuộn', - popupStatusBar: 'Thanh trạng thái', - popupToolbar: 'Thanh công cụ', - popupTop: 'Vị trí phía trên', - rel: 'Quan hệ', - selectAnchor: 'Chọn một điểm neo', - styles: 'Kiểu (style)', - tabIndex: 'Chỉ số của Tab', - target: 'Đích', - targetFrame: '', - targetFrameName: 'Tên khung đích', - targetPopup: '', - targetPopupName: 'Tên cửa sổ Popup', - title: 'Liên kết', - toAnchor: 'Neo trong trang này', - toEmail: 'Thư điện tử', - toUrl: 'URL', - toolbar: 'Chèn/Sửa liên kết', - type: 'Kiểu liên kết', - unlink: 'Xoá liên kết', - upload: 'Tải lên' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/zh-cn.js b/scripts/ckeditor/plugins/link/lang/zh-cn.js deleted file mode 100755 index b8f43995..00000000 --- a/scripts/ckeditor/plugins/link/lang/zh-cn.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'zh-cn', { - acccessKey: '访问键', - advanced: '高级', - advisoryContentType: '内容类型', - advisoryTitle: '标题', - anchor: { - toolbar: '插入/编辑锚点链接', - menu: '锚点链接属性', - title: '锚点链接属性', - name: '锚点名称', - errorName: '请输入锚点名称', - remove: '删除锚点' - }, - anchorId: '按锚点 ID', - anchorName: '按锚点名称', - charset: '字符编码', - cssClasses: '样式类名称', - emailAddress: '地址', - emailBody: '内容', - emailSubject: '主题', - id: 'ID', - info: '超链接信息', - langCode: '语言代码', - langDir: '语言方向', - langDirLTR: '从左到右 (LTR)', - langDirRTL: '从右到左 (RTL)', - menu: '编辑超链接', - name: '名称', - noAnchors: '(此文档没有可用的锚点)', - noEmail: '请输入电子邮件地址', - noUrl: '请输入超链接地址', - other: '<其他>', - popupDependent: '依附 (NS)', - popupFeatures: '弹出窗口属性', - popupFullScreen: '全屏 (IE)', - popupLeft: '左', - popupLocationBar: '地址栏', - popupMenuBar: '菜单栏', - popupResizable: '可缩放', - popupScrollBars: '滚动条', - popupStatusBar: '状态栏', - popupToolbar: '工具栏', - popupTop: '右', - rel: '关联', - selectAnchor: '选择一个锚点', - styles: '行内样式', - tabIndex: 'Tab 键次序', - target: '目标', - targetFrame: '<框架>', - targetFrameName: '目标框架名称', - targetPopup: '<弹出窗口>', - targetPopupName: '弹出窗口名称', - title: '超链接', - toAnchor: '页内锚点链接', - toEmail: '电子邮件', - toUrl: '地址', - toolbar: '插入/编辑超链接', - type: '超链接类型', - unlink: '取消超链接', - upload: '上传' -} ); diff --git a/scripts/ckeditor/plugins/link/lang/zh.js b/scripts/ckeditor/plugins/link/lang/zh.js deleted file mode 100755 index d41797ba..00000000 --- a/scripts/ckeditor/plugins/link/lang/zh.js +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'link', 'zh', { - acccessKey: '便捷鍵', - advanced: '進階', - advisoryContentType: '建議內容類型', - advisoryTitle: '標題', - anchor: { - toolbar: '錨點', - menu: '編輯錨點', - title: '錨點內容', - name: '錨點名稱', - errorName: '請輸入錨點名稱', - remove: '移除錨點' - }, - anchorId: '依元件編號', - anchorName: '依錨點名稱', - charset: '連結資源的字元集', - cssClasses: '樣式表類別', - emailAddress: '電子郵件地址', - emailBody: '郵件本文', - emailSubject: '郵件主旨', - id: 'ID', - info: '連結資訊', - langCode: '語言碼', - langDir: '語言方向', - langDirLTR: '由左至右 (LTR)', - langDirRTL: '由右至左 (RTL)', - menu: '編輯連結', - name: '名稱', - noAnchors: '(本文件中無可用之錨點)', - noEmail: '請輸入電子郵件', - noUrl: '請輸入連結 URL', - other: '<其他>', - popupDependent: '獨立 (Netscape)', - popupFeatures: '快顯視窗功能', - popupFullScreen: '全螢幕 (IE)', - popupLeft: '左側位置', - popupLocationBar: '位置列', - popupMenuBar: '功能表列', - popupResizable: '可調大小', - popupScrollBars: '捲軸', - popupStatusBar: '狀態列', - popupToolbar: '工具列', - popupTop: '頂端位置', - rel: '關係', - selectAnchor: '選取一個錨點', - styles: '樣式', - tabIndex: '定位順序', - target: '目標', - targetFrame: '<框架>', - targetFrameName: '目標框架名稱', - targetPopup: '<快顯視窗>', - targetPopupName: '快顯視窗名稱', - title: '連結', - toAnchor: '文字中的錨點連結', - toEmail: '電子郵件', - toUrl: '網址', - toolbar: '連結', - type: '連結類型', - unlink: '取消連結', - upload: '上傳' -} ); diff --git a/scripts/ckeditor/plugins/link/plugin.js b/scripts/ckeditor/plugins/link/plugin.js deleted file mode 100755 index 8bc3f08f..00000000 --- a/scripts/ckeditor/plugins/link/plugin.js +++ /dev/null @@ -1,772 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -'use strict'; - -( function() { - CKEDITOR.plugins.add( 'link', { - requires: 'dialog,fakeobjects', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'anchor,anchor-rtl,link,unlink', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - onLoad: function() { - // Add the CSS styles for anchor placeholders. - var iconPath = CKEDITOR.getUrl( this.path + 'images' + ( CKEDITOR.env.hidpi ? '/hidpi' : '' ) + '/anchor.png' ), - baseStyle = 'background:url(' + iconPath + ') no-repeat %1 center;border:1px dotted #00f;background-size:16px;'; - - var template = '.%2 a.cke_anchor,' + - '.%2 a.cke_anchor_empty' + - ',.cke_editable.%2 a[name]' + - ',.cke_editable.%2 a[data-cke-saved-name]' + - '{' + - baseStyle + - 'padding-%1:18px;' + - // Show the arrow cursor for the anchor image (FF at least). - 'cursor:auto;' + - '}' + - '.%2 img.cke_anchor' + - '{' + - baseStyle + - 'width:16px;' + - 'min-height:15px;' + - // The default line-height on IE. - 'height:1.15em;' + - // Opera works better with "middle" (even if not perfect) - 'vertical-align:text-bottom;' + - '}'; - - // Styles with contents direction awareness. - function cssWithDir( dir ) { - return template.replace( /%1/g, dir == 'rtl' ? 'right' : 'left' ).replace( /%2/g, 'cke_contents_' + dir ); - } - - CKEDITOR.addCss( cssWithDir( 'ltr' ) + cssWithDir( 'rtl' ) ); - }, - - init: function( editor ) { - var allowed = 'a[!href]', - required = 'a[href]'; - - if ( CKEDITOR.dialog.isTabEnabled( editor, 'link', 'advanced' ) ) - allowed = allowed.replace( ']', ',accesskey,charset,dir,id,lang,name,rel,tabindex,title,type]{*}(*)' ); - if ( CKEDITOR.dialog.isTabEnabled( editor, 'link', 'target' ) ) - allowed = allowed.replace( ']', ',target,onclick]' ); - - // Add the link and unlink buttons. - editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link', { - allowedContent: allowed, - requiredContent: required - } ) ); - editor.addCommand( 'anchor', new CKEDITOR.dialogCommand( 'anchor', { - allowedContent: 'a[!name,id]', - requiredContent: 'a[name]' - } ) ); - editor.addCommand( 'unlink', new CKEDITOR.unlinkCommand() ); - editor.addCommand( 'removeAnchor', new CKEDITOR.removeAnchorCommand() ); - - editor.setKeystroke( CKEDITOR.CTRL + 76 /*L*/, 'link' ); - - if ( editor.ui.addButton ) { - editor.ui.addButton( 'Link', { - label: editor.lang.link.toolbar, - command: 'link', - toolbar: 'links,10' - } ); - editor.ui.addButton( 'Unlink', { - label: editor.lang.link.unlink, - command: 'unlink', - toolbar: 'links,20' - } ); - editor.ui.addButton( 'Anchor', { - label: editor.lang.link.anchor.toolbar, - command: 'anchor', - toolbar: 'links,30' - } ); - } - - CKEDITOR.dialog.add( 'link', this.path + 'dialogs/link.js' ); - CKEDITOR.dialog.add( 'anchor', this.path + 'dialogs/anchor.js' ); - - editor.on( 'doubleclick', function( evt ) { - var element = CKEDITOR.plugins.link.getSelectedLink( editor ) || evt.data.element; - - if ( !element.isReadOnly() ) { - if ( element.is( 'a' ) ) { - evt.data.dialog = ( element.getAttribute( 'name' ) && ( !element.getAttribute( 'href' ) || !element.getChildCount() ) ) ? 'anchor' : 'link'; - - // Pass the link to be selected along with event data. - evt.data.link = element; - } else if ( CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, element ) ) - evt.data.dialog = 'anchor'; - } - }, null, null, 0 ); - - // If event was cancelled, link passed in event data will not be selected. - editor.on( 'doubleclick', function( evt ) { - // Make sure both links and anchors are selected (#11822). - if ( evt.data.link ) - editor.getSelection().selectElement( evt.data.link ); - }, null, null, 20 ); - - // If the "menu" plugin is loaded, register the menu items. - if ( editor.addMenuItems ) { - editor.addMenuItems( { - anchor: { - label: editor.lang.link.anchor.menu, - command: 'anchor', - group: 'anchor', - order: 1 - }, - - removeAnchor: { - label: editor.lang.link.anchor.remove, - command: 'removeAnchor', - group: 'anchor', - order: 5 - }, - - link: { - label: editor.lang.link.menu, - command: 'link', - group: 'link', - order: 1 - }, - - unlink: { - label: editor.lang.link.unlink, - command: 'unlink', - group: 'link', - order: 5 - } - } ); - } - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - editor.contextMenu.addListener( function( element, selection ) { - if ( !element || element.isReadOnly() ) - return null; - - var anchor = CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, element ); - - if ( !anchor && !( anchor = CKEDITOR.plugins.link.getSelectedLink( editor ) ) ) - return null; - - var menu = {}; - - if ( anchor.getAttribute( 'href' ) && anchor.getChildCount() ) - menu = { link: CKEDITOR.TRISTATE_OFF, unlink: CKEDITOR.TRISTATE_OFF }; - - if ( anchor && anchor.hasAttribute( 'name' ) ) - menu.anchor = menu.removeAnchor = CKEDITOR.TRISTATE_OFF; - - return menu; - } ); - } - - this.compiledProtectionFunction = getCompiledProtectionFunction( editor ); - }, - - afterInit: function( editor ) { - // Empty anchors upcasting to fake objects. - editor.dataProcessor.dataFilter.addRules( { - elements: { - a: function( element ) { - if ( !element.attributes.name ) - return null; - - if ( !element.children.length ) - return editor.createFakeParserElement( element, 'cke_anchor', 'anchor' ); - - return null; - } - } - } ); - - var pathFilters = editor._.elementsPath && editor._.elementsPath.filters; - if ( pathFilters ) { - pathFilters.push( function( element, name ) { - if ( name == 'a' ) { - if ( CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, element ) || ( element.getAttribute( 'name' ) && ( !element.getAttribute( 'href' ) || !element.getChildCount() ) ) ) - return 'anchor'; - } - } ); - } - } - } ); - - // Loads the parameters in a selected link to the link dialog fields. - var javascriptProtocolRegex = /^javascript:/, - emailRegex = /^mailto:([^?]+)(?:\?(.+))?$/, - emailSubjectRegex = /subject=([^;?:@&=$,\/]*)/, - emailBodyRegex = /body=([^;?:@&=$,\/]*)/, - anchorRegex = /^#(.*)$/, - urlRegex = /^((?:http|https|ftp|news):\/\/)?(.*)$/, - selectableTargets = /^(_(?:self|top|parent|blank))$/, - encodedEmailLinkRegex = /^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/, - functionCallProtectedEmailLinkRegex = /^javascript:([^(]+)\(([^)]+)\)$/, - popupRegex = /\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/, - popupFeaturesRegex = /(?:^|,)([^=]+)=(\d+|yes|no)/gi; - - var advAttrNames = { - id: 'advId', - dir: 'advLangDir', - accessKey: 'advAccessKey', - // 'data-cke-saved-name': 'advName', - name: 'advName', - lang: 'advLangCode', - tabindex: 'advTabIndex', - title: 'advTitle', - type: 'advContentType', - 'class': 'advCSSClasses', - charset: 'advCharset', - style: 'advStyles', - rel: 'advRel' - }; - - function unescapeSingleQuote( str ) { - return str.replace( /\\'/g, '\'' ); - } - - function escapeSingleQuote( str ) { - return str.replace( /'/g, '\\$&' ); - } - - function protectEmailAddressAsEncodedString( address ) { - var charCode, - length = address.length, - encodedChars = []; - - for ( var i = 0; i < length; i++ ) { - charCode = address.charCodeAt( i ); - encodedChars.push( charCode ); - } - - return 'String.fromCharCode(' + encodedChars.join( ',' ) + ')'; - } - - function protectEmailLinkAsFunction( editor, email ) { - var plugin = editor.plugins.link, - name = plugin.compiledProtectionFunction.name, - params = plugin.compiledProtectionFunction.params, - paramName, paramValue, retval; - - retval = [ name, '(' ]; - for ( var i = 0; i < params.length; i++ ) { - paramName = params[ i ].toLowerCase(); - paramValue = email[ paramName ]; - - i > 0 && retval.push( ',' ); - retval.push( '\'', paramValue ? escapeSingleQuote( encodeURIComponent( email[ paramName ] ) ) : '', '\'' ); - } - retval.push( ')' ); - return retval.join( '' ); - } - - function getCompiledProtectionFunction( editor ) { - var emailProtection = editor.config.emailProtection || '', - compiledProtectionFunction; - - // Compile the protection function pattern. - if ( emailProtection && emailProtection != 'encode' ) { - compiledProtectionFunction = {}; - - emailProtection.replace( /^([^(]+)\(([^)]+)\)$/, function( match, funcName, params ) { - compiledProtectionFunction.name = funcName; - compiledProtectionFunction.params = []; - params.replace( /[^,\s]+/g, function( param ) { - compiledProtectionFunction.params.push( param ); - } ); - } ); - } - - return compiledProtectionFunction; - } - - /** - * Set of Link plugin helpers. - * - * @class - * @singleton - */ - CKEDITOR.plugins.link = { - /** - * Get the surrounding link element of the current selection. - * - * CKEDITOR.plugins.link.getSelectedLink( editor ); - * - * // The following selections will all return the link element. - * - * li^nk - * [link] - * text[link] - * li[nk] - * [li]nk] - * [li]nk - * - * @since 3.2.1 - * @param {CKEDITOR.editor} editor - */ - getSelectedLink: function( editor ) { - var selection = editor.getSelection(); - var selectedElement = selection.getSelectedElement(); - if ( selectedElement && selectedElement.is( 'a' ) ) - return selectedElement; - - var range = selection.getRanges()[ 0 ]; - - if ( range ) { - range.shrink( CKEDITOR.SHRINK_TEXT ); - return editor.elementPath( range.getCommonAncestor() ).contains( 'a', 1 ); - } - return null; - }, - - /** - * Collects anchors available in the editor (i.e. used by the Link plugin). - * Note that the scope of search is different for inline (the "global" document) and - * classic (`iframe`-based) editors (the "inner" document). - * - * @since 4.3.3 - * @param {CKEDITOR.editor} editor - * @returns {CKEDITOR.dom.element[]} An array of anchor elements. - */ - getEditorAnchors: function( editor ) { - var editable = editor.editable(), - - // The scope of search for anchors is the entire document for inline editors - // and editor's editable for classic editor/divarea (#11359). - scope = ( editable.isInline() && !editor.plugins.divarea ) ? editor.document : editable, - - links = scope.getElementsByTag( 'a' ), - imgs = scope.getElementsByTag( 'img' ), - anchors = [], - i = 0, - item; - - // Retrieve all anchors within the scope. - while ( ( item = links.getItem( i++ ) ) ) { - if ( item.data( 'cke-saved-name' ) || item.hasAttribute( 'name' ) ) { - anchors.push( { - name: item.data( 'cke-saved-name' ) || item.getAttribute( 'name' ), - id: item.getAttribute( 'id' ) - } ); - } - } - // Retrieve all "fake anchors" within the scope. - i = 0; - - while ( ( item = imgs.getItem( i++ ) ) ) { - if ( ( item = this.tryRestoreFakeAnchor( editor, item ) ) ) { - anchors.push( { - name: item.getAttribute( 'name' ), - id: item.getAttribute( 'id' ) - } ); - } - } - - return anchors; - }, - - /** - * Opera and WebKit do not make it possible to select empty anchors. Fake - * elements must be used for them. - * - * @readonly - * @deprecated 4.3.3 It is set to `true` in every browser. - * @property {Boolean} - */ - fakeAnchor: true, - - /** - * For browsers that do not support CSS3 `a[name]:empty()`. Note that IE9 is included because of #7783. - * - * @readonly - * @deprecated 4.3.3 It is set to `false` in every browser. - * @property {Boolean} synAnchorSelector - */ - - /** - * For browsers that have editing issues with an empty anchor. - * - * @readonly - * @deprecated 4.3.3 It is set to `false` in every browser. - * @property {Boolean} emptyAnchorFix - */ - - /** - * Returns an element representing a real anchor restored from a fake anchor. - * - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} element - * @returns {CKEDITOR.dom.element} Restored anchor element or nothing if the - * passed element was not a fake anchor. - */ - tryRestoreFakeAnchor: function( editor, element ) { - if ( element && element.data( 'cke-real-element-type' ) && element.data( 'cke-real-element-type' ) == 'anchor' ) { - var link = editor.restoreRealElement( element ); - if ( link.data( 'cke-saved-name' ) ) - return link; - } - }, - - /** - * Parses attributes of the link element and returns an object representing - * the current state (data) of the link. This data format is accepted e.g. by - * the Link dialog window and {@link #getLinkAttributes}. - * - * @since 4.4 - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} element - * @returns {Object} An object of link data. - */ - parseLinkAttributes: function( editor, element ) { - var href = ( element && ( element.data( 'cke-saved-href' ) || element.getAttribute( 'href' ) ) ) || '', - compiledProtectionFunction = editor.plugins.link.compiledProtectionFunction, - emailProtection = editor.config.emailProtection, - javascriptMatch, emailMatch, anchorMatch, urlMatch, - retval = {}; - - if ( ( javascriptMatch = href.match( javascriptProtocolRegex ) ) ) { - if ( emailProtection == 'encode' ) { - href = href.replace( encodedEmailLinkRegex, function( match, protectedAddress, rest ) { - return 'mailto:' + - String.fromCharCode.apply( String, protectedAddress.split( ',' ) ) + - ( rest && unescapeSingleQuote( rest ) ); - } ); - } - // Protected email link as function call. - else if ( emailProtection ) { - href.replace( functionCallProtectedEmailLinkRegex, function( match, funcName, funcArgs ) { - if ( funcName == compiledProtectionFunction.name ) { - retval.type = 'email'; - var email = retval.email = {}; - - var paramRegex = /[^,\s]+/g, - paramQuoteRegex = /(^')|('$)/g, - paramsMatch = funcArgs.match( paramRegex ), - paramsMatchLength = paramsMatch.length, - paramName, paramVal; - - for ( var i = 0; i < paramsMatchLength; i++ ) { - paramVal = decodeURIComponent( unescapeSingleQuote( paramsMatch[ i ].replace( paramQuoteRegex, '' ) ) ); - paramName = compiledProtectionFunction.params[ i ].toLowerCase(); - email[ paramName ] = paramVal; - } - email.address = [ email.name, email.domain ].join( '@' ); - } - } ); - } - } - - if ( !retval.type ) { - if ( ( anchorMatch = href.match( anchorRegex ) ) ) { - retval.type = 'anchor'; - retval.anchor = {}; - retval.anchor.name = retval.anchor.id = anchorMatch[ 1 ]; - } - // Protected email link as encoded string. - else if ( ( emailMatch = href.match( emailRegex ) ) ) { - var subjectMatch = href.match( emailSubjectRegex ), - bodyMatch = href.match( emailBodyRegex ); - - retval.type = 'email'; - var email = ( retval.email = {} ); - email.address = emailMatch[ 1 ]; - subjectMatch && ( email.subject = decodeURIComponent( subjectMatch[ 1 ] ) ); - bodyMatch && ( email.body = decodeURIComponent( bodyMatch[ 1 ] ) ); - } - // urlRegex matches empty strings, so need to check for href as well. - else if ( href && ( urlMatch = href.match( urlRegex ) ) ) { - retval.type = 'url'; - retval.url = {}; - retval.url.protocol = urlMatch[ 1 ]; - retval.url.url = urlMatch[ 2 ]; - } - } - - // Load target and popup settings. - if ( element ) { - var target = element.getAttribute( 'target' ); - - // IE BUG: target attribute is an empty string instead of null in IE if it's not set. - if ( !target ) { - var onclick = element.data( 'cke-pa-onclick' ) || element.getAttribute( 'onclick' ), - onclickMatch = onclick && onclick.match( popupRegex ); - - if ( onclickMatch ) { - retval.target = { - type: 'popup', - name: onclickMatch[ 1 ] - }; - - var featureMatch; - while ( ( featureMatch = popupFeaturesRegex.exec( onclickMatch[ 2 ] ) ) ) { - // Some values should remain numbers (#7300) - if ( ( featureMatch[ 2 ] == 'yes' || featureMatch[ 2 ] == '1' ) && !( featureMatch[ 1 ] in { height: 1, width: 1, top: 1, left: 1 } ) ) - retval.target[ featureMatch[ 1 ] ] = true; - else if ( isFinite( featureMatch[ 2 ] ) ) - retval.target[ featureMatch[ 1 ] ] = featureMatch[ 2 ]; - } - } - } else { - retval.target = { - type: target.match( selectableTargets ) ? target : 'frame', - name: target - }; - } - - var advanced = {}; - - for ( var a in advAttrNames ) { - var val = element.getAttribute( a ); - - if ( val ) - advanced[ advAttrNames[ a ] ] = val; - } - - var advName = element.data( 'cke-saved-name' ) || advanced.advName; - - if ( advName ) - advanced.advName = advName; - - if ( !CKEDITOR.tools.isEmpty( advanced ) ) - retval.advanced = advanced; - } - - return retval; - }, - - /** - * Converts link data into an object which consists of attributes to be set - * (with their values) and an array of attributes to be removed. This method - * can be used to synthesise or to update any link element with the given data. - * - * @since 4.4 - * @param {CKEDITOR.editor} editor - * @param {Object} data Data in {@link #parseLinkAttributes} format. - * @returns {Object} An object consisting of two keys, i.e.: - * - * { - * // Attributes to be set. - * set: { - * href: 'http://foo.bar', - * target: 'bang' - * }, - * // Attributes to be removed. - * removed: [ - * 'id', 'style' - * ] - * } - * - */ - getLinkAttributes: function( editor, data ) { - var emailProtection = editor.config.emailProtection || '', - set = {}; - - // Compose the URL. - switch ( data.type ) { - case 'url': - var protocol = ( data.url && data.url.protocol != undefined ) ? data.url.protocol : 'http://', - url = ( data.url && CKEDITOR.tools.trim( data.url.url ) ) || ''; - - set[ 'data-cke-saved-href' ] = ( url.indexOf( '/' ) === 0 ) ? url : protocol + url; - - break; - case 'anchor': - var name = ( data.anchor && data.anchor.name ), - id = ( data.anchor && data.anchor.id ); - - set[ 'data-cke-saved-href' ] = '#' + ( name || id || '' ); - - break; - case 'email': - var email = data.email, - address = email.address, - linkHref; - - switch ( emailProtection ) { - case '': - case 'encode': - var subject = encodeURIComponent( email.subject || '' ), - body = encodeURIComponent( email.body || '' ), - argList = []; - - // Build the e-mail parameters first. - subject && argList.push( 'subject=' + subject ); - body && argList.push( 'body=' + body ); - argList = argList.length ? '?' + argList.join( '&' ) : ''; - - if ( emailProtection == 'encode' ) { - linkHref = [ - 'javascript:void(location.href=\'mailto:\'+', - protectEmailAddressAsEncodedString( address ) - ]; - // parameters are optional. - argList && linkHref.push( '+\'', escapeSingleQuote( argList ), '\'' ); - - linkHref.push( ')' ); - } else - linkHref = [ 'mailto:', address, argList ]; - - break; - default: - // Separating name and domain. - var nameAndDomain = address.split( '@', 2 ); - email.name = nameAndDomain[ 0 ]; - email.domain = nameAndDomain[ 1 ]; - - linkHref = [ 'javascript:', protectEmailLinkAsFunction( editor, email ) ]; - } - - set[ 'data-cke-saved-href' ] = linkHref.join( '' ); - break; - } - - // Popups and target. - if ( data.target ) { - if ( data.target.type == 'popup' ) { - var onclickList = [ - 'window.open(this.href, \'', data.target.name || '', '\', \'' - ], - featureList = [ - 'resizable', 'status', 'location', 'toolbar', 'menubar', 'fullscreen', 'scrollbars', 'dependent' - ], - featureLength = featureList.length, - addFeature = function( featureName ) { - if ( data.target[ featureName ] ) - featureList.push( featureName + '=' + data.target[ featureName ] ); - }; - - for ( var i = 0; i < featureLength; i++ ) - featureList[ i ] = featureList[ i ] + ( data.target[ featureList[ i ] ] ? '=yes' : '=no' ); - - addFeature( 'width' ); - addFeature( 'left' ); - addFeature( 'height' ); - addFeature( 'top' ); - - onclickList.push( featureList.join( ',' ), '\'); return false;' ); - set[ 'data-cke-pa-onclick' ] = onclickList.join( '' ); - } - else if ( data.target.type != 'notSet' && data.target.name ) - set.target = data.target.name; - } - - // Advanced attributes. - if ( data.advanced ) { - for ( var a in advAttrNames ) { - var val = data.advanced[ advAttrNames[ a ] ]; - - if ( val ) - set[ a ] = val; - } - - if ( set.name ) - set[ 'data-cke-saved-name' ] = set.name; - } - - // Browser need the "href" fro copy/paste link to work. (#6641) - if ( set[ 'data-cke-saved-href' ] ) - set.href = set[ 'data-cke-saved-href' ]; - - var removed = CKEDITOR.tools.extend( { - target: 1, - onclick: 1, - 'data-cke-pa-onclick': 1, - 'data-cke-saved-name': 1 - }, advAttrNames ); - - // Remove all attributes which are not currently set. - for ( var s in set ) - delete removed[ s ]; - - return { - set: set, - removed: CKEDITOR.tools.objectKeys( removed ) - }; - } - }; - - // TODO Much probably there's no need to expose these as public objects. - - CKEDITOR.unlinkCommand = function() {}; - CKEDITOR.unlinkCommand.prototype = { - exec: function( editor ) { - var style = new CKEDITOR.style( { element: 'a', type: CKEDITOR.STYLE_INLINE, alwaysRemoveElement: 1 } ); - editor.removeStyle( style ); - }, - - refresh: function( editor, path ) { - // Despite our initial hope, document.queryCommandEnabled() does not work - // for this in Firefox. So we must detect the state by element paths. - - var element = path.lastElement && path.lastElement.getAscendant( 'a', true ); - - if ( element && element.getName() == 'a' && element.getAttribute( 'href' ) && element.getChildCount() ) - this.setState( CKEDITOR.TRISTATE_OFF ); - else - this.setState( CKEDITOR.TRISTATE_DISABLED ); - }, - - contextSensitive: 1, - startDisabled: 1, - requiredContent: 'a[href]' - }; - - CKEDITOR.removeAnchorCommand = function() {}; - CKEDITOR.removeAnchorCommand.prototype = { - exec: function( editor ) { - var sel = editor.getSelection(), - bms = sel.createBookmarks(), - anchor; - if ( sel && ( anchor = sel.getSelectedElement() ) && ( !anchor.getChildCount() ? CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, anchor ) : anchor.is( 'a' ) ) ) - anchor.remove( 1 ); - else { - if ( ( anchor = CKEDITOR.plugins.link.getSelectedLink( editor ) ) ) { - if ( anchor.hasAttribute( 'href' ) ) { - anchor.removeAttributes( { name: 1, 'data-cke-saved-name': 1 } ); - anchor.removeClass( 'cke_anchor' ); - } else - anchor.remove( 1 ); - } - } - sel.selectBookmarks( bms ); - }, - requiredContent: 'a[name]' - }; - - CKEDITOR.tools.extend( CKEDITOR.config, { - /** - * Whether to show the Advanced tab in the Link dialog window. - * - * @cfg {Boolean} [linkShowAdvancedTab=true] - * @member CKEDITOR.config - */ - linkShowAdvancedTab: true, - - /** - * Whether to show the Target tab in the Link dialog window. - * - * @cfg {Boolean} [linkShowTargetTab=true] - * @member CKEDITOR.config - */ - linkShowTargetTab: true - - /** - * Whether JavaScript code is allowed as a `href` attribute in an anchor tag. - * With this option enabled it is possible to create links like: - * - * hello world - * - * By default JavaScript links are not allowed and will not pass - * the Link dialog window validation. - * - * @since 4.4.1 - * @cfg {Boolean} [linkJavaScriptLinksAllowed=false] - * @member CKEDITOR.config - */ - } ); -} )(); diff --git a/scripts/ckeditor/plugins/list/icons/bulletedlist-rtl.png b/scripts/ckeditor/plugins/list/icons/bulletedlist-rtl.png deleted file mode 100755 index 766814a9..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/bulletedlist-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/bulletedlist.png b/scripts/ckeditor/plugins/list/icons/bulletedlist.png deleted file mode 100755 index e57ec7a5..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/bulletedlist.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/hidpi/bulletedlist-rtl.png b/scripts/ckeditor/plugins/list/icons/hidpi/bulletedlist-rtl.png deleted file mode 100755 index 50e31560..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/hidpi/bulletedlist-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/hidpi/bulletedlist.png b/scripts/ckeditor/plugins/list/icons/hidpi/bulletedlist.png deleted file mode 100755 index 00f84d0d..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/hidpi/bulletedlist.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/hidpi/numberedlist-rtl.png b/scripts/ckeditor/plugins/list/icons/hidpi/numberedlist-rtl.png deleted file mode 100755 index 1dff87d2..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/hidpi/numberedlist-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/hidpi/numberedlist.png b/scripts/ckeditor/plugins/list/icons/hidpi/numberedlist.png deleted file mode 100755 index c20b88f4..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/hidpi/numberedlist.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/numberedlist-rtl.png b/scripts/ckeditor/plugins/list/icons/numberedlist-rtl.png deleted file mode 100755 index 2c398586..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/numberedlist-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/icons/numberedlist.png b/scripts/ckeditor/plugins/list/icons/numberedlist.png deleted file mode 100755 index f509a85b..00000000 Binary files a/scripts/ckeditor/plugins/list/icons/numberedlist.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/list/lang/af.js b/scripts/ckeditor/plugins/list/lang/af.js deleted file mode 100755 index a7988715..00000000 --- a/scripts/ckeditor/plugins/list/lang/af.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'af', { - bulletedlist: 'Ongenommerde lys', - numberedlist: 'Genommerde lys' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ar.js b/scripts/ckeditor/plugins/list/lang/ar.js deleted file mode 100755 index ee85c70d..00000000 --- a/scripts/ckeditor/plugins/list/lang/ar.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ar', { - bulletedlist: 'ادخال/حذف تعداد نقطي', - numberedlist: 'ادخال/حذف تعداد رقمي' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/bg.js b/scripts/ckeditor/plugins/list/lang/bg.js deleted file mode 100755 index 9ecbfad3..00000000 --- a/scripts/ckeditor/plugins/list/lang/bg.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'bg', { - bulletedlist: 'Вмъкване/Премахване на точков списък', - numberedlist: 'Вмъкване/Премахване на номериран списък' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/bn.js b/scripts/ckeditor/plugins/list/lang/bn.js deleted file mode 100755 index 12e62232..00000000 --- a/scripts/ckeditor/plugins/list/lang/bn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'bn', { - bulletedlist: 'বুলেট লিস্ট লেবেল', - numberedlist: 'সাংখ্যিক লিস্টের লেবেল' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/bs.js b/scripts/ckeditor/plugins/list/lang/bs.js deleted file mode 100755 index cf1baa43..00000000 --- a/scripts/ckeditor/plugins/list/lang/bs.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'bs', { - bulletedlist: 'Lista', - numberedlist: 'Numerisana lista' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ca.js b/scripts/ckeditor/plugins/list/lang/ca.js deleted file mode 100755 index 953f9d39..00000000 --- a/scripts/ckeditor/plugins/list/lang/ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ca', { - bulletedlist: 'Llista de pics', - numberedlist: 'Llista numerada' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/cs.js b/scripts/ckeditor/plugins/list/lang/cs.js deleted file mode 100755 index e8202b99..00000000 --- a/scripts/ckeditor/plugins/list/lang/cs.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'cs', { - bulletedlist: 'Odrážky', - numberedlist: 'Číslování' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/cy.js b/scripts/ckeditor/plugins/list/lang/cy.js deleted file mode 100755 index bd184f57..00000000 --- a/scripts/ckeditor/plugins/list/lang/cy.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'cy', { - bulletedlist: 'Mewnosod/Tynnu Rhestr Bwled', - numberedlist: 'Mewnosod/Tynnu Rhestr Rhifol' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/da.js b/scripts/ckeditor/plugins/list/lang/da.js deleted file mode 100755 index 602f0862..00000000 --- a/scripts/ckeditor/plugins/list/lang/da.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'da', { - bulletedlist: 'Punktopstilling', - numberedlist: 'Talopstilling' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/de.js b/scripts/ckeditor/plugins/list/lang/de.js deleted file mode 100755 index 6aae2315..00000000 --- a/scripts/ckeditor/plugins/list/lang/de.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'de', { - bulletedlist: 'Liste', - numberedlist: 'Nummerierte Liste' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/el.js b/scripts/ckeditor/plugins/list/lang/el.js deleted file mode 100755 index 9dc899cf..00000000 --- a/scripts/ckeditor/plugins/list/lang/el.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'el', { - bulletedlist: 'Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων', - numberedlist: 'Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/en-au.js b/scripts/ckeditor/plugins/list/lang/en-au.js deleted file mode 100755 index 862678d0..00000000 --- a/scripts/ckeditor/plugins/list/lang/en-au.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'en-au', { - bulletedlist: 'Insert/Remove Bulleted List', - numberedlist: 'Insert/Remove Numbered List' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/en-ca.js b/scripts/ckeditor/plugins/list/lang/en-ca.js deleted file mode 100755 index 73506171..00000000 --- a/scripts/ckeditor/plugins/list/lang/en-ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'en-ca', { - bulletedlist: 'Insert/Remove Bulleted List', - numberedlist: 'Insert/Remove Numbered List' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/en-gb.js b/scripts/ckeditor/plugins/list/lang/en-gb.js deleted file mode 100755 index aca99032..00000000 --- a/scripts/ckeditor/plugins/list/lang/en-gb.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'en-gb', { - bulletedlist: 'Insert/Remove Bulleted List', - numberedlist: 'Insert/Remove Numbered List' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/en.js b/scripts/ckeditor/plugins/list/lang/en.js deleted file mode 100755 index 2a2ee983..00000000 --- a/scripts/ckeditor/plugins/list/lang/en.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'en', { - bulletedlist: 'Insert/Remove Bulleted List', - numberedlist: 'Insert/Remove Numbered List' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/eo.js b/scripts/ckeditor/plugins/list/lang/eo.js deleted file mode 100755 index 960fdb07..00000000 --- a/scripts/ckeditor/plugins/list/lang/eo.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'eo', { - bulletedlist: 'Bula Listo', - numberedlist: 'Numera Listo' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/es.js b/scripts/ckeditor/plugins/list/lang/es.js deleted file mode 100755 index 9cd1fcb5..00000000 --- a/scripts/ckeditor/plugins/list/lang/es.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'es', { - bulletedlist: 'Viñetas', - numberedlist: 'Numeración' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/et.js b/scripts/ckeditor/plugins/list/lang/et.js deleted file mode 100755 index 2600a229..00000000 --- a/scripts/ckeditor/plugins/list/lang/et.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'et', { - bulletedlist: 'Punktloend', - numberedlist: 'Numberloend' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/eu.js b/scripts/ckeditor/plugins/list/lang/eu.js deleted file mode 100755 index ddd5109f..00000000 --- a/scripts/ckeditor/plugins/list/lang/eu.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'eu', { - bulletedlist: 'Buletdun Zerrenda', - numberedlist: 'Zenbakidun Zerrenda' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/fa.js b/scripts/ckeditor/plugins/list/lang/fa.js deleted file mode 100755 index a0955a89..00000000 --- a/scripts/ckeditor/plugins/list/lang/fa.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'fa', { - bulletedlist: 'فهرست نقطه​ای', - numberedlist: 'فهرست شماره​دار' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/fi.js b/scripts/ckeditor/plugins/list/lang/fi.js deleted file mode 100755 index a3be0001..00000000 --- a/scripts/ckeditor/plugins/list/lang/fi.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'fi', { - bulletedlist: 'Luettelomerkit', - numberedlist: 'Numerointi' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/fo.js b/scripts/ckeditor/plugins/list/lang/fo.js deleted file mode 100755 index 220cbba3..00000000 --- a/scripts/ckeditor/plugins/list/lang/fo.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'fo', { - bulletedlist: 'Punktmerktur listi', - numberedlist: 'Talmerktur listi' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/fr-ca.js b/scripts/ckeditor/plugins/list/lang/fr-ca.js deleted file mode 100755 index d07812c5..00000000 --- a/scripts/ckeditor/plugins/list/lang/fr-ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'fr-ca', { - bulletedlist: 'Liste à puces', - numberedlist: 'Liste numérotée' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/fr.js b/scripts/ckeditor/plugins/list/lang/fr.js deleted file mode 100755 index 309a69a6..00000000 --- a/scripts/ckeditor/plugins/list/lang/fr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'fr', { - bulletedlist: 'Insérer/Supprimer la liste à puces', - numberedlist: 'Insérer/Supprimer la liste numérotée' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/gl.js b/scripts/ckeditor/plugins/list/lang/gl.js deleted file mode 100755 index 0c63dbc5..00000000 --- a/scripts/ckeditor/plugins/list/lang/gl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'gl', { - bulletedlist: 'Inserir/retirar lista viñeteada', - numberedlist: 'Inserir/retirar lista numerada' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/gu.js b/scripts/ckeditor/plugins/list/lang/gu.js deleted file mode 100755 index 676e8ccf..00000000 --- a/scripts/ckeditor/plugins/list/lang/gu.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'gu', { - bulletedlist: 'બુલેટ સૂચિ', - numberedlist: 'સંખ્યાંકન સૂચિ' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/he.js b/scripts/ckeditor/plugins/list/lang/he.js deleted file mode 100755 index 0c98050d..00000000 --- a/scripts/ckeditor/plugins/list/lang/he.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'he', { - bulletedlist: 'רשימת נקודות', - numberedlist: 'רשימה ממוספרת' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/hi.js b/scripts/ckeditor/plugins/list/lang/hi.js deleted file mode 100755 index c097daf0..00000000 --- a/scripts/ckeditor/plugins/list/lang/hi.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'hi', { - bulletedlist: 'बुलॅट सूची', - numberedlist: 'अंकीय सूची' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/hr.js b/scripts/ckeditor/plugins/list/lang/hr.js deleted file mode 100755 index 9bc9fddf..00000000 --- a/scripts/ckeditor/plugins/list/lang/hr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'hr', { - bulletedlist: 'Obična lista', - numberedlist: 'Brojčana lista' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/hu.js b/scripts/ckeditor/plugins/list/lang/hu.js deleted file mode 100755 index 7ff52755..00000000 --- a/scripts/ckeditor/plugins/list/lang/hu.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'hu', { - bulletedlist: 'Felsorolás', - numberedlist: 'Számozás' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/id.js b/scripts/ckeditor/plugins/list/lang/id.js deleted file mode 100755 index a9a36f4c..00000000 --- a/scripts/ckeditor/plugins/list/lang/id.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'id', { - bulletedlist: 'Sisip/Hapus Daftar Bullet', - numberedlist: 'Sisip/Hapus Daftar Bernomor' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/is.js b/scripts/ckeditor/plugins/list/lang/is.js deleted file mode 100755 index 68a3328b..00000000 --- a/scripts/ckeditor/plugins/list/lang/is.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'is', { - bulletedlist: 'Punktalisti', - numberedlist: 'Númeraður listi' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/it.js b/scripts/ckeditor/plugins/list/lang/it.js deleted file mode 100755 index e01100ef..00000000 --- a/scripts/ckeditor/plugins/list/lang/it.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'it', { - bulletedlist: 'Inserisci/Rimuovi Elenco Puntato', - numberedlist: 'Inserisci/Rimuovi Elenco Numerato' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ja.js b/scripts/ckeditor/plugins/list/lang/ja.js deleted file mode 100755 index 4b9db3f7..00000000 --- a/scripts/ckeditor/plugins/list/lang/ja.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ja', { - bulletedlist: '番号無しリスト', - numberedlist: '番号付きリスト' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ka.js b/scripts/ckeditor/plugins/list/lang/ka.js deleted file mode 100755 index 89171f01..00000000 --- a/scripts/ckeditor/plugins/list/lang/ka.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ka', { - bulletedlist: 'ღილიანი სია', - numberedlist: 'გადანომრილი სია' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/km.js b/scripts/ckeditor/plugins/list/lang/km.js deleted file mode 100755 index a3a4ffd6..00000000 --- a/scripts/ckeditor/plugins/list/lang/km.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'km', { - bulletedlist: 'បញ្ចូល / លុប​បញ្ជី​ជា​ចំណុច​មូល', - numberedlist: 'បញ្ចូល / លុប​បញ្ជី​ជា​លេខ' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ko.js b/scripts/ckeditor/plugins/list/lang/ko.js deleted file mode 100755 index b2beb782..00000000 --- a/scripts/ckeditor/plugins/list/lang/ko.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ko', { - bulletedlist: '순서없는 목록', - numberedlist: '순서있는 목록' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ku.js b/scripts/ckeditor/plugins/list/lang/ku.js deleted file mode 100755 index 644bea14..00000000 --- a/scripts/ckeditor/plugins/list/lang/ku.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ku', { - bulletedlist: 'دانان/لابردنی خاڵی لیست', - numberedlist: 'دانان/لابردنی ژمارەی لیست' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/lt.js b/scripts/ckeditor/plugins/list/lang/lt.js deleted file mode 100755 index fa02bbc8..00000000 --- a/scripts/ckeditor/plugins/list/lang/lt.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'lt', { - bulletedlist: 'Suženklintas sąrašas', - numberedlist: 'Numeruotas sąrašas' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/lv.js b/scripts/ckeditor/plugins/list/lang/lv.js deleted file mode 100755 index 2dbddd32..00000000 --- a/scripts/ckeditor/plugins/list/lang/lv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'lv', { - bulletedlist: 'Pievienot/Noņemt vienkāršu sarakstu', - numberedlist: 'Numurēts saraksts' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/mk.js b/scripts/ckeditor/plugins/list/lang/mk.js deleted file mode 100755 index f56fc783..00000000 --- a/scripts/ckeditor/plugins/list/lang/mk.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'mk', { - bulletedlist: 'Insert/Remove Bulleted List', // MISSING - numberedlist: 'Insert/Remove Numbered List' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/list/lang/mn.js b/scripts/ckeditor/plugins/list/lang/mn.js deleted file mode 100755 index 3a90d30b..00000000 --- a/scripts/ckeditor/plugins/list/lang/mn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'mn', { - bulletedlist: 'Цэгтэй жагсаалт', - numberedlist: 'Дугаарлагдсан жагсаалт' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ms.js b/scripts/ckeditor/plugins/list/lang/ms.js deleted file mode 100755 index 49357b17..00000000 --- a/scripts/ckeditor/plugins/list/lang/ms.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ms', { - bulletedlist: 'Senarai tidak bernombor', - numberedlist: 'Senarai bernombor' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/nb.js b/scripts/ckeditor/plugins/list/lang/nb.js deleted file mode 100755 index 93fce6c7..00000000 --- a/scripts/ckeditor/plugins/list/lang/nb.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'nb', { - bulletedlist: 'Legg til/Fjern punktmerket liste', - numberedlist: 'Legg til/Fjern nummerert liste' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/nl.js b/scripts/ckeditor/plugins/list/lang/nl.js deleted file mode 100755 index 2f8acc1b..00000000 --- a/scripts/ckeditor/plugins/list/lang/nl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'nl', { - bulletedlist: 'Opsomming invoegen', - numberedlist: 'Genummerde lijst invoegen' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/no.js b/scripts/ckeditor/plugins/list/lang/no.js deleted file mode 100755 index 51e0e801..00000000 --- a/scripts/ckeditor/plugins/list/lang/no.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'no', { - bulletedlist: 'Legg til/Fjern punktmerket liste', - numberedlist: 'Legg til/Fjern nummerert liste' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/pl.js b/scripts/ckeditor/plugins/list/lang/pl.js deleted file mode 100755 index 30c4fd4f..00000000 --- a/scripts/ckeditor/plugins/list/lang/pl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'pl', { - bulletedlist: 'Lista wypunktowana', - numberedlist: 'Lista numerowana' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/pt-br.js b/scripts/ckeditor/plugins/list/lang/pt-br.js deleted file mode 100755 index 5e5f7de3..00000000 --- a/scripts/ckeditor/plugins/list/lang/pt-br.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'pt-br', { - bulletedlist: 'Lista sem números', - numberedlist: 'Lista numerada' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/pt.js b/scripts/ckeditor/plugins/list/lang/pt.js deleted file mode 100755 index e585b334..00000000 --- a/scripts/ckeditor/plugins/list/lang/pt.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'pt', { - bulletedlist: 'Marcas', - numberedlist: 'Numeração' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ro.js b/scripts/ckeditor/plugins/list/lang/ro.js deleted file mode 100755 index 75030070..00000000 --- a/scripts/ckeditor/plugins/list/lang/ro.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ro', { - bulletedlist: 'Inserează / Elimină Listă cu puncte', - numberedlist: 'Inserează / Elimină Listă numerotată' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ru.js b/scripts/ckeditor/plugins/list/lang/ru.js deleted file mode 100755 index 347ab555..00000000 --- a/scripts/ckeditor/plugins/list/lang/ru.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ru', { - bulletedlist: 'Вставить / удалить маркированный список', - numberedlist: 'Вставить / удалить нумерованный список' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/si.js b/scripts/ckeditor/plugins/list/lang/si.js deleted file mode 100755 index a6cd8afb..00000000 --- a/scripts/ckeditor/plugins/list/lang/si.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'si', { - bulletedlist: 'ඇතුලත් / ඉවත් කිරීම ලඉස්තුව', - numberedlist: 'ඇතුලත් / ඉවත් කිරීම අන්න්කිත ලඉස්තුව' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/sk.js b/scripts/ckeditor/plugins/list/lang/sk.js deleted file mode 100755 index b99c5cd2..00000000 --- a/scripts/ckeditor/plugins/list/lang/sk.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'sk', { - bulletedlist: 'Vložiť/Odstrániť zoznam s odrážkami', - numberedlist: 'Vložiť/Odstrániť číslovaný zoznam' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/sl.js b/scripts/ckeditor/plugins/list/lang/sl.js deleted file mode 100755 index 12fe7350..00000000 --- a/scripts/ckeditor/plugins/list/lang/sl.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'sl', { - bulletedlist: 'Označen seznam', - numberedlist: 'Oštevilčen seznam' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/sq.js b/scripts/ckeditor/plugins/list/lang/sq.js deleted file mode 100755 index 68139b5f..00000000 --- a/scripts/ckeditor/plugins/list/lang/sq.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'sq', { - bulletedlist: 'Vendos/Largo Listën me Pika', - numberedlist: 'Vendos/Largo Listën me Numra' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/sr-latn.js b/scripts/ckeditor/plugins/list/lang/sr-latn.js deleted file mode 100755 index 4cd7780f..00000000 --- a/scripts/ckeditor/plugins/list/lang/sr-latn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'sr-latn', { - bulletedlist: 'Nenabrojiva lista', - numberedlist: 'Nabrojiva lista' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/sr.js b/scripts/ckeditor/plugins/list/lang/sr.js deleted file mode 100755 index 1f624195..00000000 --- a/scripts/ckeditor/plugins/list/lang/sr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'sr', { - bulletedlist: 'Ненабројива листа', - numberedlist: 'Набројиву листу' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/sv.js b/scripts/ckeditor/plugins/list/lang/sv.js deleted file mode 100755 index ae807e36..00000000 --- a/scripts/ckeditor/plugins/list/lang/sv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'sv', { - bulletedlist: 'Punktlista', - numberedlist: 'Numrerad lista' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/th.js b/scripts/ckeditor/plugins/list/lang/th.js deleted file mode 100755 index 8e0f9a11..00000000 --- a/scripts/ckeditor/plugins/list/lang/th.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'th', { - bulletedlist: 'ลำดับรายการแบบสัญลักษณ์', - numberedlist: 'ลำดับรายการแบบตัวเลข' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/tr.js b/scripts/ckeditor/plugins/list/lang/tr.js deleted file mode 100755 index 055950ad..00000000 --- a/scripts/ckeditor/plugins/list/lang/tr.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'tr', { - bulletedlist: 'Simgeli Liste', - numberedlist: 'Numaralı Liste' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/tt.js b/scripts/ckeditor/plugins/list/lang/tt.js deleted file mode 100755 index 8e3c2440..00000000 --- a/scripts/ckeditor/plugins/list/lang/tt.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'tt', { - bulletedlist: 'Маркерлы тезмә өстәү/бетерү', - numberedlist: ' Номерланган тезмә өстәү/бетерү' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/ug.js b/scripts/ckeditor/plugins/list/lang/ug.js deleted file mode 100755 index 13295e8c..00000000 --- a/scripts/ckeditor/plugins/list/lang/ug.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'ug', { - bulletedlist: 'تۈر بەلگە تىزىمى', - numberedlist: 'تەرتىپ نومۇر تىزىمى' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/uk.js b/scripts/ckeditor/plugins/list/lang/uk.js deleted file mode 100755 index e3112221..00000000 --- a/scripts/ckeditor/plugins/list/lang/uk.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'uk', { - bulletedlist: 'Маркірований список', - numberedlist: 'Нумерований список' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/vi.js b/scripts/ckeditor/plugins/list/lang/vi.js deleted file mode 100755 index d30ff5dc..00000000 --- a/scripts/ckeditor/plugins/list/lang/vi.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'vi', { - bulletedlist: 'Chèn/Xoá Danh sách không thứ tự', - numberedlist: 'Chèn/Xoá Danh sách có thứ tự' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/zh-cn.js b/scripts/ckeditor/plugins/list/lang/zh-cn.js deleted file mode 100755 index e54a18f2..00000000 --- a/scripts/ckeditor/plugins/list/lang/zh-cn.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'zh-cn', { - bulletedlist: '项目列表', - numberedlist: '编号列表' -} ); diff --git a/scripts/ckeditor/plugins/list/lang/zh.js b/scripts/ckeditor/plugins/list/lang/zh.js deleted file mode 100755 index 016f83f9..00000000 --- a/scripts/ckeditor/plugins/list/lang/zh.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'list', 'zh', { - bulletedlist: '插入/移除項目符號清單', - numberedlist: '插入/移除編號清單清單' -} ); diff --git a/scripts/ckeditor/plugins/list/plugin.js b/scripts/ckeditor/plugins/list/plugin.js deleted file mode 100755 index e49179a9..00000000 --- a/scripts/ckeditor/plugins/list/plugin.js +++ /dev/null @@ -1,1033 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview Insert and remove numbered and bulleted lists. - */ - -( function() { - var listNodeNames = { ol: 1, ul: 1 }, - emptyTextRegex = /^[\n\r\t ]*$/; - - var whitespaces = CKEDITOR.dom.walker.whitespaces(), - bookmarks = CKEDITOR.dom.walker.bookmark(), - nonEmpty = function( node ) { - return !( whitespaces( node ) || bookmarks( node ) ); - }, - blockBogus = CKEDITOR.dom.walker.bogus(); - - function cleanUpDirection( element ) { - var dir, parent, parentDir; - if ( ( dir = element.getDirection() ) ) { - parent = element.getParent(); - while ( parent && !( parentDir = parent.getDirection() ) ) - parent = parent.getParent(); - - if ( dir == parentDir ) - element.removeAttribute( 'dir' ); - } - } - - // Inheirt inline styles from another element. - function inheirtInlineStyles( parent, el ) { - var style = parent.getAttribute( 'style' ); - - // Put parent styles before child styles. - style && el.setAttribute( 'style', style.replace( /([^;])$/, '$1;' ) + ( el.getAttribute( 'style' ) || '' ) ); - } - - CKEDITOR.plugins.list = { - /** - * Convert a DOM list tree into a data structure that is easier to - * manipulate. This operation should be non-intrusive in the sense that it - * does not change the DOM tree, with the exception that it may add some - * markers to the list item nodes when database is specified. - * - * @member CKEDITOR.plugins.list - * @todo params - */ - listToArray: function( listNode, database, baseArray, baseIndentLevel, grandparentNode ) { - if ( !listNodeNames[ listNode.getName() ] ) - return []; - - if ( !baseIndentLevel ) - baseIndentLevel = 0; - if ( !baseArray ) - baseArray = []; - - // Iterate over all list items to and look for inner lists. - for ( var i = 0, count = listNode.getChildCount(); i < count; i++ ) { - var listItem = listNode.getChild( i ); - - // Fixing malformed nested lists by moving it into a previous list item. (#6236) - if ( listItem.type == CKEDITOR.NODE_ELEMENT && listItem.getName() in CKEDITOR.dtd.$list ) - CKEDITOR.plugins.list.listToArray( listItem, database, baseArray, baseIndentLevel + 1 ); - - // It may be a text node or some funny stuff. - if ( listItem.$.nodeName.toLowerCase() != 'li' ) - continue; - - var itemObj = { 'parent': listNode, indent: baseIndentLevel, element: listItem, contents: [] }; - if ( !grandparentNode ) { - itemObj.grandparent = listNode.getParent(); - if ( itemObj.grandparent && itemObj.grandparent.$.nodeName.toLowerCase() == 'li' ) - itemObj.grandparent = itemObj.grandparent.getParent(); - } else - itemObj.grandparent = grandparentNode; - - if ( database ) - CKEDITOR.dom.element.setMarker( database, listItem, 'listarray_index', baseArray.length ); - baseArray.push( itemObj ); - - for ( var j = 0, itemChildCount = listItem.getChildCount(), child; j < itemChildCount; j++ ) { - child = listItem.getChild( j ); - if ( child.type == CKEDITOR.NODE_ELEMENT && listNodeNames[ child.getName() ] ) - // Note the recursion here, it pushes inner list items with - // +1 indentation in the correct order. - CKEDITOR.plugins.list.listToArray( child, database, baseArray, baseIndentLevel + 1, itemObj.grandparent ); - else - itemObj.contents.push( child ); - } - } - return baseArray; - }, - - /** - * Convert our internal representation of a list back to a DOM forest. - * - * @member CKEDITOR.plugins.list - * @todo params - */ - arrayToList: function( listArray, database, baseIndex, paragraphMode, dir ) { - if ( !baseIndex ) - baseIndex = 0; - if ( !listArray || listArray.length < baseIndex + 1 ) - return null; - var i, - doc = listArray[ baseIndex ].parent.getDocument(), - retval = new CKEDITOR.dom.documentFragment( doc ), - rootNode = null, - currentIndex = baseIndex, - indentLevel = Math.max( listArray[ baseIndex ].indent, 0 ), - currentListItem = null, - orgDir, block, - paragraphName = ( paragraphMode == CKEDITOR.ENTER_P ? 'p' : 'div' ); - while ( 1 ) { - var item = listArray[ currentIndex ], - itemGrandParent = item.grandparent; - - orgDir = item.element.getDirection( 1 ); - - if ( item.indent == indentLevel ) { - if ( !rootNode || listArray[ currentIndex ].parent.getName() != rootNode.getName() ) { - rootNode = listArray[ currentIndex ].parent.clone( false, 1 ); - dir && rootNode.setAttribute( 'dir', dir ); - retval.append( rootNode ); - } - currentListItem = rootNode.append( item.element.clone( 0, 1 ) ); - - if ( orgDir != rootNode.getDirection( 1 ) ) - currentListItem.setAttribute( 'dir', orgDir ); - - for ( i = 0; i < item.contents.length; i++ ) - currentListItem.append( item.contents[ i ].clone( 1, 1 ) ); - currentIndex++; - } else if ( item.indent == Math.max( indentLevel, 0 ) + 1 ) { - // Maintain original direction (#6861). - var currDir = listArray[ currentIndex - 1 ].element.getDirection( 1 ), - listData = CKEDITOR.plugins.list.arrayToList( listArray, null, currentIndex, paragraphMode, currDir != orgDir ? orgDir : null ); - - // If the next block is an
  • with another list tree as the first - // child, we'll need to append a filler (
    /NBSP) or the list item - // wouldn't be editable. (#6724) - if ( !currentListItem.getChildCount() && CKEDITOR.env.needsNbspFiller && !( doc.$.documentMode > 7 ) ) - currentListItem.append( doc.createText( '\xa0' ) ); - currentListItem.append( listData.listNode ); - currentIndex = listData.nextIndex; - } else if ( item.indent == -1 && !baseIndex && itemGrandParent ) { - if ( listNodeNames[ itemGrandParent.getName() ] ) { - currentListItem = item.element.clone( false, true ); - if ( orgDir != itemGrandParent.getDirection( 1 ) ) - currentListItem.setAttribute( 'dir', orgDir ); - } else - currentListItem = new CKEDITOR.dom.documentFragment( doc ); - - // Migrate all children to the new container, - // apply the proper text direction. - var dirLoose = itemGrandParent.getDirection( 1 ) != orgDir, - li = item.element, - className = li.getAttribute( 'class' ), - style = li.getAttribute( 'style' ); - - var needsBlock = currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT && ( paragraphMode != CKEDITOR.ENTER_BR || dirLoose || style || className ); - - var child, - count = item.contents.length, - cachedBookmark; - - for ( i = 0; i < count; i++ ) { - child = item.contents[ i ]; - - // Append bookmark if we can, or cache it and append it when we'll know - // what to do with it. Generally - we want to keep it next to its original neighbour. - // Exception: if bookmark is the only child it hasn't got any neighbour, so handle it normally - // (wrap with block if needed). - if ( bookmarks( child ) && count > 1 ) { - // If we don't need block, it's simple - append bookmark directly to the current list item. - if ( !needsBlock ) - currentListItem.append( child.clone( 1, 1 ) ); - else - cachedBookmark = child.clone( 1, 1 ); - } - // Block content goes directly to the current list item, without wrapping. - else if ( child.type == CKEDITOR.NODE_ELEMENT && child.isBlockBoundary() ) { - // Apply direction on content blocks. - if ( dirLoose && !child.getDirection() ) - child.setAttribute( 'dir', orgDir ); - - inheirtInlineStyles( li, child ); - - className && child.addClass( className ); - - // Close the block which we started for inline content. - block = null; - // Append bookmark directly before current child. - if ( cachedBookmark ) { - currentListItem.append( cachedBookmark ); - cachedBookmark = null; - } - // Append this block element to the list item. - currentListItem.append( child.clone( 1, 1 ) ); - } - // Some inline content was found - wrap it with block and append that - // block to the current list item or append it to the block previously created. - else if ( needsBlock ) { - // Establish new block to hold text direction and styles. - if ( !block ) { - block = doc.createElement( paragraphName ); - currentListItem.append( block ); - dirLoose && block.setAttribute( 'dir', orgDir ); - } - - // Copy over styles to new block; - style && block.setAttribute( 'style', style ); - className && block.setAttribute( 'class', className ); - - // Append bookmark directly before current child. - if ( cachedBookmark ) { - block.append( cachedBookmark ); - cachedBookmark = null; - } - block.append( child.clone( 1, 1 ) ); - } - // E.g. BR mode - inline content appended directly to the list item. - else - currentListItem.append( child.clone( 1, 1 ) ); - } - - // No content after bookmark - append it to the block if we had one - // or directly to the current list item if we finished directly in the current list item. - if ( cachedBookmark ) { - ( block || currentListItem ).append( cachedBookmark ); - cachedBookmark = null; - } - - if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT && currentIndex != listArray.length - 1 ) { - var last; - - // Remove bogus
    if this browser uses them. - if ( CKEDITOR.env.needsBrFiller ) { - last = currentListItem.getLast(); - if ( last && last.type == CKEDITOR.NODE_ELEMENT && last.is( 'br' ) ) - last.remove(); - } - - // If the last element is not a block, append
    to separate merged list items. - last = currentListItem.getLast( nonEmpty ); - if ( !( last && last.type == CKEDITOR.NODE_ELEMENT && last.is( CKEDITOR.dtd.$block ) ) ) - currentListItem.append( doc.createElement( 'br' ) ); - } - - var currentListItemName = currentListItem.$.nodeName.toLowerCase(); - if ( currentListItemName == 'div' || currentListItemName == 'p' ) - currentListItem.appendBogus(); - retval.append( currentListItem ); - rootNode = null; - currentIndex++; - } else - return null; - - block = null; - - if ( listArray.length <= currentIndex || Math.max( listArray[ currentIndex ].indent, 0 ) < indentLevel ) - break; - } - - if ( database ) { - var currentNode = retval.getFirst(), - listRoot = listArray[ 0 ].parent; - - while ( currentNode ) { - if ( currentNode.type == CKEDITOR.NODE_ELEMENT ) { - // Clear marker attributes for the new list tree made of cloned nodes, if any. - CKEDITOR.dom.element.clearMarkers( database, currentNode ); - - // Clear redundant direction attribute specified on list items. - if ( currentNode.getName() in CKEDITOR.dtd.$listItem ) - cleanUpDirection( currentNode ); - } - - currentNode = currentNode.getNextSourceNode(); - } - } - - return { listNode: retval, nextIndex: currentIndex }; - } - }; - - function changeListType( editor, groupObj, database, listsCreated ) { - // This case is easy... - // 1. Convert the whole list into a one-dimensional array. - // 2. Change the list type by modifying the array. - // 3. Recreate the whole list by converting the array to a list. - // 4. Replace the original list with the recreated list. - var listArray = CKEDITOR.plugins.list.listToArray( groupObj.root, database ), - selectedListItems = []; - - for ( var i = 0; i < groupObj.contents.length; i++ ) { - var itemNode = groupObj.contents[ i ]; - itemNode = itemNode.getAscendant( 'li', true ); - if ( !itemNode || itemNode.getCustomData( 'list_item_processed' ) ) - continue; - selectedListItems.push( itemNode ); - CKEDITOR.dom.element.setMarker( database, itemNode, 'list_item_processed', true ); - } - - var root = groupObj.root, - doc = root.getDocument(), - listNode, newListNode; - - for ( i = 0; i < selectedListItems.length; i++ ) { - var listIndex = selectedListItems[ i ].getCustomData( 'listarray_index' ); - listNode = listArray[ listIndex ].parent; - - // Switch to new list node for this particular item. - if ( !listNode.is( this.type ) ) { - newListNode = doc.createElement( this.type ); - // Copy all attributes, except from 'start' and 'type'. - listNode.copyAttributes( newListNode, { start: 1, type: 1 } ); - // The list-style-type property should be ignored. - newListNode.removeStyle( 'list-style-type' ); - listArray[ listIndex ].parent = newListNode; - } - } - - var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode ); - var child, - length = newList.listNode.getChildCount(); - for ( i = 0; i < length && ( child = newList.listNode.getChild( i ) ); i++ ) { - if ( child.getName() == this.type ) - listsCreated.push( child ); - } - newList.listNode.replace( groupObj.root ); - - editor.fire( 'contentDomInvalidated' ); - } - - function createList( editor, groupObj, listsCreated ) { - var contents = groupObj.contents, - doc = groupObj.root.getDocument(), - listContents = []; - - // It is possible to have the contents returned by DomRangeIterator to be the same as the root. - // e.g. when we're running into table cells. - // In such a case, enclose the childNodes of contents[0] into a
    . - if ( contents.length == 1 && contents[ 0 ].equals( groupObj.root ) ) { - var divBlock = doc.createElement( 'div' ); - contents[ 0 ].moveChildren && contents[ 0 ].moveChildren( divBlock ); - contents[ 0 ].append( divBlock ); - contents[ 0 ] = divBlock; - } - - // Calculate the common parent node of all content blocks. - var commonParent = groupObj.contents[ 0 ].getParent(); - for ( var i = 0; i < contents.length; i++ ) - commonParent = commonParent.getCommonAncestor( contents[ i ].getParent() ); - - var useComputedState = editor.config.useComputedState, - listDir, explicitDirection; - - useComputedState = useComputedState === undefined || useComputedState; - - // We want to insert things that are in the same tree level only, so calculate the contents again - // by expanding the selected blocks to the same tree level. - for ( i = 0; i < contents.length; i++ ) { - var contentNode = contents[ i ], - parentNode; - while ( ( parentNode = contentNode.getParent() ) ) { - if ( parentNode.equals( commonParent ) ) { - listContents.push( contentNode ); - - // Determine the lists's direction. - if ( !explicitDirection && contentNode.getDirection() ) - explicitDirection = 1; - - var itemDir = contentNode.getDirection( useComputedState ); - - if ( listDir !== null ) { - // If at least one LI have a different direction than current listDir, we can't have listDir. - if ( listDir && listDir != itemDir ) - listDir = null; - else - listDir = itemDir; - } - - break; - } - contentNode = parentNode; - } - } - - if ( listContents.length < 1 ) - return; - - // Insert the list to the DOM tree. - var insertAnchor = listContents[ listContents.length - 1 ].getNext(), - listNode = doc.createElement( this.type ); - - listsCreated.push( listNode ); - - var contentBlock, listItem; - - while ( listContents.length ) { - contentBlock = listContents.shift(); - listItem = doc.createElement( 'li' ); - - // If current block should be preserved, append it to list item instead of - // transforming it to
  • element. - if ( shouldPreserveBlock( contentBlock ) ) - contentBlock.appendTo( listItem ); - else { - contentBlock.copyAttributes( listItem ); - // Remove direction attribute after it was merged into list root. (#7657) - if ( listDir && contentBlock.getDirection() ) { - listItem.removeStyle( 'direction' ); - listItem.removeAttribute( 'dir' ); - } - contentBlock.moveChildren( listItem ); - contentBlock.remove(); - } - - listItem.appendTo( listNode ); - } - - // Apply list root dir only if it has been explicitly declared. - if ( listDir && explicitDirection ) - listNode.setAttribute( 'dir', listDir ); - - if ( insertAnchor ) - listNode.insertBefore( insertAnchor ); - else - listNode.appendTo( commonParent ); - } - - function removeList( editor, groupObj, database ) { - // This is very much like the change list type operation. - // Except that we're changing the selected items' indent to -1 in the list array. - var listArray = CKEDITOR.plugins.list.listToArray( groupObj.root, database ), - selectedListItems = []; - - for ( var i = 0; i < groupObj.contents.length; i++ ) { - var itemNode = groupObj.contents[ i ]; - itemNode = itemNode.getAscendant( 'li', true ); - if ( !itemNode || itemNode.getCustomData( 'list_item_processed' ) ) - continue; - selectedListItems.push( itemNode ); - CKEDITOR.dom.element.setMarker( database, itemNode, 'list_item_processed', true ); - } - - var lastListIndex = null; - for ( i = 0; i < selectedListItems.length; i++ ) { - var listIndex = selectedListItems[ i ].getCustomData( 'listarray_index' ); - listArray[ listIndex ].indent = -1; - lastListIndex = listIndex; - } - - // After cutting parts of the list out with indent=-1, we still have to maintain the array list - // model's nextItem.indent <= currentItem.indent + 1 invariant. Otherwise the array model of the - // list cannot be converted back to a real DOM list. - for ( i = lastListIndex + 1; i < listArray.length; i++ ) { - if ( listArray[ i ].indent > listArray[ i - 1 ].indent + 1 ) { - var indentOffset = listArray[ i - 1 ].indent + 1 - listArray[ i ].indent; - var oldIndent = listArray[ i ].indent; - while ( listArray[ i ] && listArray[ i ].indent >= oldIndent ) { - listArray[ i ].indent += indentOffset; - i++; - } - i--; - } - } - - var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, groupObj.root.getAttribute( 'dir' ) ); - - // Compensate
    before/after the list node if the surrounds are non-blocks.(#3836) - var docFragment = newList.listNode, - boundaryNode, siblingNode; - - function compensateBrs( isStart ) { - if ( ( boundaryNode = docFragment[ isStart ? 'getFirst' : 'getLast' ]() ) && !( boundaryNode.is && boundaryNode.isBlockBoundary() ) && ( siblingNode = groupObj.root[ isStart ? 'getPrevious' : 'getNext' ] - ( CKEDITOR.dom.walker.invisible( true ) ) ) && !( siblingNode.is && siblingNode.isBlockBoundary( { br: 1 } ) ) ) - editor.document.createElement( 'br' )[ isStart ? 'insertBefore' : 'insertAfter' ]( boundaryNode ); - } - compensateBrs( true ); - compensateBrs(); - - docFragment.replace( groupObj.root ); - - editor.fire( 'contentDomInvalidated' ); - } - - var headerTagRegex = /^h[1-6]$/; - - // Checks wheather this block should be element preserved (not transformed to
  • ) when creating list. - function shouldPreserveBlock( block ) { - return ( - // #5335 - block.is( 'pre' ) || - // #5271 - this is a header. - headerTagRegex.test( block.getName() ) || - // 11083 - this is a non-editable element. - block.getAttribute( 'contenteditable' ) == 'false' - ); - } - - function listCommand( name, type ) { - this.name = name; - this.type = type; - this.context = type; - this.allowedContent = type + ' li'; - this.requiredContent = type; - } - - var elementType = CKEDITOR.dom.walker.nodeType( CKEDITOR.NODE_ELEMENT ); - - // Merge child nodes with direction preserved. (#7448) - function mergeChildren( from, into, refNode, forward ) { - var child, itemDir; - while ( ( child = from[ forward ? 'getLast' : 'getFirst' ]( elementType ) ) ) { - if ( ( itemDir = child.getDirection( 1 ) ) !== into.getDirection( 1 ) ) - child.setAttribute( 'dir', itemDir ); - - child.remove(); - - refNode ? child[ forward ? 'insertBefore' : 'insertAfter' ]( refNode ) : into.append( child, forward ); - } - } - - listCommand.prototype = { - exec: function( editor ) { - // Run state check first of all. - this.refresh( editor, editor.elementPath() ); - - var doc = editor.document, - config = editor.config, - selection = editor.getSelection(), - ranges = selection && selection.getRanges(); - - // Midas lists rule #1 says we can create a list even in an empty document. - // But DOM iterator wouldn't run if the document is really empty. - // So create a paragraph if the document is empty and we're going to create a list. - if ( this.state == CKEDITOR.TRISTATE_OFF ) { - var editable = editor.editable(); - if ( !editable.getFirst( nonEmpty ) ) { - config.enterMode == CKEDITOR.ENTER_BR ? editable.appendBogus() : ranges[ 0 ].fixBlock( 1, config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ); - - selection.selectRanges( ranges ); - } - // Maybe a single range there enclosing the whole list, - // turn on the list state manually(#4129). - else { - var range = ranges.length == 1 && ranges[ 0 ], - enclosedNode = range && range.getEnclosedNode(); - if ( enclosedNode && enclosedNode.is && this.type == enclosedNode.getName() ) - this.setState( CKEDITOR.TRISTATE_ON ); - } - } - - var bookmarks = selection.createBookmarks( true ); - - // Group the blocks up because there are many cases where multiple lists have to be created, - // or multiple lists have to be cancelled. - var listGroups = [], - database = {}, - rangeIterator = ranges.createIterator(), - index = 0; - - while ( ( range = rangeIterator.getNextRange() ) && ++index ) { - var boundaryNodes = range.getBoundaryNodes(), - startNode = boundaryNodes.startNode, - endNode = boundaryNodes.endNode; - - if ( startNode.type == CKEDITOR.NODE_ELEMENT && startNode.getName() == 'td' ) - range.setStartAt( boundaryNodes.startNode, CKEDITOR.POSITION_AFTER_START ); - - if ( endNode.type == CKEDITOR.NODE_ELEMENT && endNode.getName() == 'td' ) - range.setEndAt( boundaryNodes.endNode, CKEDITOR.POSITION_BEFORE_END ); - - var iterator = range.createIterator(), - block; - - iterator.forceBrBreak = ( this.state == CKEDITOR.TRISTATE_OFF ); - - while ( ( block = iterator.getNextParagraph() ) ) { - // Avoid duplicate blocks get processed across ranges. - if ( block.getCustomData( 'list_block' ) ) - continue; - else - CKEDITOR.dom.element.setMarker( database, block, 'list_block', 1 ); - - var path = editor.elementPath( block ), - pathElements = path.elements, - pathElementsCount = pathElements.length, - listNode = null, - processedFlag = 0, - blockLimit = path.blockLimit, - element; - - // First, try to group by a list ancestor. - for ( var i = pathElementsCount - 1; i >= 0 && ( element = pathElements[ i ] ); i-- ) { - if ( listNodeNames[ element.getName() ] && blockLimit.contains( element ) ) // Don't leak outside block limit (#3940). - { - // If we've encountered a list inside a block limit - // The last group object of the block limit element should - // no longer be valid. Since paragraphs after the list - // should belong to a different group of paragraphs before - // the list. (Bug #1309) - blockLimit.removeCustomData( 'list_group_object_' + index ); - - var groupObj = element.getCustomData( 'list_group_object' ); - if ( groupObj ) - groupObj.contents.push( block ); - else { - groupObj = { root: element, contents: [ block ] }; - listGroups.push( groupObj ); - CKEDITOR.dom.element.setMarker( database, element, 'list_group_object', groupObj ); - } - processedFlag = 1; - break; - } - } - - if ( processedFlag ) - continue; - - // No list ancestor? Group by block limit, but don't mix contents from different ranges. - var root = blockLimit; - if ( root.getCustomData( 'list_group_object_' + index ) ) - root.getCustomData( 'list_group_object_' + index ).contents.push( block ); - else { - groupObj = { root: root, contents: [ block ] }; - CKEDITOR.dom.element.setMarker( database, root, 'list_group_object_' + index, groupObj ); - listGroups.push( groupObj ); - } - } - } - - // Now we have two kinds of list groups, groups rooted at a list, and groups rooted at a block limit element. - // We either have to build lists or remove lists, for removing a list does not makes sense when we are looking - // at the group that's not rooted at lists. So we have three cases to handle. - var listsCreated = []; - while ( listGroups.length > 0 ) { - groupObj = listGroups.shift(); - if ( this.state == CKEDITOR.TRISTATE_OFF ) { - if ( listNodeNames[ groupObj.root.getName() ] ) - changeListType.call( this, editor, groupObj, database, listsCreated ); - else - createList.call( this, editor, groupObj, listsCreated ); - } else if ( this.state == CKEDITOR.TRISTATE_ON && listNodeNames[ groupObj.root.getName() ] ) - removeList.call( this, editor, groupObj, database ); - } - - // For all new lists created, merge into adjacent, same type lists. - for ( i = 0; i < listsCreated.length; i++ ) - mergeListSiblings( listsCreated[ i ] ); - - // Clean up, restore selection and update toolbar button states. - CKEDITOR.dom.element.clearAllMarkers( database ); - selection.selectBookmarks( bookmarks ); - editor.focus(); - }, - - refresh: function( editor, path ) { - var list = path.contains( listNodeNames, 1 ), - limit = path.blockLimit || path.root; - - // 1. Only a single type of list activate. - // 2. Do not show list outside of block limit. - if ( list && limit.contains( list ) ) - this.setState( list.is( this.type ) ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF ); - else - this.setState( CKEDITOR.TRISTATE_OFF ); - } - }; - - var dtd = CKEDITOR.dtd; - var tailNbspRegex = /[\t\r\n ]*(?: |\xa0)$/; - - // Merge list adjacent, of same type lists. - function mergeListSiblings( listNode ) - { - var mergeSibling; - ( mergeSibling = function( rtl ) - { - var sibling = listNode[ rtl ? 'getPrevious' : 'getNext' ]( nonEmpty ); - if ( sibling && - sibling.type == CKEDITOR.NODE_ELEMENT && - sibling.is( listNode.getName() ) ) - { - // Move children order by merge direction.(#3820) - mergeChildren( listNode, sibling, null, !rtl ); - - listNode.remove(); - listNode = sibling; - } - } )(); - mergeSibling( 1 ); - } - - function indexOfFirstChildElement( element, tagNameList ) { - var child, - children = element.children, - length = children.length; - - for ( var i = 0; i < length; i++ ) { - child = children[ i ]; - if ( child.name && ( child.name in tagNameList ) ) - return i; - } - - return length; - } - - // Check if node is block element that recieves text. - function isTextBlock( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && ( node.getName() in CKEDITOR.dtd.$block || node.getName() in CKEDITOR.dtd.$listItem ) && CKEDITOR.dtd[ node.getName() ][ '#' ]; - } - - // Join visually two block lines. - function joinNextLineToCursor( editor, cursor, nextCursor ) { - editor.fire( 'saveSnapshot' ); - - // Merge with previous block's content. - nextCursor.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS ); - var frag = nextCursor.extractContents(); - - cursor.trim( false, true ); - var bm = cursor.createBookmark(); - - // Kill original bogus; - var currentPath = new CKEDITOR.dom.elementPath( cursor.startContainer ), - pathBlock = currentPath.block, - currentBlock = currentPath.lastElement.getAscendant( 'li', 1 ) || pathBlock, - nextPath = new CKEDITOR.dom.elementPath( nextCursor.startContainer ), - nextLi = nextPath.contains( CKEDITOR.dtd.$listItem ), - nextList = nextPath.contains( CKEDITOR.dtd.$list ), - last; - - // Remove bogus node the current block/pseudo block. - if ( pathBlock ) { - var bogus = pathBlock.getBogus(); - bogus && bogus.remove(); - } - else if ( nextList ) { - last = nextList.getPrevious( nonEmpty ); - if ( last && blockBogus( last ) ) - last.remove(); - } - - // Kill the tail br in extracted. - last = frag.getLast(); - if ( last && last.type == CKEDITOR.NODE_ELEMENT && last.is( 'br' ) ) - last.remove(); - - // Insert fragment at the range position. - var nextNode = cursor.startContainer.getChild( cursor.startOffset ); - if ( nextNode ) - frag.insertBefore( nextNode ); - else - cursor.startContainer.append( frag ); - - // Move the sub list nested in the next list item. - if ( nextLi ) { - var sublist = getSubList( nextLi ); - if ( sublist ) { - // If next line is in the sub list of the current list item. - if ( currentBlock.contains( nextLi ) ) { - mergeChildren( sublist, nextLi.getParent(), nextLi ); - sublist.remove(); - } - // Migrate the sub list to current list item. - else - currentBlock.append( sublist ); - } - } - - var nextBlock, parent; - // Remove any remaining zombies path blocks at the end after line merged. - while ( nextCursor.checkStartOfBlock() && nextCursor.checkEndOfBlock() ) { - nextPath = nextCursor.startPath(); - nextBlock = nextPath.block; - - // Abort when nothing to be removed (#10890). - if ( !nextBlock ) - break; - - // Check if also to remove empty list. - if ( nextBlock.is( 'li' ) ) { - parent = nextBlock.getParent(); - if ( nextBlock.equals( parent.getLast( nonEmpty ) ) && nextBlock.equals( parent.getFirst( nonEmpty ) ) ) - nextBlock = parent; - } - - nextCursor.moveToPosition( nextBlock, CKEDITOR.POSITION_BEFORE_START ); - nextBlock.remove(); - } - - // Check if need to further merge with the list resides after the merged block. (#9080) - var walkerRng = nextCursor.clone(), editable = editor.editable(); - walkerRng.setEndAt( editable, CKEDITOR.POSITION_BEFORE_END ); - var walker = new CKEDITOR.dom.walker( walkerRng ); - walker.evaluator = function( node ) { return nonEmpty( node ) && !blockBogus( node ); }; - var next = walker.next(); - if ( next && next.type == CKEDITOR.NODE_ELEMENT && next.getName() in CKEDITOR.dtd.$list ) - mergeListSiblings( next ); - - cursor.moveToBookmark( bm ); - - // Make fresh selection. - cursor.select(); - - editor.fire( 'saveSnapshot' ); - } - - function getSubList( li ) { - var last = li.getLast( nonEmpty ); - return last && last.type == CKEDITOR.NODE_ELEMENT && last.getName() in listNodeNames ? last : null; - } - - CKEDITOR.plugins.add( 'list', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'bulletedlist,bulletedlist-rtl,numberedlist,numberedlist-rtl', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - requires: 'indentlist', - init: function( editor ) { - if ( editor.blockless ) - return; - - // Register commands. - editor.addCommand( 'numberedlist', new listCommand( 'numberedlist', 'ol' ) ); - editor.addCommand( 'bulletedlist', new listCommand( 'bulletedlist', 'ul' ) ); - - // Register the toolbar button. - if ( editor.ui.addButton ) { - editor.ui.addButton( 'NumberedList', { - label: editor.lang.list.numberedlist, - command: 'numberedlist', - directional: true, - toolbar: 'list,10' - } ); - editor.ui.addButton( 'BulletedList', { - label: editor.lang.list.bulletedlist, - command: 'bulletedlist', - directional: true, - toolbar: 'list,20' - } ); - } - - // Handled backspace/del key to join list items. (#8248,#9080) - editor.on( 'key', function( evt ) { - // Use getKey directly in order to ignore modifiers. - // Justification: http://dev.ckeditor.com/ticket/11861#comment:13 - var key = evt.data.domEvent.getKey(); - - // DEl/BACKSPACE - if ( editor.mode == 'wysiwyg' && key in { 8: 1, 46: 1 } ) { - var sel = editor.getSelection(), - range = sel.getRanges()[ 0 ], - path = range && range.startPath(); - - if ( !range || !range.collapsed ) - return; - - var isBackspace = key == 8; - var editable = editor.editable(); - var walker = new CKEDITOR.dom.walker( range.clone() ); - walker.evaluator = function( node ) { - return nonEmpty( node ) && !blockBogus( node ); - }; - // Backspace/Del behavior at the start/end of table is handled in core. - walker.guard = function( node, isOut ) { - return !( isOut && node.type == CKEDITOR.NODE_ELEMENT && node.is( 'table' ) ); - }; - - var cursor = range.clone(); - - if ( isBackspace ) { - var previous, joinWith; - - // Join a sub list's first line, with the previous visual line in parent. - if ( ( previous = path.contains( listNodeNames ) ) && - range.checkBoundaryOfElement( previous, CKEDITOR.START ) && - ( previous = previous.getParent() ) && previous.is( 'li' ) && - ( previous = getSubList( previous ) ) ) { - joinWith = previous; - previous = previous.getPrevious( nonEmpty ); - // Place cursor before the nested list. - cursor.moveToPosition( - previous && blockBogus( previous ) ? previous : joinWith, - CKEDITOR.POSITION_BEFORE_START ); - } - // Join any line following a list, with the last visual line of the list. - else { - walker.range.setStartAt( editable, CKEDITOR.POSITION_AFTER_START ); - walker.range.setEnd( range.startContainer, range.startOffset ); - - previous = walker.previous(); - - if ( previous && previous.type == CKEDITOR.NODE_ELEMENT && - ( previous.getName() in listNodeNames || - previous.is( 'li' ) ) ) { - if ( !previous.is( 'li' ) ) { - walker.range.selectNodeContents( previous ); - walker.reset(); - walker.evaluator = isTextBlock; - previous = walker.previous(); - } - - joinWith = previous; - // Place cursor at the end of previous block. - cursor.moveToElementEditEnd( joinWith ); - } - } - - if ( joinWith ) { - joinNextLineToCursor( editor, cursor, range ); - evt.cancel(); - } - else { - var list = path.contains( listNodeNames ); - // Backspace pressed at the start of list outdents the first list item. (#9129) - if ( list && range.checkBoundaryOfElement( list, CKEDITOR.START ) ) { - li = list.getFirst( nonEmpty ); - - if ( range.checkBoundaryOfElement( li, CKEDITOR.START ) ) { - previous = list.getPrevious( nonEmpty ); - - // Only if the list item contains a sub list, do nothing but - // simply move cursor backward one character. - if ( getSubList( li ) ) { - if ( previous ) { - range.moveToElementEditEnd( previous ); - range.select(); - } - - evt.cancel(); - } - else { - editor.execCommand( 'outdent' ); - evt.cancel(); - } - } - } - } - - } else { - - var next, nextLine, li = path.contains( 'li' ); - - if ( li ) { - walker.range.setEndAt( editable, CKEDITOR.POSITION_BEFORE_END ); - - var last = li.getLast( nonEmpty ); - var block = last && isTextBlock( last ) ? last : li; - - // Indicate cursor at the visual end of an list item. - var isAtEnd = 0; - - next = walker.next(); - - // When list item contains a sub list. - if ( next && next.type == CKEDITOR.NODE_ELEMENT && - next.getName() in listNodeNames && - next.equals( last ) ) - { - isAtEnd = 1; - - // Move to the first item in sub list. - next = walker.next(); - } - // Right at the end of list item. - else if ( range.checkBoundaryOfElement( block, CKEDITOR.END ) ) - isAtEnd = 1; - - - if ( isAtEnd && next ) { - // Put cursor range there. - nextLine = range.clone(); - nextLine.moveToElementEditStart( next ); - - joinNextLineToCursor( editor, cursor, nextLine ); - evt.cancel(); - } - } - else - { - // Handle Del key pressed before the list. - walker.range.setEndAt( editable, CKEDITOR.POSITION_BEFORE_END ); - next = walker.next(); - - if ( next && next.type == CKEDITOR.NODE_ELEMENT && - next.is( listNodeNames ) ) { - // The start
  • - next = next.getFirst( nonEmpty ); - - // Simply remove the current empty block, move cursor to the - // subsequent list. - if ( path.block && - range.checkStartOfBlock() && - range.checkEndOfBlock() ) { - path.block.remove(); - range.moveToElementEditStart( next ); - range.select(); - evt.cancel(); - } - // Preventing the default (merge behavior), but simply move - // the cursor one character forward if subsequent list item - // contains sub list. - else if ( getSubList( next ) ) { - range.moveToElementEditStart( next ); - range.select(); - evt.cancel(); - } - // Merge the first list item with the current line. - else { - nextLine = range.clone(); - nextLine.moveToElementEditStart( next ); - joinNextLineToCursor( editor, cursor, nextLine ); - evt.cancel(); - } - } - } - - } - - // The backspace/del could potentially put cursor at a bad position, - // being it handled or not, check immediately the selection to have it fixed. - setTimeout( function() { editor.selectionChange( 1 ); } ); - } - } ); - } - } ); -} )(); diff --git a/scripts/ckeditor/plugins/listblock/plugin.js b/scripts/ckeditor/plugins/listblock/plugin.js deleted file mode 100755 index 9c398493..00000000 --- a/scripts/ckeditor/plugins/listblock/plugin.js +++ /dev/null @@ -1,240 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.add( 'listblock', { - requires: 'panel', - - onLoad: function() { - var list = CKEDITOR.addTemplate( 'panel-list', '' ), - listItem = CKEDITOR.addTemplate( 'panel-list-item', '
  • ' ), - listGroup = CKEDITOR.addTemplate( 'panel-list-group', '

    {label}

    ' ), - reSingleQuote = /\'/g, - escapeSingleQuotes = function( str ) { - return str.replace( reSingleQuote, '\\\'' ); - }; - - CKEDITOR.ui.panel.prototype.addListBlock = function( name, definition ) { - return this.addBlock( name, new CKEDITOR.ui.listBlock( this.getHolderElement(), definition ) ); - }; - - CKEDITOR.ui.listBlock = CKEDITOR.tools.createClass( { - base: CKEDITOR.ui.panel.block, - - $: function( blockHolder, blockDefinition ) { - blockDefinition = blockDefinition || {}; - - var attribs = blockDefinition.attributes || ( blockDefinition.attributes = {} ); - ( this.multiSelect = !!blockDefinition.multiSelect ) && ( attribs[ 'aria-multiselectable' ] = true ); - // Provide default role of 'listbox'. - !attribs.role && ( attribs.role = 'listbox' ); - - // Call the base contructor. - this.base.apply( this, arguments ); - - // Set the proper a11y attributes. - this.element.setAttribute( 'role', attribs.role ); - - var keys = this.keys; - keys[ 40 ] = 'next'; // ARROW-DOWN - keys[ 9 ] = 'next'; // TAB - keys[ 38 ] = 'prev'; // ARROW-UP - keys[ CKEDITOR.SHIFT + 9 ] = 'prev'; // SHIFT + TAB - keys[ 32 ] = CKEDITOR.env.ie ? 'mouseup' : 'click'; // SPACE - CKEDITOR.env.ie && ( keys[ 13 ] = 'mouseup' ); // Manage ENTER, since onclick is blocked in IE (#8041). - - this._.pendingHtml = []; - this._.pendingList = []; - this._.items = {}; - this._.groups = {}; - }, - - _: { - close: function() { - if ( this._.started ) { - var output = list.output( { items: this._.pendingList.join( '' ) } ); - this._.pendingList = []; - this._.pendingHtml.push( output ); - delete this._.started; - } - }, - - getClick: function() { - if ( !this._.click ) { - this._.click = CKEDITOR.tools.addFunction( function( value ) { - var marked = this.toggle( value ); - if ( this.onClick ) - this.onClick( value, marked ); - }, this ); - } - return this._.click; - } - }, - - proto: { - add: function( value, html, title ) { - var id = CKEDITOR.tools.getNextId(); - - if ( !this._.started ) { - this._.started = 1; - this._.size = this._.size || 0; - } - - this._.items[ value ] = id; - - var data = { - id: id, - val: escapeSingleQuotes( CKEDITOR.tools.htmlEncodeAttr( value ) ), - onclick: CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick', - clickFn: this._.getClick(), - title: CKEDITOR.tools.htmlEncodeAttr( title || value ), - text: html || value - }; - - this._.pendingList.push( listItem.output( data ) ); - }, - - startGroup: function( title ) { - this._.close(); - - var id = CKEDITOR.tools.getNextId(); - - this._.groups[ title ] = id; - - this._.pendingHtml.push( listGroup.output( { id: id, label: title } ) ); - }, - - commit: function() { - this._.close(); - this.element.appendHtml( this._.pendingHtml.join( '' ) ); - delete this._.size; - - this._.pendingHtml = []; - }, - - toggle: function( value ) { - var isMarked = this.isMarked( value ); - - if ( isMarked ) - this.unmark( value ); - else - this.mark( value ); - - return !isMarked; - }, - - hideGroup: function( groupTitle ) { - var group = this.element.getDocument().getById( this._.groups[ groupTitle ] ), - list = group && group.getNext(); - - if ( group ) { - group.setStyle( 'display', 'none' ); - - if ( list && list.getName() == 'ul' ) - list.setStyle( 'display', 'none' ); - } - }, - - hideItem: function( value ) { - this.element.getDocument().getById( this._.items[ value ] ).setStyle( 'display', 'none' ); - }, - - showAll: function() { - var items = this._.items, - groups = this._.groups, - doc = this.element.getDocument(); - - for ( var value in items ) { - doc.getById( items[ value ] ).setStyle( 'display', '' ); - } - - for ( var title in groups ) { - var group = doc.getById( groups[ title ] ), - list = group.getNext(); - - group.setStyle( 'display', '' ); - - if ( list && list.getName() == 'ul' ) - list.setStyle( 'display', '' ); - } - }, - - mark: function( value ) { - if ( !this.multiSelect ) - this.unmarkAll(); - - var itemId = this._.items[ value ], - item = this.element.getDocument().getById( itemId ); - item.addClass( 'cke_selected' ); - - this.element.getDocument().getById( itemId + '_option' ).setAttribute( 'aria-selected', true ); - this.onMark && this.onMark( item ); - }, - - unmark: function( value ) { - var doc = this.element.getDocument(), - itemId = this._.items[ value ], - item = doc.getById( itemId ); - - item.removeClass( 'cke_selected' ); - doc.getById( itemId + '_option' ).removeAttribute( 'aria-selected' ); - - this.onUnmark && this.onUnmark( item ); - }, - - unmarkAll: function() { - var items = this._.items, - doc = this.element.getDocument(); - - for ( var value in items ) { - var itemId = items[ value ]; - - doc.getById( itemId ).removeClass( 'cke_selected' ); - doc.getById( itemId + '_option' ).removeAttribute( 'aria-selected' ); - } - - this.onUnmark && this.onUnmark(); - }, - - isMarked: function( value ) { - return this.element.getDocument().getById( this._.items[ value ] ).hasClass( 'cke_selected' ); - }, - - focus: function( value ) { - this._.focusIndex = -1; - - var links = this.element.getElementsByTag( 'a' ), - link, - selected, - i = -1; - - if ( value ) { - selected = this.element.getDocument().getById( this._.items[ value ] ).getFirst(); - - while ( ( link = links.getItem( ++i ) ) ) { - if ( link.equals( selected ) ) { - this._.focusIndex = i; - break; - } - } - } - else - this.element.focus(); - - selected && setTimeout( function() { - selected.focus(); - }, 0 ); - } - } - } ); - } -} ); diff --git a/scripts/ckeditor/plugins/liststyle/dialogs/liststyle.js b/scripts/ckeditor/plugins/liststyle/dialogs/liststyle.js old mode 100755 new mode 100644 index 04c58f87..eec0e979 --- a/scripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +++ b/scripts/ckeditor/plugins/liststyle/dialogs/liststyle.js @@ -1,199 +1,10 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - function getListElement( editor, listTag ) { - var range; - try { - range = editor.getSelection().getRanges()[ 0 ]; - } catch ( e ) { - return null; - } - - range.shrink( CKEDITOR.SHRINK_TEXT ); - return editor.elementPath( range.getCommonAncestor() ).contains( listTag, 1 ); - } - - var listItem = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' ); - }; - - var mapListStyle = { - 'a': 'lower-alpha', - 'A': 'upper-alpha', - 'i': 'lower-roman', - 'I': 'upper-roman', - '1': 'decimal', - 'disc': 'disc', - 'circle': 'circle', - 'square': 'square' - }; - - function listStyle( editor, startupPage ) { - var lang = editor.lang.liststyle; - if ( startupPage == 'bulletedListStyle' ) { - return { - title: lang.bulletedTitle, - minWidth: 300, - minHeight: 50, - contents: [ - { - id: 'info', - accessKey: 'I', - elements: [ - { - type: 'select', - label: lang.type, - id: 'type', - align: 'center', - style: 'width:150px', - items: [ - [ lang.notset, '' ], - [ lang.circle, 'circle' ], - [ lang.disc, 'disc' ], - [ lang.square, 'square' ] - ], - setup: function( element ) { - var value = element.getStyle( 'list-style-type' ) || mapListStyle[ element.getAttribute( 'type' ) ] || element.getAttribute( 'type' ) || ''; - - this.setValue( value ); - }, - commit: function( element ) { - var value = this.getValue(); - if ( value ) - element.setStyle( 'list-style-type', value ); - else - element.removeStyle( 'list-style-type' ); - } - } - ] - } - ], - onShow: function() { - var editor = this.getParentEditor(), - element = getListElement( editor, 'ul' ); - - element && this.setupContent( element ); - }, - onOk: function() { - var editor = this.getParentEditor(), - element = getListElement( editor, 'ul' ); - - element && this.commitContent( element ); - } - }; - } else if ( startupPage == 'numberedListStyle' ) { - - var listStyleOptions = [ - [ lang.notset, '' ], - [ lang.lowerRoman, 'lower-roman' ], - [ lang.upperRoman, 'upper-roman' ], - [ lang.lowerAlpha, 'lower-alpha' ], - [ lang.upperAlpha, 'upper-alpha' ], - [ lang.decimal, 'decimal' ] - ]; - - if ( !CKEDITOR.env.ie || CKEDITOR.env.version > 7 ) { - listStyleOptions.concat( [ - [ lang.armenian, 'armenian' ], - [ lang.decimalLeadingZero, 'decimal-leading-zero' ], - [ lang.georgian, 'georgian' ], - [ lang.lowerGreek, 'lower-greek' ] - ] ); - } - - return { - title: lang.numberedTitle, - minWidth: 300, - minHeight: 50, - contents: [ - { - id: 'info', - accessKey: 'I', - elements: [ - { - type: 'hbox', - widths: [ '25%', '75%' ], - children: [ - { - label: lang.start, - type: 'text', - id: 'start', - validate: CKEDITOR.dialog.validate.integer( lang.validateStartNumber ), - setup: function( element ) { - // List item start number dominates. - var value = element.getFirst( listItem ).getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1; - value && this.setValue( value ); - }, - commit: function( element ) { - var firstItem = element.getFirst( listItem ); - var oldStart = firstItem.getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1; - - // Force start number on list root. - element.getFirst( listItem ).removeAttribute( 'value' ); - var val = parseInt( this.getValue(), 10 ); - if ( isNaN( val ) ) - element.removeAttribute( 'start' ); - else - element.setAttribute( 'start', val ); - - // Update consequent list item numbering. - var nextItem = firstItem, - conseq = oldStart, - startNumber = isNaN( val ) ? 1 : val; - while ( ( nextItem = nextItem.getNext( listItem ) ) && conseq++ ) { - if ( nextItem.getAttribute( 'value' ) == conseq ) - nextItem.setAttribute( 'value', startNumber + conseq - oldStart ); - } - } - }, - { - type: 'select', - label: lang.type, - id: 'type', - style: 'width: 100%;', - items: listStyleOptions, - setup: function( element ) { - var value = element.getStyle( 'list-style-type' ) || mapListStyle[ element.getAttribute( 'type' ) ] || element.getAttribute( 'type' ) || ''; - - this.setValue( value ); - }, - commit: function( element ) { - var value = this.getValue(); - if ( value ) - element.setStyle( 'list-style-type', value ); - else - element.removeStyle( 'list-style-type' ); - } - } - ] - } - ] - } - ], - onShow: function() { - var editor = this.getParentEditor(), - element = getListElement( editor, 'ol' ); - - element && this.setupContent( element ); - }, - onOk: function() { - var editor = this.getParentEditor(), - element = getListElement( editor, 'ol' ); - - element && this.commitContent( element ); - } - }; - } - } - - CKEDITOR.dialog.add( 'numberedListStyle', function( editor ) { - return listStyle( editor, 'numberedListStyle' ); - } ); - - CKEDITOR.dialog.add( 'bulletedListStyle', function( editor ) { - return listStyle( editor, 'bulletedListStyle' ); - } ); -} )(); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){function d(c,d){var b;try{b=c.getSelection().getRanges()[0]}catch(f){return null}b.shrink(CKEDITOR.SHRINK_TEXT);return c.elementPath(b.getCommonAncestor()).contains(d,1)}function e(c,e){var b=c.lang.liststyle;if("bulletedListStyle"==e)return{title:b.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:"info",accessKey:"I",elements:[{type:"select",label:b.type,id:"type",align:"center",style:"width:150px",items:[[b.notset,""],[b.circle,"circle"],[b.disc,"disc"],[b.square,"square"]],setup:function(a){this.setValue(a.getStyle("list-style-type")|| +h[a.getAttribute("type")]||a.getAttribute("type")||"")},commit:function(a){var b=this.getValue();b?a.setStyle("list-style-type",b):a.removeStyle("list-style-type")}}]}],onShow:function(){var a=this.getParentEditor();(a=d(a,"ul"))&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor();(a=d(a,"ul"))&&this.commitContent(a)}};if("numberedListStyle"==e){var g=[[b.notset,""],[b.lowerRoman,"lower-roman"],[b.upperRoman,"upper-roman"],[b.lowerAlpha,"lower-alpha"],[b.upperAlpha,"upper-alpha"], +[b.decimal,"decimal"]];(!CKEDITOR.env.ie||7', - numberedTitle: 'Eienskappe van genommerde lys', - square: 'Vierkant', - start: 'Begin', - type: 'Tipe', - upperAlpha: 'Hoofletters (A, B, C, D, E, ens.)', - upperRoman: 'Romeinse hoofletters (I, II, III, IV, V, ens.)', - validateStartNumber: 'Beginnommer van lys moet \'n heelgetal wees.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/ar.js b/scripts/ckeditor/plugins/liststyle/lang/ar.js deleted file mode 100755 index b4071d3e..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/ar.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'ar', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/bg.js b/scripts/ckeditor/plugins/liststyle/lang/bg.js deleted file mode 100755 index b8d68a19..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/bg.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'bg', { - armenian: 'Арменско номериране', - bulletedTitle: 'Bulleted List Properties', - circle: 'Кръг', - decimal: 'Числа (1, 2, 3 и др.)', - decimalLeadingZero: 'Числа с водеща нула (01, 02, 03 и т.н.)', - disc: 'Диск', - georgian: 'Грузинско номериране (an, ban, gan, и т.н.)', - lowerAlpha: 'Малки букви (а, б, в, г, д и т.н.)', - lowerGreek: 'Малки гръцки букви (алфа, бета, гама и т.н.)', - lowerRoman: 'Малки римски числа (i, ii, iii, iv, v и т.н.)', - none: 'Няма', - notset: '<не е указано>', - numberedTitle: 'Numbered List Properties', - square: 'Квадрат', - start: 'Старт', - type: 'Тип', - upperAlpha: 'Големи букви (А, Б, В, Г, Д и т.н.)', - upperRoman: 'Големи римски числа (I, II, III, IV, V и т.н.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/bn.js b/scripts/ckeditor/plugins/liststyle/lang/bn.js deleted file mode 100755 index 3593fe41..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/bn.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'bn', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/bs.js b/scripts/ckeditor/plugins/liststyle/lang/bs.js deleted file mode 100755 index 13f64df1..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/bs.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'bs', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/ca.js b/scripts/ckeditor/plugins/liststyle/lang/ca.js deleted file mode 100755 index 7f7b77be..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/ca.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'ca', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/cs.js b/scripts/ckeditor/plugins/liststyle/lang/cs.js deleted file mode 100755 index 4238d45c..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/cs.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'cs', { - armenian: 'Arménské', - bulletedTitle: 'Vlastnosti odrážek', - circle: 'Kroužky', - decimal: 'Arabská čísla (1, 2, 3, atd.)', - decimalLeadingZero: 'Arabská čísla uvozená nulou (01, 02, 03, atd.)', - disc: 'Kolečka', - georgian: 'Gruzínské (an, ban, gan, atd.)', - lowerAlpha: 'Malá latinka (a, b, c, d, e, atd.)', - lowerGreek: 'Malé řecké (alpha, beta, gamma, atd.)', - lowerRoman: 'Malé římské (i, ii, iii, iv, v, atd.)', - none: 'Nic', - notset: '', - numberedTitle: 'Vlastnosti číslování', - square: 'Čtverce', - start: 'Počátek', - type: 'Typ', - upperAlpha: 'Velká latinka (A, B, C, D, E, atd.)', - upperRoman: 'Velké římské (I, II, III, IV, V, atd.)', - validateStartNumber: 'Číslování musí začínat celým číslem.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/cy.js b/scripts/ckeditor/plugins/liststyle/lang/cy.js deleted file mode 100755 index a3ea4d3c..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/cy.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'cy', { - armenian: 'Rhifo Armeneg', - bulletedTitle: 'Priodweddau Rhestr Fwled', - circle: 'Cylch', - decimal: 'Degol (1, 2, 3, ayyb.)', - decimalLeadingZero: 'Degol â sero arweiniol (01, 02, 03, ayyb.)', - disc: 'Disg', - georgian: 'Rhifau Sioraidd (an, ban, gan, ayyb.)', - lowerAlpha: 'Alffa Is (a, b, c, d, e, ayyb.)', - lowerGreek: 'Groeg Is (alpha, beta, gamma, ayyb.)', - lowerRoman: 'Rhufeinig Is (i, ii, iii, iv, v, ayyb.)', - none: 'Dim', - notset: '', - numberedTitle: 'Priodweddau Rhestr Rifol', - square: 'Sgwâr', - start: 'Dechrau', - type: 'Math', - upperAlpha: 'Alffa Uwch (A, B, C, D, E, ayyb.)', - upperRoman: 'Rhufeinig Uwch (I, II, III, IV, V, ayyb.)', - validateStartNumber: 'Rhaid bod y rhif cychwynnol yn gyfanrif.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/da.js b/scripts/ckeditor/plugins/liststyle/lang/da.js deleted file mode 100755 index 701587be..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/da.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'da', { - armenian: 'Armensk nummering', - bulletedTitle: 'Værdier for cirkelpunktopstilling', - circle: 'Cirkel', - decimal: 'Decimal (1, 2, 3, osv.)', - decimalLeadingZero: 'Decimaler med 0 først (01, 02, 03, etc.)', - disc: 'Værdier for diskpunktopstilling', - georgian: 'Georgiansk nummering (an, ban, gan, etc.)', - lowerAlpha: 'Små alfabet (a, b, c, d, e, etc.)', - lowerGreek: 'Små græsk (alpha, beta, gamma, etc.)', - lowerRoman: 'Små romerske (i, ii, iii, iv, v, etc.)', - none: 'Ingen', - notset: '', - numberedTitle: 'Egenskaber for nummereret liste', - square: 'Firkant', - start: 'Start', - type: 'Type', - upperAlpha: 'Store alfabet (A, B, C, D, E, etc.)', - upperRoman: 'Store romerske (I, II, III, IV, V, etc.)', - validateStartNumber: 'Den nummererede liste skal starte med et rundt nummer' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/de.js b/scripts/ckeditor/plugins/liststyle/lang/de.js deleted file mode 100755 index 34b37847..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/de.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'de', { - armenian: 'Armenisch Nummerierung', - bulletedTitle: 'Listen-Eigenschaften', - circle: 'Ring', - decimal: 'Dezimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Dezimal mit führende Null (01, 02, 03, etc.)', - disc: 'Kreis', - georgian: 'Georgisch Nummerierung (an, ban, gan, etc.)', - lowerAlpha: 'Klein alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Klein griechisch (alpha, beta, gamma, etc.)', - lowerRoman: 'Klein römisch (i, ii, iii, iv, v, etc.)', - none: 'Keine', - notset: '', - numberedTitle: 'Nummerierte Listen-Eigenschaften', - square: 'Quadrat', - start: 'Start', - type: 'Typ', - upperAlpha: 'Groß alpha (A, B, C, D, E, etc.)', - upperRoman: 'Groß römisch (I, II, III, IV, V, etc.)', - validateStartNumber: 'List Startnummer muss eine ganze Zahl sein.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/el.js b/scripts/ckeditor/plugins/liststyle/lang/el.js deleted file mode 100755 index b5b5f931..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/el.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'el', { - armenian: 'Αρμενική αρίθμηση', - bulletedTitle: 'Ιδιότητες Λίστας Σημείων', - circle: 'Κύκλος', - decimal: 'Δεκαδική (1, 2, 3, κτλ)', - decimalLeadingZero: 'Δεκαδική με αρχικό μηδεν (01, 02, 03, κτλ)', - disc: 'Δίσκος', - georgian: 'Γεωργιανή αρίθμηση (ა, ბ, გ, κτλ)', - lowerAlpha: 'Μικρά Λατινικά (a, b, c, d, e, κτλ.)', - lowerGreek: 'Μικρά Ελληνικά (α, β, γ, κτλ)', - lowerRoman: 'Μικρά Ρωμαϊκά (i, ii, iii, iv, v, κτλ)', - none: 'Καμία', - notset: '<δεν έχει οριστεί>', - numberedTitle: 'Ιδιότητες Αριθμημένης Λίστας ', - square: 'Τετράγωνο', - start: 'Εκκίνηση', - type: 'Τύπος', - upperAlpha: 'Κεφαλαία Λατινικά (A, B, C, D, E, κτλ)', - upperRoman: 'Κεφαλαία Ρωμαϊκά (I, II, III, IV, V, κτλ)', - validateStartNumber: 'Ο αριθμός εκκίνησης της αρίθμησης πρέπει να είναι ακέραιος αριθμός.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/en-au.js b/scripts/ckeditor/plugins/liststyle/lang/en-au.js deleted file mode 100755 index be555b55..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/en-au.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'en-au', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/en-ca.js b/scripts/ckeditor/plugins/liststyle/lang/en-ca.js deleted file mode 100755 index ab2eea61..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/en-ca.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'en-ca', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/en-gb.js b/scripts/ckeditor/plugins/liststyle/lang/en-gb.js deleted file mode 100755 index 2ffd2884..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/en-gb.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'en-gb', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/en.js b/scripts/ckeditor/plugins/liststyle/lang/en.js deleted file mode 100755 index 2fe95a00..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/en.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'en', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/eo.js b/scripts/ckeditor/plugins/liststyle/lang/eo.js deleted file mode 100755 index d18430e8..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/eo.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'eo', { - armenian: 'Armena nombrado', - bulletedTitle: 'Atributoj de Bula Listo', - circle: 'Cirklo', - decimal: 'Dekumaj Nombroj (1, 2, 3, ktp.)', - decimalLeadingZero: 'Dekumaj Nombroj malantaŭ nulo (01, 02, 03, ktp.)', - disc: 'Disko', - georgian: 'Gruza nombrado (an, ban, gan, ktp.)', - lowerAlpha: 'Minusklaj Literoj (a, b, c, d, e, ktp.)', - lowerGreek: 'Grekaj Minusklaj Literoj (alpha, beta, gamma, ktp.)', - lowerRoman: 'Minusklaj Romanaj Nombroj (i, ii, iii, iv, v, ktp.)', - none: 'Neniu', - notset: '', - numberedTitle: 'Atributoj de Numera Listo', - square: 'kvadrato', - start: 'Komenco', - type: 'Tipo', - upperAlpha: 'Majusklaj Literoj (A, B, C, D, E, ktp.)', - upperRoman: 'Majusklaj Romanaj Nombroj (I, II, III, IV, V, ktp.)', - validateStartNumber: 'La unua listero devas esti entjera nombro.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/es.js b/scripts/ckeditor/plugins/liststyle/lang/es.js deleted file mode 100755 index 01089fc3..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/es.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'es', { - armenian: 'Numeración armenia', - bulletedTitle: 'Propiedades de viñetas', - circle: 'Círculo', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal con cero inicial (01, 02, 03, etc.)', - disc: 'Disco', - georgian: 'Numeración georgiana (an, ban, gan, etc.)', - lowerAlpha: 'Alfabeto en minúsculas (a, b, c, d, e, etc.)', - lowerGreek: 'Letras griegas (alpha, beta, gamma, etc.)', - lowerRoman: 'Números romanos en minúsculas (i, ii, iii, iv, v, etc.)', - none: 'Ninguno', - notset: '', - numberedTitle: 'Propiedades de lista numerada', - square: 'Cuadrado', - start: 'Inicio', - type: 'Tipo', - upperAlpha: 'Alfabeto en mayúsculas (A, B, C, D, E, etc.)', - upperRoman: 'Números romanos en mayúsculas (I, II, III, IV, V, etc.)', - validateStartNumber: 'El Inicio debe ser un número entero.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/et.js b/scripts/ckeditor/plugins/liststyle/lang/et.js deleted file mode 100755 index b065fa6a..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/et.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'et', { - armenian: 'Armeenia numbrid', - bulletedTitle: 'Punktloendi omadused', - circle: 'Ring', - decimal: 'Numbrid (1, 2, 3, jne)', - decimalLeadingZero: 'Numbrid algusnulliga (01, 02, 03, jne)', - disc: 'Täpp', - georgian: 'Gruusia numbrid (an, ban, gan, jne)', - lowerAlpha: 'Väiketähed (a, b, c, d, e, jne)', - lowerGreek: 'Kreeka väiketähed (alpha, beta, gamma, jne)', - lowerRoman: 'Väiksed rooma numbrid (i, ii, iii, iv, v, jne)', - none: 'Puudub', - notset: '', - numberedTitle: 'Numberloendi omadused', - square: 'Ruut', - start: 'Algus', - type: 'Liik', - upperAlpha: 'Suurtähed (A, B, C, D, E, jne)', - upperRoman: 'Suured rooma numbrid (I, II, III, IV, V, jne)', - validateStartNumber: 'Loendi algusnumber peab olema täisarv.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/eu.js b/scripts/ckeditor/plugins/liststyle/lang/eu.js deleted file mode 100755 index 1c30471c..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/eu.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'eu', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/fa.js b/scripts/ckeditor/plugins/liststyle/lang/fa.js deleted file mode 100755 index 90d30e62..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/fa.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'fa', { - armenian: 'شماره‌گذاری ارمنی', - bulletedTitle: 'خصوصیات فهرست نقطه‌ای', - circle: 'دایره', - decimal: 'ده‌دهی (۱، ۲، ۳، ...)', - decimalLeadingZero: 'دهدهی همراه با صفر (۰۱، ۰۲، ۰۳، ...)', - disc: 'صفحه گرد', - georgian: 'شمارهگذاری گریگورین (an, ban, gan, etc.)', - lowerAlpha: 'پانویس الفبایی (a, b, c, d, e, etc.)', - lowerGreek: 'پانویس یونانی (alpha, beta, gamma, etc.)', - lowerRoman: 'پانویس رومی (i, ii, iii, iv, v, etc.)', - none: 'هیچ', - notset: '<تنظیم نشده>', - numberedTitle: 'ویژگیهای فهرست شمارهدار', - square: 'چهارگوش', - start: 'شروع', - type: 'نوع', - upperAlpha: 'بالانویس الفبایی (A, B, C, D, E, etc.)', - upperRoman: 'بالانویس رومی (I, II, III, IV, V, etc.)', - validateStartNumber: 'فهرست شماره شروع باید یک عدد صحیح باشد.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/fi.js b/scripts/ckeditor/plugins/liststyle/lang/fi.js deleted file mode 100755 index 050df4be..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/fi.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'fi', { - armenian: 'Armeenialainen numerointi', - bulletedTitle: 'Numeroimattoman listan ominaisuudet', - circle: 'Ympyrä', - decimal: 'Desimaalit (1, 2, 3, jne.)', - decimalLeadingZero: 'Desimaalit, alussa nolla (01, 02, 03, jne.)', - disc: 'Levy', - georgian: 'Georgialainen numerointi (an, ban, gan, etc.)', - lowerAlpha: 'Pienet aakkoset (a, b, c, d, e, jne.)', - lowerGreek: 'Pienet kreikkalaiset (alpha, beta, gamma, jne.)', - lowerRoman: 'Pienet roomalaiset (i, ii, iii, iv, v, jne.)', - none: 'Ei mikään', - notset: '', - numberedTitle: 'Numeroidun listan ominaisuudet', - square: 'Neliö', - start: 'Alku', - type: 'Tyyppi', - upperAlpha: 'Isot aakkoset (A, B, C, D, E, jne.)', - upperRoman: 'Isot roomalaiset (I, II, III, IV, V, jne.)', - validateStartNumber: 'Listan ensimmäisen numeron tulee olla kokonaisluku.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/fo.js b/scripts/ckeditor/plugins/liststyle/lang/fo.js deleted file mode 100755 index 571653fa..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/fo.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'fo', { - armenian: 'Armensk talskipan', - bulletedTitle: 'Eginleikar fyri lista við prikkum', - circle: 'Sirkul', - decimal: 'Vanlig tøl (1, 2, 3, etc.)', - decimalLeadingZero: 'Tøl við null frammanfyri (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgisk talskipan (an, ban, gan, osv.)', - lowerAlpha: 'Lítlir bókstavir (a, b, c, d, e, etc.)', - lowerGreek: 'Grikskt við lítlum (alpha, beta, gamma, etc.)', - lowerRoman: 'Lítil rómaratøl (i, ii, iii, iv, v, etc.)', - none: 'Einki', - notset: '', - numberedTitle: 'Eginleikar fyri lista við tølum', - square: 'Fýrkantur', - start: 'Byrjan', - type: 'Slag', - upperAlpha: 'Stórir bókstavir (A, B, C, D, E, etc.)', - upperRoman: 'Stór rómaratøl (I, II, III, IV, V, etc.)', - validateStartNumber: 'Byrjunartalið fyri lista má vera eitt heiltal.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/fr-ca.js b/scripts/ckeditor/plugins/liststyle/lang/fr-ca.js deleted file mode 100755 index 07f14d0c..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/fr-ca.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'fr-ca', { - armenian: 'Numération arménienne', - bulletedTitle: 'Propriété de liste à puce', - circle: 'Cercle', - decimal: 'Décimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Décimal avec zéro (01, 02, 03, etc.)', - disc: 'Disque', - georgian: 'Numération géorgienne (an, ban, gan, etc.)', - lowerAlpha: 'Alphabétique minuscule (a, b, c, d, e, etc.)', - lowerGreek: 'Grecque minuscule (alpha, beta, gamma, etc.)', - lowerRoman: 'Romain minuscule (i, ii, iii, iv, v, etc.)', - none: 'Aucun', - notset: '', - numberedTitle: 'Propriété de la liste numérotée', - square: 'Carré', - start: 'Début', - type: 'Type', - upperAlpha: 'Alphabétique majuscule (A, B, C, D, E, etc.)', - upperRoman: 'Romain Majuscule (I, II, III, IV, V, etc.)', - validateStartNumber: 'Le numéro de début de liste doit être un entier.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/fr.js b/scripts/ckeditor/plugins/liststyle/lang/fr.js deleted file mode 100755 index a4191c61..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/fr.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'fr', { - armenian: 'Numération arménienne', - bulletedTitle: 'Propriétés de la liste à puces', - circle: 'Cercle', - decimal: 'Décimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Décimal précédé par un 0 (01, 02, 03, etc.)', - disc: 'Disque', - georgian: 'Numération géorgienne (an, ban, gan, etc.)', - lowerAlpha: 'Alphabétique minuscules (a, b, c, d, e, etc.)', - lowerGreek: 'Grec minuscule (alpha, beta, gamma, etc.)', - lowerRoman: 'Nombres romains minuscules (i, ii, iii, iv, v, etc.)', - none: 'Aucun', - notset: '', - numberedTitle: 'Propriétés de la liste numérotée', - square: 'Carré', - start: 'Début', - type: 'Type', - upperAlpha: 'Alphabétique majuscules (A, B, C, D, E, etc.)', - upperRoman: 'Nombres romains majuscules (I, II, III, IV, V, etc.)', - validateStartNumber: 'Le premier élément de la liste doit être un nombre entier.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/gl.js b/scripts/ckeditor/plugins/liststyle/lang/gl.js deleted file mode 100755 index 4669af79..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/gl.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'gl', { - armenian: 'Numeración armenia', - bulletedTitle: 'Propiedades da lista viñeteada', - circle: 'Circulo', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal con cero á esquerda (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Numeración xeorxiana (an, ban, gan, etc.)', - lowerAlpha: 'Alfabeto en minúsculas (a, b, c, d, e, etc.)', - lowerGreek: 'Grego en minúsculas (alpha, beta, gamma, etc.)', - lowerRoman: 'Números romanos en minúsculas (i, ii, iii, iv, v, etc.)', - none: 'Ningún', - notset: '', - numberedTitle: 'Propiedades da lista numerada', - square: 'Cadrado', - start: 'Inicio', - type: 'Tipo', - upperAlpha: 'Alfabeto en maiúsculas (A, B, C, D, E, etc.)', - upperRoman: 'Números romanos en maiúsculas (I, II, III, IV, V, etc.)', - validateStartNumber: 'O número de inicio da lista debe ser un número enteiro.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/gu.js b/scripts/ckeditor/plugins/liststyle/lang/gu.js deleted file mode 100755 index 46431977..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/gu.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'gu', { - armenian: 'અરમેનિયન આંકડા પદ્ધતિ', - bulletedTitle: 'બુલેટેડ લીસ્ટના ગુણ', - circle: 'વર્તુળ', - decimal: 'આંકડા (1, 2, 3, etc.)', - decimalLeadingZero: 'સુન્ય આગળ આંકડા (01, 02, 03, etc.)', - disc: 'ડિસ્ક', - georgian: 'ગેઓર્ગિયન આંકડા પદ્ધતિ (an, ban, gan, etc.)', - lowerAlpha: 'આલ્ફા નાના (a, b, c, d, e, etc.)', - lowerGreek: 'ગ્રીક નાના (alpha, beta, gamma, etc.)', - lowerRoman: 'રોમન નાના (i, ii, iii, iv, v, etc.)', - none: 'કસુ ', - notset: '<સેટ નથી>', - numberedTitle: 'આંકડાના લીસ્ટના ગુણ', - square: 'ચોરસ', - start: 'શરુ કરવું', - type: 'પ્રકાર', - upperAlpha: 'આલ્ફા મોટા (A, B, C, D, E, etc.)', - upperRoman: 'રોમન મોટા (I, II, III, IV, V, etc.)', - validateStartNumber: 'લીસ્ટના સરુઆતનો આંકડો પુરો હોવો જોઈએ.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/he.js b/scripts/ckeditor/plugins/liststyle/lang/he.js deleted file mode 100755 index 21dc5be4..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/he.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'he', { - armenian: 'ספרות ארמניות', - bulletedTitle: 'תכונות רשימת תבליטים', - circle: 'עיגול ריק', - decimal: 'ספרות (1, 2, 3 וכו\')', - decimalLeadingZero: 'ספרות עם 0 בהתחלה (01, 02, 03 וכו\')', - disc: 'עיגול מלא', - georgian: 'ספרות גיאורגיות (an, ban, gan וכו\')', - lowerAlpha: 'אותיות אנגליות קטנות (a, b, c, d, e וכו\')', - lowerGreek: 'אותיות יווניות קטנות (alpha, beta, gamma וכו\')', - lowerRoman: 'ספירה רומית באותיות קטנות (i, ii, iii, iv, v וכו\')', - none: 'ללא', - notset: '<לא נקבע>', - numberedTitle: 'תכונות רשימה ממוספרת', - square: 'ריבוע', - start: 'תחילת מספור', - type: 'סוג', - upperAlpha: 'אותיות אנגליות גדולות (A, B, C, D, E וכו\')', - upperRoman: 'ספירה רומיות באותיות גדולות (I, II, III, IV, V וכו\')', - validateStartNumber: 'שדה תחילת המספור חייב להכיל מספר שלם.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/hi.js b/scripts/ckeditor/plugins/liststyle/lang/hi.js deleted file mode 100755 index f59a0c7c..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/hi.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'hi', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/hr.js b/scripts/ckeditor/plugins/liststyle/lang/hr.js deleted file mode 100755 index 87d15999..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/hr.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'hr', { - armenian: 'Armenijska numeracija', - bulletedTitle: 'Svojstva liste', - circle: 'Krug', - decimal: 'Decimalna numeracija (1, 2, 3, itd.)', - decimalLeadingZero: 'Decimalna s vodećom nulom (01, 02, 03, itd)', - disc: 'Disk', - georgian: 'Gruzijska numeracija(an, ban, gan, etc.)', - lowerAlpha: 'Znakovi mala slova (a, b, c, d, e, itd.)', - lowerGreek: 'Grčka numeracija mala slova (alfa, beta, gama, itd).', - lowerRoman: 'Romanska numeracija mala slova (i, ii, iii, iv, v, itd.)', - none: 'Bez', - notset: '', - numberedTitle: 'Svojstva brojčane liste', - square: 'Kvadrat', - start: 'Početak', - type: 'Vrsta', - upperAlpha: 'Znakovi velika slova (A, B, C, D, E, itd.)', - upperRoman: 'Romanska numeracija velika slova (I, II, III, IV, V, itd.)', - validateStartNumber: 'Početak brojčane liste mora biti cijeli broj.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/hu.js b/scripts/ckeditor/plugins/liststyle/lang/hu.js deleted file mode 100755 index b780c5e0..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/hu.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'hu', { - armenian: 'Örmény számozás', - bulletedTitle: 'Pontozott lista tulajdonságai', - circle: 'Kör', - decimal: 'Arab számozás (1, 2, 3, stb.)', - decimalLeadingZero: 'Számozás bevezető nullákkal (01, 02, 03, stb.)', - disc: 'Korong', - georgian: 'Grúz számozás (an, ban, gan, stb.)', - lowerAlpha: 'Kisbetűs (a, b, c, d, e, stb.)', - lowerGreek: 'Görög (alpha, beta, gamma, stb.)', - lowerRoman: 'Római kisbetűs (i, ii, iii, iv, v, stb.)', - none: 'Nincs', - notset: '', - numberedTitle: 'Sorszámozott lista tulajdonságai', - square: 'Négyzet', - start: 'Kezdőszám', - type: 'Típus', - upperAlpha: 'Nagybetűs (A, B, C, D, E, stb.)', - upperRoman: 'Római nagybetűs (I, II, III, IV, V, stb.)', - validateStartNumber: 'A kezdőszám nem lehet tört érték.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/id.js b/scripts/ckeditor/plugins/liststyle/lang/id.js deleted file mode 100755 index aaf4252f..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/id.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'id', { - armenian: 'Armenian numbering', // MISSING - bulletedTitle: 'Bulleted List Properties', // MISSING - circle: 'Lingkaran', - decimal: 'Desimal (1, 2, 3, dst.)', - decimalLeadingZero: 'Desimal diawali angka nol (01, 02, 03, dst.)', - disc: 'Cakram', - georgian: 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerAlpha: 'Huruf Kecil (a, b, c, d, e, dst.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - lowerRoman: 'Angka Romawi (i, ii, iii, iv, v, dst.)', - none: 'Tidak ada', - notset: '', - numberedTitle: 'Numbered List Properties', // MISSING - square: 'Persegi', - start: 'Mulai', - type: 'Tipe', - upperAlpha: 'Huruf Besar (A, B, C, D, E, dst.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - validateStartNumber: 'List start number must be a whole number.' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/is.js b/scripts/ckeditor/plugins/liststyle/lang/is.js deleted file mode 100755 index 6b7b83ea..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/is.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'is', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/it.js b/scripts/ckeditor/plugins/liststyle/lang/it.js deleted file mode 100755 index 382dfb32..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/it.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'it', { - armenian: 'Numerazione Armena', - bulletedTitle: 'Proprietà liste puntate', - circle: 'Cerchio', - decimal: 'Decimale (1, 2, 3, ecc.)', - decimalLeadingZero: 'Decimale preceduto da 0 (01, 02, 03, ecc.)', - disc: 'Disco', - georgian: 'Numerazione Georgiana (an, ban, gan, ecc.)', - lowerAlpha: 'Alfabetico minuscolo (a, b, c, d, e, ecc.)', - lowerGreek: 'Greco minuscolo (alpha, beta, gamma, ecc.)', - lowerRoman: 'Numerazione Romana minuscola (i, ii, iii, iv, v, ecc.)', - none: 'Nessuno', - notset: '', - numberedTitle: 'Proprietà liste numerate', - square: 'Quadrato', - start: 'Inizio', - type: 'Tipo', - upperAlpha: 'Alfabetico maiuscolo (A, B, C, D, E, ecc.)', - upperRoman: 'Numerazione Romana maiuscola (I, II, III, IV, V, ecc.)', - validateStartNumber: 'Il numero di inizio di una lista numerata deve essere un numero intero.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/ja.js b/scripts/ckeditor/plugins/liststyle/lang/ja.js deleted file mode 100755 index 89c7b841..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/ja.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'ja', { - armenian: 'アルメニア数字', - bulletedTitle: '箇条書きのプロパティ', - circle: '白丸', - decimal: '数字 (1, 2, 3, etc.)', - decimalLeadingZero: '0付きの数字 (01, 02, 03, etc.)', - disc: '黒丸', - georgian: 'グルジア数字 (an, ban, gan, etc.)', - lowerAlpha: '小文字アルファベット (a, b, c, d, e, etc.)', - lowerGreek: '小文字ギリシャ文字 (alpha, beta, gamma, etc.)', - lowerRoman: '小文字ローマ数字 (i, ii, iii, iv, v, etc.)', - none: 'なし', - notset: '<なし>', - numberedTitle: '番号付きリストのプロパティ', - square: '四角', - start: '開始', - type: '種類', - upperAlpha: '大文字アルファベット (A, B, C, D, E, etc.)', - upperRoman: '大文字ローマ数字 (I, II, III, IV, V, etc.)', - validateStartNumber: 'リストの開始番号は数値で入力してください。' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/ka.js b/scripts/ckeditor/plugins/liststyle/lang/ka.js deleted file mode 100755 index c552ec63..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/ka.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'ka', { - armenian: 'სომხური გადანომრვა', - bulletedTitle: 'ღილებიანი სიის პარამეტრები', - circle: 'წრეწირი', - decimal: 'რიცხვებით (1, 2, 3, ..)', - decimalLeadingZero: 'ნულით დაწყებული რიცხვებით (01, 02, 03, ..)', - disc: 'წრე', - georgian: 'ქართული გადანომრვა (ან, ბან, გან, ..)', - lowerAlpha: 'პატარა ლათინური ასოებით (a, b, c, d, e, ..)', - lowerGreek: 'პატარა ბერძნული ასოებით (ალფა, ბეტა, გამა, ..)', - lowerRoman: 'რომაული გადანომრვცა პატარა ციფრებით (i, ii, iii, iv, v, ..)', - none: 'არაფერი', - notset: '<არაფერი>', - numberedTitle: 'გადანომრილი სიის პარამეტრები', - square: 'კვადრატი', - start: 'საწყისი', - type: 'ტიპი', - upperAlpha: 'დიდი ლათინური ასოებით (A, B, C, D, E, ..)', - upperRoman: 'რომაული გადანომრვა დიდი ციფრებით (I, II, III, IV, V, etc.)', - validateStartNumber: 'სიის საწყისი მთელი რიცხვი უნდა იყოს.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/km.js b/scripts/ckeditor/plugins/liststyle/lang/km.js deleted file mode 100755 index 2f0ac575..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/km.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'km', { - armenian: 'លេខ​អារមេនី', - bulletedTitle: 'លក្ខណៈ​សម្បត្តិ​បញ្ជី​ជា​ចំណុច', - circle: 'រង្វង់​មូល', - decimal: 'លេខ​ទសភាគ (1, 2, 3, ...)', - decimalLeadingZero: 'ទសភាគ​ចាប់​ផ្ដើម​ពី​សូន្យ (01, 02, 03, ...)', - disc: 'ថាស', - georgian: 'លេខ​ចចជា (an, ban, gan, ...)', - lowerAlpha: 'ព្យញ្ជនៈ​តូច (a, b, c, d, e, ...)', - lowerGreek: 'លេខ​ក្រិក​តូច (alpha, beta, gamma, ...)', - lowerRoman: 'លេខ​រ៉ូម៉ាំង​តូច (i, ii, iii, iv, v, ...)', - none: 'គ្មាន', - notset: '', - numberedTitle: 'លក្ខណៈ​សម្បត្តិ​បញ្ជី​ជា​លេខ', - square: 'ការេ', - start: 'ចាប់​ផ្ដើម', - type: 'ប្រភេទ', - upperAlpha: 'អក្សរ​ធំ (A, B, C, D, E, ...)', - upperRoman: 'លេខ​រ៉ូម៉ាំង​ធំ (I, II, III, IV, V, ...)', - validateStartNumber: 'លេខ​ចាប់​ផ្ដើម​បញ្ជី ត្រូវ​តែ​ជា​តួ​លេខ​ពិត​ប្រាកដ។' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/ko.js b/scripts/ckeditor/plugins/liststyle/lang/ko.js deleted file mode 100755 index 8f9f75ad..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/ko.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'ko', { - armenian: 'Armenian numbering', - bulletedTitle: 'Bulleted List Properties', - circle: 'Circle', - decimal: 'Decimal (1, 2, 3, etc.)', - decimalLeadingZero: 'Decimal leading zero (01, 02, 03, etc.)', - disc: 'Disc', - georgian: 'Georgian numbering (an, ban, gan, etc.)', - lowerAlpha: 'Lower Alpha (a, b, c, d, e, etc.)', - lowerGreek: 'Lower Greek (alpha, beta, gamma, etc.)', - lowerRoman: 'Lower Roman (i, ii, iii, iv, v, etc.)', - none: 'None', - notset: '', - numberedTitle: 'Numbered List Properties', - square: 'Square', - start: 'Start', - type: 'Type', - upperAlpha: 'Upper Alpha (A, B, C, D, E, etc.)', - upperRoman: 'Upper Roman (I, II, III, IV, V, etc.)', - validateStartNumber: 'List start number must be a whole number.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/ku.js b/scripts/ckeditor/plugins/liststyle/lang/ku.js deleted file mode 100755 index 85b4c5b8..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/ku.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'ku', { - armenian: 'ئاراستەی ژمارەی ئەرمەنی', - bulletedTitle: 'خاسیەتی لیستی خاڵی', - circle: 'بازنه', - decimal: 'ژمارە (1, 2, 3, وە هیتر.)', - decimalLeadingZero: 'ژمارە سفڕی لەپێشەوه (01, 02, 03, وە هیتر.)', - disc: 'پەپکە', - georgian: 'ئاراستەی ژمارەی جۆڕجی (an, ban, gan, وە هیتر.)', - lowerAlpha: 'ئەلفابێی بچووك (a, b, c, d, e, وە هیتر.)', - lowerGreek: 'یۆنانی بچووك (alpha, beta, gamma, وە هیتر.)', - lowerRoman: 'ژمارەی ڕۆمی بچووك (i, ii, iii, iv, v, وە هیتر.)', - none: 'هیچ', - notset: '<دانەندراوه>', - numberedTitle: 'خاسیەتی لیستی ژمارەیی', - square: 'چووراگۆشە', - start: 'دەستپێکردن', - type: 'جۆر', - upperAlpha: 'ئەلفابێی گەوره (A, B, C, D, E, وە هیتر.)', - upperRoman: 'ژمارەی ڕۆمی گەوره (I, II, III, IV, V, وە هیتر.)', - validateStartNumber: 'دەستپێکەری لیستی ژمارەیی دەبێت تەنها ژمارە بێت.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/lt.js b/scripts/ckeditor/plugins/liststyle/lang/lt.js deleted file mode 100755 index 3d43da80..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/lt.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'lt', { - armenian: 'Armėniški skaitmenys', - bulletedTitle: 'Ženklelinio sąrašo nustatymai', - circle: 'Apskritimas', - decimal: 'Dešimtainis (1, 2, 3, t.t)', - decimalLeadingZero: 'Dešimtainis su nuliu priekyje (01, 02, 03, t.t)', - disc: 'Diskas', - georgian: 'Gruziniški skaitmenys (an, ban, gan, t.t)', - lowerAlpha: 'Mažosios Alpha (a, b, c, d, e, t.t)', - lowerGreek: 'Mažosios Graikų (alpha, beta, gamma, t.t)', - lowerRoman: 'Mažosios Romėnų (i, ii, iii, iv, v, t.t)', - none: 'Niekas', - notset: '', - numberedTitle: 'Skaitmeninio sąrašo nustatymai', - square: 'Kvadratas', - start: 'Pradžia', - type: 'Rūšis', - upperAlpha: 'Didžiosios Alpha (A, B, C, D, E, t.t)', - upperRoman: 'Didžiosios Romėnų (I, II, III, IV, V, t.t)', - validateStartNumber: 'Sąrašo pradžios skaitmuo turi būti sveikas skaičius.' -} ); diff --git a/scripts/ckeditor/plugins/liststyle/lang/lv.js b/scripts/ckeditor/plugins/liststyle/lang/lv.js deleted file mode 100755 index e5ad54b7..00000000 --- a/scripts/ckeditor/plugins/liststyle/lang/lv.js +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'liststyle', 'lv', { - armenian: 'Armēņu skaitļi', - bulletedTitle: 'Vienkārša saraksta uzstādījumi', - circle: 'Aplis', - decimal: 'Decimālie (1, 2, 3, utt)', - decimalLeadingZero: 'Decimālie ar nulli (01, 02, 03, utt)', - disc: 'Disks', - georgian: 'Gruzīņu skaitļi (an, ban, gan, utt)', - lowerAlpha: 'Mazie alfabēta (a, b, c, d, e, utt)', - lowerGreek: 'Mazie grieķu (alfa, beta, gamma, utt)', - lowerRoman: 'Mazie romāņu (i, ii, iii, iv, v, utt)', - none: 'Nekas', - notset: '
    ',onShow:function(){var a=f.scayt.getLang();l.getById("scaytLang_"+a).$.checked=!0}}]}]},{id:"dictionaries",label:g.getLocal("tab_dictionaries"), +elements:[{type:"vbox",id:"rightCol_col__left",children:[{type:"html",id:"dictionaryNote",html:""},{type:"text",id:"dictionaryName",label:g.getLocal("label_fieldNameDic")||"Dictionary name",onShow:function(a){var e=a.sender,c=f.scayt;setTimeout(function(){e.getContentElement("dictionaries","dictionaryNote").getElement().setText("");null!=c.getUserDictionaryName()&&""!=c.getUserDictionaryName()&&e.getContentElement("dictionaries","dictionaryName").setValue(c.getUserDictionaryName())},0)}},{type:"hbox", +id:"notExistDic",align:"left",style:"width:auto;",widths:["50%","50%"],children:[{type:"button",id:"createDic",label:g.getLocal("btn_createDic"),title:g.getLocal("btn_createDic"),onClick:function(){var a=this.getDialog(),e=j,c=f.scayt,d=a.getContentElement("dictionaries","dictionaryName").getValue();c.createUserDictionary(d,function(b){b.error||e.toggleDictionaryButtons.call(a,!0);b.dialog=a;b.command="create";b.name=d;f.fire("scaytUserDictionaryAction",b)},function(b){b.dialog=a;b.command="create"; +b.name=d;f.fire("scaytUserDictionaryActionError",b)})}},{type:"button",id:"restoreDic",label:g.getLocal("btn_restoreDic"),title:g.getLocal("btn_restoreDic"),onClick:function(){var a=this.getDialog(),e=f.scayt,c=j,d=a.getContentElement("dictionaries","dictionaryName").getValue();e.restoreUserDictionary(d,function(b){b.dialog=a;b.error||c.toggleDictionaryButtons.call(a,!0);b.command="restore";b.name=d;f.fire("scaytUserDictionaryAction",b)},function(b){b.dialog=a;b.command="restore";b.name=d;f.fire("scaytUserDictionaryActionError", +b)})}}]},{type:"hbox",id:"existDic",align:"left",style:"width:auto;",widths:["50%","50%"],children:[{type:"button",id:"removeDic",label:g.getLocal("btn_deleteDic"),title:g.getLocal("btn_deleteDic"),onClick:function(){var a=this.getDialog(),e=f.scayt,c=j,d=a.getContentElement("dictionaries","dictionaryName"),b=d.getValue();e.removeUserDictionary(b,function(e){d.setValue("");e.error||c.toggleDictionaryButtons.call(a,!1);e.dialog=a;e.command="remove";e.name=b;f.fire("scaytUserDictionaryAction",e)},function(c){c.dialog= +a;c.command="remove";c.name=b;f.fire("scaytUserDictionaryActionError",c)})}},{type:"button",id:"renameDic",label:g.getLocal("btn_renameDic"),title:g.getLocal("btn_renameDic"),onClick:function(){var a=this.getDialog(),e=f.scayt,c=a.getContentElement("dictionaries","dictionaryName").getValue();e.renameUserDictionary(c,function(d){d.dialog=a;d.command="rename";d.name=c;f.fire("scaytUserDictionaryAction",d)},function(d){d.dialog=a;d.command="rename";d.name=c;f.fire("scaytUserDictionaryActionError",d)})}}]}, +{type:"html",id:"dicInfo",html:'
    '+g.getLocal("text_descriptionDic")+"
    "}]}]},{id:"about",label:g.getLocal("tab_about"),elements:[{type:"html",id:"about",style:"margin: 5px 5px;",html:'
    '+k+"
    "}]}];f.on("scaytUserDictionaryAction",function(a){var e=SCAYT.prototype.UILib,c=a.data.dialog,d=c.getContentElement("dictionaries","dictionaryNote").getElement(),b=a.editor.scayt,f;void 0=== +a.data.error?(f=b.getLocal("message_success_"+a.data.command+"Dic"),f=f.replace("%s",a.data.name),d.setText(f),e.css(d.$,{color:"blue"})):(""===a.data.name?d.setText(b.getLocal("message_info_emptyDic")):(f=b.getLocal("message_error_"+a.data.command+"Dic"),f=f.replace("%s",a.data.name),d.setText(f)),e.css(d.$,{color:"red"}),null!=b.getUserDictionaryName()&&""!=b.getUserDictionaryName()?c.getContentElement("dictionaries","dictionaryName").setValue(b.getUserDictionaryName()):c.getContentElement("dictionaries", +"dictionaryName").setValue(""))});f.on("scaytUserDictionaryActionError",function(a){var e=SCAYT.prototype.UILib,c=a.data.dialog,d=c.getContentElement("dictionaries","dictionaryNote").getElement(),b=a.editor.scayt,f;""===a.data.name?d.setText(b.getLocal("message_info_emptyDic")):(f=b.getLocal("message_error_"+a.data.command+"Dic"),f=f.replace("%s",a.data.name),d.setText(f));e.css(d.$,{color:"red"});null!=b.getUserDictionaryName()&&""!=b.getUserDictionaryName()?c.getContentElement("dictionaries","dictionaryName").setValue(b.getUserDictionaryName()): +c.getContentElement("dictionaries","dictionaryName").setValue("")});var j={title:g.getLocal("text_title"),resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:340,minHeight:260,onLoad:function(){if(0!=f.config.scayt_uiTabs[1]){var a=j,e=a.getLangBoxes.call(this);e.getParent().setStyle("white-space","normal");a.renderLangList(e);this.definition.minWidth=this.getSize().width;this.resize(this.definition.minWidth,this.definition.minHeight)}},onCancel:function(){i.reset()},onHide:function(){f.unlockSelection()}, +onShow:function(){f.fire("scaytDialogShown",this);if(0!=f.config.scayt_uiTabs[2]){var a=f.scayt,e=this.getContentElement("dictionaries","dictionaryName"),c=this.getContentElement("dictionaries","existDic").getElement().getParent(),d=this.getContentElement("dictionaries","notExistDic").getElement().getParent();c.hide();d.hide();null!=a.getUserDictionaryName()&&""!=a.getUserDictionaryName()?(this.getContentElement("dictionaries","dictionaryName").setValue(a.getUserDictionaryName()),c.show()):(e.setValue(""), +d.show())}},onOk:function(){var a=j,e=f.scayt;this.getContentElement("options","scaytOptions");a=a.getChangedOption.call(this);e.commitOption({changedOptions:a})},toggleDictionaryButtons:function(a){var e=this.getContentElement("dictionaries","existDic").getElement().getParent(),c=this.getContentElement("dictionaries","notExistDic").getElement().getParent();a?(e.show(),c.hide()):(e.hide(),c.show())},getChangedOption:function(){var a={};if(1==f.config.scayt_uiTabs[0])for(var e=this.getContentElement("options", +"scaytOptions").getChild(),c=0;c'),g=new CKEDITOR.dom.element("label"),h=f.scayt;c.setStyles({"white-space":"normal",position:"relative", +"padding-bottom":"2px"});b.on("click",function(a){i.newLang=a.sender.getValue()});g.appendText(a);g.setAttribute("for",d);c.append(b);c.append(g);e===h.getLang()&&(b.setAttribute("checked",!0),b.setAttribute("defaultChecked","defaultChecked"));return c},renderLangList:function(a){var e=a.find("#left-col-"+f.name).getItem(0),a=a.find("#right-col-"+f.name).getItem(0),c=g.getLangList(),d={},b=[],i=0,h;for(h in c.ltr)d[h]=c.ltr[h];for(h in c.rtl)d[h]=c.rtl[h];for(h in d)b.push([h,d[h]]);b.sort(function(a, +c){var b=0;a[1]>c[1]?b=1:a[1] 0 && suggestions[0] !== 'no_any_suggestions') { - for(var i = 0; i < suggestions.length; i++) { - - var commandName = 'scayt_suggest_' + CKEDITOR.plugins.scayt.suggestions[i].replace(' ', '_'); - editor.addCommand(commandName, self.createCommand(CKEDITOR.plugins.scayt.suggestions[i])); - - if(i < editor.config.scayt_maxSuggestions) { - - // mainSuggestions - editor.addMenuItem(commandName, { - label: suggestions[i], - command: commandName, - group: 'scayt_suggest', - order: i + 1 - }); - - itemList[commandName] = CKEDITOR.TRISTATE_OFF; - - } else { - - // moreSuggestions - editor.addMenuItem(commandName, { - label: suggestions[i], - command: commandName, - group: 'scayt_moresuggest', - order: i + 1 - }); - - subItemList[commandName] = CKEDITOR.TRISTATE_OFF; - - if(editor.config.scayt_moreSuggestions === 'on') { - - editor.addMenuItem('scayt_moresuggest', { - label : scayt_instance.getLocal('btn_moreSuggestions'), - group : 'scayt_moresuggest', - order : 10, - getItems : function() { - return subItemList; - } - }); - - itemList['scayt_moresuggest'] = CKEDITOR.TRISTATE_OFF; - } - } - } - } else { - var noSuggestionsCommand = 'no_scayt_suggest'; - itemList[noSuggestionsCommand] = CKEDITOR.TRISTATE_DISABLED; - - editor.addCommand(noSuggestionsCommand, { - exec: function() { - - } - }); - - editor.addMenuItem(noSuggestionsCommand, { - label : scayt_instance.getLocal('btn_noSuggestions') || noSuggestionsCommand, - command: noSuggestionsCommand, - group : 'scayt_suggest', - order : 0 - }); - } - - return itemList; - }, - menuGenerator: function(editor, word) { - var self = this, - scaytInstance = editor.scayt, - menuItem = this.scaytMenuDefinition(editor), - itemList = {}, - mainSuggestions = {}, - moreSuggestions = {}, - allowedOption = editor.config.scayt_contextCommands.split('|'); - - scaytInstance.fire('getSuggestionsList', {lang: scaytInstance.getLang(), word: word}); - itemList = this.buildSuggestionMenuItems(editor, CKEDITOR.plugins.scayt.suggestions); - - if(editor.config.scayt_contextCommands == 'off') { - return itemList; - } - - for(var key in menuItem) { - if(CKEDITOR.tools.indexOf(allowedOption, key.replace('scayt_', '')) == -1 && editor.config.scayt_contextCommands != 'all') { - continue; - } - - itemList[key] = CKEDITOR.TRISTATE_OFF; - // delete item from context menu if its state isn't verified as allowed - if(typeof menuItem[key].verification === 'function' && !menuItem[key].verification(editor)) { - // itemList[key] = (menuItem[key].verification(editor)) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED; - delete itemList[key]; - } - - editor.addCommand(key, { - exec: menuItem[key].exec - }); - - editor.addMenuItem(key, { - label : editor.lang.scayt[menuItem[key].label] || menuItem[key].label, - command: key, - group : menuItem[key].group, - order : menuItem[key].order - }); - } - - return itemList; - }, - createCommand: function(suggestion) { - return { - exec: function(editor) { - var scaytInstance = editor.scayt; - scaytInstance.replaceSelectionNode({word: suggestion}); - } - }; - } -}); - -CKEDITOR.plugins.scayt = { - state: {}, - suggestions: [], - loadingHelper: { - loadOrder: [] - }, - isLoading: false, - options: { - disablingCommandExec: { - source: true, - newpage: true, - templates: true - }, - data_attribute_name: 'data-scayt-word', - misspelled_word_class: 'scayt-misspell-word' - }, - backCompatibilityMap: { - 'scayt_service_protocol': 'scayt_serviceProtocol', - 'scayt_service_host' : 'scayt_serviceHost', - 'scayt_service_port' : 'scayt_servicePort', - 'scayt_service_path' : 'scayt_servicePath', - 'scayt_customerid' : 'scayt_customerId' - }, - replaceOldOptionsNames: function(config) { - for(var key in config) { - if(key in this.backCompatibilityMap) { - config[this.backCompatibilityMap[key]] = config[key]; - delete config[key]; - } - } - }, - createScayt : function(editor) { - var self = this; - - this.loadScaytLibrary(editor, function(_editor) { - var _scaytInstanceOptions = { - lang : _editor.config.scayt_sLang, - container : _editor.editable().$.nodeName == 'BODY' ? _editor.document.getWindow().$.frameElement : _editor.editable().$, - customDictionary : _editor.config.scayt_customDictionaryIds, - userDictionaryName : _editor.config.scayt_userDictionaryName, - localization : _editor.langCode, - customer_id : _editor.config.scayt_customerId, - data_attribute_name : self.options.data_attribute_name, - misspelled_word_class: self.options.misspelled_word_class - }; - - if(_editor.config.scayt_serviceProtocol) { - _scaytInstanceOptions['service_protocol'] = _editor.config.scayt_serviceProtocol; - } - - if(_editor.config.scayt_serviceHost) { - _scaytInstanceOptions['service_host'] = _editor.config.scayt_serviceHost; - } - - if(_editor.config.scayt_servicePort) { - _scaytInstanceOptions['service_port'] = _editor.config.scayt_servicePort; - } - - if(_editor.config.scayt_servicePath) { - _scaytInstanceOptions['service_path'] = _editor.config.scayt_servicePath; - } - - var _scaytInstance = new SCAYT.CKSCAYT(_scaytInstanceOptions, function() { - // success callback - }, function() { - // error callback - }); - - _scaytInstance.subscribe('suggestionListSend', function(data) { - // TODO: 1. Maybe store suggestions for specific editor - // TODO: 2. Fix issue with suggestion duplicates on on server - //CKEDITOR.plugins.scayt.suggestions = data.suggestionList; - var _wordsCollection = {}, - _suggestionList =[]; - for (var i=0; i < data.suggestionList.length; i++) { - if (!_wordsCollection[data.suggestionList[i]]) { - _wordsCollection[data.suggestionList[i]] = data.suggestionList[i]; - _suggestionList.push(data.suggestionList[i]); - } - } - CKEDITOR.plugins.scayt.suggestions = _suggestionList; - - }); - - _editor.scayt = _scaytInstance; - - _editor.fire('scaytButtonState', _editor.readOnly ? CKEDITOR.TRISTATE_DISABLED : CKEDITOR.TRISTATE_ON); - }); - }, - destroy: function(editor) { - if(editor.scayt) { - editor.scayt.destroy(); - } - - delete editor.scayt; - editor.fire('scaytButtonState', CKEDITOR.TRISTATE_OFF); - }, - loadScaytLibrary: function(editor, callback) { - var self = this; - - if(typeof window.SCAYT === 'undefined' || typeof window.SCAYT.CKSCAYT !== 'function') { - // add onLoad callbacks for editors while SCAYT is loading - this.loadingHelper[editor.name] = callback; - this.loadingHelper.loadOrder.push(editor.name); - - CKEDITOR.scriptLoader.load(editor.config.scayt_srcUrl, function(success) { - var editorName; - - CKEDITOR.fireOnce('scaytReady'); - - for(var i = 0; i < self.loadingHelper.loadOrder.length; i++) { - editorName = self.loadingHelper.loadOrder[i]; - - if(typeof self.loadingHelper[editorName] === 'function') { - self.loadingHelper[editorName](CKEDITOR.instances[editorName]); - } - - delete self.loadingHelper[editorName]; - } - self.loadingHelper.loadOrder = []; - }); - } else if(window.SCAYT && typeof window.SCAYT.CKSCAYT === 'function') { - CKEDITOR.fireOnce('scaytReady'); - - if(!editor.scayt) { - if(typeof callback === 'function') { - callback(editor); - } - } - } - } -}; - -CKEDITOR.on('scaytReady', function() { - - // Override editor.checkDirty method avoid CK checkDirty functionality to fix SCAYT issues with incorrect checkDirty behavior. - if(CKEDITOR.config.scayt_handleCheckDirty === true) { - var editorCheckDirty = CKEDITOR.editor.prototype; - - editorCheckDirty.checkDirty = CKEDITOR.tools.override(editorCheckDirty.checkDirty, function(org) { - - return function() { - var retval = null, - pluginStatus = CKEDITOR.plugins.scayt && CKEDITOR.plugins.scayt.state[this.name] && this.scayt, - scaytInstance = this.scayt; - - if(!pluginStatus) { - retval = org.call(this); - } else { - retval = (this.status == 'ready'); - - if (retval) { - var currentData = scaytInstance.removeMarkupFromString(this.getSnapshot()), - prevData = scaytInstance.removeMarkupFromString(this._.previousValue); - - retval = (retval && (prevData !== currentData)) - } - } - - return retval; - }; - }); - - editorCheckDirty.resetDirty = CKEDITOR.tools.override(editorCheckDirty.resetDirty, function(org) { - return function() { - var pluginStatus = CKEDITOR.plugins.scayt && CKEDITOR.plugins.scayt.state[this.name] && this.scayt, - scaytInstance = this.scayt;//CKEDITOR.plugins.scayt.getScayt(this); - - if(!pluginStatus) { - org.call(this); - } else { - this._.previousValue = scaytInstance.removeMarkupFromString(this.getSnapshot()); - } - }; - }); - } - - if(CKEDITOR.config.scayt_handleUndoRedo === true) { - var undoImagePrototype = CKEDITOR.plugins.undo.Image.prototype; - - // add backword compatibility for CKEDITOR 4.2. method equals was repleced on other method - var equalsContentMethodName = (typeof undoImagePrototype.equalsContent == "function") ? 'equalsContent' : 'equals'; - - undoImagePrototype[equalsContentMethodName] = CKEDITOR.tools.override(undoImagePrototype[equalsContentMethodName], function(org) { - return function(otherImage) { - var pluginState = CKEDITOR.plugins.scayt && CKEDITOR.plugins.scayt.state[otherImage.editor.name] && otherImage.editor.scayt, - scaytInstance = otherImage.editor.scayt, - thisContents = this.contents, - otherContents = otherImage.contents, - retval = null; - - // Making the comparison based on content without SCAYT word markers. - if(pluginState) { - this.contents = scaytInstance.removeMarkupFromString(thisContents) || ''; - otherImage.contents = scaytInstance.removeMarkupFromString(otherContents) || ''; - } - - var retval = org.apply(this, arguments); - - this.contents = thisContents; - otherImage.contents = otherContents; - - return retval; - }; - }); - } -}); - -/** - * If enabled (set to `true`), turns on SCAYT automatically - * after loading the editor. - * - * config.scayt_autoStartup = true; - * - * @cfg {Boolean} [scayt_autoStartup=false] - * @member CKEDITOR.config - */ - -/** - * Defines the number of SCAYT suggestions to show in the main context menu. - * Possible values are: - * - * * `0` (zero) – No suggestions are shown in the main context menu. All - * entries will be listed in the "More Suggestions" sub-menu. - * * Positive number – The maximum number of suggestions to show in the context - * menu. Other entries will be shown in the "More Suggestions" sub-menu. - * * Negative number – 5 suggestions are shown in the main context menu. All other - * entries will be listed in the "More Suggestions" sub-menu. - * - * Examples: - * - * // Display only three suggestions in the main context menu. - * config.scayt_maxSuggestions = 3; - * - * // Do not show the suggestions directly. - * config.scayt_maxSuggestions = 0; - * - * @cfg {Number} [scayt_maxSuggestions=5] - * @member CKEDITOR.config - */ - -/** - * Sets the customer ID for SCAYT. Used for hosted users only. Required for migration from free - * to trial or paid versions. - * - * // Load SCAYT using my customer ID. - * config.scayt_customerId = 'your-encrypted-customer-id'; - * - * @cfg {String} [scayt_customerId='1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2'] - * @member CKEDITOR.config - */ - -/** - * Enables/disables the "More Suggestions" sub-menu in the context menu. - * Possible values are `'on'` and `'off'`. - * - * // Disables the "More Suggestions" sub-menu. - * config.scayt_moreSuggestions = 'off'; - * - * @cfg {String} [scayt_moreSuggestions='on'] - * @member CKEDITOR.config - */ - -/** - * Customizes the display of SCAYT context menu commands ("Add Word", "Ignore", - * "Ignore All", "Options", "Languages", "Dictionaries" and "About"). - * This must be a string with one or more of the following - * words separated by a pipe character (`'|'`): - * - * * `off` – disables all options. - * * `all` – enables all options. - * * `ignore` – enables the "Ignore" option. - * * `ignoreall` – enables the "Ignore All" option. - * * `add` – enables the "Add Word" option. - * * `option` – enables "Options" menu item. - * * `language` – enables "Languages" menu item. - * * `dictionary` – enables "Dictionaries" menu item. - * * `about` – enables "About" menu item. - * - * Note, that availability of 'Options', 'Languages' and 'Dictionaries' items - * depends on scayt_uiTabs option also. - * Example: - * - * // Show only "Add Word" and "Ignore All" in the context menu. - * config.scayt_contextCommands = 'add|ignoreall'; - * - * @cfg {String} [scayt_contextCommands='ignore|ignoreall|add'] - * @member CKEDITOR.config - */ - -/** - * Sets the default spell checking language for SCAYT. Possible values are: - * `'en_US'`, `'en_GB'`, `'pt_BR'`, `'da_DK'`, - * `'nl_NL'`, `'en_CA'`, `'fi_FI'`, `'fr_FR'`, - * `'fr_CA'`, `'de_DE'`, `'el_GR'`, `'it_IT'`, - * `'nb_NO'`, `'pt_PT'`, `'es_ES'`, `'sv_SE'`. - * - * // Sets SCAYT to German. - * config.scayt_sLang = 'de_DE'; - * - * @cfg {String} [scayt_sLang='en_US'] - * @member CKEDITOR.config - */ - -/** - * Sets the visibility of particular tabs in the SCAYT dialog window and toolbar - * button. This setting must contain a `1` (enabled) or `0` - * (disabled) value for each of the following entries, in this precise order, - * separated by a comma (`','`): `'Options'`, `'Languages'`, and `'Dictionary'`. - * - * // Hides the "Languages" tab. - * config.scayt_uiTabs = '1,0,1'; - * - * @cfg {String} [scayt_uiTabs='1,1,1'] - * @member CKEDITOR.config - */ - -/** - * Allows to specify protocol for WSC service (ssrv.cgi) full path. - * - * // Defines protocol for WSC service (ssrv.cgi) full path. - * config.scayt_serviceProtocol='https'; - * - * @cfg {String} [scayt_serviceProtocol='http'] - * @member CKEDITOR.config - */ - -/** - * Allows to specify host for WSC service (ssrv.cgi) full path. - * - * // Defines host for WSC service (ssrv.cgi) full path. - * config.scayt_serviceHost='my-host'; - * - * @cfg {String} [scayt_serviceHost='svc.webspellchecker.net'] - * @member CKEDITOR.config - */ - -/** - * Allows to specify port for WSC service (ssrv.cgi) full path. - * - * // Defines port for WSC service (ssrv.cgi) full path. - * config.scayt_servicePort='2330'; - * - * @cfg {String} [scayt_servicePort='80'] - * @member CKEDITOR.config - */ - -/** - * Allows to specify path for WSC service (ssrv.cgi) full path. - * - * // Defines host for WSC service (ssrv.cgi) full path. - * config.scayt_servicePath='my-path/ssrv.cgi'; - * - * @cfg {String} [scayt_servicePath='spellcheck31/script/ssrv.cgi'] - * @member CKEDITOR.config - */ - -/** - * Sets the URL to SCAYT core. Required to switch to the licensed version of SCAYT application. - * - * Further details available at [http://wiki.webspellchecker.net/doku.php?id=migration:hosredfreetolicensedck](http://wiki.webspellchecker.net/doku.php?id=migration:hosredfreetolicensedck) - * - * config.scayt_srcUrl = "http://my-host/spellcheck/lf/scayt/scayt.js"; - * - * @cfg {String} [scayt_srcUrl='//svc.webspellchecker.net/spellcheck31/lf/scayt3/ckscayt/ckscayt.js'] - * @member CKEDITOR.config - */ - -/** - * Links SCAYT to custom dictionaries. This is a string containing dictionary IDs - * separared by commas (`','`). Available only for the licensed version. - * - * Further details at [http://wiki.webspellchecker.net/doku.php?id=installationandconfiguration:customdictionaries:licensed](http://wiki.webspellchecker.net/doku.php?id=installationandconfiguration:customdictionaries:licensed) - * - * config.scayt_customDictionaryIds = '3021,3456,3478'; - * - * @cfg {String} [scayt_customDictionaryIds=''] - * @member CKEDITOR.config - */ - -/** - * Makes it possible to activate a custom dictionary in SCAYT. The user - * dictionary name must be used. Available only for the licensed version. - * - * config.scayt_userDictionaryName = 'MyDictionary'; - * - * @cfg {String} [scayt_userDictionaryName=''] - * @member CKEDITOR.config - */ - -/** - * Defines the order SCAYT context menu items by groups. - * This must be a string with one or more of the following - * words separated by a pipe character (`'|'`): - * - * * `suggest` – main suggestion word list, - * * `moresuggest` – more suggestions word list, - * * `control` – SCAYT commands, such as "Ignore" and "Add Word". - * - * Example: - * - * config.scayt_contextMenuItemsOrder = 'moresuggest|control|suggest'; - * - * @cfg {String} [scayt_contextMenuItemsOrder='suggest|moresuggest|control'] - * @member CKEDITOR.config - */ - -/** - * If set to `true` – overrides checkDirty functionality of CK - * to fix SCAYT issues with incorrect checkDirty behavior. If set to `false`, - * provides better performance on big preloaded text. - * - * config.scayt_handleCheckDirty = 'false'; - * - * @cfg {String} [scayt_handleCheckDirty='true'] - * @member CKEDITOR.config - */ - -/** - * If set to `true` – overrides undo\redo functionality of CK - * to fix SCAYT issues with incorrect undo\redo behavior. If set to `false`, - * provides better performance on undo\redo text. - * - * config.scayt_handleUndoRedo = 'false'; - * - * @cfg {String} [scayt_handleUndoRedo='true'] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/selectall/icons/hidpi/selectall.png b/scripts/ckeditor/plugins/selectall/icons/hidpi/selectall.png deleted file mode 100755 index c67f64dd..00000000 Binary files a/scripts/ckeditor/plugins/selectall/icons/hidpi/selectall.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/selectall/icons/selectall.png b/scripts/ckeditor/plugins/selectall/icons/selectall.png deleted file mode 100755 index 0d1e8160..00000000 Binary files a/scripts/ckeditor/plugins/selectall/icons/selectall.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/selectall/lang/af.js b/scripts/ckeditor/plugins/selectall/lang/af.js deleted file mode 100755 index 98c8dc07..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/af.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'af', { - toolbar: 'Selekteer alles' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ar.js b/scripts/ckeditor/plugins/selectall/lang/ar.js deleted file mode 100755 index 4271b8e3..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ar.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ar', { - toolbar: 'تحديد الكل' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/bg.js b/scripts/ckeditor/plugins/selectall/lang/bg.js deleted file mode 100755 index 476f48c2..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/bg.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'bg', { - toolbar: 'Избери всичко' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/bn.js b/scripts/ckeditor/plugins/selectall/lang/bn.js deleted file mode 100755 index b649190a..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/bn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'bn', { - toolbar: 'সব সিলেক্ট কর' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/bs.js b/scripts/ckeditor/plugins/selectall/lang/bs.js deleted file mode 100755 index 1036a972..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/bs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'bs', { - toolbar: 'Selektuj sve' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ca.js b/scripts/ckeditor/plugins/selectall/lang/ca.js deleted file mode 100755 index a7251ac6..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ca', { - toolbar: 'Selecciona-ho tot' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/cs.js b/scripts/ckeditor/plugins/selectall/lang/cs.js deleted file mode 100755 index e861b54f..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/cs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'cs', { - toolbar: 'Vybrat vše' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/cy.js b/scripts/ckeditor/plugins/selectall/lang/cy.js deleted file mode 100755 index 527bacf0..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/cy.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'cy', { - toolbar: 'Dewis Popeth' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/da.js b/scripts/ckeditor/plugins/selectall/lang/da.js deleted file mode 100755 index d1696c39..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/da.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'da', { - toolbar: 'Vælg alt' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/de.js b/scripts/ckeditor/plugins/selectall/lang/de.js deleted file mode 100755 index 30aa37a2..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/de.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'de', { - toolbar: 'Alles auswählen' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/el.js b/scripts/ckeditor/plugins/selectall/lang/el.js deleted file mode 100755 index ce217a12..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/el.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'el', { - toolbar: 'Επιλογή όλων' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/en-au.js b/scripts/ckeditor/plugins/selectall/lang/en-au.js deleted file mode 100755 index d1fc34d3..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/en-au.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'en-au', { - toolbar: 'Select All' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/en-ca.js b/scripts/ckeditor/plugins/selectall/lang/en-ca.js deleted file mode 100755 index ac31397e..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/en-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'en-ca', { - toolbar: 'Select All' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/en-gb.js b/scripts/ckeditor/plugins/selectall/lang/en-gb.js deleted file mode 100755 index b8d0bb7b..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/en-gb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'en-gb', { - toolbar: 'Select All' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/en.js b/scripts/ckeditor/plugins/selectall/lang/en.js deleted file mode 100755 index 24e1564f..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/en.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'en', { - toolbar: 'Select All' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/eo.js b/scripts/ckeditor/plugins/selectall/lang/eo.js deleted file mode 100755 index 71d71a1b..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/eo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'eo', { - toolbar: 'Elekti ĉion' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/es.js b/scripts/ckeditor/plugins/selectall/lang/es.js deleted file mode 100755 index 330fdc2f..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/es.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'es', { - toolbar: 'Seleccionar Todo' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/et.js b/scripts/ckeditor/plugins/selectall/lang/et.js deleted file mode 100755 index e3591a90..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/et.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'et', { - toolbar: 'Kõige valimine' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/eu.js b/scripts/ckeditor/plugins/selectall/lang/eu.js deleted file mode 100755 index 2d8f727b..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/eu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'eu', { - toolbar: 'Hautatu dena' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/fa.js b/scripts/ckeditor/plugins/selectall/lang/fa.js deleted file mode 100755 index 8789b604..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/fa.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'fa', { - toolbar: 'گزینش همه' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/fi.js b/scripts/ckeditor/plugins/selectall/lang/fi.js deleted file mode 100755 index 1d44891d..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'fi', { - toolbar: 'Valitse kaikki' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/fo.js b/scripts/ckeditor/plugins/selectall/lang/fo.js deleted file mode 100755 index c85b28bc..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/fo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'fo', { - toolbar: 'Markera alt' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/fr-ca.js b/scripts/ckeditor/plugins/selectall/lang/fr-ca.js deleted file mode 100755 index 3f04db35..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/fr-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'fr-ca', { - toolbar: 'Sélectionner tout' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/fr.js b/scripts/ckeditor/plugins/selectall/lang/fr.js deleted file mode 100755 index 23f62eb8..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/fr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'fr', { - toolbar: 'Tout sélectionner' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/gl.js b/scripts/ckeditor/plugins/selectall/lang/gl.js deleted file mode 100755 index ccc22584..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/gl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'gl', { - toolbar: 'Seleccionar todo' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/gu.js b/scripts/ckeditor/plugins/selectall/lang/gu.js deleted file mode 100755 index 027a9592..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/gu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'gu', { - toolbar: 'બઘું પસંદ કરવું' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/he.js b/scripts/ckeditor/plugins/selectall/lang/he.js deleted file mode 100755 index a7f7ee24..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/he.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'he', { - toolbar: 'בחירת הכל' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/hi.js b/scripts/ckeditor/plugins/selectall/lang/hi.js deleted file mode 100755 index ac2df39a..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/hi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'hi', { - toolbar: 'सब सॅलॅक्ट करें' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/hr.js b/scripts/ckeditor/plugins/selectall/lang/hr.js deleted file mode 100755 index 03a21b8b..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/hr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'hr', { - toolbar: 'Odaberi sve' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/hu.js b/scripts/ckeditor/plugins/selectall/lang/hu.js deleted file mode 100755 index fb24f965..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/hu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'hu', { - toolbar: 'Mindent kijelöl' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/id.js b/scripts/ckeditor/plugins/selectall/lang/id.js deleted file mode 100755 index ec43c1b4..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/id.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'id', { - toolbar: 'Pilih Semua' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/is.js b/scripts/ckeditor/plugins/selectall/lang/is.js deleted file mode 100755 index 1a86ef31..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/is.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'is', { - toolbar: 'Velja allt' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/it.js b/scripts/ckeditor/plugins/selectall/lang/it.js deleted file mode 100755 index 353e4ec3..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/it.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'it', { - toolbar: 'Seleziona tutto' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ja.js b/scripts/ckeditor/plugins/selectall/lang/ja.js deleted file mode 100755 index 093af346..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ja', { - toolbar: 'すべて選択' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ka.js b/scripts/ckeditor/plugins/selectall/lang/ka.js deleted file mode 100755 index f90b8252..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ka.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ka', { - toolbar: 'ყველაფრის მონიშნვა' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/km.js b/scripts/ckeditor/plugins/selectall/lang/km.js deleted file mode 100755 index 60b7080c..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/km.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'km', { - toolbar: 'រើស​ទាំង​អស់' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ko.js b/scripts/ckeditor/plugins/selectall/lang/ko.js deleted file mode 100755 index 7e20a925..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ko.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ko', { - toolbar: '전체선택' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ku.js b/scripts/ckeditor/plugins/selectall/lang/ku.js deleted file mode 100755 index 3750d0c0..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ku.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ku', { - toolbar: 'دیاریکردنی هەمووی' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/lt.js b/scripts/ckeditor/plugins/selectall/lang/lt.js deleted file mode 100755 index 58fe6212..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/lt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'lt', { - toolbar: 'Pažymėti viską' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/lv.js b/scripts/ckeditor/plugins/selectall/lang/lv.js deleted file mode 100755 index 657d293c..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/lv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'lv', { - toolbar: 'Iezīmēt visu' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/mk.js b/scripts/ckeditor/plugins/selectall/lang/mk.js deleted file mode 100755 index ff653908..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/mk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'mk', { - toolbar: 'Select All' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/mn.js b/scripts/ckeditor/plugins/selectall/lang/mn.js deleted file mode 100755 index b278fb6f..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/mn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'mn', { - toolbar: 'Бүгдийг нь сонгох' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ms.js b/scripts/ckeditor/plugins/selectall/lang/ms.js deleted file mode 100755 index 1e7f2731..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ms.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ms', { - toolbar: 'Pilih Semua' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/nb.js b/scripts/ckeditor/plugins/selectall/lang/nb.js deleted file mode 100755 index 3e4264d5..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/nb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'nb', { - toolbar: 'Merk alt' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/nl.js b/scripts/ckeditor/plugins/selectall/lang/nl.js deleted file mode 100755 index 14c6f5a7..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/nl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'nl', { - toolbar: 'Alles selecteren' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/no.js b/scripts/ckeditor/plugins/selectall/lang/no.js deleted file mode 100755 index e854ee4e..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/no.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'no', { - toolbar: 'Merk alt' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/pl.js b/scripts/ckeditor/plugins/selectall/lang/pl.js deleted file mode 100755 index e7fc87a5..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/pl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'pl', { - toolbar: 'Zaznacz wszystko' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/pt-br.js b/scripts/ckeditor/plugins/selectall/lang/pt-br.js deleted file mode 100755 index 01b7acf7..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/pt-br.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'pt-br', { - toolbar: 'Selecionar Tudo' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/pt.js b/scripts/ckeditor/plugins/selectall/lang/pt.js deleted file mode 100755 index 388fb704..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/pt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'pt', { - toolbar: 'Selecionar Tudo' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ro.js b/scripts/ckeditor/plugins/selectall/lang/ro.js deleted file mode 100755 index 9b5f443e..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ro.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ro', { - toolbar: 'Selectează tot' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ru.js b/scripts/ckeditor/plugins/selectall/lang/ru.js deleted file mode 100755 index 8fe69cdb..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ru.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ru', { - toolbar: 'Выделить все' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/si.js b/scripts/ckeditor/plugins/selectall/lang/si.js deleted file mode 100755 index 43054b90..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/si.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'si', { - toolbar: 'සියල්ලම ' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/sk.js b/scripts/ckeditor/plugins/selectall/lang/sk.js deleted file mode 100755 index 18869e18..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'sk', { - toolbar: 'Vybrať všetko' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/sl.js b/scripts/ckeditor/plugins/selectall/lang/sl.js deleted file mode 100755 index fd90ceef..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/sl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'sl', { - toolbar: 'Izberi vse' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/sq.js b/scripts/ckeditor/plugins/selectall/lang/sq.js deleted file mode 100755 index f0046f0c..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/sq.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'sq', { - toolbar: 'Përzgjidh të Gjitha' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/sr-latn.js b/scripts/ckeditor/plugins/selectall/lang/sr-latn.js deleted file mode 100755 index ca36c754..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/sr-latn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'sr-latn', { - toolbar: 'Označi sve' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/sr.js b/scripts/ckeditor/plugins/selectall/lang/sr.js deleted file mode 100755 index 15a5fdd4..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/sr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'sr', { - toolbar: 'Означи све' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/sv.js b/scripts/ckeditor/plugins/selectall/lang/sv.js deleted file mode 100755 index 302597e6..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/sv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'sv', { - toolbar: 'Markera allt' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/th.js b/scripts/ckeditor/plugins/selectall/lang/th.js deleted file mode 100755 index f2219380..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/th.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'th', { - toolbar: 'เลือกทั้งหมด' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/tr.js b/scripts/ckeditor/plugins/selectall/lang/tr.js deleted file mode 100755 index ec0758c8..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/tr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'tr', { - toolbar: 'Tümünü Seç' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/tt.js b/scripts/ckeditor/plugins/selectall/lang/tt.js deleted file mode 100755 index 7eff7757..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/tt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'tt', { - toolbar: 'Барысын сайлау' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/ug.js b/scripts/ckeditor/plugins/selectall/lang/ug.js deleted file mode 100755 index a26d1cd0..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/ug.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'ug', { - toolbar: 'ھەممىنى تاللا' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/uk.js b/scripts/ckeditor/plugins/selectall/lang/uk.js deleted file mode 100755 index 58b84bbf..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/uk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'uk', { - toolbar: 'Виділити все' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/vi.js b/scripts/ckeditor/plugins/selectall/lang/vi.js deleted file mode 100755 index 136d04c8..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/vi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'vi', { - toolbar: 'Chọn tất cả' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/zh-cn.js b/scripts/ckeditor/plugins/selectall/lang/zh-cn.js deleted file mode 100755 index 3610688b..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/zh-cn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'zh-cn', { - toolbar: '全选' -} ); diff --git a/scripts/ckeditor/plugins/selectall/lang/zh.js b/scripts/ckeditor/plugins/selectall/lang/zh.js deleted file mode 100755 index 0887ec51..00000000 --- a/scripts/ckeditor/plugins/selectall/lang/zh.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'selectall', 'zh', { - toolbar: '全選' -} ); diff --git a/scripts/ckeditor/plugins/selectall/plugin.js b/scripts/ckeditor/plugins/selectall/plugin.js deleted file mode 100755 index b4cf7aa1..00000000 --- a/scripts/ckeditor/plugins/selectall/plugin.js +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview The "selectall" plugin provides an editor command that - * allows selecting the entire content of editable area. - * This plugin also enables a toolbar button for the feature. - */ - -( function() { - CKEDITOR.plugins.add( 'selectall', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'selectall', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - editor.addCommand( 'selectAll', { modes: { wysiwyg: 1, source: 1 }, - exec: function( editor ) { - var editable = editor.editable(); - - if ( editable.is( 'textarea' ) ) { - var textarea = editable.$; - - if ( CKEDITOR.env.ie ) - textarea.createTextRange().execCommand( 'SelectAll' ); - else { - textarea.selectionStart = 0; - textarea.selectionEnd = textarea.value.length; - } - - textarea.focus(); - } else { - if ( editable.is( 'body' ) ) - editor.document.$.execCommand( 'SelectAll', false, null ); - else { - var range = editor.createRange(); - range.selectNodeContents( editable ); - range.select(); - } - - // Force triggering selectionChange (#7008) - editor.forceNextSelectionCheck(); - editor.selectionChange(); - } - - }, - canUndo: false - } ); - - editor.ui.addButton && editor.ui.addButton( 'SelectAll', { - label: editor.lang.selectall.toolbar, - command: 'selectAll', - toolbar: 'selection,10' - } ); - } - } ); -} )(); diff --git a/scripts/ckeditor/plugins/showblocks/icons/hidpi/showblocks-rtl.png b/scripts/ckeditor/plugins/showblocks/icons/hidpi/showblocks-rtl.png deleted file mode 100755 index c88abcb6..00000000 Binary files a/scripts/ckeditor/plugins/showblocks/icons/hidpi/showblocks-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/showblocks/icons/hidpi/showblocks.png b/scripts/ckeditor/plugins/showblocks/icons/hidpi/showblocks.png deleted file mode 100755 index a776fcc1..00000000 Binary files a/scripts/ckeditor/plugins/showblocks/icons/hidpi/showblocks.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/showblocks/icons/showblocks-rtl.png b/scripts/ckeditor/plugins/showblocks/icons/showblocks-rtl.png deleted file mode 100755 index cd87d3e2..00000000 Binary files a/scripts/ckeditor/plugins/showblocks/icons/showblocks-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/showblocks/icons/showblocks.png b/scripts/ckeditor/plugins/showblocks/icons/showblocks.png deleted file mode 100755 index 41b5f346..00000000 Binary files a/scripts/ckeditor/plugins/showblocks/icons/showblocks.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_address.png b/scripts/ckeditor/plugins/showblocks/images/block_address.png old mode 100755 new mode 100644 index 1ee67aa2..5abdae12 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_address.png and b/scripts/ckeditor/plugins/showblocks/images/block_address.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_blockquote.png b/scripts/ckeditor/plugins/showblocks/images/block_blockquote.png old mode 100755 new mode 100644 index cae3aec6..a8f49735 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_blockquote.png and b/scripts/ckeditor/plugins/showblocks/images/block_blockquote.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_div.png b/scripts/ckeditor/plugins/showblocks/images/block_div.png old mode 100755 new mode 100644 index c71f3978..87b3c171 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_div.png and b/scripts/ckeditor/plugins/showblocks/images/block_div.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_h1.png b/scripts/ckeditor/plugins/showblocks/images/block_h1.png old mode 100755 new mode 100644 index 3a643473..3933325c Binary files a/scripts/ckeditor/plugins/showblocks/images/block_h1.png and b/scripts/ckeditor/plugins/showblocks/images/block_h1.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_h2.png b/scripts/ckeditor/plugins/showblocks/images/block_h2.png old mode 100755 new mode 100644 index 8062ebe8..c99894c2 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_h2.png and b/scripts/ckeditor/plugins/showblocks/images/block_h2.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_h3.png b/scripts/ckeditor/plugins/showblocks/images/block_h3.png old mode 100755 new mode 100644 index 5b6a4030..cb73d679 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_h3.png and b/scripts/ckeditor/plugins/showblocks/images/block_h3.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_h4.png b/scripts/ckeditor/plugins/showblocks/images/block_h4.png old mode 100755 new mode 100644 index 6c7f7951..7af6bb49 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_h4.png and b/scripts/ckeditor/plugins/showblocks/images/block_h4.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_h5.png b/scripts/ckeditor/plugins/showblocks/images/block_h5.png old mode 100755 new mode 100644 index e153de09..ce5bec16 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_h5.png and b/scripts/ckeditor/plugins/showblocks/images/block_h5.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_h6.png b/scripts/ckeditor/plugins/showblocks/images/block_h6.png old mode 100755 new mode 100644 index c8d993a9..e67b9829 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_h6.png and b/scripts/ckeditor/plugins/showblocks/images/block_h6.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_p.png b/scripts/ckeditor/plugins/showblocks/images/block_p.png old mode 100755 new mode 100644 index 4e6035d2..63a58202 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_p.png and b/scripts/ckeditor/plugins/showblocks/images/block_p.png differ diff --git a/scripts/ckeditor/plugins/showblocks/images/block_pre.png b/scripts/ckeditor/plugins/showblocks/images/block_pre.png old mode 100755 new mode 100644 index d11a0fff..955a8689 Binary files a/scripts/ckeditor/plugins/showblocks/images/block_pre.png and b/scripts/ckeditor/plugins/showblocks/images/block_pre.png differ diff --git a/scripts/ckeditor/plugins/showblocks/lang/af.js b/scripts/ckeditor/plugins/showblocks/lang/af.js deleted file mode 100755 index 86e0ac64..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/af.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'af', { - toolbar: 'Toon blokke' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ar.js b/scripts/ckeditor/plugins/showblocks/lang/ar.js deleted file mode 100755 index ad97b98f..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ar.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ar', { - toolbar: 'مخطط تفصيلي' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/bg.js b/scripts/ckeditor/plugins/showblocks/lang/bg.js deleted file mode 100755 index 74c631ae..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/bg.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'bg', { - toolbar: 'Показва блокове' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/bn.js b/scripts/ckeditor/plugins/showblocks/lang/bn.js deleted file mode 100755 index 8cd491f0..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/bn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'bn', { - toolbar: 'Show Blocks' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/bs.js b/scripts/ckeditor/plugins/showblocks/lang/bs.js deleted file mode 100755 index 32452705..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/bs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'bs', { - toolbar: 'Show Blocks' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ca.js b/scripts/ckeditor/plugins/showblocks/lang/ca.js deleted file mode 100755 index 762d1a98..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ca', { - toolbar: 'Mostra els blocs' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/cs.js b/scripts/ckeditor/plugins/showblocks/lang/cs.js deleted file mode 100755 index 5c1807b5..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/cs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'cs', { - toolbar: 'Ukázat bloky' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/cy.js b/scripts/ckeditor/plugins/showblocks/lang/cy.js deleted file mode 100755 index c8304dbe..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/cy.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'cy', { - toolbar: 'Dangos Blociau' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/da.js b/scripts/ckeditor/plugins/showblocks/lang/da.js deleted file mode 100755 index b1df64cf..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/da.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'da', { - toolbar: 'Vis afsnitsmærker' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/de.js b/scripts/ckeditor/plugins/showblocks/lang/de.js deleted file mode 100755 index 88709935..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/de.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'de', { - toolbar: 'Blöcke anzeigen' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/el.js b/scripts/ckeditor/plugins/showblocks/lang/el.js deleted file mode 100755 index a34903d9..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/el.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'el', { - toolbar: 'Προβολή Τμημάτων' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/en-au.js b/scripts/ckeditor/plugins/showblocks/lang/en-au.js deleted file mode 100755 index ce15fa01..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/en-au.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'en-au', { - toolbar: 'Show Blocks' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/en-ca.js b/scripts/ckeditor/plugins/showblocks/lang/en-ca.js deleted file mode 100755 index 47a67cc2..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/en-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'en-ca', { - toolbar: 'Show Blocks' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/en-gb.js b/scripts/ckeditor/plugins/showblocks/lang/en-gb.js deleted file mode 100755 index d16b5568..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/en-gb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'en-gb', { - toolbar: 'Show Blocks' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/en.js b/scripts/ckeditor/plugins/showblocks/lang/en.js deleted file mode 100755 index f95f5c14..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/en.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'en', { - toolbar: 'Show Blocks' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/eo.js b/scripts/ckeditor/plugins/showblocks/lang/eo.js deleted file mode 100755 index 0e2521fa..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/eo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'eo', { - toolbar: 'Montri la blokojn' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/es.js b/scripts/ckeditor/plugins/showblocks/lang/es.js deleted file mode 100755 index 27046414..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/es.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'es', { - toolbar: 'Mostrar bloques' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/et.js b/scripts/ckeditor/plugins/showblocks/lang/et.js deleted file mode 100755 index cc591030..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/et.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'et', { - toolbar: 'Blokkide näitamine' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/eu.js b/scripts/ckeditor/plugins/showblocks/lang/eu.js deleted file mode 100755 index 9583e1a9..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/eu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'eu', { - toolbar: 'Blokeak erakutsi' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/fa.js b/scripts/ckeditor/plugins/showblocks/lang/fa.js deleted file mode 100755 index 9b24b122..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/fa.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'fa', { - toolbar: 'نمایش بلوک‌ها' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/fi.js b/scripts/ckeditor/plugins/showblocks/lang/fi.js deleted file mode 100755 index fb0b451b..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'fi', { - toolbar: 'Näytä elementit' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/fo.js b/scripts/ckeditor/plugins/showblocks/lang/fo.js deleted file mode 100755 index 0b98475f..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/fo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'fo', { - toolbar: 'Vís blokkar' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/fr-ca.js b/scripts/ckeditor/plugins/showblocks/lang/fr-ca.js deleted file mode 100755 index 6788f963..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/fr-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'fr-ca', { - toolbar: 'Afficher les blocs' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/fr.js b/scripts/ckeditor/plugins/showblocks/lang/fr.js deleted file mode 100755 index 539fab0c..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/fr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'fr', { - toolbar: 'Afficher les blocs' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/gl.js b/scripts/ckeditor/plugins/showblocks/lang/gl.js deleted file mode 100755 index caef0f04..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/gl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'gl', { - toolbar: 'Amosar os bloques' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/gu.js b/scripts/ckeditor/plugins/showblocks/lang/gu.js deleted file mode 100755 index f37e9f7e..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/gu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'gu', { - toolbar: 'બ્લૉક બતાવવું' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/he.js b/scripts/ckeditor/plugins/showblocks/lang/he.js deleted file mode 100755 index 9fd493ef..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/he.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'he', { - toolbar: 'הצגת בלוקים' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/hi.js b/scripts/ckeditor/plugins/showblocks/lang/hi.js deleted file mode 100755 index 668477bf..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/hi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'hi', { - toolbar: 'ब्लॉक दिखायें' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/hr.js b/scripts/ckeditor/plugins/showblocks/lang/hr.js deleted file mode 100755 index 52ee2619..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/hr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'hr', { - toolbar: 'Prikaži blokove' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/hu.js b/scripts/ckeditor/plugins/showblocks/lang/hu.js deleted file mode 100755 index 486a0d67..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/hu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'hu', { - toolbar: 'Blokkok megjelenítése' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/id.js b/scripts/ckeditor/plugins/showblocks/lang/id.js deleted file mode 100755 index 9208c0d3..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/id.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'id', { - toolbar: 'Perlihatkan Blok' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/is.js b/scripts/ckeditor/plugins/showblocks/lang/is.js deleted file mode 100755 index 2541c933..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/is.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'is', { - toolbar: 'Sýna blokkir' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/it.js b/scripts/ckeditor/plugins/showblocks/lang/it.js deleted file mode 100755 index 9422286c..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/it.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'it', { - toolbar: 'Visualizza Blocchi' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ja.js b/scripts/ckeditor/plugins/showblocks/lang/ja.js deleted file mode 100755 index d3607237..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ja', { - toolbar: 'ブロック表示' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ka.js b/scripts/ckeditor/plugins/showblocks/lang/ka.js deleted file mode 100755 index 38dfcc13..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ka.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ka', { - toolbar: 'არეების ჩვენება' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/km.js b/scripts/ckeditor/plugins/showblocks/lang/km.js deleted file mode 100755 index f59b3e55..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/km.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'km', { - toolbar: 'បង្ហាញ​ប្លក់' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ko.js b/scripts/ckeditor/plugins/showblocks/lang/ko.js deleted file mode 100755 index 459d827c..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ko.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ko', { - toolbar: '블록 보기' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ku.js b/scripts/ckeditor/plugins/showblocks/lang/ku.js deleted file mode 100755 index 937ff3cc..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ku.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ku', { - toolbar: 'نیشاندانی بەربەستەکان' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/lt.js b/scripts/ckeditor/plugins/showblocks/lang/lt.js deleted file mode 100755 index 6674d178..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/lt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'lt', { - toolbar: 'Rodyti blokus' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/lv.js b/scripts/ckeditor/plugins/showblocks/lang/lv.js deleted file mode 100755 index 542320d7..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/lv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'lv', { - toolbar: 'Parādīt blokus' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/mk.js b/scripts/ckeditor/plugins/showblocks/lang/mk.js deleted file mode 100755 index 4b2c1445..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/mk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'mk', { - toolbar: 'Show Blocks' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/mn.js b/scripts/ckeditor/plugins/showblocks/lang/mn.js deleted file mode 100755 index 16e05eeb..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/mn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'mn', { - toolbar: 'Хавтангуудыг харуулах' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ms.js b/scripts/ckeditor/plugins/showblocks/lang/ms.js deleted file mode 100755 index f7d2778d..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ms.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ms', { - toolbar: 'Show Blocks' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/nb.js b/scripts/ckeditor/plugins/showblocks/lang/nb.js deleted file mode 100755 index 8b4bc0cb..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/nb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'nb', { - toolbar: 'Vis blokker' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/nl.js b/scripts/ckeditor/plugins/showblocks/lang/nl.js deleted file mode 100755 index 61292b2a..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/nl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'nl', { - toolbar: 'Toon blokken' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/no.js b/scripts/ckeditor/plugins/showblocks/lang/no.js deleted file mode 100755 index b74f83c2..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/no.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'no', { - toolbar: 'Vis blokker' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/pl.js b/scripts/ckeditor/plugins/showblocks/lang/pl.js deleted file mode 100755 index be4b8803..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/pl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'pl', { - toolbar: 'Pokaż bloki' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/pt-br.js b/scripts/ckeditor/plugins/showblocks/lang/pt-br.js deleted file mode 100755 index ba79b349..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/pt-br.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'pt-br', { - toolbar: 'Mostrar blocos de código' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/pt.js b/scripts/ckeditor/plugins/showblocks/lang/pt.js deleted file mode 100755 index c91c6d6b..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/pt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'pt', { - toolbar: 'Exibir blocos' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ro.js b/scripts/ckeditor/plugins/showblocks/lang/ro.js deleted file mode 100755 index ce41bb3a..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ro.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ro', { - toolbar: 'Arată blocurile' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ru.js b/scripts/ckeditor/plugins/showblocks/lang/ru.js deleted file mode 100755 index 340c5c39..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ru.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ru', { - toolbar: 'Отображать блоки' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/si.js b/scripts/ckeditor/plugins/showblocks/lang/si.js deleted file mode 100755 index 991891cd..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/si.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'si', { - toolbar: 'කොටස පෙන්නන්න' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/sk.js b/scripts/ckeditor/plugins/showblocks/lang/sk.js deleted file mode 100755 index c991747e..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'sk', { - toolbar: 'Ukázať bloky' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/sl.js b/scripts/ckeditor/plugins/showblocks/lang/sl.js deleted file mode 100755 index 41b8b7aa..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/sl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'sl', { - toolbar: 'Prikaži ograde' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/sq.js b/scripts/ckeditor/plugins/showblocks/lang/sq.js deleted file mode 100755 index 3a87d5af..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/sq.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'sq', { - toolbar: 'Shfaq Blloqet' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/sr-latn.js b/scripts/ckeditor/plugins/showblocks/lang/sr-latn.js deleted file mode 100755 index fcd5fa0c..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/sr-latn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'sr-latn', { - toolbar: 'Show Blocks' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/sr.js b/scripts/ckeditor/plugins/showblocks/lang/sr.js deleted file mode 100755 index 8c590316..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/sr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'sr', { - toolbar: 'Show Blocks' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/sv.js b/scripts/ckeditor/plugins/showblocks/lang/sv.js deleted file mode 100755 index 914df6cd..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/sv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'sv', { - toolbar: 'Visa block' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/th.js b/scripts/ckeditor/plugins/showblocks/lang/th.js deleted file mode 100755 index 1c78b7e0..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/th.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'th', { - toolbar: 'แสดงบล็อคข้อมูล' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/tr.js b/scripts/ckeditor/plugins/showblocks/lang/tr.js deleted file mode 100755 index 87e0bbce..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/tr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'tr', { - toolbar: 'Blokları Göster' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/tt.js b/scripts/ckeditor/plugins/showblocks/lang/tt.js deleted file mode 100755 index 858230bc..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/tt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'tt', { - toolbar: 'Блокларны күрсәтү' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/ug.js b/scripts/ckeditor/plugins/showblocks/lang/ug.js deleted file mode 100755 index eb88c10e..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/ug.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'ug', { - toolbar: 'بۆلەكنى كۆرسەت' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/uk.js b/scripts/ckeditor/plugins/showblocks/lang/uk.js deleted file mode 100755 index 3b95bd69..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/uk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'uk', { - toolbar: 'Показувати блоки' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/vi.js b/scripts/ckeditor/plugins/showblocks/lang/vi.js deleted file mode 100755 index 66fbd233..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/vi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'vi', { - toolbar: 'Hiển thị các khối' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/zh-cn.js b/scripts/ckeditor/plugins/showblocks/lang/zh-cn.js deleted file mode 100755 index d551363a..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/zh-cn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'zh-cn', { - toolbar: '显示区块' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/lang/zh.js b/scripts/ckeditor/plugins/showblocks/lang/zh.js deleted file mode 100755 index 7b3a20c4..00000000 --- a/scripts/ckeditor/plugins/showblocks/lang/zh.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'showblocks', 'zh', { - toolbar: '顯示區塊' -} ); diff --git a/scripts/ckeditor/plugins/showblocks/plugin.js b/scripts/ckeditor/plugins/showblocks/plugin.js deleted file mode 100755 index 25295805..00000000 --- a/scripts/ckeditor/plugins/showblocks/plugin.js +++ /dev/null @@ -1,153 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview The "showblocks" plugin. Enable it will make all block level - * elements being decorated with a border and the element name - * displayed on the left-right corner. - */ - -( function() { - 'use strict'; - - var commandDefinition = { - readOnly: 1, - preserveState: true, - editorFocus: false, - - exec: function( editor ) { - this.toggleState(); - this.refresh( editor ); - }, - - refresh: function( editor ) { - if ( editor.document ) { - // Show blocks turns inactive after editor loses focus when in inline. - var showBlocks = this.state == CKEDITOR.TRISTATE_ON && - ( editor.elementMode != CKEDITOR.ELEMENT_MODE_INLINE || - editor.focusManager.hasFocus ); - - var funcName = showBlocks ? 'attachClass' : 'removeClass'; - editor.editable()[ funcName ]( 'cke_show_blocks' ); - } - } - }; - - CKEDITOR.plugins.add( 'showblocks', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'showblocks,showblocks-rtl', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - onLoad: function() { - var tags = [ 'p', 'div', 'pre', 'address', 'blockquote', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ], - cssStd, cssImg, cssLtr, cssRtl, - path = CKEDITOR.getUrl( this.path ), - // #10884 don't apply showblocks styles to non-editable elements and chosen ones. - // IE8 does not support :not() pseudoclass, so we need to reset showblocks rather - // than 'prevent' its application. We do that by additional rules. - supportsNotPseudoclass = !( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ), - notDisabled = supportsNotPseudoclass ? ':not([contenteditable=false]):not(.cke_show_blocks_off)' : '', - tag, trailing; - - cssStd = cssImg = cssLtr = cssRtl = ''; - - while ( ( tag = tags.pop() ) ) { - trailing = tags.length ? ',' : ''; - - cssStd += '.cke_show_blocks ' + tag + notDisabled + trailing; - cssLtr += '.cke_show_blocks.cke_contents_ltr ' + tag + notDisabled + trailing; - cssRtl += '.cke_show_blocks.cke_contents_rtl ' + tag + notDisabled + trailing; - cssImg += '.cke_show_blocks ' + tag + notDisabled + '{' + - 'background-image:url(' + path + 'images/block_' + tag + '.png)' + - '}'; - } - - // .cke_show_blocks p { ... } - cssStd += '{' + - 'background-repeat:no-repeat;' + - 'border:1px dotted gray;' + - 'padding-top:8px' + - '}'; - - // .cke_show_blocks.cke_contents_ltr p { ... } - cssLtr += '{' + - 'background-position:top left;' + - 'padding-left:8px' + - '}'; - - // .cke_show_blocks.cke_contents_rtl p { ... } - cssRtl += '{' + - 'background-position:top right;' + - 'padding-right:8px' + - '}'; - - CKEDITOR.addCss( cssStd.concat( cssImg, cssLtr, cssRtl ) ); - - // [IE8] Reset showblocks styles for non-editables and chosen elements, because - // it could not be done using :not() pseudoclass (#10884). - if ( !supportsNotPseudoclass ) { - CKEDITOR.addCss( - '.cke_show_blocks [contenteditable=false],.cke_show_blocks .cke_show_blocks_off{' + - 'border:none;' + - 'padding-top:0;' + - 'background-image:none' + - '}' + - '.cke_show_blocks.cke_contents_rtl [contenteditable=false],.cke_show_blocks.cke_contents_rtl .cke_show_blocks_off{' + - 'padding-right:0' + - '}' + - '.cke_show_blocks.cke_contents_ltr [contenteditable=false],.cke_show_blocks.cke_contents_ltr .cke_show_blocks_off{' + - 'padding-left:0' + - '}' - ); - } - }, - init: function( editor ) { - if ( editor.blockless ) - return; - - var command = editor.addCommand( 'showblocks', commandDefinition ); - command.canUndo = false; - - if ( editor.config.startupOutlineBlocks ) - command.setState( CKEDITOR.TRISTATE_ON ); - - editor.ui.addButton && editor.ui.addButton( 'ShowBlocks', { - label: editor.lang.showblocks.toolbar, - command: 'showblocks', - toolbar: 'tools,20' - } ); - - // Refresh the command on setData. - editor.on( 'mode', function() { - if ( command.state != CKEDITOR.TRISTATE_DISABLED ) - command.refresh( editor ); - } ); - - // Refresh the command on focus/blur in inline. - if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) { - editor.on( 'focus', onFocusBlur ); - editor.on( 'blur', onFocusBlur ); - } - - // Refresh the command on setData. - editor.on( 'contentDom', function() { - if ( command.state != CKEDITOR.TRISTATE_DISABLED ) - command.refresh( editor ); - } ); - - function onFocusBlur() { - command.refresh( editor ); - } - } - } ); -} )(); - -/** - * Whether to automaticaly enable the show block" command when the editor loads. - * - * config.startupOutlineBlocks = true; - * - * @cfg {Boolean} [startupOutlineBlocks=false] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/showborders/plugin.js b/scripts/ckeditor/plugins/showborders/plugin.js deleted file mode 100755 index 940d2c19..00000000 --- a/scripts/ckeditor/plugins/showborders/plugin.js +++ /dev/null @@ -1,174 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview The "show border" plugin. The command display visible outline - * border line around all table elements if table doesn't have a none-zero 'border' attribute specified. - */ - -( function() { - var commandDefinition = { - preserveState: true, - editorFocus: false, - readOnly: 1, - - exec: function( editor ) { - this.toggleState(); - this.refresh( editor ); - }, - - refresh: function( editor ) { - if ( editor.document ) { - var funcName = ( this.state == CKEDITOR.TRISTATE_ON ) ? 'attachClass' : 'removeClass'; - editor.editable()[ funcName ]( 'cke_show_borders' ); - } - } - }; - - var showBorderClassName = 'cke_show_border'; - - CKEDITOR.plugins.add( 'showborders', { - modes: { 'wysiwyg': 1 }, - - onLoad: function() { - var cssStyleText, - cssTemplate = - // TODO: For IE6, we don't have child selector support, - // where nested table cells could be incorrect. - ( CKEDITOR.env.ie6Compat ? [ - '.%1 table.%2,', - '.%1 table.%2 td, .%1 table.%2 th', - '{', - 'border : #d3d3d3 1px dotted', - '}' - ] : [ - '.%1 table.%2,', - '.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,', - '.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,', - '.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,', - '.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th', - '{', - 'border : #d3d3d3 1px dotted', - '}' - ] ).join( '' ); - - cssStyleText = cssTemplate.replace( /%2/g, showBorderClassName ).replace( /%1/g, 'cke_show_borders ' ); - - CKEDITOR.addCss( cssStyleText ); - }, - - init: function( editor ) { - - var command = editor.addCommand( 'showborders', commandDefinition ); - command.canUndo = false; - - if ( editor.config.startupShowBorders !== false ) - command.setState( CKEDITOR.TRISTATE_ON ); - - // Refresh the command on setData. - editor.on( 'mode', function() { - if ( command.state != CKEDITOR.TRISTATE_DISABLED ) - command.refresh( editor ); - }, null, null, 100 ); - - // Refresh the command on wysiwyg frame reloads. - editor.on( 'contentDom', function() { - if ( command.state != CKEDITOR.TRISTATE_DISABLED ) - command.refresh( editor ); - } ); - - editor.on( 'removeFormatCleanup', function( evt ) { - var element = evt.data; - if ( editor.getCommand( 'showborders' ).state == CKEDITOR.TRISTATE_ON && element.is( 'table' ) && ( !element.hasAttribute( 'border' ) || parseInt( element.getAttribute( 'border' ), 10 ) <= 0 ) ) - element.addClass( showBorderClassName ); - } ); - }, - - afterInit: function( editor ) { - var dataProcessor = editor.dataProcessor, - dataFilter = dataProcessor && dataProcessor.dataFilter, - htmlFilter = dataProcessor && dataProcessor.htmlFilter; - - if ( dataFilter ) { - dataFilter.addRules( { - elements: { - 'table': function( element ) { - var attributes = element.attributes, - cssClass = attributes[ 'class' ], - border = parseInt( attributes.border, 10 ); - - if ( ( !border || border <= 0 ) && ( !cssClass || cssClass.indexOf( showBorderClassName ) == -1 ) ) - attributes[ 'class' ] = ( cssClass || '' ) + ' ' + showBorderClassName; - } - } - } ); - } - - if ( htmlFilter ) { - htmlFilter.addRules( { - elements: { - 'table': function( table ) { - var attributes = table.attributes, - cssClass = attributes[ 'class' ]; - - cssClass && ( attributes[ 'class' ] = cssClass.replace( showBorderClassName, '' ).replace( /\s{2}/, ' ' ).replace( /^\s+|\s+$/, '' ) ); - } - } - } ); - } - } - } ); - - // Table dialog must be aware of it. - CKEDITOR.on( 'dialogDefinition', function( ev ) { - var dialogName = ev.data.name; - - if ( dialogName == 'table' || dialogName == 'tableProperties' ) { - var dialogDefinition = ev.data.definition, - infoTab = dialogDefinition.getContents( 'info' ), - borderField = infoTab.get( 'txtBorder' ), - originalCommit = borderField.commit; - - borderField.commit = CKEDITOR.tools.override( originalCommit, function( org ) { - return function( data, selectedTable ) { - org.apply( this, arguments ); - var value = parseInt( this.getValue(), 10 ); - selectedTable[ ( !value || value <= 0 ) ? 'addClass' : 'removeClass' ]( showBorderClassName ); - }; - } ); - - var advTab = dialogDefinition.getContents( 'advanced' ), - classField = advTab && advTab.get( 'advCSSClasses' ); - - if ( classField ) { - classField.setup = CKEDITOR.tools.override( classField.setup, function( originalSetup ) { - return function() { - originalSetup.apply( this, arguments ); - this.setValue( this.getValue().replace( /cke_show_border/, '' ) ); - }; - } ); - - classField.commit = CKEDITOR.tools.override( classField.commit, function( originalCommit ) { - return function( data, element ) { - originalCommit.apply( this, arguments ); - - if ( !parseInt( element.getAttribute( 'border' ), 10 ) ) - element.addClass( 'cke_show_border' ); - }; - } ); - } - } - } ); - -} )(); - -/** - * Whether to automatically enable the "show borders" command when the editor loads. - * - * config.startupShowBorders = false; - * - * @cfg {Boolean} [startupShowBorders=true] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/smiley/dialogs/smiley.js b/scripts/ckeditor/plugins/smiley/dialogs/smiley.js old mode 100755 new mode 100644 index fb231679..54250ab2 --- a/scripts/ckeditor/plugins/smiley/dialogs/smiley.js +++ b/scripts/ckeditor/plugins/smiley/dialogs/smiley.js @@ -1,190 +1,10 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.dialog.add( 'smiley', function( editor ) { - var config = editor.config, - lang = editor.lang.smiley, - images = config.smiley_images, - columns = config.smiley_columns || 8, - i; - - // Simulate "this" of a dialog for non-dialog events. - // @type {CKEDITOR.dialog} - var dialog; - var onClick = function( evt ) { - var target = evt.data.getTarget(), - targetName = target.getName(); - - if ( targetName == 'a' ) - target = target.getChild( 0 ); - else if ( targetName != 'img' ) - return; - - var src = target.getAttribute( 'cke_src' ), - title = target.getAttribute( 'title' ); - - var img = editor.document.createElement( 'img', { - attributes: { - src: src, - 'data-cke-saved-src': src, - title: title, - alt: title, - width: target.$.width, - height: target.$.height - } - } ); - - editor.insertElement( img ); - - dialog.hide(); - evt.data.preventDefault(); - }; - - var onKeydown = CKEDITOR.tools.addFunction( function( ev, element ) { - ev = new CKEDITOR.dom.event( ev ); - element = new CKEDITOR.dom.element( element ); - var relative, nodeToMove; - - var keystroke = ev.getKeystroke(), - rtl = editor.lang.dir == 'rtl'; - switch ( keystroke ) { - // UP-ARROW - case 38: - // relative is TR - if ( ( relative = element.getParent().getParent().getPrevious() ) ) { - nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] ); - nodeToMove.focus(); - } - ev.preventDefault(); - break; - // DOWN-ARROW - case 40: - // relative is TR - if ( ( relative = element.getParent().getParent().getNext() ) ) { - nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] ); - if ( nodeToMove ) - nodeToMove.focus(); - } - ev.preventDefault(); - break; - // ENTER - // SPACE - case 32: - onClick( { data: ev } ); - ev.preventDefault(); - break; - - // RIGHT-ARROW - case rtl ? 37 : 39: - // relative is TD - if ( ( relative = element.getParent().getNext() ) ) { - nodeToMove = relative.getChild( 0 ); - nodeToMove.focus(); - ev.preventDefault( true ); - } - // relative is TR - else if ( ( relative = element.getParent().getParent().getNext() ) ) { - nodeToMove = relative.getChild( [ 0, 0 ] ); - if ( nodeToMove ) - nodeToMove.focus(); - ev.preventDefault( true ); - } - break; - - // LEFT-ARROW - case rtl ? 39 : 37: - // relative is TD - if ( ( relative = element.getParent().getPrevious() ) ) { - nodeToMove = relative.getChild( 0 ); - nodeToMove.focus(); - ev.preventDefault( true ); - } - // relative is TR - else if ( ( relative = element.getParent().getParent().getPrevious() ) ) { - nodeToMove = relative.getLast().getChild( 0 ); - nodeToMove.focus(); - ev.preventDefault( true ); - } - break; - default: - // Do not stop not handled events. - return; - } - } ); - - // Build the HTML for the smiley images table. - var labelId = CKEDITOR.tools.getNextId() + '_smiley_emtions_label'; - var html = [ - '
    ' + - '' + lang.options + '', - '' - ]; - - var size = images.length; - for ( i = 0; i < size; i++ ) { - if ( i % columns === 0 ) - html.push( '' ); - - var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); - html.push( '' ); - - if ( i % columns == columns - 1 ) - html.push( '' ); - } - - if ( i < columns - 1 ) { - for ( ; i < columns - 1; i++ ) - html.push( '' ); - html.push( '' ); - } - - html.push( '
    ' ); - - var smileySelector = { - type: 'html', - id: 'smileySelector', - html: html.join( '' ), - onLoad: function( event ) { - dialog = event.sender; - }, - focus: function() { - var self = this; - // IE need a while to move the focus (#6539). - setTimeout( function() { - var firstSmile = self.getElement().getElementsByTag( 'a' ).getItem( 0 ); - firstSmile.focus(); - }, 0 ); - }, - onClick: onClick, - style: 'width: 100%; border-collapse: separate;' - }; - - return { - title: editor.lang.smiley.title, - minWidth: 270, - minHeight: 120, - contents: [ - { - id: 'tab1', - label: '', - title: '', - expand: true, - padding: 0, - elements: [ - smileySelector - ] - } - ], - buttons: [ CKEDITOR.dialog.cancelButton ] - }; -} ); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("smiley",function(f){for(var e=f.config,a=f.lang.smiley,h=e.smiley_images,g=e.smiley_columns||8,i,k=function(j){var c=j.data.getTarget(),b=c.getName();if("a"==b)c=c.getChild(0);else if("img"!=b)return;var b=c.getAttribute("cke_src"),a=c.getAttribute("title"),c=f.document.createElement("img",{attributes:{src:b,"data-cke-saved-src":b,title:a,alt:a,width:c.$.width,height:c.$.height}});f.insertElement(c);i.hide();j.data.preventDefault()},n=CKEDITOR.tools.addFunction(function(a,c){var a= +new CKEDITOR.dom.event(a),c=new CKEDITOR.dom.element(c),b;b=a.getKeystroke();var d="rtl"==f.lang.dir;switch(b){case 38:if(b=c.getParent().getParent().getPrevious())b=b.getChild([c.getParent().getIndex(),0]),b.focus();a.preventDefault();break;case 40:if(b=c.getParent().getParent().getNext())(b=b.getChild([c.getParent().getIndex(),0]))&&b.focus();a.preventDefault();break;case 32:k({data:a});a.preventDefault();break;case d?37:39:if(b=c.getParent().getNext())b=b.getChild(0),b.focus(),a.preventDefault(!0); +else if(b=c.getParent().getParent().getNext())(b=b.getChild([0,0]))&&b.focus(),a.preventDefault(!0);break;case d?39:37:if(b=c.getParent().getPrevious())b=b.getChild(0),b.focus(),a.preventDefault(!0);else if(b=c.getParent().getParent().getPrevious())b=b.getLast().getChild(0),b.focus(),a.preventDefault(!0)}}),d=CKEDITOR.tools.getNextId()+"_smiley_emtions_label",d=['
    '+a.options+"",'"],l=h.length,a=0;a');var m="cke_smile_label_"+a+"_"+CKEDITOR.tools.getNextNumber();d.push('");a%g==g-1&&d.push("")}if(a");d.push("")}d.push("
    "); +e={type:"html",id:"smileySelector",html:d.join(""),onLoad:function(a){i=a.sender},focus:function(){var a=this;setTimeout(function(){a.getElement().getElementsByTag("a").getItem(0).focus()},0)},onClick:k,style:"width: 100%; border-collapse: separate;"};return{title:f.lang.smiley.title,minWidth:270,minHeight:120,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[e]}],buttons:[CKEDITOR.dialog.cancelButton]}}); \ No newline at end of file diff --git a/scripts/ckeditor/plugins/smiley/icons/hidpi/smiley.png b/scripts/ckeditor/plugins/smiley/icons/hidpi/smiley.png deleted file mode 100755 index bad62eed..00000000 Binary files a/scripts/ckeditor/plugins/smiley/icons/hidpi/smiley.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/smiley/icons/smiley.png b/scripts/ckeditor/plugins/smiley/icons/smiley.png deleted file mode 100755 index 9fafa28a..00000000 Binary files a/scripts/ckeditor/plugins/smiley/icons/smiley.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/smiley/images/angel_smile.gif b/scripts/ckeditor/plugins/smiley/images/angel_smile.gif old mode 100755 new mode 100644 index e7daebc2..21f81a2f Binary files a/scripts/ckeditor/plugins/smiley/images/angel_smile.gif and b/scripts/ckeditor/plugins/smiley/images/angel_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/angel_smile.png b/scripts/ckeditor/plugins/smiley/images/angel_smile.png old mode 100755 new mode 100644 index 39a85c39..559e5e71 Binary files a/scripts/ckeditor/plugins/smiley/images/angel_smile.png and b/scripts/ckeditor/plugins/smiley/images/angel_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/angry_smile.gif b/scripts/ckeditor/plugins/smiley/images/angry_smile.gif old mode 100755 new mode 100644 index a5890f37..c912d99b Binary files a/scripts/ckeditor/plugins/smiley/images/angry_smile.gif and b/scripts/ckeditor/plugins/smiley/images/angry_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/angry_smile.png b/scripts/ckeditor/plugins/smiley/images/angry_smile.png old mode 100755 new mode 100644 index dd07d3e6..c05d2be3 Binary files a/scripts/ckeditor/plugins/smiley/images/angry_smile.png and b/scripts/ckeditor/plugins/smiley/images/angry_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/broken_heart.gif b/scripts/ckeditor/plugins/smiley/images/broken_heart.gif old mode 100755 new mode 100644 index 0b822cd9..4162a7b2 Binary files a/scripts/ckeditor/plugins/smiley/images/broken_heart.gif and b/scripts/ckeditor/plugins/smiley/images/broken_heart.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/broken_heart.png b/scripts/ckeditor/plugins/smiley/images/broken_heart.png old mode 100755 new mode 100644 index 775146fd..a711c0d8 Binary files a/scripts/ckeditor/plugins/smiley/images/broken_heart.png and b/scripts/ckeditor/plugins/smiley/images/broken_heart.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/confused_smile.gif b/scripts/ckeditor/plugins/smiley/images/confused_smile.gif old mode 100755 new mode 100644 index 95871949..0e420cba Binary files a/scripts/ckeditor/plugins/smiley/images/confused_smile.gif and b/scripts/ckeditor/plugins/smiley/images/confused_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/confused_smile.png b/scripts/ckeditor/plugins/smiley/images/confused_smile.png old mode 100755 new mode 100644 index d69a6f92..e0b8e5c6 Binary files a/scripts/ckeditor/plugins/smiley/images/confused_smile.png and b/scripts/ckeditor/plugins/smiley/images/confused_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/cry_smile.gif b/scripts/ckeditor/plugins/smiley/images/cry_smile.gif old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/smiley/images/cry_smile.png b/scripts/ckeditor/plugins/smiley/images/cry_smile.png old mode 100755 new mode 100644 index dd610b8f..a1891a34 Binary files a/scripts/ckeditor/plugins/smiley/images/cry_smile.png and b/scripts/ckeditor/plugins/smiley/images/cry_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/devil_smile.gif b/scripts/ckeditor/plugins/smiley/images/devil_smile.gif old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/smiley/images/devil_smile.png b/scripts/ckeditor/plugins/smiley/images/devil_smile.png old mode 100755 new mode 100644 index 63a908e1..53247a88 Binary files a/scripts/ckeditor/plugins/smiley/images/devil_smile.png and b/scripts/ckeditor/plugins/smiley/images/devil_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/embaressed_smile.gif b/scripts/ckeditor/plugins/smiley/images/embaressed_smile.gif old mode 100755 new mode 100644 index b64a58bd..8d39f252 Binary files a/scripts/ckeditor/plugins/smiley/images/embaressed_smile.gif and b/scripts/ckeditor/plugins/smiley/images/embaressed_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif b/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif old mode 100755 new mode 100644 index b64a58bd..8d39f252 Binary files a/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif and b/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.png b/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.png old mode 100755 new mode 100644 index f01cdf3b..34904b66 Binary files a/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.png and b/scripts/ckeditor/plugins/smiley/images/embarrassed_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/envelope.gif b/scripts/ckeditor/plugins/smiley/images/envelope.gif old mode 100755 new mode 100644 index f8ffc543..5294ec48 Binary files a/scripts/ckeditor/plugins/smiley/images/envelope.gif and b/scripts/ckeditor/plugins/smiley/images/envelope.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/envelope.png b/scripts/ckeditor/plugins/smiley/images/envelope.png old mode 100755 new mode 100644 index b4180c5b..44398ad1 Binary files a/scripts/ckeditor/plugins/smiley/images/envelope.png and b/scripts/ckeditor/plugins/smiley/images/envelope.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/heart.gif b/scripts/ckeditor/plugins/smiley/images/heart.gif old mode 100755 new mode 100644 index 77e0fe8b..160be8ef Binary files a/scripts/ckeditor/plugins/smiley/images/heart.gif and b/scripts/ckeditor/plugins/smiley/images/heart.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/heart.png b/scripts/ckeditor/plugins/smiley/images/heart.png old mode 100755 new mode 100644 index a5335bb6..df409e62 Binary files a/scripts/ckeditor/plugins/smiley/images/heart.png and b/scripts/ckeditor/plugins/smiley/images/heart.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/kiss.gif b/scripts/ckeditor/plugins/smiley/images/kiss.gif old mode 100755 new mode 100644 index 49f31ab4..ffb23db0 Binary files a/scripts/ckeditor/plugins/smiley/images/kiss.gif and b/scripts/ckeditor/plugins/smiley/images/kiss.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/kiss.png b/scripts/ckeditor/plugins/smiley/images/kiss.png old mode 100755 new mode 100644 index 4f5f0a5f..a4f2f363 Binary files a/scripts/ckeditor/plugins/smiley/images/kiss.png and b/scripts/ckeditor/plugins/smiley/images/kiss.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/lightbulb.gif b/scripts/ckeditor/plugins/smiley/images/lightbulb.gif old mode 100755 new mode 100644 index 73f2e5aa..ceb6e2d9 Binary files a/scripts/ckeditor/plugins/smiley/images/lightbulb.gif and b/scripts/ckeditor/plugins/smiley/images/lightbulb.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/lightbulb.png b/scripts/ckeditor/plugins/smiley/images/lightbulb.png old mode 100755 new mode 100644 index 56c8137d..0c4a9240 Binary files a/scripts/ckeditor/plugins/smiley/images/lightbulb.png and b/scripts/ckeditor/plugins/smiley/images/lightbulb.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/omg_smile.gif b/scripts/ckeditor/plugins/smiley/images/omg_smile.gif old mode 100755 new mode 100644 index abd2a869..3177355f Binary files a/scripts/ckeditor/plugins/smiley/images/omg_smile.gif and b/scripts/ckeditor/plugins/smiley/images/omg_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/omg_smile.png b/scripts/ckeditor/plugins/smiley/images/omg_smile.png old mode 100755 new mode 100644 index cbbb106a..abc4e2d0 Binary files a/scripts/ckeditor/plugins/smiley/images/omg_smile.png and b/scripts/ckeditor/plugins/smiley/images/omg_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/regular_smile.gif b/scripts/ckeditor/plugins/smiley/images/regular_smile.gif old mode 100755 new mode 100644 index de7f1ef1..fdcf5c33 Binary files a/scripts/ckeditor/plugins/smiley/images/regular_smile.gif and b/scripts/ckeditor/plugins/smiley/images/regular_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/regular_smile.png b/scripts/ckeditor/plugins/smiley/images/regular_smile.png old mode 100755 new mode 100644 index 786b2000..0f2649b7 Binary files a/scripts/ckeditor/plugins/smiley/images/regular_smile.png and b/scripts/ckeditor/plugins/smiley/images/regular_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/sad_smile.gif b/scripts/ckeditor/plugins/smiley/images/sad_smile.gif old mode 100755 new mode 100644 index ee7810e4..cca0729d Binary files a/scripts/ckeditor/plugins/smiley/images/sad_smile.gif and b/scripts/ckeditor/plugins/smiley/images/sad_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/sad_smile.png b/scripts/ckeditor/plugins/smiley/images/sad_smile.png old mode 100755 new mode 100644 index 1ae435c2..f20f3bf3 Binary files a/scripts/ckeditor/plugins/smiley/images/sad_smile.png and b/scripts/ckeditor/plugins/smiley/images/sad_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/shades_smile.gif b/scripts/ckeditor/plugins/smiley/images/shades_smile.gif old mode 100755 new mode 100644 index 11fc90f6..7d93474c Binary files a/scripts/ckeditor/plugins/smiley/images/shades_smile.gif and b/scripts/ckeditor/plugins/smiley/images/shades_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/shades_smile.png b/scripts/ckeditor/plugins/smiley/images/shades_smile.png old mode 100755 new mode 100644 index 9e68d5a6..fdaa28b7 Binary files a/scripts/ckeditor/plugins/smiley/images/shades_smile.png and b/scripts/ckeditor/plugins/smiley/images/shades_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/teeth_smile.gif b/scripts/ckeditor/plugins/smiley/images/teeth_smile.gif old mode 100755 new mode 100644 index a950b438..44c37996 Binary files a/scripts/ckeditor/plugins/smiley/images/teeth_smile.gif and b/scripts/ckeditor/plugins/smiley/images/teeth_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/teeth_smile.png b/scripts/ckeditor/plugins/smiley/images/teeth_smile.png old mode 100755 new mode 100644 index c7d2fd4e..5e63785e Binary files a/scripts/ckeditor/plugins/smiley/images/teeth_smile.png and b/scripts/ckeditor/plugins/smiley/images/teeth_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/thumbs_down.gif b/scripts/ckeditor/plugins/smiley/images/thumbs_down.gif old mode 100755 new mode 100644 index c01f763f..5c8bee30 Binary files a/scripts/ckeditor/plugins/smiley/images/thumbs_down.gif and b/scripts/ckeditor/plugins/smiley/images/thumbs_down.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/thumbs_down.png b/scripts/ckeditor/plugins/smiley/images/thumbs_down.png old mode 100755 new mode 100644 index a6bb5329..1823481f Binary files a/scripts/ckeditor/plugins/smiley/images/thumbs_down.png and b/scripts/ckeditor/plugins/smiley/images/thumbs_down.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/thumbs_up.gif b/scripts/ckeditor/plugins/smiley/images/thumbs_up.gif old mode 100755 new mode 100644 index 0f42774d..9cc37029 Binary files a/scripts/ckeditor/plugins/smiley/images/thumbs_up.gif and b/scripts/ckeditor/plugins/smiley/images/thumbs_up.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/thumbs_up.png b/scripts/ckeditor/plugins/smiley/images/thumbs_up.png old mode 100755 new mode 100644 index 6ea78591..d4e8b22a Binary files a/scripts/ckeditor/plugins/smiley/images/thumbs_up.png and b/scripts/ckeditor/plugins/smiley/images/thumbs_up.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/tongue_smile.gif b/scripts/ckeditor/plugins/smiley/images/tongue_smile.gif old mode 100755 new mode 100644 index 369b4350..81e05b0f Binary files a/scripts/ckeditor/plugins/smiley/images/tongue_smile.gif and b/scripts/ckeditor/plugins/smiley/images/tongue_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/tongue_smile.png b/scripts/ckeditor/plugins/smiley/images/tongue_smile.png old mode 100755 new mode 100644 index 5bee4c04..56553fbe Binary files a/scripts/ckeditor/plugins/smiley/images/tongue_smile.png and b/scripts/ckeditor/plugins/smiley/images/tongue_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/tounge_smile.gif b/scripts/ckeditor/plugins/smiley/images/tounge_smile.gif old mode 100755 new mode 100644 index 369b4350..81e05b0f Binary files a/scripts/ckeditor/plugins/smiley/images/tounge_smile.gif and b/scripts/ckeditor/plugins/smiley/images/tounge_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif b/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif old mode 100755 new mode 100644 index 2cc81c14..eef4fc00 Binary files a/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif and b/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png b/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png old mode 100755 new mode 100644 index bebf74da..f9714d1b Binary files a/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png and b/scripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/images/wink_smile.gif b/scripts/ckeditor/plugins/smiley/images/wink_smile.gif old mode 100755 new mode 100644 index 07cad31b..6d3d64bd Binary files a/scripts/ckeditor/plugins/smiley/images/wink_smile.gif and b/scripts/ckeditor/plugins/smiley/images/wink_smile.gif differ diff --git a/scripts/ckeditor/plugins/smiley/images/wink_smile.png b/scripts/ckeditor/plugins/smiley/images/wink_smile.png old mode 100755 new mode 100644 index 805da960..7c99c3fc Binary files a/scripts/ckeditor/plugins/smiley/images/wink_smile.png and b/scripts/ckeditor/plugins/smiley/images/wink_smile.png differ diff --git a/scripts/ckeditor/plugins/smiley/lang/af.js b/scripts/ckeditor/plugins/smiley/lang/af.js deleted file mode 100755 index 71a1cf17..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/af.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'af', { - options: 'Lagbekkie opsies', - title: 'Voeg lagbekkie by', - toolbar: 'Lagbekkie' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ar.js b/scripts/ckeditor/plugins/smiley/lang/ar.js deleted file mode 100755 index e9e1415d..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ar.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ar', { - options: 'خصائص الإبتسامات', - title: 'إدراج ابتسامات', - toolbar: 'ابتسامات' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/bg.js b/scripts/ckeditor/plugins/smiley/lang/bg.js deleted file mode 100755 index 5316d815..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/bg.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'bg', { - options: 'Опции за усмивката', - title: 'Вмъкване на усмивка', - toolbar: 'Усмивка' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/bn.js b/scripts/ckeditor/plugins/smiley/lang/bn.js deleted file mode 100755 index d34db6a5..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/bn.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'bn', { - options: 'Smiley Options', // MISSING - title: 'স্মাইলী যুক্ত কর', - toolbar: 'স্মাইলী' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/bs.js b/scripts/ckeditor/plugins/smiley/lang/bs.js deleted file mode 100755 index f98d3f6a..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/bs.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'bs', { - options: 'Smiley Options', // MISSING - title: 'Ubaci smješka', - toolbar: 'Smješko' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ca.js b/scripts/ckeditor/plugins/smiley/lang/ca.js deleted file mode 100755 index 901e50ca..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ca.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ca', { - options: 'Opcions d\'emoticones', - title: 'Insereix una icona', - toolbar: 'Icona' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/cs.js b/scripts/ckeditor/plugins/smiley/lang/cs.js deleted file mode 100755 index 1a5cd873..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/cs.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'cs', { - options: 'Nastavení smajlíků', - title: 'Vkládání smajlíků', - toolbar: 'Smajlíci' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/cy.js b/scripts/ckeditor/plugins/smiley/lang/cy.js deleted file mode 100755 index bdb33394..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/cy.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'cy', { - options: 'Opsiynau Gwenogluniau', - title: 'Mewnosod Gwenoglun', - toolbar: 'Gwenoglun' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/da.js b/scripts/ckeditor/plugins/smiley/lang/da.js deleted file mode 100755 index 0a7a2be5..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/da.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'da', { - options: 'Smileymuligheder', - title: 'Vælg smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/de.js b/scripts/ckeditor/plugins/smiley/lang/de.js deleted file mode 100755 index b68c204f..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/de.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'de', { - options: 'Smiley Optionen', - title: 'Smiley auswählen', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/el.js b/scripts/ckeditor/plugins/smiley/lang/el.js deleted file mode 100755 index 24ca7f93..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/el.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'el', { - options: 'Επιλογές Φατσούλων', - title: 'Εισάγετε μια Φατσούλα', - toolbar: 'Φατσούλα' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/en-au.js b/scripts/ckeditor/plugins/smiley/lang/en-au.js deleted file mode 100755 index 50629752..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/en-au.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'en-au', { - options: 'Smiley Options', // MISSING - title: 'Insert a Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/en-ca.js b/scripts/ckeditor/plugins/smiley/lang/en-ca.js deleted file mode 100755 index f2b06e18..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/en-ca.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'en-ca', { - options: 'Smiley Options', // MISSING - title: 'Insert a Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/en-gb.js b/scripts/ckeditor/plugins/smiley/lang/en-gb.js deleted file mode 100755 index 866146ab..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/en-gb.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'en-gb', { - options: 'Smiley Options', - title: 'Insert a Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/en.js b/scripts/ckeditor/plugins/smiley/lang/en.js deleted file mode 100755 index 1e2132e4..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/en.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'en', { - options: 'Smiley Options', - title: 'Insert a Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/eo.js b/scripts/ckeditor/plugins/smiley/lang/eo.js deleted file mode 100755 index 11fa00a9..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/eo.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'eo', { - options: 'Opcioj pri mienvinjetoj', - title: 'Enmeti Mienvinjeton', - toolbar: 'Mienvinjeto' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/es.js b/scripts/ckeditor/plugins/smiley/lang/es.js deleted file mode 100755 index 9eaf22c4..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/es.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'es', { - options: 'Opciones de emoticonos', - title: 'Insertar un Emoticon', - toolbar: 'Emoticonos' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/et.js b/scripts/ckeditor/plugins/smiley/lang/et.js deleted file mode 100755 index 0e32621e..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/et.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'et', { - options: 'Emotikonide valikud', - title: 'Sisesta emotikon', - toolbar: 'Emotikon' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/eu.js b/scripts/ckeditor/plugins/smiley/lang/eu.js deleted file mode 100755 index bff486cc..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/eu.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'eu', { - options: 'Aurpegiera Aukerak', - title: 'Aurpegiera Sartu', - toolbar: 'Aurpegierak' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/fa.js b/scripts/ckeditor/plugins/smiley/lang/fa.js deleted file mode 100755 index 259bc166..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/fa.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'fa', { - options: 'گزینه​های خندانک', - title: 'گنجاندن خندانک', - toolbar: 'خندانک' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/fi.js b/scripts/ckeditor/plugins/smiley/lang/fi.js deleted file mode 100755 index 0b74f60a..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/fi.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'fi', { - options: 'Hymiön ominaisuudet', - title: 'Lisää hymiö', - toolbar: 'Hymiö' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/fo.js b/scripts/ckeditor/plugins/smiley/lang/fo.js deleted file mode 100755 index 4bb58bcc..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/fo.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'fo', { - options: 'Møguleikar fyri Smiley', - title: 'Vel Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/fr-ca.js b/scripts/ckeditor/plugins/smiley/lang/fr-ca.js deleted file mode 100755 index 9b8a9559..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/fr-ca.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'fr-ca', { - options: 'Options d\'émoticônes', - title: 'Insérer un émoticône', - toolbar: 'Émoticône' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/fr.js b/scripts/ckeditor/plugins/smiley/lang/fr.js deleted file mode 100755 index 7ae3a920..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/fr.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'fr', { - options: 'Options des émoticones', - title: 'Insérer un émoticone', - toolbar: 'Émoticones' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/gl.js b/scripts/ckeditor/plugins/smiley/lang/gl.js deleted file mode 100755 index 98602679..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/gl.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'gl', { - options: 'Opcións de emoticonas', - title: 'Inserir unha emoticona', - toolbar: 'Emoticona' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/gu.js b/scripts/ckeditor/plugins/smiley/lang/gu.js deleted file mode 100755 index ad5cef41..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/gu.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'gu', { - options: 'સમ્ય્લી વિકલ્પો', - title: 'સ્માઇલી પસંદ કરો', - toolbar: 'સ્માઇલી' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/he.js b/scripts/ckeditor/plugins/smiley/lang/he.js deleted file mode 100755 index e75b25f3..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/he.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'he', { - options: 'אפשרויות סמיילים', - title: 'הוספת סמיילי', - toolbar: 'סמיילי' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/hi.js b/scripts/ckeditor/plugins/smiley/lang/hi.js deleted file mode 100755 index 3fcf95f5..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/hi.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'hi', { - options: 'Smiley Options', // MISSING - title: 'स्माइली इन्सर्ट करें', - toolbar: 'स्माइली' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/hr.js b/scripts/ckeditor/plugins/smiley/lang/hr.js deleted file mode 100755 index ff194767..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/hr.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'hr', { - options: 'Opcije smješka', - title: 'Ubaci smješka', - toolbar: 'Smješko' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/hu.js b/scripts/ckeditor/plugins/smiley/lang/hu.js deleted file mode 100755 index fdd24933..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/hu.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'hu', { - options: 'Hangulatjel opciók', - title: 'Hangulatjel beszúrása', - toolbar: 'Hangulatjelek' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/id.js b/scripts/ckeditor/plugins/smiley/lang/id.js deleted file mode 100755 index 5f234865..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/id.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'id', { - options: 'Opsi Smiley', - title: 'Sisip sebuah Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/is.js b/scripts/ckeditor/plugins/smiley/lang/is.js deleted file mode 100755 index b1dd4ffe..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/is.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'is', { - options: 'Smiley Options', // MISSING - title: 'Velja svip', - toolbar: 'Svipur' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/it.js b/scripts/ckeditor/plugins/smiley/lang/it.js deleted file mode 100755 index 1fb31536..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/it.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'it', { - options: 'Opzioni Smiley', - title: 'Inserisci emoticon', - toolbar: 'Emoticon' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ja.js b/scripts/ckeditor/plugins/smiley/lang/ja.js deleted file mode 100755 index 56b44a8e..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ja.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ja', { - options: '絵文字オプション', - title: '顔文字挿入', - toolbar: '絵文字' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ka.js b/scripts/ckeditor/plugins/smiley/lang/ka.js deleted file mode 100755 index c532d4eb..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ka.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ka', { - options: 'სიცილაკის პარამეტრები', - title: 'სიცილაკის ჩასმა', - toolbar: 'სიცილაკები' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/km.js b/scripts/ckeditor/plugins/smiley/lang/km.js deleted file mode 100755 index 86293e0a..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/km.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'km', { - options: 'ជម្រើស​រូប​សញ្ញា​អារម្មណ៍', - title: 'បញ្ចូល​រូប​សញ្ញា​អារម្មណ៍', - toolbar: 'រូប​សញ្ញ​អារម្មណ៍' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ko.js b/scripts/ckeditor/plugins/smiley/lang/ko.js deleted file mode 100755 index f0947c21..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ko.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ko', { - options: '이모티콘 옵션', - title: '아이콘 삽입', - toolbar: '아이콘' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ku.js b/scripts/ckeditor/plugins/smiley/lang/ku.js deleted file mode 100755 index 4ca9264e..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ku.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ku', { - options: 'هەڵبژاردەی زەردەخەنه', - title: 'دانانی زەردەخەنەیەك', - toolbar: 'زەردەخەنه' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/lt.js b/scripts/ckeditor/plugins/smiley/lang/lt.js deleted file mode 100755 index 6fa28d19..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/lt.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'lt', { - options: 'Šypsenėlių nustatymai', - title: 'Įterpti veidelį', - toolbar: 'Veideliai' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/lv.js b/scripts/ckeditor/plugins/smiley/lang/lv.js deleted file mode 100755 index 4518df6f..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/lv.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'lv', { - options: 'Smaidiņu uzstādījumi', - title: 'Ievietot smaidiņu', - toolbar: 'Smaidiņi' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/mk.js b/scripts/ckeditor/plugins/smiley/lang/mk.js deleted file mode 100755 index 358eec0f..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/mk.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'mk', { - options: 'Smiley Options', // MISSING - title: 'Insert a Smiley', // MISSING - toolbar: 'Smiley' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/mn.js b/scripts/ckeditor/plugins/smiley/lang/mn.js deleted file mode 100755 index 497f9171..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/mn.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'mn', { - options: 'Smiley Options', // MISSING - title: 'Тодорхойлолт оруулах', - toolbar: 'Тодорхойлолт' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ms.js b/scripts/ckeditor/plugins/smiley/lang/ms.js deleted file mode 100755 index e245e620..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ms.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ms', { - options: 'Smiley Options', // MISSING - title: 'Masukkan Smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/nb.js b/scripts/ckeditor/plugins/smiley/lang/nb.js deleted file mode 100755 index c6fbb1c0..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/nb.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'nb', { - options: 'Alternativer for smil', - title: 'Sett inn smil', - toolbar: 'Smil' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/nl.js b/scripts/ckeditor/plugins/smiley/lang/nl.js deleted file mode 100755 index cb4fefa5..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/nl.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'nl', { - options: 'Smiley opties', - title: 'Smiley invoegen', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/no.js b/scripts/ckeditor/plugins/smiley/lang/no.js deleted file mode 100755 index 02449b33..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/no.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'no', { - options: 'Alternativer for smil', - title: 'Sett inn smil', - toolbar: 'Smil' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/pl.js b/scripts/ckeditor/plugins/smiley/lang/pl.js deleted file mode 100755 index ec4504cb..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/pl.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'pl', { - options: 'Opcje emotikonów', - title: 'Wstaw emotikona', - toolbar: 'Emotikony' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/pt-br.js b/scripts/ckeditor/plugins/smiley/lang/pt-br.js deleted file mode 100755 index b9bf9ef5..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/pt-br.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'pt-br', { - options: 'Opções de Emoticons', - title: 'Inserir Emoticon', - toolbar: 'Emoticon' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/pt.js b/scripts/ckeditor/plugins/smiley/lang/pt.js deleted file mode 100755 index 61c65896..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/pt.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'pt', { - options: 'Opções de Emoticons', - title: 'Inserir um Emoticon', - toolbar: 'Emoticons' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ro.js b/scripts/ckeditor/plugins/smiley/lang/ro.js deleted file mode 100755 index 1d8bb50c..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ro.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ro', { - options: 'Opțiuni figuri expresive', - title: 'Inserează o figură expresivă (Emoticon)', - toolbar: 'Figură expresivă (Emoticon)' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ru.js b/scripts/ckeditor/plugins/smiley/lang/ru.js deleted file mode 100755 index 713d7bf0..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ru.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ru', { - options: 'Выбор смайла', - title: 'Вставить смайл', - toolbar: 'Смайлы' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/si.js b/scripts/ckeditor/plugins/smiley/lang/si.js deleted file mode 100755 index 76ab116c..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/si.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'si', { - options: 'හාස්‍ය විකල්ප', - title: 'හාස්‍යන් ඇතුලත් කිරීම', - toolbar: 'හාස්‍යන්' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/sk.js b/scripts/ckeditor/plugins/smiley/lang/sk.js deleted file mode 100755 index 81de0db2..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/sk.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'sk', { - options: 'Možnosti smajlíkov', - title: 'Vložiť smajlíka', - toolbar: 'Smajlíky' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/sl.js b/scripts/ckeditor/plugins/smiley/lang/sl.js deleted file mode 100755 index 6c3c8e2a..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/sl.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'sl', { - options: 'Možnosti Smeška', - title: 'Vstavi smeška', - toolbar: 'Smeško' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/sq.js b/scripts/ckeditor/plugins/smiley/lang/sq.js deleted file mode 100755 index 000f6c99..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/sq.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'sq', { - options: 'Opsionet e Ikonave', - title: 'Vendos Ikonë', - toolbar: 'Ikona' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/sr-latn.js b/scripts/ckeditor/plugins/smiley/lang/sr-latn.js deleted file mode 100755 index bb3e63ff..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/sr-latn.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'sr-latn', { - options: 'Smiley Options', // MISSING - title: 'Unesi smajlija', - toolbar: 'Smajli' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/sr.js b/scripts/ckeditor/plugins/smiley/lang/sr.js deleted file mode 100755 index 605c08f0..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/sr.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'sr', { - options: 'Smiley Options', // MISSING - title: 'Унеси смајлија', - toolbar: 'Смајли' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/sv.js b/scripts/ckeditor/plugins/smiley/lang/sv.js deleted file mode 100755 index 989c008c..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/sv.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'sv', { - options: 'Smileyinställningar', - title: 'Infoga smiley', - toolbar: 'Smiley' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/th.js b/scripts/ckeditor/plugins/smiley/lang/th.js deleted file mode 100755 index 84fd21b3..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/th.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'th', { - options: 'ตัวเลือกไอคอนแสดงอารมณ์', - title: 'แทรกสัญลักษณ์สื่ออารมณ์', - toolbar: 'รูปสื่ออารมณ์' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/tr.js b/scripts/ckeditor/plugins/smiley/lang/tr.js deleted file mode 100755 index 487adea9..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/tr.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'tr', { - options: 'İfade Seçenekleri', - title: 'İfade Ekle', - toolbar: 'İfade' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/tt.js b/scripts/ckeditor/plugins/smiley/lang/tt.js deleted file mode 100755 index e2daaf64..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/tt.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'tt', { - options: 'Смайл көйләүләре', - title: 'Смайл өстәү', - toolbar: 'Смайл' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/ug.js b/scripts/ckeditor/plugins/smiley/lang/ug.js deleted file mode 100755 index 827a12e3..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/ug.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'ug', { - options: 'چىراي ئىپادە سىنبەلگە تاللانمىسى', - title: 'چىراي ئىپادە سىنبەلگە قىستۇر', - toolbar: 'چىراي ئىپادە' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/uk.js b/scripts/ckeditor/plugins/smiley/lang/uk.js deleted file mode 100755 index 67146a7e..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/uk.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'uk', { - options: 'Опції смайликів', - title: 'Вставити смайлик', - toolbar: 'Смайлик' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/vi.js b/scripts/ckeditor/plugins/smiley/lang/vi.js deleted file mode 100755 index cae003bd..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/vi.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'vi', { - options: 'Tùy chọn hình biểu lộ cảm xúc', - title: 'Chèn hình biểu lộ cảm xúc (mặt cười)', - toolbar: 'Hình biểu lộ cảm xúc (mặt cười)' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/zh-cn.js b/scripts/ckeditor/plugins/smiley/lang/zh-cn.js deleted file mode 100755 index 45de0b3d..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/zh-cn.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'zh-cn', { - options: '表情图标选项', - title: '插入表情图标', - toolbar: '表情符' -} ); diff --git a/scripts/ckeditor/plugins/smiley/lang/zh.js b/scripts/ckeditor/plugins/smiley/lang/zh.js deleted file mode 100755 index 0c62d944..00000000 --- a/scripts/ckeditor/plugins/smiley/lang/zh.js +++ /dev/null @@ -1,9 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'smiley', 'zh', { - options: '表情符號選項', - title: '插入表情符號', - toolbar: '表情符號' -} ); diff --git a/scripts/ckeditor/plugins/smiley/plugin.js b/scripts/ckeditor/plugins/smiley/plugin.js deleted file mode 100755 index e6398c74..00000000 --- a/scripts/ckeditor/plugins/smiley/plugin.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -CKEDITOR.plugins.add( 'smiley', { - requires: 'dialog', - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'smiley', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - editor.config.smiley_path = editor.config.smiley_path || ( this.path + 'images/' ); - editor.addCommand( 'smiley', new CKEDITOR.dialogCommand( 'smiley', { - allowedContent: 'img[alt,height,!src,title,width]', - requiredContent: 'img' - } ) ); - editor.ui.addButton && editor.ui.addButton( 'Smiley', { - label: editor.lang.smiley.toolbar, - command: 'smiley', - toolbar: 'insert,50' - } ); - CKEDITOR.dialog.add( 'smiley', this.path + 'dialogs/smiley.js' ); - } -} ); - -/** - * The base path used to build the URL for the smiley images. It must end with a slash. - * - * config.smiley_path = 'http://www.example.com/images/smileys/'; - * - * config.smiley_path = '/images/smileys/'; - * - * @cfg {String} [smiley_path=CKEDITOR.basePath + 'plugins/smiley/images/'] - * @member CKEDITOR.config - */ - -/** - * The file names for the smileys to be displayed. These files must be - * contained inside the URL path defined with the {@link #smiley_path} setting. - * - * // This is actually the default value. - * config.smiley_images = [ - * '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.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 - * {@link CKEDITOR.config#smiley_images} setting. Each entry in this array list - * must match its relative pair in the {@link CKEDITOR.config#smiley_images} - * setting. - * - * // Default settings. - * config.smiley_descriptions = [ - * 'smiley', 'sad', 'wink', 'laugh', 'frown', 'cheeky', 'blush', 'surprise', - * 'indecision', 'angry', 'angel', 'cool', 'devil', 'crying', 'enlightened', 'no', - * 'yes', 'heart', 'broken heart', 'kiss', 'mail' - * ]; - * - * // Use textual emoticons as description. - * config.smiley_descriptions = [ - * ':)', ':(', ';)', ':D', ':/', ':P', ':*)', ':-o', - * ':|', '>:(', 'o:)', '8-)', '>:-)', ';(', '', '', '', - * '', '', ':-*', '' - * ]; - * - * @cfg - * @member CKEDITOR.config - */ -CKEDITOR.config.smiley_descriptions = [ - 'smiley', 'sad', 'wink', 'laugh', 'frown', 'cheeky', 'blush', 'surprise', - 'indecision', 'angry', 'angel', 'cool', 'devil', 'crying', 'enlightened', 'no', - 'yes', 'heart', 'broken heart', 'kiss', 'mail' -]; - -/** - * The number of columns to be generated by the smilies matrix. - * - * config.smiley_columns = 6; - * - * @since 3.3.2 - * @cfg {Number} [smiley_columns=8] - * @member CKEDITOR.config - */ diff --git a/scripts/ckeditor/plugins/sourcearea/icons/hidpi/source-rtl.png b/scripts/ckeditor/plugins/sourcearea/icons/hidpi/source-rtl.png deleted file mode 100755 index adf4af3c..00000000 Binary files a/scripts/ckeditor/plugins/sourcearea/icons/hidpi/source-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/sourcearea/icons/hidpi/source.png b/scripts/ckeditor/plugins/sourcearea/icons/hidpi/source.png deleted file mode 100755 index b4d0a15a..00000000 Binary files a/scripts/ckeditor/plugins/sourcearea/icons/hidpi/source.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/sourcearea/icons/source-rtl.png b/scripts/ckeditor/plugins/sourcearea/icons/source-rtl.png deleted file mode 100755 index 27d1ba88..00000000 Binary files a/scripts/ckeditor/plugins/sourcearea/icons/source-rtl.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/sourcearea/icons/source.png b/scripts/ckeditor/plugins/sourcearea/icons/source.png deleted file mode 100755 index e44db379..00000000 Binary files a/scripts/ckeditor/plugins/sourcearea/icons/source.png and /dev/null differ diff --git a/scripts/ckeditor/plugins/sourcearea/lang/af.js b/scripts/ckeditor/plugins/sourcearea/lang/af.js deleted file mode 100755 index 461e346f..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/af.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'af', { - toolbar: 'Bron' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ar.js b/scripts/ckeditor/plugins/sourcearea/lang/ar.js deleted file mode 100755 index 8aa9d649..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ar.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ar', { - toolbar: 'المصدر' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/bg.js b/scripts/ckeditor/plugins/sourcearea/lang/bg.js deleted file mode 100755 index e002a5e9..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/bg.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'bg', { - toolbar: 'Източник' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/bn.js b/scripts/ckeditor/plugins/sourcearea/lang/bn.js deleted file mode 100755 index 285c4204..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/bn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'bn', { - toolbar: 'সোর্স' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/bs.js b/scripts/ckeditor/plugins/sourcearea/lang/bs.js deleted file mode 100755 index 28376e9d..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/bs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'bs', { - toolbar: 'HTML kôd' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ca.js b/scripts/ckeditor/plugins/sourcearea/lang/ca.js deleted file mode 100755 index ba954340..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ca', { - toolbar: 'Codi font' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/cs.js b/scripts/ckeditor/plugins/sourcearea/lang/cs.js deleted file mode 100755 index 2719d268..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/cs.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'cs', { - toolbar: 'Zdroj' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/cy.js b/scripts/ckeditor/plugins/sourcearea/lang/cy.js deleted file mode 100755 index 2ef63186..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/cy.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'cy', { - toolbar: 'HTML' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/da.js b/scripts/ckeditor/plugins/sourcearea/lang/da.js deleted file mode 100755 index 6ba626c8..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/da.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'da', { - toolbar: 'Kilde' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/de.js b/scripts/ckeditor/plugins/sourcearea/lang/de.js deleted file mode 100755 index a138b390..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/de.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'de', { - toolbar: 'Quellcode' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/el.js b/scripts/ckeditor/plugins/sourcearea/lang/el.js deleted file mode 100755 index 862c2d8c..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/el.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'el', { - toolbar: 'Κώδικας' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/en-au.js b/scripts/ckeditor/plugins/sourcearea/lang/en-au.js deleted file mode 100755 index 45b556b6..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/en-au.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'en-au', { - toolbar: 'Source' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/en-ca.js b/scripts/ckeditor/plugins/sourcearea/lang/en-ca.js deleted file mode 100755 index 78866d42..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/en-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'en-ca', { - toolbar: 'Source' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/en-gb.js b/scripts/ckeditor/plugins/sourcearea/lang/en-gb.js deleted file mode 100755 index ec34397e..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/en-gb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'en-gb', { - toolbar: 'Source' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/en.js b/scripts/ckeditor/plugins/sourcearea/lang/en.js deleted file mode 100755 index 11aab353..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/en.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'en', { - toolbar: 'Source' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/eo.js b/scripts/ckeditor/plugins/sourcearea/lang/eo.js deleted file mode 100755 index d506792d..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/eo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'eo', { - toolbar: 'Fonto' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/es.js b/scripts/ckeditor/plugins/sourcearea/lang/es.js deleted file mode 100755 index a1ae1f5b..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/es.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'es', { - toolbar: 'Fuente HTML' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/et.js b/scripts/ckeditor/plugins/sourcearea/lang/et.js deleted file mode 100755 index 1c60bd83..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/et.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'et', { - toolbar: 'Lähtekood' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/eu.js b/scripts/ckeditor/plugins/sourcearea/lang/eu.js deleted file mode 100755 index ccacf817..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/eu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'eu', { - toolbar: 'HTML Iturburua' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/fa.js b/scripts/ckeditor/plugins/sourcearea/lang/fa.js deleted file mode 100755 index b98960ca..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/fa.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'fa', { - toolbar: 'منبع' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/fi.js b/scripts/ckeditor/plugins/sourcearea/lang/fi.js deleted file mode 100755 index d559d391..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'fi', { - toolbar: 'Koodi' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/fo.js b/scripts/ckeditor/plugins/sourcearea/lang/fo.js deleted file mode 100755 index 3b22aca6..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/fo.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'fo', { - toolbar: 'Kelda' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/fr-ca.js b/scripts/ckeditor/plugins/sourcearea/lang/fr-ca.js deleted file mode 100755 index 93d716c0..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/fr-ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'fr-ca', { - toolbar: 'Source' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/fr.js b/scripts/ckeditor/plugins/sourcearea/lang/fr.js deleted file mode 100755 index 3335abf2..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/fr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'fr', { - toolbar: 'Source' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/gl.js b/scripts/ckeditor/plugins/sourcearea/lang/gl.js deleted file mode 100755 index 023d7c5f..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/gl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'gl', { - toolbar: 'Orixe' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/gu.js b/scripts/ckeditor/plugins/sourcearea/lang/gu.js deleted file mode 100755 index edb0a5bf..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/gu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'gu', { - toolbar: 'મૂળ કે પ્રાથમિક દસ્તાવેજ' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/he.js b/scripts/ckeditor/plugins/sourcearea/lang/he.js deleted file mode 100755 index e187e7ed..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/he.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'he', { - toolbar: 'מקור' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/hi.js b/scripts/ckeditor/plugins/sourcearea/lang/hi.js deleted file mode 100755 index 2875d99f..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/hi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'hi', { - toolbar: 'सोर्स' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/hr.js b/scripts/ckeditor/plugins/sourcearea/lang/hr.js deleted file mode 100755 index a8f3e479..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/hr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'hr', { - toolbar: 'Kôd' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/hu.js b/scripts/ckeditor/plugins/sourcearea/lang/hu.js deleted file mode 100755 index 15b77ef5..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/hu.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'hu', { - toolbar: 'Forráskód' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/id.js b/scripts/ckeditor/plugins/sourcearea/lang/id.js deleted file mode 100755 index 9fbc6984..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/id.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'id', { - toolbar: 'Sumber' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/is.js b/scripts/ckeditor/plugins/sourcearea/lang/is.js deleted file mode 100755 index 74575fef..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/is.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'is', { - toolbar: 'Kóði' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/it.js b/scripts/ckeditor/plugins/sourcearea/lang/it.js deleted file mode 100755 index 64c353d1..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/it.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'it', { - toolbar: 'Sorgente' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ja.js b/scripts/ckeditor/plugins/sourcearea/lang/ja.js deleted file mode 100755 index d9ff6517..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ja', { - toolbar: 'ソース' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ka.js b/scripts/ckeditor/plugins/sourcearea/lang/ka.js deleted file mode 100755 index c3d65198..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ka.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ka', { - toolbar: 'კოდები' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/km.js b/scripts/ckeditor/plugins/sourcearea/lang/km.js deleted file mode 100755 index 80acceba..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/km.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'km', { - toolbar: 'អក្សរ​កូដ' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ko.js b/scripts/ckeditor/plugins/sourcearea/lang/ko.js deleted file mode 100755 index 149c1379..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ko.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ko', { - toolbar: '소스' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ku.js b/scripts/ckeditor/plugins/sourcearea/lang/ku.js deleted file mode 100755 index 2a951dfb..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ku.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ku', { - toolbar: 'سەرچاوە' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/lt.js b/scripts/ckeditor/plugins/sourcearea/lang/lt.js deleted file mode 100755 index 4767ad0b..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/lt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'lt', { - toolbar: 'Šaltinis' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/lv.js b/scripts/ckeditor/plugins/sourcearea/lang/lv.js deleted file mode 100755 index bc62cc3a..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/lv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'lv', { - toolbar: 'HTML kods' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/mk.js b/scripts/ckeditor/plugins/sourcearea/lang/mk.js deleted file mode 100755 index e604e99c..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/mk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'mk', { - toolbar: 'Source' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/mn.js b/scripts/ckeditor/plugins/sourcearea/lang/mn.js deleted file mode 100755 index 587b52cb..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/mn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'mn', { - toolbar: 'Код' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ms.js b/scripts/ckeditor/plugins/sourcearea/lang/ms.js deleted file mode 100755 index d20b9cac..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ms.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ms', { - toolbar: 'Sumber' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/nb.js b/scripts/ckeditor/plugins/sourcearea/lang/nb.js deleted file mode 100755 index 52dc34e6..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/nb.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'nb', { - toolbar: 'Kilde' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/nl.js b/scripts/ckeditor/plugins/sourcearea/lang/nl.js deleted file mode 100755 index 60641003..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/nl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'nl', { - toolbar: 'Broncode' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/no.js b/scripts/ckeditor/plugins/sourcearea/lang/no.js deleted file mode 100755 index e554129e..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/no.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'no', { - toolbar: 'Kilde' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/pl.js b/scripts/ckeditor/plugins/sourcearea/lang/pl.js deleted file mode 100755 index 00140712..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/pl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'pl', { - toolbar: 'Źródło dokumentu' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/pt-br.js b/scripts/ckeditor/plugins/sourcearea/lang/pt-br.js deleted file mode 100755 index 703717a1..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/pt-br.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'pt-br', { - toolbar: 'Código-Fonte' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/pt.js b/scripts/ckeditor/plugins/sourcearea/lang/pt.js deleted file mode 100755 index 55d4c00f..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/pt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'pt', { - toolbar: 'Fonte' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ro.js b/scripts/ckeditor/plugins/sourcearea/lang/ro.js deleted file mode 100755 index ea1bbc01..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ro.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ro', { - toolbar: 'Sursa' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ru.js b/scripts/ckeditor/plugins/sourcearea/lang/ru.js deleted file mode 100755 index fa7f2b68..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ru.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ru', { - toolbar: 'Источник' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/si.js b/scripts/ckeditor/plugins/sourcearea/lang/si.js deleted file mode 100755 index 03b1f040..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/si.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'si', { - toolbar: 'මුලාශ්‍රය' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/sk.js b/scripts/ckeditor/plugins/sourcearea/lang/sk.js deleted file mode 100755 index d3fe90ff..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'sk', { - toolbar: 'Zdroj' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/sl.js b/scripts/ckeditor/plugins/sourcearea/lang/sl.js deleted file mode 100755 index b93993a4..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/sl.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'sl', { - toolbar: 'Izvorna koda' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/sq.js b/scripts/ckeditor/plugins/sourcearea/lang/sq.js deleted file mode 100755 index 20a39dc0..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/sq.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'sq', { - toolbar: 'Burimi' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/sr-latn.js b/scripts/ckeditor/plugins/sourcearea/lang/sr-latn.js deleted file mode 100755 index 81c706c7..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/sr-latn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'sr-latn', { - toolbar: 'Kôd' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/sr.js b/scripts/ckeditor/plugins/sourcearea/lang/sr.js deleted file mode 100755 index bfebd0e0..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/sr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'sr', { - toolbar: 'Kôд' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/sv.js b/scripts/ckeditor/plugins/sourcearea/lang/sv.js deleted file mode 100755 index ff99b6f8..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/sv.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'sv', { - toolbar: 'Källa' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/th.js b/scripts/ckeditor/plugins/sourcearea/lang/th.js deleted file mode 100755 index e0ca6ad7..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/th.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'th', { - toolbar: 'ดูรหัส HTML' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/tr.js b/scripts/ckeditor/plugins/sourcearea/lang/tr.js deleted file mode 100755 index 8598eead..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/tr.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'tr', { - toolbar: 'Kaynak' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/tt.js b/scripts/ckeditor/plugins/sourcearea/lang/tt.js deleted file mode 100755 index 04a5f3e3..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/tt.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'tt', { - toolbar: 'Чыганак' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/ug.js b/scripts/ckeditor/plugins/sourcearea/lang/ug.js deleted file mode 100755 index 1734a6a8..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/ug.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'ug', { - toolbar: 'مەنبە' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/uk.js b/scripts/ckeditor/plugins/sourcearea/lang/uk.js deleted file mode 100755 index a3a22577..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/uk.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'uk', { - toolbar: 'Джерело' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/vi.js b/scripts/ckeditor/plugins/sourcearea/lang/vi.js deleted file mode 100755 index ea0ee362..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/vi.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'vi', { - toolbar: 'Mã HTML' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/zh-cn.js b/scripts/ckeditor/plugins/sourcearea/lang/zh-cn.js deleted file mode 100755 index e222ad6c..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/zh-cn.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'zh-cn', { - toolbar: '源码' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/lang/zh.js b/scripts/ckeditor/plugins/sourcearea/lang/zh.js deleted file mode 100755 index 5f13f56a..00000000 --- a/scripts/ckeditor/plugins/sourcearea/lang/zh.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'sourcearea', 'zh', { - toolbar: '原始碼' -} ); diff --git a/scripts/ckeditor/plugins/sourcearea/plugin.js b/scripts/ckeditor/plugins/sourcearea/plugin.js deleted file mode 100755 index 9fd3eb88..00000000 --- a/scripts/ckeditor/plugins/sourcearea/plugin.js +++ /dev/null @@ -1,166 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview The Source Editing Area plugin. It registers the "source" editing - * mode, which displays raw HTML data being edited in the editor. - */ - -( function() { - CKEDITOR.plugins.add( 'sourcearea', { - lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - icons: 'source,source-rtl', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - // Source mode in inline editors is only available through the "sourcedialog" plugin. - if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) - return; - - var sourcearea = CKEDITOR.plugins.sourcearea; - - editor.addMode( 'source', function( callback ) { - var contentsSpace = editor.ui.space( 'contents' ), - textarea = contentsSpace.getDocument().createElement( 'textarea' ); - - textarea.setStyles( - CKEDITOR.tools.extend( { - // IE7 has overflow the - -

    Inline Sample

    -
    -

    Simple Box Sample

    - -
    -

    Title

    -
    -

    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]].

    - -
    - The Eagle -
    The Eagle in lunar orbit
    -
    - -
      -
    • Foo!
    • -
    • Bar!
    • -
    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet orci ut nisi adipiscing ultrices. Sed pellentesque iaculis malesuada. Pellentesque scelerisque, purus non porta dictum, neque urna bibendum dolor, eget tristique ipsum metus fringilla dolor. Nullam sed accumsan sapien. Vestibulum in placerat magna. Sed justo lacus, volutpat rhoncus odio luctus, ornare adipiscing mauris. Vivamus erat sem, egestas et lectus eget, varius cursus odio. Duis posuere lacus sit amet urna bibendum, id iaculis eros ultrices. Vestibulum a ultrices ante.

    -
    -
    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet orci ut nisi adipiscing ultrices. Sed pellentesque iaculis malesuada. Pellentesque scelerisque, purus non porta dictum, neque urna bibendum dolor, eget tristique ipsum metus fringilla dolor. Nullam sed accumsan sapien. Vestibulum in placerat magna. Sed justo lacus, volutpat rhoncus odio luctus, ornare adipiscing mauris. Vivamus erat sem, egestas et lectus eget, varius cursus odio. Duis posuere lacus sit amet urna bibendum, id iaculis eros ultrices. Vestibulum a ultrices ante.

    - -

    Pellentesque vitae eleifend nisl, non accumsan tellus. Maecenas nec libero non tellus tincidunt mollis porttitor sed arcu. Donec ultricies nulla vitae eros lacinia, vel congue sem auctor. Vivamus convallis, urna ac tincidunt malesuada, lectus erat convallis metus, a hendrerit massa augue accumsan magna. Nulla mattis tellus elit, nec congue magna scelerisque eget. Aliquam posuere nisi augue, posuere sodales nisi iaculis eu. Donec fermentum urna id nibh sagittis fermentum sit amet sed enim. Aliquam neque elit, pretium elementum nunc a, faucibus accumsan lorem. Etiam pulvinar odio et hendrerit tincidunt. Suspendisse tempus eros lacus, in convallis velit mollis ut. Aenean congue, justo eleifend ultricies malesuada, nunc nunc molestie mauris, eget placerat libero eros vel nisi. Quisque diam arcu, mollis ac laoreet vitae, varius et sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis in vehicula sapien. Nunc feugiat porta elit nec volutpat.

    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet orci ut nisi adipiscing ultrices. Sed pellentesque iaculis malesuada. Pellentesque scelerisque, purus non porta dictum, neque urna bibendum dolor, eget tristique ipsum metus fringilla dolor. Nullam sed accumsan sapien. Vestibulum in placerat magna. Sed justo lacus, volutpat rhoncus odio luctus, ornare adipiscing mauris. Vivamus erat sem, egestas et lectus eget, varius cursus odio. Duis posuere lacus sit amet urna bibendum, id iaculis eros ultrices. Vestibulum a ultrices ante.

    - -
    -

    Title

    -
    -

    The EagleApollo 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]].

    - -
      -
    • Foo!
    • -
    • Bar!
    • -
    -
    -
    - -

    Ut eget ipsum a sapien porta ultrices. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus mi lacus, pharetra eu bibendum blandit, tristique sit amet leo. Integer eu nulla nec magna vulputate blandit. Praesent mattis quis ante eget adipiscing. Nulla vel tempus risus, in placerat velit. Mauris sed nibh at elit posuere laoreet. Morbi non sapien sed nunc fringilla imperdiet.

    -
    - - - - diff --git a/scripts/ckeditor/plugins/widget/dev/widgetstyles.html b/scripts/ckeditor/plugins/widget/dev/widgetstyles.html deleted file mode 100755 index 88722c85..00000000 --- a/scripts/ckeditor/plugins/widget/dev/widgetstyles.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Applying styles to widgets — CKEditor Sample - - - - - - - -

    Applying styles to widgets

    - -

    Classic (iframe-based) Sample

    - - -

    Inline Sample

    -
    -

    Apollo 11

    - -
    - Saturn V -
    Roll out of Saturn V on launch pad
    -
    - -

    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.

    - -

    Broadcasting and quotes

    - -

    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.

    -
    - -

    \( \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right) \)

    - -

    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.

    -
    - -
    - The Eagle -
    The Eagle in lunar orbit
    -
    - -

    Technical details

    - -

    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:

    - -
      -
    1. Command Module with a cabin for the three astronauts which was the only part which landed back on Earth
    2. -
    3. Service Module which supported the Command Module with propulsion, electrical power, oxygen and water
    4. -
    5. Lunar Module for landing on the Moon.
    6. -
    - -

    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.

    -
    - - - - diff --git a/scripts/ckeditor/plugins/widget/images/handle.png b/scripts/ckeditor/plugins/widget/images/handle.png old mode 100755 new mode 100644 index 8d1c9765..ba8cda5b Binary files a/scripts/ckeditor/plugins/widget/images/handle.png and b/scripts/ckeditor/plugins/widget/images/handle.png differ diff --git a/scripts/ckeditor/plugins/widget/lang/ar.js b/scripts/ckeditor/plugins/widget/lang/ar.js deleted file mode 100755 index bc4644cf..00000000 --- a/scripts/ckeditor/plugins/widget/lang/ar.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'ar', { - 'move': 'Click and drag to move' // MISSING -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/ca.js b/scripts/ckeditor/plugins/widget/lang/ca.js deleted file mode 100755 index ec7583ec..00000000 --- a/scripts/ckeditor/plugins/widget/lang/ca.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'ca', { - 'move': 'Clicar i arrossegar per moure' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/cs.js b/scripts/ckeditor/plugins/widget/lang/cs.js deleted file mode 100755 index e5b97e60..00000000 --- a/scripts/ckeditor/plugins/widget/lang/cs.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'cs', { - 'move': 'Klepněte a táhněte pro přesunutí' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/cy.js b/scripts/ckeditor/plugins/widget/lang/cy.js deleted file mode 100755 index 9e9e8855..00000000 --- a/scripts/ckeditor/plugins/widget/lang/cy.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'cy', { - 'move': 'Clcio a llusgo i symud' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/de.js b/scripts/ckeditor/plugins/widget/lang/de.js deleted file mode 100755 index ee81a8f2..00000000 --- a/scripts/ckeditor/plugins/widget/lang/de.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'de', { - 'move': 'Zum verschieben anwählen und ziehen' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/el.js b/scripts/ckeditor/plugins/widget/lang/el.js deleted file mode 100755 index 82a5549e..00000000 --- a/scripts/ckeditor/plugins/widget/lang/el.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'el', { - 'move': 'Κάνετε κλικ και σύρετε το ποντίκι για να μετακινήστε' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/en-gb.js b/scripts/ckeditor/plugins/widget/lang/en-gb.js deleted file mode 100755 index 12db2d14..00000000 --- a/scripts/ckeditor/plugins/widget/lang/en-gb.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'en-gb', { - 'move': 'Click and drag to move' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/en.js b/scripts/ckeditor/plugins/widget/lang/en.js deleted file mode 100755 index b2ca2f28..00000000 --- a/scripts/ckeditor/plugins/widget/lang/en.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'en', { - 'move': 'Click and drag to move' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/eo.js b/scripts/ckeditor/plugins/widget/lang/eo.js deleted file mode 100755 index 75eee4c0..00000000 --- a/scripts/ckeditor/plugins/widget/lang/eo.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'eo', { - 'move': 'klaki kaj treni por movi' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/es.js b/scripts/ckeditor/plugins/widget/lang/es.js deleted file mode 100755 index 4ffe186a..00000000 --- a/scripts/ckeditor/plugins/widget/lang/es.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'es', { - 'move': 'Dar clic y arrastrar para mover' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/fa.js b/scripts/ckeditor/plugins/widget/lang/fa.js deleted file mode 100755 index 64de2afb..00000000 --- a/scripts/ckeditor/plugins/widget/lang/fa.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'fa', { - 'move': 'کلیک و کشیدن برای جابجایی' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/fi.js b/scripts/ckeditor/plugins/widget/lang/fi.js deleted file mode 100755 index 84709c70..00000000 --- a/scripts/ckeditor/plugins/widget/lang/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'fi', { - 'move': 'Siirrä klikkaamalla ja raahaamalla' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/fr.js b/scripts/ckeditor/plugins/widget/lang/fr.js deleted file mode 100755 index aa8f77f1..00000000 --- a/scripts/ckeditor/plugins/widget/lang/fr.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'fr', { - 'move': 'Cliquer et glisser pour déplacer' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/gl.js b/scripts/ckeditor/plugins/widget/lang/gl.js deleted file mode 100755 index 5bc8e412..00000000 --- a/scripts/ckeditor/plugins/widget/lang/gl.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'gl', { - 'move': 'Prema e arrastre para mover' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/he.js b/scripts/ckeditor/plugins/widget/lang/he.js deleted file mode 100755 index 17b122e7..00000000 --- a/scripts/ckeditor/plugins/widget/lang/he.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'he', { - 'move': 'לחץ וגרור להזזה' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/hr.js b/scripts/ckeditor/plugins/widget/lang/hr.js deleted file mode 100755 index 3dc525ff..00000000 --- a/scripts/ckeditor/plugins/widget/lang/hr.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'hr', { - 'move': 'Klikni i povuci da pomakneš' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/hu.js b/scripts/ckeditor/plugins/widget/lang/hu.js deleted file mode 100755 index effa916c..00000000 --- a/scripts/ckeditor/plugins/widget/lang/hu.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'hu', { - 'move': 'Kattints és húzd a mozgatáshoz' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/it.js b/scripts/ckeditor/plugins/widget/lang/it.js deleted file mode 100755 index e476995e..00000000 --- a/scripts/ckeditor/plugins/widget/lang/it.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'it', { - 'move': 'Fare clic e trascinare per spostare' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/ja.js b/scripts/ckeditor/plugins/widget/lang/ja.js deleted file mode 100755 index a955cd27..00000000 --- a/scripts/ckeditor/plugins/widget/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'ja', { - 'move': 'ドラッグして移動' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/km.js b/scripts/ckeditor/plugins/widget/lang/km.js deleted file mode 100755 index 09117e91..00000000 --- a/scripts/ckeditor/plugins/widget/lang/km.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'km', { - 'move': 'ចុច​ហើយ​ទាញ​ដើម្បី​ផ្លាស់​ទី' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/ko.js b/scripts/ckeditor/plugins/widget/lang/ko.js deleted file mode 100755 index 35f2780a..00000000 --- a/scripts/ckeditor/plugins/widget/lang/ko.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'ko', { - 'move': '움직이려면 클릭 후 드래그 하세요' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/nb.js b/scripts/ckeditor/plugins/widget/lang/nb.js deleted file mode 100755 index 8ef38e92..00000000 --- a/scripts/ckeditor/plugins/widget/lang/nb.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'nb', { - 'move': 'Klikk og dra for å flytte' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/nl.js b/scripts/ckeditor/plugins/widget/lang/nl.js deleted file mode 100755 index 5ccb049a..00000000 --- a/scripts/ckeditor/plugins/widget/lang/nl.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'nl', { - 'move': 'Klik en sleep om te verplaatsen' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/no.js b/scripts/ckeditor/plugins/widget/lang/no.js deleted file mode 100755 index c0b6ad70..00000000 --- a/scripts/ckeditor/plugins/widget/lang/no.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'no', { - 'move': 'Klikk og dra for å flytte' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/pl.js b/scripts/ckeditor/plugins/widget/lang/pl.js deleted file mode 100755 index c226d422..00000000 --- a/scripts/ckeditor/plugins/widget/lang/pl.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'pl', { - 'move': 'Kliknij i przeciągnij, by przenieść.' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/pt-br.js b/scripts/ckeditor/plugins/widget/lang/pt-br.js deleted file mode 100755 index f23a61c1..00000000 --- a/scripts/ckeditor/plugins/widget/lang/pt-br.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'pt-br', { - 'move': 'Click e arraste para mover' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/pt.js b/scripts/ckeditor/plugins/widget/lang/pt.js deleted file mode 100755 index c2a1558a..00000000 --- a/scripts/ckeditor/plugins/widget/lang/pt.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'pt', { - 'move': 'Clique e arraste para mover' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/ru.js b/scripts/ckeditor/plugins/widget/lang/ru.js deleted file mode 100755 index f9def23e..00000000 --- a/scripts/ckeditor/plugins/widget/lang/ru.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'ru', { - 'move': 'Нажмите и перетащите' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/sl.js b/scripts/ckeditor/plugins/widget/lang/sl.js deleted file mode 100755 index e97ba187..00000000 --- a/scripts/ckeditor/plugins/widget/lang/sl.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'sl', { - 'move': 'Kliknite in povlecite, da premaknete' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/sv.js b/scripts/ckeditor/plugins/widget/lang/sv.js deleted file mode 100755 index 61cbd965..00000000 --- a/scripts/ckeditor/plugins/widget/lang/sv.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'sv', { - 'move': 'Klicka och drag för att flytta' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/tt.js b/scripts/ckeditor/plugins/widget/lang/tt.js deleted file mode 100755 index b263dd60..00000000 --- a/scripts/ckeditor/plugins/widget/lang/tt.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'tt', { - 'move': 'Күчереп куер өчен басып шудырыгыз' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/uk.js b/scripts/ckeditor/plugins/widget/lang/uk.js deleted file mode 100755 index a4af1ff0..00000000 --- a/scripts/ckeditor/plugins/widget/lang/uk.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'uk', { - 'move': 'Клікніть і потягніть для переміщення' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/vi.js b/scripts/ckeditor/plugins/widget/lang/vi.js deleted file mode 100755 index 999ddcec..00000000 --- a/scripts/ckeditor/plugins/widget/lang/vi.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'vi', { - 'move': 'Nhấp chuột và kéo để di chuyển' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/zh-cn.js b/scripts/ckeditor/plugins/widget/lang/zh-cn.js deleted file mode 100755 index f515f721..00000000 --- a/scripts/ckeditor/plugins/widget/lang/zh-cn.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'zh-cn', { - 'move': '点击并拖拽以移动' -} ); diff --git a/scripts/ckeditor/plugins/widget/lang/zh.js b/scripts/ckeditor/plugins/widget/lang/zh.js deleted file mode 100755 index c8f7475f..00000000 --- a/scripts/ckeditor/plugins/widget/lang/zh.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ -CKEDITOR.plugins.setLang( 'widget', 'zh', { - 'move': '拖曳以移動' -} ); diff --git a/scripts/ckeditor/plugins/widget/plugin.js b/scripts/ckeditor/plugins/widget/plugin.js deleted file mode 100755 index d494e6e1..00000000 --- a/scripts/ckeditor/plugins/widget/plugin.js +++ /dev/null @@ -1,3743 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @fileOverview [Widget](http://ckeditor.com/addon/widget) plugin. - */ - -'use strict'; - -( function() { - - var DRAG_HANDLER_SIZE = 15; - - CKEDITOR.plugins.add( 'widget', { - lang: 'ar,ca,cs,cy,de,el,en,en-gb,eo,es,fa,fi,fr,gl,he,hr,hu,it,ja,km,ko,nb,nl,no,pl,pt,pt-br,ru,sl,sv,tt,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - requires: 'lineutils,clipboard', - onLoad: function() { - CKEDITOR.addCss( - '.cke_widget_wrapper{' + - 'position:relative;' + - 'outline:none' + - '}' + - '.cke_widget_inline{' + - 'display:inline-block' + - '}' + - '.cke_widget_wrapper:hover>.cke_widget_element{' + - 'outline:2px solid yellow;' + - 'cursor:default' + - '}' + - '.cke_widget_wrapper:hover .cke_widget_editable{' + - 'outline:2px solid yellow' + - '}' + - '.cke_widget_wrapper.cke_widget_focused>.cke_widget_element,' + - // We need higher specificity than hover style. - '.cke_widget_wrapper .cke_widget_editable.cke_widget_editable_focused{' + - 'outline:2px solid #ace' + - '}' + - '.cke_widget_editable{' + - 'cursor:text' + - '}' + - '.cke_widget_drag_handler_container{' + - 'position:absolute;' + - 'width:' + DRAG_HANDLER_SIZE + 'px;' + - 'height:0;' + - // Initially drag handler should not be visible, until its position will be - // repositioned. #11177 - 'left:-9999px;' + - 'opacity:0.75;' + - 'transition:height 0s 0.2s;' + // Delay hiding drag handler. - // Prevent drag handler from being misplaced (#11198). - 'line-height:0' + - '}' + - '.cke_widget_wrapper:hover>.cke_widget_drag_handler_container{' + - 'height:' + DRAG_HANDLER_SIZE + 'px;' + - 'transition:none' + - '}' + - '.cke_widget_drag_handler_container:hover{' + - 'opacity:1' + - '}'+ - 'img.cke_widget_drag_handler{' + - 'cursor:move;' + - 'width:' + DRAG_HANDLER_SIZE + 'px;' + - 'height:' + DRAG_HANDLER_SIZE + 'px;' + - 'display:inline-block' + - '}' + - '.cke_widget_mask{' + - 'position:absolute;' + - 'top:0;' + - 'left:0;' + - 'width:100%;' + - 'height:100%;' + - 'display:block' + - '}' + - '.cke_editable.cke_widget_dragging, .cke_editable.cke_widget_dragging *{' + - 'cursor:move !important' + - '}' - ); - }, - - beforeInit: function( editor ) { - /** - * An instance of widget repository. It contains all - * {@link CKEDITOR.plugins.widget.repository#registered registered widget definitions} and - * {@link CKEDITOR.plugins.widget.repository#instances initialized instances}. - * - * editor.widgets.add( 'someName', { - * // Widget definition... - * } ); - * - * editor.widgets.registered.someName; // -> Widget definition - * - * @since 4.3 - * @readonly - * @property {CKEDITOR.plugins.widget.repository} widgets - * @member CKEDITOR.editor - */ - editor.widgets = new Repository( editor ); - }, - - afterInit: function( editor ) { - addWidgetButtons( editor ); - setupContextMenu( editor ); - } - } ); - - /** - * Widget repository. It keeps track of all {@link #registered registered widget definitions} and - * {@link #instances initialized instances}. An instance of the repository is available under - * the {@link CKEDITOR.editor#widgets} property. - * - * @class CKEDITOR.plugins.widget.repository - * @mixins CKEDITOR.event - * @constructor Creates a widget repository instance. Note that the widget plugin automatically - * creates a repository instance which is available under the {@link CKEDITOR.editor#widgets} property. - * @param {CKEDITOR.editor} editor The editor instance for which the repository will be created. - */ - function Repository( editor ) { - /** - * The editor instance for which this repository was created. - * - * @readonly - * @property {CKEDITOR.editor} editor - */ - this.editor = editor; - - /** - * A hash of registered widget definitions (definition name => {@link CKEDITOR.plugins.widget.definition}). - * - * To register a definition use the {@link #add} method. - * - * @readonly - */ - this.registered = {}; - - /** - * An object containing initialized widget instances (widget id => {@link CKEDITOR.plugins.widget}). - * - * @readonly - */ - this.instances = {}; - - /** - * An array of selected widget instances. - * - * @readonly - * @property {CKEDITOR.plugins.widget[]} selected - */ - this.selected = []; - - /** - * The focused widget instance. See also {@link CKEDITOR.plugins.widget#event-focus} - * and {@link CKEDITOR.plugins.widget#event-blur} events. - * - * editor.on( 'selectionChange', function() { - * if ( editor.widgets.focused ) { - * // Do something when a widget is focused... - * } - * } ); - * - * @readonly - * @property {CKEDITOR.plugins.widget} focused - */ - this.focused = null; - - /** - * The widget instance that contains the nested editable which is currently focused. - * - * @readonly - * @property {CKEDITOR.plugins.widget} widgetHoldingFocusedEditable - */ - this.widgetHoldingFocusedEditable = null; - - this._ = { - nextId: 0, - upcasts: [], - upcastCallbacks: [], - filters: {} - }; - - setupWidgetsLifecycle( this ); - setupSelectionObserver( this ); - setupMouseObserver( this ); - setupKeyboardObserver( this ); - setupDragAndDrop( this ); - setupNativeCutAndCopy( this ); - } - - Repository.prototype = { - /** - * Minimum interval between selection checks. - * - * @private - */ - MIN_SELECTION_CHECK_INTERVAL: 500, - - /** - * Adds a widget definition to the repository. Fires the {@link CKEDITOR.editor#widgetDefinition} event - * which allows to modify the widget definition which is going to be registered. - * - * @param {String} name The name of the widget definition. - * @param {CKEDITOR.plugins.widget.definition} widgetDef Widget definition. - * @returns {CKEDITOR.plugins.widget.definition} - */ - add: function( name, widgetDef ) { - // Create prototyped copy of original widget definition, so we won't modify it. - widgetDef = CKEDITOR.tools.prototypedCopy( widgetDef ); - widgetDef.name = name; - - widgetDef._ = widgetDef._ || {}; - - this.editor.fire( 'widgetDefinition', widgetDef ); - - if ( widgetDef.template ) - widgetDef.template = new CKEDITOR.template( widgetDef.template ); - - addWidgetCommand( this.editor, widgetDef ); - addWidgetProcessors( this, widgetDef ); - - this.registered[ name ] = widgetDef; - - return widgetDef; - }, - - /** - * Adds a callback for element upcasting. Each callback will be executed - * for every element which is later tested by upcast methods. If a callback - * returns `false`, the element will not be upcasted. - * - * // Images with the "banner" class will not be upcasted (e.g. to the image widget). - * editor.widgets.addUpcastCallback( function( element ) { - * if ( element.name == 'img' && element.hasClass( 'banner' ) ) - * return false; - * } ); - * - * @param {Function} callback - * @param {CKEDITOR.htmlParser.element} callback.element - */ - addUpcastCallback: function( callback ) { - this._.upcastCallbacks.push( callback ); - }, - - /** - * Checks the selection to update widget states (selection and focus). - * - * This method is triggered by the {@link #event-checkSelection} event. - */ - checkSelection: function() { - var sel = this.editor.getSelection(), - selectedElement = sel.getSelectedElement(), - updater = stateUpdater( this ), - widget; - - // Widget is focused so commit and finish checking. - if ( selectedElement && ( widget = this.getByElement( selectedElement, true ) ) ) - return updater.focus( widget ).select( widget ).commit(); - - var range = sel.getRanges()[ 0 ]; - - // No ranges or collapsed range mean that nothing is selected, so commit and finish checking. - if ( !range || range.collapsed ) - return updater.commit(); - - // Range is not empty, so create walker checking for wrappers. - var walker = new CKEDITOR.dom.walker( range ), - wrapper; - - walker.evaluator = isDomWidgetWrapper; - - while ( ( wrapper = walker.next() ) ) - updater.select( this.getByElement( wrapper ) ); - - updater.commit(); - }, - - /** - * Checks if all widget instances are still present in the DOM. - * Destroys those instances that are not present. - * Reinitializes widgets on widget wrappers for which widget instances - * cannot be found. - * - * This method triggers the {@link #event-checkWidgets} event whose listeners - * can cancel the method's execution or modify its options. - * - * @param [options] The options object. - * @param {Boolean} [options.initOnlyNew] Initializes widgets only on newly wrapped - * widget elements (those which still have the `cke_widget_new` class). When this option is - * set to `true`, widgets which were invalidated (e.g. by replacing with a cloned DOM structure) - * will not be reinitialized. This makes the check faster. - * @param {Boolean} [options.focusInited] If only one widget is initialized by - * the method, it will be focused. - */ - checkWidgets: function( options ) { - this.fire( 'checkWidgets', CKEDITOR.tools.copy( options || {} ) ); - }, - - /** - * Removes the widget from the editor and moves the selection to the closest - * editable position if the widget was focused before. - * - * @param {CKEDITOR.plugins.widget} widget The widget instance to be deleted. - */ - del: function( widget ) { - if ( this.focused === widget ) { - var editor = widget.editor, - range = editor.createRange(), - found; - - // If haven't found place for caret on the default side, - // try to find it on the other side. - if ( !( found = range.moveToClosestEditablePosition( widget.wrapper, true ) ) ) - found = range.moveToClosestEditablePosition( widget.wrapper, false ); - - if ( found ) - editor.getSelection().selectRanges( [ range ] ); - } - - widget.wrapper.remove(); - this.destroy( widget, true ); - }, - - /** - * Destroys the widget instance. - * - * @param {CKEDITOR.plugins.widget} widget The widget instance to be destroyed. - * @param {Boolean} [offline] Whether the widget is offline (detached from the DOM tree) — - * in this case the DOM (attributes, classes, etc.) will not be cleaned up. - */ - destroy: function( widget, offline ) { - if ( this.widgetHoldingFocusedEditable === widget ) - setFocusedEditable( this, widget, null, offline ); - - widget.destroy( offline ); - delete this.instances[ widget.id ]; - this.fire( 'instanceDestroyed', widget ); - }, - - /** - * Destroys all widget instances. - * - * @param {Boolean} [offline] Whether the widgets are offline (detached from the DOM tree) — - * in this case the DOM (attributes, classes, etc.) will not be cleaned up. - */ - destroyAll: function( offline ) { - var instances = this.instances, - widget; - - for ( var id in instances ) { - widget = instances[ id ]; - this.destroy( widget, offline ); - } - }, - - /** - * Finalizes a process of widget creation. This includes: - * - * * inserting widget element into editor, - * * marking widget instance as ready (see {@link CKEDITOR.plugins.widget#event-ready}), - * * focusing widget instance. - * - * This method is used by the default widget's command and is called - * after widget's dialog (if set) is closed. It may also be used in a - * customized process of widget creation and insertion. - * - * widget.once( 'edit', function() { - * // Finalize creation only of not ready widgets. - * if ( widget.isReady() ) - * return; - * - * // Cancel edit event to prevent automatic widget insertion. - * evt.cancel(); - * - * CustomDialog.open( widget.data, function saveCallback( savedData ) { - * // Cache the container, because widget may be destroyed while saving data, - * // if this process will require some deep transformations. - * var container = widget.wrapper.getParent(); - * - * widget.setData( savedData ); - * - * // Widget will be retrieved from container and inserted into editor. - * editor.widgets.finalizeCreation( container ); - * } ); - * } ); - * - * @param {CKEDITOR.dom.element/CKEDITOR.dom.documentFragment} container The element - * or document fragment which contains widget wrapper. The container is used, so before - * finalizing creation the widget can be freely transformed (even destroyed and reinitialized). - */ - finalizeCreation: function( container ) { - var wrapper = container.getFirst(); - if ( wrapper && isDomWidgetWrapper( wrapper ) ) { - this.editor.insertElement( wrapper ); - - var widget = this.getByElement( wrapper ); - // Fire postponed #ready event. - widget.ready = true; - widget.fire( 'ready' ); - widget.focus(); - } - }, - - /** - * Finds a widget instance which contains a given element. The element will be the {@link CKEDITOR.plugins.widget#wrapper wrapper} - * of the returned widget or a descendant of this {@link CKEDITOR.plugins.widget#wrapper wrapper}. - * - * editor.widgets.getByElement( someWidget.wrapper ); // -> someWidget - * editor.widgets.getByElement( someWidget.parts.caption ); // -> someWidget - * - * // Check wrapper only: - * editor.widgets.getByElement( someWidget.wrapper, true ); // -> someWidget - * editor.widgets.getByElement( someWidget.parts.caption, true ); // -> null - * - * @param {CKEDITOR.dom.element} element The element to be checked. - * @param {Boolean} [checkWrapperOnly] If set to `true`, the method will not check wrappers' descendants. - * @returns {CKEDITOR.plugins.widget} The widget instance or `null`. - */ - getByElement: ( function() { - var validWrapperElements = { div: 1, span: 1 }; - function getWidgetId( element ) { - return element.is( validWrapperElements ) && element.data( 'cke-widget-id' ); - } - - return function( element, checkWrapperOnly ) { - if ( !element ) - return null; - - var id = getWidgetId( element ); - - // There's no need to check element parents if element is a wrapper. - if ( !checkWrapperOnly && !id ) { - var limit = this.editor.editable(); - - // Try to find a closest ascendant which is a widget wrapper. - do { - element = element.getParent(); - } while ( element && !element.equals( limit ) && !( id = getWidgetId( element ) ) ); - } - - return this.instances[ id ] || null; - }; - } )(), - - /** - * Initializes a widget on a given element if the widget has not been initialized on it yet. - * - * @param {CKEDITOR.dom.element} element The future widget element. - * @param {String/CKEDITOR.plugins.widget.definition} [widgetDef] Name of a widget or a widget definition. - * The widget definition should be previously registered by using the - * {@link CKEDITOR.plugins.widget.repository#add} method. - * @param [startupData] Widget startup data (has precedence over default one). - * @returns {CKEDITOR.plugins.widget} The widget instance or `null` if a widget could not be initialized on - * a given element. - */ - initOn: function( element, widgetDef, startupData ) { - if ( !widgetDef ) - widgetDef = this.registered[ element.data( 'widget' ) ]; - else if ( typeof widgetDef == 'string' ) - widgetDef = this.registered[ widgetDef ]; - - if ( !widgetDef ) - return null; - - // Wrap element if still wasn't wrapped (was added during runtime by method that skips dataProcessor). - var wrapper = this.wrapElement( element, widgetDef.name ); - - if ( wrapper ) { - // Check if widget wrapper is new (widget hasn't been initialized on it yet). - // This class will be removed by widget constructor to avoid locking snapshot twice. - if ( wrapper.hasClass( 'cke_widget_new' ) ) { - var widget = new Widget( this, this._.nextId++, element, widgetDef, startupData ); - - // Widget could be destroyed when initializing it. - if ( widget.isInited() ) { - this.instances[ widget.id ] = widget; - - return widget; - } else - return null; - } - - // Widget already has been initialized, so try to get widget by element. - // Note - it may happen that other instance will returned than the one created above, - // if for example widget was destroyed and reinitialized. - return this.getByElement( element ); - } - - // No wrapper means that there's no widget for this element. - return null; - }, - - /** - * Initializes widgets on all elements which were wrapped by {@link #wrapElement} and - * have not been initialized yet. - * - * @param {CKEDITOR.dom.element} [container=editor.editable()] The container which will be checked for not - * initialized widgets. Defaults to editor's {@link CKEDITOR.editor#editable editable} element. - * @returns {CKEDITOR.plugins.widget[]} Array of widget instances which have been initialized. - * Note: Only first-level widgets are returned — without nested widgets. - */ - initOnAll: function( container ) { - var newWidgets = ( container || this.editor.editable() ).find( '.cke_widget_new' ), - newInstances = [], - instance; - - for ( var i = newWidgets.count(); i--; ) { - instance = this.initOn( newWidgets.getItem( i ).getFirst( isDomWidgetElement ) ); - if ( instance ) - newInstances.push( instance ); - } - - return newInstances; - }, - - /** - * Parses element classes string and returns an object - * whose keys contain class names. Skips all `cke_*` classes. - * - * This method is used by the {@link CKEDITOR.plugins.widget#getClasses} method and - * may be used when overriding that method. - * - * @since 4.4 - * @param {String} classes String (value of `class` attribute). - * @returns {Object} Object containing classes or `null` if no classes found. - */ - parseElementClasses: function( classes ) { - if ( !classes ) - return null; - - classes = CKEDITOR.tools.trim( classes ).split( /\s+/ ); - - var cl, - obj = {}, - hasClasses = 0; - - while ( ( cl = classes.pop() ) ) { - if ( cl.indexOf( 'cke_' ) == -1 ) - obj[ cl ] = hasClasses = 1; - } - - return hasClasses ? obj : null; - }, - - /** - * Wraps an element with a widget's non-editable container. - * - * If this method is called on an {@link CKEDITOR.htmlParser.element}, then it will - * also take care of fixing the DOM after wrapping (the wrapper may not be allowed in element's parent). - * - * @param {CKEDITOR.dom.element/CKEDITOR.htmlParser.element} element The widget element to be wrapped. - * @param {String} [widgetName] The name of the widget definition. Defaults to element's `data-widget` - * attribute value. - * @returns {CKEDITOR.dom.element/CKEDITOR.htmlParser.element} The wrapper element or `null` if - * the widget definition of this name is not registered. - */ - wrapElement: function( element, widgetName ) { - var wrapper = null, - widgetDef, - isInline; - - if ( element instanceof CKEDITOR.dom.element ) { - widgetDef = this.registered[ widgetName || element.data( 'widget' ) ]; - if ( !widgetDef ) - return null; - - // Do not wrap already wrapped element. - wrapper = element.getParent(); - if ( wrapper && wrapper.type == CKEDITOR.NODE_ELEMENT && wrapper.data( 'cke-widget-wrapper' ) ) - return wrapper; - - // If attribute isn't already set (e.g. for pasted widget), set it. - if ( !element.hasAttribute( 'data-cke-widget-keep-attr' ) ) - element.data( 'cke-widget-keep-attr', element.data( 'widget' ) ? 1 : 0 ); - if ( widgetName ) - element.data( 'widget', widgetName ); - - isInline = isWidgetInline( widgetDef, element.getName() ); - - wrapper = new CKEDITOR.dom.element( isInline ? 'span' : 'div' ); - wrapper.setAttributes( getWrapperAttributes( isInline ) ); - - wrapper.data( 'cke-display-name', widgetDef.pathName ? widgetDef.pathName : element.getName() ); - - // Replace element unless it is a detached one. - if ( element.getParent( true ) ) - wrapper.replace( element ); - element.appendTo( wrapper ); - } - else if ( element instanceof CKEDITOR.htmlParser.element ) { - widgetDef = this.registered[ widgetName || element.attributes[ 'data-widget' ] ]; - if ( !widgetDef ) - return null; - - wrapper = element.parent; - if ( wrapper && wrapper.type == CKEDITOR.NODE_ELEMENT && wrapper.attributes[ 'data-cke-widget-wrapper' ] ) - return wrapper; - - // If attribute isn't already set (e.g. for pasted widget), set it. - if ( !( 'data-cke-widget-keep-attr' in element.attributes ) ) - element.attributes[ 'data-cke-widget-keep-attr' ] = element.attributes[ 'data-widget' ] ? 1 : 0; - if ( widgetName ) - element.attributes[ 'data-widget' ] = widgetName; - - isInline = isWidgetInline( widgetDef, element.name ); - - wrapper = new CKEDITOR.htmlParser.element( isInline ? 'span' : 'div', getWrapperAttributes( isInline ) ); - - wrapper.attributes[ 'data-cke-display-name' ] = widgetDef.pathName ? widgetDef.pathName : element.name; - - var parent = element.parent, - index; - - // Don't detach already detached element. - if ( parent ) { - index = element.getIndex(); - element.remove(); - } - - wrapper.add( element ); - - // Insert wrapper fixing DOM (splitting parents if wrapper is not allowed inside them). - parent && insertElement( parent, index, wrapper ); - } - - return wrapper; - }, - - // Expose for tests. - _tests_getNestedEditable: getNestedEditable, - _tests_createEditableFilter: createEditableFilter - }; - - CKEDITOR.event.implementOn( Repository.prototype ); - - /** - * An event fired when a widget instance is created, but before it is fully initialized. - * - * @event instanceCreated - * @param {CKEDITOR.plugins.widget} data The widget instance. - */ - - /** - * An event fired when a widget instance was destroyed. - * - * See also {@link CKEDITOR.plugins.widget#event-destroy}. - * - * @event instanceDestroyed - * @param {CKEDITOR.plugins.widget} data The widget instance. - */ - - /** - * An event fired to trigger the selection check. - * - * See the {@link #method-checkSelection} method. - * - * @event checkSelection - */ - - /** - * An event fired by the the {@link #method-checkWidgets} method. - * - * It can be canceled in order to stop the {@link #method-checkWidgets} - * method execution or the event listener can modify the method's options. - * - * @event checkWidgets - * @param [data] - * @param {Boolean} [data.initOnlyNew] Initialize widgets only on newly wrapped - * widget elements (those which still have the `cke_widget_new` class). When this option is - * set to `true`, widgets which were invalidated (e.g. by replacing with a cloned DOM structure) - * will not be reinitialized. This makes the check faster. - * @param {Boolean} [data.focusInited] If only one widget is initialized by - * the method, it will be focused. - */ - - - /** - * An instance of a widget. Together with {@link CKEDITOR.plugins.widget.repository} these - * two classes constitute the core of the Widget System. - * - * Note that neither the repository nor the widget instances can be created by using their constructors. - * A repository instance is automatically set up by the Widget plugin and is accessible under - * {@link CKEDITOR.editor#widgets}, while widget instances are created and destroyed by the repository. - * - * To create a widget, first you need to {@link CKEDITOR.plugins.widget.repository#add register} its - * {@link CKEDITOR.plugins.widget.definition definition}: - * - * editor.widgets.add( 'simplebox', { - * upcast: function( element ) { - * // Defines which elements will become widgets. - * if ( element.hasClass( 'simplebox' ) ) - * return true; - * }, - * init: function() { - * // ... - * } - * } ); - * - * Once the widget definition is registered, widgets will be automatically - * created when loading data: - * - * editor.setData( '
    foo
    ', function() { - * console.log( editor.widgets.instances ); // -> An object containing one instance. - * } ); - * - * It is also possible to create instances during runtime by using a command - * (if a {@link CKEDITOR.plugins.widget.definition#template} property was defined): - * - * // You can execute an automatically defined command to - * // insert a new simplebox widget or edit the one currently focused. - * editor.execCommand( 'simplebox' ); - * - * Or in a completely custom way: - * - * var element = editor.createElement( 'div' ); - * editor.insertElement( element ); - * var widget = editor.widgets.initOn( element, 'simplebox' ); - * - * @since 4.3 - * @class CKEDITOR.plugins.widget - * @mixins CKEDITOR.event - * @extends CKEDITOR.plugins.widget.definition - * @constructor Creates an instance of the widget class. Do not use it directly, but instead initialize widgets - * by using the {@link CKEDITOR.plugins.widget.repository#initOn} method or by the upcasting system. - * @param {CKEDITOR.plugins.widget.repository} widgetsRepo - * @param {Number} id Unique ID of this widget instance. - * @param {CKEDITOR.dom.element} element The widget element. - * @param {CKEDITOR.plugins.widget.definition} widgetDef Widget's registered definition. - * @param [startupData] Initial widget data. This data object will overwrite the default data and - * the data loaded from the DOM. - */ - function Widget( widgetsRepo, id, element, widgetDef, startupData ) { - var editor = widgetsRepo.editor; - - // Extend this widget with widgetDef-specific methods and properties. - CKEDITOR.tools.extend( this, widgetDef, { - /** - * The editor instance. - * - * @readonly - * @property {CKEDITOR.editor} - */ - editor: editor, - - /** - * This widget's unique (per editor instance) ID. - * - * @readonly - * @property {Number} - */ - id: id, - - /** - * Whether this widget is an inline widget (based on an inline element unless - * forced otherwise by {@link CKEDITOR.plugins.widget.definition#inline}). - * - * **Note:** This option does not allow to turn a block element into an inline widget. - * However, it makes it possible to turn an inline element into a block widget or to - * force a correct type in case when automatic recognition fails. - * - * @readonly - * @property {Boolean} - */ - inline: element.getParent().getName() == 'span', - - /** - * The widget element — the element on which the widget was initialized. - * - * @readonly - * @property {CKEDITOR.dom.element} element - */ - element: element, - - /** - * Widget's data object. - * - * The data can only be set by using the {@link #setData} method. - * Changes made to the data fire the {@link #event-data} event. - * - * @readonly - */ - data: CKEDITOR.tools.extend( {}, typeof widgetDef.defaults == 'function' ? widgetDef.defaults() : widgetDef.defaults ), - - /** - * Indicates if a widget is data-ready. Set to `true` when data from all sources - * ({@link CKEDITOR.plugins.widget.definition#defaults}, set in the - * {@link #init} method, loaded from the widget's element and startup data coming from the constructor) - * are finally loaded. This is immediately followed by the first {@link #event-data}. - * - * @readonly - */ - dataReady: false, - - /** - * Whether a widget instance was initialized. This means that: - * - * * An instance was created, - * * Its properties were set, - * * The `init` method was executed. - * - * **Note**: The first {@link #event-data} event could not be fired yet which - * means that the widget's DOM has not been set up yet. Wait for the {@link #event-ready} - * event to be notified when a widget is fully initialized and ready. - * - * **Note**: Use the {@link #isInited} method to check whether a widget is initialized and - * has not been destroyed. - * - * @readonly - */ - inited: false, - - /** - * Whether a widget instance is ready. This means that the widget is {@link #inited} and - * that its DOM was finally set up. - * - * **Note:** Use the {@link #isReady} method to check whether a widget is ready and - * has not been destroyed. - * - * @readonly - */ - ready: false, - - // Revert what widgetDef could override (automatic #edit listener). - edit: Widget.prototype.edit, - - /** - * The nested editable element which is currently focused. - * - * @readonly - * @property {CKEDITOR.plugins.widget.nestedEditable} - */ - focusedEditable: null, - - /** - * The widget definition from which this instance was created. - * - * @readonly - * @property {CKEDITOR.plugins.widget.definition} definition - */ - definition: widgetDef, - - /** - * Link to the widget repository which created this instance. - * - * @readonly - * @property {CKEDITOR.plugins.widget.repository} repository - */ - repository: widgetsRepo, - - draggable: widgetDef.draggable !== false, - - // WAAARNING: Overwrite widgetDef's priv object, because otherwise violent unicorn's gonna visit you. - _: { - downcastFn: ( widgetDef.downcast && typeof widgetDef.downcast == 'string' ) ? - widgetDef.downcasts[ widgetDef.downcast ] : widgetDef.downcast - } - }, true ); - - /** - * An object of widget component elements. - * - * For every `partName => selector` pair in {@link CKEDITOR.plugins.widget.definition#parts}, - * one `partName => element` pair is added to this object during the widget initialization. - * - * @readonly - * @property {Object} parts - */ - - /** - * The template which will be used to create a new widget element (when the widget's command is executed). - * It will be populated with {@link #defaults default values}. - * - * @readonly - * @property {CKEDITOR.template} template - */ - - /** - * The widget wrapper — a non-editable `div` or `span` element (depending on {@link #inline}) - * which is a parent of the {@link #element} and widget compontents like the drag handler and the {@link #mask}. - * It is the outermost widget element. - * - * @readonly - * @property {CKEDITOR.dom.element} wrapper - */ - - widgetsRepo.fire( 'instanceCreated', this ); - - setupWidget( this, widgetDef ); - - this.init && this.init(); - - // Finally mark widget as inited. - this.inited = true; - - setupWidgetData( this, startupData ); - - // If at some point (e.g. in #data listener) widget hasn't been destroyed - // and widget is already attached to document then fire #ready. - if ( this.isInited() && editor.editable().contains( this.wrapper ) ) { - this.ready = true; - this.fire( 'ready' ); - } - } - - Widget.prototype = { - /** - * Adds a class to the widget element. This method is used by - * the {@link #applyStyle} method and should be overriden by widgets - * which should handle classes differently (e.g. add them to other elements). - * - * **Note**: This method should not be used directly. Use the {@link #setData} method to - * set the `classes` property. Read more in the {@link #setData} documentation. - * - * See also: {@link #removeClass}, {@link #hasClass}, {@link #getClasses}. - * - * @since 4.4 - * @param {String} className The class name to be added. - */ - addClass: function( className ) { - this.element.addClass( className ); - }, - - /** - * Applies the specified style to the widget. It is highly recommended to use the - * {@link CKEDITOR.editor#applyStyle} or {@link CKEDITOR.style#apply} methods instead of - * using this method directly, because unlike editor's and style's methods, this one - * does not perform any checks. - * - * By default this method handles only classes defined in the style. It clones existing - * classes which are stored in the {@link #property-data widget data}'s `classes` property, - * adds new classes, and calls the {@link #setData} method if at least one new class was added. - * Then, using the {@link #event-data} event listener widget applies modifications passing - * new classes to the {@link #addClass} method. - * - * If you need to handle classes differently than in the default way, you can override the - * {@link #addClass} and related methods. You can also handle other style properties than `classes` - * by overriding this method. - * - * See also: {@link #checkStyleActive}, {@link #removeStyle}. - * - * @since 4.4 - * @param {CKEDITOR.style} style The custom widget style to be applied. - */ - applyStyle: function( style ) { - applyRemoveStyle( this, style, 1 ); - }, - - /** - * Checks if the specified style is applied to this widget. It is highly recommended to use the - * {@link CKEDITOR.style#checkActive} method instead of using this method directly, - * because unlike style's method, this one does not perform any checks. - * - * By default this method handles only classes defined in the style and passes - * them to the {@link #hasClass} method. You can override these methods to handle classes - * differently or to handle more of the style properties. - * - * See also: {@link #applyStyle}, {@link #removeStyle}. - * - * @since 4.4 - * @param {CKEDITOR.style} style The custom widget style to be checked. - * @returns {Boolean} Whether the style is applied to this widget. - */ - checkStyleActive: function( style ) { - var classes = getStyleClasses( style ), - cl; - - if ( !classes ) - return false; - - while ( ( cl = classes.pop() ) ) { - if ( !this.hasClass( cl ) ) - return false; - } - return true; - }, - - /** - * Destroys this widget instance. - * - * Use {@link CKEDITOR.plugins.widget.repository#destroy} when possible instead of this method. - * - * This method fires the {#event-destroy} event. - * - * @param {Boolean} [offline] Whether a widget is offline (detached from the DOM tree) — - * in this case the DOM (attributes, classes, etc.) will not be cleaned up. - */ - destroy: function( offline ) { - var editor = this.editor; - - this.fire( 'destroy' ); - - if ( this.editables ) { - for ( var name in this.editables ) - this.destroyEditable( name, offline ); - } - - if ( !offline ) { - if ( this.element.data( 'cke-widget-keep-attr' ) == '0' ) - this.element.removeAttribute( 'data-widget' ); - this.element.removeAttributes( [ 'data-cke-widget-data', 'data-cke-widget-keep-attr' ] ); - this.element.removeClass( 'cke_widget_element' ); - this.element.replace( this.wrapper ); - } - - this.wrapper = null; - }, - - /** - * Destroys a nested editable. - * - * @param {String} editableName Nested editable name. - * @param {Boolean} [offline] See {@link #method-destroy} method. - */ - destroyEditable: function( editableName, offline ) { - var editable = this.editables[ editableName ]; - - editable.removeListener( 'focus', onEditableFocus ); - editable.removeListener( 'blur', onEditableBlur ); - this.editor.focusManager.remove( editable ); - - if ( !offline ) { - editable.removeClass( 'cke_widget_editable' ); - editable.removeClass( 'cke_widget_editable_focused' ); - editable.removeAttributes( [ 'contenteditable', 'data-cke-widget-editable', 'data-cke-enter-mode' ] ); - } - - delete this.editables[ editableName ]; - }, - - /** - * Starts widget editing. - * - * This method fires the {@link CKEDITOR.plugins.widget#event-edit} event - * which may be canceled in order to prevent it from opening a dialog window. - * - * The dialog window name is obtained from the event's data `dialog` property or - * from {@link CKEDITOR.plugins.widget.definition#dialog}. - * - * @returns {Boolean} Returns `true` if a dialog window was opened. - */ - edit: function() { - var evtData = { dialog: this.dialog }, - that = this; - - // Edit event was blocked, but there's no dialog to be automatically opened. - if ( this.fire( 'edit', evtData ) === false || !evtData.dialog ) - return false; - - this.editor.openDialog( evtData.dialog, function( dialog ) { - var showListener, - okListener; - - // Allow to add a custom dialog handler. - if ( that.fire( 'dialog', dialog ) === false ) - return; - - showListener = dialog.on( 'show', function() { - dialog.setupContent( that ); - } ); - - okListener = dialog.on( 'ok', function() { - // Commit dialog's fields, but prevent from - // firing data event for every field. Fire only one, - // bulk event at the end. - var dataChanged, - dataListener = that.on( 'data', function( evt ) { - dataChanged = 1; - evt.cancel(); - }, null, null, 0 ); - - // Create snapshot preceeding snapshot with changed widget... - // TODO it should not be required, but it is and I found similar - // code in dialog#ok listener in dialog/plugin.js. - that.editor.fire( 'saveSnapshot' ); - dialog.commitContent( that ); - - dataListener.removeListener(); - if ( dataChanged ) { - that.fire( 'data', that.data ); - that.editor.fire( 'saveSnapshot' ); - } - } ); - - dialog.once( 'hide', function() { - showListener.removeListener(); - okListener.removeListener(); - } ); - } ); - - return true; - }, - - /** - * Returns widget element classes parsed to an object. This method - * is used to populate the `classes` property of widget's {@link #property-data}. - * - * This method reuses {@link CKEDITOR.plugins.widget.repository#parseElementClasses}. - * It should be overriden if a widget should handle classes differently (e.g. on other elements). - * - * See also: {@link #removeClass}, {@link #addClass}, {@link #hasClass}. - * - * @since 4.4 - * @returns {Object} - */ - getClasses: function() { - return this.repository.parseElementClasses( this.element.getAttribute( 'class' ) ); - }, - - /** - * Checks if the widget element has specified class. This method is used by - * the {@link #checkStyleActive} method and should be overriden by widgets - * which should handle classes differently (e.g. on other elements). - * - * See also: {@link #removeClass}, {@link #addClass}, {@link #getClasses}. - * - * @since 4.4 - * @param {String} className The class to be checked. - * @param {Boolean} Whether a widget has specified class. - */ - hasClass: function( className ) { - return this.element.hasClass( className ); - }, - - /** - * Initializes a nested editable. - * - * **Note**: Only elements from {@link CKEDITOR.dtd#$editable} may become editables. - * - * @param {String} editableName The nested editable name. - * @param {CKEDITOR.plugins.widget.nestedEditable.definition} definition The definition of the nested editable. - * @returns {Boolean} Whether an editable was successfully initialized. - */ - initEditable: function( editableName, definition ) { - var editable = this.wrapper.findOne( definition.selector ); - - if ( editable && editable.is( CKEDITOR.dtd.$editable ) ) { - editable = new NestedEditable( this.editor, editable, { - filter: createEditableFilter.call( this.repository, this.name, editableName, definition ) - } ); - this.editables[ editableName ] = editable; - - editable.setAttributes( { - contenteditable: 'true', - 'data-cke-widget-editable': editableName, - 'data-cke-enter-mode': editable.enterMode - } ); - - if ( editable.filter ) - editable.data( 'cke-filter', editable.filter.id ); - - editable.addClass( 'cke_widget_editable' ); - // This class may be left when d&ding widget which - // had focused editable. Clean this class here, not in - // cleanUpWidgetElement for performance and code size reasons. - editable.removeClass( 'cke_widget_editable_focused' ); - - if ( definition.pathName ) - editable.data( 'cke-display-name', definition.pathName ); - - this.editor.focusManager.add( editable ); - editable.on( 'focus', onEditableFocus, this ); - CKEDITOR.env.ie && editable.on( 'blur', onEditableBlur, this ); - - // Finally, process editable's data. This data wasn't processed when loading - // editor's data, becuase they need to be processed separately, with its own filters and settings. - editable.setData( editable.getHtml() ); - - return true; - } - - return false; - }, - - /** - * Checks if a widget has already been initialized and has not been destroyed yet. - * - * See {@link #inited} for more details. - * - * @returns {Boolean} - */ - isInited: function() { - return !!( this.wrapper && this.inited ); - }, - - /** - * Checks if a widget is ready and has not been destroyed yet. - * - * See {@link #property-ready} for more details. - * - * @returns {Boolean} - */ - isReady: function() { - return this.isInited() && this.ready; - }, - - /** - * Focuses a widget by selecting it. - */ - focus: function() { - var sel = this.editor.getSelection(); - - // Fake the selection before focusing editor, to avoid unpreventable viewports scrolling - // on Webkit/Blink/IE which is done because there's no selection or selection was somewhere else than widget. - if ( sel ) { - var isDirty = this.editor.checkDirty(); - - sel.fake( this.wrapper ); - - !isDirty && this.editor.resetDirty(); - } - - // Always focus editor (not only when focusManger.hasFocus is false) (because of #10483). - this.editor.focus(); - }, - - /** - * Removes a class from the widget element. This method is used by - * the {@link #removeStyle} method and should be overriden by widgets - * which should handle classes differently (e.g. on other elements). - * - * **Note**: This method should not be used directly. Use the {@link #setData} method to - * set the `classes` property. Read more in the {@link #setData} documentation. - * - * See also: {@link #hasClass}, {@link #addClass}. - * - * @since 4.4 - * @param {String} className The class to be removed. - */ - removeClass: function( className ) { - this.element.removeClass( className ); - }, - - /** - * Removes the specified style from the widget. It is highly recommended to use the - * {@link CKEDITOR.editor#removeStyle} or {@link CKEDITOR.style#remove} methods instead of - * using this method directly, because unlike editor's and style's methods, this one - * does not perform any checks. - * - * Read more about how applying/removing styles works in the {@link #applyStyle} method documentation. - * - * See also {@link #checkStyleActive}, {@link #applyStyle}, {@link #getClasses}. - * - * @since 4.4 - * @param {CKEDITOR.style} style The custom widget style to be removed. - */ - removeStyle: function( style ) { - applyRemoveStyle( this, style, 0 ); - }, - - /** - * Sets widget value(s) in the {@link #property-data} object. - * If the given value(s) modifies current ones, the {@link #event-data} event is fired. - * - * this.setData( 'align', 'left' ); - * this.data.align; // -> 'left' - * - * this.setData( { align: 'right', opened: false } ); - * this.data.align; // -> 'right' - * this.data.opened; // -> false - * - * Set values are stored in {@link #element}'s attribute (`data-cke-widget-data`), - * in a JSON string, therefore {@link #property-data} should contain - * only serializable data. - * - * **Note:** A special data property, `classes`, exists. It contains an object with - * classes which were returned by the {@link #getClasses} method during the widget initialization. - * This property is then used by the {@link #applyStyle} and {@link #removeStyle} methods. - * When it is changed (the reference to object must be changed!), the widget updates its classes by - * using the {@link #addClass} and {@link #removeClass} methods. - * - * // Adding a new class. - * var classes = CKEDITOR.tools.clone( widget.data.classes ); - * classes.newClass = 1; - * widget.setData( 'classes', classes ); - * - * // Removing a class. - * var classes = CKEDITOR.tools.clone( widget.data.classes ); - * delete classes.newClass; - * widget.setData( 'classes', classes ); - * - * @param {String/Object} keyOrData - * @param {Object} value - * @chainable - */ - setData: function( key, value ) { - var data = this.data, - modified = 0; - - if ( typeof key == 'string' ) { - if ( data[ key ] !== value ) { - data[ key ] = value; - modified = 1; - } - } - else { - var newData = key; - - for ( key in newData ) { - if ( data[ key ] !== newData[ key ] ) { - modified = 1; - data[ key ] = newData[ key ]; - } - } - } - - // Block firing data event and overwriting data element before setupWidgetData is executed. - if ( modified && this.dataReady ) { - writeDataToElement( this ); - this.fire( 'data', data ); - } - - return this; - }, - - /** - * Changes the widget's focus state. This method is executed automatically after - * a widget has been focused by the {@link #method-focus} method or a selection was moved - * out of the widget. - * - * @param {Boolean} selected Whether to select or deselect this widget. - * @chainable - */ - setFocused: function( focused ) { - this.wrapper[ focused ? 'addClass' : 'removeClass' ]( 'cke_widget_focused' ); - this.fire( focused ? 'focus' : 'blur' ); - return this; - }, - - /** - * Changes the widget's select state. This method is executed automatically after - * a widget has been selected by the {@link #method-focus} method or the selection - * was moved out of widget. - * - * @param {Boolean} selected Whether to select or deselect this widget. - * @chainable - */ - setSelected: function( selected ) { - this.wrapper[ selected ? 'addClass' : 'removeClass' ]( 'cke_widget_selected' ); - this.fire( selected ? 'select' : 'deselect' ); - return this; - }, - - /** - * Repositions drag handler according to the widget's element position. Should be called from events, like mouseover. - */ - updateDragHandlerPosition: function() { - var editor = this.editor, - domElement = this.element.$, - oldPos = this._.dragHandlerOffset, - newPos = { - x: domElement.offsetLeft, - y: domElement.offsetTop - DRAG_HANDLER_SIZE - }; - - if ( oldPos && newPos.x == oldPos.x && newPos.y == oldPos.y ) - return; - - // We need to make sure that dirty state is not changed (#11487). - var initialDirty = editor.checkDirty(); - - editor.fire( 'lockSnapshot' ); - this.dragHandlerContainer.setStyles( { - top: newPos.y + 'px', - left: newPos.x + 'px' - } ); - editor.fire( 'unlockSnapshot' ); - !initialDirty && editor.resetDirty(); - - this._.dragHandlerOffset = newPos; - } - }; - - CKEDITOR.event.implementOn( Widget.prototype ); - - /** - * An event fired when a widget is ready (fully initialized). This event is fired after: - * - * * {@link #init} is called, - * * The first {@link #event-data} event is fired, - * * A widget is attached to the document. - * - * Therefore, in case of widget creation with a command which opens a dialog window, this event - * will be delayed after the dialog window is closed and the widget is finally inserted into the document. - * - * **Note**: If your widget does not use automatic dialog window binding (i.e. you open the dialog window manually) - * or another situation in which the widget wrapper is not attached to document at the time when it is - * initialized occurs, you need to take care of firing {@link #event-ready} yourself. - * - * See also {@link #property-ready} and {@link #property-inited} properties, and - * {@link #isReady} and {@link #isInited} methods. - * - * @event ready - */ - - /** - * An event fired when a widget is about to be destroyed, but before it is - * fully torn down. - * - * @event destroy - */ - - /** - * An event fired when a widget is focused. - * - * Widget can be focused by executing {@link #method-focus}. - * - * @event focus - */ - - /** - * An event fired when a widget is blurred. - * - * @event blur - */ - - /** - * An event fired when a widget is selected. - * - * @event select - */ - - /** - * An event fired when a widget is deselected. - * - * @event deselect - */ - - /** - * An event fired by the {@link #method-edit} method. It can be canceled - * in order to stop the default action (opening a dialog window and/or - * {@link CKEDITOR.plugins.widget.repository#finalizeCreation finalizing widget creation}). - * - * @event edit - * @param data - * @param {String} data.dialog Defaults to {@link CKEDITOR.plugins.widget.definition#dialog} - * and can be changed or set by the listener. - */ - - /** - * An event fired when a dialog window for widget editing is opened. - * This event can be canceled in order to handle the editing dialog in a custom manner. - * - * @event dialog - * @param {CKEDITOR.dialog} data The opened dialog window instance. - */ - - /** - * An event fired when a key is pressed on a focused widget. - * This event is forwarded from the {@link CKEDITOR.editor#key} event and - * has the ability to block editor keystrokes if it is canceled. - * - * @event key - * @param data - * @param {Number} data.keyCode A number representing the key code (or combination). - */ - - /** - * An event fired when a widget is double clicked. - * - * **Note:** If a default editing action is executed on double click (i.e. a widget has a - * {@link CKEDITOR.plugins.widget.definition#dialog dialog} defined and the {@link #event-doubleclick} event was not - * canceled), this event will be automatically canceled, so a listener added with the default priority (10) - * will not be executed. Use a listener with low priority (e.g. 5) to be sure that it will be executed. - * - * widget.on( 'doubleclick', function( evt ) { - * console.log( 'widget#doubleclick' ); - * }, null, null, 5 ); - * - * If your widget handles double click in a special way (so the default editing action is not executed), - * make sure you cancel this event, because otherwise it will be propagated to {@link CKEDITOR.editor#doubleclick} - * and another feature may step in (e.g. a Link dialog window may be opened if your widget was inside a link). - * - * @event doubleclick - * @param data - * @param {CKEDITOR.dom.element} data.element The double-clicked element. - */ - - /** - * An event fired when the context menu is opened for a widget. - * - * @event contextMenu - * @param data The object containing context menu options to be added - * for this widget. See {@link CKEDITOR.plugins.contextMenu#addListener}. - */ - - /** - * An event fired when the widget data changed. See the {@link #setData} method and the {@link #property-data} property. - * - * @event data - */ - - - - /** - * The wrapper class for editable elements inside widgets. - * - * Do not use directly. Use {@link CKEDITOR.plugins.widget.definition#editables} or - * {@link CKEDITOR.plugins.widget#initEditable}. - * - * @class CKEDITOR.plugins.widget.nestedEditable - * @extends CKEDITOR.dom.element - * @constructor - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} element - * @param config - * @param {CKEDITOR.filter} [config.filter] - */ - function NestedEditable( editor, element, config ) { - // Call the base constructor. - CKEDITOR.dom.element.call( this, element.$ ); - this.editor = editor; - var filter = this.filter = config.filter; - - // If blockless editable - always use BR mode. - if ( !CKEDITOR.dtd[ this.getName() ].p ) - this.enterMode = this.shiftEnterMode = CKEDITOR.ENTER_BR; - else { - this.enterMode = filter ? filter.getAllowedEnterMode( editor.enterMode ) : editor.enterMode; - this.shiftEnterMode = filter ? filter.getAllowedEnterMode( editor.shiftEnterMode, true ) : editor.shiftEnterMode; - } - } - - NestedEditable.prototype = CKEDITOR.tools.extend( CKEDITOR.tools.prototypedCopy( CKEDITOR.dom.element.prototype ), { - /** - * Sets the editable data. The data will be passed through the {@link CKEDITOR.editor#dataProcessor} - * and the {@link CKEDITOR.editor#filter}. This ensures that the data was filtered and prepared to be - * edited like the {@link CKEDITOR.editor#method-setData editor data}. - * - * @param {String} data - */ - setData: function( data ) { - data = this.editor.dataProcessor.toHtml( data, { - context: this.getName(), - filter: this.filter, - enterMode: this.enterMode - } ); - this.setHtml( data ); - - this.editor.widgets.initOnAll( this ); - }, - - /** - * Gets the editable data. Like {@link #setData}, this method will process and filter the data. - * - * @returns {String} - */ - getData: function() { - return this.editor.dataProcessor.toDataFormat( this.getHtml(), { - context: this.getName(), - filter: this.filter, - enterMode: this.enterMode - } ); - } - } ); - - /** - * The editor instance. - * - * @readonly - * @property {CKEDITOR.editor} editor - */ - - /** - * The filter instance if allowed content rules were defined. - * - * @readonly - * @property {CKEDITOR.filter} filter - */ - - /** - * The enter mode active in this editable. - * It is determined from editable's name (whether it is a blockless editable), - * its allowed content rules (if defined) and the default editor's mode. - * - * @readonly - * @property {Number} enterMode - */ - - /** - * The shift enter move active in this editable. - * - * @readonly - * @property {Number} shiftEnterMode - */ - - - // - // REPOSITORY helpers ----------------------------------------------------- - // - - function addWidgetButtons( editor ) { - var widgets = editor.widgets.registered, - widget, - widgetName, - widgetButton; - - for ( widgetName in widgets ) { - widget = widgets[ widgetName ]; - - // Create button if defined. - widgetButton = widget.button; - if ( widgetButton && editor.ui.addButton ) { - editor.ui.addButton( CKEDITOR.tools.capitalize( widget.name, true ), { - label: widgetButton, - command: widget.name, - toolbar: 'insert,10' - } ); - } - } - } - - // Create a command creating and editing widget. - // - // @param editor - // @param {CKEDITOR.plugins.widget.definition} widgetDef - function addWidgetCommand( editor, widgetDef ) { - editor.addCommand( widgetDef.name, { - exec: function() { - var focused = editor.widgets.focused; - // If a widget of the same type is focused, start editing. - if ( focused && focused.name == widgetDef.name ) - focused.edit(); - // Otherwise... - // ... use insert method is was defined. - else if ( widgetDef.insert ) - widgetDef.insert(); - // ... or create a brand-new widget from template. - else if ( widgetDef.template ) { - var defaults = typeof widgetDef.defaults == 'function' ? widgetDef.defaults() : widgetDef.defaults, - element = CKEDITOR.dom.element.createFromHtml( widgetDef.template.output( defaults ) ), - instance, - wrapper = editor.widgets.wrapElement( element, widgetDef.name ), - temp = new CKEDITOR.dom.documentFragment( wrapper.getDocument() ); - - // Append wrapper to a temporary document. This will unify the environment - // in which #data listeners work when creating and editing widget. - temp.append( wrapper ); - instance = editor.widgets.initOn( element, widgetDef ); - - // Instance could be destroyed during initialization. - // In this case finalize creation if some new widget - // was left in temporary document fragment. - if ( !instance ) { - finalizeCreation(); - return; - } - - // Listen on edit to finalize widget insertion. - // - // * If dialog was set, then insert widget after dialog was successfully saved or destroy this - // temporary instance. - // * If dialog wasn't set and edit wasn't canceled, insert widget. - var editListener = instance.once( 'edit', function( evt ) { - if ( evt.data.dialog ) { - instance.once( 'dialog', function( evt ) { - var dialog = evt.data, - okListener, - cancelListener; - - // Finalize creation AFTER (20) new data was set. - okListener = dialog.once( 'ok', finalizeCreation, null, null, 20 ); - - cancelListener = dialog.once( 'cancel', function() { - editor.widgets.destroy( instance, true ); - } ); - - dialog.once( 'hide', function() { - okListener.removeListener(); - cancelListener.removeListener(); - } ); - } ); - } - // Dialog hasn't been set, so insert widget now. - else - finalizeCreation(); - }, null, null, 999 ); - - instance.edit(); - - // Remove listener in case someone canceled it before this - // listener was executed. - editListener.removeListener(); - } - - function finalizeCreation() { - editor.widgets.finalizeCreation( temp ); - } - }, - - refresh: function( editor, path ) { - // Disable widgets' commands inside nested editables - - // check if blockLimit is a nested editable or a descendant of any. - this.setState( getNestedEditable( editor.editable(), path.blockLimit ) ? CKEDITOR.TRISTATE_DISABLED : CKEDITOR.TRISTATE_OFF ); - }, - // A hack to force command refreshing on context change. - context: 'div', - - allowedContent: widgetDef.allowedContent, - requiredContent: widgetDef.requiredContent, - contentForms: widgetDef.contentForms, - contentTransformations: widgetDef.contentTransformations - } ); - } - - function addWidgetProcessors( widgetsRepo, widgetDef ) { - var upcast = widgetDef.upcast, - upcasts; - - if ( !upcast ) - return; - - // Multiple upcasts defined in string. - if ( typeof upcast == 'string' ) { - upcasts = upcast.split( ',' ); - while ( upcasts.length ) - widgetsRepo._.upcasts.push( [ widgetDef.upcasts[ upcasts.pop() ], widgetDef.name ] ); - } - // Single rule which is automatically activated. - else - widgetsRepo._.upcasts.push( [ upcast, widgetDef.name ] ); - } - - function blurWidget( widgetsRepo, widget ) { - widgetsRepo.focused = null; - - if ( widget.isInited() ) { - var isDirty = widget.editor.checkDirty(); - - // Widget could be destroyed in the meantime - e.g. data could be set. - widgetsRepo.fire( 'widgetBlurred', { widget: widget } ); - widget.setFocused( false ); - - !isDirty && widget.editor.resetDirty(); - } - } - - function checkWidgets( evt ) { - var options = evt.data; - - if ( this.editor.mode != 'wysiwyg' ) - return; - - var editable = this.editor.editable(), - instances = this.instances, - newInstances, i, count, wrapper; - - if ( !editable ) - return; - - // Remove widgets which have no corresponding elements in DOM. - for ( i in instances ) { - if ( !editable.contains( instances[ i ].wrapper ) ) - this.destroy( instances[ i ], true ); - } - - // Init on all (new) if initOnlyNew option was passed. - if ( options && options.initOnlyNew ) - newInstances = this.initOnAll(); - else { - var wrappers = editable.find( '.cke_widget_wrapper' ); - newInstances = []; - - // Create widgets on existing wrappers if they do not exists. - for ( i = 0, count = wrappers.count(); i < count; i++ ) { - wrapper = wrappers.getItem( i ); - - // Check if there's no instance for this widget and that - // wrapper is not inside some temporary element like copybin (#11088). - if ( !this.getByElement( wrapper, true ) && !findParent( wrapper, isDomTemp ) ) { - // Add cke_widget_new class because otherwise - // widget will not be created on such wrapper. - wrapper.addClass( 'cke_widget_new' ); - newInstances.push( this.initOn( wrapper.getFirst( isDomWidgetElement ) ) ); - } - } - } - - // If only single widget was initialized and focusInited was passed, focus it. - if ( options && options.focusInited && newInstances.length == 1 ) - newInstances[ 0 ].focus(); - } - - // Unwraps widget element and clean up element. - // - // This function is used to clean up pasted widgets. - // It should have similar result to widget#destroy plus - // some additional adjustments, specific for pasting. - // - // @param {CKEDITOR.htmlParser.element} el - function cleanUpWidgetElement( el ) { - var parent = el.parent; - if ( parent.type == CKEDITOR.NODE_ELEMENT && parent.attributes[ 'data-cke-widget-wrapper' ] ) - parent.replaceWith( el ); - } - - // Similar to cleanUpWidgetElement, but works on DOM and finds - // widget elements by its own. - // - // Unlike cleanUpWidgetElement it will wrap element back. - // - // @param {CKEDITOR.dom.element} container - function cleanUpAllWidgetElements( widgetsRepo, container ) { - var wrappers = container.find( '.cke_widget_wrapper' ), - wrapper, element, - i = 0, - l = wrappers.count(); - - for ( ; i < l; ++i ) { - wrapper = wrappers.getItem( i ); - element = wrapper.getFirst( isDomWidgetElement ); - // If wrapper contains widget element - unwrap it and wrap again. - if ( element.type == CKEDITOR.NODE_ELEMENT && element.data( 'widget' ) ) { - element.replace( wrapper ); - widgetsRepo.wrapElement( element ); - } - // Otherwise - something is wrong... clean this up. - else - wrapper.remove(); - } - } - - // Creates {@link CKEDITOR.filter} instance for given widget, editable and rules. - // - // Once filter for widget-editable pair is created it is cached, so the same instance - // will be returned when method is executed again. - // - // @param {String} widgetName - // @param {String} editableName - // @param {CKEDITOR.plugins.widget.nestedEditableDefinition} editableDefinition The nested editable definition. - // @returns {CKEDITOR.filter} Filter instance or `null` if rules are not defined. - // @context CKEDITOR.plugins.widget.repository - function createEditableFilter( widgetName, editableName, editableDefinition ) { - if ( !editableDefinition.allowedContent ) - return null; - - var editables = this._.filters[ widgetName ]; - - if ( !editables ) - this._.filters[ widgetName ] = editables = {}; - - var filter = editables[ editableName ]; - - if ( !filter ) - editables[ editableName ] = filter = new CKEDITOR.filter( editableDefinition.allowedContent ); - - return filter; - } - - // Creates an iterator function which when executed on all - // elements in DOM tree will gather elements that should be wrapped - // and initialized as widgets. - function createUpcastIterator( widgetsRepo ) { - var toBeWrapped = [], - upcasts = widgetsRepo._.upcasts, - upcastCallbacks = widgetsRepo._.upcastCallbacks; - - return { - toBeWrapped: toBeWrapped, - - iterator: function( element ) { - var upcast, upcasted, - data, - i, - upcastsLength, - upcastCallbacksLength; - - // Wrapper found - find widget element, add it to be - // cleaned up (unwrapped) and wrapped and stop iterating in this branch. - if ( 'data-cke-widget-wrapper' in element.attributes ) { - element = element.getFirst( isParserWidgetElement ); - - if ( element ) - toBeWrapped.push( [ element ] ); - - // Do not iterate over descendants. - return false; - } - // Widget element found - add it to be cleaned up (just in case) - // and wrapped and stop iterating in this branch. - else if ( 'data-widget' in element.attributes ) { - toBeWrapped.push( [ element ] ); - - // Do not iterate over descendants. - return false; - } - else if ( ( upcastsLength = upcasts.length ) ) { - // Ignore elements with data-cke-widget-upcasted to avoid multiple upcasts (#11533). - // Do not iterate over descendants. - if ( element.attributes[ 'data-cke-widget-upcasted' ] ) - return false; - - // Check element with upcast callbacks first. - // If any of them return false abort upcasting. - for ( i = 0, upcastCallbacksLength = upcastCallbacks.length; i < upcastCallbacksLength; ++i ) { - if ( upcastCallbacks[ i ]( element ) === false ) - return; - // Return nothing in order to continue iterating over ascendants. - // See http://dev.ckeditor.com/ticket/11186#comment:6 - } - - for ( i = 0; i < upcastsLength; ++i ) { - upcast = upcasts[ i ]; - data = {}; - - if ( ( upcasted = upcast[ 0 ]( element, data ) ) ) { - // If upcast function returned element, upcast this one. - // It can be e.g. a new element wrapping the original one. - if ( upcasted instanceof CKEDITOR.htmlParser.element ) - element = upcasted; - - // Set initial data attr with data from upcast method. - element.attributes[ 'data-cke-widget-data' ] = encodeURIComponent( JSON.stringify( data ) ); - element.attributes[ 'data-cke-widget-upcasted' ] = 1; - - toBeWrapped.push( [ element, upcast[ 1 ] ] ); - - // Do not iterate over descendants. - return false; - } - } - } - } - }; - } - - // Finds a first parent that matches query. - // - // @param {CKEDITOR.dom.element} element - // @param {Function} query - function findParent( element, query ) { - var parent = element; - - while ( ( parent = parent.getParent() ) ) { - if ( query( parent ) ) - return true; - } - return false; - } - - // Gets nested editable if node is its descendant or the editable itself. - // - // @param {CKEDITOR.dom.element} guard Stop ancestor search on this node (usually editor's editable). - // @param {CKEDITOR.dom.node} node Start search from this node. - // @returns {CKEDITOR.dom.element} Element or null. - function getNestedEditable( guard, node ) { - if ( !node || node.equals( guard ) ) - return null; - - if ( isDomNestedEditable( node ) ) - return node; - - return getNestedEditable( guard, node.getParent() ); - } - - function getWrapperAttributes( inlineWidget ) { - return { - // tabindex="-1" means that it can receive focus by code. - tabindex: -1, - contenteditable: 'false', - 'data-cke-widget-wrapper': 1, - 'data-cke-filter': 'off', - // Class cke_widget_new marks widgets which haven't been initialized yet. - 'class': 'cke_widget_wrapper cke_widget_new cke_widget_' + - ( inlineWidget ? 'inline' : 'block' ) - }; - } - - // Inserts element at given index. - // It will check DTD and split ancestor elements up to the first - // that can contain this element. - // - // @param {CKEDITOR.htmlParser.element} parent - // @param {Number} index - // @param {CKEDITOR.htmlParser.element} element - function insertElement( parent, index, element ) { - // Do not split doc fragment... - if ( parent.type == CKEDITOR.NODE_ELEMENT ) { - var parentAllows = CKEDITOR.dtd[ parent.name ]; - // Parent element is known (included in DTD) and cannot contain - // this element. - if ( parentAllows && !parentAllows[ element.name ] ) { - var parent2 = parent.split( index ), - parentParent = parent.parent; - - // Element will now be inserted at right parent's index. - index = parent2.getIndex(); - - // If left part of split is empty - remove it. - if ( !parent.children.length ) { - index -= 1; - parent.remove(); - } - - // If right part of split is empty - remove it. - if ( !parent2.children.length ) - parent2.remove(); - - // Try inserting as grandpas' children. - return insertElement( parentParent, index, element ); - } - } - - // Finally we can add this element. - parent.add( element, index ); - } - - // @param {CKEDITOR.htmlParser.element} - function isParserWidgetElement( element ) { - return element.type == CKEDITOR.NODE_ELEMENT && !!element.attributes[ 'data-widget' ]; - } - - // @param {CKEDITOR.dom.element} - function isDomWidgetElement( element ) { - return element.type == CKEDITOR.NODE_ELEMENT && element.hasAttribute( 'data-widget' ); - } - - // Whether for this definition and element widget should be created in inline or block mode. - function isWidgetInline( widgetDef, elementName ) { - return typeof widgetDef.inline == 'boolean' ? widgetDef.inline : !!CKEDITOR.dtd.$inline[ elementName ]; - } - - // @param {CKEDITOR.htmlParser.element} - function isParserWidgetWrapper( element ) { - return element.type == CKEDITOR.NODE_ELEMENT && element.attributes[ 'data-cke-widget-wrapper' ]; - } - - // @param {CKEDITOR.dom.element} - function isDomWidgetWrapper( element ) { - return element.type == CKEDITOR.NODE_ELEMENT && element.hasAttribute( 'data-cke-widget-wrapper' ); - } - - // @param {CKEDITOR.dom.element} - function isDomNestedEditable( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.hasAttribute( 'data-cke-widget-editable' ); - } - - // @param {CKEDITOR.dom.element} - function isDomTemp( element ) { - return element.hasAttribute( 'data-cke-temp' ); - } - - // @param {CKEDITOR.dom.element} - function isDomDragHandler( element ) { - return element.type == CKEDITOR.NODE_ELEMENT && element.hasAttribute( 'data-cke-widget-drag-handler' ); - } - - // @param {CKEDITOR.dom.element} - function isDomDragHandlerContainer( element ) { - return element.type == CKEDITOR.NODE_ELEMENT && element.hasClass( 'cke_widget_drag_handler_container' ); - } - - function finalizeNativeDrop( editor, sourceWidget, range ) { - // Save the snapshot with the state before moving widget. - // Focus widget, so when we'll undo the DnD, widget will be focused. - sourceWidget.focus(); - editor.fire( 'saveSnapshot' ); - - // Lock snapshot to group all steps of moving widget from the original place to the new one. - editor.fire( 'lockSnapshot', { dontUpdate: true } ); - - range.select(); - - var widgetHtml = sourceWidget.wrapper.getOuterHtml(); - sourceWidget.wrapper.remove(); - editor.widgets.destroy( sourceWidget, true ); - editor.execCommand( 'paste', widgetHtml ); - - editor.fire( 'unlockSnapshot' ); - } - - function getRangeAtDropPosition( editor, dropEvt ) { - var $evt = dropEvt.data.$, - $range, - range = editor.createRange(); - - // Make testing possible. - if ( dropEvt.data.testRange ) - return dropEvt.data.testRange; - - // Webkits. - if ( document.caretRangeFromPoint ) { - $range = editor.document.$.caretRangeFromPoint( $evt.clientX, $evt.clientY ); - range.setStart( CKEDITOR.dom.node( $range.startContainer ), $range.startOffset ); - range.collapse( true ); - } - // FF. - else if ( $evt.rangeParent ) { - range.setStart( CKEDITOR.dom.node( $evt.rangeParent ), $evt.rangeOffset ); - range.collapse( true ); - } - // IEs. - else if ( document.body.createTextRange ) { - $range = editor.document.getBody().$.createTextRange(); - $range.moveToPoint( $evt.clientX, $evt.clientY ); - var id = 'cke-temp-' + ( new Date() ).getTime(); - $range.pasteHTML( '\u200b' ); - - var span = editor.document.getById( id ); - range.moveToPosition( span, CKEDITOR.POSITION_BEFORE_START ); - span.remove(); - } - else - return null; - - return range; - } - - function onEditableKey( widget, keyCode ) { - var focusedEditable = widget.focusedEditable, - range; - - // CTRL+A. - if ( keyCode == CKEDITOR.CTRL + 65 ) { - var bogus = focusedEditable.getBogus(); - - range = widget.editor.createRange(); - range.selectNodeContents( focusedEditable ); - // Exclude bogus if exists. - if ( bogus ) - range.setEndAt( bogus, CKEDITOR.POSITION_BEFORE_START ); - - range.select(); - // Cancel event - block default. - return false; - } - // DEL or BACKSPACE. - else if ( keyCode == 8 || keyCode == 46 ) { - var ranges = widget.editor.getSelection().getRanges(); - - range = ranges[ 0 ]; - - // Block del or backspace if at editable's boundary. - return !( ranges.length == 1 && range.collapsed && - range.checkBoundaryOfElement( focusedEditable, CKEDITOR[ keyCode == 8 ? 'START' : 'END' ] ) ); - } - } - - function setFocusedEditable( widgetsRepo, widget, editableElement, offline ) { - var editor = widgetsRepo.editor; - - editor.fire( 'lockSnapshot' ); - - if ( editableElement ) { - var editableName = editableElement.data( 'cke-widget-editable' ), - editableInstance = widget.editables[ editableName ]; - - widgetsRepo.widgetHoldingFocusedEditable = widget; - widget.focusedEditable = editableInstance; - editableElement.addClass( 'cke_widget_editable_focused' ); - - if ( editableInstance.filter ) - editor.setActiveFilter( editableInstance.filter ); - editor.setActiveEnterMode( editableInstance.enterMode, editableInstance.shiftEnterMode ); - } else { - if ( !offline ) - widget.focusedEditable.removeClass( 'cke_widget_editable_focused' ); - - widget.focusedEditable = null; - widgetsRepo.widgetHoldingFocusedEditable = null; - editor.setActiveFilter( null ); - editor.setActiveEnterMode( null, null ); - } - - editor.fire( 'unlockSnapshot' ); - } - - function setupContextMenu( editor ) { - if ( !editor.contextMenu ) - return; - - editor.contextMenu.addListener( function( element ) { - var widget = editor.widgets.getByElement( element, true ); - - if ( widget ) - return widget.fire( 'contextMenu', {} ); - } ); - } - - // And now we've got two problems - original problem and RegExp. - // Some softeners: - // * FF tends to copy all blocks up to the copybin container. - // * IE tends to copy only the copybin, without its container. - // * We use spans on IE and blockless editors, but divs in other cases. - var pasteReplaceRegex = new RegExp( - '^' + - '(?:<(?:div|span)(?: data-cke-temp="1")?(?: id="cke_copybin")?(?: data-cke-temp="1")?>)?' + - '(?:<(?:div|span)(?: style="[^"]+")?>)?' + - ']*data-cke-copybin-start="1"[^>]*>.?([\\s\\S]+)]*data-cke-copybin-end="1"[^>]*>.?' + - '(?:)?' + - '(?:)?' + - '$' - ); - - function pasteReplaceFn( match, wrapperHtml ) { - // Avoid polluting pasted data with any whitspaces, - // what's going to break check whether only one widget was pasted. - return CKEDITOR.tools.trim( wrapperHtml ); - } - - function setupDragAndDrop( widgetsRepo ) { - var editor = widgetsRepo.editor, - lineutils = CKEDITOR.plugins.lineutils; - - editor.on( 'contentDom', function() { - var editable = editor.editable(), - // #11123 Firefox needs to listen on document, because otherwise event won't be fired. - // #11086 IE8 cannot listen on document. - dropTarget = ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) || editable.isInline() ? editable : editor.document; - - editable.attachListener( dropTarget, 'drop', function( evt ) { - var dataStr = evt.data.$.dataTransfer.getData( 'text' ), - dataObj, - sourceWidget, - range; - - if ( !dataStr ) - return; - - try { - dataObj = JSON.parse( dataStr ); - } catch ( e ) { - // Do nothing - data couldn't be parsed so it's not a CKEditor's data. - return; - } - - if ( dataObj.type != 'cke-widget' ) - return; - - evt.data.preventDefault(); - - // Something went wrong... maybe someone is dragging widgets between editors/windows/tabs/browsers/frames. - if ( dataObj.editor != editor.name || !( sourceWidget = widgetsRepo.instances[ dataObj.id ] ) ) - return; - - // Try to determine a DOM position at which drop happened. If none of methods - // which we support succeeded abort. - range = getRangeAtDropPosition( editor, evt ); - if ( !range ) - return; - - // #11132 Hack to prevent cursor loss on Firefox. Without timeout widget is - // correctly pasted but then cursor is invisible (although it works) and can be restored - // only by blurring editable. - if ( CKEDITOR.env.gecko ) - setTimeout( finalizeNativeDrop, 0, editor, sourceWidget, range ); - else - finalizeNativeDrop( editor, sourceWidget, range ); - } ); - - // Register Lineutils's utilities as properties of repo. - CKEDITOR.tools.extend( widgetsRepo, { - finder: new lineutils.finder( editor, { - lookups: { - // Element is block but not list item and not in nested editable. - 'default': function( el ) { - if ( el.is( CKEDITOR.dtd.$listItem ) ) - return; - - if ( !el.is( CKEDITOR.dtd.$block ) ) - return; - - while ( el ) { - if ( isDomNestedEditable( el ) ) - return; - - el = el.getParent(); - } - - return CKEDITOR.LINEUTILS_BEFORE | CKEDITOR.LINEUTILS_AFTER; - } - } - } ), - locator: new lineutils.locator( editor ), - liner: new lineutils.liner( editor, { - lineStyle: { - cursor: 'move !important', - 'border-top-color': '#666' - }, - tipLeftStyle: { - 'border-left-color': '#666' - }, - tipRightStyle: { - 'border-right-color': '#666' - } - } ) - }, true ); - } ); - } - - // Setup mouse observer which will trigger: - // * widget focus on widget click, - // * widget#doubleclick forwarded from editor#doubleclick. - function setupMouseObserver( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'contentDom', function() { - var editable = editor.editable(), - evtRoot = editable.isInline() ? editable : editor.document, - widget, - mouseDownOnDragHandler; - - editable.attachListener( evtRoot, 'mousedown', function( evt ) { - var target = evt.data.getTarget(); - - // #10887 Clicking scrollbar in IE8 will invoke event with empty target object. - if ( !target.type ) - return false; - - widget = widgetsRepo.getByElement( target ); - mouseDownOnDragHandler = 0; // Reset. - - // Widget was clicked, but not editable nested in it. - if ( widget ) { - // Ignore mousedown on drag and drop handler if the widget is inline. - // Block widgets are handled by Lineutils. - if ( widget.inline && target.type == CKEDITOR.NODE_ELEMENT && target.hasAttribute( 'data-cke-widget-drag-handler' ) ) { - mouseDownOnDragHandler = 1; - return; - } - - if ( !getNestedEditable( widget.wrapper, target ) ) { - evt.data.preventDefault(); - if ( !CKEDITOR.env.ie ) - widget.focus(); - } - // Reset widget so mouseup listener is not confused. - else - widget = null; - } - } ); - - // Focus widget on mouseup if mousedown was fired on drag handler. - // Note: mouseup won't be fired at all if widget was dragged and dropped, so - // this code will be executed only when drag handler was clicked. - editable.attachListener( evtRoot, 'mouseup', function() { - if ( widget && mouseDownOnDragHandler ) { - mouseDownOnDragHandler = 0; - widget.focus(); - } - } ); - - // On IE it is not enough to block mousedown. If widget wrapper (element with - // contenteditable=false attribute) is clicked directly (it is a target), - // then after mouseup/click IE will select that element. - // It is not possible to prevent that default action, - // so we force fake selection after everything happened. - if ( CKEDITOR.env.ie ) { - editable.attachListener( evtRoot, 'mouseup', function( evt ) { - if ( widget ) { - setTimeout( function() { - widget.focus(); - widget = null; - } ); - } - } ); - } - } ); - - editor.on( 'doubleclick', function( evt ) { - var widget = widgetsRepo.getByElement( evt.data.element ); - - // Not in widget or in nested editable. - if ( !widget || getNestedEditable( widget.wrapper, evt.data.element ) ) - return; - - return widget.fire( 'doubleclick', { element: evt.data.element } ); - }, null, null, 1 ); - } - - // Setup editor#key observer which will forward it - // to focused widget. - function setupKeyboardObserver( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'key', function( evt ) { - var focused = widgetsRepo.focused, - widgetHoldingFocusedEditable = widgetsRepo.widgetHoldingFocusedEditable, - ret; - - if ( focused ) - ret = focused.fire( 'key', { keyCode: evt.data.keyCode } ); - else if ( widgetHoldingFocusedEditable ) - ret = onEditableKey( widgetHoldingFocusedEditable, evt.data.keyCode ); - - return ret; - }, null, null, 1 ); - } - - // Setup copybin on native copy and cut events in order to handle copy and cut commands - // if user accepted security alert on IEs. - // Note: when copying or cutting using keystroke, copySingleWidget will be first executed - // by the keydown listener. Conflict between two calls will be resolved by copy_bin existence check. - function setupNativeCutAndCopy( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'contentDom', function() { - var editable = editor.editable(); - - editable.attachListener( editable, 'copy', eventListener ); - editable.attachListener( editable, 'cut', eventListener ); - } ); - - function eventListener( evt ) { - if ( widgetsRepo.focused ) - copySingleWidget( widgetsRepo.focused, evt.name == 'cut' ); - } - } - - // Setup selection observer which will trigger: - // * widget select & focus on selection change, - // * nested editable focus (related properites and classes) on selection change, - // * deselecting and blurring all widgets on data, - // * blurring widget on editor blur. - function setupSelectionObserver( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'selectionCheck', function() { - widgetsRepo.fire( 'checkSelection' ); - } ); - - widgetsRepo.on( 'checkSelection', widgetsRepo.checkSelection, widgetsRepo ); - - editor.on( 'selectionChange', function( evt ) { - var nestedEditable = getNestedEditable( editor.editable(), evt.data.selection.getStartElement() ), - newWidget = nestedEditable && widgetsRepo.getByElement( nestedEditable ), - oldWidget = widgetsRepo.widgetHoldingFocusedEditable; - - if ( oldWidget ) { - if ( oldWidget !== newWidget || !oldWidget.focusedEditable.equals( nestedEditable ) ) { - setFocusedEditable( widgetsRepo, oldWidget, null ); - - if ( newWidget && nestedEditable ) - setFocusedEditable( widgetsRepo, newWidget, nestedEditable ); - } - } - // It may happen that there's no widget even if editable was found - - // e.g. if selection was automatically set in editable although widget wasn't initialized yet. - else if ( newWidget && nestedEditable ) - setFocusedEditable( widgetsRepo, newWidget, nestedEditable ); - } ); - - // Invalidate old widgets early - immediately on dataReady. - editor.on( 'dataReady', function( evt ) { - // Deselect and blur all widgets. - stateUpdater( widgetsRepo ).commit(); - } ); - - editor.on( 'blur', function() { - var widget; - - if ( ( widget = widgetsRepo.focused ) ) - blurWidget( widgetsRepo, widget ); - - if ( ( widget = widgetsRepo.widgetHoldingFocusedEditable ) ) - setFocusedEditable( widgetsRepo, widget, null ); - } ); - } - - // Set up actions like: - // * processing in toHtml/toDataFormat, - // * pasting handling, - // * insertion handling, - // * editable reload handling (setData, mode switch, undo/redo), - // * DOM invalidation handling, - // * widgets checks. - function setupWidgetsLifecycle( widgetsRepo ) { - setupWidgetsLifecycleStart( widgetsRepo ); - setupWidgetsLifecycleEnd( widgetsRepo ); - - widgetsRepo.on( 'checkWidgets', checkWidgets ); - widgetsRepo.editor.on( 'contentDomInvalidated', widgetsRepo.checkWidgets, widgetsRepo ); - } - - function setupWidgetsLifecycleEnd( widgetsRepo ) { - var editor = widgetsRepo.editor, - downcastingSessions = {}, - nestedEditableScope = false; - - // Listen before htmlDP#htmlFilter is applied to cache all widgets, because we'll - // loose data-cke-* attributes. - editor.on( 'toDataFormat', function( evt ) { - // To avoid conflicts between htmlDP#toDF calls done at the same time - // (e.g. nestedEditable#getData called during downcasting some widget) - // mark every toDataFormat event chain with the downcasting session id. - var id = CKEDITOR.tools.getNextNumber(), - toBeDowncasted = []; - evt.data.downcastingSessionId = id; - downcastingSessions[ id ] = toBeDowncasted; - - evt.data.dataValue.forEach( function( element ) { - var attrs = element.attributes, - widget, widgetElement; - - // Wrapper. - // Perform first part of downcasting (cleanup) and cache widgets, - // because after applying DP's filter all data-cke-* attributes will be gone. - if ( 'data-cke-widget-id' in attrs ) { - widget = widgetsRepo.instances[ attrs[ 'data-cke-widget-id' ] ]; - if ( widget ) { - widgetElement = element.getFirst( isParserWidgetElement ); - toBeDowncasted.push( { - wrapper: element, - element: widgetElement, - widget: widget, - editables: {} - } ); - - // If widget did not have data-cke-widget attribute before upcasting remove it. - if ( widgetElement.attributes[ 'data-cke-widget-keep-attr' ] != '1' ) - delete widgetElement.attributes[ 'data-widget' ]; - } - } - // Nested editable. - else if ( 'data-cke-widget-editable' in attrs ) { - // Save the reference to this nested editable in the closest widget to be downcasted. - // Nested editables are downcasted in the successive toDataFormat to create an opportunity - // for dataFilter's "excludeNestedEditable" option to do its job (that option relies on - // contenteditable="true" attribute) (#11372). - toBeDowncasted[ toBeDowncasted.length - 1 ].editables[ attrs[ 'data-cke-widget-editable' ] ] = element; - - // Don't check children - there won't be next wrapper or nested editable which we - // should process in this session. - return false; - } - }, CKEDITOR.NODE_ELEMENT, true ); - }, null, null, 8 ); - - // Listen after dataProcessor.htmlFilter and ACF were applied - // so wrappers securing widgets' contents are removed after all filtering was done. - editor.on( 'toDataFormat', function( evt ) { - // Ignore some unmarked sessions. - if ( !evt.data.downcastingSessionId ) - return; - - var toBeDowncasted = downcastingSessions[ evt.data.downcastingSessionId ], - toBe, widget, widgetElement, retElement, editableElement, e; - - while ( ( toBe = toBeDowncasted.shift() ) ) { - widget = toBe.widget; - widgetElement = toBe.element; - retElement = widget._.downcastFn && widget._.downcastFn.call( widget, widgetElement ); - - // Replace nested editables' content with their output data. - for ( e in toBe.editables ) { - editableElement = toBe.editables[ e ]; - - delete editableElement.attributes[ 'contenteditable' ]; - editableElement.setHtml( widget.editables[ e ].getData() ); - } - - // Returned element always defaults to widgetElement. - if ( !retElement ) - retElement = widgetElement; - - toBe.wrapper.replaceWith( retElement ); - } - }, null, null, 13 ); - - - editor.on( 'contentDomUnload', function() { - widgetsRepo.destroyAll( true ); - } ); - } - - function setupWidgetsLifecycleStart( widgetsRepo ) { - var editor = widgetsRepo.editor, - processedWidgetOnly, - snapshotLoaded; - - // Listen after ACF (so data are filtered), - // but before dataProcessor.dataFilter was applied (so we can secure widgets' internals). - editor.on( 'toHtml', function( evt ) { - var upcastIterator = createUpcastIterator( widgetsRepo ), - toBeWrapped; - - evt.data.dataValue.forEach( upcastIterator.iterator, CKEDITOR.NODE_ELEMENT, true ); - - // Clean up and wrap all queued elements. - while ( ( toBeWrapped = upcastIterator.toBeWrapped.pop() ) ) { - cleanUpWidgetElement( toBeWrapped[ 0 ] ); - widgetsRepo.wrapElement( toBeWrapped[ 0 ], toBeWrapped[ 1 ] ); - } - - // Used to determine whether only widget was pasted. - processedWidgetOnly = evt.data.dataValue.children.length == 1 && - isParserWidgetWrapper( evt.data.dataValue.children[ 0 ] ); - }, null, null, 8 ); - - editor.on( 'dataReady', function() { - // Clean up all widgets loaded from snapshot. - if ( snapshotLoaded ) - cleanUpAllWidgetElements( widgetsRepo, editor.editable() ); - snapshotLoaded = 0; - - // Some widgets were destroyed on contentDomUnload, - // some on loadSnapshot, but that does not include - // e.g. setHtml on inline editor or widgets removed just - // before setting data. - widgetsRepo.destroyAll( true ); - widgetsRepo.initOnAll(); - } ); - - // Set flag so dataReady will know that additional - // cleanup is needed, because snapshot containing widgets was loaded. - editor.on( 'loadSnapshot', function( evt ) { - // Primitive but sufficient check which will prevent from executing - // heavier cleanUpAllWidgetElements if not needed. - if ( ( /data-cke-widget/ ).test( evt.data ) ) - snapshotLoaded = 1; - - widgetsRepo.destroyAll( true ); - }, null, null, 9 ); - - // Handle pasted single widget. - editor.on( 'paste', function( evt ) { - evt.data.dataValue = evt.data.dataValue.replace( pasteReplaceRegex, pasteReplaceFn ); - } ); - - // Listen with high priority to check widgets after data was inserted. - editor.on( 'insertText', checkNewWidgets, null, null, 999 ); - editor.on( 'insertHtml', checkNewWidgets, null, null, 999 ); - - function checkNewWidgets() { - editor.fire( 'lockSnapshot' ); - - // Init only new for performance reason. - // Focus inited if only widget was processed. - widgetsRepo.checkWidgets( { initOnlyNew: true, focusInited: processedWidgetOnly } ); - - editor.fire( 'unlockSnapshot' ); - } - } - - // Helper for coordinating which widgets should be - // selected/deselected and which one should be focused/blurred. - function stateUpdater( widgetsRepo ) { - var currentlySelected = widgetsRepo.selected, - toBeSelected = [], - toBeDeselected = currentlySelected.slice( 0 ), - focused = null; - - return { - select: function( widget ) { - if ( CKEDITOR.tools.indexOf( currentlySelected, widget ) < 0 ) - toBeSelected.push( widget ); - - var index = CKEDITOR.tools.indexOf( toBeDeselected, widget ); - if ( index >= 0 ) - toBeDeselected.splice( index, 1 ); - - return this; - }, - - focus: function( widget ) { - focused = widget; - return this; - }, - - commit: function() { - var focusedChanged = widgetsRepo.focused !== focused, - widget, isDirty; - - widgetsRepo.editor.fire( 'lockSnapshot' ); - - if ( focusedChanged && ( widget = widgetsRepo.focused ) ) - blurWidget( widgetsRepo, widget ); - - while ( ( widget = toBeDeselected.pop() ) ) { - currentlySelected.splice( CKEDITOR.tools.indexOf( currentlySelected, widget ), 1 ); - // Widget could be destroyed in the meantime - e.g. data could be set. - if ( widget.isInited() ) { - isDirty = widget.editor.checkDirty(); - - widget.setSelected( false ); - - !isDirty && widget.editor.resetDirty(); - } - } - - if ( focusedChanged && focused ) { - isDirty = widgetsRepo.editor.checkDirty(); - - widgetsRepo.focused = focused; - widgetsRepo.fire( 'widgetFocused', { widget: focused } ); - focused.setFocused( true ); - - !isDirty && widgetsRepo.editor.resetDirty(); - } - - while ( ( widget = toBeSelected.pop() ) ) { - currentlySelected.push( widget ); - widget.setSelected( true ); - } - - widgetsRepo.editor.fire( 'unlockSnapshot' ); - } - }; - } - - - // - // WIDGET helpers --------------------------------------------------------- - // - - // LEFT, RIGHT, UP, DOWN, DEL, BACKSPACE - unblock default fake sel handlers. - var keystrokesNotBlockedByWidget = { 37: 1, 38: 1, 39: 1, 40: 1, 8: 1, 46: 1 }; - - // Applies or removes style's classes from widget. - // @param {CKEDITOR.style} style Custom widget style. - // @param {Boolean} apply Whether to apply or remove style. - function applyRemoveStyle( widget, style, apply ) { - var changed = 0, - classes = getStyleClasses( style ), - updatedClasses = widget.data.classes || {}, - cl; - - // Ee... Something is wrong with this style. - if ( !classes ) - return; - - // Clone, because we need to break reference. - updatedClasses = CKEDITOR.tools.clone( updatedClasses ); - - while ( ( cl = classes.pop() ) ) { - if ( apply ) { - if ( !updatedClasses[ cl ] ) - changed = updatedClasses[ cl ] = 1; - } else { - if ( updatedClasses[ cl ] ) { - delete updatedClasses[ cl ]; - changed = 1; - } - } - } - if ( changed ) - widget.setData( 'classes', updatedClasses ); - } - - function cancel( evt ) { - evt.cancel(); - } - - function copySingleWidget( widget, isCut ) { - var editor = widget.editor, - doc = editor.document; - - // We're still handling previous copy/cut. - // When keystroke is used to copy/cut this will also prevent - // conflict with copySingleWidget called again for native copy/cut event. - if ( doc.getById( 'cke_copybin' ) ) - return; - - // [IE] Use span for copybin and its container to avoid bug with expanding editable height by - // absolutely positioned element. - var copybinName = ( editor.blockless || CKEDITOR.env.ie ) ? 'span' : 'div', - copybin = doc.createElement( copybinName ), - copybinContainer = doc.createElement( copybinName ), - // IE8 always jumps to the end of document. - needsScrollHack = CKEDITOR.env.ie && CKEDITOR.env.version < 9; - - copybinContainer.setAttributes( { - id: 'cke_copybin', - 'data-cke-temp': '1' - } ); - - // Position copybin element outside current viewport. - copybin.setStyles( { - position: 'absolute', - width: '1px', - height: '1px', - overflow: 'hidden' - } ); - - copybin.setStyle( editor.config.contentsLangDirection == 'ltr' ? 'left' : 'right', '-5000px' ); - - copybin.setHtml( '\u200b' + widget.wrapper.getOuterHtml() + '\u200b' ); - - // Save snapshot with the current state. - editor.fire( 'saveSnapshot' ); - - // Ignore copybin. - editor.fire( 'lockSnapshot' ); - - copybinContainer.append( copybin ); - editor.editable().append( copybinContainer ); - - var listener1 = editor.on( 'selectionChange', cancel, null, null, 0 ), - listener2 = widget.repository.on( 'checkSelection', cancel, null, null, 0 ); - - if ( needsScrollHack ) { - var docElement = doc.getDocumentElement().$, - scrollTop = docElement.scrollTop; - } - - // Once the clone of the widget is inside of copybin, select - // the entire contents. This selection will be copied by the - // native browser's clipboard system. - var range = editor.createRange(); - range.selectNodeContents( copybin ); - range.select(); - - if ( needsScrollHack ) - docElement.scrollTop = scrollTop; - - setTimeout( function() { - // [IE] Focus widget before removing copybin to avoid scroll jump. - if ( !isCut ) - widget.focus(); - - copybinContainer.remove(); - - listener1.removeListener(); - listener2.removeListener(); - - editor.fire( 'unlockSnapshot' ); - - if ( isCut ) { - widget.repository.del( widget ); - editor.fire( 'saveSnapshot' ); - } - }, 100 ); // Use 100ms, so Chrome (@Mac) will be able to grab the content. - } - - // Extracts classes array from style instance. - function getStyleClasses( style ) { - var attrs = style.getDefinition().attributes, - classes = attrs && attrs[ 'class' ]; - - return classes ? classes.split( /\s+/ ) : null; - } - - // [IE] Force keeping focus because IE sometimes forgets to fire focus on main editable - // when blurring nested editable. - // @context widget - function onEditableBlur() { - var active = CKEDITOR.document.getActive(), - editor = this.editor, - editable = editor.editable(); - - // If focus stays within editor override blur and set currentActive because it should be - // automatically changed to editable on editable#focus but it is not fired. - if ( ( editable.isInline() ? editable : editor.document.getWindow().getFrame() ).equals( active ) ) - editor.focusManager.focus( editable ); - } - - // Force selectionChange when editable was focused. - // Similar to hack in selection.js#~620. - // @context widget - function onEditableFocus() { - // Gecko does not support 'DOMFocusIn' event on which we unlock selection - // in selection.js to prevent selection locking when entering nested editables. - if ( CKEDITOR.env.gecko ) - this.editor.unlockSelection(); - - // We don't need to force selectionCheck on Webkit, because on Webkit - // we do that on DOMFocusIn in selection.js. - if ( !CKEDITOR.env.webkit ) { - this.editor.forceNextSelectionCheck(); - this.editor.selectionChange( 1 ); - } - } - - // Setup listener on widget#data which will update (remove/add) classes - // by comparing newly set classes with the old ones. - function setupDataClassesListener( widget ) { - // Note: previousClasses and newClasses may be null! - // Tip: for ( cl in null ) is correct. - var previousClasses = null; - - widget.on( 'data', function() { - var newClasses = this.data.classes, - cl; - - // When setting new classes one need to remember - // that he must break reference. - if ( previousClasses == newClasses ) - return; - - for ( cl in previousClasses ) { - // Avoid removing and adding classes again. - if ( !( newClasses && newClasses[ cl ] ) ) - this.removeClass( cl ); - } - for ( cl in newClasses ) - this.addClass( cl ); - - previousClasses = newClasses; - } ); - } - - function setupDragHandler( widget ) { - if ( !widget.draggable ) - return; - - var editor = widget.editor, - // Use getLast to find wrapper's direct descendant (#12022). - container = widget.wrapper.getLast( isDomDragHandlerContainer ), - img; - - // Reuse drag handler if already exists (#11281). - if ( container ) - img = container.findOne( 'img' ); - else { - container = new CKEDITOR.dom.element( 'span', editor.document ); - container.setAttributes( { - 'class': 'cke_reset cke_widget_drag_handler_container', - // Split background and background-image for IE8 which will break on rgba(). - style: 'background:rgba(220,220,220,0.5);background-image:url(' + editor.plugins.widget.path + 'images/handle.png)' - } ); - - img = new CKEDITOR.dom.element( 'img', editor.document ); - img.setAttributes( { - 'class': 'cke_reset cke_widget_drag_handler', - 'data-cke-widget-drag-handler': '1', - src: CKEDITOR.tools.transparentImageData, - width: DRAG_HANDLER_SIZE, - title: editor.lang.widget.move, - height: DRAG_HANDLER_SIZE - } ); - widget.inline && img.setAttribute( 'draggable', 'true' ); - - container.append( img ); - widget.wrapper.append( container ); - } - - widget.wrapper.on( 'mouseenter', widget.updateDragHandlerPosition, widget ); - setTimeout( function() { - widget.on( 'data', widget.updateDragHandlerPosition, widget ); - }, 50 ); - - if ( widget.inline ) { - img.on( 'dragstart', function( evt ) { - evt.data.$.dataTransfer.setData( 'text', JSON.stringify( { type: 'cke-widget', editor: editor.name, id: widget.id } ) ); - } ); - } else - img.on( 'mousedown', onBlockWidgetDrag, widget ); - - widget.dragHandlerContainer = container; - } - - function onBlockWidgetDrag() { - var finder = this.repository.finder, - locator = this.repository.locator, - liner = this.repository.liner, - editor = this.editor, - editable = editor.editable(), - listeners = [], - sorted = [], - - // Harvest all possible relations and display some closest. - relations = finder.greedySearch(), - - buffer = CKEDITOR.tools.eventsBuffer( 50, function() { - locations = locator.locate( relations ); - - // There's only a single line displayed for D&D. - sorted = locator.sort( y, 1 ); - - if ( sorted.length ) { - liner.prepare( relations, locations ); - liner.placeLine( sorted[ 0 ] ); - liner.cleanup(); - } - } ), - - locations, y; - - // Let's have the "dragging cursor" over entire editable. - editable.addClass( 'cke_widget_dragging' ); - - // Cache mouse position so it is re-used in events buffer. - listeners.push( editable.on( 'mousemove', function( evt ) { - y = evt.data.$.clientY; - buffer.input(); - } ) ); - - function onMouseUp() { - var l; - - buffer.reset(); - - // Stop observing events. - while ( ( l = listeners.pop() ) ) - l.removeListener(); - - onBlockWidgetDrop.call( this, sorted ); - } - - // Mouseup means "drop". This is when the widget is being detached - // from DOM and placed at range determined by the line (location). - listeners.push( editor.document.once( 'mouseup', onMouseUp, this ) ); - - // Mouseup may occur when user hovers the line, which belongs to - // the outer document. This is, of course, a valid listener too. - listeners.push( CKEDITOR.document.once( 'mouseup', onMouseUp, this ) ); - } - - function onBlockWidgetDrop( sorted ) { - var finder = this.repository.finder, - liner = this.repository.liner, - editor = this.editor, - editable = this.editor.editable(); - - if ( !CKEDITOR.tools.isEmpty( liner.visible ) ) { - // Retrieve range for the closest location. - var range = finder.getRange( sorted[ 0 ] ); - - // Focus widget (it could lost focus after mousedown+mouseup) - // and save this state as the one where we want to be taken back when undoing. - this.focus(); - editor.fire( 'saveSnapshot' ); - // Group all following operations in one snapshot. - editor.fire( 'lockSnapshot', { dontUpdate: 1 } ); - - // Reset the fake selection, which will be invalidated by insertElementIntoRange. - // This avoids a situation when getSelection() still returns a fake selection made - // on widget which in the meantime has been moved to other place. That could cause - // an error thrown e.g. by saveSnapshot or stateUpdater. - editor.getSelection().reset(); - - // Attach widget at the place determined by range. - editable.insertElementIntoRange( this.wrapper, range ); - - // Focus again the dropped widget. - this.focus(); - - // Unlock snapshot and save new one, which will contain all changes done - // in this method. - editor.fire( 'unlockSnapshot' ); - editor.fire( 'saveSnapshot' ); - } - - // Clean-up custom cursor for editable. - editable.removeClass( 'cke_widget_dragging' ); - - // Clean-up all remaining lines. - liner.hideVisible(); - } - - function setupEditables( widget ) { - var editableName, - editableDef, - definedEditables = widget.editables; - - widget.editables = {}; - - if ( !widget.editables ) - return; - - for ( editableName in definedEditables ) { - editableDef = definedEditables[ editableName ]; - widget.initEditable( editableName, typeof editableDef == 'string' ? { selector: editableDef } : editableDef ); - } - } - - function setupMask( widget ) { - if ( !widget.mask ) - return; - - // Reuse mask if already exists (#11281). - var img = widget.wrapper.findOne( '.cke_widget_mask' ); - - if ( !img ) { - img = new CKEDITOR.dom.element( 'img', widget.editor.document ); - img.setAttributes( { - src: CKEDITOR.tools.transparentImageData, - 'class': 'cke_reset cke_widget_mask' - } ); - widget.wrapper.append( img ); - } - - widget.mask = img; - } - - // Replace parts object containing: - // partName => selector pairs - // with: - // partName => element pairs - function setupParts( widget ) { - if ( widget.parts ) { - var parts = {}, - el, partName; - - for ( partName in widget.parts ) { - el = widget.wrapper.findOne( widget.parts[ partName ] ); - parts[ partName ] = el; - } - widget.parts = parts; - } - } - - function setupWidget( widget, widgetDef ) { - setupWrapper( widget ); - setupParts( widget ); - setupEditables( widget ); - setupMask( widget ); - setupDragHandler( widget ); - setupDataClassesListener( widget ); - - // #11145: [IE8] Non-editable content of widget is draggable. - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) { - widget.wrapper.on( 'dragstart', function( evt ) { - var target = evt.data.getTarget(); - - // Allow text dragging inside nested editables or dragging inline widget's drag handler. - if ( !getNestedEditable( widget, target ) && !( widget.inline && isDomDragHandler( target ) ) ) - evt.data.preventDefault(); - } ); - } - - widget.wrapper.removeClass( 'cke_widget_new' ); - widget.element.addClass( 'cke_widget_element' ); - - widget.on( 'key', function( evt ) { - var keyCode = evt.data.keyCode; - - // ENTER. - if ( keyCode == 13 ) - widget.edit(); - // CTRL+C or CTRL+X. - else if ( keyCode == CKEDITOR.CTRL + 67 || keyCode == CKEDITOR.CTRL + 88 ) { - copySingleWidget( widget, keyCode == CKEDITOR.CTRL + 88 ); - return; // Do not preventDefault. - } - // Pass chosen keystrokes to other plugins or default fake sel handlers. - // Pass all CTRL/ALT keystrokes. - else if ( keyCode in keystrokesNotBlockedByWidget || ( CKEDITOR.CTRL & keyCode ) || ( CKEDITOR.ALT & keyCode ) ) - return; - - return false; - }, null, null, 999 ); - // Listen with high priority so it's possible - // to overwrite this callback. - - widget.on( 'doubleclick', function( evt ) { - if ( widget.edit() ) { - // We have to cancel event if edit method opens a dialog, otherwise - // link plugin may open extra dialog (#12140). - evt.cancel(); - } - } ); - - if ( widgetDef.data ) - widget.on( 'data', widgetDef.data ); - - if ( widgetDef.edit ) - widget.on( 'edit', widgetDef.edit ); - } - - function setupWidgetData( widget, startupData ) { - var widgetDataAttr = widget.element.data( 'cke-widget-data' ); - - if ( widgetDataAttr ) - widget.setData( JSON.parse( decodeURIComponent( widgetDataAttr ) ) ); - if ( startupData ) - widget.setData( startupData ); - - // Populate classes if they are not preset. - if ( !widget.data.classes ) - widget.setData( 'classes', widget.getClasses() ); - - // Unblock data and... - widget.dataReady = true; - - // Write data to element because this was blocked when data wasn't ready. - writeDataToElement( widget ); - - // Fire data event first time, because this was blocked when data wasn't ready. - widget.fire( 'data', widget.data ); - } - - function setupWrapper( widget ) { - // Retrieve widget wrapper. Assign an id to it. - var wrapper = widget.wrapper = widget.element.getParent(); - wrapper.setAttribute( 'data-cke-widget-id', widget.id ); - } - - function writeDataToElement( widget ) { - widget.element.data( 'cke-widget-data', encodeURIComponent( JSON.stringify( widget.data ) ) ); - } - - // - // WIDGET STYLE HANDLER --------------------------------------------------- - // - - ( function() { - - /** - * The class representing a widget style. It is an {@link CKEDITOR#STYLE_OBJECT object} like - * the styles handler for widgets. - * - * **Note:** This custom style handler does not support all methods of the {@link CKEDITOR.style} class. - * Not supported methods: {@link #applyToRange}, {@link #removeFromRange}, {@link #applyToObject}. - * - * @since 4.4 - * @class CKEDITOR.style.customHandlers.widget - * @extends CKEDITOR.style - */ - CKEDITOR.style.addCustomHandler( { - type: 'widget', - - setup: function( styleDefinition ) { - /** - * The name of widget to which this style can be applied. - * It is extracted from style definition's `widget` property. - * - * @property {String} widget - */ - this.widget = styleDefinition.widget; - }, - - apply: function( editor ) { - // Before CKEditor 4.4 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) - return; - - // Theoretically we could bypass checkApplicable, get widget from - // widgets.focused and check its name, what would be faster, but then - // this custom style would work differently than the default style - // which checks if it's applicable before applying or removeing itself. - if ( this.checkApplicable( editor.elementPath(), editor ) ) - editor.widgets.focused.applyStyle( this ); - }, - - remove: function( editor ) { - // Before CKEditor 4.4 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) - return; - - if ( this.checkApplicable( editor.elementPath(), editor ) ) - editor.widgets.focused.removeStyle( this ); - }, - - checkActive: function( elementPath, editor ) { - return this.checkElementMatch( elementPath.lastElement, 0, editor ); - }, - - checkApplicable: function( elementPath, editor, filter ) { - // Before CKEditor 4.4 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) - return false; - - return this.checkElement( elementPath.lastElement, editor ); - }, - - checkElementMatch: checkElementMatch, - - checkElementRemovable: checkElementMatch, - - /** - * Checks if an element is a {@link CKEDITOR.plugins.widget#wrapper wrapper} of a - * widget whose name matches the {@link #widget widget name} specified in the style definition. - * - * @param {CKEDITOR.dom.element} element - * @param {CKEDITOR.editor} editor - * @returns {Boolean} - */ - checkElement: function( element, editor ) { - if ( !isDomWidgetWrapper( element ) ) - return false; - - var widgetElement = element.getFirst( isDomWidgetElement ); - return widgetElement && widgetElement.data( 'widget' ) == this.widget; - }, - - buildPreview: function( label ) { - return label || this._.definition.name; - }, - - /** - * Returns allowed content rules which should be registered for this style. - * Uses widget's {@link CKEDITOR.plugins.widget.definition#styleableElements} to make a rule - * allowing classes on specified elements or use widget's - * {@link CKEDITOR.plugins.widget.definition#styleToAllowedContentRules} method to transform a style - * into allowed content rules. - * - * @param {CKEDITOR.editor} The editor instance. - * @returns {CKEDITOR.filter.allowedContentRules} - */ - toAllowedContentRules: function( editor ) { - if ( !editor ) - return null; - - var widgetDef = editor.widgets.registered[ this.widget ], - classes, - rule = {}; - - if ( !widgetDef ) - return null; - - if ( widgetDef.styleableElements ) { - classes = this.getClassesArray(); - if ( !classes ) - return null; - - rule[ widgetDef.styleableElements ] = { - classes: classes, - propertiesOnly: true - }; - return rule; - } - if ( widgetDef.styleToAllowedContentRules ) - return widgetDef.styleToAllowedContentRules( this ); - return null; - }, - - /** - * Returns classes defined in the style in form of an array. - * - * @returns {String[]} - */ - getClassesArray: function() { - var classes = this._.definition.attributes && this._.definition.attributes[ 'class' ]; - - return classes ? CKEDITOR.tools.trim( classes ).split( /\s+/ ) : null; - }, - - /** - * Not implemented. - * - * @method applyToRange - */ - applyToRange: notImplemented, - - /** - * Not implemented. - * - * @method removeFromRange - */ - removeFromRange: notImplemented, - - /** - * Not implemented. - * - * @method applyToObject - */ - applyToObject: notImplemented - } ); - - function notImplemented() {} - - // @context style - function checkElementMatch( element, fullMatch, editor ) { - // Before CKEditor 4.4 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !editor ) - return false; - - if ( !this.checkElement( element, editor ) ) - return false; - - var widget = editor.widgets.getByElement( element, true ); - return widget && widget.checkStyleActive( this ); - } - - } )(); - - // - // EXPOSE PUBLIC API ------------------------------------------------------ - // - - CKEDITOR.plugins.widget = Widget; - Widget.repository = Repository; - Widget.nestedEditable = NestedEditable; -} )(); - -/** - * An event fired when a widget definition is registered by the {@link CKEDITOR.plugins.widget.repository#add} method. - * It is possible to modify the definition being registered. - * - * @event widgetDefinition - * @member CKEDITOR.editor - * @param {CKEDITOR.plugins.widget.definition} data Widget definition. - */ - -/** - * This is an abstract class that describes the definition of a widget. - * It is a type of {@link CKEDITOR.plugins.widget.repository#add} method's second argument. - * - * Widget instances inherit from registered widget definitions, although not in a prototypal way. - * They are simply extended with corresponding widget definitions. Note that not all properties of - * the widget definition become properties of a widget. Some, like {@link #data} or {@link #edit}, become - * widget's events listeners. - * - * @class CKEDITOR.plugins.widget.definition - * @abstract - * @mixins CKEDITOR.feature - */ - -/** - * Widget definition name. It is automatically set when the definition is - * {@link CKEDITOR.plugins.widget.repository#add registered}. - * - * @property {String} name - */ - -/** - * The method executed while initializing a widget, after a widget instance - * is created, but before it is ready. It is executed before the first - * {@link CKEDITOR.plugins.widget#event-data} is fired so it is common to - * use the `init` method to populate widget data with information loaded from - * the DOM, like for exmaple: - * - * init: function() { - * this.setData( 'width', this.element.getStyle( 'width' ) ); - * - * if ( this.parts.caption.getStyle( 'display' ) != 'none' ) - * this.setData( 'showCaption', true ); - * } - * - * @property {Function} init - */ - -/** - * The function to be used to upcast an element to this widget or a - * comma-separated list of upcast methods from the {@link #upcasts} object. - * - * The upcast function **is not** executed in the widget context (because the widget - * does not exist yet) and two arguments are passed: - * - * * `element` ({@link CKEDITOR.htmlParser.element}) – The element to be checked. - * * `data` (`Object`) – The object which can be extended with data which will then be passed to the widget. - * - * An element will be upcasted if a function returned `true` or an instance of - * a {@link CKEDITOR.htmlParser.element} if upcasting meant DOM structure changes - * (in this case the widget will be initialized on the returned element). - * - * @property {String/Function} upcast - */ - -/** - * The object containing functions which can be used to upcast this widget. - * Only those pointed by the {@link #upcast} property will be used. - * - * In most cases it is appropriate to use {@link #upcast} directly, - * because majority of widgets need just one method. - * However, in some cases the widget author may want to expose more than one variant - * and then this property may be used. - * - * upcasts: { - * // This function may upcast only figure elements. - * figure: function() { - * // ... - * }, - * // This function may upcast only image elements. - * image: function() { - * // ... - * }, - * // More variants... - * } - * - * // Then, widget user may choose which upcast methods will be enabled. - * editor.on( 'widgetDefinition', function( evt ) { - * if ( evt.data.name == 'image' ) - * evt.data.upcast = 'figure,image'; // Use both methods. - * } ); - * - * @property {Object} upcasts - */ - -/** - * The function to be used to downcast this widget or - * a name of the downcast option from the {@link #downcasts} object. - * - * The downcast funciton will be executed in the {@link CKEDITOR.plugins.widget} context - * and with `widgetElement` ({@link CKEDITOR.htmlParser.element}) argument which is - * the widget's main element. - * - * The function may return an instance of the {@link CKEDITOR.htmlParser.node} class if the widget - * needs to be downcasted to a different node than the widget's main element. - * - * @property {String/Function} downcast - */ - -/** - * The object containing functions which can be used to downcast this widget. - * Only the one pointed by the {@link #downcast} property will be used. - * - * In most cases it is appropriate to use {@link #downcast} directly, - * because majority of widgets have just one variant of downcasting (or none at all). - * However, in some cases the widget author may want to expose more than one variant - * and then this property may be used. - * - * downcasts: { - * // This downcast may transform the widget into the figure element. - * figure: function() { - * // ... - * }, - * // This downcast may transform the widget into the image element with data-* attributes. - * image: function() { - * // ... - * } - * } - * - * // Then, the widget user may choose one of the downcast options when setting up his editor. - * editor.on( 'widgetDefinition', function( evt ) { - * if ( evt.data.name == 'image' ) - * evt.data.downcast = 'figure'; - * } ); - * - * @property downcasts - */ - -/** - * If set, it will be added as the {@link CKEDITOR.plugins.widget#event-edit} event listener. - * This means that it will be executed when a widget is being edited. - * See the {@link CKEDITOR.plugins.widget#method-edit} method. - * - * @property {Function} edit - */ - -/** - * If set, it will be added as the {@link CKEDITOR.plugins.widget#event-data} event listener. - * This means that it will be executed every time the {@link CKEDITOR.plugins.widget#property-data widget data} changes. - * - * @property {Function} data - */ - -/** - * The method to be executed when the widget's command is executed in order to insert a new widget - * (widget of this type is not focused). If not defined, then the default action will be - * performed which means that: - * - * * An instance of the widget will be created in a detached {@link CKEDITOR.dom.documentFragment document fragment}, - * * The {@link CKEDITOR.plugins.widget#method-edit} method will be called to trigger widget editing, - * * The widget element will be inserted into DOM. - * - * @property {Function} insert - */ - -/** - * The name of a dialog window which will be opened on {@link CKEDITOR.plugins.widget#method-edit}. - * If not defined, then the {@link CKEDITOR.plugins.widget#method-edit} method will not perform any action and - * widget's command will insert a new widget without opening a dialog window first. - * - * @property {String} dialog - */ - -/** - * The template which will be used to create a new widget element (when the widget's command is executed). - * This string is populated with {@link #defaults default values} by using the {@link CKEDITOR.template} format. - * Therefore it has to be a valid {@link CKEDITOR.template} argument. - * - * @property {String} template - */ - -/** - * The data object which will be used to populate the data of a newly created widget. - * See {@link CKEDITOR.plugins.widget#property-data}. - * - * defaults: { - * showCaption: true, - * align: 'none' - * } - * - * @property defaults - */ - -/** - * An object containing definitions of widget components (part name => CSS selector). - * - * parts: { - * image: 'img', - * caption: 'div.caption' - * } - * - * @property parts - */ - -/** - * An object containing definitions of nested editables (editable name => {@link CKEDITOR.plugins.widget.nestedEditable.definition}). - * - * editables: { - * header: 'h1', - * content: { - * selector: 'div.content', - * allowedContent: 'p strong em; a[!href]' - * } - * } - * - * @property editables - */ - -/** - * Widget name displayed in elements path. - * - * @property {String} pathName - */ - -/** - * If set to `true`, the widget's element will be covered with a transparent mask. - * This will prevent its content from being clickable, which matters in case - * of special elements like embedded Flash or iframes that generate a separate "context". - * - * @property {Boolean} mask - */ - -/** - * If set to `true/false`, it will force the widget to be either an inline or a block widget. - * If not set, the widget type will be determined from the widget element. - * - * Widget type influences whether a block (`div`) or an inline (`span`) element is used - * for the wrapper. - * - * @property {Boolean} inline - */ - -/** - * The label for the widget toolbar button. - * - * editor.widgets.add( 'simplebox', { - * button: 'Create a simple box' - * } ); - * - * editor.widgets.add( 'simplebox', { - * button: editor.lang.simplebox.title - * } ); - * - * @property {String} button - */ - -/** - * Whether widget should be draggable. Defaults to `true`. - * If set to `false` drag handler will not be displayed when hovering widget. - * - * @property {Boolean} draggable - */ - -/** - * Names of element(s) (separated by spaces) for which the {@link CKEDITOR.filter} should allow classes - * defined in the widget styles. For example if your widget is upcasted from a simple `
    ` - * element, then in order to make it styleable you can set: - * - * editor.widgets.add( 'customWidget', { - * upcast: function( element ) { - * return element.name == 'div'; - * }, - * - * // ... - * - * styleableElements: 'div' - * } ); - * - * Then, when the following style is defined: - * - * { - * name: 'Thick border', type: 'widget', widget: 'customWidget', - * attributes: { 'class': 'thickBorder' } - * } - * - * a rule allowing the `thickBorder` class for `div` elements will be registered in the {@link CKEDITOR.filter}. - * - * If you need to have more freedom when transforming widget style to allowed content rules, - * you can use the {@link #styleToAllowedContentRules} callback. - * - * @since 4.4 - * @property {String} styleableElements - */ - -/** - * Function transforming custom widget's {@link CKEDITOR.style} instance into - * {@link CKEDITOR.filter.allowedContentRules}. It may be used when a static - * {@link #styleableElements} property is not enough to inform the {@link CKEDITOR.filter} - * what HTML features should be enabled when allowing the given style. - * - * In most cases, when style's classes just have to be added to element name(s) used by - * the widget element, it is recommended to use simpler {@link #styleableElements} property. - * - * In order to get parsed classes from the style definition you can use - * {@link CKEDITOR.style.customHandlers.widget#getClassesArray}. - * - * For example, if you want to use the [object format of allowed content rules](#!/guide/dev_allowed_content_rules-section-object-format), - * to specify `match` validator, your implementation could look like this: - * - * editor.widgets.add( 'customWidget', { - * // ... - * - * styleToAllowedContentRules: funciton( style ) { - * // Retrieve classes defined in the style. - * var classes = style.getClassesArray(); - * - * // Do something crazy - for example return allowed content rules in object format, - * // with custom match property and propertiesOnly flag. - * return { - * h1: { - * match: isWidgetElement, - * propertiesOnly: true, - * classes: classes - * } - * }; - * } - * } ); - * - * @since 4.4 - * @property {Function} styleToAllowedContentRules - * @param {CKEDITOR.style.customHandlers.widget} style The style to be transformed. - * @returns {CKEDITOR.filter.allowedContentRules} - */ - -/** - * This is an abstract class that describes the definition of a widget's nested editable. - * It is a type of values in the {@link CKEDITOR.plugins.widget.definition#editables} object. - * - * In the simplest case the definition is a string which is a CSS selector used to - * find an element that will become a nested editable inside the widget. Note that - * the widget element can be a nested editable, too. - * - * In the more advanced case a definition is an object with a required `selector` property. - * - * editables: { - * header: 'h1', - * content: { - * selector: 'div.content', - * allowedContent: 'p strong em; a[!href]' - * } - * } - * - * @class CKEDITOR.plugins.widget.nestedEditable.definition - * @abstract - */ - -/** - * The CSS selector used to find an element which will become a nested editable. - * - * @property {String} selector - */ - -/** - * The [Advanced Content Filter](#!/guide/dev_advanced_content_filter) rules - * which will be used to limit the content allowed in this nested editable. - * This option is similar to {@link CKEDITOR.config#allowedContent} and one can - * use it to limit the editor features available in the nested editable. - * - * @property {CKEDITOR.filter.allowedContentRules} allowedContent - */ - -/** - * Nested editable name displayed in elements path. - * - * @property {String} pathName - */ diff --git a/scripts/ckeditor/plugins/wsc/LICENSE.md b/scripts/ckeditor/plugins/wsc/LICENSE.md old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/wsc/README.md b/scripts/ckeditor/plugins/wsc/README.md old mode 100755 new mode 100644 diff --git a/scripts/ckeditor/plugins/wsc/dialogs/ciframe.html b/scripts/ckeditor/plugins/wsc/dialogs/ciframe.html old mode 100755 new mode 100644 index 8e0a10df..8e4e6bc9 --- a/scripts/ckeditor/plugins/wsc/dialogs/ciframe.html +++ b/scripts/ckeditor/plugins/wsc/dialogs/ciframe.html @@ -1,6 +1,6 @@ diff --git a/scripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html b/scripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html old mode 100755 new mode 100644 index 61203e03..19c7c9cc --- a/scripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +++ b/scripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html @@ -1,6 +1,6 @@ diff --git a/scripts/ckeditor/plugins/wsc/dialogs/wsc.css b/scripts/ckeditor/plugins/wsc/dialogs/wsc.css old mode 100755 new mode 100644 index da2f1743..2a622f22 --- a/scripts/ckeditor/plugins/wsc/dialogs/wsc.css +++ b/scripts/ckeditor/plugins/wsc/dialogs/wsc.css @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/scripts/ckeditor/plugins/wsc/dialogs/wsc.js b/scripts/ckeditor/plugins/wsc/dialogs/wsc.js old mode 100755 new mode 100644 index 8602c897..d7ef585b --- a/scripts/ckeditor/plugins/wsc/dialogs/wsc.js +++ b/scripts/ckeditor/plugins/wsc/dialogs/wsc.js @@ -1,2494 +1,91 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.html or http://ckeditor.com/license - */ - (function() { - // Create support tools - var appTools = (function(){ - var inited = {}; - - var _init = function(handler) { - if (window.addEventListener) { - window.addEventListener('message', handler, false); - } else { - window.attachEvent("onmessage", handler); - } - }; - - var unbindHandler = function(handler) { - if (window.removeEventListener) { - window.removeEventListener('message', handler, false); - } else { - window.detachEvent('onmessage', handler); - } - }; - - var _sendCmd = function(o) { - var str, - type = Object.prototype.toString, - objObject = "[object Object]", - fn = o.fn || null, - id = o.id || '', - target = o.target || window, - message = o.message || { - 'id': id - }; - - if (o.message && type.call(o.message) == objObject) { - (o.message.id) ? o.message.id : o.message.id = id; - message = o.message; - } - - str = window.JSON.stringify(message, fn); - target.postMessage(str, '*'); - }; - - var _hashCreate = function(o, fn) { - fn = fn || null; - var str = window.JSON.stringify(o, fn); - return str; - }; - - var _hashParse = function(str, fn) { - fn = fn || null; - return window.JSON.parse(str, fn); - }; - - var setCookie = function(name, value, options) { - options = options || {}; - - var expires = options.expires; - - if (typeof expires == "number" && expires) { - var d = new Date(); - d.setTime(d.getTime() + expires*1000); - expires = options.expires = d; - } - if (expires && expires.toUTCString) { - options.expires = expires.toUTCString(); - } - - value = encodeURIComponent(value); - var updatedCookie = name + "=" + value; - - for(var propName in options) { - var propValue = options[propName]; - updatedCookie += "; " + propName; - if (propValue !== true) { - updatedCookie += "=" + propValue; - } - } - document.cookie = updatedCookie; - }; - - var getCookie = function(name) { - var matches = document.cookie.match(new RegExp( - "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" - )); - return matches ? decodeURIComponent(matches[1]) : undefined; - }; - - var deleteCookie = function(name) { - setCookie(name, "", { expires: -1 }); - }; - - var findFocusable = function(ckEl) { - var result = null, - focusableSelectors = 'a[href], area[href], input, select, textarea, button, *[tabindex], *[contenteditable]'; - - if(ckEl) { - result = ckEl.find(focusableSelectors); - } - - return result; - }; - - var getStyle = function(el, prop) { - if(document.defaultView && document.defaultView.getComputedStyle) { - return document.defaultView.getComputedStyle(el, null)[prop]; - } else if(el.currentStyle) { - return el.currentStyle[prop]; - } else { - return el.style[prop]; - } - }; - - var isHidden = function(el) { - return el.offsetWidth === 0 || el.offsetHeight == 0 || getStyle(el, 'display') === 'none'; - }; - - var isVisible = function(el) { - return !isHidden(el); - }; - - var hasClass = function (obj, cname) { - return !!(obj.className ? obj.className.match(new RegExp('(\\s|^)'+cname+'(\\s|$)')) : false); - }; - - return { - postMessage: { - init: _init, - send: _sendCmd, - unbindHandler: unbindHandler - }, - hash: { - create: function() { - - }, - - parse: function() { - - } - }, - cookie: { - set: setCookie, - get: getCookie, - remove: deleteCookie - }, - misc: { - findFocusable: findFocusable, - isVisible: isVisible, - hasClass: hasClass - } - }; - })(); - - var NS = NS || {}; - NS.TextAreaNumber = null; - NS.load = true; - NS.cmd = { - "SpellTab": 'spell', - "Thesaurus": 'thes', - "GrammTab": 'grammar' - }; - NS.dialog = null; - NS.optionNode = null; - NS.selectNode = null; - NS.grammerSuggest = null; - NS.textNode = {}; - NS.iframeMain = null; - NS.dataTemp = ''; - NS.div_overlay = null; - NS.textNodeInfo = {}; - NS.selectNode = {}; - NS.selectNodeResponce = {}; - NS.langList = null; - NS.langSelectbox = null; - NS.banner = ''; - NS.show_grammar = null; - NS.div_overlay_no_check = null; - NS.targetFromFrame = {}; - NS.onLoadOverlay = null; - NS.LocalizationComing = {}; - NS.OverlayPlace = null; - NS.LocalizationButton = { - 'ChangeTo': { - 'instance' : null, - 'text' : 'Change to' - }, - - 'ChangeAll': { - 'instance' : null, - 'text' : 'Change All' - }, - - 'IgnoreWord': { - 'instance' : null, - 'text' : 'Ignore word' - }, - - 'IgnoreAllWords': { - 'instance' : null, - 'text' : 'Ignore all words' - }, - - 'Options': { - 'instance' : null, - 'text' : 'Options', - 'optionsDialog': { - 'instance' : null - } - }, - - 'AddWord': { - 'instance' : null, - 'text' : 'Add word' - }, - - 'FinishChecking': { - 'instance' : null, - 'text' : 'Finish Checking' - } - }; - - NS.LocalizationLabel = { - 'ChangeTo': { - 'instance' : null, - 'text' : 'Change to' - }, - - 'Suggestions': { - 'instance' : null, - 'text' : 'Suggestions' - } - }; - - var SetLocalizationButton = function(obj) { - var el; - - for(var i in obj) { - el = obj[i].instance.getElement().getFirst() || obj[i].instance.getElement(); - - el.setText(NS.LocalizationComing[i]); - } - }; - - var SetLocalizationLabel = function(obj) { - - for(var i in obj) { - if (!obj[i].instance.setLabel) { - return; - } - obj[i].instance.setLabel(NS.LocalizationComing[i]); - } - }; - var OptionsConfirm = function(state) { - if (state) { - nameNode.setValue(''); - } - }; - - var iframeOnload = false; - var nameNode, selectNode, frameId; - - NS.framesetHtml = function(tab) { - var str = ''; - return str; - }; - - NS.setIframe = function(that, nameTab) { - var iframe, - str = NS.framesetHtml(nameTab), - iframeId = NS.iframeNumber + '_' + nameTab, - // tmp.html from wsc/dialogs - iframeInnerHtml = - '' + - '' + - '' + - '' + - 'iframe' + - - '' + - '' + - '' + - '
    ' + - '' + - '' + - '' + - '' + - '' + - '' + - ''; - - that.getElement().setHtml(str); - iframe = document.getElementById(iframeId); - iframe = (iframe.contentWindow) ? iframe.contentWindow : (iframe.contentDocument.document) ? iframe.contentDocument.document : iframe.contentDocument; - iframe.document.open(); - iframe.document.write(iframeInnerHtml); - iframe.document.close(); - }; - - NS.setCurrentIframe = function(currentTab) { - var that = NS.dialog._.contents[currentTab].Content, - tabID, iframe; - - NS.setIframe(that, currentTab); - - }; - - NS.setHeightBannerFrame = function() { - var height = "90px", - bannerPlaceSpellTab = NS.dialog.getContentElement('SpellTab', 'banner').getElement(), - bannerPlaceGrammTab = NS.dialog.getContentElement('GrammTab', 'banner').getElement(), - bannerPlaceThesaurus = NS.dialog.getContentElement('Thesaurus', 'banner').getElement(); - - bannerPlaceSpellTab.setStyle('height', height); - bannerPlaceGrammTab.setStyle('height', height); - bannerPlaceThesaurus.setStyle('height', height); - }; - - NS.setHeightFrame = function() { - var currentTab = NS.dialog._.currentTabId, - tabID = NS.iframeNumber + '_' + currentTab, - iframe = document.getElementById(tabID); - - iframe.style.height = '240px'; - }; - - /*NS.sendData = function() { - var currentTab = NS.dialog._.currentTabId, - that = NS.dialog._.contents[currentTab].Content, - tabID, iframe; - - NS.setIframe(that, currentTab); - NS.dialog.parts.tabs.removeAllListeners(); - - NS.dialog.parts.tabs.on('click', function(event) { - event = event || window.event; - if (!event.data.getTarget().is('a')) { - return - }; - - if (currentTab == NS.dialog._.currentTabId) { return }; - - currentTab = NS.dialog._.currentTabId; - that = NS.dialog._.contents[currentTab].Content; - tabID = NS.iframeNumber + '_' + currentTab; - - if (that.getElement().$.children.length == 0) { - NS.setIframe(that, currentTab); - iframe = document.getElementById(tabID); - NS.targetFromFrame[tabID] = iframe.contentWindow; - } else { - sendData(NS.targetFromFrame[tabID], NS.cmd[currentTab]); - }; - }); - - };*/ - - NS.sendData = function(scope) { - var currentTab = scope._.currentTabId, - that = scope._.contents[currentTab].Content, - tabID, iframe; - - - NS.setIframe(that, currentTab); - - var loadNewTab = function(event) { - event = event || window.event; - - if (!event.data.getTarget().is('a')) { - return; - } - - if (currentTab == scope._.currentTabId) { return; } - - currentTab = scope._.currentTabId; - that = scope._.contents[currentTab].Content; - tabID = NS.iframeNumber + '_' + currentTab; - NS.div_overlay.setEnable(); - - if (!that.getElement().getChildCount()) { - NS.setIframe(that, currentTab); - iframe = document.getElementById(tabID); - NS.targetFromFrame[tabID] = iframe.contentWindow; - } else { - sendData(NS.targetFromFrame[tabID], NS.cmd[currentTab]); - } - }; - - scope.parts.tabs.removeListener('click', loadNewTab); - scope.parts.tabs.on('click', loadNewTab); - }; - - NS.buildSelectLang = function(aId) { - var divContainer = new CKEDITOR.dom.element('div'), - selectContainer = new CKEDITOR.dom.element('select'), - id = "wscLang" + aId; - - divContainer.addClass("cke_dialog_ui_input_select"); - divContainer.setAttribute("role", "presentation"); - divContainer.setStyles({ - 'height': 'auto', - 'position': 'absolute', - 'right': '0', - 'top': '-1px', - 'width': '160px', - 'white-space': 'normal' - }); - - selectContainer.setAttribute('id', id); - selectContainer.addClass("cke_dialog_ui_input_select"); - selectContainer.setStyles({ - 'width': '160px' - }); - var currentTabId = NS.dialog._.currentTabId, - frameId = NS.iframeNumber + '_' + currentTabId; - - divContainer.append(selectContainer); - - return divContainer; - - }; - - NS.buildOptionLang = function(key, aId) { - var id = "wscLang" + aId; - var select = document.getElementById(id), - fragment = document.createDocumentFragment(), - create_option, txt_option, - sort = []; - - if(select.options.length === 0) { - for (var lang in key) { - sort.push([lang, key[lang]]); - } - sort.sort(); - - for (var i = 0; i < sort.length; i++) { - create_option=document.createElement("option"); - create_option.setAttribute("value", sort[i][1]); - txt_option = document.createTextNode(sort[i][0]); - create_option.appendChild(txt_option); - - if (sort[i][1] == NS.selectingLang) { - create_option.setAttribute("selected", "selected"); - } - - fragment.appendChild(create_option); - } - select.appendChild(fragment); - } - }; - - NS.buildOptionSynonyms = function(key) { - var syn = NS.selectNodeResponce[key]; - NS.selectNode['synonyms'].clear(); - - for (var item = 0; item < syn.length; item++) { - NS.selectNode['synonyms'].add(syn[item], syn[item]); - } - - NS.selectNode['synonyms'].getInputElement().$.firstChild.selected = true; - NS.textNode['Thesaurus'].setValue(NS.selectNode['synonyms'].getInputElement().getValue()); - }; - - var setBannerInPlace = function(htmlBanner) { - var findBannerPlace = NS.dialog.getContentElement(NS.dialog._.currentTabId, 'banner').getElement(); - findBannerPlace.setHtml(htmlBanner); - - }; - - var overlayBlock = function overlayBlock(opt) { - var progress = opt.progress || "", - doc = document, - target = opt.target || doc.body, - overlayId = opt.id || "overlayBlock", - opacity = opt.opacity || "0.9", - background = opt.background || "#f1f1f1", - getOverlay = doc.getElementById(overlayId), - thisOverlay = getOverlay || doc.createElement("div"); - - thisOverlay.style.cssText = "position: absolute;" + - "top:30px;" + - "bottom:41px;" + - "left:1px;" + - "right:1px;" + - "z-index: 10020;" + - "padding:0;" + - "margin:0;" + - "background:" + background + ";" + - "opacity: " + opacity + ";" + - "filter: alpha(opacity=" + opacity * 100 + ");" + - "display: none;"; - thisOverlay.id = overlayId; - - if (!getOverlay) { - target.appendChild(thisOverlay); - } - - return { - setDisable: function() { - thisOverlay.style.display = "none"; - }, - setEnable: function() { - thisOverlay.style.display = "block"; - } - }; - }; - - var buildRadioInputs = function(key, value, check) { - var divContainer = new CKEDITOR.dom.element('div'), - radioButton = new CKEDITOR.dom.element('input'), - radioLabel = new CKEDITOR.dom.element('label'), - id = "wscGrammerSuggest" + key + "_" + value; - - divContainer.addClass("cke_dialog_ui_input_radio"); - divContainer.setAttribute("role", "presentation"); - divContainer.setStyles({ - width: "97%", - padding: "5px", - 'white-space': 'normal' - }); - - radioButton.setAttributes({ - type: "radio", - value: value, - name: 'wscGrammerSuggest', - id: id - }); - radioButton.setStyles({ - "float":"left" - }); - - radioButton.on("click", function(data) { - NS.textNode['GrammTab'].setValue(data.sender.getValue()); - }); - - (check) ? radioButton.setAttribute("checked", true) : false; - - radioButton.addClass("cke_dialog_ui_radio_input"); - - radioLabel.appendText(key); - radioLabel.setAttribute("for", id); - radioLabel.setStyles({ - 'display': "block", - 'line-height': '16px', - 'margin-left': '18px', - 'white-space': 'normal' - }); - - divContainer.append(radioButton); - divContainer.append(radioLabel); - - return divContainer; - }; - - var statusGrammarTab = function(aState) { //#19221 - aState = aState || 'true'; - if(aState !== null && aState == 'false'){ - hideGrammTab(); - } - }; - - var langConstructor = function(lang) { - var langSelectBox = new __constructLangSelectbox(lang), - selectId = "wscLang" + NS.dialog.getParentEditor().name, - selectContainer = document.getElementById(selectId), - currentTabId = NS.dialog._.currentTabId, - frameId = NS.iframeNumber + '_' + currentTabId; - - NS.buildOptionLang(langSelectBox.setLangList, NS.dialog.getParentEditor().name); - tabView[langSelectBox.getCurrentLangGroup(NS.selectingLang)](); - statusGrammarTab(NS.show_grammar); - - selectContainer.onchange = function(e){ - e = e || window.event; - tabView[langSelectBox.getCurrentLangGroup(this.value)](); - statusGrammarTab(NS.show_grammar); - - NS.div_overlay.setEnable(); - - NS.selectingLang = this.value; - - appTools.postMessage.send({ - 'message': { - 'changeLang': NS.selectingLang, - 'text': NS.dataTemp - }, - 'target': NS.targetFromFrame[frameId], - 'id': 'selectionLang_outer__page' - }); - }; - - }; - - var disableButtonSuggest = function(word) { - if (word == 'no_any_suggestions') { - word = 'No suggestions'; - NS.LocalizationButton['ChangeTo'].instance.disable(); - NS.LocalizationButton['ChangeAll'].instance.disable(); - - var styleDisable = function(instanceButton) { - var button = NS.LocalizationButton[instanceButton].instance; - button.getElement().hasClass('cke_disabled') ? button.getElement().setStyle('color', '#a0a0a0') : button.disable(); - }; - - styleDisable('ChangeTo'); - styleDisable('ChangeAll'); - - return word; - } else { - NS.LocalizationButton['ChangeTo'].instance.enable(); - NS.LocalizationButton['ChangeAll'].instance.enable(); - NS.LocalizationButton['ChangeTo'].instance.getElement().setStyle('color', '#333'); - NS.LocalizationButton['ChangeAll'].instance.getElement().setStyle('color', '#333'); - return word; - } - }; - - var handlerId = { - iframeOnload: function(response) { - NS.div_overlay.setEnable(); - iframeOnload = true; - var currentTab = NS.dialog._.currentTabId, - tabId = NS.iframeNumber + '_' + currentTab; - sendData(NS.targetFromFrame[tabId], NS.cmd[currentTab]); - }, - - suggestlist: function(response) { - delete response.id; - NS.div_overlay_no_check.setDisable(); - hideCurrentFinishChecking(); - langConstructor(NS.langList); - - var word = disableButtonSuggest(response.word), - suggestionsList = ''; - - if (word instanceof Array) { - word = response.word[0]; - } - - word = word.split(','); - suggestionsList = word; - selectNode.clear(); - NS.textNode['SpellTab'].setValue(suggestionsList[0]); - - for (var item = 0; item < suggestionsList.length; item++) { - selectNode.add(suggestionsList[item], suggestionsList[item]); - } - - showCurrentTabs(); - NS.div_overlay.setDisable(); - - }, - - grammerSuggest: function(response) { - delete response.id; - delete response.mocklangs; - - hideCurrentFinishChecking(); - langConstructor(NS.langList); // Show select language for this command CKEDITOR.config.wsc_cmd - var firstSuggestValue = response.grammSuggest[0];// ? firstSuggestValue = response.grammSuggest[0] : firstSuggestValue = 'No suggestion for this words'; - NS.grammerSuggest.getElement().setHtml(''); - - NS.textNode['GrammTab'].reset(); - NS.textNode['GrammTab'].setValue(firstSuggestValue); - - NS.textNodeInfo['GrammTab'].getElement().setHtml(''); - NS.textNodeInfo['GrammTab'].getElement().setText(response.info); - - var arr = response.grammSuggest, - len = arr.length, - check = true; - - for (var i = 0; i < len; i++) { - NS.grammerSuggest.getElement().append(buildRadioInputs(arr[i], arr[i], check)); - check = false; - } - - showCurrentTabs(); - NS.div_overlay.setDisable(); - }, - - thesaurusSuggest: function(response) { - delete response.id; - delete response.mocklangs; - - hideCurrentFinishChecking(); - langConstructor(NS.langList); // Show select language for this command CKEDITOR.config.wsc_cmd - NS.selectNodeResponce = response; - - NS.textNode['Thesaurus'].reset(); - NS.selectNode['categories'].clear(); - - for (var i in response) { - NS.selectNode['categories'].add(i, i); - } - - var synKey = NS.selectNode['categories'].getInputElement().getChildren().$[0].value; - NS.selectNode['categories'].getInputElement().getChildren().$[0].selected = true; - NS.buildOptionSynonyms(synKey); - - showCurrentTabs(); - NS.div_overlay.setDisable(); - }, - finish: function(response) { - delete response.id; - - hideCurrentTabs(); - showCurrentFinishChecking(); - NS.div_overlay.setDisable(); - }, - settext: function(response) { - delete response.id; - - var command = NS.dialog.getParentEditor().getCommand( 'checkspell' ), - editor = NS.dialog.getParentEditor(); - - try { - editor.focus(); - } catch(e) {} - - editor.setData(response.text, function(){ - NS.dataTemp = ''; - editor.unlockSelection(); - editor.fire('saveSnapshot'); - NS.dialog.hide(); - }); - - }, - ReplaceText: function(response) { - delete response.id; - NS.div_overlay.setEnable(); - - NS.dataTemp = response.text; - NS.selectingLang = response.currentLang; - - window.setTimeout(function() { - try { - NS.div_overlay.setDisable(); - } catch(e) {} - }, 500); - - SetLocalizationButton(NS.LocalizationButton); - SetLocalizationLabel(NS.LocalizationLabel); - - }, - options_checkbox_send: function(response) { - delete response.id; - - var obj = { - 'osp': appTools.cookie.get('osp'), - 'udn': appTools.cookie.get('udn'), - 'cust_dic_ids': NS.cust_dic_ids - }; - - var currentTabId = NS.dialog._.currentTabId, - frameId = NS.iframeNumber + '_' + currentTabId; - - appTools.postMessage.send({ - 'message': obj, - 'target': NS.targetFromFrame[frameId], - 'id': 'options_outer__page' - }); - }, - - getOptions: function(response) { - var udn = response.DefOptions.udn; - NS.LocalizationComing = response.DefOptions.localizationButtonsAndText; - NS.show_grammar = response.show_grammar; - NS.langList = response.lang; - NS.bnr = response.bannerId; - if (response.bannerId) { - NS.setHeightBannerFrame(); - setBannerInPlace(response.banner); - } else { - NS.setHeightFrame(); - } - - if (udn == 'undefined') { - if (NS.userDictionaryName) { - udn = NS.userDictionaryName; - - var obj = { - 'osp': appTools.cookie.get('osp'), - 'udn': NS.userDictionaryName, - 'cust_dic_ids': NS.cust_dic_ids, - 'id': 'options_dic_send', - 'udnCmd': 'create' - }; - - appTools.postMessage.send({ - 'message': obj, - 'target': NS.targetFromFrame[frameId] - }); - - } else{ - udn = ''; - } - } - - appTools.cookie.set('osp', response.DefOptions.osp); - appTools.cookie.set('udn', udn); - appTools.cookie.set('cust_dic_ids', response.DefOptions.cust_dic_ids); - - appTools.postMessage.send({ - 'id': 'giveOptions' - }); - }, - - options_dic_send: function(response) { - - var obj = { - 'osp': appTools.cookie.get('osp'), - 'udn': appTools.cookie.get('udn'), - 'cust_dic_ids': NS.cust_dic_ids, - 'id': 'options_dic_send', - 'udnCmd': appTools.cookie.get('udnCmd') - }; - - var currentTabId = NS.dialog._.currentTabId, - frameId = NS.iframeNumber + '_' + currentTabId; - - appTools.postMessage.send({ - 'message': obj, - 'target': NS.targetFromFrame[frameId] - }); - }, - data: function(response) { - delete response.id; - }, - - giveOptions: function() { - - }, - - setOptionsConfirmF:function() { - OptionsConfirm(false); - }, - - setOptionsConfirmT:function() { - OptionsConfirm(true); - }, - - clickBusy: function() { - NS.div_overlay.setEnable(); - }, - - suggestAllCame: function() { - NS.div_overlay.setDisable(); - NS.div_overlay_no_check.setDisable(); - }, - - TextCorrect: function() { - langConstructor(NS.langList); - } - - }; - - var handlerIncomingData = function(event) { - event = event || window.event; - var response = window.JSON.parse(event.data); - - if(response && response.id) { - handlerId[response.id](response); - } - }; - - var handlerButtonOptions = function(event) { - event = event || window.event; - - var currentTabId = NS.dialog._.currentTabId, - frameId = NS.iframeNumber + '_' + currentTabId; - - appTools.postMessage.send({ - 'message': { - 'cmd': 'Options' - }, - 'target': NS.targetFromFrame[frameId], - 'id': 'cmd' - }); - - }; - - var sendData = function(frameTarget, cmd, sendText, reset_suggest) { - cmd = cmd || CKEDITOR.config.wsc_cmd; - reset_suggest = reset_suggest || false; - sendText = sendText || NS.dataTemp; - - appTools.postMessage.send({ - 'message': { - 'customerId': NS.wsc_customerId, - 'text': sendText, - 'txt_ctrl': NS.TextAreaNumber, - 'cmd': cmd, - 'cust_dic_ids': NS.cust_dic_ids, - 'udn': NS.userDictionaryName, - 'slang': NS.selectingLang, - 'reset_suggest': reset_suggest - }, - 'target': frameTarget, - 'id': 'data_outer__page' - }); - - NS.div_overlay.setEnable(); - }; - - var tabView = { - "superset" : function() { - showThesaurusTab(); - showGrammTab(); - showSpellTab(); - }, - "usual" : function() { - hideThesaurusTab(); - hideGrammTab(); - showSpellTab(); - }, - "rtl" : function() { - hideThesaurusTab(); - hideGrammTab(); - showSpellTab(); - } - }; - - var showFirstTab = function(scope) { - var cmdManger = function(cmdView) { - var obj = {}; - var _getCmd = function(cmd) { - for (var tabId in cmdView) { - obj[cmdView[tabId]] = tabId; - } - return obj[cmd]; - }; - return { - getCmdByTab: _getCmd - }; - }; - - var cmdM = new cmdManger(NS.cmd); - scope.selectPage(cmdM.getCmdByTab(CKEDITOR.config.wsc_cmd)); - NS.sendData(scope); - }; - - var showThesaurusTab = function() { - NS.dialog.showPage('Thesaurus'); - }; - - var hideThesaurusTab = function() { - NS.dialog.hidePage('Thesaurus'); - }; - - var showGrammTab = function() { - NS.dialog.showPage('GrammTab'); - }; - - var hideGrammTab = function() { - NS.dialog.hidePage('GrammTab'); - }; - - var showSpellTab = function() { - NS.dialog.showPage('SpellTab'); - }; - - var hideSpellTab = function() { - NS.dialog.hidePage('SpellTab'); - }; - - var showCurrentTabs = function() { - var target = NS.dialog.getContentElement(NS.dialog._.currentTabId, 'bottomGroup').getElement(); - - target.removeStyle('display'); - target.removeStyle('position'); - target.removeStyle('left'); - - target.show(); - }; - - var hideCurrentTabs = function() { - var target = NS.dialog.getContentElement(NS.dialog._.currentTabId, 'bottomGroup').getElement(), - activeElement = document.activeElement, - focusableElements; - - target.setStyles({ - display: 'block', - position: 'absolute', - left: '-9999px' - }); - - setTimeout(function() { - target.removeStyle('display'); - target.removeStyle('position'); - target.removeStyle('left'); - - target.hide(); - - NS.dialog._.editor.focusManager.currentActive.focusNext(); - - focusableElements = appTools.misc.findFocusable(NS.dialog.parts.contents); - if(!appTools.misc.hasClass(activeElement, 'cke_dialog_tab') && !appTools.misc.hasClass(activeElement, 'cke_dialog_contents_body') && appTools.misc.isVisible(activeElement)) { - try { - activeElement.focus(); - } catch(e) {} - } else { - for(var i = 0, tmpCkEl; i < focusableElements.count(); i++) { - tmpCkEl = focusableElements.getItem(i); - if(appTools.misc.isVisible(tmpCkEl.$)) { - try { - tmpCkEl.$.focus(); - } catch(e) {} - - break; - } - } - } - }, 0); - }; - - var showCurrentFinishChecking = function() { - var target = NS.dialog.getContentElement(NS.dialog._.currentTabId, 'BlockFinishChecking').getElement(); - - target.removeStyle('display'); - target.removeStyle('position'); - target.removeStyle('left'); - - target.show(); - }; - - var hideCurrentFinishChecking = function() { - var target = NS.dialog.getContentElement(NS.dialog._.currentTabId, 'BlockFinishChecking').getElement(), - activeElement = document.activeElement, - focusableElements; - - target.setStyles({ - display: 'block', - position: 'absolute', - left: '-9999px' - }); - - setTimeout(function() { - target.removeStyle('display'); - target.removeStyle('position'); - target.removeStyle('left'); - - target.hide(); - - NS.dialog._.editor.focusManager.currentActive.focusNext(); - - focusableElements = appTools.misc.findFocusable(NS.dialog.parts.contents); - if(!appTools.misc.hasClass(activeElement, 'cke_dialog_tab') && !appTools.misc.hasClass(activeElement, 'cke_dialog_contents_body') && appTools.misc.isVisible(activeElement)) { - try { - activeElement.focus(); - } catch(e) {} - } else { - for(var i = 0, tmpCkEl; i < focusableElements.count(); i++) { - tmpCkEl = focusableElements.getItem(i); - if(appTools.misc.isVisible(tmpCkEl.$)) { - try { - tmpCkEl.$.focus(); - } catch(e) {} - - break; - } - } - } - }, 0); - }; - - - -function __constructLangSelectbox(languageGroup) { - if( !languageGroup ) { throw "Languages-by-groups list are required for construct selectbox"; } - - var that = this, - o_arr = [], - priorLang ="en_US", - priorLangTitle = "", - currLang = NS.selectingLang; - - for ( var group in languageGroup){ - for ( var langCode in languageGroup[group]){ - var langName = languageGroup[group][langCode]; - if ( langName == priorLang ) { - priorLangTitle = langName; - } else { - o_arr.push( langName ); - } - } - } - - o_arr.sort(); - if(priorLangTitle) { - o_arr.unshift( priorLangTitle ); - } - - var searchGroup = function ( code ){ - for ( var group in languageGroup){ - for ( var langCode in languageGroup[group]){ - if ( langCode.toUpperCase() === code.toUpperCase() ) { - return group; - } - } - } - return ""; - }; - - var _setLangList = function() { - var langList = {}, - langArray = []; - for (var group in languageGroup) { - for ( var langCode in languageGroup[group]){ - langList[languageGroup[group][langCode]] = langCode; - } - } - return langList; - }; - - var _return = { - getCurrentLangGroup: function(code) { - return searchGroup(code); - }, - setLangList: _setLangList() - }; - - return _return; -} - -CKEDITOR.dialog.add('checkspell', function(editor) { - var handlerButtons = function(event) { - event = event || window.event; - - // because in chrome and safary document.activeElement returns tag. We need to signal that clicked element is active - this.getElement().focus(); - - NS.div_overlay.setEnable(); - var currentTabId = NS.dialog._.currentTabId, - frameId = NS.iframeNumber + '_' + currentTabId, - new_word = NS.textNode[currentTabId].getValue(), - cmd = this.getElement().getAttribute("title-cmd"); - - - appTools.postMessage.send({ - 'message': { - 'cmd': cmd, - 'tabId': currentTabId, - 'new_word': new_word - }, - 'target': NS.targetFromFrame[frameId], - 'id': 'cmd_outer__page' - }); - - if (cmd == 'ChangeTo' || cmd == 'ChangeAll') { - editor.fire('saveSnapshot'); - } - - if (cmd == 'FinishChecking') { - editor.config.wsc_onFinish.call(CKEDITOR.document.getWindow().getFrame()); - } - - }; - - var oneLoadFunction = null; - - return { - title: editor.config.wsc_dialogTitle || editor.lang.wsc.title, - minWidth: 560, - minHeight: 444, - buttons: [CKEDITOR.dialog.cancelButton], - onLoad: function() { - NS.dialog = this; - - hideThesaurusTab(); - hideGrammTab(); - showSpellTab(); - }, - onShow: function() { - editor.lockSelection(editor.getSelection()); - - NS.TextAreaNumber = 'cke_textarea_' + CKEDITOR.currentInstance.name; - appTools.postMessage.init(handlerIncomingData); - NS.dataTemp = CKEDITOR.currentInstance.getData(); - //NS.div_overlay.setDisable(); - NS.OverlayPlace = NS.dialog.parts.tabs.getParent().$; - if(CKEDITOR && CKEDITOR.config){ - NS.wsc_customerId = editor.config.wsc_customerId; - NS.cust_dic_ids = editor.config.wsc_customDictionaryIds; - NS.userDictionaryName = editor.config.wsc_userDictionaryName; - NS.defaultLanguage = CKEDITOR.config.defaultLanguage; - var protocol = document.location.protocol == "file:" ? "http:" : document.location.protocol; - var wscCoreUrl = editor.config.wsc_customLoaderScript || ( protocol + '//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin=fck2&customerid=' + NS.wsc_customerId + '&cmd=script&doc=wsc&schema=22'); - } else { - NS.dialog.hide(); - return; - } - - CKEDITOR.scriptLoader.load(wscCoreUrl, function(success) { - - if(CKEDITOR.config && CKEDITOR.config.wsc && CKEDITOR.config.wsc.DefaultParams){ - NS.serverLocationHash = CKEDITOR.config.wsc.DefaultParams.serviceHost; - NS.logotype = CKEDITOR.config.wsc.DefaultParams.logoPath; - NS.loadIcon = CKEDITOR.config.wsc.DefaultParams.iconPath; - NS.loadIconEmptyEditor = CKEDITOR.config.wsc.DefaultParams.iconPathEmptyEditor; - NS.LangComparer = new CKEDITOR.config.wsc.DefaultParams._SP_FCK_LangCompare(); - }else{ - NS.serverLocationHash = DefaultParams.serviceHost; - NS.logotype = DefaultParams.logoPath; - NS.loadIcon = DefaultParams.iconPath; - NS.loadIconEmptyEditor = DefaultParams.iconPathEmptyEditor; - NS.LangComparer = new _SP_FCK_LangCompare(); - } - - NS.pluginPath = CKEDITOR.getUrl(editor.plugins.wsc.path); - NS.iframeNumber = NS.TextAreaNumber; - NS.templatePath = NS.pluginPath + 'dialogs/tmp.html'; - NS.LangComparer.setDefaulLangCode( NS.defaultLanguage ); - NS.currentLang = editor.config.wsc_lang || NS.LangComparer.getSPLangCode( editor.langCode ); - NS.selectingLang = NS.currentLang; - NS.div_overlay = new overlayBlock({ - opacity: "1", - background: "#fff url(" + NS.loadIcon + ") no-repeat 50% 50%", - target: NS.OverlayPlace - - }); - - var number_ck = NS.dialog.parts.tabs.getId(), - dialogPartsTab = CKEDITOR.document.getById(number_ck); - - dialogPartsTab.setStyle('width', '97%'); - if (!dialogPartsTab.getElementsByTag('DIV').count()){ - dialogPartsTab.append(NS.buildSelectLang(NS.dialog.getParentEditor().name)); - } - - NS.div_overlay_no_check = new overlayBlock({ - opacity: "1", - id: 'no_check_over', - background: "#fff url(" + NS.loadIconEmptyEditor + ") no-repeat 50% 50%", - target: NS.OverlayPlace - }); - - - - if (success) { - showFirstTab(NS.dialog); - NS.dialog.setupContent(NS.dialog); - } - }); - - }, - onHide: function() { - var scaytPlugin = CKEDITOR.plugins.scayt, - scaytInstance = editor.scayt; - - editor.unlockSelection(); - - if(scaytPlugin && scaytInstance && scaytPlugin.state[editor.name] && scaytInstance.setMarkupPaused) { - scaytInstance.setMarkupPaused(false); - } - - NS.dataTemp = ''; - appTools.postMessage.unbindHandler(handlerIncomingData); - }, - contents: [ - { - id: 'SpellTab', - label: 'SpellChecker', - accessKey: 'S', - elements: [ - { - type: 'html', - id: 'banner', - label: 'banner', - style: '', //TODO - html: '
    ' - }, - { - type: 'html', - id: 'Content', - label: 'spellContent', - html: '', - setup: function(dialog) {// debugger; - var tabId = NS.iframeNumber + '_' + dialog._.currentTabId; - var iframe = document.getElementById(tabId); - NS.targetFromFrame[tabId] = iframe.contentWindow; - } - }, - { - type: 'hbox', - id: 'bottomGroup', - style: 'width:560px; margin: 0 auto;', - widths: ['50%', '50%'], - children: [ - { - type: 'hbox', - id: 'leftCol', - align: 'left', - width: '50%', - children: [ - { - type: 'vbox', - id: 'rightCol1', - widths: ['50%', '50%'], - children: [ - { - type: 'text', - id: 'text', - label: NS.LocalizationLabel['ChangeTo'].text + ':', - labelLayout: 'horizontal', - labelStyle: 'font: 12px/25px arial, sans-serif;', - width: '140px', - 'default': '', - onShow: function() { - NS.textNode['SpellTab'] = this; - NS.LocalizationLabel['ChangeTo'].instance = this; - }, - onHide: function() { - this.reset(); - } - }, - { - type: 'hbox', - id: 'rightCol', - align: 'right', - width: '30%', - children: [ - { - type: 'vbox', - id: 'rightCol_col__left', - children: [ - { - type: 'text', - id: 'labelSuggestions', - label: NS.LocalizationLabel['Suggestions'].text + ':', - onShow: function() { - NS.LocalizationLabel['Suggestions'].instance = this; - this.getInputElement().setStyles({ - display: 'block', - position: 'absolute', - left: '-9999px' - }); - } - }, - { - type: 'html', - id: 'logo', - html: 'WebSpellChecker.net', - setup: function(dialog) { - this.getElement().$.src = NS.logotype; - this.getElement().getParent().setStyles({ - "text-align": "left" - }); - } - } - ] - }, - { - type: 'select', - id: 'list_of_suggestions', - labelStyle: 'font: 12px/25px arial, sans-serif;', - size: '6', - inputStyle: 'width: 140px; height: auto;', - items: [['loading...']], - onShow: function() { - selectNode = this; - }, - onHide: function() { - this.clear(); - }, - onChange: function() { - NS.textNode['SpellTab'].setValue(this.getValue()); - } - } - ] - } - ] - } - ] - }, - { - type: 'hbox', - id: 'rightCol', - align: 'right', - width: '50%', - children: [ - { - type: 'vbox', - id: 'rightCol_col__left', - widths: ['50%', '50%', '50%', '50%'], - children: [ - { - type: 'button', - id: 'ChangeTo', - label: NS.LocalizationButton['ChangeTo'].text, - title: 'Change to', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - NS.LocalizationButton['ChangeTo'].instance = this; - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'ChangeAll', - label: NS.LocalizationButton['ChangeAll'].text, - title: 'Change All', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - NS.LocalizationButton['ChangeAll'].instance = this; - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'AddWord', - label: NS.LocalizationButton['AddWord'].text, - title: 'Add word', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - NS.LocalizationButton['AddWord'].instance = this; - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'FinishChecking', - label: NS.LocalizationButton['FinishChecking'].text, - title: 'Finish Checking', - style: 'width: 100%;margin-top: 9px;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - NS.LocalizationButton['FinishChecking'].instance = this; - }, - onClick: handlerButtons - } - ] - }, - { - type: 'vbox', - id: 'rightCol_col__right', - widths: ['50%', '50%', '50%'], - children: [ - { - type: 'button', - id: 'IgnoreWord', - label: NS.LocalizationButton['IgnoreWord'].text, - title: 'Ignore word', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - NS.LocalizationButton['IgnoreWord'].instance = this; - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'IgnoreAllWords', - label: NS.LocalizationButton['IgnoreAllWords'].text, - title: 'Ignore all words', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - NS.LocalizationButton['IgnoreAllWords'].instance = this; - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'option', - label: NS.LocalizationButton['Options'].text, - title: 'Option', - style: 'width: 100%;', - onLoad: function() { - NS.LocalizationButton['Options'].instance = this; - if (document.location.protocol == "file:") { - this.disable(); - } - }, - onClick: function() { - // because in chrome and safary document.activeElement returns tag. We need to signal that clicked element is active - this.getElement().focus(); - - if (document.location.protocol == "file:") { - alert('WSC: Options functionality is disabled when runing from file system'); - } else { - activeElement = document.activeElement; - editor.openDialog('options'); - } - } - } - ] - } - ] - } - ] - }, - { - type: 'hbox', - id: 'BlockFinishChecking', - style: 'width:560px; margin: 0 auto;', - widths: ['70%', '30%'], - onShow: function() { - this.getElement().setStyles({ - display: 'block', - position: 'absolute', - left: '-9999px' - }); - }, - onHide: showCurrentTabs, - children: [ - { - type: 'hbox', - id: 'leftCol', - align: 'left', - width: '70%', - children: [ - { - type: 'vbox', - id: 'rightCol1', - setup: function() { - this.getChild()[0].getElement().$.src = NS.logotype; - this.getChild()[0].getElement().getParent().setStyles({ - "text-align": "center" - }); - }, - children: [ - { - type: 'html', - id: 'logo', - html: 'WebSpellChecker.net' - } - ] - } - ] - }, - { - type: 'hbox', - id: 'rightCol', - align: 'right', - width: '30%', - children: [ - { - type: 'vbox', - id: 'rightCol_col__left', - children: [ - { - type: 'button', - id: 'Option_button', - label: NS.LocalizationButton['Options'].text, - title: 'Option', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - if (document.location.protocol == "file:") { - this.disable(); - } - }, - onClick: function() { - // because in chrome and safary document.activeElement returns tag. We need to signal that clicked element is active - this.getElement().focus(); - - if (document.location.protocol == "file:") { - alert('WSC: Options functionality is disabled when runing from file system'); - } else { - activeElement = document.activeElement; - editor.openDialog('options'); - } - } - }, - { - type: 'button', - id: 'FinishChecking', - label: NS.LocalizationButton['FinishChecking'].text, - title: 'Finish Checking', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - } - ] - } - ] - } - ] - } - ] - }, - { - id: 'GrammTab', - label: 'Grammar', - accessKey: 'G', - elements: [ - { - type: 'html', - id: 'banner', - label: 'banner', - style: '', //TODO - html: '
    ' - }, - { - type: 'html', - id: 'Content', - label: 'GrammarContent', - html: '', - setup: function() { - var tabId = NS.iframeNumber + '_' + NS.dialog._.currentTabId; - var iframe = document.getElementById(tabId); - NS.targetFromFrame[tabId] = iframe.contentWindow; - } - }, - { - type: 'vbox', - id: 'bottomGroup', - style: 'width:560px; margin: 0 auto;', - children: [ - { - type: 'hbox', - id: 'leftCol', - widths: ['66%', '34%'], - children: [ - { - type: 'vbox', - children: [ - { - type: 'text', - id: 'text', - label: "Change to:", - labelLayout: 'horizontal', - labelStyle: 'font: 12px/25px arial, sans-serif;', - inputStyle: 'float: right; width: 200px;', - 'default': '', - onShow: function() { - NS.textNode['GrammTab'] = this; - }, - onHide: function() { - this.reset(); - } - }, - { - type: 'html', - id: 'html_text', - html: "
    ", - onShow: function(e) { - NS.textNodeInfo['GrammTab'] = this; - } - }, - { - type: 'html', - id: 'radio', - html: "", - onShow: function() { - NS.grammerSuggest = this; - } - } - ] - }, - { - type: 'vbox', - children: [ - { - type: 'button', - id: 'ChangeTo', - label: 'Change to', - title: 'Change to', - style: 'width: 133px; float: right;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'IgnoreWord', - label: 'Ignore word', - title: 'Ignore word', - style: 'width: 133px; float: right;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'IgnoreAllWords', - label: 'Ignore Problem', - title: 'Ignore Problem', - style: 'width: 133px; float: right;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - }, - { - type: 'button', - id: 'FinishChecking', - label: 'Finish Checking', - title: 'Finish Checking', - style: 'width: 133px; float: right; margin-top: 9px;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - } - ] - } - ] - } - ] - }, - { - type: 'hbox', - id: 'BlockFinishChecking', - style: 'width:560px; margin: 0 auto;', - widths: ['70%', '30%'], - onShow: function() { - this.getElement().setStyles({ - display: 'block', - position: 'absolute', - left: '-9999px' - }); - }, - onHide: showCurrentTabs, - children: [ - { - type: 'hbox', - id: 'leftCol', - align: 'left', - width: '70%', - children: [ - { - type: 'vbox', - id: 'rightCol1', - children: [ - { - type: 'html', - id: 'logo', - html: 'WebSpellChecker.net', - setup: function() { - this.getElement().$.src = NS.logotype; - this.getElement().getParent().setStyles({ - "text-align": "center" - }); - } - } - ] - } - ] - }, - { - type: 'hbox', - id: 'rightCol', - align: 'right', - width: '30%', - children: [ - { - type: 'vbox', - id: 'rightCol_col__left', - children: [ - { - type: 'button', - id: 'FinishChecking', - label: 'Finish Checking', - title: 'Finish Checking', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - } - ] - } - ] - } - ] - } - ] - }, - { - id: 'Thesaurus', - label: 'Thesaurus', - accessKey: 'T', - elements: [ - { - type: 'html', - id: 'banner', - label: 'banner', - style: '', //TODO - html: '
    ' - }, - { - type: 'html', - id: 'Content', - label: 'spellContent', - html: '', - setup: function() { - var tabId = NS.iframeNumber + '_' + NS.dialog._.currentTabId; - var iframe = document.getElementById(tabId); - NS.targetFromFrame[tabId] = iframe.contentWindow; - } - }, - { - type: 'vbox', - id: 'bottomGroup', - style: 'width:560px; margin: -10px auto; overflow: hidden;', - children: [ - { - type: 'hbox', - widths: ['75%', '25%'], - children: [ - { - type: 'vbox', - children: [ - { - type: 'hbox', - widths: ['65%', '35%'], - children: [ - { - type: 'text', - id: 'ChangeTo', - label: 'Change to:', - labelLayout: 'horizontal', - inputStyle: 'width: 160px;', - labelStyle: 'font: 12px/25px arial, sans-serif;', - 'default': '', - onShow: function(e) { - NS.textNode['Thesaurus'] = this; - }, - onHide: function() { - this.reset(); - } - }, - { - type: 'button', - id: 'ChangeTo', - label: 'Change to', - title: 'Change to', - style: 'width: 121px; margin-top: 1px;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - } - ] - }, - { - type: 'hbox', - children: [ - { - type: 'select', - id: 'categories', - label: "Categories:", - labelStyle: 'font: 12px/25px arial, sans-serif;', - size: '5', - inputStyle: 'width: 180px; height: auto;', - items: [], - onShow: function() { - NS.selectNode['categories'] = this; - }, - onHide: function() { - this.clear(); - }, - onChange: function() { - NS.buildOptionSynonyms(this.getValue()); - } - }, - { - type: 'select', - id: 'synonyms', - label: "Synonyms:", - labelStyle: 'font: 12px/25px arial, sans-serif;', - size: '5', - inputStyle: 'width: 180px; height: auto;', - items: [], - onShow: function() { - NS.selectNode['synonyms'] = this; - NS.textNode['Thesaurus'].setValue(this.getValue()); - }, - onHide: function() { - this.clear(); - }, - onChange: function(e) { - NS.textNode['Thesaurus'].setValue(this.getValue()); - } - } - ] - } - ] - }, - { - type: 'vbox', - width: '120px', - style: "margin-top:46px;", - children: [ - { - type: 'html', - id: 'logotype', - label: 'WebSpellChecker.net', - html: 'WebSpellChecker.net', - setup: function() { - this.getElement().$.src = NS.logotype; - this.getElement().getParent().setStyles({ - "text-align": "center" - }); - } - }, - { - type: 'button', - id: 'FinishChecking', - label: 'Finish Checking', - title: 'Finish Checking', - style: 'width: 121px; float: right; margin-top: 9px;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - } - ] - } - ] - } - ] - }, - { - type: 'hbox', - id: 'BlockFinishChecking', - style: 'width:560px; margin: 0 auto;', - widths: ['70%', '30%'], - onShow: function() { - this.getElement().setStyles({ - display: 'block', - position: 'absolute', - left: '-9999px' - }); - }, - children: [ - { - type: 'hbox', - id: 'leftCol', - align: 'left', - width: '70%', - children: [ - { - type: 'vbox', - id: 'rightCol1', - children: [ - { - type: 'html', - id: 'logo', - html: 'WebSpellChecker.net', - setup: function() { - this.getElement().$.src = NS.logotype; - this.getElement().getParent().setStyles({ - "text-align": "center" - }); - } - } - ] - } - ] - }, - { - type: 'hbox', - id: 'rightCol', - align: 'right', - width: '30%', - children: [ - { - type: 'vbox', - id: 'rightCol_col__left', - children: [ - { - type: 'button', - id: 'FinishChecking', - label: 'Finish Checking', - title: 'Finish Checking', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onClick: handlerButtons - } - ] - } - ] - } - ] - } - ] - } - ] - }; -}); - -var activeElement = null; - -// Options dialog -CKEDITOR.dialog.add('options', function(editor) { - var dialog = null; - var linkOnCheckbox = {}; - var checkboxState = {}; - var ospString = null; - var OptionsTextError = null; - var cmd = null; - - var set_osp = []; - var dictionaryState = { - 'udn': appTools.cookie.get('udn'), - 'osp': appTools.cookie.get('osp') - }; - - var setHandlerOptions = function() { - var osp = appTools.cookie.get('osp'), - strToArr = osp.split(""); - - checkboxState['IgnoreAllCapsWords'] = strToArr[0]; - checkboxState['IgnoreWordsNumbers'] = strToArr[1]; - checkboxState['IgnoreMixedCaseWords'] = strToArr[2]; - checkboxState['IgnoreDomainNames'] = strToArr[3]; - }; - - var sendDicOptions = function(event) { - event = event || window.event; - cmd = this.getElement().getAttribute("title-cmd"); - var osp = []; - - osp[0] = checkboxState['IgnoreAllCapsWords']; - osp[1] = checkboxState['IgnoreWordsNumbers']; - osp[2] = checkboxState['IgnoreMixedCaseWords']; - osp[3] = checkboxState['IgnoreDomainNames']; - - osp = osp.toString().replace(/,/g, ""); - - - appTools.cookie.set('osp', osp); - appTools.cookie.set('udnCmd', cmd ? cmd : 'ignore'); - if (cmd == "delete") { - - appTools.postMessage.send({ - 'id': 'options_dic_send' - }); - } else { - var udn = ''; - if(nameNode.getValue() !== ''){ - udn = nameNode.getValue(); - } - appTools.cookie.set('udn', udn); - appTools.postMessage.send({ - 'id': 'options_dic_send' - }); - } - - }; - - - var sendAllOptions = function() { - var osp = []; - - osp[0] = checkboxState['IgnoreAllCapsWords']; - osp[1] = checkboxState['IgnoreWordsNumbers']; - osp[2] = checkboxState['IgnoreMixedCaseWords']; - osp[3] = checkboxState['IgnoreDomainNames']; - - osp = osp.toString().replace(/,/g, ""); - - appTools.cookie.set('osp', osp); - appTools.cookie.set('udn', nameNode.getValue()); - - appTools.postMessage.send({ - 'id': 'options_checkbox_send' - }); - - - }; - - var cameOptions = function() { - OptionsTextError.getElement().setHtml(NS.LocalizationComing['error']); - OptionsTextError.getElement().show(); - }; - - return { - title: NS.LocalizationComing['Options'], - minWidth: 430, - minHeight: 130, - resizable: CKEDITOR.DIALOG_RESIZE_NONE, - contents: [ - { - id: 'OptionsTab', - label: 'Options', - accessKey: 'O', - elements: [ - { - type: 'hbox', - id: 'options_error', - children: [ - { - type: 'html', - style: "display: block;text-align: center;white-space: normal!important; font-size: 12px;color:red", - html: '
    ', - onShow: function() { - OptionsTextError = this; - } - } - ] - }, - { - type: 'vbox', - id: 'Options_content', - children: [ - { - type: 'hbox', - id: 'Options_manager', - widths: ['52%', '48%'], - children: [ - { - type: 'fieldset', - label: 'Spell Checking Options', - style: 'border: none;margin-top: 13px;padding: 10px 0 10px 10px', - onShow: function() { - this.getInputElement().$.children[0].innerHTML = NS.LocalizationComing['SpellCheckingOptions']; - }, - children: [ - { - type: 'vbox', - id: 'Options_checkbox', - children: [ - { - type: 'checkbox', - id: 'IgnoreAllCapsWords', - label: 'Ignore All-Caps Words', - labelStyle: 'margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;', - style: "float:left; min-height: 16px;", - 'default': '', - onClick: function() { - checkboxState[this.id] = (!this.getValue()) ? 0 : 1; - } - }, - { - type: 'checkbox', - id: 'IgnoreWordsNumbers', - label: 'Ignore Words with Numbers', - labelStyle: 'margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;', - style: "float:left; min-height: 16px;", - 'default': '', - onClick: function() { - checkboxState[this.id] = (!this.getValue()) ? 0 : 1; - } - }, - { - type: 'checkbox', - id: 'IgnoreMixedCaseWords', - label: 'Ignore Mixed-Case Words', - labelStyle: 'margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;', - style: "float:left; min-height: 16px;", - 'default': '', - onClick: function() { - checkboxState[this.id] = (!this.getValue()) ? 0 : 1; - } - }, - { - type: 'checkbox', - id: 'IgnoreDomainNames', - label: 'Ignore Domain Names', - labelStyle: 'margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;', - style: "float:left; min-height: 16px;", - 'default': '', - onClick: function() { - checkboxState[this.id] = (!this.getValue()) ? 0 : 1; - } - } - ] - } - ] - }, - { - type: 'vbox', - id: 'Options_DictionaryName', - children: [ - { - type: 'text', - id: 'DictionaryName', - style: 'margin-bottom: 10px', - label: 'Dictionary Name:', - labelLayout: 'vertical', - labelStyle: 'font: 12px/25px arial, sans-serif;', - 'default': '', - onLoad: function() { - nameNode = this; - var udn = NS.userDictionaryName ? NS.userDictionaryName : appTools.cookie.get('udn') && undefined ? ' ' : this.getValue(); - this.setValue(udn); - }, - onShow: function() { - nameNode = this; - var udn = !appTools.cookie.get('udn') ? this.getValue() : appTools.cookie.get('udn'); - this.setValue(udn); - this.setLabel(NS.LocalizationComing['DictionaryName']); - }, - onHide: function() { - this.reset(); - } - }, - { - type: 'hbox', - id: 'Options_buttons', - children: [ - { - type: 'vbox', - id: 'Options_leftCol_col', - widths: ['50%', '50%'], - children: [ - { - type: 'button', - id: 'create', - label: 'Create', - title: 'Create', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onShow: function() { - var el = this.getElement().getFirst() || this.getElement(); - - el.setText(NS.LocalizationComing['Create']); - }, - onClick: sendDicOptions - }, - { - type: 'button', - id: 'restore', - label: 'Restore', - title: 'Restore', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onShow: function() { - var el = this.getElement().getFirst() || this.getElement(); - - el.setText(NS.LocalizationComing['Restore']); - }, - onClick: sendDicOptions - } - ] - }, - { - type: 'vbox', - id: 'Options_rightCol_col', - widths: ['50%', '50%'], - children: [ - { - type: 'button', - id: 'rename', - label: 'Rename', - title: 'Rename', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onShow: function() { - var el = this.getElement().getFirst() || this.getElement(); - - el.setText(NS.LocalizationComing['Rename']); - }, - onClick: sendDicOptions - }, - { - type: 'button', - id: 'delete', - label: 'Remove', - title: 'Remove', - style: 'width: 100%;', - onLoad: function() { - this.getElement().setAttribute("title-cmd", this.id); - }, - onShow: function() { - var el = this.getElement().getFirst() || this.getElement(); - - el.setText(NS.LocalizationComing['Remove']); - }, - onClick: sendDicOptions - } - ] - } - ] - } - ] - } - ] - }, - { - type: 'hbox', - id: 'Options_text', - children: [ - { - type: 'html', - style: "text-align: justify;margin-top: 15px;white-space: normal!important; font-size: 12px;color:#777;", - html: "
    " + NS.LocalizationComing['OptionsTextIntro'] + "
    ", - onShow: function() { - this.getElement().setText(NS.LocalizationComing['OptionsTextIntro']); - } - } - ] - } - ] - } - ] -} -], - buttons: [CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton], - onOk: function() { - sendAllOptions(); - OptionsTextError.getElement().hide(); - OptionsTextError.getElement().setHtml(' '); - }, - onLoad: function() { - dialog = this; - // appTools.postMessage.init(cameOptions); - - linkOnCheckbox['IgnoreAllCapsWords'] = dialog.getContentElement('OptionsTab', 'IgnoreAllCapsWords'); - linkOnCheckbox['IgnoreWordsNumbers'] = dialog.getContentElement('OptionsTab', 'IgnoreWordsNumbers'); - linkOnCheckbox['IgnoreMixedCaseWords'] = dialog.getContentElement('OptionsTab', 'IgnoreMixedCaseWords'); - linkOnCheckbox['IgnoreDomainNames'] = dialog.getContentElement('OptionsTab', 'IgnoreDomainNames'); - - }, - onShow: function() { - appTools.postMessage.init(cameOptions); - setHandlerOptions(); - - (!parseInt(checkboxState['IgnoreAllCapsWords'], 10)) ? linkOnCheckbox['IgnoreAllCapsWords'].setValue('', false) : linkOnCheckbox['IgnoreAllCapsWords'].setValue('checked', false); - (!parseInt(checkboxState['IgnoreWordsNumbers'], 10)) ? linkOnCheckbox['IgnoreWordsNumbers'].setValue('', false) : linkOnCheckbox['IgnoreWordsNumbers'].setValue('checked', false); - (!parseInt(checkboxState['IgnoreMixedCaseWords'], 10)) ? linkOnCheckbox['IgnoreMixedCaseWords'].setValue('', false) : linkOnCheckbox['IgnoreMixedCaseWords'].setValue('checked', false); - (!parseInt(checkboxState['IgnoreDomainNames'], 10)) ? linkOnCheckbox['IgnoreDomainNames'].setValue('', false) : linkOnCheckbox['IgnoreDomainNames'].setValue('checked', false); - - checkboxState['IgnoreAllCapsWords'] = (!linkOnCheckbox['IgnoreAllCapsWords'].getValue()) ? 0 : 1; - checkboxState['IgnoreWordsNumbers'] = (!linkOnCheckbox['IgnoreWordsNumbers'].getValue()) ? 0 : 1; - checkboxState['IgnoreMixedCaseWords'] = (!linkOnCheckbox['IgnoreMixedCaseWords'].getValue()) ? 0 : 1; - checkboxState['IgnoreDomainNames'] = (!linkOnCheckbox['IgnoreDomainNames'].getValue()) ? 0 : 1; - - linkOnCheckbox['IgnoreAllCapsWords'].getElement().$.lastChild.innerHTML = NS.LocalizationComing['IgnoreAllCapsWords']; - linkOnCheckbox['IgnoreWordsNumbers'].getElement().$.lastChild.innerHTML = NS.LocalizationComing['IgnoreWordsWithNumbers']; - linkOnCheckbox['IgnoreMixedCaseWords'].getElement().$.lastChild.innerHTML = NS.LocalizationComing['IgnoreMixedCaseWords']; - linkOnCheckbox['IgnoreDomainNames'].getElement().$.lastChild.innerHTML = NS.LocalizationComing['IgnoreDomainNames']; - }, - onHide: function() { - appTools.postMessage.unbindHandler(cameOptions); - if(activeElement) { - try { - activeElement.focus(); - } catch(e) {} - } - } - }; -}); - -// Expand the spell-check frame when dialog resized. (#6829) -CKEDITOR.dialog.on( 'resize', function( evt ) { - var data = evt.data, - dialog = data.dialog, - currentTabId = dialog._.currentTabId, - tabID = NS.iframeNumber + '_' + currentTabId, - iframe = CKEDITOR.document.getById(tabID); - - if ( dialog._.name == 'checkspell' ) { - if (NS.bnr) { - iframe && iframe.setSize( 'height', data.height - '310' ); - } else { - iframe && iframe.setSize( 'height', data.height - '220' ); - } - } -}); - -CKEDITOR.on('dialogDefinition', function(dialogDefinitionEvent) { - - if(dialogDefinitionEvent.data.name === 'checkspell') { - var dialogDefinition = dialogDefinitionEvent.data.definition; - - NS.onLoadOverlay = new overlayBlock({ - opacity: "1", - background: "#fff", - target: dialogDefinition.dialog.parts.tabs.getParent().$ - }); - - NS.onLoadOverlay.setEnable(); - - dialogDefinition.dialog.on('cancel', function(cancelEvent) { - dialogDefinition.dialog.getParentEditor().config.wsc_onClose.call(this.document.getWindow().getFrame()); - NS.div_overlay.setDisable(); - NS.onLoadOverlay.setDisable(); - return false; - }, this, null, -1); - } -}); -})(); +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +(function(){function v(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}function E(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],d="",e;for(e in a)for(var f in a[e]){var g=a[e][f];"en_US"==g?d=g:c.push(g)}c.sort();d&&c.unshift(d);return{getCurrentLangGroup:function(c){a:{for(var d in a)for(var e in a[d])if(e.toUpperCase()===c.toUpperCase()){c=d;break a}c=""}return c},setLangList:function(){var c={},d;for(d in a)for(var e in a[d])c[a[d][e]]= +e;return c}()}}var h=function(){var a=function(a,b,e){var e=e||{},f=e.expires;if("number"==typeof f&&f){var g=new Date;g.setTime(g.getTime()+1E3*f);f=e.expires=g}f&&f.toUTCString&&(e.expires=f.toUTCString());var b=encodeURIComponent(b),a=a+"="+b,i;for(i in e)b=e[i],a+="; "+i,!0!==b&&(a+="="+b);document.cookie=a};return{postMessage:{init:function(a){window.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=Object.prototype.toString,e= +a.fn||null,f=a.id||"",g=a.target||window,i=a.message||{id:f};a.message&&"[object Object]"==b.call(a.message)&&(a.message.id||(a.message.id=f),i=a.message);a=window.JSON.stringify(i,e);g.postMessage(a,"*")},unbindHandler:function(a){window.removeEventListener?window.removeEventListener("message",a,!1):window.detachEvent("onmessage",a)}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, +"\\$1")+"=([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}},misc:{findFocusable:function(a){var b=null;a&&(b=a.find("a[href], area[href], input, select, textarea, button, *[tabindex], *[contenteditable]"));return b},isVisible:function(a){return!(0===a.offsetWidth||0==a.offsetHeight||"none"===(document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(a,null).display:a.currentStyle?a.currentStyle.display:a.style.display))}, +hasClass:function(a,b){return!(!a.className||!a.className.match(RegExp("(\\s|^)"+b+"(\\s|$)")))}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=null;a.grammerSuggest=null;a.textNode={};a.iframeMain=null;a.dataTemp="";a.div_overlay=null;a.textNodeInfo={};a.selectNode={};a.selectNodeResponce={};a.langList=null;a.langSelectbox=null;a.banner="";a.show_grammar=null;a.div_overlay_no_check=null;a.targetFromFrame= +{};a.onLoadOverlay=null;a.LocalizationComing={};a.OverlayPlace=null;a.sessionid="";a.LocalizationButton={ChangeTo_button:{instance:null,text:"Change to",localizationID:"ChangeTo"},ChangeAll:{instance:null,text:"Change All"},IgnoreWord:{instance:null,text:"Ignore word"},IgnoreAllWords:{instance:null,text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking_button:{instance:null,text:"Finish Checking",localizationID:"FinishChecking"}, +FinishChecking_button_block:{instance:null,text:"Finish Checking",localizationID:"FinishChecking"}};a.LocalizationLabel={ChangeTo_label:{instance:null,text:"Change to",localizationID:"ChangeTo"},Suggestions:{instance:null,text:"Suggestions"},Categories:{instance:null,text:"Categories"},Synonyms:{instance:null,text:"Synonyms"}};var F=function(b){var c,d,e;for(e in b)c=(c=a.dialog.getContentElement(a.dialog._.currentTabId,e))?c.getElement():b[e].instance.getElement().getFirst()||b[e].instance.getElement(), +d=b[e].localizationID||e,c.setText(a.LocalizationComing[d])},G=function(b){var c,d,e;for(e in b)if(c=a.dialog.getContentElement(a.dialog._.currentTabId,e),c||(c=b[e].instance),c.setLabel)d=b[e].localizationID||e,c.setLabel(a.LocalizationComing[d]+":")},n,w;a.framesetHtml=function(b){return"'};a.setIframe=function(b,c){var d; +d=a.framesetHtml(c);var e=a.iframeNumber+"_"+c;b.getElement().setHtml(d);d=document.getElementById(e);d=d.contentWindow?d.contentWindow:d.contentDocument.document?d.contentDocument.document:d.contentDocument;d.document.open();d.document.write('iframe
    '; - - // For IE<9 add support for HTML5's elements. - // Note: this code must not be deferred. - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) { - bootstrapCode += - ''; - } - - // IE<10 needs this hack to properly enable . - // See: http://stackoverflow.com/a/13373180/1485219 (#11910). - if ( baseTag && CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) { - bootstrapCode += - ''; - } - - data = data.replace( /(?=\s*<\/(:?head)>)/, bootstrapCode ); - - // Current DOM will be deconstructed by document.write, cleanup required. - this.clearCustomData(); - this.clearListeners(); - - editor.fire( 'contentDomUnload' ); - - var doc = this.getDocument(); - - // Work around Firefox bug - error prune when called from XUL (#320), - // defer it thanks to the async nature of this method. - try { doc.write( data ); } catch ( e ) { - setTimeout( function() { doc.write( data ); }, 0 ); - } - } - }, - - getData: function( isSnapshot ) { - if ( isSnapshot ) - return this.getHtml(); - else { - var editor = this.editor, - config = editor.config, - fullPage = config.fullPage, - docType = fullPage && editor.docType, - xmlDeclaration = fullPage && editor.xmlDeclaration, - doc = this.getDocument(); - - var data = fullPage ? doc.getDocumentElement().getOuterHtml() : doc.getBody().getHtml(); - - // BR at the end of document is bogus node for Mozilla. (#5293). - // Prevent BRs from disappearing from the end of the content - // while enterMode is ENTER_BR (#10146). - if ( CKEDITOR.env.gecko && config.enterMode != CKEDITOR.ENTER_BR ) - data = data.replace( /
    (?=\s*(:?$|<\/body>))/, '' ); - - data = editor.dataProcessor.toDataFormat( data ); - - if ( xmlDeclaration ) - data = xmlDeclaration + '\n' + data; - if ( docType ) - data = docType + '\n' + data; - - return data; - } - }, - - focus: function() { - if ( this._.isLoadingData ) - this._.isPendingFocus = true; - else - framedWysiwyg.baseProto.focus.call( this ); - }, - - detach: function() { - var editor = this.editor, - doc = editor.document, - iframe = editor.window.getFrame(); - - framedWysiwyg.baseProto.detach.call( this ); - - // Memory leak proof. - this.clearCustomData(); - doc.getDocumentElement().clearCustomData(); - iframe.clearCustomData(); - CKEDITOR.tools.removeFunction( this._.frameLoadedHandler ); - - var onResize = iframe.removeCustomData( 'onResize' ); - onResize && onResize.removeListener(); - - // IE BUG: When destroying editor DOM with the selection remains inside - // editing area would break IE7/8's selection system, we have to put the editing - // iframe offline first. (#3812 and #5441) - iframe.remove(); - } - } - } ); - - function objectResizeDisabler( editor ) { - if ( CKEDITOR.env.gecko ) { - // FF allows to change resizing preferences by calling execCommand. - try { - var doc = editor.document.$; - doc.execCommand( 'enableObjectResizing', false, !editor.config.disableObjectResizing ); - doc.execCommand( 'enableInlineTableEditing', false, !editor.config.disableNativeTableHandles ); - } catch( e ) {} - } else if ( CKEDITOR.env.ie && CKEDITOR.env.version < 11 && editor.config.disableObjectResizing ) { - // It's possible to prevent resizing up to IE10. - blockResizeStart( editor ); - } - - // Disables resizing by preventing default action on resizestart event. - function blockResizeStart() { - var lastListeningElement; - - // We'll attach only one listener at a time, instead of adding it to every img, input, hr etc. - // Listener will be attached upon selectionChange, we'll also check if there was any element that - // got listener before (lastListeningElement) - if so we need to remove previous listener. - editor.editable().attachListener( editor, 'selectionChange', function() { - var selectedElement = editor.getSelection().getSelectedElement(); - - if ( selectedElement ) { - if ( lastListeningElement ) { - lastListeningElement.detachEvent( 'onresizestart', resizeStartListener ); - lastListeningElement = null; - } - - // IE requires using attachEvent, because it does not work using W3C compilant addEventListener, - // tested with IE10. - selectedElement.$.attachEvent( 'onresizestart', resizeStartListener ); - lastListeningElement = selectedElement.$; - } - } ); - } - - function resizeStartListener( evt ) { - evt.returnValue = false; - } - } - - // DOM modification here should not bother dirty flag.(#4385) - function restoreDirty( editor ) { - if ( !editor.checkDirty() ) - setTimeout( function() { - editor.resetDirty(); - }, 0 ); - } - - function iframeCssFixes() { - var css = []; - - // IE>=8 stricts mode doesn't have 'contentEditable' in effect - // on element unless it has layout. (#5562) - if ( CKEDITOR.document.$.documentMode >= 8 ) { - css.push( 'html.CSS1Compat [contenteditable=false]{min-height:0 !important}' ); - - var selectors = []; - - for ( var tag in CKEDITOR.dtd.$removeEmpty ) - selectors.push( 'html.CSS1Compat ' + tag + '[contenteditable=false]' ); - - css.push( selectors.join( ',' ) + '{display:inline-block}' ); - } - // Set the HTML style to 100% to have the text cursor in affect (#6341) - else if ( CKEDITOR.env.gecko ) { - css.push( 'html{height:100% !important}' ); - css.push( 'img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}' ); - } - - // #6341: The text cursor must be set on the editor area. - // #6632: Avoid having "text" shape of cursor in IE7 scrollbars. - css.push( 'html{cursor:text;*cursor:auto}' ); - - // Use correct cursor for these elements - css.push( 'img,input,textarea{cursor:default}' ); - - return css.join( '\n' ); - } -} )(); - -/** - * Disables the ability to resize objects (images and tables) in the editing area. - * - * config.disableObjectResizing = true; - * - * **Note:** Because of incomplete implementation of editing features in browsers - * this option does not work for inline editors (see ticket [#10197](http://dev.ckeditor.com/ticket/10197)), - * does not work in Internet Explorer 11+ (see [#9317](http://dev.ckeditor.com/ticket/9317#comment:16) and - * [IE11+ issue](https://connect.microsoft.com/IE/feedback/details/742593/please-respect-execcommand-enableobjectresizing-in-contenteditable-elements)). - * In Internet Explorer 8-10 this option only blocks resizing, but it is unable to hide the resize handles. - * - * @cfg - * @member CKEDITOR.config - */ -CKEDITOR.config.disableObjectResizing = false; - -/** - * Disables the "table tools" offered natively by the browser (currently - * Firefox only) to perform quick table editing operations, like adding or - * deleting rows and columns. - * - * config.disableNativeTableHandles = false; - * - * @cfg - * @member CKEDITOR.config - */ -CKEDITOR.config.disableNativeTableHandles = true; - -/** - * Disables the built-in spell checker if the browser provides one. - * - * **Note:** Although word suggestions provided natively by the browsers will - * not appear in CKEditor's default context menu, - * users can always reach the native context menu by holding the - * *Ctrl* key when right-clicking if {@link #browserContextMenuOnCtrl} - * is enabled or you are simply not using the - * [context menu](http://ckeditor.com/addon/contextmenu) plugin. - * - * config.disableNativeSpellChecker = false; - * - * @cfg - * @member CKEDITOR.config - */ -CKEDITOR.config.disableNativeSpellChecker = true; - -/** - * The CSS file(s) to be used to apply style to editor content. It should - * reflect the CSS used in the target pages where the content is to be - * displayed. - * - * **Note:** This configuration value is ignored by [inline editor](#!/guide/dev_inline) - * as it uses the styles that come directly from the page that CKEditor is - * rendered on. - * - * config.contentsCss = '/css/mysitestyles.css'; - * config.contentsCss = ['/css/mysitestyles.css', '/css/anotherfile.css']; - * - * @cfg {String/Array} [contentsCss=CKEDITOR.getUrl( 'contents.css' )] - * @member CKEDITOR.config - */ -CKEDITOR.config.contentsCss = CKEDITOR.getUrl( 'contents.css' ); - -/** - * Language code of the writing language which is used to author the editor - * content. - * - * config.contentsLanguage = 'fr'; - * - * @cfg {String} [contentsLanguage=same value with editor's UI language] - * @member CKEDITOR.config - */ - -/** - * The base href URL used to resolve relative and absolute URLs in the - * editor content. - * - * config.baseHref = 'http://www.example.com/path/'; - * - * @cfg {String} [baseHref=''] - * @member CKEDITOR.config - */ - -/** - * Whether to automatically create wrapping blocks around inline content inside the document body. - * This helps to ensure the integrity of the block *Enter* mode. - * - * **Note:** Changing the default value might introduce unpredictable usability issues. - * - * config.autoParagraph = false; - * - * @since 3.6 - * @cfg {Boolean} [autoParagraph=true] - * @member CKEDITOR.config - */ - -/** - * Fired when some elements are added to the document. - * - * @event ariaWidget - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - * @param {CKEDITOR.dom.element} data The element being added. - */ diff --git a/scripts/ckeditor/plugins/wysiwygarea/samples/fullpage.html b/scripts/ckeditor/plugins/wysiwygarea/samples/fullpage.html deleted file mode 100755 index 174a25f3..00000000 --- a/scripts/ckeditor/plugins/wysiwygarea/samples/fullpage.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - Full Page Editing — CKEditor Sample - - - - - - - - - -

    - CKEditor Samples » Full Page Editing -

    -
    -

    - This sample shows how to configure CKEditor to edit entire HTML pages, from the - <html> tag to the </html> tag. -

    -

    - The CKEditor instance below is inserted with a JavaScript call using the following code: -

    -
    -CKEDITOR.replace( 'textarea_id', {
    -	fullPage: true,
    -	allowedContent: true
    -});
    -
    -

    - Note that textarea_id in the code above is the id attribute of - the <textarea> element to be replaced. -

    -

    - The allowedContent in the code above is set to true to disable content filtering. - Setting this option is not obligatory, but in full page mode there is a strong chance that one may want be able to freely enter any HTML content in source mode without any limitations. -

    -
    -
    - - - -

    - -

    -
    - - - diff --git a/scripts/ckeditor/samples/assets/inlineall/logo.png b/scripts/ckeditor/samples/assets/inlineall/logo.png deleted file mode 100755 index 334e7ac9..00000000 Binary files a/scripts/ckeditor/samples/assets/inlineall/logo.png and /dev/null differ diff --git a/scripts/ckeditor/samples/assets/sample.jpg b/scripts/ckeditor/samples/assets/sample.jpg deleted file mode 100755 index a4a77fae..00000000 Binary files a/scripts/ckeditor/samples/assets/sample.jpg and /dev/null differ diff --git a/scripts/ckeditor/samples/assets/uilanguages/languages.js b/scripts/ckeditor/samples/assets/uilanguages/languages.js deleted file mode 100755 index a5a7f12e..00000000 --- a/scripts/ckeditor/samples/assets/uilanguages/languages.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -var CKEDITOR_LANGS = ( function() { - var langs = { - af: 'Afrikaans', - ar: 'Arabic', - bg: 'Bulgarian', - bn: 'Bengali/Bangla', - bs: 'Bosnian', - ca: 'Catalan', - cs: 'Czech', - cy: 'Welsh', - da: 'Danish', - de: 'German', - el: 'Greek', - en: 'English', - 'en-au': 'English (Australia)', - 'en-ca': 'English (Canadian)', - 'en-gb': 'English (United Kingdom)', - eo: 'Esperanto', - es: 'Spanish', - et: 'Estonian', - eu: 'Basque', - fa: 'Persian', - fi: 'Finnish', - fo: 'Faroese', - fr: 'French', - 'fr-ca': 'French (Canada)', - gl: 'Galician', - gu: 'Gujarati', - he: 'Hebrew', - hi: 'Hindi', - hr: 'Croatian', - hu: 'Hungarian', - id: 'Indonesian', - is: 'Icelandic', - it: 'Italian', - ja: 'Japanese', - ka: 'Georgian', - km: 'Khmer', - ko: 'Korean', - ku : 'Kurdish', - lt: 'Lithuanian', - lv: 'Latvian', - mk: 'Macedonian', - mn: 'Mongolian', - ms: 'Malay', - nb: 'Norwegian Bokmal', - nl: 'Dutch', - no: 'Norwegian', - pl: 'Polish', - pt: 'Portuguese (Portugal)', - 'pt-br': 'Portuguese (Brazil)', - ro: 'Romanian', - ru: 'Russian', - si: 'Sinhala', - sk: 'Slovak', - sq : 'Albanian', - sl: 'Slovenian', - sr: 'Serbian (Cyrillic)', - 'sr-latn': 'Serbian (Latin)', - sv: 'Swedish', - th: 'Thai', - tr: 'Turkish', - tt: 'Tatar', - ug: 'Uighur', - uk: 'Ukrainian', - vi: 'Vietnamese', - zh: 'Chinese Traditional', - 'zh-cn': 'Chinese Simplified' - }; - - var langsArray = []; - - for ( var code in CKEDITOR.lang.languages ) { - langsArray.push( { code: code, name: ( langs[ code ] || code ) } ); - } - - langsArray.sort( function( a, b ) { - return ( a.name < b.name ) ? -1 : 1; - } ); - - return langsArray; -} )(); diff --git a/scripts/ckeditor/samples/css/samples.css b/scripts/ckeditor/samples/css/samples.css new file mode 100644 index 00000000..f2744b31 --- /dev/null +++ b/scripts/ckeditor/samples/css/samples.css @@ -0,0 +1,1651 @@ +/** + * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ +@media (max-width: 900px) { + .global-is-mobile-hidden { + display: none !important; + } +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section { + display: block; +} +body, +html { + margin: 0; + padding: 0; + font: 16px / 1.8 Arial, 'Helvetica Neue', Helvetica, sans-serif; + font-weight: 300; + color: #575757; +} +.grid-width-10 { + width: 10%; +} +.grid-width-20 { + width: 20%; +} +.grid-width-30 { + width: 30%; +} +.grid-width-40 { + width: 40%; +} +.grid-width-50 { + width: 50%; +} +.grid-width-60 { + width: 60%; +} +.grid-width-70 { + width: 70%; +} +.grid-width-80 { + width: 80%; +} +.grid-width-90 { + width: 90%; +} +.grid-width-100 { + width: 100%; +} +@media (max-width: 900px) { + .grid-width-10, + .grid-width-20, + .grid-width-30, + .grid-width-40, + .grid-width-50, + .grid-width-60, + .grid-width-70, + .grid-width-80, + .grid-width-90, + .grid-width-100 { + width: 100%; + } +} +*[class*="grid-width"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding-left: 4%; + padding-right: 4%; + float: left; +} +*[class*="grid-width"]:after, +.grid-container:after, +*[class*="grid-width"]:before, +.grid-container:before { + content: ''; + display: block; + overflow: hidden; + visibility: hidden; + font-size: 0; + line-height: 0; + width: 0; + height: 0; +} +*[class*="grid-width"]:after, +.grid-container:after { + clear: both; +} +.grid-container { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-left: auto; + margin-right: auto; +} +.grid-container-nested *[class*="grid-width"]:first-child { + padding-left: 0; +} +.grid-container-nested *[class*="grid-width"]:last-child { + padding-right: 0; +} +@media (max-width: 900px) { + .grid-container-nested *[class*="grid-width"]:first-child { + padding-left: 4%; + } + .grid-container-nested *[class*="grid-width"]:last-child { + padding-right: 4%; + } +} +.header-a { + min-height: 140px; + overflow: hidden; +} +.header-a .header-a-logo { + margin: 40px 0 0; +} +@media (max-width: 900px) { + .header-a .header-a-logo { + text-align: center; + } +} +.header-a .header-a-logo img { + border: transparent; +} +.navigation-a { + height: 30px; + background: #3d3d3d; + position: absolute; + left: 0; + right: 0; + top: 0; + padding: 0; + overflow: hidden; +} +@media (max-width: 900px) { + .navigation-a { + text-align: center; + } +} +.navigation-a ul { + list-style: none; + margin: 0; + overflow: hidden; +} +.navigation-a ul li, +.navigation-a ul li a { + display: inline-block; +} +@media (max-width: 900px) { + .navigation-a ul { + width: auto; + text-overflow: ellipsis; + white-space: nowrap; + display: inline-block; + float: none; + } + .navigation-a ul:before, + .navigation-a ul:after { + display: none; + } +} +.navigation-a ul.navigation-a-left { + text-align: left; +} +@media (max-width: 900px) { + .navigation-a ul.navigation-a-left { + padding-right: 0; + } +} +.navigation-a ul.navigation-a-right { + text-align: right; +} +@media (max-width: 900px) { + .navigation-a ul.navigation-a-right { + padding-left: 23px; + } +} +.navigation-a ul li + li { + margin-left: 23px; +} +.navigation-a ul li a { + font-size: 10px; + font-size: 0.625rem; + line-height: 18px; + line-height: 1.13rem; + line-height: 30px; + float: left; + color: #dddddd; + font-weight: bold; + text-decoration: none; + text-transform: uppercase; +} +.navigation-a ul li a:hover { + cursor: pointer; + color: #ffffff; +} +.icon-navigation-a-github:before, +.icon-navigation-a-github:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAa9JREFUOBGNlM8rRGEUht0pDGosjKYZpUSIkuwsiCaxUEqK2VOUBcrWv2BjxUJho6wsLLDzY2fhD5iR5NeOcJvIjOfM3O927m3mmlPPnPec835nZprvjlVVJvL5fCOjMWiDCLzCLVxZlpUj/x8saYV9+IZS8UJzFWoCt2GYgk+oJG4wJUouZDANv5VsUZ47dNSzkEYHfIDEHixDWgoiB/rTHlPPwBNInPmXHRb7hdeUDFG10AN1Th1Fd5mD6BMwMVnoUyVA3t3EkjkQlDFfmwPkc7NsQTXf0bGgJWaGb16dk18+EmLYawzkC+6Q3KdK4kiZqtGdskx/kmdlCJS86RuGrDLFZJmtGi1KB0q+VhOGsDLZsiyjGsOY4qoOkrO+YUauwCDoOKWo9xk9JfM+MPdSzqZdA8UlyDO3AvKLPsIG9LsmBHUKduEHdCy6PrpJZyKXdwKMOemaissOHJ9O9xTeh57GluMYIsehWy8STW/d8ZhkI0b9PjFasA1fsAOb0KCN1PLXYyKLGNdzj2YYArnZDyDRrA3Ua4UuDzd5QM/KaoxhmAO5Om5Qt8OI2/CJP6MVa1dvltQ5AAAAAElFTkSuQmCC"); +} +.navigation-b { + text-align: right; + margin: 52px 0 0; + overflow: visible; +} +@media (max-width: 900px) { + .navigation-b { + text-align: center; + margin-top: 20px; + padding: 0; + } +} +.navigation-b ul { + padding: 0; + list-style: none; + margin: 0; + overflow: visible; +} +.navigation-b ul li, +.navigation-b ul li a { + display: inline-block; +} +@media (max-width: 900px) { + .navigation-b ul { + display: table; + width: 100%; + padding-bottom: 1.5em; + } +} +@media (max-width: 900px) { + .navigation-b ul li { + display: table-row; + } +} +.navigation-b ul li + li { + margin-left: 20px; +} +@media (max-width: 900px) { + .navigation-b ul li + li { + margin-left: 0; + } +} +.navigation-b ul li a { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-transform: uppercase; + text-decoration: none; + outline: none; +} +@media (max-width: 900px) { + .navigation-b ul li a { + width: 100%; + -webkit-border-radius: 0; + -webkit-background-clip: padding-box; + -moz-border-radius: 0; + -moz-background-clip: padding; + border-radius: 0; + background-clip: padding-box; + } +} +.footer-a { + font-size: 13px; + font-size: 0.8125rem; + line-height: 23.4px; + line-height: 1.46rem; + padding-top: 2.25em; + padding-bottom: 2.25em; + overflow: hidden; + color: #8a8a8a; +} +.footer-a a { + color: #27c0d8; + text-decoration: none; + border-bottom: 1px dotted #27c0d8; +} +.footer-a a:hover { + color: #23adc2; +} +.footer-a p { + margin: 0; + display: inline-block; + text-align: center; +} +.content { + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + overflow: hidden; + padding-top: 1.5em; + padding-bottom: 1.5em; +} +.content p { + margin: 0.75em 0; +} +.content ul, +.content ol, +.content pre, +.content blockquote, +.content textarea:not([class^="cke"]), +.content .cke { + margin: 1.875em 0; +} +.content code, +.content kbd { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + padding: 3px 4px; +} +.content pre, +.content code, +.content kbd, +.content blockquote { + background: #f5f5f5; +} +.content blockquote, +.content pre { + background: none; + border-left: 4px solid #27c0d8; + padding: 1.5em 2.25em; +} +.content p a, +.content ul a, +.content ol a, +.content blockquote a, +.content h1 a, +.content h2 a, +.content h3 a, +.content h4 a, +.content h5 a { + color: #27c0d8; + text-decoration: none; + border-bottom: 1px dotted #27c0d8; +} +.content p a:hover, +.content ul a:hover, +.content ol a:hover, +.content blockquote a:hover, +.content h1 a:hover, +.content h2 a:hover, +.content h3 a:hover, +.content h4 a:hover, +.content h5 a:hover { + color: #23adc2; +} +.content h1, +.content h2, +.content h3, +.content h4, +.content h5 { + color: #000; + font-weight: 100; +} +.content h1 code, +.content h2 code, +.content h3 code, +.content h4 code, +.content h5 code, +.content h1 kbd, +.content h2 kbd, +.content h3 kbd, +.content h4 kbd, +.content h5 kbd { + font-size: inherit; +} +.content h1 a.content-heading-anchor, +.content h2 a.content-heading-anchor, +.content h3 a.content-heading-anchor, +.content h4 a.content-heading-anchor, +.content h5 a.content-heading-anchor { + font-weight: 100; + vertical-align: middle; + opacity: 0; + border: 0; +} +.content h1:hover a.content-heading-anchor, +.content h2:hover a.content-heading-anchor, +.content h3:hover a.content-heading-anchor, +.content h4:hover a.content-heading-anchor, +.content h5:hover a.content-heading-anchor { + opacity: 1; +} +.content h1:target lesshat-selector, +.content h2:target lesshat-selector, +.content h3:target lesshat-selector, +.content h4:target lesshat-selector, +.content h5:target lesshat-selector { + -lh-property: 0; } +@-webkit-keyframes targetLinkOpacity{ 0%{ opacity: 0 } 100%{ opacity: 1 }} +@-moz-keyframes targetLinkOpacity{ 0%{ opacity: 0 } 100%{ opacity: 1 }} +@-o-keyframes targetLinkOpacity{ 0%{ opacity: 0 } 100%{ opacity: 1 }} +@keyframes targetLinkOpacity{ 0%{ opacity: 0 } 100%{ opacity: 1 }; +} +.content h1:target a, +.content h2:target a, +.content h3:target a, +.content h4:target a, +.content h5:target a { + -webkit-animation: targetLinkOpacity 0.5s linear alternate; + -moz-animation: targetLinkOpacity 0.5s linear alternate; + -o-animation: targetLinkOpacity 0.5s linear alternate; + animation: targetLinkOpacity 0.5s linear alternate; + opacity: 1; +} +.content input, +.content select, +.content textarea:not([class^="cke"]) { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08); + font: inherit; + color: inherit; + border: 1px solid #d9d9d9; + padding: .2em .5em; +} +.content input:focus, +.content select:focus, +.content textarea:not([class^="cke"]):focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px #93c6ef; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px #93c6ef; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px #93c6ef; +} +.content abbr { + border-bottom: 1px dotted #666; + cursor: pointer; +} +.content blockquote { + font-style: italic; + font-family: Georgia, Times, "Times New Roman", serif; + font-size: 16px; + font-size: 1rem; + line-height: 28.8px; + line-height: 1.8rem; +} +.content em { + font-style: italic; +} +.content h1 { + font-size: 36px; + font-size: 2.25rem; + line-height: 64.8px; + line-height: 4.05rem; + margin: 1.125em 0 0; +} +.content h2 { + font-size: 27.2px; + font-size: 1.7rem; + line-height: 48.96px; + line-height: 3.06rem; + margin: 0.9em 0 0; +} +.content h3 { + font-size: 24px; + font-size: 1.5rem; + line-height: 43.2px; + line-height: 2.7rem; + font-weight: 500; + margin: 0.75em 0 0; +} +.content h4 { + font-size: 19.2px; + font-size: 1.2rem; + line-height: 34.56px; + line-height: 2.16rem; + font-weight: 500; + margin: 0.75em 0 0; +} +.content h5 { + font-size: 17.6px; + font-size: 1.1rem; + line-height: 31.68px; + line-height: 1.98rem; + font-weight: 500; + margin: 0.75em 0 0; +} +.content hr { + border: 0; + border-top: 4px solid #d9d9d9; + margin: 1.5em 0; +} +.content input[type="text"] { + height: 1.8em; + line-height: 1.8em; +} +.content input[type="button"] { + -webkit-appearance: button; + -moz-appearance: button; + appearance: button; +} +.content kbd { + font-size: 12px; + font-size: 0.75rem; + line-height: 21.6px; + line-height: 1.35rem; + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; + padding: 2px 6px; + -webkit-box-shadow: 0 0 4px #ffffff inset, 0 2px 0 #d9d9d9; + -moz-box-shadow: 0 0 4px #ffffff inset, 0 2px 0 #d9d9d9; + box-shadow: 0 0 4px #ffffff inset, 0 2px 0 #d9d9d9; +} +.content p img { + vertical-align: middle; +} +.content p pre { + padding: 1.5em; +} +.content pre { + padding: 0; + border: 0; + tab-size: 4; + -o-tab-size: 4; + -moz-tab-size: 4; +} +.content pre, +.content code { + font-size: 11.89px; + font-size: 0.743rem; + line-height: 21.4px; + line-height: 1.34rem; + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; +} +.content pre a, +.content code a { + border: 0; +} +.content pre code { + padding: 0.75em; + display: block; +} +.content strong { + color: #000; +} +.content ul ul, +.content ol ul, +.content ul ol, +.content ol ol { + margin: 0.75em 0; +} +.content ul li, +.content ol li { + font-size: 14px; + font-size: 0.875rem; + line-height: 30.24px; + line-height: 1.89rem; +} +.content textarea:not([class^="cke"]) { + width: 100%; +} +.content div.todo { + border: 2px dotted #444; + padding: 10px; + margin: 60px 0 10px 0; + /* Remove me some day */ +} +.content div.todo:before { + content: "TODO"; + font-weight: bold; +} +body a.button-a, +body button.button-a, +body input.button-a { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + height: 36px; + line-height: 36px; + padding: 0 1.1em; + font-weight: 700; + color: #3e3e3e; + white-space: nowrap; + text-decoration: none; + display: inline-block; + cursor: pointer; + border: 0; + vertical-align: middle; + margin: 1px 0; + background: transparent; +} +body a.button-a.icon-pos-left, +body button.button-a.icon-pos-left, +body input.button-a.icon-pos-left { + padding-left: .8em; +} +body a.button-a.icon-pos-right, +body button.button-a.icon-pos-right, +body input.button-a.icon-pos-right { + padding-right: .8em; +} +body a.button-a.button-a-no-text, +body button.button-a.button-a-no-text, +body input.button-a.button-a-no-text { + -webkit-border-radius: 100px; + -webkit-background-clip: padding-box; + -moz-border-radius: 100px; + -moz-background-clip: padding; + border-radius: 100px; + background-clip: padding-box; + width: 36px; + padding: 0; + text-indent: -999px; + overflow: hidden; + position: relative; + text-align: center; +} +body a.button-a.button-a-no-text:before, +body button.button-a.button-a-no-text:before, +body input.button-a.button-a-no-text:before { + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; +} +@media (max-width: 900px) { + body a.button-a.button-a-mobile-collapsed, + body button.button-a.button-a-mobile-collapsed, + body input.button-a.button-a-mobile-collapsed { + -webkit-border-radius: 100px; + -webkit-background-clip: padding-box; + -moz-border-radius: 100px; + -moz-background-clip: padding; + border-radius: 100px; + background-clip: padding-box; + width: 36px; + padding: 0; + text-indent: -999px; + overflow: hidden; + position: relative; + text-align: center; + } + body a.button-a.button-a-mobile-collapsed:before, + body button.button-a.button-a-mobile-collapsed:before, + body input.button-a.button-a-mobile-collapsed:before { + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; + } + body a.button-a.button-a-mobile-collapsed:before, + body button.button-a.button-a-mobile-collapsed:before, + body input.button-a.button-a-mobile-collapsed:before { + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; + } +} +body a.button-a:active, +body button.button-a:active, +body input.button-a:active, +body a.button-a:hover, +body button.button-a:hover, +body input.button-a:hover { + color: #fff; + background: #23adc2; +} +body a.button-a:focus, +body button.button-a:focus, +body input.button-a:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #93c6ef; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #93c6ef; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #93c6ef; +} +body a.button-a-soft, +body button.button-a-soft, +body input.button-a-soft { + background: #e7e7e7; +} +body a.button-a-soft:active, +body button.button-a-soft:active, +body input.button-a-soft:active, +body a.button-a-soft:hover, +body button.button-a-soft:hover, +body input.button-a-soft:hover { + color: #3e3e3e; + background: #cecece; +} +body a.button-a-background, +body button.button-a-background, +body input.button-a-background, +body a.navigation-b ul li a:hover, +body button.navigation-b ul li a:hover, +body input.navigation-b ul li a:hover { + color: #fff; + background: #27c0d8; +} +body a.button-a-background:active, +body button.button-a-background:active, +body input.button-a-background:active, +body a.button-a-background:hover, +body button.button-a-background:hover, +body input.button-a-background:hover, +body a.navigation-b ul li a:hover:active, +body button.navigation-b ul li a:hover:active, +body input.navigation-b ul li a:hover:active, +body a.navigation-b ul li a:hover:hover, +body button.navigation-b ul li a:hover:hover, +body input.navigation-b ul li a:hover:hover { + color: #fff; + background: #23adc2; +} +.balloon-a { + font-size: 12px; + font-size: 0.75rem; + line-height: 21.6px; + line-height: 1.35rem; + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + border-bottom: 3px solid #d4d4d4; + background: #ebebeb; + display: inline-block; + white-space: nowrap; + padding: .4em 1.2em .2em; + font-weight: 700; + position: relative; + z-index: 1000; + text-transform: none; + color: #575757; +} +.balloon-a:hover { + color: #575757; +} +.balloon-a:before { + content: ''; + width: 0; + height: 0; + border-style: solid; + position: absolute; +} +.balloon-a-ne:before, +.balloon-a-nw:before { + top: -13px; + border-width: 0 9px 15.6px 9px; + border-color: transparent transparent #ebebeb transparent; +} +.balloon-a-se:before, +.balloon-a-sw:before { + bottom: -13px; + border-width: 15.6px 9px 0 9px; + border-color: #ebebeb transparent transparent transparent; +} +.balloon-a-nw:before, +.balloon-a-sw:before { + left: 20px; +} +.balloon-a-ne:before, +.balloon-a-se:before { + right: 20px; +} +.icon-pos-left:before, +.icon-pos-right:after { + content: ''; + display: inline-block; + width: 18px; + height: 18px; + vertical-align: middle; + background-repeat: no-repeat; +} +.icon-pos-left:before { + margin-right: 10px; +} +.icon-pos-right:after { + margin-left: 10px; +} +.icon-download:before, +.icon-download:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAQFJREFUOBGtVDESgjAQBGfobHwE/AIa/AN/8EEWfMWGZ+gDaG2ws8BdyY13SRgGcGducre3WQ5NSJIIxnGsES3ijhhcMCdXR7ZYCqIc0SGWQE1ud7sKjRLxXHJQfWpLYwaCk6wxET/u+U2GIngd8yRViINau28bBH/YAGqvSQPhRNQHqBqj3FY0NKq27TW7qhSTDaCOhkaRAj7Hmm8S4V+c6C+gUa+crsizuWmoc70MKbWCnqPy2GvcUJxE4a/sIajRaGkU+/sf4IuISQGePR/T/QMbHEhwPLVnMWPuOCwGnWg41dwVeaN3ccHch70idIRi/6WV0WC2/zMiZm661R+2DxyEdjTuST3mAAAAAElFTkSuQmCC"); +} +.icon-question-mark:before, +.icon-question-mark:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAUhJREFUOBGllLFOAkEQhjk0WthT2JFA7Czsqc7OxFLewEeAZ/AVbO0tTLTSBKhstTBUNkYLEoVAbD2//zILe5e9uwCT/JnZmX/+m83ebq0WsCRJYnANxmBhUKxcHGjJpiC1wQBUmTjtbLetKHTAT5WCVxe3kxEjoUmKRL6pvYEZyJt6VpOxCG3nmfyx+yJxBM7BFPg2SDlkTv2sxZqi4YnUvfgswI9FuHAkzz9EUTTRmqYeTifXsvoj/s9i57oi6ljz9kviFdyBCbgHe+rCn4C8jVXQ18rshuKOiTSIXwLkRZWQTurARJrE7wERpea7kD7BkcgB+yB3CFGlPmgqCNiXhEagSGif2qU1Ln8FW/tupK3pXhXZrWNDuCoikY/rHPMT5KFr2MAPTSM90rIrUjJIeq1WV0RTwN7+0rrtILb9M+LEbLq1H7Z/Ea3+RvBddl0AAAAASUVORK5CYII="); +} +.icon-close:before, +.icon-close:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAUlJREFUOBGllDFuwzAMRe3Cd+jYKUCzd/XkDtm9dsoVOuUqBnqBoodwgBwiW8ZsXTIWqPu+Iia0LMAoTOBbJEV+UZTkosjIMAwN6MARXCKky9dkUsYuglagB3OimNU4O1pM1OB7jsHNK7YekeFQJZ5kj/0LcnLA+RMnlHOvDMNv5wO7BFuQkn3hq0ALjKwPVeF4BSaqpLRy0T1ZIHFz75bE2BR8dBImqmBrwRplg09QmR/9GZyBSadAHauXCZkRROKURLlHEemepJIlIyhHotzLg1/N6erTxtmmvqA8muHGIbc1rTBqrEuwnqWnGbbmmz0hwaHtvM2QhWbrXZnosvnTWWPrdCY9w7cDJtf3h9VHjy5Zq9UZ08beyJh7Aicg6W/VYvgnIjJdNn9PMIOITJWcgnV9VvcnEitY/mitNFZZ/hsxsljdv39sfybRQ4R/kU0MAAAAAElFTkSuQmCC"); +} +.ie8 .switch > * { + vertical-align: middle; +} +.ie8 .switch input[type="radio"] { + margin: 0 0.25em; + display: inline-block; +} +.ie8 .switch label { + margin-left: 0 !important; + margin-right: 0 !important; +} +.ie8 .switch label[data-for="1"] { + float: left; +} +.ie8 .switch label[data-for="2"] { + float: right; +} +.ie8 .switch .switch-inner { + display: none; +} +.switch { + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + font-weight: bold; + background-color: #27c0d8; + overflow: hidden; + display: inline-block; + padding: 0.75em 0.25em; + color: #fff; + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + position: relative; +} +.switch input[type="radio"] { + display: none; +} +.switch label { + position: relative; + z-index: 2; + float: left; + cursor: pointer; + padding: 0 0.75em; +} +.switch label:hover { + text-decoration: underline; +} +.switch .switch-inner { + float: left; + background-color: #FFF; + height: 1.5em; + width: 4.125em; + padding: 2px; + margin: 0 0.25em; + -webkit-border-radius: 5.5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 5.5px; + -moz-background-clip: padding; + border-radius: 5.5px; + background-clip: padding-box; +} +.switch .switch-inner .handler { + overflow: hidden; + position: relative; + display: block; + height: 1.5em; + width: 1.5em; + background: #25b4cb; + -webkit-border-radius: 4.5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 4.5px; + -moz-background-clip: padding; + border-radius: 4.5px; + background-clip: padding-box; +} +.switch .switch-inner .handler:before { + content: ''; + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 3px; + left: 0; + background-color: #34c4da; + -webkit-border-bottom-left-radius: 4.5px; + -moz-border-radius-bottomleft: 4.5px; + border-bottom-left-radius: 4.5px; + -webkit-border-bottom-right-radius: 4.5px; + -webkit-background-clip: padding-box; + -moz-border-radius-bottomright: 4.5px; + -moz-background-clip: padding; + border-bottom-right-radius: 4.5px; + background-clip: padding-box; +} +.switch:hover .switch-inner .handler:before { + background: #45c9dd; +} +.switch input[data-num="2"]:checked ~ .switch-inner > .handler { + margin-left: auto; +} +.switch input[data-num="2"]:checked ~ label[data-for="1"] { + padding-right: 5.125em; + margin-right: -4.375em; +} +.switch input[data-num="1"]:checked ~ label[data-for="2"] { + padding-left: 5.125em; + margin-left: -4.375em; +} +.toggler { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.toggler label { + cursor: pointer; +} +.toggler [data-collapse] { + display: inherit; +} +.toggler [data-expand] { + display: none; +} +.toggler.collapsed [data-collapse] { + display: none; +} +.toggler.collapsed [data-expand] { + display: inherit; +} +.toggler-container { + overflow: hidden; +} +.toggler-container.collapsed { + height: 0; +} +.icon-toggler-expanded:before, +.icon-toggler-collapsed:before, +.icon-toggler-expanded:after, +.icon-toggler-collapsed:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAByCAYAAABeOoENAAAAAXNSR0IArs4c6QAAAbxJREFUaAXtmT1KBEEQhRdFQdBEMfQEBoaGopl3MfECXsFERLyBh/AUIuwJDEUQM//eB11Dz1A1uzotGFTBY2rr58306+kNpmazP7Z98V8Kj8JrAT4xcgttXRVXwofwFYAcNdS6RuJegOBTuBUOhc0CfGLkqKHWJeMuFDwJJ0Jk5Kihlp6esW4embuNkVgTNdTS09MMEbkDj76sUUsPvZ2xIwTRATsQuBuxGsTIYdSSo7cztpggwprdyKlJ8ImZUUuM3s48ol1lXwQjwydm5hINl2bF53KMCL82d2mR2GvqnBfg1+aKPbb9p+oGtYXbT1GTFxKiZkfEyHgy7x0y0clR454zSGpDMzaA3fzV30hNln4qkAqkAqlAKpAKpAKpQCqQCqQCqUAqkAqkAqlAKpAKpAKpQCrw3xWY/GGcz++TP9U3Gx40GWdEAxabXA33NBywRCOfdzFcCztDJv12Rz7REMpmIc9qPBNWK0J3COWNxegxIrs+KHZcyHpjsZUSXPaypcLtseJFS3tT84WwUZG4S4vEZkl3wl5FYK4rdrT9R9Y1uIbbT12TFxKiZkfEyCYfWojMJv+NGNGPr99GI9DP7P9TCgAAAABJRU5ErkJggg=="); +} +.icon-toggler-expanded.icon-light:before, +.icon-toggler-collapsed.icon-light:before, +.icon-toggler-expanded.icon-light:after, +.icon-toggler-collapsed.icon-light:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAByCAYAAABeOoENAAAAAXNSR0IArs4c6QAAAcVJREFUaAXtmT9KA1EQxhMlASE2SkpPkCJlStHOu3gGwRPYBAm5gYfwFBKwtrARRAh26vr7ljfx7TrLChtBcAa+zOSbPy/7vcTC6fV+04qimIArsALrBMXiJq1nUzQEc/AOmkw51QzdgUqAWyD7AEswA6MExeKUk6n2+zBInSJ7BKfuaZDKpRpcMa/UQUgTfWSd1jjEmlSTatXzpRlvJKJsacVtXrVlB72bWgjdiGwmEj8FOq1u4qapRprJVvkgXbFsZCTxomSqL4ssr0uQrY3TJ/AGjeFfVJlM8diaiCuDdlLiIfmNcP1+/wnu0hoVJ84oq7XeUhNXbE4dgPuEgU2Qh3PFbrx+Gs6E2hD/+tMJ3b+QadB2fiLZsG4/2poG3f6M5MMiDgVCgVAgFAgFQoFQIBQIBUKBUCAUCAVCgVAgFAgFQoFQIBQIBf66AiwLuv1jnAH/Zb/Go5abq/qdwvsLFhJNK583ctfg0Bnmrnwq+zVrYoDZM8E52M1yP9uvqcGmZP6O+CTl3LWYHdTm9yk4aCzilLZHe6XmAuzZEGL30ZrEpr64AUc2wDycK7a7X6P42BpzD+9fv4pIxn4tWznnwm0r/gQpiG1tFshTowAAAABJRU5ErkJggg=="); +} +.icon-toggler-expanded:before, +.icon-toggler-expanded:after { + background-position: top left; +} +.icon-toggler-collapsed:before, +.icon-toggler-collapsed:after { + background-position: bottom left; +} +.modal { + padding: 20px; + border-radius: 3px; + background-color: white; + max-width: 700px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 80% !important; + top: 50% !important; + -webkit-transform: translate(-50%, -50%) !important; + -moz-transform: translate(-50%, -50%) !important; + -o-transform: translate(-50%, -50%) !important; + -ms-transform: translate(-50%, -50%) !important; + transform: translate(-50%, -50%) !important; +} +.modal-close { + -webkit-border-radius: 100px; + -webkit-background-clip: padding-box; + -moz-border-radius: 100px; + -moz-background-clip: padding; + border-radius: 100px; + background-clip: padding-box; + cursor: pointer; + height: 18px; + width: 18px; + position: absolute; + top: 10px; + right: 10px; + font-size: 17px; + text-align: center; + line-height: 19px; + background: #cccccc; +} +main .grid-container, +header .grid-container, +.navigation-a > div, +footer > div { + max-width: 968px; +} +.header-a { + margin-top: 30px; +} +.footer-a { + border-top: 1px solid #d9d9d9; +} +.adjoined-top { + background-color: #27c0d8; + color: #fff; +} +.adjoined-top .content h1, +.adjoined-top .content h2, +.adjoined-top .content h3, +.adjoined-top .content h4, +.adjoined-top .content h5 { + color: #fff; +} +.adjoined-top .content p { + font-size: 18px; + font-size: 1.125rem; + line-height: 32.4px; + line-height: 2.02rem; + font-weight: 100; +} +.adjoined-top .content p a { + text-decoration: none; + border-bottom: 1px dotted #fff; + color: inherit; +} +.adjoined-top .content p a:hover { + color: #e6e6e6; +} +.adjoined-top .content button { + color: #fff; +} +.adjoined-top .content strong { + color: #fff; +} +.adjoined-top .content code { + font-size: inherit; + color: #27c0d8; +} +.adjoined-bottom { + position: relative; +} +.adjoined-bottom:before { + z-index: -1; + content: ''; + background: #27c0d8; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 50%; +} +main .grid-container, +header .grid-container, +.navigation-a > div, +footer > div { + max-width: 1052px; +} +main .grid-container.freed-width { + max-width: none; +} +.switch { + background: #25b4cb; + float: right; + overflow: visible; +} +.switch .balloon-a { + position: absolute; + top: -40px; + right: 50%; + margin-right: -15px; + background: #FFEFC1; + border-bottom-color: #DCDCA4; +} +.switch .balloon-a:before { + border-color: #FFEFC1 transparent transparent transparent; +} +#toolbar .editors-container { + overflow: hidden; + height: 0; + transition: height 200ms; +} +#toolbar .editors-container.active { + height: auto; +} +#main #editor { + background: #FFF; + padding: 2% 4%; + border: dashed 5px #27c0d8; +} +div.cke a.cke_button, +div.cke .cke_combo_button { + border-bottom: none; +} +div.cke a.cke_button.cke_combo_button, +div.cke .cke_combo_button.cke_combo_button { + border-bottom: 1px solid #a6a6a6; +} +#main .adjoined-top:before { + height: 335px; +} +#toolbar .adjoined-top:before { + height: 219px; +} +#toolbar .adjoined-top .grid-container-nested { + height: 147px; +} +.content .grid-switch-magic { + margin: 3.5em 0 0; +} +#info-box { + padding-bottom: 0; +} +#info-box > div { + width: 100%; + text-align: right; +} +#info-box > div .toggler { + padding-right: 0; +} +#info-box > div .toggler:hover { + background: transparent; + color: #000; +} +#info-box > div .toggler:hover > label { + text-decoration: underline; +} +#info-box > div h2 { + float: left; + margin-top: 0; +} +#info-box > div#instructions-container { + text-align: left; +} +#toolbarModifierWrapper { + overflow: hidden; + height: 0; + opacity: 0; + transition: height 200ms; +} +#toolbarModifierWrapper.active { + height: auto; + opacity: 1; +} +header { + overflow: visible; +} +header div.grid-container { + overflow: visible; +} +header .navigation-b { + overflow: visible; +} +header .navigation-b ul { + overflow: visible; +} +header .navigation-b a { + position: relative; +} +header .balloon-a { + position: absolute; + top: 48px; + left: 50%; + margin-left: -35px; +} +@media (max-width: 1140px) { + header .balloon-a { + left: auto; + margin-left: auto; + right: 50%; + margin-right: -35px; + } + header .balloon-a:before { + left: auto; + right: 22px; + } +} +@media (max-width: 900px) { + header .balloon-a { + display: none; + } +} +#toolbar .cke_toolbar { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; +} +.some-toolbar-active .cke_toolbar { + zoom: 1; + filter: alpha(opacity=50); + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; +} +.cke_toolbar.active { + position: relative; + zoom: 1; + filter: alpha(opacity=100); + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; +} +.cke_toolbar.active:after { + content: ''; + display: block; + position: absolute; + top: 0; + right: 6px; + bottom: 5px; + left: 0; + -webkit-border-radius: 5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 5px; + -moz-background-clip: padding; + border-radius: 5px; + background-clip: padding-box; + -webkit-box-shadow: 0px 0px 15px 3px #fff4b0; + -moz-box-shadow: 0px 0px 15px 3px #fff4b0; + box-shadow: 0px 0px 15px 3px #fff4b0; +} +.cke_toolbar.active .cke_toolgroup { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-color: #e3c300; +} +.cke_toolbar.active .cke_combo, +.cke_toolbar.active .cke_toolgroup { + position: relative; + z-index: 2; +} +.cke_toolbar.active .cke_combo_button { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.unselectable { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.toolbar { + padding: 5px 0; + margin-bottom: 2.4em; + overflow: hidden; + background: #fff; +} +.toolbar button.button-a.cke_button { + cursor: pointer; + display: inline-block; + padding: 4px 6px; + outline: 0; + border: 1px solid #a6a6a6; +} +.toolbar button.button-a.hidden { + display: none; +} +.toolbar button.button-a.left { + float: left; + margin-right: 8px; +} +.toolbar button.button-a.right { + float: right; + margin-left: 8px; +} +.toolbar button.button-a .highlight { + color: #ffefc1; +} +.configContainer.hidden, +.toolbarModifier.hidden, +.toolbarModifier-hints.hidden { + display: none; +} +.toolbarModifier :focus, +.toolbar button:focus, +.configContainer > textarea:focus { + outline: none; +} +div.toolbarModifier { + padding: 0; + overflow: hidden; + width: 100%; + position: relative; + display: table; + border-collapse: collapse; +} +div.toolbarModifier ::-moz-focus-inner { + border: 0; +} +div.toolbarModifier .empty { + display: none; +} +div.toolbarModifier.empty-visible .empty { + display: table-row; + zoom: 1; + filter: alpha(opacity=60); + -webkit-opacity: 0.6; + -moz-opacity: 0.6; + opacity: 0.6; +} +div.toolbarModifier .empty > p { + line-height: 31px; +} +div.toolbarModifier > ul { + padding: 0; + margin: 0; + border-top: 1px solid #cccccc; + width: 100%; +} +div.toolbarModifier > ul[data-type="table-header"] { + display: table-header-group; +} +div.toolbarModifier > ul[data-type="table-body"] { + display: table-row-group; +} +div.toolbarModifier > ul p { + padding: 0; + margin: 0; +} +div.toolbarModifier > ul > li { + display: table-row; +} +div.toolbarModifier > ul > li[data-type="header"] { + font-weight: bold; + user-select: none; + cursor: default; +} +div.toolbarModifier > ul > li[data-type="group"], +div.toolbarModifier > ul > li[data-type="separator"] { + border-bottom: 1px solid #cccccc; +} +div.toolbarModifier > ul > li[data-type="subgroup"] { + border-top: 1px solid #eee; +} +div.toolbarModifier > ul > li[data-type="subgroup"]:first-child { + border-top: none; +} +div.toolbarModifier > ul > li[data-type="group"].active, +div.toolbarModifier > ul > li[data-type="group"]:hover, +div.toolbarModifier > ul > li[data-type="separator"].active, +div.toolbarModifier > ul > li[data-type="separator"]:hover { + overflow: hidden; + z-index: 2; +} +div.toolbarModifier > ul > li[data-type="group"].active, +div.toolbarModifier > ul > li[data-type="separator"].active, +div.toolbarModifier > ul > li[data-type="group"].active:hover, +div.toolbarModifier > ul > li[data-type="separator"].active:hover { + background: #f0fafb; +} +div.toolbarModifier > ul > li[data-type="group"]:hover, +div.toolbarModifier > ul > li[data-type="separator"]:hover { + background: #fffbe3; +} +div.toolbarModifier > ul > li[data-type="separator"] { + background: #f5f5f5; +} +div.toolbarModifier > ul > li[data-type="separator"]:after { + content: ''; + width: 100%; +} +div.toolbarModifier > ul > li[data-type="separator"] > p { + padding: 2px 5px; +} +div.toolbarModifier > ul > li > p, +div.toolbarModifier > ul > li > ul { + display: table-cell; + vertical-align: middle; +} +div.toolbarModifier > ul > li p { + padding-left: 5px; + min-width: 200px; +} +div.toolbarModifier > ul > li p span { + white-space: nowrap; + cursor: default; +} +div.toolbarModifier > ul > li p span button { + font-size: 12.666px; + margin-right: 5px; + cursor: pointer; + background: #fff; + -webkit-border-radius: 5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 5px; + -moz-background-clip: padding; + border-radius: 5px; + background-clip: padding-box; + border: 1px solid #bbb; + padding: 0 7px; + line-height: 12px; + height: 20px; +} +div.toolbarModifier > ul > li p span button:not(.disabled):hover, +div.toolbarModifier > ul > li p span button:not(.disabled):focus { + color: #fff; + background-color: #454545; + border-color: transparent; +} +div.toolbarModifier > ul > li p span button.move.disabled { + cursor: default; + zoom: 1; + filter: alpha(opacity=20); + -webkit-opacity: 0.2; + -moz-opacity: 0.2; + opacity: 0.2; +} +div.toolbarModifier > ul > li ul { + border-collapse: collapse; + padding: 0; + width: 100%; +} +div.toolbarModifier > ul > li ul li { + display: table-row; + list-style-type: none; + line-height: 1; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] { + border-top: 1px solid #dddddd; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"]:first-child { + border-top: 0; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] [data-type="button"] { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + padding: 0 2px; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] [data-type="button"]:focus { + background: rgba(0, 0, 0, 0.04); +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] [data-type="button"] input { + vertical-align: middle; +} +div.toolbarModifier > ul > li ul li > p, +div.toolbarModifier > ul > li ul li > ul { + display: table-cell; + vertical-align: middle; +} +div.toolbarModifier > ul > li ul li ul { + padding: 0; +} +div.toolbarModifier > ul > li ul li ul li { + padding: 0; + display: inline-block; + cursor: pointer; + margin: 2px 5px 2px 0; +} +div.toolbarModifier > ul > li ul li ul li .cke_combo_text { + cursor: pointer; + white-space: nowrap; +} +div.toolbarModifier > ul > li ul li ul li .cke_toolgroup, +div.toolbarModifier > ul > li ul li ul li .cke_combo_button { + cursor: pointer; + margin: 0; + vertical-align: middle; + border: 1px solid #ddd; + font-size: 11.41px; + font-size: 0.713rem; + line-height: 20.54px; + line-height: 1.28rem; +} +div.toolbarModifier > .codemirror-wrapper { + overflow-y: auto; +} +div.toolbarModifier-hints { + float: right; + width: 350px; + min-width: 150px; + overflow-y: auto; + margin-left: 1.5em; +} +div.toolbarModifier-hints h3 { + font-size: 18.08px; + font-size: 1.13rem; + line-height: 32.54px; + line-height: 2.03rem; + padding: 0.36em 1.5em; + background: #f5f5f5; + border-bottom: 1px solid #dddddd; + margin-top: 0; + margin-bottom: 1.2em; +} +div.toolbarModifier-hints dl { + margin-bottom: 1.2em; + overflow: hidden; +} +div.toolbarModifier-hints dl .list-header { + font-weight: bold; + border: 0; + padding-bottom: 0.6em; +} +div.toolbarModifier-hints dl > p { + text-align: center; +} +div.toolbarModifier-hints dl dt { + float: left; + width: 9em; + clear: both; + text-align: right; + border-top: 1px solid #dddddd; + padding-left: 1.5em; + padding-right: .1em; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +div.toolbarModifier-hints dl dt code { + background: none; + border: none; + vertical-align: middle; +} +div.toolbarModifier-hints dl dd { + margin-left: 10em; + clear: right; + padding-right: 1.5em; +} +div.toolbarModifier-hints dl dd code { + line-height: 2.2em; +} +div.toolbarModifier-hints dl dd:after { + content: '\00a0'; + display: block; + clear: left; + float: right; + height: 0; + width: 0; +} +.toolbarModifier-hints, +.configContainer > textarea, +.CodeMirror { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + border: 1px solid #ccc; + font-size: 13.01px; + font-size: 0.813rem; + line-height: 23.42px; + line-height: 1.46rem; +} +.configContainer > textarea, +.CodeMirror pre, +.CodeMirror-linenumber { + font-size: 13.01px; + font-size: 0.813rem; + line-height: 23.42px; + line-height: 1.46rem; + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; +} +.CodeMirror pre { + border: none; + padding: 0; + margin: 0; +} +.configContainer > textarea { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + color: #575757; + padding: 10px; + width: 100%; + min-height: 500px; + margin: 0; + resize: none; + outline: none; + -moz-tab-size: 4; + tab-size: 4; + white-space: pre; + word-wrap: normal; + overflow: auto; +} +.CodeMirror-hints.toolbar-modifier { + padding: 0; + color: #575757; + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; +} +.CodeMirror-hints.toolbar-modifier .CodeMirror-hint-active { + color: #575757; + background: #f0fafb; +} +.CodeMirror-hints.toolbar-modifier > li:hover { + background: #fffbe3; +} +/* Text modifier */ +#toolbarModifierWrapper { + margin-bottom: 1.2em; +} +#toolbarModifierWrapper .invalid .CodeMirror { + background: #fff8f8; + border-color: red; +} +#toolbarModifierWrapper .CodeMirror { + height: auto; + padding: 0 0.6em; +} +.staticContainer { + position: fixed; + top: 0; + width: 100%; + z-index: 10; +} +.staticContainer > .grid-container { + max-width: 1052px; +} +.staticContainer > .grid-container .inner { + background: #fff; +} +.staticContainer > .grid-container .inner .toolbar { + margin-bottom: 0; +} +#help { + position: relative; + top: -15px; + left: -5px; +} +#help-content { + display: none; +} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2dsb2JhbC9nbG9iYWwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2NvcmUvY29yZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvZ3JpZC9ncmlkLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY2tzb3VyY2Utc2FtcGxlcy1mcmFtZXdvcmsvbm9kZV9tb2R1bGVzL2xlc3NoYXQvYnVpbGQvbGVzc2hhdC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvaGVhZGVyLWEvaGVhZGVyLWEubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL25hdmlnYXRpb24tYS9uYXZpZ2F0aW9uLWEubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL25hdmlnYXRpb24tYi9uYXZpZ2F0aW9uLWIubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2Zvb3Rlci1hL2Zvb3Rlci1hLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY2tzb3VyY2Utc2FtcGxlcy1mcmFtZXdvcmsvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2J1dHRvbi1hL2J1dHRvbi1hLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY2tzb3VyY2Utc2FtcGxlcy1mcmFtZXdvcmsvY29tcG9uZW50cy9iYWxsb29uLWEvYmFsbG9vbi1hLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY2tzb3VyY2Utc2FtcGxlcy1mcmFtZXdvcmsvY29tcG9uZW50cy9pY29uL2ljb24ubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL3N3aXRjaC9zd2l0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL3RvZ2dsZXIvdG9nZ2xlci5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2Jhc2ljc2FtcGxlL2NvcmUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2Jhc2ljc2FtcGxlL2Fkam9pbmVkLmxlc3MiLCIuLi8uLi9zYW1wbGVzL2xlc3MvY3VzdG9tLmxlc3MiLCIuLi8uLi9zYW1wbGVzL3Rvb2xiYXJjb25maWd1cmF0b3IvbGVzcy90b29sYmFybW9kaWZpZXIubGVzcyIsIi4uLy4uL3NhbXBsZXMvdG9vbGJhcmNvbmZpZ3VyYXRvci9sZXNzL2Jhc2UubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBc0RBLFFBSGlDO0VBeUNoQztJQUNDLHdCQUFBOzs7QUMxRkY7QUFBUztBQUFPO0FBQVM7QUFBWTtBQUFRO0FBQVE7QUFBUTtBQUFRO0FBQU07QUFBTTtBQUFLO0VBQ3JGLGNBQUE7O0FBR0Q7QUFBTTtFQUNMLFNBQUE7RUFDQSxVQUFBO0VBQ0Esd0JETitCLHVDQ00vQjtFQUNBLGdCQUFBO0VBQ0EsY0FBQTs7QUNIQSxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsVUFBQTs7QUFERCxZQUFZO0VBQ1gsV0FBQTs7QUY0Q0YsUUFIaUM7RUVqQ2hDO0VBS0MsWUFBWTtFQUFaLFlBQVk7RUFBWixZQUFZO0VBQVosWUFBWTtFQUFaLFlBQVk7RUFBWixZQUFZO0VBQVosWUFBWTtFQUFaLFlBQVk7RUFBWixZQUFZO0lBSlosV0FBQTs7O0FBYUYsQ0FBQztFQ3FSQyw4QkFBQTtFQUNBLDJCQUFBO0VBQ0Esc0JBQUE7RURyUkQsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7O0FBSUEsQ0FEQSxxQkFDQztBQUFELGVBQUM7QUFBUSxDQURULHFCQUNVO0FBQUQsZUFBQztFQUNULFNBQVMsRUFBVDtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTs7QUFLRCxDQURBLHFCQUNDO0FBQUQsZUFBQztFQUNBLFdBQUE7O0FBSUY7RUMyUEUsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VEM1BELGlCQUFBO0VBQ0Esa0JBQUE7O0FBS0Msc0JBREQsRUFBQyxxQkFDQztFQUNBLGVBQUE7O0FBR0Qsc0JBTEQsRUFBQyxxQkFLQztFQUNBLGdCQUFBOztBRmpCSCxRQUhpQztFRTBCOUIsc0JBREQsRUFBQyxxQkFDQztJQUNBLGdCQUFBOztFQUdELHNCQUxELEVBQUMscUJBS0M7SUFDQSxpQkFBQTs7O0FFN0VKO0VBQ0MsaUJBQUE7RUFHQSxnQkFBQTs7QUFKRCxTQU1DO0VBQ0MsZ0JBQUE7O0FKMENGLFFBSGlDO0VBR2pDLFNJM0NDO0lBSUUsa0JBQUE7OztBQVZILFNBTUMsZUFPQztFQUNDLG1CQUFBOztBQ1ZIO0VBQ0MsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7O0FMcUNELFFBSGlDO0VBR2pDO0lLbENFLGtCQUFBOzs7QUFYRixhQWNDO0VBQ0MsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7O0FBakJGLGFBY0MsR0FLQztBQW5CRixhQWNDLEdBS0ssR0FBRztFQUNOLHFCQUFBOztBTHlCSCxRQUhpQztFQUdqQyxhSy9CQztJQVVFLFdBQUE7SUFDQSx1QkFBQTtJQUNBLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQUVBLGFBaEJGLEdBZ0JHO0VBQVMsYUFoQlosR0FnQmE7SUFDVixhQUFBOzs7QUFLRCxhQXRCRixHQXFCRSxhQUNDO0VBQ0EsZ0JBQUE7O0FMUUosUUFIaUM7RUFHakMsYUsvQkMsR0FxQkUsYUFDQztJQUlDLGdCQUFBOzs7QUFJRixhQTlCRixHQXFCRSxhQVNDO0VBQ0EsaUJBQUE7O0FMQUosUUFIaUM7RUFHakMsYUsvQkMsR0FxQkUsYUFTQztJQUlDLGtCQUFBOzs7QUFNRixhQXhDRixHQXVDQyxHQUNHO0VBQ0QsaUJBQUE7O0FBdkRKLGFBY0MsR0F1Q0MsR0FLQztFTHhDRixlQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VLdUNHLGlCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7O0FBRUEsYUFyREgsR0F1Q0MsR0FLQyxFQVNFO0VBQ0EsZUFBQTtFQUNBLGNBQUE7O0FBUUoseUJBQUM7QUFBUyx5QkFBQztFQUNWLHNCQUFrQixxckJBQWxCOztBQ3BGRjtFQUNDLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTs7QU5nREQsUUFIaUM7RUFHakM7SU03Q0Usa0JBQUE7SUFDQSxnQkFBQTtJQUdBLFVBQUE7OztBQVZGLGFBYUM7RUFDQyxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7O0FBakJGLGFBYUMsR0FNQztBQW5CRixhQWFDLEdBTUssR0FBRztFQUNOLHFCQUFBOztBTitCSCxRQUhpQztFQUdqQyxhTXRDQztJQVdFLGNBQUE7SUFDQSxXQUFBO0lBQ0EscUJBQUE7OztBTnlCSCxRQUhpQztFQUdqQyxhTXRDQyxHQWdCQztJQUVFLGtCQUFBOzs7QUFHRCxhQXJCRixHQWdCQyxHQUtHO0VBQ0QsaUJBQUE7O0FOZ0JKLFFBSGlDO0VBR2pDLGFNdENDLEdBZ0JDLEdBS0c7SUFJQSxjQUFBOzs7QUF0Q0wsYUFhQyxHQWdCQyxHQWFDO0VId1FELDhCQUFBO0VBQ0EsMkJBQUE7RUFDQSxzQkFBQTtFR3hRRSx5QkFBQTtFQUNBLHFCQUFBO0VBQ0EsYUFBQTs7QU5LSixRQUhpQztFQUdqQyxhTXRDQyxHQWdCQyxHQWFDO0lBT0UsV0FBQTtJSHFPSCx3QkFBQTtJQUFpQyxvQ0FBQTtJQUNqQyxxQkFBQTtJQUE4Qiw2QkFBQTtJQUM5QixnQkFBQTtJQUF5Qiw0QkFBQTs7O0FJeFIzQjtFUHdCQyxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VPeEJBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7O0FBTkQsU1A0RUM7RUFDQyxjQUFBO0VBQ0EscUJBQUE7RUFFQSxpQ0FBQTs7QUFFQSxTQU5ELEVBTUU7RUFDQSxjQUFBOztBT25GSCxTQVFDO0VBQ0MsU0FBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7O0FDWEY7RVJ3QkMsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFUXpCQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7O0FBSkQsUUFTQztFQUNDLGdCQUFBOztBQVZGLFFBYUM7QUFiRCxRQWFLO0FBYkwsUUFhUztBQWJULFFBYWM7QUFiZCxRQWEwQixTQUFRLElBQUk7QUFidEMsUUFhd0Q7RUFDdEQsaUJBQUE7O0FBZEYsUUFpQkM7QUFqQkQsUUFpQk87RUxxUUwsMEJBQUE7RUFBaUMsb0NBQUE7RUFDakMsdUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsa0JBQUE7RUFBeUIsNEJBQUE7RUtyUXpCLGdCQUFBOztBQW5CRixRQXNCQztBQXRCRCxRQXNCTTtBQXRCTixRQXNCWTtBQXRCWixRQXNCaUI7RUFDZixtQkFBQTs7QUF2QkYsUUEwQkM7QUExQkQsUUEwQmE7RUFDWCxnQkFBQTtFQUNBLDhCQUFBO0VBQ0EscUJBQUE7O0FBN0JGLFFBb0NDLEVSd0NBO0FRNUVELFFBb0NJLEdSd0NIO0FRNUVELFFBb0NRLEdSd0NQO0FRNUVELFFBb0NZLFdSd0NYO0FRNUVELFFBb0N3QixHUndDdkI7QVE1RUQsUUFvQzRCLEdSd0MzQjtBUTVFRCxRQW9DZ0MsR1J3Qy9CO0FRNUVELFFBb0NvQyxHUndDbkM7QVE1RUQsUUFvQ3dDLEdSd0N2QztFQUNDLGNBQUE7RUFDQSxxQkFBQTtFQUVBLGlDQUFBOztBQUVBLFFROUNELEVSd0NBLEVBTUU7QUFBRCxRUTlDRSxHUndDSCxFQU1FO0FBQUQsUVE5Q00sR1J3Q1AsRUFNRTtBQUFELFFROUNVLFdSd0NYLEVBTUU7QUFBRCxRUTlDc0IsR1J3Q3ZCLEVBTUU7QUFBRCxRUTlDMEIsR1J3QzNCLEVBTUU7QUFBRCxRUTlDOEIsR1J3Qy9CLEVBTUU7QUFBRCxRUTlDa0MsR1J3Q25DLEVBTUU7QUFBRCxRUTlDc0MsR1J3Q3ZDLEVBTUU7RUFDQSxjQUFBOztBUW5GSCxRQXdDQztBQXhDRCxRQXdDSztBQXhDTCxRQXdDUztBQXhDVCxRQXdDYTtBQXhDYixRQXdDaUI7RUFDZixXQUFBO0VBQ0EsZ0JBQUE7O0FBMUNGLFFBd0NDLEdBS0M7QUE3Q0YsUUF3Q0ssR0FLSDtBQTdDRixRQXdDUyxHQUtQO0FBN0NGLFFBd0NhLEdBS1g7QUE3Q0YsUUF3Q2lCLEdBS2Y7QUE3Q0YsUUF3Q0MsR0FLTztBQTdDUixRQXdDSyxHQUtHO0FBN0NSLFFBd0NTLEdBS0Q7QUE3Q1IsUUF3Q2EsR0FLTDtBQTdDUixRQXdDaUIsR0FLVDtFQUNMLGtCQUFBOztBQTlDSCxRQXdDQyxHQVVDLEVBQUM7QUFsREgsUUF3Q0ssR0FVSCxFQUFDO0FBbERILFFBd0NTLEdBVVAsRUFBQztBQWxESCxRQXdDYSxHQVVYLEVBQUM7QUFsREgsUUF3Q2lCLEdBVWYsRUFBQztFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTs7QUFHRCxRQWpCRCxHQWlCRSxNQUNBLEVBQUM7QUFERixRQWpCRyxHQWlCRixNQUNBLEVBQUM7QUFERixRQWpCTyxHQWlCTixNQUNBLEVBQUM7QUFERixRQWpCVyxHQWlCVixNQUNBLEVBQUM7QUFERixRQWpCZSxHQWlCZCxNQUNBLEVBQUM7RUFDQSxVQUFBOztBQUlGLFFBdkJELEdBdUJFLE9MMGJVO0FLMWJYLFFBdkJHLEdBdUJGLE9MMGJVO0FLMWJYLFFBdkJPLEdBdUJOLE9MMGJVO0FLMWJYLFFBdkJXLEdBdUJWLE9MMGJVO0FLMWJYLFFBdkJlLEdBdUJkLE9MMGJVO0VBQW1COzs7O2lFQUFBOztBSzFiOUIsUUF2QkQsR0F1QkUsT0FHQTtBQUhELFFBdkJHLEdBdUJGLE9BR0E7QUFIRCxRQXZCTyxHQXVCTixPQUdBO0FBSEQsUUF2QlcsR0F1QlYsT0FHQTtBQUhELFFBdkJlLEdBdUJkLE9BR0E7RUw0REQsMERBQUE7RUFDQSx1REFBQTtFQUNBLHFEQUFBO0VBQ0Esa0RBQUE7RUs3REUsVUFBQTs7QUFwRUosUUF5RUM7QUF6RUQsUUF5RVE7QUF6RVIsUUF5RWdCLFNBQVEsSUFBSTtFTDZNMUIsMEJBQUE7RUFBaUMsb0NBQUE7RUFDakMsdUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsa0JBQUE7RUFBeUIsNEJBQUE7RUFtQnpCLHVEQUFBO0VBQ0Esb0RBQUE7RUFDQSwrQ0FBQTtFS2hPQSxhQUFBO0VBQ0EsY0FBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7O0FBRUEsUUFWRCxNQVVFO0FBQUQsUUFWTSxPQVVMO0FBQUQsUUFWYyxTQUFRLElBQUksZ0JBVXpCO0VBQ0EscUJBQUE7RUFDQSxVQUFBO0VMc05ELHdFQUFBO0VBQ0EscUVBQUE7RUFDQSxnRUFBQTs7QUs3U0YsUUFnR0M7RUFDQyw4QkFBQTtFQUNBLGVBQUE7O0FBbEdGLFFBcUdDO0VBQ0Msa0JBQUE7RUFDQSw2QlJyRzJDLHdCUXFHM0M7RVIvRUQsZUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBOztBUTNCRCxRQTJHQztFQUNDLGtCQUFBOztBQTVHRixRQStHQztFUnZGQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VRc0ZDLG1CQUFBOztBQWpIRixRQW9IQztFUjVGQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFUTJGQyxpQkFBQTs7QUF0SEYsUUF5SEM7RVJqR0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFUWdHQyxnQkFBQTtFQUNBLGtCQUFBOztBQTVIRixRQStIQztFUnZHQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFUXNHQyxnQkFBQTtFQUNBLGtCQUFBOztBQWxJRixRQXFJQztFUjdHQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFUTRHQyxnQkFBQTtFQUNBLGtCQUFBOztBQXhJRixRQTJJQztFQUNDLFNBQUE7RUFDQSw2QkFBQTtFQUNBLGVBQUE7O0FBSUEsUUFERCxNQUNFO0VBQ0EsYUFBQTtFQUNBLGtCQUFBOztBQUdELFFBTkQsTUFNRTtFTCtDRCwwQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7O0FLeE1GLFFBOEpDO0VSdElBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RVFxSUMsb0JSL0o4Qix1Q1ErSjlCO0VBQ0EsZ0JBQUE7RUwwSUEsMERBQUE7RUFDQSx1REFBQTtFQUNBLGtEQUFBOztBSzdTRixRQXlLQyxFQUNDO0VBQ0Msc0JBQUE7O0FBM0tILFFBeUtDLEVBS0M7RUFDQyxjQUFBOztBQS9LSCxRQW1MQztFQUNDLFVBQUE7RUFDQSxTQUFBO0VBRUEsV0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTs7QUF6TEYsUUE0TEM7QUE1TEQsUUE0TE07RVJwS0wsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RVFvS0MsZ0pBQUE7O0FBL0xGLFFBNExDLElBS0M7QUFqTUYsUUE0TE0sS0FLSjtFQUNDLFNBQUE7O0FBbE1ILFFBdU1DLElBQUk7RUFDSCxlQUFBO0VBQ0EsY0FBQTs7QUF6TUYsUUE0TUM7RUFDQyxXQUFBOztBQTdNRixRQWdOQyxHQUVDO0FBbE5GLFFBZ05LLEdBRUg7QUFsTkYsUUFnTkMsR0FFSztBQWxOTixRQWdOSyxHQUVDO0VBQ0gsZ0JBQUE7O0FBbk5ILFFBZ05DLEdBTUM7QUF0TkYsUUFnTkssR0FNSDtFUjlMRCxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBOztBUTNCRCxRQTROQyxTQUFRLElBQUk7RUFDWCxXQUFBOztBQTdORixRQWdPQyxJQUFHO0VBQ0YsdUJBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7OztBQUdBLFFBTkQsSUFBRyxLQU1EO0VBQ0EsU0FBUyxNQUFUO0VBQ0EsaUJBQUE7O0FDbk9ELElBREQsRUFDRTtBQUFELElBREUsT0FDRDtBQUFELElBRFUsTUFDVDtFTmlSRCwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFSGhRMUIsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFU25CRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0VBQ0Esc0JBQUE7RUFJQSxhQUFBO0VBR0EsdUJBQUE7O0FBRUEsSUF2QkYsRUFDRSxTQXNCQztBQUFELElBdkJDLE9BQ0QsU0FzQkM7QUFBRCxJQXZCUyxNQUNULFNBc0JDO0VBQ0Esa0JBQUE7O0FBR0QsSUEzQkYsRUFDRSxTQTBCQztBQUFELElBM0JDLE9BQ0QsU0EwQkM7QUFBRCxJQTNCUyxNQUNULFNBMEJDO0VBQ0EsbUJBQUE7O0FBb0JELElBaERGLEVBQ0UsU0ErQ0M7QUFBRCxJQWhEQyxPQUNELFNBK0NDO0FBQUQsSUFoRFMsTUFDVCxTQStDQztFTmtPRiw0QkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx5QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixvQkFBQTtFQUF5Qiw0QkFBQTtFTW5QdkIsV0FBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTs7QUFFQSxJQXhDSCxFQUNFLFNBK0NDLGlCQVJDO0FBQUQsSUF4Q0EsT0FDRCxTQStDQyxpQkFSQztBQUFELElBeENRLE1BQ1QsU0ErQ0MsaUJBUkM7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EscUJBQUE7O0FUR0wsUUFIaUM7RUFHakMsSVMvQ0MsRUFDRSxTQW1EQztFVExKLElTL0NJLE9BQ0QsU0FtREM7RVRMSixJUy9DWSxNQUNULFNBbURDO0lOOE5GLDRCQUFBO0lBQWlDLG9DQUFBO0lBQ2pDLHlCQUFBO0lBQThCLDZCQUFBO0lBQzlCLG9CQUFBO0lBQXlCLDRCQUFBO0lNblB2QixXQUFBO0lBQ0EsVUFBQTtJQUNBLG1CQUFBO0lBQ0EsZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLGtCQUFBOztFQUVBLElBeENILEVBQ0UsU0FtREMsMEJBWkM7RUFBRCxJQXhDQSxPQUNELFNBbURDLDBCQVpDO0VBQUQsSUF4Q1EsTUFDVCxTQW1EQywwQkFaQztJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxxQkFBQTs7RUFKRCxJQXhDSCxFQUNFLFNBbURDLDBCQVpDO0VBQUQsSUF4Q0EsT0FDRCxTQW1EQywwQkFaQztFQUFELElBeENRLE1BQ1QsU0FtREMsMEJBWkM7SUFDQSxrQkFBQTtJQUNBLFNBQUE7SUFDQSxRQUFBO0lBQ0EscUJBQUE7OztBQWNGLElBMURGLEVBQ0UsU0F5REM7QUFBRCxJQTFEQyxPQUNELFNBeURDO0FBQUQsSUExRFMsTUFDVCxTQXlEQztBQUNELElBM0RGLEVBQ0UsU0EwREM7QUFBRCxJQTNEQyxPQUNELFNBMERDO0FBQUQsSUEzRFMsTUFDVCxTQTBEQztFQUNBLFdBQUE7RUFDQSxtQkFBQTs7QUFHRCxJQWhFRixFQUNFLFNBK0RDO0FBQUQsSUFoRUMsT0FDRCxTQStEQztBQUFELElBaEVTLE1BQ1QsU0ErREM7RUFDQSxxQkFBQTtFQUNBLFVBQUE7RU5xT0YseUVBQUE7RUFDQSxzRUFBQTtFQUNBLGlFQUFBOztBTTVOQSxJQTdFRCxFQTZFRTtBQUFELElBN0VFLE9BNkVEO0FBQUQsSUE3RVUsTUE2RVQ7RUFDQSxtQkFBQTs7QUFFQSxJQWhGRixFQTZFRSxjQUdDO0FBQUQsSUFoRkMsT0E2RUQsY0FHQztBQUFELElBaEZTLE1BNkVULGNBR0M7QUFDRCxJQWpGRixFQTZFRSxjQUlDO0FBQUQsSUFqRkMsT0E2RUQsY0FJQztBQUFELElBakZTLE1BNkVULGNBSUM7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7O0FBSUYsSUF2RkQsRUF1RkU7QUFBRCxJQXZGRSxPQXVGRDtBQUFELElBdkZVLE1BdUZUO0FBQUQsSUF2RkQsRUhpREcsYUF4Q0gsR0FnQkMsR0FhQyxFQVdFO0FHc0NILElBdkZFLE9IaURBLGFBeENILEdBZ0JDLEdBYUMsRUFXRTtBR3NDSCxJQXZGVSxNSGlEUixhQXhDSCxHQWdCQyxHQWFDLEVBV0U7RUd1Q0YsV0FBQTtFQUNBLG1CQUFBOztBQUVBLElBM0ZGLEVBdUZFLG9CQUlDO0FBQUQsSUEzRkMsT0F1RkQsb0JBSUM7QUFBRCxJQTNGUyxNQXVGVCxvQkFJQztBQUNELElBNUZGLEVBdUZFLG9CQUtDO0FBQUQsSUE1RkMsT0F1RkQsb0JBS0M7QUFBRCxJQTVGUyxNQXVGVCxvQkFLQztBQURELElBM0ZGLEVIaURHLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzBDRDtBQUFELElBM0ZDLE9IaURBLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzBDRDtBQUFELElBM0ZTLE1IaURSLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzBDRDtBQUNELElBNUZGLEVIaURHLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzJDRDtBQUFELElBNUZDLE9IaURBLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzJDRDtBQUFELElBNUZTLE1IaURSLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzJDRDtFQUNBLFdBQUE7RUFDQSxtQkFBQTs7QUNoR0o7RVZzQkMsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFRzJQQywwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFT25SMUIsZ0NBQUE7RUFFQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBOztBQUVBLFVBQUM7RUFDQSxjQUFBOztBQUdELFVBQUM7RUFDQSxTQUFTLEVBQVQ7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7O0FBTUQsYUFBQztBQUFELGFBQUM7RUFDQSxVQUFBO0VBQ0EsOEJBQUE7RUFDQSx5REFBQTs7QUFNRCxhQUFDO0FBQUQsYUFBQztFQUNBLGFBQUE7RUFDQSw4QkFBQTtFQUNBLHlEQUFBOztBQU1ELGFBQUM7QUFBRCxhQUFDO0VBQ0EsVUFBQTs7QUFNRCxhQUFDO0FBQUQsYUFBQztFQUNBLFdBQUE7O0FDdkRGLGNBQWM7QUFDZCxlQUFlO0VBQ2QsU0FBUyxFQUFUO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7O0FBR0QsY0FBYztFQUNiLGtCQUFBOztBQUdELGVBQWU7RUFDZCxpQkFBQTs7QUFJQSxjQUFDO0FBQVMsY0FBQztFQUNWLHNCQUFrQiw2Y0FBbEI7O0FBS0QsbUJBQUM7QUFBUyxtQkFBQztFQUNWLHNCQUFrQiw2aUJBQWxCOztBQUtELFdBQUM7QUFBUyxXQUFDO0VBQ1Ysc0JBQWtCLDZpQkFBbEI7O0FDNUJGLElBQUssUUFFSjtFQUNDLHNCQUFBOztBQUhGLElBQUssUUFNSixNQUFLO0VBQ0osZ0JBQUE7RUFDQSxxQkFBQTs7QUFSRixJQUFLLFFBV0o7RUFDQyx5QkFBQTtFQUNBLDBCQUFBOztBQUVBLElBZkcsUUFXSixNQUlFO0VBQ0EsV0FBQTs7QUFHRCxJQW5CRyxRQVdKLE1BUUU7RUFDQSxZQUFBOztBQXBCSCxJQUFLLFFBd0JKO0VBQ0MsYUFBQTs7QUFJRjtFWlpDLGVBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RVlXQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFVDJPQywwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFUzNPMUIsa0JBQUE7O0FBVEQsT0FXQyxNQUFLO0VBQ0osYUFBQTs7QUFaRixPQWVDO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFFQSxPQVBELE1BT0U7RUFDQSwwQkFBQTs7QUF2QkgsT0EyQkM7RUFDQyxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFVGlOQSw0QkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx5QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixvQkFBQTtFQUF5Qiw0QkFBQTs7QVNwUDNCLE9BMkJDLGNBU0M7RUFDQyxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RVR3TUQsNEJBQUE7RUFBaUMsb0NBQUE7RUFDakMseUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsb0JBQUE7RUFBeUIsNEJBQUE7O0FTdk14QixPQWxCRixjQVNDLFNBU0U7RUFDQSxTQUFTLEVBQVQ7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxPQUFBO0VBRUEseUJBQUE7RVRzS0Ysd0NBQUE7RUFDQSxvQ0FBQTtFQUNBLGdDQUFBO0VBS0EseUNBQUE7RUFBOEMsb0NBQUE7RUFDOUMscUNBQUE7RUFBMEMsNkJBQUE7RUFDMUMsaUNBQUE7RUFBc0MsNEJBQUE7O0FTdkt2QyxPQUFDLE1BQ0EsY0FBYyxTQUFRO0VBQ3JCLG1CQUFBOztBQWhFSCxPQW9FQyxNQUFLLGNBQWdCLFFBRXBCLGdCQUFnQjtFQUNmLGlCQUFBOztBQXZFSCxPQW9FQyxNQUFLLGNBQWdCLFFBU3BCLFFBQU87RUFDTixzQkFBQTtFQUNBLHNCQUFBOztBQS9FSCxPQW1GQyxNQUFLLGNBQWdCLFFBQVMsUUFBTztFQUNwQyxxQkFBQTtFQUNBLHFCQUFBOztBQ3pIRjtFVmszQkUseUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7O0FVcjNCRixRQUdDO0VBQ0MsZUFBQTs7QUFKRixRQU1DO0VBQ0MsZ0JBQUE7O0FBUEYsUUFVQztFQUNDLGFBQUE7O0FBR0QsUUFBQyxVQUNBO0VBQ0MsYUFBQTs7QUFGRixRQUFDLFVBS0E7RUFDQyxnQkFBQTs7QUFLSDtFQUNDLGdCQUFBOztBQUVBLGtCQUFDO0VBQ0EsU0FBQTs7QUFNRCxzQkFBQztBQUFELHVCQUFDO0FBQVMsc0JBQUM7QUFBRCx1QkFBQztFQUNWLHNCQUFrQix5c0JBQWxCOztBQUlBLHNCQURBLFdBQ0M7QUFBRCx1QkFEQSxXQUNDO0FBQVMsc0JBRFYsV0FDVztBQUFELHVCQURWLFdBQ1c7RUFDVixzQkFBa0IscXRCQUFsQjs7QUFNRixzQkFBQztBQUNELHNCQUFDO0VBQ0EsNkJBQUE7O0FBS0QsdUJBQUM7QUFDRCx1QkFBQztFQUNBLGdDQUFBOztBQ3RERjtFQUNDLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RVg0U0MsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VXelNELHFCQUFBO0VBQ0EsbUJBQUE7RVhndkJDLHdDQUFBO0VBQ0EscUNBQUE7RUFDQSxtQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsZ0NBQUE7O0FXanZCRCxNQUFDO0VYdVFBLDRCQUFBO0VBQWlDLG9DQUFBO0VBQ2pDLHlCQUFBO0VBQThCLDZCQUFBO0VBQzlCLG9CQUFBO0VBQXlCLDRCQUFBO0VXdlF6QixlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTs7QUN6QkYsSUFBSztBQUNMLE1BQU87QUFDUCxhQUFjO0FBQ2QsTUFBTztFQUNOLGdCQUFBOztBQUlEO0VBQ0MsZ0JBQUE7O0FBR0Q7RUFDQyw2QkFBQTs7QUNYQSxTQUFDO0VBQ0EseUJBQUE7RUFDQSxXQUFBOztBQUZELFNBQUMsSUFJQSxTQUNDO0FBTEYsU0FBQyxJQUlBLFNBQ0s7QUFMTixTQUFDLElBSUEsU0FDUztBQUxWLFNBQUMsSUFJQSxTQUNhO0FBTGQsU0FBQyxJQUlBLFNBQ2lCO0VBQ2YsV0FBQTs7QUFOSCxTQUFDLElBSUEsU0FLQztFaEJZRixlQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VnQmJHLGdCQUFBOztBQVhILFNBQUMsSUFJQSxTQUtDLEVBSUM7RUFDQyxxQkFBQTtFQUNBLDhCQUFBO0VBQ0EsY0FBQTs7QUFFQSxTQWxCSCxJQUlBLFNBS0MsRUFJQyxFQUtFO0VBQ0EsY0FBQTs7QUFuQkwsU0FBQyxJQUlBLFNBb0JDO0VBQ0MsV0FBQTs7QUF6QkgsU0FBQyxJQUlBLFNBd0JDO0VBQ0MsV0FBQTs7QUE3QkgsU0FBQyxJQUlBLFNBNEJDO0VBQ0Msa0JBQUE7RUFDQSxjQUFBOztBQUtILFNBQUM7RUFDQSxrQkFBQTs7QUFFQSxTQUhBLE9BR0M7RUFDQSxXQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7O0FDeERILElBQUs7QUFDTCxNQUFPO0FBQ1AsYUFBYztBQUNkLE1BQU87RUFDTixpQkFBQTs7QUFHRCxJQUFLLGdCQUFlO0VBQ25CLGVBQUE7O0FBR0Q7RUFDQyxtQkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTs7QUFIRCxPQU1DO0VBRUMsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0VBR0EsbUJBQUE7RUFDQSw0QkFBQTs7QUFFQSxPQVhELFdBV0U7RUFDQSx5REFBQTs7QUFLSCxRQUFTO0VBQ1IsZ0JBQUE7RUFDQSxTQUFBO0VBQ0Esd0JBQUE7O0FBRUEsUUFMUSxtQkFLUDtFQUNBLFlBQUE7O0FBS0YsS0FBTTtFQUNMLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBOztBQUlELEdBQUcsSUFBSyxFQUFDO0FBQ1QsR0FBRyxJQUFLO0VBQ1AsbUJBQUE7O0FBRUEsR0FKRSxJQUFLLEVBQUMsV0FJUDtBQUFELEdBSEUsSUFBSyxrQkFHTjtFQUNBLGdDQUFBOztBQUlGLEtBQU0sY0FBYTtFQUNsQixhQUFBOztBQUlBLFFBRFEsY0FDUDtFQUNBLGFBQUE7O0FBRkYsUUFBUyxjQUtSO0VBQ0MsYUFBQTs7QUFJRixRQUNDO0VBQ0MsaUJBQUE7O0FBSUY7RUFDQyxpQkFBQTs7QUFERCxTQUdDO0VBQ0MsV0FBQTtFQUNBLGlCQUFBOztBQUxGLFNBR0MsTUFJQztFQUNDLGdCQUFBOztBQUVBLFNBUEYsTUFJQyxTQUdFO0VBQ0EsdUJBQUE7RUFDQSxXQUFBOztBQUZELFNBUEYsTUFJQyxTQUdFLE1BSUE7RUFDQywwQkFBQTs7QUFmTCxTQUdDLE1BaUJDO0VBQ0MsV0FBQTtFQUNBLGFBQUE7O0FBR0QsU0F0QkQsTUFzQkU7RUFDQSxnQkFBQTs7QUFLSDtFQUNDLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSx3QkFBQTs7QUFFQSx1QkFBQztFQUNBLFlBQUE7RUFDQSxVQUFBOztBQUtGO0VBQ0MsaUJBQUE7O0FBREQsTUFHQyxJQUFHO0VBQ0YsaUJBQUE7O0FBSkYsTUFPQztFQUNDLGlCQUFBOztBQVJGLE1BT0MsY0FHQztFQUNDLGlCQUFBOztBQVhILE1BT0MsY0FPQztFQUVDLGtCQUFBOztBQWhCSCxNQW9CQztFQUNDLGtCQUFBO0VBQ0EsU0FBQTtFQUVBLFNBQUE7RUFDQSxrQkFBQTs7QWpCaEdGLFFBSGlDO0VBR2pDLE1pQjJGQztJQVVFLFVBQUE7SUFDQSxpQkFBQTtJQUVBLFVBQUE7SUFDQSxtQkFBQTs7RUFFQSxNQWhCRixXQWdCRztJQUNBLFVBQUE7SUFDQSxXQUFBOzs7QWpCN0dKLFFBSGlDO0VBR2pDLE1pQjJGQztJQXdCRSxhQUFBOzs7QUN4SkgsUUFBUztFQUNSLG9CQUFBO0VmbTJCQyx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFZXAyQkQsZUFBQTs7QUFJRCxvQkFBcUI7RWY2ZWxCLE9BQUE7RUFBUyx5QkFBQTtFQUNWLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBOztBZTVlRixZQUFZO0VBQ1gsa0JBQUE7RWZ3ZUUsT0FBQTtFQUFTLDBCQUFBO0VBQ1Ysa0JBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTs7QWV0ZUQsWUFOVyxPQU1WO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsT0FBQTtFZmdQQSwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFQW1CekIsNENBQUE7RUFDQSx5Q0FBQTtFQUNBLG9DQUFBOztBZXBSRixZQUFZLE9Ba0JYO0VmZ1FDLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFZWhRQSxxQkFBQTs7QUFwQkYsWUFBWSxPQXVCWDtBQXZCRCxZQUFZLE9Bd0JYO0VBQ0Msa0JBQUE7RUFDQSxVQUFBOztBQTFCRixZQUFZLE9BNkJYO0VmcVBDLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTs7QWVsUEY7RWZ1ekJFLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBOztBZXZ6QkY7RUFDQyxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBOztBQUdDLFFBREQsT0FBTSxTQUNKO0VBQ0EsZUFBQTtFQUVBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EseUJBQUE7O0FBR0QsUUFWRCxPQUFNLFNBVUo7RUFDQSxhQUFBOztBQUdELFFBZEQsT0FBTSxTQWNKO0VBQ0EsV0FBQTtFQUNBLGlCQUFBOztBQUdELFFBbkJELE9BQU0sU0FtQko7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7O0FBM0JILFFBTUMsT0FBTSxTQXdCTDtFQUNDLGNBQUE7O0FBTUgsZ0JBQWdCO0FBQ2hCLGdCQUFnQjtBQUNoQixzQkFBc0I7RUFDckIsYUFBQTs7QUFHRCxnQkFBaUI7QUFDakIsUUFBUyxPQUFNO0FBQ2YsZ0JBQWlCLFdBQVU7RUFDMUIsYUFBQTs7QUFHRCxHQUFHO0VBQ0YsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBOztBQU5ELEdBQUcsZ0JBUUY7RUFDQyxTQUFBOztBQVRGLEdBQUcsZ0JBWUY7RUFDQyxhQUFBOztBQUdELEdBaEJFLGdCQWdCRCxjQUFlO0VBQ2Ysa0JBQUE7RWZrWUMsT0FBQTtFQUFTLHlCQUFBO0VBQ1Ysb0JBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FldFpGLEdBQUcsZ0JBdUJGLE9BQU87RUFDTixpQkFBQTs7QUFJRCxHQTVCRSxnQkE0QkE7RUFDRCxVQUFBO0VBQ0EsU0FBQTtFQUNBLDZCQUFBO0VBQ0EsV0FBQTs7QUFFQSxHQWxDQyxnQkE0QkEsS0FNQTtFQUNBLDJCQUFBOztBQUdELEdBdENDLGdCQTRCQSxLQVVBO0VBQ0Esd0JBQUE7O0FBWEYsR0E1QkUsZ0JBNEJBLEtBZUQ7RUFDQyxVQUFBO0VBQ0EsU0FBQTs7QUFJRCxHQWpEQyxnQkE0QkEsS0FxQkM7RUFDRCxrQkFBQTs7QUFFQSxHQXBEQSxnQkE0QkEsS0FxQkMsS0FHQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBOztBQUdELEdBMURBLGdCQTRCQSxLQXFCQyxLQVNBO0FBQ0QsR0EzREEsZ0JBNEJBLEtBcUJDLEtBVUE7RUFDQSxnQ0FBQTs7QUFHRCxHQS9EQSxnQkE0QkEsS0FxQkMsS0FjQTtFQUNBLDBCQUFBOztBQUVBLEdBbEVELGdCQTRCQSxLQXFCQyxLQWNBLHNCQUdDO0VBQ0EsZ0JBQUE7O0FBSUYsR0F2RUEsZ0JBNEJBLEtBcUJDLEtBc0JBLG1CQUFtQjtBQUNwQixHQXhFQSxnQkE0QkEsS0FxQkMsS0F1QkEsbUJBQW1CO0FBQ3BCLEdBekVBLGdCQTRCQSxLQXFCQyxLQXdCQSx1QkFBdUI7QUFDeEIsR0ExRUEsZ0JBNEJBLEtBcUJDLEtBeUJBLHVCQUF1QjtFQUN2QixnQkFBQTtFQUNBLFVBQUE7O0FBR0QsR0EvRUEsZ0JBNEJBLEtBcUJDLEtBOEJBLG1CQUFtQjtBQUNwQixHQWhGQSxnQkE0QkEsS0FxQkMsS0ErQkEsdUJBQXVCO0FBQ3hCLEdBakZBLGdCQTRCQSxLQXFCQyxLQWdDQSxtQkFBbUIsT0FBTztBQUMzQixHQWxGQSxnQkE0QkEsS0FxQkMsS0FpQ0EsdUJBQXVCLE9BQU87RUFDOUIsbUJBQUE7O0FBR0QsR0F0RkEsZ0JBNEJBLEtBcUJDLEtBcUNBLG1CQUFtQjtBQUNwQixHQXZGQSxnQkE0QkEsS0FxQkMsS0FzQ0EsdUJBQXVCO0VBQ3ZCLG1CQUFBOztBQUdELEdBM0ZBLGdCQTRCQSxLQXFCQyxLQTBDQTtFQU1BLG1CQUFBOztBQUxBLEdBNUZELGdCQTRCQSxLQXFCQyxLQTBDQSx1QkFDQztFQUNBLFNBQVMsRUFBVDtFQUNBLFdBQUE7O0FBS0QsR0FuR0QsZ0JBNEJBLEtBcUJDLEtBMENBLHVCQVFFO0VBQ0QsZ0JBQUE7O0FBSUYsR0F4R0EsZ0JBNEJBLEtBcUJDLEtBdURDO0FBQUssR0F4R1AsZ0JBNEJBLEtBcUJDLEtBdURRO0VBQ1IsbUJBQUE7RUFDQSxzQkFBQTs7QUF6REYsR0FqREMsZ0JBNEJBLEtBcUJDLEtBNkREO0VBQ0MsaUJBQUE7RUFDQSxnQkFBQTs7QUEvREYsR0FqREMsZ0JBNEJBLEtBcUJDLEtBNkRELEVBSUM7RUFDQyxtQkFBQTtFQUNBLGVBQUE7O0FBbkVILEdBakRDLGdCQTRCQSxLQXFCQyxLQTZERCxFQUlDLEtBSUM7RUFDQyxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VmNkNKLDBCQUFBO0VBQWlDLG9DQUFBO0VBQ2pDLHVCQUFBO0VBQThCLDZCQUFBO0VBQzlCLGtCQUFBO0VBQXlCLDRCQUFBO0VlN0NyQixzQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FBR0MsR0FsSUosZ0JBNEJBLEtBcUJDLEtBNkRELEVBSUMsS0FJQyxPQVdFLElBQUksV0FDSDtBQUNELEdBbklKLGdCQTRCQSxLQXFCQyxLQTZERCxFQUlDLEtBSUMsT0FXRSxJQUFJLFdBRUg7RUFDQSxXQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTs7QUFJRixHQTFJSCxnQkE0QkEsS0FxQkMsS0E2REQsRUFJQyxLQUlDLE9Bb0JFLEtBQUs7RUFDTCxlQUFBO0Vmd1FKLE9BQUE7RUFBUyx5QkFBQTtFQUNWLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBOztBZXJXQSxHQWpEQyxnQkE0QkEsS0FxQkMsS0FrR0Q7RUFDQyx5QkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBOztBQXJHRixHQWpEQyxnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQztFQUNDLGtCQUFBO0VBQ0EscUJBQUE7RUFHQSxjQUFBOztBQUVBLEdBaEtGLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBT0U7RUFDQSw2QkFBQTs7QUFFQSxHQW5LSCxnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQU9FLHNCQUdDO0VBQ0EsYUFBQTs7QUFKRixHQWhLRixnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQU9FLHNCQU9BO0VmQUosMEJBQUE7RUFBaUMsb0NBQUE7RUFDakMsdUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsa0JBQUE7RUFBeUIsNEJBQUE7RWVBcEIsY0FBQTs7QUFFQSxHQTNLSixnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQU9FLHNCQU9BLHFCQUlFO0VBQ0EsK0JBQUE7O0FBWkgsR0FoS0YsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0FPRSxzQkFPQSxxQkFRQztFQUNDLHNCQUFBOztBQUtILEdBckxGLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBNEJHO0FBQUssR0FyTFQsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0E0QlU7RUFDUixtQkFBQTtFQUNBLHNCQUFBOztBQXRJSixHQWpEQyxnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQWtDQztFQUNDLFVBQUE7O0FBM0lKLEdBakRDLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBa0NDLEdBSUM7RUFDQyxVQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7O0FBbEpMLEdBakRDLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBa0NDLEdBSUMsR0FPQztFQUNDLGVBQUE7RUFDQSxtQkFBQTs7QUF2Sk4sR0FqREMsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0FrQ0MsR0FJQyxHQVlDO0FBMUpMLEdBakRDLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBa0NDLEdBSUMsR0FhQztFQUNDLGVBQUE7RUFDQSxTQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtFQ2xTUCxrQkFBQTtFQUNBLG1CQUFBO0VBRUEsb0JBQUE7RUFDQSxvQkFBQTs7QUR3U0EsR0ExTkUsZ0JBME5BO0VBQ0QsZ0JBQUE7O0FBSUQsR0EvTkUsZ0JBK05EO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7O0FBTEQsR0EvTkUsZ0JBK05ELE1BT0E7RUN4VEQsa0JBQUE7RUFDQSxrQkFBQTtFQUVBLG9CQUFBO0VBQ0Esb0JBQUE7RURzVEUscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdDQUFBO0VBQ0EsYUFBQTtFQUNBLG9CQUFBOztBQWJGLEdBL05FLGdCQStORCxNQWdCQTtFQUVDLG9CQUFBO0VBQ0EsZ0JBQUE7O0FBbkJGLEdBL05FLGdCQStORCxNQWdCQSxHQUtDO0VBQ0MsaUJBQUE7RUFDQSxTQUFBO0VBQ0EscUJBQUE7O0FBR0QsR0ExUEEsZ0JBK05ELE1BZ0JBLEdBV0c7RUFDRCxrQkFBQTs7QUE1QkgsR0EvTkUsZ0JBK05ELE1BZ0JBLEdBZUM7RUFDQyxXQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLDZCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFZmxFRiw4QkFBQTtFQUNBLDJCQUFBO0VBQ0Esc0JBQUE7O0FlMEJELEdBL05FLGdCQStORCxNQWdCQSxHQWVDLEdBVUM7RUFDQyxnQkFBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTs7QUE1Q0osR0EvTkUsZ0JBK05ELE1BZ0JBLEdBZ0NDO0VBQ0MsaUJBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7O0FBbkRILEdBL05FLGdCQStORCxNQWdCQSxHQWdDQyxHQUtDO0VBQ0Msa0JBQUE7O0FBR0QsR0F4UkQsZ0JBK05ELE1BZ0JBLEdBZ0NDLEdBU0U7RUFDQSxTQUFTLE9BQVQ7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTs7QUFPTDtBQUNBLGdCQUFpQjtBQUNqQjtFZmhJRSwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFZWdJMUIsc0JBQUE7RUMzWEEsa0JBQUE7RUFDQSxtQkFBQTtFQUVBLG9CQUFBO0VBQ0Esb0JBQUE7O0FEMlhELGdCQUFpQjtBQUNqQixXQUFZO0FBQ1o7RUNqWUMsa0JBQUE7RUFDQSxtQkFBQTtFQUVBLG9CQUFBO0VBQ0Esb0JBQUE7RUQrWEEsZ0pBQUE7O0FBR0QsV0FBWTtFQUNYLFlBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTs7QUFHRCxnQkFBaUI7RWZ2SGYsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VldUhELGNBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7O0FBR0QsaUJBQWlCO0VBQ2hCLFVBQUE7RUFDQSxjQUFBO0VDOVpBLGVBQUE7RUFDQSxtQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7RURrYUEsZ0pBQUE7O0FBVkQsaUJBQWlCLGlCQUloQjtFQUNDLGNBQUE7RUFDQSxtQkFBQTs7QUFNRCxpQkFaZ0IsaUJBWWQsS0FBSTtFQUNMLG1CQUFBOzs7QUFLRjtFQUNDLG9CQUFBOztBQURELHVCQUdDLFNBQVM7RUFDUixtQkFBQTtFQUNBLGlCQUFBOztBQUxGLHVCQVFDO0VBRUMsWUFBQTtFQUdBLGdCQUFBOztBQUlGO0VBQ0MsZUFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTs7QUFKRCxnQkFNQztFQUNDLGlCQUFBOztBQVBGLGdCQU1DLGtCQUdDO0VBQ0MsZ0JBQUE7O0FBVkgsZ0JBTUMsa0JBR0MsT0FHQztFQUNDLGdCQUFBOztBQU9KO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTs7QUFFQSxLQUFDO0VBQ0EsYUFBQSJ9 */ diff --git a/scripts/ckeditor/samples/img/github-top.png b/scripts/ckeditor/samples/img/github-top.png new file mode 100644 index 00000000..7b9cbb10 Binary files /dev/null and b/scripts/ckeditor/samples/img/github-top.png differ diff --git a/scripts/ckeditor/samples/img/header-bg.png b/scripts/ckeditor/samples/img/header-bg.png new file mode 100644 index 00000000..a14166a8 Binary files /dev/null and b/scripts/ckeditor/samples/img/header-bg.png differ diff --git a/scripts/ckeditor/samples/img/header-separator.png b/scripts/ckeditor/samples/img/header-separator.png new file mode 100644 index 00000000..8c4fb9b5 Binary files /dev/null and b/scripts/ckeditor/samples/img/header-separator.png differ diff --git a/scripts/ckeditor/samples/img/logo.png b/scripts/ckeditor/samples/img/logo.png new file mode 100644 index 00000000..96d86e27 Binary files /dev/null and b/scripts/ckeditor/samples/img/logo.png differ diff --git a/scripts/ckeditor/samples/img/navigation-tip.png b/scripts/ckeditor/samples/img/navigation-tip.png new file mode 100644 index 00000000..22861141 Binary files /dev/null and b/scripts/ckeditor/samples/img/navigation-tip.png differ diff --git a/scripts/ckeditor/samples/index.html b/scripts/ckeditor/samples/index.html old mode 100755 new mode 100644 index 71e27e8e..cc5a5ad1 --- a/scripts/ckeditor/samples/index.html +++ b/scripts/ckeditor/samples/index.html @@ -1,108 +1,128 @@ - - - - - - CKEditor Samples - - - -

    - CKEditor Samples -

    -
    -
    -

    - Basic Samples -

    -
    -
    Replace textarea elements by class name
    -
    Automatic replacement of all textarea elements of a given class with a CKEditor instance.
    - -
    Replace textarea elements by code
    -
    Replacement of textarea elements with CKEditor instances by using a JavaScript call.
    - -
    Create editors with jQuery
    -
    Creating standard and inline CKEditor instances with jQuery adapter.
    -
    - -

    - Basic Customization -

    -
    -
    User Interface color
    -
    Changing CKEditor User Interface color and adding a toolbar button that lets the user set the UI color.
    - -
    User Interface languages
    -
    Changing CKEditor User Interface language and adding a drop-down list that lets the user choose the UI language.
    -
    - - - - -
    -
    -

    - Inline Editing -

    -
    -
    Massive inline editor creation
    -
    Turn all elements with contentEditable = true attribute into inline editors.
    - -
    Convert element into an inline editor by code
    -
    Conversion of DOM elements into inline CKEditor instances by using a JavaScript call.
    - -
    Replace textarea with inline editor New!
    -
    A form with a textarea that is replaced by an inline editor at runtime.
    - - -
    - -

    - Advanced Samples -

    -
    -
    Data filtering and features activation New!
    -
    Data filtering and automatic features activation basing on configuration.
    - -
    Replace DIV elements on the fly
    -
    Transforming a div element into an instance of CKEditor with a mouse click.
    - -
    Append editor instances
    -
    Appending editor instances to existing DOM elements.
    - -
    Create and destroy editor instances for Ajax applications
    -
    Creating and destroying CKEditor instances on the fly and saving the contents entered into the editor window.
    - -
    Basic usage of the API
    -
    Using the CKEditor JavaScript API to interact with the editor at runtime.
    - -
    XHTML-compliant style
    -
    Configuring CKEditor to produce XHTML 1.1 compliant attributes and styles.
    - -
    Read-only mode
    -
    Using the readOnly API to block introducing changes to the editor contents.
    - -
    "Tab" key-based navigation
    -
    Navigating among editor instances with tab key.
    - - - - -
    -
    -
    - - - + + + + + + CKEditor Sample + + + + + + + + + +
    + +
    + +
    +
    +
    +
    +

    Congratulations!

    +

    + If you can see CKEditor below, it means that the installation succeeded. + You can now try out your new editor version, see its features, and when you are ready to move on, check some of the most useful resources recommended below. +

    +
    +
    +
    +
    +
    +
    +
    +

    Hello world!

    +

    I'm an instance of CKEditor.

    +
    +
    +
    +
    + +
    +
    +
    +

    Customize Your Editor

    +

    Modular build and numerous configuration options give you nearly endless possibilities to customize CKEditor. Replace the content of your config.js file with the following code and refresh this page (remember to clear the browser cache)!

    +
    CKEDITOR.editorConfig = function( config ) {
    +	config.language = 'es';
    +	config.uiColor = '#F7B42C';
    +	config.height = 300;
    +	config.toolbarCanCollapse = true;
    +};
    +
    + +
    +

    Toolbar Configuration

    +

    If you want to reorder toolbar buttons or remove some of them, check this handy tool!

    +
    + +
    +

    More Samples!

    +

    Visit the CKEditor SDK for a huge collection of samples showcasing editor features, with source code readily available to copy and use in your own implementation.

    +
    + +
    +

    Developer's Guide

    +

    The most important resource for all developers working with CKEditor, integrating it with their websites and applications, and customizing to their needs. You can start from here:

    +
      +
    • Getting Started – Explains most crucial editor concepts and practices as well as the installation process and integration with your website.
    • +
    • Advanced Installation Concepts – Describes how to upgrade, install additional components (plugins, skins), or create a custom build.
    • +
    +

    When you have the basics sorted out, feel free to browse some more advanced sections like:

    + +
    + +
    +

    CKEditor JavaScript API

    +

    CKEditor boasts a rich JavaScript API that you can use to adjust the editor to your needs and integrate it with your website or application.

    +
    +
    +
    +
    + +
    +
    +

    + CKEditor – The text editor for the Internet – http://ckeditor.com +

    +

    + Copyright © 2003-2015, CKSource – Frederico Knabben. All rights reserved. +

    +
    +
    + + + + diff --git a/scripts/ckeditor/samples/js/sample.js b/scripts/ckeditor/samples/js/sample.js new file mode 100644 index 00000000..b960afe1 --- /dev/null +++ b/scripts/ckeditor/samples/js/sample.js @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/* exported initSample */ + +if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) + CKEDITOR.tools.enableHtml5Elements( document ); + +// The trick to keep the editor in the sample quite small +// unless user specified own height. +CKEDITOR.config.height = 150; +CKEDITOR.config.width = 'auto'; + +var initSample = ( function() { + var wysiwygareaAvailable = isWysiwygareaAvailable(), + isBBCodeBuiltIn = !!CKEDITOR.plugins.get( 'bbcode' ); + + return function() { + var editorElement = CKEDITOR.document.getById( 'editor' ); + + // :((( + if ( isBBCodeBuiltIn ) { + editorElement.setHtml( + 'Hello world!\n\n' + + 'I\'m an instance of [url=http://ckeditor.com]CKEditor[/url].' + ); + } + + // Depending on the wysiwygare plugin availability initialize classic or inline editor. + if ( wysiwygareaAvailable ) { + CKEDITOR.replace( 'editor' ); + } else { + editorElement.setAttribute( 'contenteditable', 'true' ); + CKEDITOR.inline( 'editor' ); + + // TODO we can consider displaying some info box that + // without wysiwygarea the classic editor may not work. + } + }; + + function isWysiwygareaAvailable() { + // If in development mode, then the wysiwygarea must be available. + // Split REV into two strings so builder does not replace it :D. + if ( CKEDITOR.revision == ( '%RE' + 'V%' ) ) { + return true; + } + + return !!CKEDITOR.plugins.get( 'wysiwygarea' ); + } +} )(); + diff --git a/scripts/ckeditor/samples/js/sf.js b/scripts/ckeditor/samples/js/sf.js new file mode 100644 index 00000000..2f07cc31 --- /dev/null +++ b/scripts/ckeditor/samples/js/sf.js @@ -0,0 +1,17 @@ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +var SF=function(){function d(a){return(a=a.attributes?a.attributes.getNamedItem("class"):null)?a.value.split(" "):[]}function c(a){var e=document.createAttribute("class");e.value=a.join(" ");return e}var b={attachListener:function(a,e,b){if(a.addEventListener)a.addEventListener(e,b,!1);else if(a.attachEvent)a.attachEvent("on"+e,function(){b.apply(a,arguments)});else throw Error("Could not attach event.");}};b.indexOf=function(){var a=Array.prototype.indexOf;return"function"===a?function(e,b){return a.call(e, +b)}:function(a,b){for(var c=a.length,d=0;d - - - - - Ajax — CKEditor Sample - - - - - -

    - CKEditor Samples » Create and Destroy Editor Instances for Ajax Applications -

    -
    -

    - This sample shows how to create and destroy CKEditor instances on the fly. After the removal of CKEditor the content created inside the editing - area will be displayed in a <div> element. -

    -

    - For details of how to create this setup check the source code of this sample page - for JavaScript code responsible for the creation and destruction of a CKEditor instance. -

    -
    -

    Click the buttons to create and remove a CKEditor instance.

    -

    - - -

    - -
    -
    - - - - + + + + + + Ajax — CKEditor Sample + + + + + +

    + CKEditor Samples » Create and Destroy Editor Instances for Ajax Applications +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to create and destroy CKEditor instances on the fly. After the removal of CKEditor the content created inside the editing + area will be displayed in a <div> element. +

    +

    + For details of how to create this setup check the source code of this sample page + for JavaScript code responsible for the creation and destruction of a CKEditor instance. +

    +
    +

    Click the buttons to create and remove a CKEditor instance.

    +

    + + +

    + +
    +
    + + + + diff --git a/scripts/ckeditor/samples/api.html b/scripts/ckeditor/samples/old/api.html old mode 100755 new mode 100644 similarity index 92% rename from scripts/ckeditor/samples/api.html rename to scripts/ckeditor/samples/old/api.html index 5becd323..aa096d17 --- a/scripts/ckeditor/samples/api.html +++ b/scripts/ckeditor/samples/old/api.html @@ -1,207 +1,210 @@ - - - - - - API Usage — CKEditor Sample - - - - - - -

    - CKEditor Samples » Using CKEditor JavaScript API -

    -
    -

    - This sample shows how to use the - CKEditor JavaScript API - to interact with the editor at runtime. -

    -

    - For details on how to create this setup check the source code of this sample page. -

    -
    - - -
    - -
    -
    - - - - -

    -

    - - -
    - - - + + + + + + API Usage — CKEditor Sample + + + + + + +

    + CKEditor Samples » Using CKEditor JavaScript API +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to use the + CKEditor JavaScript API + to interact with the editor at runtime. +

    +

    + For details on how to create this setup check the source code of this sample page. +

    +
    + + +
    + +
    +
    + + + + +

    +

    + + +
    + + + diff --git a/scripts/ckeditor/samples/appendto.html b/scripts/ckeditor/samples/old/appendto.html old mode 100755 new mode 100644 similarity index 82% rename from scripts/ckeditor/samples/appendto.html rename to scripts/ckeditor/samples/old/appendto.html index a84b0ee1..71eaac92 --- a/scripts/ckeditor/samples/appendto.html +++ b/scripts/ckeditor/samples/old/appendto.html @@ -1,56 +1,59 @@ - - - - - - Append To Page Element Using JavaScript Code — CKEditor Sample - - - - -

    - CKEditor Samples » Append To Page Element Using JavaScript Code -

    -
    -
    -

    - The CKEDITOR.appendTo() method serves to to place editors inside existing DOM elements. Unlike CKEDITOR.replace(), - a target container to be replaced is no longer necessary. A new editor - instance is inserted directly wherever it is desired. -

    -
    CKEDITOR.appendTo( 'container_id',
    -	{ /* Configuration options to be used. */ }
    -	'Editor content to be used.'
    -);
    -
    - -
    -
    - - - + + + + + + Append To Page Element Using JavaScript Code — CKEditor Sample + + + + +

    + CKEditor Samples » Append To Page Element Using JavaScript Code +

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +
    +
    +
    +

    + The CKEDITOR.appendTo() method serves to to place editors inside existing DOM elements. Unlike CKEDITOR.replace(), + a target container to be replaced is no longer necessary. A new editor + instance is inserted directly wherever it is desired. +

    +
    CKEDITOR.appendTo( 'container_id',
    +	{ /* Configuration options to be used. */ }
    +	'Editor content to be used.'
    +);
    +
    + +
    +
    + + + diff --git a/scripts/ckeditor/samples/old/assets/inlineall/logo.png b/scripts/ckeditor/samples/old/assets/inlineall/logo.png new file mode 100644 index 00000000..b4d5979e Binary files /dev/null and b/scripts/ckeditor/samples/old/assets/inlineall/logo.png differ diff --git a/scripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css b/scripts/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css old mode 100755 new mode 100644 similarity index 87% rename from scripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css rename to scripts/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css index da4f71a1..b60718a5 --- a/scripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css +++ b/scripts/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css @@ -1,204 +1,204 @@ -/* - * Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - * - * Styles used by the XHTML 1.1 sample page (xhtml.html). - */ - -/** - * Basic definitions for the editing area. - */ -body -{ - font-family: Arial, Verdana, sans-serif; - font-size: 80%; - color: #000000; - background-color: #ffffff; - padding: 5px; - margin: 0px; -} - -/** - * Core styles. - */ - -.Bold -{ - font-weight: bold; -} - -.Italic -{ - font-style: italic; -} - -.Underline -{ - text-decoration: underline; -} - -.StrikeThrough -{ - text-decoration: line-through; -} - -.Subscript -{ - vertical-align: sub; - font-size: smaller; -} - -.Superscript -{ - vertical-align: super; - font-size: smaller; -} - -/** - * Font faces. - */ - -.FontComic -{ - font-family: 'Comic Sans MS'; -} - -.FontCourier -{ - font-family: 'Courier New'; -} - -.FontTimes -{ - font-family: 'Times New Roman'; -} - -/** - * Font sizes. - */ - -.FontSmaller -{ - font-size: smaller; -} - -.FontLarger -{ - font-size: larger; -} - -.FontSmall -{ - font-size: 8pt; -} - -.FontBig -{ - font-size: 14pt; -} - -.FontDouble -{ - font-size: 200%; -} - -/** - * Font colors. - */ -.FontColor1 -{ - color: #ff9900; -} - -.FontColor2 -{ - color: #0066cc; -} - -.FontColor3 -{ - color: #ff0000; -} - -.FontColor1BG -{ - background-color: #ff9900; -} - -.FontColor2BG -{ - background-color: #0066cc; -} - -.FontColor3BG -{ - background-color: #ff0000; -} - -/** - * Indentation. - */ - -.Indent1 -{ - margin-left: 40px; -} - -.Indent2 -{ - margin-left: 80px; -} - -.Indent3 -{ - margin-left: 120px; -} - -/** - * Alignment. - */ - -.JustifyLeft -{ - text-align: left; -} - -.JustifyRight -{ - text-align: right; -} - -.JustifyCenter -{ - text-align: center; -} - -.JustifyFull -{ - text-align: justify; -} - -/** - * Other. - */ - -code -{ - font-family: courier, monospace; - background-color: #eeeeee; - padding-left: 1px; - padding-right: 1px; - border: #c0c0c0 1px solid; -} - -kbd -{ - padding: 0px 1px 0px 1px; - border-width: 1px 2px 2px 1px; - border-style: solid; -} - -blockquote -{ - color: #808080; -} +/* + * Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + * + * Styles used by the XHTML 1.1 sample page (xhtml.html). + */ + +/** + * Basic definitions for the editing area. + */ +body +{ + font-family: Arial, Verdana, sans-serif; + font-size: 80%; + color: #000000; + background-color: #ffffff; + padding: 5px; + margin: 0px; +} + +/** + * Core styles. + */ + +.Bold +{ + font-weight: bold; +} + +.Italic +{ + font-style: italic; +} + +.Underline +{ + text-decoration: underline; +} + +.StrikeThrough +{ + text-decoration: line-through; +} + +.Subscript +{ + vertical-align: sub; + font-size: smaller; +} + +.Superscript +{ + vertical-align: super; + font-size: smaller; +} + +/** + * Font faces. + */ + +.FontComic +{ + font-family: 'Comic Sans MS'; +} + +.FontCourier +{ + font-family: 'Courier New'; +} + +.FontTimes +{ + font-family: 'Times New Roman'; +} + +/** + * Font sizes. + */ + +.FontSmaller +{ + font-size: smaller; +} + +.FontLarger +{ + font-size: larger; +} + +.FontSmall +{ + font-size: 8pt; +} + +.FontBig +{ + font-size: 14pt; +} + +.FontDouble +{ + font-size: 200%; +} + +/** + * Font colors. + */ +.FontColor1 +{ + color: #ff9900; +} + +.FontColor2 +{ + color: #0066cc; +} + +.FontColor3 +{ + color: #ff0000; +} + +.FontColor1BG +{ + background-color: #ff9900; +} + +.FontColor2BG +{ + background-color: #0066cc; +} + +.FontColor3BG +{ + background-color: #ff0000; +} + +/** + * Indentation. + */ + +.Indent1 +{ + margin-left: 40px; +} + +.Indent2 +{ + margin-left: 80px; +} + +.Indent3 +{ + margin-left: 120px; +} + +/** + * Alignment. + */ + +.JustifyLeft +{ + text-align: left; +} + +.JustifyRight +{ + text-align: right; +} + +.JustifyCenter +{ + text-align: center; +} + +.JustifyFull +{ + text-align: justify; +} + +/** + * Other. + */ + +code +{ + font-family: courier, monospace; + background-color: #eeeeee; + padding-left: 1px; + padding-right: 1px; + border: #c0c0c0 1px solid; +} + +kbd +{ + padding: 0px 1px 0px 1px; + border-width: 1px 2px 2px 1px; + border-style: solid; +} + +blockquote +{ + color: #808080; +} diff --git a/scripts/ckeditor/samples/assets/posteddata.php b/scripts/ckeditor/samples/old/assets/posteddata.php old mode 100755 new mode 100644 similarity index 87% rename from scripts/ckeditor/samples/assets/posteddata.php rename to scripts/ckeditor/samples/old/assets/posteddata.php index fd96f8f1..c277550e --- a/scripts/ckeditor/samples/assets/posteddata.php +++ b/scripts/ckeditor/samples/old/assets/posteddata.php @@ -1,59 +1,59 @@ - - - - - - Sample — CKEditor - - - -

    - CKEditor — Posted Data -

    - - - - - - - - - $value ) - { - if ( ( !is_string($value) && !is_numeric($value) ) || !is_string($key) ) - continue; - - if ( get_magic_quotes_gpc() ) - $value = htmlspecialchars( stripslashes((string)$value) ); - else - $value = htmlspecialchars( (string)$value ); -?> - - - - - -
    Field NameValue
    - - - + + + + + + Sample — CKEditor + + + +

    + CKEditor — Posted Data +

    + + + + + + + + + $value ) + { + if ( ( !is_string($value) && !is_numeric($value) ) || !is_string($key) ) + continue; + + if ( get_magic_quotes_gpc() ) + $value = htmlspecialchars( stripslashes((string)$value) ); + else + $value = htmlspecialchars( (string)$value ); +?> + + + + + +
    Field NameValue
    + + + diff --git a/scripts/ckeditor/samples/old/assets/sample.jpg b/scripts/ckeditor/samples/old/assets/sample.jpg new file mode 100644 index 00000000..9498271c Binary files /dev/null and b/scripts/ckeditor/samples/old/assets/sample.jpg differ diff --git a/scripts/ckeditor/samples/old/assets/uilanguages/languages.js b/scripts/ckeditor/samples/old/assets/uilanguages/languages.js new file mode 100644 index 00000000..df9c682d --- /dev/null +++ b/scripts/ckeditor/samples/old/assets/uilanguages/languages.js @@ -0,0 +1,7 @@ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician",gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian", +is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)",sv:"Swedish",th:"Thai",tr:"Turkish",tt:"Tatar",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese", +zh:"Chinese Traditional","zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name - - - - - Data Filtering — CKEditor Sample - - - - - -

    - CKEditor Samples » Data Filtering and Features Activation -

    -
    -

    - This sample page demonstrates the idea of Advanced Content Filter - (ACF), a sophisticated - tool that takes control over what kind of data is accepted by the editor and what - kind of output is produced. -

    -

    When and what is being filtered?

    -

    - ACF controls - every single source of data that comes to the editor. - It process both HTML that is inserted manually (i.e. pasted by the user) - and programmatically like: -

    -
    -editor.setData( '<p>Hello world!</p>' );
    -
    -

    - ACF discards invalid, - useless HTML tags and attributes so the editor remains "clean" during - runtime. ACF behaviour - can be configured and adjusted for a particular case to prevent the - output HTML (i.e. in CMS systems) from being polluted. - - This kind of filtering is a first, client-side line of defense - against "tag soups", - the tool that precisely restricts which tags, attributes and styles - are allowed (desired). When properly configured, ACF - is an easy and fast way to produce a high-quality, intentionally filtered HTML. -

    - -

    How to configure or disable ACF?

    -

    - Advanced Content Filter is enabled by default, working in "automatic mode", yet - it provides a set of easy rules that allow adjusting filtering rules - and disabling the entire feature when necessary. The config property - responsible for this feature is config.allowedContent. -

    -

    - By "automatic mode" is meant that loaded plugins decide which kind - of content is enabled and which is not. For example, if the link - plugin is loaded it implies that <a> tag is - automatically allowed. Each plugin is given a set - of predefined ACF rules - that control the editor until - config.allowedContent - is defined manually. -

    -

    - Let's assume our intention is to restrict the editor to accept (produce) paragraphs - only: no attributes, no styles, no other tags. - With ACF - this is very simple. Basically set - config.allowedContent to 'p': -

    -
    -var editor = CKEDITOR.replace( textarea_id, {
    -	allowedContent: 'p'
    -} );
    -
    -

    - Now try to play with allowed content: -

    -
    -// Trying to insert disallowed tag and attribute.
    -editor.setData( '<p style="color: red">Hello <em>world</em>!</p>' );
    -alert( editor.getData() );
    -
    -// Filtered data is returned.
    -"<p>Hello world!</p>"
    -
    -

    - What happened? Since config.allowedContent: 'p' is set the editor assumes - that only plain <p> are accepted. Nothing more. This is why - style attribute and <em> tag are gone. The same - filtering would happen if we pasted disallowed HTML into this editor. -

    -

    - This is just a small sample of what ACF - can do. To know more, please refer to the sample section below and - the official Advanced Content Filter guide. -

    -

    - You may, of course, want CKEditor to avoid filtering of any kind. - To get rid of ACF, - basically set - config.allowedContent to true like this: -

    -
    -CKEDITOR.replace( textarea_id, {
    -	allowedContent: true
    -} );
    -
    - -

    Beyond data flow: Features activation

    -

    - ACF is far more than - I/O control: the entire - UI of the editor is adjusted to what - filters restrict. For example: if <a> tag is - disallowed - by ACF, - then accordingly link command, toolbar button and link dialog - are also disabled. Editor is smart: it knows which features must be - removed from the interface to match filtering rules. -

    -

    - CKEditor can be far more specific. If <a> tag is - allowed by filtering rules to be used but it is restricted - to have only one attribute (href) - config.allowedContent = 'a[!href]', then - "Target" tab of the link dialog is automatically disabled as target - attribute isn't included in ACF rules - for <a>. This behaviour applies to dialog fields, context - menus and toolbar buttons. -

    - -

    Sample configurations

    -

    - There are several editor instances below that present different - ACF setups. All of them, - except the last inline instance, share the same HTML content to visualize - how different filtering rules affect the same input data. -

    -
    - -
    - -
    -

    - This editor is using default configuration ("automatic mode"). It means that - - config.allowedContent is defined by loaded plugins. - Each plugin extends filtering rules to make it's own associated content - available for the user. -

    -
    - - - -
    - -
    - -
    - -
    -

    - This editor is using a custom configuration for - ACF: -

    -
    -CKEDITOR.replace( 'editor2', {
    -	allowedContent:
    -		'h1 h2 h3 p blockquote strong em;' +
    -		'a[!href];' +
    -		'img(left,right)[!src,alt,width,height];' +
    -		'table tr th td caption;' +
    -		'span{!font-family};' +'
    -		'span{!color};' +
    -		'span(!marker);' +
    -		'del ins'
    -} );
    -
    -

    - The following rules may require additional explanation: -

    -
      -
    • - h1 h2 h3 p blockquote strong em - These tags - are accepted by the editor. Any tag attributes will be discarded. -
    • -
    • - a[!href] - href attribute is obligatory - for <a> tag. Tags without this attribute - are disarded. No other attribute will be accepted. -
    • -
    • - img(left,right)[!src,alt,width,height] - src - attribute is obligatory for <img> tag. - alt, width, height - and class attributes are accepted but - class must be either class="left" - or class="right" -
    • -
    • - table tr th td caption - These tags - are accepted by the editor. Any tag attributes will be discarded. -
    • -
    • - span{!font-family}, span{!color}, - span(!marker) - <span> tags - will be accepted if either font-family or - color style is set or class="marker" - is present. -
    • -
    • - del ins - These tags - are accepted by the editor. Any tag attributes will be discarded. -
    • -
    -

    - Please note that UI of the - editor is different. It's a response to what happened to the filters. - Since text-align isn't allowed, the align toolbar is gone. - The same thing happened to subscript/superscript, strike, underline - (<u>, <sub>, <sup> - are disallowed by - config.allowedContent) and many other buttons. -

    -
    - - -
    - -
    - -
    - -
    -

    - This editor is using a custom configuration for - ACF. - Note that filters can be configured as an object literal - as an alternative to a string-based definition. -

    -
    -CKEDITOR.replace( 'editor3', {
    -	allowedContent: {
    -		'b i ul ol big small': true,
    -		'h1 h2 h3 p blockquote li': {
    -			styles: 'text-align'
    -		},
    -		a: { attributes: '!href,target' },
    -		img: {
    -			attributes: '!src,alt',
    -			styles: 'width,height',
    -			classes: 'left,right'
    -		}
    -	}
    -} );
    -
    -
    - - -
    - -
    - -
    - -
    -

    - This editor is using a custom set of plugins and buttons. -

    -
    -CKEDITOR.replace( 'editor4', {
    -	removePlugins: 'bidi,font,forms,flash,horizontalrule,iframe,justify,table,tabletools,smiley',
    -	removeButtons: 'Anchor,Underline,Strike,Subscript,Superscript,Image',
    -	format_tags: 'p;h1;h2;h3;pre;address'
    -} );
    -
    -

    - As you can see, removing plugins and buttons implies filtering. - Several tags are not allowed in the editor because there's no - plugin/button that is responsible for creating and editing this - kind of content (for example: the image is missing because - of removeButtons: 'Image'). The conclusion is that - ACF works "backwards" - as well: modifying UI - elements is changing allowed content rules. -

    -
    - - -
    - -
    - -
    - -
    -

    - This editor is built on editable <h1> element. - ACF takes care of - what can be included in <h1>. Note that there - are no block styles in Styles combo. Also why lists, indentation, - blockquote, div, form and other buttons are missing. -

    -

    - ACF makes sure that - no disallowed tags will come to <h1> so the final - markup is valid. If the user tried to paste some invalid HTML - into this editor (let's say a list), it would be automatically - converted into plain text. -

    -
    -

    - 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. -

    -
    - - - - + + + + + + Data Filtering — CKEditor Sample + + + + + +

    + CKEditor Samples » Data Filtering and Features Activation +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample page demonstrates the idea of Advanced Content Filter + (ACF), a sophisticated + tool that takes control over what kind of data is accepted by the editor and what + kind of output is produced. +

    +

    When and what is being filtered?

    +

    + ACF controls + every single source of data that comes to the editor. + It process both HTML that is inserted manually (i.e. pasted by the user) + and programmatically like: +

    +
    +editor.setData( '<p>Hello world!</p>' );
    +
    +

    + ACF discards invalid, + useless HTML tags and attributes so the editor remains "clean" during + runtime. ACF behaviour + can be configured and adjusted for a particular case to prevent the + output HTML (i.e. in CMS systems) from being polluted. + + This kind of filtering is a first, client-side line of defense + against "tag soups", + the tool that precisely restricts which tags, attributes and styles + are allowed (desired). When properly configured, ACF + is an easy and fast way to produce a high-quality, intentionally filtered HTML. +

    + +

    How to configure or disable ACF?

    +

    + Advanced Content Filter is enabled by default, working in "automatic mode", yet + it provides a set of easy rules that allow adjusting filtering rules + and disabling the entire feature when necessary. The config property + responsible for this feature is config.allowedContent. +

    +

    + By "automatic mode" is meant that loaded plugins decide which kind + of content is enabled and which is not. For example, if the link + plugin is loaded it implies that <a> tag is + automatically allowed. Each plugin is given a set + of predefined ACF rules + that control the editor until + config.allowedContent + is defined manually. +

    +

    + Let's assume our intention is to restrict the editor to accept (produce) paragraphs + only: no attributes, no styles, no other tags. + With ACF + this is very simple. Basically set + config.allowedContent to 'p': +

    +
    +var editor = CKEDITOR.replace( textarea_id, {
    +	allowedContent: 'p'
    +} );
    +
    +

    + Now try to play with allowed content: +

    +
    +// Trying to insert disallowed tag and attribute.
    +editor.setData( '<p style="color: red">Hello <em>world</em>!</p>' );
    +alert( editor.getData() );
    +
    +// Filtered data is returned.
    +"<p>Hello world!</p>"
    +
    +

    + What happened? Since config.allowedContent: 'p' is set the editor assumes + that only plain <p> are accepted. Nothing more. This is why + style attribute and <em> tag are gone. The same + filtering would happen if we pasted disallowed HTML into this editor. +

    +

    + This is just a small sample of what ACF + can do. To know more, please refer to the sample section below and + the official Advanced Content Filter guide. +

    +

    + You may, of course, want CKEditor to avoid filtering of any kind. + To get rid of ACF, + basically set + config.allowedContent to true like this: +

    +
    +CKEDITOR.replace( textarea_id, {
    +	allowedContent: true
    +} );
    +
    + +

    Beyond data flow: Features activation

    +

    + ACF is far more than + I/O control: the entire + UI of the editor is adjusted to what + filters restrict. For example: if <a> tag is + disallowed + by ACF, + then accordingly link command, toolbar button and link dialog + are also disabled. Editor is smart: it knows which features must be + removed from the interface to match filtering rules. +

    +

    + CKEditor can be far more specific. If <a> tag is + allowed by filtering rules to be used but it is restricted + to have only one attribute (href) + config.allowedContent = 'a[!href]', then + "Target" tab of the link dialog is automatically disabled as target + attribute isn't included in ACF rules + for <a>. This behaviour applies to dialog fields, context + menus and toolbar buttons. +

    + +

    Sample configurations

    +

    + There are several editor instances below that present different + ACF setups. All of them, + except the inline instance, share the same HTML content to visualize + how different filtering rules affect the same input data. +

    +
    + +
    + +
    +

    + This editor is using default configuration ("automatic mode"). It means that + + config.allowedContent is defined by loaded plugins. + Each plugin extends filtering rules to make it's own associated content + available for the user. +

    +
    + + + +
    + +
    + +
    + +
    +

    + This editor is using a custom configuration for + ACF: +

    +
    +CKEDITOR.replace( 'editor2', {
    +	allowedContent:
    +		'h1 h2 h3 p blockquote strong em;' +
    +		'a[!href];' +
    +		'img(left,right)[!src,alt,width,height];' +
    +		'table tr th td caption;' +
    +		'span{!font-family};' +'
    +		'span{!color};' +
    +		'span(!marker);' +
    +		'del ins'
    +} );
    +
    +

    + The following rules may require additional explanation: +

    +
      +
    • + h1 h2 h3 p blockquote strong em - These tags + are accepted by the editor. Any tag attributes will be discarded. +
    • +
    • + a[!href] - href attribute is obligatory + for <a> tag. Tags without this attribute + are disarded. No other attribute will be accepted. +
    • +
    • + img(left,right)[!src,alt,width,height] - src + attribute is obligatory for <img> tag. + alt, width, height + and class attributes are accepted but + class must be either class="left" + or class="right" +
    • +
    • + table tr th td caption - These tags + are accepted by the editor. Any tag attributes will be discarded. +
    • +
    • + span{!font-family}, span{!color}, + span(!marker) - <span> tags + will be accepted if either font-family or + color style is set or class="marker" + is present. +
    • +
    • + del ins - These tags + are accepted by the editor. Any tag attributes will be discarded. +
    • +
    +

    + Please note that UI of the + editor is different. It's a response to what happened to the filters. + Since text-align isn't allowed, the align toolbar is gone. + The same thing happened to subscript/superscript, strike, underline + (<u>, <sub>, <sup> + are disallowed by + config.allowedContent) and many other buttons. +

    +
    + + +
    + +
    + +
    + +
    +

    + This editor is using a custom configuration for + ACF. + Note that filters can be configured as an object literal + as an alternative to a string-based definition. +

    +
    +CKEDITOR.replace( 'editor3', {
    +	allowedContent: {
    +		'b i ul ol big small': true,
    +		'h1 h2 h3 p blockquote li': {
    +			styles: 'text-align'
    +		},
    +		a: { attributes: '!href,target' },
    +		img: {
    +			attributes: '!src,alt',
    +			styles: 'width,height',
    +			classes: 'left,right'
    +		}
    +	}
    +} );
    +
    +
    + + +
    + +
    + +
    + +
    +

    + This editor is using a custom set of plugins and buttons. +

    +
    +CKEDITOR.replace( 'editor4', {
    +	removePlugins: 'bidi,font,forms,flash,horizontalrule,iframe,justify,table,tabletools,smiley',
    +	removeButtons: 'Anchor,Underline,Strike,Subscript,Superscript,Image',
    +	format_tags: 'p;h1;h2;h3;pre;address'
    +} );
    +
    +

    + As you can see, removing plugins and buttons implies filtering. + Several tags are not allowed in the editor because there's no + plugin/button that is responsible for creating and editing this + kind of content (for example: the image is missing because + of removeButtons: 'Image'). The conclusion is that + ACF works "backwards" + as well: modifying UI + elements is changing allowed content rules. +

    +
    + + +
    + +
    + +
    + +
    +

    + This editor is built on editable <h1> element. + ACF takes care of + what can be included in <h1>. Note that there + are no block styles in Styles combo. Also why lists, indentation, + blockquote, div, form and other buttons are missing. +

    +

    + ACF makes sure that + no disallowed tags will come to <h1> so the final + markup is valid. If the user tried to paste some invalid HTML + into this editor (let's say a list), it would be automatically + converted into plain text. +

    +
    +

    + 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. +

    +
    + +
    + +
    + +
    +

    + This editor is using a custom configuration for ACF. + It's using the + Disallowed Content property of the filter to eliminate all title attributes. +

    + +
    +CKEDITOR.replace( 'editor6', {
    +	allowedContent: {
    +		'b i ul ol big small': true,
    +		'h1 h2 h3 p blockquote li': {
    +			styles: 'text-align'
    +		},
    +		a: {attributes: '!href,target'},
    +		img: {
    +			attributes: '!src,alt',
    +			styles: 'width,height',
    +			classes: 'left,right'
    +		}
    +	},
    +	disallowedContent: '*{title*}'
    +} );
    +
    +
    + + +
    + +
    + +
    + +
    +

    + This editor is using a custom configuration for ACF. + It's using the + Disallowed Content property of the filter to eliminate all a and img tags, + while allowing all other tags. +

    +
    +CKEDITOR.replace( 'editor7', {
    +	allowedContent: {
    +		// Allow all content.
    +		$1: {
    +			elements: CKEDITOR.dtd,
    +			attributes: true,
    +			styles: true,
    +			classes: true
    +		}
    +	},
    +	disallowedContent: 'img a'
    +} );
    +
    +
    + + +
    + + + + diff --git a/scripts/ckeditor/plugins/dialog/samples/assets/my_dialog.js b/scripts/ckeditor/samples/old/dialog/assets/my_dialog.js old mode 100755 new mode 100644 similarity index 75% rename from scripts/ckeditor/plugins/dialog/samples/assets/my_dialog.js rename to scripts/ckeditor/samples/old/dialog/assets/my_dialog.js index 89ab058a..54f747c2 --- a/scripts/ckeditor/plugins/dialog/samples/assets/my_dialog.js +++ b/scripts/ckeditor/samples/old/dialog/assets/my_dialog.js @@ -1,9 +1,9 @@ /** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */ -CKEDITOR.dialog.add( 'myDialog', function( editor ) { +CKEDITOR.dialog.add( 'myDialog', function() { return { title: 'My Dialog', minWidth: 400, @@ -46,4 +46,3 @@ CKEDITOR.dialog.add( 'myDialog', function( editor ) { }; } ); -// %LEAVE_UNMINIFIED% %REMOVE_LINE% diff --git a/scripts/ckeditor/plugins/dialog/samples/dialog.html b/scripts/ckeditor/samples/old/dialog/dialog.html old mode 100755 new mode 100644 similarity index 91% rename from scripts/ckeditor/plugins/dialog/samples/dialog.html rename to scripts/ckeditor/samples/old/dialog/dialog.html index df09d25b..df43657e --- a/scripts/ckeditor/plugins/dialog/samples/dialog.html +++ b/scripts/ckeditor/samples/old/dialog/dialog.html @@ -1,6 +1,6 @@ @@ -8,7 +8,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license Using API to Customize Dialog Windows — CKEditor Sample - + @@ -134,8 +134,11 @@ For licensing, see LICENSE.md or http://ckeditor.com/license

    - CKEditor Samples » Using CKEditor Dialog API + CKEditor Samples » Using CKEditor Dialog API

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +

    This sample shows how to use the @@ -179,7 +182,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

    - Copyright © 2003-2014, CKSource - Frederico + Copyright © 2003-2015, CKSource - Frederico Knabben. All rights reserved.

    diff --git a/scripts/ckeditor/samples/divreplace.html b/scripts/ckeditor/samples/old/divreplace.html old mode 100755 new mode 100644 similarity index 89% rename from scripts/ckeditor/samples/divreplace.html rename to scripts/ckeditor/samples/old/divreplace.html index 3ee0e0e2..87f44db9 --- a/scripts/ckeditor/samples/divreplace.html +++ b/scripts/ckeditor/samples/old/divreplace.html @@ -1,141 +1,144 @@ - - - - - - Replace DIV — CKEditor Sample - - - - - - -

    - CKEditor Samples » Replace DIV with CKEditor on the Fly -

    -
    -

    - This sample shows how to automatically replace <div> elements - with a CKEditor instance on the fly, following user's doubleclick. The content - that was previously placed inside the <div> element will now - be moved into CKEditor editing area. -

    -

    - For details on how to create this setup check the source code of this sample page. -

    -
    -

    - Double-click any of the following <div> elements to transform them into - editor instances. -

    -
    -

    - Part 1 -

    -

    - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi - semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna - rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla - nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce - eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. -

    -
    -
    -

    - Part 2 -

    -

    - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi - semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna - rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla - nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce - eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. -

    -

    - Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus - sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum - vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate. -

    -
    -
    -

    - Part 3 -

    -

    - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi - semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna - rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla - nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce - eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. -

    -
    - - - + + + + + + Replace DIV — CKEditor Sample + + + + + + +

    + CKEditor Samples » Replace DIV with CKEditor on the Fly +

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +
    +
    +

    + This sample shows how to automatically replace <div> elements + with a CKEditor instance on the fly, following user's doubleclick. The content + that was previously placed inside the <div> element will now + be moved into CKEditor editing area. +

    +

    + For details on how to create this setup check the source code of this sample page. +

    +
    +

    + Double-click any of the following <div> elements to transform them into + editor instances. +

    +
    +

    + Part 1 +

    +

    + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. +

    +
    +
    +

    + Part 2 +

    +

    + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. +

    +

    + Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus + sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum + vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate. +

    +
    +
    +

    + Part 3 +

    +

    + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. +

    +
    + + + diff --git a/scripts/ckeditor/plugins/enterkey/samples/enterkey.html b/scripts/ckeditor/samples/old/enterkey/enterkey.html old mode 100755 new mode 100644 similarity index 86% rename from scripts/ckeditor/plugins/enterkey/samples/enterkey.html rename to scripts/ckeditor/samples/old/enterkey/enterkey.html index 2d515012..82a3124c --- a/scripts/ckeditor/plugins/enterkey/samples/enterkey.html +++ b/scripts/ckeditor/samples/old/enterkey/enterkey.html @@ -1,6 +1,6 @@ @@ -8,7 +8,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license ENTER Key Configuration — CKEditor Sample - + @@ -35,8 +35,11 @@ For licensing, see LICENSE.md or http://ckeditor.com/license

    - CKEditor Samples » ENTER Key Configuration + CKEditor Samples » ENTER Key Configuration

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +

    This sample shows how to configure the Enter and Shift+Enter keys @@ -95,7 +98,7 @@ CKEDITOR.replace( 'textarea_id', { CKEditor - The text editor for the Internet - http://ckeditor.com

    - Copyright © 2003-2014, CKSource - Frederico + Copyright © 2003-2015, CKSource - Frederico Knabben. All rights reserved.

    diff --git a/scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/outputforflash.fla b/scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla old mode 100755 new mode 100644 similarity index 100% rename from scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/outputforflash.fla rename to scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla diff --git a/scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/outputforflash.swf b/scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf old mode 100755 new mode 100644 similarity index 100% rename from scripts/ckeditor/plugins/htmlwriter/samples/assets/outputforflash/outputforflash.swf rename to scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf diff --git a/scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js b/scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js new file mode 100644 index 00000000..95fdf0a7 --- /dev/null +++ b/scripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js @@ -0,0 +1,18 @@ +var swfobject=function(){function u(){if(!s){try{var a=d.getElementsByTagName("body")[0].appendChild(d.createElement("span"));a.parentNode.removeChild(a)}catch(b){return}s=!0;for(var a=x.length,c=0;cf){f++;setTimeout(arguments.callee,10);return}a.removeChild(b);c=null;D()})()}else D()}function D(){var a=p.length;if(0e.wk))t(c,!0),f&&(g.success=!0,g.ref=E(c),f(g));else if(p[b].expressInstall&&F()){g={};g.data=p[b].expressInstall;g.width=d.getAttribute("width")||"0";g.height=d.getAttribute("height")||"0";d.getAttribute("class")&&(g.styleclass=d.getAttribute("class"));d.getAttribute("align")&&(g.align=d.getAttribute("align"));for(var h={},d=d.getElementsByTagName("param"),j=d.length,k=0;ke.wk)}function G(a,b,c,f){A=!0;H=f||null;N={success:!1,id:c};var g=n(c);if(g){"OBJECT"==g.nodeName?(w=I(g),B=null):(w=g,B=c);a.id= +O;if(typeof a.width==i||!/%$/.test(a.width)&&310>parseInt(a.width,10))a.width="310";if(typeof a.height==i||!/%$/.test(a.height)&&137>parseInt(a.height,10))a.height="137";d.title=d.title.slice(0,47)+" - Flash Player Installation";f=e.ie&&e.win?"ActiveX":"PlugIn";f="MMredirectURL="+m.location.toString().replace(/&/g,"%26")+"&MMplayerType="+f+"&MMdoctitle="+d.title;b.flashvars=typeof b.flashvars!=i?b.flashvars+("&"+f):f;e.ie&&(e.win&&4!=g.readyState)&&(f=d.createElement("div"),c+="SWFObjectNew",f.setAttribute("id", +c),g.parentNode.insertBefore(f,g),g.style.display="none",function(){g.readyState==4?g.parentNode.removeChild(g):setTimeout(arguments.callee,10)}());J(a,b,c)}}function W(a){if(e.ie&&e.win&&4!=a.readyState){var b=d.createElement("div");a.parentNode.insertBefore(b,a);b.parentNode.replaceChild(I(a),b);a.style.display="none";(function(){4==a.readyState?a.parentNode.removeChild(a):setTimeout(arguments.callee,10)})()}else a.parentNode.replaceChild(I(a),a)}function I(a){var b=d.createElement("div");if(e.win&& +e.ie)b.innerHTML=a.innerHTML;else if(a=a.getElementsByTagName(r)[0])if(a=a.childNodes)for(var c=a.length,f=0;fe.wk)return f;if(g)if(typeof a.id==i&&(a.id=c),e.ie&&e.win){var o="",h;for(h in a)a[h]!=Object.prototype[h]&&("data"==h.toLowerCase()?b.movie=a[h]:"styleclass"==h.toLowerCase()?o+=' class="'+a[h]+'"':"classid"!=h.toLowerCase()&&(o+=" "+ +h+'="'+a[h]+'"'));h="";for(var j in b)b[j]!=Object.prototype[j]&&(h+='');g.outerHTML='"+h+"";C[C.length]=a.id;f=n(a.id)}else{j=d.createElement(r);j.setAttribute("type",y);for(var k in a)a[k]!=Object.prototype[k]&&("styleclass"==k.toLowerCase()?j.setAttribute("class",a[k]):"classid"!=k.toLowerCase()&&j.setAttribute(k,a[k]));for(o in b)b[o]!=Object.prototype[o]&&"movie"!=o.toLowerCase()&& +(a=j,h=o,k=b[o],c=d.createElement("param"),c.setAttribute("name",h),c.setAttribute("value",k),a.appendChild(c));g.parentNode.replaceChild(j,g);f=j}return f}function P(a){var b=n(a);b&&"OBJECT"==b.nodeName&&(e.ie&&e.win?(b.style.display="none",function(){if(4==b.readyState){var c=n(a);if(c){for(var f in c)"function"==typeof c[f]&&(c[f]=null);c.parentNode.removeChild(c)}}else setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))}function n(a){var b=null;try{b=d.getElementById(a)}catch(c){}return b} +function U(a,b,c){a.attachEvent(b,c);v[v.length]=[a,b,c]}function z(a){var b=e.pv,a=a.split(".");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&b[2]>=a[2]?!0:!1}function Q(a,b,c,f){if(!e.ie||!e.mac){var g=d.getElementsByTagName("head")[0];if(g){c=c&&"string"==typeof c?c:"screen";f&&(K=l=null);if(!l||K!=c)f=d.createElement("style"),f.setAttribute("type","text/css"),f.setAttribute("media",c),l=g.appendChild(f), +e.ie&&(e.win&&typeof d.styleSheets!=i&&0\.;]/.exec(a)&&typeof encodeURIComponent!=i?encodeURIComponent(a):a}var i="undefined",r="object",y="application/x-shockwave-flash", +O="SWFObjectExprInst",m=window,d=document,q=navigator,T=!1,x=[function(){T?V():D()}],p=[],C=[],v=[],w,B,H,N,s=!1,A=!1,l,K,R=!0,e=function(){var a=typeof d.getElementById!=i&&typeof d.getElementsByTagName!=i&&typeof d.createElement!=i,b=q.userAgent.toLowerCase(),c=q.platform.toLowerCase(),f=c?/win/.test(c):/win/.test(b),c=c?/mac/.test(c):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,g=!+"\v1",e=[0,0,0],h=null;if(typeof q.plugins!=i&&typeof q.plugins["Shockwave Flash"]== +r){if((h=q.plugins["Shockwave Flash"].description)&&!(typeof q.mimeTypes!=i&&q.mimeTypes[y]&&!q.mimeTypes[y].enabledPlugin))T=!0,g=!1,h=h.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),e[0]=parseInt(h.replace(/^(.*)\..*$/,"$1"),10),e[1]=parseInt(h.replace(/^.*\.(.*)\s.*$/,"$1"),10),e[2]=/[a-zA-Z]/.test(h)?parseInt(h.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}else if(typeof m.ActiveXObject!=i)try{var j=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(j&&(h=j.GetVariable("$version")))g=!0,h=h.split(" ")[1].split(","), +e=[parseInt(h[0],10),parseInt(h[1],10),parseInt(h[2],10)]}catch(k){}return{w3:a,pv:e,wk:b,ie:g,win:f,mac:c}}();(function(){e.w3&&((typeof d.readyState!=i&&"complete"==d.readyState||typeof d.readyState==i&&(d.getElementsByTagName("body")[0]||d.body))&&u(),s||(typeof d.addEventListener!=i&&d.addEventListener("DOMContentLoaded",u,!1),e.ie&&e.win&&(d.attachEvent("onreadystatechange",function(){"complete"==d.readyState&&(d.detachEvent("onreadystatechange",arguments.callee),u())}),m==top&&function(){if(!s){try{d.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee, +0);return}u()}}()),e.wk&&function(){s||(/loaded|complete/.test(d.readyState)?u():setTimeout(arguments.callee,0))}(),M(u)))})();(function(){e.ie&&e.win&&window.attachEvent("onunload",function(){for(var a=v.length,b=0;be.wk)&&a&&b&&c&&d&&g?(t(b,!1),L(function(){c+="";d+="";var e={};if(k&&typeof k===r)for(var l in k)e[l]=k[l];e.data=a;e.width=c;e.height=d;l={};if(j&&typeof j===r)for(var p in j)l[p]=j[p];if(h&&typeof h===r)for(var q in h)l.flashvars=typeof l.flashvars!=i?l.flashvars+("&"+q+"="+h[q]):q+"="+h[q];if(z(g))p=J(e,l,b),e.id== +b&&t(b,!0),n.success=!0,n.ref=p;else{if(o&&F()){e.data=o;G(e,l,b,m);return}t(b,!0)}m&&m(n)})):m&&m(n)},switchOffAutoHideShow:function(){R=!1},ua:e,getFlashPlayerVersion:function(){return{major:e.pv[0],minor:e.pv[1],release:e.pv[2]}},hasFlashPlayerVersion:z,createSWF:function(a,b,c){if(e.w3)return J(a,b,c)},showExpressInstall:function(a,b,c,d){e.w3&&F()&&G(a,b,c,d)},removeSWF:function(a){e.w3&&P(a)},createCSS:function(a,b,c,d){e.w3&&Q(a,b,c,d)},addDomLoadEvent:L,addLoadEvent:M,getQueryParamValue:function(a){var b= +d.location.search||d.location.hash;if(b){/\?/.test(b)&&(b=b.split("?")[1]);if(null==a)return S(b);for(var b=b.split("&"),c=0;c @@ -8,9 +8,9 @@ For licensing, see LICENSE.md or http://ckeditor.com/license Output for Flash — CKEditor Sample - + - + @@ -30,8 +30,11 @@ For licensing, see LICENSE.md or http://ckeditor.com/license

    - CKEditor Samples » Producing Flash Compliant HTML Output + CKEditor Samples » Producing Flash Compliant HTML Output

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +

    This sample shows how to configure CKEditor to output @@ -272,7 +275,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

    - Copyright © 2003-2014, CKSource - Frederico + Copyright © 2003-2015, CKSource - Frederico Knabben. All rights reserved.

    diff --git a/scripts/ckeditor/plugins/htmlwriter/samples/outputhtml.html b/scripts/ckeditor/samples/old/htmlwriter/outputhtml.html old mode 100755 new mode 100644 similarity index 89% rename from scripts/ckeditor/plugins/htmlwriter/samples/outputhtml.html rename to scripts/ckeditor/samples/old/htmlwriter/outputhtml.html index f25697df..3c584558 --- a/scripts/ckeditor/plugins/htmlwriter/samples/outputhtml.html +++ b/scripts/ckeditor/samples/old/htmlwriter/outputhtml.html @@ -1,6 +1,6 @@ @@ -8,8 +8,8 @@ For licensing, see LICENSE.md or http://ckeditor.com/license HTML Compliant Output — CKEditor Sample - - + + @@ -17,8 +17,11 @@ For licensing, see LICENSE.md or http://ckeditor.com/license

    - CKEditor Samples » Producing HTML Compliant Output + CKEditor Samples » Producing HTML Compliant Output

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +

    This sample shows how to configure CKEditor to output valid @@ -213,7 +216,7 @@ CKEDITOR.replace( 'textarea_id', { CKEditor - The text editor for the Internet - http://ckeditor.com

    - Copyright © 2003-2014, CKSource - Frederico + Copyright © 2003-2015, CKSource - Frederico Knabben. All rights reserved.

    diff --git a/scripts/ckeditor/samples/old/index.html b/scripts/ckeditor/samples/old/index.html new file mode 100644 index 00000000..2573bcf6 --- /dev/null +++ b/scripts/ckeditor/samples/old/index.html @@ -0,0 +1,131 @@ + + + + + + CKEditor Samples + + + +

    + CKEditor Samples +

    +
    + These samples are not maintained anymore. Check out the brand new samples in CKEditor SDK. +
    +
    +
    +

    + Basic Samples +

    +
    +
    Replace textarea elements by class name
    +
    Automatic replacement of all textarea elements of a given class with a CKEditor instance.
    + +
    Replace textarea elements by code
    +
    Replacement of textarea elements with CKEditor instances by using a JavaScript call.
    + +
    Create editors with jQuery
    +
    Creating standard and inline CKEditor instances with jQuery adapter.
    +
    + +

    + Basic Customization +

    +
    +
    User Interface color
    +
    Changing CKEditor User Interface color and adding a toolbar button that lets the user set the UI color.
    + +
    User Interface languages
    +
    Changing CKEditor User Interface language and adding a drop-down list that lets the user choose the UI language.
    +
    + + +

    Plugins

    +
    +
    Magicline plugin
    +
    Using the Magicline plugin to access difficult focus spaces.
    + +
    Full page support
    +
    CKEditor inserted with a JavaScript call and used to edit the whole page from <html> to </html>.
    +
    +
    +
    +

    + Inline Editing +

    +
    +
    Massive inline editor creation
    +
    Turn all elements with contentEditable = true attribute into inline editors.
    + +
    Convert element into an inline editor by code
    +
    Conversion of DOM elements into inline CKEditor instances by using a JavaScript call.
    + +
    Replace textarea with inline editor New!
    +
    A form with a textarea that is replaced by an inline editor at runtime.
    + + +
    + +

    + Advanced Samples +

    +
    +
    Data filtering and features activation New!
    +
    Data filtering and automatic features activation basing on configuration.
    + +
    Replace DIV elements on the fly
    +
    Transforming a div element into an instance of CKEditor with a mouse click.
    + +
    Append editor instances
    +
    Appending editor instances to existing DOM elements.
    + +
    Create and destroy editor instances for Ajax applications
    +
    Creating and destroying CKEditor instances on the fly and saving the contents entered into the editor window.
    + +
    Basic usage of the API
    +
    Using the CKEditor JavaScript API to interact with the editor at runtime.
    + +
    XHTML-compliant style
    +
    Configuring CKEditor to produce XHTML 1.1 compliant attributes and styles.
    + +
    Read-only mode
    +
    Using the readOnly API to block introducing changes to the editor contents.
    + +
    "Tab" key-based navigation
    +
    Navigating among editor instances with tab key.
    + + + +
    Using the JavaScript API to customize dialog windows
    +
    Using the dialog windows API to customize dialog windows without changing the original editor code.
    + +
    Using the "Enter" key in CKEditor
    +
    Configuring the behavior of Enter and Shift+Enter keys.
    + +
    Output for Flash
    +
    Configuring CKEditor to produce HTML code that can be used with Adobe Flash.
    + +
    Output HTML
    +
    Configuring CKEditor to produce legacy HTML 4 code.
    + +
    Toolbar Configurations
    +
    Configuring CKEditor to display full or custom toolbar layout.
    + +
    +
    +
    + + + diff --git a/scripts/ckeditor/samples/inlineall.html b/scripts/ckeditor/samples/old/inlineall.html old mode 100755 new mode 100644 similarity index 93% rename from scripts/ckeditor/samples/inlineall.html rename to scripts/ckeditor/samples/old/inlineall.html index 250f0c54..a304aded --- a/scripts/ckeditor/samples/inlineall.html +++ b/scripts/ckeditor/samples/old/inlineall.html @@ -1,311 +1,314 @@ - - - - - - Massive inline editing — CKEditor Sample - - - - - - -
    -

    CKEditor Samples » Massive inline editing

    -
    -

    This sample page demonstrates the inline editing feature - CKEditor instances will be created automatically from page elements with contentEditable attribute set to value true:

    -
    <div contenteditable="true" > ... </div>
    -

    Click inside of any element below to start editing.

    -
    -
    -
    - -
    -
    -
    -

    - Fusce vitae porttitor -

    -

    - - Lorem ipsum dolor sit amet dolor. Duis blandit vestibulum faucibus a, tortor. - -

    -

    - Proin nunc justo felis mollis tincidunt, risus risus pede, posuere cubilia Curae, Nullam euismod, enim. Etiam nibh ultricies dolor ac dignissim erat volutpat. Vivamus fermentum nisl nulla sem in metus. Maecenas wisi. Donec nec erat volutpat. -

    -
    -

    - Fusce vitae porttitor a, euismod convallis nisl, blandit risus tortor, pretium. - Vehicula vitae, imperdiet vel, ornare enim vel sodales rutrum -

    -
    -
    -

    - Libero nunc, rhoncus ante ipsum non ipsum. Nunc eleifend pede turpis id sollicitudin fringilla. Phasellus ultrices, velit ac arcu. -

    -
    -

    Pellentesque nunc. Donec suscipit erat. Pellentesque habitant morbi tristique ullamcorper.

    -

    Mauris mattis feugiat lectus nec mauris. Nullam vitae ante.

    -
    -
    -
    -
    -

    - Integer condimentum sit amet -

    -

    - Aenean nonummy a, mattis varius. Cras aliquet. - Praesent magna non mattis ac, rhoncus nunc, rhoncus eget, cursus pulvinar mollis.

    -

    Proin id nibh. Sed eu libero posuere sed, lectus. Phasellus dui gravida gravida feugiat mattis ac, felis.

    -

    Integer condimentum sit amet, tempor elit odio, a dolor non ante at sapien. Sed ac lectus. Nulla ligula quis eleifend mi, id leo velit pede cursus arcu id nulla ac lectus. Phasellus vestibulum. Nunc viverra enim quis diam.

    -
    -
    -

    - Praesent wisi accumsan sit amet nibh -

    -

    Donec ullamcorper, risus tortor, pretium porttitor. Morbi quam quis lectus non leo.

    -

    Integer faucibus scelerisque. Proin faucibus at, aliquet vulputate, odio at eros. Fusce gravida, erat vitae augue. Fusce urna fringilla gravida.

    -

    In hac habitasse platea dictumst. Praesent wisi accumsan sit amet nibh. Maecenas orci luctus a, lacinia quam sem, posuere commodo, odio condimentum tempor, pede semper risus. Suspendisse pede. In hac habitasse platea dictumst. Nam sed laoreet sit amet erat. Integer.

    -
    -
    -
    -
    -

    - CKEditor logo -

    -

    Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi.

    -

    - Nullam laoreet vel consectetuer tellus suscipit -

    -
      -
    • Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis.
    • -
    • Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi.
    • -
    • Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.
    • -
    -

    Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus.

    -

    Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis.

    -

    Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi. Sed in nonummy faucibus turpis. Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.

    -
    -
    -
    -
    - Tags of this article: -

    - inline, editing, floating, CKEditor -

    -
    -
    - - - + + + + + + Massive inline editing — CKEditor Sample + + + + + + +
    +

    CKEditor Samples » Massive inline editing

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    This sample page demonstrates the inline editing feature - CKEditor instances will be created automatically from page elements with contentEditable attribute set to value true:

    +
    <div contenteditable="true" > ... </div>
    +

    Click inside of any element below to start editing.

    +
    +
    +
    + +
    +
    +
    +

    + Fusce vitae porttitor +

    +

    + + Lorem ipsum dolor sit amet dolor. Duis blandit vestibulum faucibus a, tortor. + +

    +

    + Proin nunc justo felis mollis tincidunt, risus risus pede, posuere cubilia Curae, Nullam euismod, enim. Etiam nibh ultricies dolor ac dignissim erat volutpat. Vivamus fermentum nisl nulla sem in metus. Maecenas wisi. Donec nec erat volutpat. +

    +
    +

    + Fusce vitae porttitor a, euismod convallis nisl, blandit risus tortor, pretium. + Vehicula vitae, imperdiet vel, ornare enim vel sodales rutrum +

    +
    +
    +

    + Libero nunc, rhoncus ante ipsum non ipsum. Nunc eleifend pede turpis id sollicitudin fringilla. Phasellus ultrices, velit ac arcu. +

    +
    +

    Pellentesque nunc. Donec suscipit erat. Pellentesque habitant morbi tristique ullamcorper.

    +

    Mauris mattis feugiat lectus nec mauris. Nullam vitae ante.

    +
    +
    +
    +
    +

    + Integer condimentum sit amet +

    +

    + Aenean nonummy a, mattis varius. Cras aliquet. + Praesent magna non mattis ac, rhoncus nunc, rhoncus eget, cursus pulvinar mollis.

    +

    Proin id nibh. Sed eu libero posuere sed, lectus. Phasellus dui gravida gravida feugiat mattis ac, felis.

    +

    Integer condimentum sit amet, tempor elit odio, a dolor non ante at sapien. Sed ac lectus. Nulla ligula quis eleifend mi, id leo velit pede cursus arcu id nulla ac lectus. Phasellus vestibulum. Nunc viverra enim quis diam.

    +
    +
    +

    + Praesent wisi accumsan sit amet nibh +

    +

    Donec ullamcorper, risus tortor, pretium porttitor. Morbi quam quis lectus non leo.

    +

    Integer faucibus scelerisque. Proin faucibus at, aliquet vulputate, odio at eros. Fusce gravida, erat vitae augue. Fusce urna fringilla gravida.

    +

    In hac habitasse platea dictumst. Praesent wisi accumsan sit amet nibh. Maecenas orci luctus a, lacinia quam sem, posuere commodo, odio condimentum tempor, pede semper risus. Suspendisse pede. In hac habitasse platea dictumst. Nam sed laoreet sit amet erat. Integer.

    +
    +
    +
    +
    +

    + CKEditor logo +

    +

    Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi.

    +

    + Nullam laoreet vel consectetuer tellus suscipit +

    +
      +
    • Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis.
    • +
    • Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi.
    • +
    • Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.
    • +
    +

    Quisque justo neque, mattis sed, fermentum ultrices posuere cubilia Curae, Vestibulum elit metus, quis placerat ut, lectus.

    +

    Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis.

    +

    Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi. Sed in nonummy faucibus turpis. Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.

    +
    +
    +
    +
    + Tags of this article: +

    + inline, editing, floating, CKEditor +

    +
    +
    + + + diff --git a/scripts/ckeditor/samples/inlinebycode.html b/scripts/ckeditor/samples/old/inlinebycode.html old mode 100755 new mode 100644 similarity index 92% rename from scripts/ckeditor/samples/inlinebycode.html rename to scripts/ckeditor/samples/old/inlinebycode.html index fe627d08..4d49ac59 --- a/scripts/ckeditor/samples/inlinebycode.html +++ b/scripts/ckeditor/samples/old/inlinebycode.html @@ -1,121 +1,124 @@ - - - - - - Inline Editing by Code — CKEditor Sample - - - - - -

    - CKEditor Samples » Inline Editing by Code -

    -
    -

    - This sample shows how to create an inline editor instance of CKEditor. It is created - with a JavaScript call using the following code: -

    -
    -// This property tells CKEditor to not activate every element with contenteditable=true element.
    -CKEDITOR.disableAutoInline = true;
    -
    -var editor = CKEDITOR.inline( document.getElementById( 'editable' ) );
    -
    -

    - Note that editable in the code above is the id - attribute of the <div> element to be converted into an inline instance. -

    -
    -
    -

    Saturn V carrying Apollo 11 Apollo 11

    - -

    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.

    - -

    Broadcasting and quotes

    - -

    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.

    -
    - -

    Technical details

    - - - - - - - - - - - - - - - - - - - - - - - -
    Mission crew
    PositionAstronaut
    CommanderNeil A. Armstrong
    Command Module PilotMichael Collins
    Lunar Module PilotEdwin "Buzz" E. Aldrin, Jr.
    - -

    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:

    - -
      -
    1. Command Module with a cabin for the three astronauts which was the only part which landed back on Earth
    2. -
    3. Service Module which supported the Command Module with propulsion, electrical power, oxygen and water
    4. -
    5. Lunar Module for landing on the Moon.
    6. -
    - -

    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

    -
    - - - - - + + + + + + Inline Editing by Code — CKEditor Sample + + + + + +

    + CKEditor Samples » Inline Editing by Code +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to create an inline editor instance of CKEditor. It is created + with a JavaScript call using the following code: +

    +
    +// This property tells CKEditor to not activate every element with contenteditable=true element.
    +CKEDITOR.disableAutoInline = true;
    +
    +var editor = CKEDITOR.inline( document.getElementById( 'editable' ) );
    +
    +

    + Note that editable in the code above is the id + attribute of the <div> element to be converted into an inline instance. +

    +
    +
    +

    Saturn V carrying Apollo 11 Apollo 11

    + +

    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.

    + +

    Broadcasting and quotes

    + +

    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.

    +
    + +

    Technical details

    + + + + + + + + + + + + + + + + + + + + + + + +
    Mission crew
    PositionAstronaut
    CommanderNeil A. Armstrong
    Command Module PilotMichael Collins
    Lunar Module PilotEdwin "Buzz" E. Aldrin, Jr.
    + +

    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:

    + +
      +
    1. Command Module with a cabin for the three astronauts which was the only part which landed back on Earth
    2. +
    3. Service Module which supported the Command Module with propulsion, electrical power, oxygen and water
    4. +
    5. Lunar Module for landing on the Moon.
    6. +
    + +

    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

    +
    + + + + + diff --git a/scripts/ckeditor/samples/inlinetextarea.html b/scripts/ckeditor/samples/old/inlinetextarea.html old mode 100755 new mode 100644 similarity index 90% rename from scripts/ckeditor/samples/inlinetextarea.html rename to scripts/ckeditor/samples/old/inlinetextarea.html index 9da5ed3b..319bf7ed --- a/scripts/ckeditor/samples/inlinetextarea.html +++ b/scripts/ckeditor/samples/old/inlinetextarea.html @@ -1,110 +1,113 @@ - - - - - - Replace Textarea with Inline Editor — CKEditor Sample - - - - - -

    - CKEditor Samples » Replace Textarea with Inline Editor -

    -
    -

    - You can also create an inline editor from a textarea - element. In this case the textarea will be replaced - by a div element with inline editing enabled. -

    -
    -// "article-body" is the name of a textarea element.
    -var editor = CKEDITOR.inline( 'article-body' );
    -
    -
    -
    -

    This is a sample form with some fields

    -

    - Title:
    -

    -

    - Article Body (Textarea converted to CKEditor):
    - -

    -

    - -

    -
    - - - - - + + + + + + Replace Textarea with Inline Editor — CKEditor Sample + + + + + +

    + CKEditor Samples » Replace Textarea with Inline Editor +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + You can also create an inline editor from a textarea + element. In this case the textarea will be replaced + by a div element with inline editing enabled. +

    +
    +// "article-body" is the name of a textarea element.
    +var editor = CKEDITOR.inline( 'article-body' );
    +
    +
    +
    +

    This is a sample form with some fields

    +

    + Title:
    +

    +

    + Article Body (Textarea converted to CKEditor):
    + +

    +

    + +

    +
    + + + + + diff --git a/scripts/ckeditor/samples/jquery.html b/scripts/ckeditor/samples/old/jquery.html old mode 100755 new mode 100644 similarity index 92% rename from scripts/ckeditor/samples/jquery.html rename to scripts/ckeditor/samples/old/jquery.html index c57c8014..1af2185c --- a/scripts/ckeditor/samples/jquery.html +++ b/scripts/ckeditor/samples/old/jquery.html @@ -1,100 +1,103 @@ - - - - - - jQuery Adapter — CKEditor Sample - - - - - - - - -

    - CKEditor Samples » Create Editors with jQuery -

    -
    -
    -

    - This sample shows how to use the jQuery adapter. - Note that you have to include both CKEditor and jQuery scripts before including the adapter. -

    - -
    -<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    -<script src="/ckeditor/ckeditor.js"></script>
    -<script src="/ckeditor/adapters/jquery.js"></script>
    -
    - -

    Then you can replace HTML elements with a CKEditor instance using the ckeditor() method.

    - -
    -$( document ).ready( function() {
    -	$( 'textarea#editor1' ).ckeditor();
    -} );
    -
    -
    - -

    Inline Example

    - -
    -

    Saturn V carrying Apollo 11Apollo 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.

    -
    - -
    - -

    Classic (iframe-based) Example

    - - - -

    - - - - - -

    -
    - - - \ No newline at end of file + + + + + + jQuery Adapter — CKEditor Sample + + + + + + + + +

    + CKEditor Samples » Create Editors with jQuery +

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +
    +
    +
    +

    + This sample shows how to use the jQuery adapter. + Note that you have to include both CKEditor and jQuery scripts before including the adapter. +

    + +
    +<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    +<script src="/ckedit../../ckeditor.js"></script>
    +<script src="/ckeditor/adapters/jquery.js"></script>
    +
    + +

    Then you can replace HTML elements with a CKEditor instance using the ckeditor() method.

    + +
    +$( document ).ready( function() {
    +	$( 'textarea#editor1' ).ckeditor();
    +} );
    +
    +
    + +

    Inline Example

    + +
    +

    Saturn V carrying Apollo 11Apollo 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.

    +
    + +
    + +

    Classic (iframe-based) Example

    + + + +

    + + + + + +

    +
    + + + diff --git a/scripts/ckeditor/plugins/magicline/samples/magicline.html b/scripts/ckeditor/samples/old/magicline/magicline.html old mode 100755 new mode 100644 similarity index 91% rename from scripts/ckeditor/plugins/magicline/samples/magicline.html rename to scripts/ckeditor/samples/old/magicline/magicline.html index 800fbb3b..21d1d071 --- a/scripts/ckeditor/plugins/magicline/samples/magicline.html +++ b/scripts/ckeditor/samples/old/magicline/magicline.html @@ -1,6 +1,6 @@ @@ -8,15 +8,18 @@ For licensing, see LICENSE.md or http://ckeditor.com/license Using Magicline plugin — CKEditor Sample - +

    - CKEditor Samples » Using Magicline plugin + CKEditor Samples » Using Magicline plugin

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +

    This sample shows the advantages of Magicline plugin @@ -198,7 +201,7 @@ CKEDITOR.replace( 'editor2', { CKEditor - The text editor for the Internet - http://ckeditor.com

    - Copyright © 2003-2014, CKSource - Frederico + Copyright © 2003-2015, CKSource - Frederico Knabben. All rights reserved.

    diff --git a/scripts/ckeditor/samples/readonly.html b/scripts/ckeditor/samples/old/readonly.html old mode 100755 new mode 100644 similarity index 84% rename from scripts/ckeditor/samples/readonly.html rename to scripts/ckeditor/samples/old/readonly.html index cf609df7..8e71bdd9 --- a/scripts/ckeditor/samples/readonly.html +++ b/scripts/ckeditor/samples/old/readonly.html @@ -1,73 +1,76 @@ - - - - - - Using the CKEditor Read-Only API — CKEditor Sample - - - - - -

    - CKEditor Samples » Using the CKEditor Read-Only API -

    -
    -

    - This sample shows how to use the - setReadOnly - API to put editor into the read-only state that makes it impossible for users to change the editor contents. -

    -

    - For details on how to create this setup check the source code of this sample page. -

    -
    -
    -

    - -

    -

    - - -

    -
    - - - + + + + + + Using the CKEditor Read-Only API — CKEditor Sample + + + + + +

    + CKEditor Samples » Using the CKEditor Read-Only API +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to use the + setReadOnly + API to put editor into the read-only state that makes it impossible for users to change the editor contents. +

    +

    + For details on how to create this setup check the source code of this sample page. +

    +
    +
    +

    + +

    +

    + + +

    +
    + + + diff --git a/scripts/ckeditor/samples/replacebyclass.html b/scripts/ckeditor/samples/old/replacebyclass.html old mode 100755 new mode 100644 similarity index 94% rename from scripts/ckeditor/samples/replacebyclass.html rename to scripts/ckeditor/samples/old/replacebyclass.html index 6baea4cf..72dc2321 --- a/scripts/ckeditor/samples/replacebyclass.html +++ b/scripts/ckeditor/samples/old/replacebyclass.html @@ -1,57 +1,60 @@ - - - - - - Replace Textareas by Class Name — CKEditor Sample - - - - -

    - CKEditor Samples » Replace Textarea Elements by Class Name -

    -
    -

    - This sample shows how to automatically replace all <textarea> elements - of a given class with a CKEditor instance. -

    -

    - To replace a <textarea> element, simply assign it the ckeditor - class, as in the code below: -

    -
    -<textarea class="ckeditor" name="editor1"></textarea>
    -
    -

    - Note that other <textarea> attributes (like id or name) need to be adjusted to your document. -

    -
    -
    -

    - - -

    -

    - -

    -
    - - - + + + + + + Replace Textareas by Class Name — CKEditor Sample + + + + +

    + CKEditor Samples » Replace Textarea Elements by Class Name +

    +
    + This sample is not maintained anymore. Check out the brand new samples in CKEditor SDK. +
    +
    +

    + This sample shows how to automatically replace all <textarea> elements + of a given class with a CKEditor instance. +

    +

    + To replace a <textarea> element, simply assign it the ckeditor + class, as in the code below: +

    +
    +<textarea class="ckeditor" name="editor1"></textarea>
    +
    +

    + Note that other <textarea> attributes (like id or name) need to be adjusted to your document. +

    +
    +
    +

    + + +

    +

    + +

    +
    + + + diff --git a/scripts/ckeditor/samples/replacebycode.html b/scripts/ckeditor/samples/old/replacebycode.html old mode 100755 new mode 100644 similarity index 93% rename from scripts/ckeditor/samples/replacebycode.html rename to scripts/ckeditor/samples/old/replacebycode.html index 9510daaf..1f5f960d --- a/scripts/ckeditor/samples/replacebycode.html +++ b/scripts/ckeditor/samples/old/replacebycode.html @@ -1,56 +1,59 @@ - - - - - - Replace Textarea by Code — CKEditor Sample - - - - -

    - CKEditor Samples » Replace Textarea Elements Using JavaScript Code -

    -
    -
    -

    - This editor is using an <iframe> element-based editing area, provided by the Wysiwygarea plugin. -

    -
    -CKEDITOR.replace( 'textarea_id' )
    -
    -
    - - -

    - -

    -
    - - - + + + + + + Replace Textarea by Code — CKEditor Sample + + + + +

    + CKEditor Samples » Replace Textarea Elements Using JavaScript Code +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +
    +

    + This editor is using an <iframe> element-based editing area, provided by the Wysiwygarea plugin. +

    +
    +CKEDITOR.replace( 'textarea_id' )
    +
    +
    + + +

    + +

    +
    + + + diff --git a/scripts/ckeditor/samples/sample.css b/scripts/ckeditor/samples/old/sample.css old mode 100755 new mode 100644 similarity index 90% rename from scripts/ckeditor/samples/sample.css rename to scripts/ckeditor/samples/old/sample.css index faa0fbed..b5dc2fbd --- a/scripts/ckeditor/samples/sample.css +++ b/scripts/ckeditor/samples/old/sample.css @@ -1,365 +1,357 @@ -/* -Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ - -html, body, h1, h2, h3, h4, h5, h6, div, span, blockquote, p, address, form, fieldset, img, ul, ol, dl, dt, dd, li, hr, table, td, th, strong, em, sup, sub, dfn, ins, del, q, cite, var, samp, code, kbd, tt, pre -{ - line-height: 1.5; -} - -body -{ - padding: 10px 30px; -} - -input, textarea, select, option, optgroup, button, td, th -{ - font-size: 100%; -} - -pre -{ - -moz-tab-size: 4; - -o-tab-size: 4; - -webkit-tab-size: 4; - tab-size: 4; -} - -pre, code, kbd, samp, tt -{ - font-family: monospace,monospace; - font-size: 1em; -} - -body { - width: 960px; - margin: 0 auto; -} - -code -{ - background: #f3f3f3; - border: 1px solid #ddd; - padding: 1px 4px; - - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -abbr -{ - border-bottom: 1px dotted #555; - cursor: pointer; -} - -.new, .beta -{ - text-transform: uppercase; - font-size: 10px; - font-weight: bold; - padding: 1px 4px; - margin: 0 0 0 5px; - color: #fff; - float: right; - - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.new -{ - background: #FF7E00; - border: 1px solid #DA8028; - text-shadow: 0 1px 0 #C97626; - - -moz-box-shadow: 0 2px 3px 0 #FFA54E inset; - -webkit-box-shadow: 0 2px 3px 0 #FFA54E inset; - box-shadow: 0 2px 3px 0 #FFA54E inset; -} - -.beta -{ - background: #18C0DF; - border: 1px solid #19AAD8; - text-shadow: 0 1px 0 #048CAD; - font-style: italic; - - -moz-box-shadow: 0 2px 3px 0 #50D4FD inset; - -webkit-box-shadow: 0 2px 3px 0 #50D4FD inset; - box-shadow: 0 2px 3px 0 #50D4FD inset; -} - -h1.samples -{ - color: #0782C1; - font-size: 200%; - font-weight: normal; - margin: 0; - padding: 0; -} - -h1.samples a -{ - color: #0782C1; - text-decoration: none; - border-bottom: 1px dotted #0782C1; -} - -.samples a:hover -{ - border-bottom: 1px dotted #0782C1; -} - -h2.samples -{ - color: #000000; - font-size: 130%; - margin: 15px 0 0 0; - padding: 0; -} - -p, blockquote, address, form, pre, dl, h1.samples, h2.samples -{ - margin-bottom: 15px; -} - -ul.samples -{ - margin-bottom: 15px; -} - -.clear -{ - clear: both; -} - -fieldset -{ - margin: 0; - padding: 10px; -} - -body, input, textarea -{ - color: #333333; - font-family: Arial, Helvetica, sans-serif; -} - -body -{ - font-size: 75%; -} - -a.samples -{ - color: #189DE1; - text-decoration: none; -} - -form -{ - margin: 0; - padding: 0; -} - -pre.samples -{ - background-color: #F7F7F7; - border: 1px solid #D7D7D7; - overflow: auto; - padding: 0.25em; - white-space: pre-wrap; /* CSS 2.1 */ - word-wrap: break-word; /* IE7 */ -} - -#footer -{ - clear: both; - padding-top: 10px; -} - -#footer hr -{ - margin: 10px 0 15px 0; - height: 1px; - border: solid 1px gray; - border-bottom: none; -} - -#footer p -{ - margin: 0 10px 10px 10px; - float: left; -} - -#footer #copy -{ - float: right; -} - -#outputSample -{ - width: 100%; - table-layout: fixed; -} - -#outputSample thead th -{ - color: #dddddd; - background-color: #999999; - padding: 4px; - white-space: nowrap; -} - -#outputSample tbody th -{ - vertical-align: top; - text-align: left; -} - -#outputSample pre -{ - margin: 0; - padding: 0; -} - -.description -{ - border: 1px dotted #B7B7B7; - margin-bottom: 10px; - padding: 10px 10px 0; - overflow: hidden; -} - -label -{ - display: block; - margin-bottom: 6px; -} - -/** - * CKEditor editables are automatically set with the "cke_editable" class - * plus cke_editable_(inline|themed) depending on the editor type. - */ - -/* Style a bit the inline editables. */ -.cke_editable.cke_editable_inline -{ - cursor: pointer; -} - -/* Once an editable element gets focused, the "cke_focus" class is - added to it, so we can style it differently. */ -.cke_editable.cke_editable_inline.cke_focus -{ - box-shadow: inset 0px 0px 20px 3px #ddd, inset 0 0 1px #000; - outline: none; - background: #eee; - cursor: text; -} - -/* Avoid pre-formatted overflows inline editable. */ -.cke_editable_inline pre -{ - white-space: pre-wrap; - word-wrap: break-word; -} - -/** - * Samples index styles. - */ - -.twoColumns, -.twoColumnsLeft, -.twoColumnsRight -{ - overflow: hidden; -} - -.twoColumnsLeft, -.twoColumnsRight -{ - width: 45%; -} - -.twoColumnsLeft -{ - float: left; -} - -.twoColumnsRight -{ - float: right; -} - -dl.samples -{ - padding: 0 0 0 40px; -} -dl.samples > dt -{ - display: list-item; - list-style-type: disc; - list-style-position: outside; - margin: 0 0 3px; -} -dl.samples > dd -{ - margin: 0 0 3px; -} -.warning -{ - color: #ff0000; - background-color: #FFCCBA; - border: 2px dotted #ff0000; - padding: 15px 10px; - margin: 10px 0; -} - -/* Used on inline samples */ - -blockquote -{ - font-style: italic; - font-family: Georgia, Times, "Times New Roman", serif; - padding: 2px 0; - border-style: solid; - border-color: #ccc; - border-width: 0; -} - -.cke_contents_ltr blockquote -{ - padding-left: 20px; - padding-right: 8px; - border-left-width: 5px; -} - -.cke_contents_rtl blockquote -{ - padding-left: 8px; - padding-right: 20px; - border-right-width: 5px; -} - -img.right { - border: 1px solid #ccc; - float: right; - margin-left: 15px; - padding: 5px; -} - -img.left { - border: 1px solid #ccc; - float: left; - margin-right: 15px; - padding: 5px; -} - -.marker -{ - background-color: Yellow; -} +/* +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ + +html, body, h1, h2, h3, h4, h5, h6, div, span, blockquote, p, address, form, fieldset, img, ul, ol, dl, dt, dd, li, hr, table, td, th, strong, em, sup, sub, dfn, ins, del, q, cite, var, samp, code, kbd, tt, pre +{ + line-height: 1.5; +} + +body +{ + padding: 10px 30px; +} + +input, textarea, select, option, optgroup, button, td, th +{ + font-size: 100%; +} + +pre +{ + -moz-tab-size: 4; + tab-size: 4; +} + +pre, code, kbd, samp, tt +{ + font-family: monospace,monospace; + font-size: 1em; +} + +body { + width: 960px; + margin: 0 auto; +} + +code +{ + background: #f3f3f3; + border: 1px solid #ddd; + padding: 1px 4px; + border-radius: 3px; +} + +abbr +{ + border-bottom: 1px dotted #555; + cursor: pointer; +} + +.new, .beta +{ + text-transform: uppercase; + font-size: 10px; + font-weight: bold; + padding: 1px 4px; + margin: 0 0 0 5px; + color: #fff; + float: right; + border-radius: 3px; +} + +.new +{ + background: #FF7E00; + border: 1px solid #DA8028; + text-shadow: 0 1px 0 #C97626; + + box-shadow: 0 2px 3px 0 #FFA54E inset; +} + +.beta +{ + background: #18C0DF; + border: 1px solid #19AAD8; + text-shadow: 0 1px 0 #048CAD; + font-style: italic; + + box-shadow: 0 2px 3px 0 #50D4FD inset; +} + +h1.samples +{ + color: #0782C1; + font-size: 200%; + font-weight: normal; + margin: 0; + padding: 0; +} + +h1.samples a +{ + color: #0782C1; + text-decoration: none; + border-bottom: 1px dotted #0782C1; +} + +.samples a:hover +{ + border-bottom: 1px dotted #0782C1; +} + +h2.samples +{ + color: #000000; + font-size: 130%; + margin: 15px 0 0 0; + padding: 0; +} + +p, blockquote, address, form, pre, dl, h1.samples, h2.samples +{ + margin-bottom: 15px; +} + +ul.samples +{ + margin-bottom: 15px; +} + +.clear +{ + clear: both; +} + +fieldset +{ + margin: 0; + padding: 10px; +} + +body, input, textarea +{ + color: #333333; + font-family: Arial, Helvetica, sans-serif; +} + +body +{ + font-size: 75%; +} + +a.samples +{ + color: #189DE1; + text-decoration: none; +} + +form +{ + margin: 0; + padding: 0; +} + +pre.samples +{ + background-color: #F7F7F7; + border: 1px solid #D7D7D7; + overflow: auto; + padding: 0.25em; + white-space: pre-wrap; /* CSS 2.1 */ + word-wrap: break-word; /* IE7 */ +} + +#footer +{ + clear: both; + padding-top: 10px; +} + +#footer hr +{ + margin: 10px 0 15px 0; + height: 1px; + border: solid 1px gray; + border-bottom: none; +} + +#footer p +{ + margin: 0 10px 10px 10px; + float: left; +} + +#footer #copy +{ + float: right; +} + +#outputSample +{ + width: 100%; + table-layout: fixed; +} + +#outputSample thead th +{ + color: #dddddd; + background-color: #999999; + padding: 4px; + white-space: nowrap; +} + +#outputSample tbody th +{ + vertical-align: top; + text-align: left; +} + +#outputSample pre +{ + margin: 0; + padding: 0; +} + +.description +{ + border: 1px dotted #B7B7B7; + margin-bottom: 10px; + padding: 10px 10px 0; + overflow: hidden; +} + +label +{ + display: block; + margin-bottom: 6px; +} + +/** + * CKEditor editables are automatically set with the "cke_editable" class + * plus cke_editable_(inline|themed) depending on the editor type. + */ + +/* Style a bit the inline editables. */ +.cke_editable.cke_editable_inline +{ + cursor: pointer; +} + +/* Once an editable element gets focused, the "cke_focus" class is + added to it, so we can style it differently. */ +.cke_editable.cke_editable_inline.cke_focus +{ + box-shadow: inset 0px 0px 20px 3px #ddd, inset 0 0 1px #000; + outline: none; + background: #eee; + cursor: text; +} + +/* Avoid pre-formatted overflows inline editable. */ +.cke_editable_inline pre +{ + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * Samples index styles. + */ + +.twoColumns, +.twoColumnsLeft, +.twoColumnsRight +{ + overflow: hidden; +} + +.twoColumnsLeft, +.twoColumnsRight +{ + width: 45%; +} + +.twoColumnsLeft +{ + float: left; +} + +.twoColumnsRight +{ + float: right; +} + +dl.samples +{ + padding: 0 0 0 40px; +} +dl.samples > dt +{ + display: list-item; + list-style-type: disc; + list-style-position: outside; + margin: 0 0 3px; +} +dl.samples > dd +{ + margin: 0 0 3px; +} +.warning +{ + color: #ff0000; + background-color: #FFCCBA; + border: 2px dotted #ff0000; + padding: 15px 10px; + margin: 10px 0; +} + +.warning.deprecated { + font-size: 1.3em; +} + +/* Used on inline samples */ + +blockquote +{ + font-style: italic; + font-family: Georgia, Times, "Times New Roman", serif; + padding: 2px 0; + border-style: solid; + border-color: #ccc; + border-width: 0; +} + +.cke_contents_ltr blockquote +{ + padding-left: 20px; + padding-right: 8px; + border-left-width: 5px; +} + +.cke_contents_rtl blockquote +{ + padding-left: 8px; + padding-right: 20px; + border-right-width: 5px; +} + +img.right { + border: 1px solid #ccc; + float: right; + margin-left: 15px; + padding: 5px; +} + +img.left { + border: 1px solid #ccc; + float: left; + margin-right: 15px; + padding: 5px; +} + +.marker +{ + background-color: Yellow; +} diff --git a/scripts/ckeditor/samples/sample.js b/scripts/ckeditor/samples/old/sample.js old mode 100755 new mode 100644 similarity index 91% rename from scripts/ckeditor/samples/sample.js rename to scripts/ckeditor/samples/old/sample.js index 46092743..439a5212 --- a/scripts/ckeditor/samples/sample.js +++ b/scripts/ckeditor/samples/old/sample.js @@ -1,51 +1,50 @@ -/** - * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -// Tool scripts for the sample pages. -// This file can be ignored and is not required to make use of CKEditor. - -( function() { - CKEDITOR.on( 'instanceReady', function( ev ) { - // Check for sample compliance. - var editor = ev.editor, - meta = CKEDITOR.document.$.getElementsByName( 'ckeditor-sample-required-plugins' ), - requires = meta.length ? CKEDITOR.dom.element.get( meta[ 0 ] ).getAttribute( 'content' ).split( ',' ) : [], - missing = [], - i; - - if ( requires.length ) { - for ( i = 0; i < requires.length; i++ ) { - if ( !editor.plugins[ requires[ i ] ] ) - missing.push( '' + requires[ i ] + '' ); - } - - if ( missing.length ) { - var warn = CKEDITOR.dom.element.createFromHtml( - '
    ' + - 'To fully experience this demo, the ' + missing.join( ', ' ) + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.' + - '
    ' - ); - warn.insertBefore( editor.container ); - } - } - - // Set icons. - var doc = new CKEDITOR.dom.document( document ), - icons = doc.find( '.button_icon' ); - - for ( i = 0; i < icons.count(); i++ ) { - var icon = icons.getItem( i ), - name = icon.getAttribute( 'data-icon' ), - style = CKEDITOR.skin.getIconStyle( name, ( CKEDITOR.lang.dir == 'rtl' ) ); - - icon.addClass( 'cke_button_icon' ); - icon.addClass( 'cke_button__' + name + '_icon' ); - icon.setAttribute( 'style', style ); - icon.setStyle( 'float', 'none' ); - - } - } ); -} )(); -// %LEAVE_UNMINIFIED% %REMOVE_LINE% \ No newline at end of file +/** + * Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +// Tool scripts for the sample pages. +// This file can be ignored and is not required to make use of CKEditor. + +( function() { + CKEDITOR.on( 'instanceReady', function( ev ) { + // Check for sample compliance. + var editor = ev.editor, + meta = CKEDITOR.document.$.getElementsByName( 'ckeditor-sample-required-plugins' ), + requires = meta.length ? CKEDITOR.dom.element.get( meta[ 0 ] ).getAttribute( 'content' ).split( ',' ) : [], + missing = [], + i; + + if ( requires.length ) { + for ( i = 0; i < requires.length; i++ ) { + if ( !editor.plugins[ requires[ i ] ] ) + missing.push( '' + requires[ i ] + '' ); + } + + if ( missing.length ) { + var warn = CKEDITOR.dom.element.createFromHtml( + '
    ' + + 'To fully experience this demo, the ' + missing.join( ', ' ) + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.' + + '
    ' + ); + warn.insertBefore( editor.container ); + } + } + + // Set icons. + var doc = new CKEDITOR.dom.document( document ), + icons = doc.find( '.button_icon' ); + + for ( i = 0; i < icons.count(); i++ ) { + var icon = icons.getItem( i ), + name = icon.getAttribute( 'data-icon' ), + style = CKEDITOR.skin.getIconStyle( name, ( CKEDITOR.lang.dir == 'rtl' ) ); + + icon.addClass( 'cke_button_icon' ); + icon.addClass( 'cke_button__' + name + '_icon' ); + icon.setAttribute( 'style', style ); + icon.setStyle( 'float', 'none' ); + + } + } ); +} )(); diff --git a/scripts/ckeditor/samples/sample_posteddata.php b/scripts/ckeditor/samples/old/sample_posteddata.php old mode 100755 new mode 100644 similarity index 90% rename from scripts/ckeditor/samples/sample_posteddata.php rename to scripts/ckeditor/samples/old/sample_posteddata.php index 7637104a..c5c33085 --- a/scripts/ckeditor/samples/sample_posteddata.php +++ b/scripts/ckeditor/samples/old/sample_posteddata.php @@ -1,16 +1,16 @@ -
    -
    --------------------------------------------------------------------------------------------
    -  CKEditor - Posted Data
    -
    -  We are sorry, but your Web server does not support the PHP language used in this script.
    -
    -  Please note that CKEditor can be used with any other server-side language than just PHP.
    -  To save the content created with CKEditor you need to read the POST data on the server
    -  side and write it to a file or the database.
    -
    -  Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
    -  For licensing, see LICENSE.md or http://ckeditor.com/license
    --------------------------------------------------------------------------------------------
    -
    -
    */ include "assets/posteddata.php"; ?> +
    +
    +-------------------------------------------------------------------------------------------
    +  CKEditor - Posted Data
    +
    +  We are sorry, but your Web server does not support the PHP language used in this script.
    +
    +  Please note that CKEditor can be used with any other server-side language than just PHP.
    +  To save the content created with CKEditor you need to read the POST data on the server
    +  side and write it to a file or the database.
    +
    +  Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
    +  For licensing, see LICENSE.md or http://ckeditor.com/license
    +-------------------------------------------------------------------------------------------
    +
    +
    */ include "assets/posteddata.php"; ?> diff --git a/scripts/ckeditor/samples/tabindex.html b/scripts/ckeditor/samples/old/tabindex.html old mode 100755 new mode 100644 similarity index 81% rename from scripts/ckeditor/samples/tabindex.html rename to scripts/ckeditor/samples/old/tabindex.html index 8c2eb413..b1591b00 --- a/scripts/ckeditor/samples/tabindex.html +++ b/scripts/ckeditor/samples/old/tabindex.html @@ -1,75 +1,78 @@ - - - - - - TAB Key-Based Navigation — CKEditor Sample - - - - - - -

    - CKEditor Samples » TAB Key-Based Navigation -

    -
    -

    - This sample shows how tab key navigation among editor instances is - affected by the tabIndex attribute from - the original page element. Use TAB key to move between the editors. -

    -
    -

    - -

    -
    -

    - -

    -

    - -

    - - - + + + + + + TAB Key-Based Navigation — CKEditor Sample + + + + + + +

    + CKEditor Samples » TAB Key-Based Navigation +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how tab key navigation among editor instances is + affected by the tabIndex attribute from + the original page element. Use TAB key to move between the editors. +

    +
    +

    + +

    +
    +

    + +

    +

    + +

    + + + diff --git a/scripts/ckeditor/plugins/toolbar/samples/toolbar.html b/scripts/ckeditor/samples/old/toolbar/toolbar.html old mode 100755 new mode 100644 similarity index 91% rename from scripts/ckeditor/plugins/toolbar/samples/toolbar.html rename to scripts/ckeditor/samples/old/toolbar/toolbar.html index 6cf2ddf1..923d3611 --- a/scripts/ckeditor/plugins/toolbar/samples/toolbar.html +++ b/scripts/ckeditor/samples/old/toolbar/toolbar.html @@ -1,6 +1,6 @@ @@ -11,12 +11,15 @@ For licensing, see LICENSE.md or http://ckeditor.com/license - +

    - CKEditor Samples » Toolbar Configuration + CKEditor Samples » Toolbar Configuration

    +
    + This sample is not maintained anymore. Check out the brand new CKEditor Toolbar Configurator. +

    This sample page demonstrates editor with loaded full toolbar (all registered buttons) and, if @@ -224,7 +227,7 @@ CKEDITOR.replace( 'textarea_id', { CKEditor - The text editor for the Internet - http://ckeditor.com

    - Copyright © 2003-2014, CKSource - Frederico + Copyright © 2003-2015, CKSource - Frederico Knabben. All rights reserved.

    diff --git a/scripts/ckeditor/samples/uicolor.html b/scripts/ckeditor/samples/old/uicolor.html old mode 100755 new mode 100644 similarity index 83% rename from scripts/ckeditor/samples/uicolor.html rename to scripts/ckeditor/samples/old/uicolor.html index 9a42c788..b18b9a5d --- a/scripts/ckeditor/samples/uicolor.html +++ b/scripts/ckeditor/samples/old/uicolor.html @@ -1,69 +1,72 @@ - - - - - - UI Color Picker — CKEditor Sample - - - - -

    - CKEditor Samples » UI Color -

    -
    -

    - This sample shows how to automatically replace <textarea> elements - with a CKEditor instance with an option to change the color of its user interface.
    - Note:The UI skin color feature depends on the CKEditor skin - compatibility. The Moono and Kama skins are examples of skins that work with it. -

    -
    -
    -

    - This editor instance has a UI color value defined in configuration to change the skin color, - To specify the color of the user interface, set the uiColor property: -

    -
    -CKEDITOR.replace( 'textarea_id', {
    -	uiColor: '#14B8C4'
    -});
    -

    - Note that textarea_id in the code above is the id attribute of - the <textarea> element to be replaced. -

    -

    - - -

    -

    - -

    -
    - - - + + + + + + UI Color Picker — CKEditor Sample + + + + +

    + CKEditor Samples » UI Color +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to automatically replace <textarea> elements + with a CKEditor instance with an option to change the color of its user interface.
    + Note:The UI skin color feature depends on the CKEditor skin + compatibility. The Moono and Kama skins are examples of skins that work with it. +

    +
    +
    +

    + This editor instance has a UI color value defined in configuration to change the skin color, + To specify the color of the user interface, set the uiColor property: +

    +
    +CKEDITOR.replace( 'textarea_id', {
    +	uiColor: '#14B8C4'
    +});
    +

    + Note that textarea_id in the code above is the id attribute of + the <textarea> element to be replaced. +

    +

    + + +

    +

    + +

    +
    + + + diff --git a/scripts/ckeditor/samples/uilanguages.html b/scripts/ckeditor/samples/old/uilanguages.html old mode 100755 new mode 100644 similarity index 89% rename from scripts/ckeditor/samples/uilanguages.html rename to scripts/ckeditor/samples/old/uilanguages.html index f428fdbb..3d17f554 --- a/scripts/ckeditor/samples/uilanguages.html +++ b/scripts/ckeditor/samples/old/uilanguages.html @@ -1,119 +1,122 @@ - - - - - - User Interface Globalization — CKEditor Sample - - - - - -

    - CKEditor Samples » User Interface Languages -

    -
    -

    - This sample shows how to automatically replace <textarea> elements - with a CKEditor instance with an option to change the language of its user interface. -

    -

    - It pulls the language list from CKEditor _languages.js file that contains the list of supported languages and creates - a drop-down list that lets the user change the UI language. -

    -

    - By default, CKEditor automatically localizes the editor to the language of the user. - The UI language can be controlled with two configuration options: - language and - - defaultLanguage. The defaultLanguage setting specifies the - default CKEditor language to be used when a localization suitable for user's settings is not available. -

    -

    - To specify the user interface language that will be used no matter what language is - specified in user's browser or operating system, set the language property: -

    -
    -CKEDITOR.replace( 'textarea_id', {
    -	// Load the German interface.
    -	language: 'de'
    -});
    -

    - Note that textarea_id in the code above is the id attribute of - the <textarea> element to be replaced. -

    -
    -
    -

    - Available languages ( languages!):
    - -
    - - (You may see strange characters if your system does not support the selected language) - -

    -

    - - -

    -
    - - - + + + + + + User Interface Globalization — CKEditor Sample + + + + + +

    + CKEditor Samples » User Interface Languages +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to automatically replace <textarea> elements + with a CKEditor instance with an option to change the language of its user interface. +

    +

    + It pulls the language list from CKEditor _languages.js file that contains the list of supported languages and creates + a drop-down list that lets the user change the UI language. +

    +

    + By default, CKEditor automatically localizes the editor to the language of the user. + The UI language can be controlled with two configuration options: + language and + + defaultLanguage. The defaultLanguage setting specifies the + default CKEditor language to be used when a localization suitable for user's settings is not available. +

    +

    + To specify the user interface language that will be used no matter what language is + specified in user's browser or operating system, set the language property: +

    +
    +CKEDITOR.replace( 'textarea_id', {
    +	// Load the German interface.
    +	language: 'de'
    +});
    +

    + Note that textarea_id in the code above is the id attribute of + the <textarea> element to be replaced. +

    +
    +
    +

    + Available languages ( languages!):
    + +
    + + (You may see strange characters if your system does not support the selected language) + +

    +

    + + +

    +
    + + + diff --git a/scripts/ckeditor/samples/old/wysiwygarea/fullpage.html b/scripts/ckeditor/samples/old/wysiwygarea/fullpage.html new file mode 100644 index 00000000..35ae7d0b --- /dev/null +++ b/scripts/ckeditor/samples/old/wysiwygarea/fullpage.html @@ -0,0 +1,80 @@ + + + + + + Full Page Editing — CKEditor Sample + + + + + + + + + +

    + CKEditor Samples » Full Page Editing +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to configure CKEditor to edit entire HTML pages, from the + <html> tag to the </html> tag. +

    +

    + The CKEditor instance below is inserted with a JavaScript call using the following code: +

    +
    +CKEDITOR.replace( 'textarea_id', {
    +	fullPage: true,
    +	allowedContent: true
    +});
    +
    +

    + Note that textarea_id in the code above is the id attribute of + the <textarea> element to be replaced. +

    +

    + The allowedContent in the code above is set to true to disable content filtering. + Setting this option is not obligatory, but in full page mode there is a strong chance that one may want be able to freely enter any HTML content in source mode without any limitations. +

    +
    +
    + + + +

    + +

    +
    + + + diff --git a/scripts/ckeditor/samples/xhtmlstyle.html b/scripts/ckeditor/samples/old/xhtmlstyle.html old mode 100755 new mode 100644 similarity index 90% rename from scripts/ckeditor/samples/xhtmlstyle.html rename to scripts/ckeditor/samples/old/xhtmlstyle.html index 600cddca..b8e11a6b --- a/scripts/ckeditor/samples/xhtmlstyle.html +++ b/scripts/ckeditor/samples/old/xhtmlstyle.html @@ -1,231 +1,234 @@ - - - - - - XHTML Compliant Output — CKEditor Sample - - - - - - -

    - CKEditor Samples » Producing XHTML Compliant Output -

    -
    -

    - This sample shows how to configure CKEditor to output valid - XHTML 1.1 code. - Deprecated elements (<font>, <u>) or attributes - (size, face) will be replaced with XHTML compliant code. -

    -

    - To add a CKEditor instance outputting valid XHTML code, load the editor using a standard - JavaScript call and define CKEditor features to use the XHTML compliant elements and styles. -

    -

    - A snippet of the configuration code can be seen below; check the source of this page for - full definition: -

    -
    -CKEDITOR.replace( 'textarea_id', {
    -	contentsCss: 'assets/outputxhtml.css',
    -
    -	coreStyles_bold: {
    -		element: 'span',
    -		attributes: { 'class': 'Bold' }
    -	},
    -	coreStyles_italic: {
    -		element: 'span',
    -		attributes: { 'class': 'Italic' }
    -	},
    -
    -	...
    -});
    -
    -
    -

    - - - -

    -

    - -

    -
    - - - + + + + + + XHTML Compliant Output — CKEditor Sample + + + + + + +

    + CKEditor Samples » Producing XHTML Compliant Output +

    +
    + This sample is not maintained anymore. Check out its brand new version in CKEditor SDK. +
    +
    +

    + This sample shows how to configure CKEditor to output valid + XHTML 1.1 code. + Deprecated elements (<font>, <u>) or attributes + (size, face) will be replaced with XHTML compliant code. +

    +

    + To add a CKEditor instance outputting valid XHTML code, load the editor using a standard + JavaScript call and define CKEditor features to use the XHTML compliant elements and styles. +

    +

    + A snippet of the configuration code can be seen below; check the source of this page for + full definition: +

    +
    +CKEDITOR.replace( 'textarea_id', {
    +	contentsCss: 'assets/outputxhtml.css',
    +
    +	coreStyles_bold: {
    +		element: 'span',
    +		attributes: { 'class': 'Bold' }
    +	},
    +	coreStyles_italic: {
    +		element: 'span',
    +		attributes: { 'class': 'Italic' }
    +	},
    +
    +	...
    +});
    +
    +
    +

    + + + +

    +

    + +

    +
    + + + diff --git a/scripts/ckeditor/samples/toolbarconfigurator/css/fontello.css b/scripts/ckeditor/samples/toolbarconfigurator/css/fontello.css new file mode 100644 index 00000000..d9837079 --- /dev/null +++ b/scripts/ckeditor/samples/toolbarconfigurator/css/fontello.css @@ -0,0 +1,55 @@ +@font-face { + font-family: 'fontello'; + src: url('../font/fontello.eot?89024372'); + src: url('../font/fontello.eot?89024372#iefix') format('embedded-opentype'), + url('../font/fontello.woff?89024372') format('woff'), + url('../font/fontello.ttf?89024372') format('truetype'), + url('../font/fontello.svg?89024372#fontello') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'fontello'; + src: url('../font/fontello.svg?89024372#fontello') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.icon-trash:before { content: '\e802'; } /* '' */ +.icon-down-big:before { content: '\e800'; } /* '' */ +.icon-up-big:before { content: '\e801'; } /* '' */ diff --git a/scripts/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt b/scripts/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt new file mode 100644 index 00000000..4a73f6c9 --- /dev/null +++ b/scripts/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt @@ -0,0 +1,10 @@ +Font license info + + +## Font Awesome + + Copyright (C) 2012 by Dave Gandy + + Author: Dave Gandy + License: SIL () + Homepage: http://fortawesome.github.com/Font-Awesome/ diff --git a/scripts/ckeditor/samples/toolbarconfigurator/font/config.json b/scripts/ckeditor/samples/toolbarconfigurator/font/config.json new file mode 100644 index 00000000..94809d70 --- /dev/null +++ b/scripts/ckeditor/samples/toolbarconfigurator/font/config.json @@ -0,0 +1,28 @@ +{ + "name": "", + "css_prefix_text": "icon-", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", + "css": "trash-empty", + "code": 59392, + "src": "fontawesome" + }, + { + "uid": "1c4068ed75209e21af36017df8871802", + "css": "down-big", + "code": 59393, + "src": "fontawesome" + }, + { + "uid": "95376bf082bfec6ce06ea1cda7bd7ead", + "css": "up-big", + "code": 59394, + "src": "fontawesome" + } + ] +} \ No newline at end of file diff --git a/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.eot b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.eot new file mode 100644 index 00000000..2732fad4 Binary files /dev/null and b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.eot differ diff --git a/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.svg b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.svg new file mode 100644 index 00000000..33d14ac8 --- /dev/null +++ b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.svg @@ -0,0 +1,14 @@ + + + +Copyright (C) 2014 by original authors @ fontello.com + + + + + + + + + + \ No newline at end of file diff --git a/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.ttf b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.ttf new file mode 100644 index 00000000..fbcbf06a Binary files /dev/null and b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.ttf differ diff --git a/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.woff b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.woff new file mode 100644 index 00000000..e1d56472 Binary files /dev/null and b/scripts/ckeditor/samples/toolbarconfigurator/font/fontello.woff differ diff --git a/scripts/ckeditor/samples/toolbarconfigurator/index.html b/scripts/ckeditor/samples/toolbarconfigurator/index.html new file mode 100644 index 00000000..44af76b9 --- /dev/null +++ b/scripts/ckeditor/samples/toolbarconfigurator/index.html @@ -0,0 +1,446 @@ + + + + + + + + Toolbar Configurator + + + + + + + + + + + + +
    +
    +

    + CKEditor Logo +

    + +
    +
    + +
    +
    +
    +
    +
    +

    + Toolbar Configurator + Help +

    + +
    +
    + Select configurator type + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +

    What Am I Doing Here?

    + +
    +
    +
    +

    Arrange toolbar groups, toggle button visibility according to your needs and get your toolbar configuration.

    +

    You can replace the content of the config.js file with the generated configuration. If you already set some configuration options you will need to merge both configurations.

    +
    +
    +

    Read more about different ways of setting configuration and do not forget about clearing browser cache.

    +

    Arranging toolbar groups is the recommended way of configuring the toolbar, but if you need more freedom you can use the advanced configurator.

    +
    +
    + +
    + +

    + +

    +
    +
    +
    +
    + +
    +

    + CKEditor – The text editor for the Internet – http://ckeditor.com +

    +

    + Copyright © 2003-2015, CKSource – Frederico Knabben. All rights reserved. +

    +
    + + + + + + + + + + + + + + diff --git a/scripts/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js b/scripts/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js new file mode 100644 index 00000000..42bed371 --- /dev/null +++ b/scripts/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js @@ -0,0 +1,14 @@ +"function"!=typeof Object.create&&function(){var b=function(){};Object.create=function(a){if(1
    ');b.ui.space("contents").append(c);c=b.editable(c);c.detach=CKEDITOR.tools.override(c.detach,function(a){return function(){a.apply(this,arguments);this.remove()}});b.setData(b.getData(1),a);b.fire("contentDom")});b.dataProcessor.toHtml=function(a){return a};b.dataProcessor.toDataFormat=function(a){return a}}}); +Object.keys||(Object.keys=function(){var b=Object.prototype.hasOwnProperty,a=!{toString:null}.propertyIsEnumerable("toString"),c="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),e=c.length;return function(d){if("object"!==typeof d&&("function"!==typeof d||null===d))throw new TypeError("Object.keys called on non-object");var g=[],f;for(f in d)b.call(d,f)&&g.push(f);if(a)for(f=0;fconfig',group:"edit",position:"right",cssClass:"button-a-background icon-pos-left icon-download",clickCallback:function(){this.state="config";this._showConfig();this.showToolbarBtnsByGroupName(this.state)}}];this.cachedActiveElement=null}var j=ToolbarConfigurator.AbstractToolbarModifier;ToolbarConfigurator.ToolbarModifier= +d;d.prototype=Object.create(ToolbarConfigurator.AbstractToolbarModifier.prototype);d.prototype.getActualConfig=function(){var a=j.prototype.getActualConfig.call(this);if(a.toolbarGroups)for(var b=a.toolbarGroups.length,c=0;cCKEDITOR.editorConfig = function( config ) {\n",b?"\tconfig.toolbarGroups = ["+b+"\n\t];":"",c?"\n\n":"",c?"\tconfig.removeButtons = '"+c+"';":"","\n};"].join("");this.modifyContainer.addClass("hidden");this.configContainer.removeClass("hidden");this.configContainer.setHtml(a)};d.prototype._toggleVisibilityEmptyElements=function(){this.modifyContainer.hasClass("empty-visible")? +(this.modifyContainer.removeClass("empty-visible"),this.emptyVisible=!1):(this.modifyContainer.addClass("empty-visible"),this.emptyVisible=!0);this._refreshMoveBtnsAvalibility()};d.prototype._createModifier=function(){function a(){b._highlightGroup(this.data("name"))}var b=this;j.prototype._createModifier.call(this);this.modifyContainer.setHtml(this._toolbarConfigToListString());var c=this.modifyContainer.find('li[data-type="group"]');this.modifyContainer.on("mouseleave",function(){this._dehighlightActiveToolGroup()}, +this);for(var e=c.count(),f=0;f p > span > button.move.disabled"),e=c.count(),d=0;d li > ul"))}; +d.prototype._refreshBtnTabIndexes=function(){for(var a=this.mainContainer.find('[data-tab="true"]'),b=a.count(),c=0;c")};d.prototype._getToolbarGroupString=function(a){var b=a.groups,c;c=""+['
  • "].join("");c+=d.getToolbarElementPreString(a)+"