Index: /CKEditor/tags/3.6.6/.htaccess
===================================================================
--- /CKEditor/tags/3.6.6/.htaccess (revision 7691)
+++ /CKEditor/tags/3.6.6/.htaccess (revision 7691)
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+#
+
+#
+# On some specific Linux installations you could face problems with Firefox.
+# It could give you errors when loading the editor saying that some illegal
+# characters were found (three strange chars in the beginning of the file).
+# This could happen if you map the .js or .css files to PHP, for example.
+#
+# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files.
+# All FCKeditor files are Unicode encoded.
+#
+
+AddType application/x-javascript .js
+AddType text/css .css
+
+#
+# If PHP is mapped to handle XML files, you could have some issues. The
+# following will disable it.
+#
+
+AddType text/xml .xml
Index: /CKEditor/tags/3.6.6/CHANGES.html
===================================================================
--- /CKEditor/tags/3.6.6/CHANGES.html (revision 7691)
+++ /CKEditor/tags/3.6.6/CHANGES.html (revision 7691)
@@ -0,0 +1,1591 @@
+
+
+
+
+ Changelog — CKEditor
+
+
+
+
+
+ CKEditor Changelog
+
+
+ CKEditor 3.6.6
+
+ Fixed issues:
+
+
#9866 : [IE10] The full toolbar is displayed in two lines in RTL environment.
+
#9483 : [IE10] Fixed script error on float panel opening.
+
#6410 : SCAYT will show no suggestions when appropriate, instead of not appearing.
#6217 : Handled Del/Backspace key at the boundary of table to unify the cursor position.
+
#8950 : Changed the cursor position after calling editor::insertElement on block element.
+
#9080 : Fixed Backspace key in front of the list item to join with previous line.
+
#3592 : Removed the "title" field from flash dialog advanced tab.
+
#9084 : [IE] Dragging absolute positioned elements is now enabled by default.
+
#8879 : Corrected styling of labels used in dialog windows.
+
#8921 : [Chrome] Paste on a newly created CKEditor instance does not work on Chrome.
+
#9036 : Find feature cannot locate certain words while Match Whole Word is enabled.
+
#9069 : [Chrome] Issue with popups not opening properly on Chrome 20 makes it impossible to view the file browser window.
+
#5811 : Code for Image dialog is missing dialog dependency.
+
#5810 : Code for Div Container is missing dialog dependency.
+
#5809 : Dialog a11yhelp is missing dialog dependency.
+
#4045 : "Field Name" Column in sample_posteddata.php is to narrow.
+
Updated the following language files as submitted to the CKEditor UI Translation Center: Bulgarian, Chinese, Czech, Danish, Esperanto, Estonian, Greek, Italian, Norwegian, Portuguese, Romanian, Vietnamese.
+
+
+ CKEditor 3.6.3
+
+ New features:
+
+
#7430 : Justify commands now perform alignment on the element when an image is selected.
+
#8706 : Better ARIA accessibility for the color picker dialog window.
+
#7366 : Editor paste function is now available on browser toolbar and context menu.
#8333 : Dialog windows can now be closed with the Esc key even if there is no Cancel button available.
+
#8644 : Missing variable declaration in the dialog plugin.
+
#8699 : Focus is now moved to the clicked button and back to color picker dialog window opener (button) in all browsers after the dialog window is closed.
+
#8132 : [IE9] Link line gets broken when it contains a br tag.
+
#8629 : Optimize float panel layout when there is not enough space in the viewport.
+
#7955 : [FF] Page Up and Page Down in the WYSIWYG mode cause the selection to become lost.
+
#8698 : Esc key does not close the color picker dialog window.
+
#8413 : HTML comment nodes break content styling in tables.
+
#7932, #8643 : [IE] Clicking below the content region scrolls the page to the top.
+
#5538, #8729 : [IE] Focus jump results in incorrect context menu display.
+
#6359 : [IE] Selectable area in blank WYSIWYG editor is too small.
+
#7326, #8074 : [FF] Scrolling does not work correctly in editor with large amount of text.
+
#8630 : HTML events are now disabled when loading data.
#7991 : Introduce the controlStyle and inputStyle definitions to allow fine-grained controlling of dialog window element styles.
+
+
+ Fixed issues:
+
+
#7914 : ATTENTION! The signature for the setReadOnly() function has been changed, reversing the meaning of the parameter to be passed to it. Please make sure to update your code when upgrading.
+
#7657 : Wrong margin mirroring when creating a list from RTL paragraphs.
+
#7620 : A glitch in list pasting from Microsoft Word caused by broken child references when filtering.
+
#7811 : [IE] Deleting table row throws a JavaScript error.
+
#6962 : Changed the CKEDITOR.CTRL, CKEDITOR.SHIFT and CKEDITOR.ALT constant values to avoid collision with any possible Unicode character.
+
#6263 : Some table cell context menu options may be incorrectly disabled.
+
#6247 : Focus is not restored properly after a drop-down menu is closed.
+
#7334 : [IE7] Indentation style does not apply to RTL lists.
+
#6845 : Spaces inside the URL field in the Link dialog window will now be removed.
+
#7840 : [IE] Opening the Table Properties dialog window via the context menu causes a JavaScript error.
+
#7733 : Flash movies inserted with the Flash Properties dialog window are not displaying properly when injected into the page.
+
#7837 : [IE<8] Inserting a page break results in an error.
+
#7804 : The HTML5 wbr tag is now recognized by the editor.
+
#7867 : The file browser for the background image in the Document Properties plugin dialog window does not work.
+
#7130 : The column resizer gripping area is invading adjacent table cells.
+
#7844 : [FF] Calling setData() on a hidden editor caused editor not to display.
+
#7860 : The BBCode plugin was stripping BBCode tags that were not implemented in the plugin, but from now on they will be handled as simple text.
+
#7321 : [IE6] Contents inside the RTL fields in dialog windows are overflowing.
+
#7323 : [IE Quirks] Some fields are not centered in the dialog window.
+
#5955 : Editor accessibility issue with JAWS when a drop-down menu is placed as the first item in the toolbar.
+
#6671 : [FF] Selection of an item from the Styles drop-down list is not refreshed after the style is removed.
+
#7879 : The Style and Height/Width fields of the Table Properties dialog window are not synchronized.
+
#7581 : [IE] The Enter key pressed at the end of a list item containing the start attribute crashes the browser.
+
#7266 : Dialog window fields that did not pass validation are now ARIA-compatible with aria-invalid.
+
#7742 : [WebKit] Indentation, alignment, and language direction are not applied on an empty document without the editor being in focus.
+
#7801 : [Opera] Pasted paragraphs now split partially selected blocks.
+
#6663 : Table caption that contains rich text is corrupted after an edit done with the Table Properties dialog window.
+
#7893 : [WebKit, Opera, IE<8] It is impossible to link to anchors in the document.
+
#7637 : Cursor position might in some cases cause problems after inserting a page break.
+
#5314 : The aria-selected attribute is not removed when toolbar drop-down menu items are deselected.
+
#7749 : Small check introduced to avoid issues with custom data processors and the insertHtml function.
+
#7269 : [WebKit] Paste from Word is including the full file:// URL path for anchor links.
+
#7584 : Start number of the List dialog window now works with numbered list items.
+
#6975 : [IE6, IE7] A definition list crashes Internet Explorer on HTML output.
+
#7841 : Deleting a column with a cell deleted in one of the rows does not work.
+
#7944 : The Enter key should not split or create new paragraphs inside caption elements.
+
#7639 : [IE9] Browser might crash when an object is selected in the document.
+
#7847 : [IE8] Inserting an image with non-secure source in a HTTPS page breaks the dialog window.
+
#7953 : [IE] Text selection lost after the browser context menu is opened.
+
#5239 : Inconsistent focus behavior after closing a toolbar drop-down menu.
+
#6470 : The Start attribute of a Numbered List is rendered incorrectly if the field is left empty.
+
#7324 : [IE6 Quirks] Context menus are not displayed correctly.
+
#7566 : BiDi: Increasing indentation of a list item changes the language direction.
+
#7839 : [IE] Pasting multi-level numbered lists from Microsoft Word does not work properly.
+
#188 : [IE] Object selection was making the toolbar inactive in some situations.
#7044 : New BBCode sample plugin that makes the editor output (one dialect of) BBCode format.
+
#5647 : Accessibility enhancements to the structure of the toolbar.
+
#5647 : The Kama skin now presents separators for the toolbar items, making it easier to group buttons and have a cleaner layout.
+
#5647 : Usability enhancements to keyboard navigation on the toolbar. The Tab key is now used to jump between toolbar groups, while the Arrow keys can be used to cycle within the group. The new toolbarGroupCycling setting can be used to change the Arrow keys behavior.
#3582 : New presentation of anchor elements in the WYSIWYG mode.
+
#6737 : The Format drop-down list will now display the preview of its contents exactly as defined in their style configurations.
+
#6654 : A new autoParagraph configuration setting is added to disable the auto paragraphing feature.
+
#901 : New Stylesheet Parser (stylesheetparser) plugin that fills the Styles drop-down list based on the CSS classes available for the content. Check the new sample to learn how to use it.
+
#2988 : New Document Properties (docprops) plugin that sets the metadata of the page in the Full Page mode.
+
#7240 : New Developer Tools (devtools) plugin that shows information about dialog window UI elements to allow for easier customization.
+
#6841 : Pressing the Enter key at the end of a pre-formatted block will now exit from it.
+
#6850 : The About CKEditor dialog window now contains a link to CKEditor User's Guide.
+
#5745 : Extra configuration options for the iframeDialog can now be passed.
+
#6589 : The onDialogEvent function will now be used automatically in the iframeDialog contents if no callback is used on creation.
#6869 : The data-cke-nostyle attribute (which was introduced for escaping the element from been influenced by the style system since 3.5) is deprecated in favor of the new data-nostyle attribute.
+
Revised sample pages with code examples and clarifications.
+
+
+ Fixed issues:
+
+
#5855 : Updating a link multiple times generates wrong href attribute.
+
#6166 : Error on Maximize command, when the toolbar button is not shown.
+
#6607 : Table cell "merge down" and "merge right" commands work only once.
+
#6228 : Merge down does not work, throwing a JavasSript error.
+
#6625 : BIDI: Mixed LTR/RTL direction causes incorrect behavior.
+
#6881 : IFrame capitalization is now consistent throughout labels.
+
#6686 : BIDI: [FF] When we apply explicit language direction to a numbered/bulleted list, the corresponding language direction toolbar icon is not highlighted.
+
#6566 : It is now possible to exit a blockquote using ENTER_BR.
+
#6868 : Partial (invalid) list structure crashes the editor on load.
+
#6804 : Buggy behavior when editing the legend element inside a fieldset.
+
#6724 : [IE7] Nested list display bug on empty list item.
+
#6715 : List items do not create paragraphs after the list placed in a table cell is removed.
+
#6695 : [Webkit] Display bug after the editor is restored from the full screen mode.
+
#6661 : [IE] Pre-formatted style does not preserve applied text direction.
+
#6655 : Using the editor resize grip causes small visual offsets.
+
#6604 : The div element should be used as a formatting block in ENTER_BR.
+
#6249 : BIDI: List item bullets are off viewport with RTL text direction.
+
#6610 : BIDI: ENTER_BR change direction in one line out of multiple.
+
#6872 : [IE] Link target field is not populated properly when no target is set.
+
#6880 : Samples: Added a user-friendly message for users on servers without PHP support.
#6103 : It's now possible to control the styling of inline read-only elements with the disableReadonlyStyling setting. It's also possible to avoid inline-styling any element by setting its "data-cke-nostyle" attribute to "1".
#6099 : BIDI: when we apply explicit language direction to Numbered/Bulleted List the corresponding BIDI Tool bar icon is not highlighted in the Toolbar.
+
#6100 : BIDI: when we change Table language direction indentation of text in Table cells is not applied correctly.
+
#6376 : BIDI: buttons should not toggle the base language direction.
+
#6235 : BIDI: Applying direction to multi-paragraph selection within a div.
+
#6187 : [IE6] Multi-instance loading produces 404s on background images.
+
#5446 : Setting config.filebrowserImageBrowseUrl results in displaying also Browser Server on links.
+
#5626 : CKeditor 3.2.1 : html content attached makes ckeditor crash the browser FF/IE.
#6118 : Initial focus is now set to the tabs in the table properties dialog.
+
#6135 : The dialogadvtab plugin now uses the correct label.
+
#6125 : Focus was lost after applying commands in Opera.
+
#6137 : The table dialog was missing the default width value on second opening.
+
+
+ CKEditor 3.4 Beta
+
+ New features:
+
+
#5909 : New BiDi feature, making it possible to switch the base language direction of block elements.
+
#5268 : Introducing the "tableresize" plugin, which makes it possible to resize tables columns by mouse drag. It's not enabled by default, so it must be enabled in the configurations file.
+
#979 : New enableTabKeyTools configuration to allow using the TAB key to navigate through table cells.
+
#4606 : Introduce the "autogrow" plugin, which makes the editor resize automatically, based on the contents size.
#5418 : New "Advanced" tab introduced on the Table Properties dialog. It's based on the new dialogadvtab plugin.
+
#6082 : Introduced the useComputedState setting, making it possible to control whether toolbar features, like alignment and direction, should reflect the "computed" selection states, even when the effective feature value is not applied.
+
+
+ Fixed issues:
+
+
#5911 : BiDi: List items should support and retain correct base language direction
+
#5689 : Make it possible to run CKEditor inside of Firefox chrome.
+
#6042 : It wasn't possible to align a paragraph with the dir attribute to the opposite direction.
+
#6058 : Fixed a small style glitch with file upload fields in IE+Quirks.
+
+
+ CKEditor 3.3.2
+
+ New features:
+
+
#5882 : Introduce the dialog#selectPage event, replicating the OnDialogTabChange feature available in FCKeditor 2.
+
#5927 : The native controls in ui.dialog.elements can be styled with the controlStyle definition.
+
+
+ Fixed issues:
+
+
#1644 : Removed references to cursor:hand in the stylesheets.
+
#5411 : Anchor, hidden fields and Page-Break objects can no longer be resized.
+
#5456 : Initial focus incorect in api_dialog sample page.
#5780 : Text selection lost when opening some of the dialogs.
+
#5787 : Liststyle plugin wasn't packaged into the core (CKEDITOR.resourceManager.load exception).
+
#5637 : Fix wrong nesting that generated "<head> must be a child of <html>" warning in Webkit.
+
#5790 : Internal only attributes output on fullpage <html> tag.
+
#5761 : [IE] Color dialog matrix buttons are barely clickable in quirks mode.
+
#5759 : [IE] Clicking on the scrollbar and then on the host page causes error.
+
#5772 : List style dialog is missing tab page ids.
+
#5782 : [FF] Wysiwyg mode is broken by 'display' style changes on editor's parent DOM tree.
+
#5801 : [IE] contentEditable="false" doesn't apply in effect on inline-elements.
+
#5794 : Empty find matching twice results in JavaScript error.
+
#5732 : If it isn't possible to connect to the SCAYT servers the dialogs might hang in Firefox. Fix for Firefox>=3.6.
+
#5807 : [FF2] New page command results in uneditable document.
+
#5807 : [FF2] SCAYT plugin is disabled in Firefox2 due to selection interference.
+
#5772 : [IE] Some numbered list style types are not supported by IE6/7 and causes JavaScript error.
+
+
+ CKEditor 3.3
+
+ New features:
+
+
#635 : The properties dialog will now open when double clicking on objects.
+
#3893 : It's now possible to indent/outdent lists when selecting the first list item.
+
#4968 : The contentsLangDirection setting now has a default value 'ui' which inherit language direction from the editor UI language.
+
#4649 : The color picker dialog is now accessible.
+
#3593 : The editing area is now enabled by contentEditable="true" instead of designMode="on" to allow creating uneditable content elements in all browsers.
+
#4056 : Hidden fields will now be displayed as fake element just like in FCKeditor 2.
+
+
+ CKEditor 3.2.2
+
+ New features:
+
+
The SCAYT spell checker is now enabled by default through the autoStartup setting.
#4478 : Enable the SelectAll command in source mode.
+
#5150 : Allow names in the CKEDITOR.config.colorButton_colors setting.
+
#4810 : Adding configuration option for image dialog preview area filling text.
+
#536 : Object style now could be applied on any parent element of current selection.
+
#5290 : Unified stylesSet loading removing dependencies from the styles combo.
+ Now the configuration entry is named 'config.stylesSet' instead of config.stylesCombo_stylesSet and the default location
+ is under the 'styles' plugin instead of 'stylescombo'.
+
#5352 : Allow to define the stylesSet array in the config object for the editor.
+ CKEditor is a text editor to be used inside web pages. It's not a replacement
+ for desktop text editors like Word or OpenOffice, but a component to be used as
+ part of web applications and web sites.
+
+ Installation
+
+ Installing CKEditor is an easy task. Just follow these simple steps:
+
+
Download the latest version of the editor from our web site: http://ckeditor.com. You should have already completed
+ this step, but be sure you have the very latest version.
+
Extract (decompress) the downloaded file into the root of your
+ web site.
+
+
+ Note: CKEditor is by default installed in the "ckeditor"
+ folder. You can place the files in whichever you want though.
+
+ Checking Your Installation
+
+
+ The editor comes with a few sample pages that can be used to verify that installation
+ proceeded properly. Take a look at the _samples directory.
+
+ To test your installation, just call the following page at your web site:
+ 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" 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.
+
+ 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.
+
+
+
Index: /CKEditor/tags/3.6.6/_dev/_thirdparty/console_getopt/Getopt.php
===================================================================
--- /CKEditor/tags/3.6.6/_dev/_thirdparty/console_getopt/Getopt.php (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/_thirdparty/console_getopt/Getopt.php (revision 7691)
@@ -0,0 +1,290 @@
+ |
+// +----------------------------------------------------------------------+
+//
+// $Id: Getopt.php,v 1.4 2007/06/12 14:58:56 cellog Exp $
+
+require_once 'PEAR.php';
+
+/**
+ * Command-line options parsing class.
+ *
+ * @author Andrei Zmievski
+ *
+ */
+class Console_Getopt {
+ /**
+ * Parses the command-line options.
+ *
+ * The first parameter to this function should be the list of command-line
+ * arguments without the leading reference to the running program.
+ *
+ * The second parameter is a string of allowed short options. Each of the
+ * option letters can be followed by a colon ':' to specify that the option
+ * requires an argument, or a double colon '::' to specify that the option
+ * takes an optional argument.
+ *
+ * The third argument is an optional array of allowed long options. The
+ * leading '--' should not be included in the option name. Options that
+ * require an argument should be followed by '=', and options that take an
+ * option argument should be followed by '=='.
+ *
+ * The return value is an array of two elements: the list of parsed
+ * options and the list of non-option command-line arguments. Each entry in
+ * the list of parsed options is a pair of elements - the first one
+ * specifies the option, and the second one specifies the option argument,
+ * if there was one.
+ *
+ * Long and short options can be mixed.
+ *
+ * Most of the semantics of this function are based on GNU getopt_long().
+ *
+ * @param array $args an array of command-line arguments
+ * @param string $short_options specifies the list of allowed short options
+ * @param array $long_options specifies the list of allowed long options
+ *
+ * @return array two-element array containing the list of parsed options and
+ * the non-option arguments
+ *
+ * @access public
+ *
+ */
+ function getopt2($args, $short_options, $long_options = null)
+ {
+ return Console_Getopt::doGetopt(2, $args, $short_options, $long_options);
+ }
+
+ /**
+ * This function expects $args to start with the script name (POSIX-style).
+ * Preserved for backwards compatibility.
+ * @see getopt2()
+ */
+ function getopt($args, $short_options, $long_options = null)
+ {
+ return Console_Getopt::doGetopt(1, $args, $short_options, $long_options);
+ }
+
+ /**
+ * The actual implementation of the argument parsing code.
+ */
+ function doGetopt($version, $args, $short_options, $long_options = null)
+ {
+ // in case you pass directly readPHPArgv() as the first arg
+ if (PEAR::isError($args)) {
+ return $args;
+ }
+ if (empty($args)) {
+ return array(array(), array());
+ }
+ $opts = array();
+ $non_opts = array();
+
+ settype($args, 'array');
+
+ if ($long_options) {
+ sort($long_options);
+ }
+
+ /*
+ * Preserve backwards compatibility with callers that relied on
+ * erroneous POSIX fix.
+ */
+ if ($version < 2) {
+ if (isset($args[0]{0}) && $args[0]{0} != '-') {
+ array_shift($args);
+ }
+ }
+
+ reset($args);
+ while (list($i, $arg) = each($args)) {
+
+ /* The special element '--' means explicit end of
+ options. Treat the rest of the arguments as non-options
+ and end the loop. */
+ if ($arg == '--') {
+ $non_opts = array_merge($non_opts, array_slice($args, $i + 1));
+ break;
+ }
+
+ if ($arg{0} != '-' || (strlen($arg) > 1 && $arg{1} == '-' && !$long_options)) {
+ $non_opts = array_merge($non_opts, array_slice($args, $i));
+ break;
+ } elseif (strlen($arg) > 1 && $arg{1} == '-') {
+ $error = Console_Getopt::_parseLongOption(substr($arg, 2), $long_options, $opts, $args);
+ if (PEAR::isError($error))
+ return $error;
+ } elseif ($arg == '-') {
+ // - is stdin
+ $non_opts = array_merge($non_opts, array_slice($args, $i));
+ break;
+ } else {
+ $error = Console_Getopt::_parseShortOption(substr($arg, 1), $short_options, $opts, $args);
+ if (PEAR::isError($error))
+ return $error;
+ }
+ }
+
+ return array($opts, $non_opts);
+ }
+
+ /**
+ * @access private
+ *
+ */
+ function _parseShortOption($arg, $short_options, &$opts, &$args)
+ {
+ for ($i = 0; $i < strlen($arg); $i++) {
+ $opt = $arg{$i};
+ $opt_arg = null;
+
+ /* Try to find the short option in the specifier string. */
+ if (($spec = strstr($short_options, $opt)) === false || $arg{$i} == ':')
+ {
+ return PEAR::raiseError("Console_Getopt: unrecognized option -- $opt");
+ }
+
+ if (strlen($spec) > 1 && $spec{1} == ':') {
+ if (strlen($spec) > 2 && $spec{2} == ':') {
+ if ($i + 1 < strlen($arg)) {
+ /* Option takes an optional argument. Use the remainder of
+ the arg string if there is anything left. */
+ $opts[] = array($opt, substr($arg, $i + 1));
+ break;
+ }
+ } else {
+ /* Option requires an argument. Use the remainder of the arg
+ string if there is anything left. */
+ if ($i + 1 < strlen($arg)) {
+ $opts[] = array($opt, substr($arg, $i + 1));
+ break;
+ } else if (list(, $opt_arg) = each($args)) {
+ /* Else use the next argument. */;
+ if (Console_Getopt::_isShortOpt($opt_arg) || Console_Getopt::_isLongOpt($opt_arg)) {
+ return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt");
+ }
+ } else {
+ return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt");
+ }
+ }
+ }
+
+ $opts[] = array($opt, $opt_arg);
+ }
+ }
+
+ /**
+ * @access private
+ *
+ */
+ function _isShortOpt($arg)
+ {
+ return strlen($arg) == 2 && $arg[0] == '-' && preg_match('/[a-zA-Z]/', $arg[1]);
+ }
+
+ /**
+ * @access private
+ *
+ */
+ function _isLongOpt($arg)
+ {
+ return strlen($arg) > 2 && $arg[0] == '-' && $arg[1] == '-' &&
+ preg_match('/[a-zA-Z]+$/', substr($arg, 2));
+ }
+
+ /**
+ * @access private
+ *
+ */
+ function _parseLongOption($arg, $long_options, &$opts, &$args)
+ {
+ @list($opt, $opt_arg) = explode('=', $arg, 2);
+ $opt_len = strlen($opt);
+
+ for ($i = 0; $i < count($long_options); $i++) {
+ $long_opt = $long_options[$i];
+ $opt_start = substr($long_opt, 0, $opt_len);
+ $long_opt_name = str_replace('=', '', $long_opt);
+
+ /* Option doesn't match. Go on to the next one. */
+ if ($long_opt_name != $opt) {
+ continue;
+ }
+
+ $opt_rest = substr($long_opt, $opt_len);
+
+ /* Check that the options uniquely matches one of the allowed
+ options. */
+ if ($i + 1 < count($long_options)) {
+ $next_option_rest = substr($long_options[$i + 1], $opt_len);
+ } else {
+ $next_option_rest = '';
+ }
+ if ($opt_rest != '' && $opt{0} != '=' &&
+ $i + 1 < count($long_options) &&
+ $opt == substr($long_options[$i+1], 0, $opt_len) &&
+ $next_option_rest != '' &&
+ $next_option_rest{0} != '=') {
+ return PEAR::raiseError("Console_Getopt: option --$opt is ambiguous");
+ }
+
+ if (substr($long_opt, -1) == '=') {
+ if (substr($long_opt, -2) != '==') {
+ /* Long option requires an argument.
+ Take the next argument if one wasn't specified. */;
+ if (!strlen($opt_arg) && !(list(, $opt_arg) = each($args))) {
+ return PEAR::raiseError("Console_Getopt: option --$opt requires an argument");
+ }
+ if (Console_Getopt::_isShortOpt($opt_arg) || Console_Getopt::_isLongOpt($opt_arg)) {
+ return PEAR::raiseError("Console_Getopt: option requires an argument --$opt");
+ }
+ }
+ } else if ($opt_arg) {
+ return PEAR::raiseError("Console_Getopt: option --$opt doesn't allow an argument");
+ }
+
+ $opts[] = array('--' . $opt, $opt_arg);
+ return;
+ }
+
+ return PEAR::raiseError("Console_Getopt: unrecognized option --$opt");
+ }
+
+ /**
+ * Safely read the $argv PHP array across different PHP configurations.
+ * Will take care on register_globals and register_argc_argv ini directives
+ *
+ * @access public
+ * @return mixed the $argv PHP array or PEAR error if not registered
+ */
+ function readPHPArgv()
+ {
+ global $argv;
+ if (!is_array($argv)) {
+ if (!@is_array($_SERVER['argv'])) {
+ if (!@is_array($GLOBALS['HTTP_SERVER_VARS']['argv'])) {
+ return PEAR::raiseError("Console_Getopt: Could not read cmd args (register_argc_argv=Off?)");
+ }
+ return $GLOBALS['HTTP_SERVER_VARS']['argv'];
+ }
+ return $_SERVER['argv'];
+ }
+ return $argv;
+ }
+
+}
+
+?>
Index: /CKEditor/tags/3.6.6/_dev/_thirdparty/console_getopt/PEAR.php
===================================================================
--- /CKEditor/tags/3.6.6/_dev/_thirdparty/console_getopt/PEAR.php (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/_thirdparty/console_getopt/PEAR.php (revision 7691)
@@ -0,0 +1,1118 @@
+
+ * @author Stig Bakken
+ * @author Tomas V.V.Cox
+ * @author Greg Beaver
+ * @copyright 1997-2008 The PHP Group
+ * @license http://www.php.net/license/3_0.txt PHP License 3.0
+ * @version CVS: $Id: PEAR.php,v 1.104 2008/01/03 20:26:34 cellog Exp $
+ * @link http://pear.php.net/package/PEAR
+ * @since File available since Release 0.1
+ */
+
+/**#@+
+ * ERROR constants
+ */
+define('PEAR_ERROR_RETURN', 1);
+define('PEAR_ERROR_PRINT', 2);
+define('PEAR_ERROR_TRIGGER', 4);
+define('PEAR_ERROR_DIE', 8);
+define('PEAR_ERROR_CALLBACK', 16);
+/**
+ * WARNING: obsolete
+ * @deprecated
+ */
+define('PEAR_ERROR_EXCEPTION', 32);
+/**#@-*/
+define('PEAR_ZE2', (function_exists('version_compare') &&
+ version_compare(zend_version(), "2-dev", "ge")));
+
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ define('OS_WINDOWS', true);
+ define('OS_UNIX', false);
+ define('PEAR_OS', 'Windows');
+} else {
+ define('OS_WINDOWS', false);
+ define('OS_UNIX', true);
+ define('PEAR_OS', 'Unix'); // blatant assumption
+}
+
+// instant backwards compatibility
+if (!defined('PATH_SEPARATOR')) {
+ if (OS_WINDOWS) {
+ define('PATH_SEPARATOR', ';');
+ } else {
+ define('PATH_SEPARATOR', ':');
+ }
+}
+
+$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_RETURN;
+$GLOBALS['_PEAR_default_error_options'] = E_USER_NOTICE;
+$GLOBALS['_PEAR_destructor_object_list'] = array();
+$GLOBALS['_PEAR_shutdown_funcs'] = array();
+$GLOBALS['_PEAR_error_handler_stack'] = array();
+
+@ini_set('track_errors', true);
+
+/**
+ * Base class for other PEAR classes. Provides rudimentary
+ * emulation of destructors.
+ *
+ * If you want a destructor in your class, inherit PEAR and make a
+ * destructor method called _yourclassname (same name as the
+ * constructor, but with a "_" prefix). Also, in your constructor you
+ * have to call the PEAR constructor: $this->PEAR();.
+ * The destructor method will be called without parameters. Note that
+ * at in some SAPI implementations (such as Apache), any output during
+ * the request shutdown (in which destructors are called) seems to be
+ * discarded. If you need to get any debug information from your
+ * destructor, use error_log(), syslog() or something similar.
+ *
+ * IMPORTANT! To use the emulated destructors you need to create the
+ * objects by reference: $obj =& new PEAR_child;
+ *
+ * @category pear
+ * @package PEAR
+ * @author Stig Bakken
+ * @author Tomas V.V. Cox
+ * @author Greg Beaver
+ * @copyright 1997-2006 The PHP Group
+ * @license http://www.php.net/license/3_0.txt PHP License 3.0
+ * @version Release: 1.7.1
+ * @link http://pear.php.net/package/PEAR
+ * @see PEAR_Error
+ * @since Class available since PHP 4.0.2
+ * @link http://pear.php.net/manual/en/core.pear.php#core.pear.pear
+ */
+class PEAR
+{
+ // {{{ properties
+
+ /**
+ * Whether to enable internal debug messages.
+ *
+ * @var bool
+ * @access private
+ */
+ var $_debug = false;
+
+ /**
+ * Default error mode for this object.
+ *
+ * @var int
+ * @access private
+ */
+ var $_default_error_mode = null;
+
+ /**
+ * Default error options used for this object when error mode
+ * is PEAR_ERROR_TRIGGER.
+ *
+ * @var int
+ * @access private
+ */
+ var $_default_error_options = null;
+
+ /**
+ * Default error handler (callback) for this object, if error mode is
+ * PEAR_ERROR_CALLBACK.
+ *
+ * @var string
+ * @access private
+ */
+ var $_default_error_handler = '';
+
+ /**
+ * Which class to use for error objects.
+ *
+ * @var string
+ * @access private
+ */
+ var $_error_class = 'PEAR_Error';
+
+ /**
+ * An array of expected errors.
+ *
+ * @var array
+ * @access private
+ */
+ var $_expected_errors = array();
+
+ // }}}
+
+ // {{{ constructor
+
+ /**
+ * Constructor. Registers this object in
+ * $_PEAR_destructor_object_list for destructor emulation if a
+ * destructor object exists.
+ *
+ * @param string $error_class (optional) which class to use for
+ * error objects, defaults to PEAR_Error.
+ * @access public
+ * @return void
+ */
+ function PEAR($error_class = null)
+ {
+ $classname = strtolower(get_class($this));
+ if ($this->_debug) {
+ print "PEAR constructor called, class=$classname\n";
+ }
+ if ($error_class !== null) {
+ $this->_error_class = $error_class;
+ }
+ while ($classname && strcasecmp($classname, "pear")) {
+ $destructor = "_$classname";
+ if (method_exists($this, $destructor)) {
+ global $_PEAR_destructor_object_list;
+ $_PEAR_destructor_object_list[] = &$this;
+ if (!isset($GLOBALS['_PEAR_SHUTDOWN_REGISTERED'])) {
+ register_shutdown_function("_PEAR_call_destructors");
+ $GLOBALS['_PEAR_SHUTDOWN_REGISTERED'] = true;
+ }
+ break;
+ } else {
+ $classname = get_parent_class($classname);
+ }
+ }
+ }
+
+ // }}}
+ // {{{ destructor
+
+ /**
+ * Destructor (the emulated type of...). Does nothing right now,
+ * but is included for forward compatibility, so subclass
+ * destructors should always call it.
+ *
+ * See the note in the class desciption about output from
+ * destructors.
+ *
+ * @access public
+ * @return void
+ */
+ function _PEAR() {
+ if ($this->_debug) {
+ printf("PEAR destructor called, class=%s\n", strtolower(get_class($this)));
+ }
+ }
+
+ // }}}
+ // {{{ getStaticProperty()
+
+ /**
+ * If you have a class that's mostly/entirely static, and you need static
+ * properties, you can use this method to simulate them. Eg. in your method(s)
+ * do this: $myVar = &PEAR::getStaticProperty('myclass', 'myVar');
+ * You MUST use a reference, or they will not persist!
+ *
+ * @access public
+ * @param string $class The calling classname, to prevent clashes
+ * @param string $var The variable to retrieve.
+ * @return mixed A reference to the variable. If not set it will be
+ * auto initialised to NULL.
+ */
+ function &getStaticProperty($class, $var)
+ {
+ static $properties;
+ if (!isset($properties[$class])) {
+ $properties[$class] = array();
+ }
+ if (!array_key_exists($var, $properties[$class])) {
+ $properties[$class][$var] = null;
+ }
+ return $properties[$class][$var];
+ }
+
+ // }}}
+ // {{{ registerShutdownFunc()
+
+ /**
+ * Use this function to register a shutdown method for static
+ * classes.
+ *
+ * @access public
+ * @param mixed $func The function name (or array of class/method) to call
+ * @param mixed $args The arguments to pass to the function
+ * @return void
+ */
+ function registerShutdownFunc($func, $args = array())
+ {
+ // if we are called statically, there is a potential
+ // that no shutdown func is registered. Bug #6445
+ if (!isset($GLOBALS['_PEAR_SHUTDOWN_REGISTERED'])) {
+ register_shutdown_function("_PEAR_call_destructors");
+ $GLOBALS['_PEAR_SHUTDOWN_REGISTERED'] = true;
+ }
+ $GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args);
+ }
+
+ // }}}
+ // {{{ isError()
+
+ /**
+ * Tell whether a value is a PEAR error.
+ *
+ * @param mixed $data the value to test
+ * @param int $code if $data is an error object, return true
+ * only if $code is a string and
+ * $obj->getMessage() == $code or
+ * $code is an integer and $obj->getCode() == $code
+ * @access public
+ * @return bool true if parameter is an error
+ */
+ function isError($data, $code = null)
+ {
+ if (is_a($data, 'PEAR_Error')) {
+ if (is_null($code)) {
+ return true;
+ } elseif (is_string($code)) {
+ return $data->getMessage() == $code;
+ } else {
+ return $data->getCode() == $code;
+ }
+ }
+ return false;
+ }
+
+ // }}}
+ // {{{ setErrorHandling()
+
+ /**
+ * Sets how errors generated by this object should be handled.
+ * Can be invoked both in objects and statically. If called
+ * statically, setErrorHandling sets the default behaviour for all
+ * PEAR objects. If called in an object, setErrorHandling sets
+ * the default behaviour for that object.
+ *
+ * @param int $mode
+ * One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT,
+ * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE,
+ * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION.
+ *
+ * @param mixed $options
+ * When $mode is PEAR_ERROR_TRIGGER, this is the error level (one
+ * of E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR).
+ *
+ * When $mode is PEAR_ERROR_CALLBACK, this parameter is expected
+ * to be the callback function or method. A callback
+ * function is a string with the name of the function, a
+ * callback method is an array of two elements: the element
+ * at index 0 is the object, and the element at index 1 is
+ * the name of the method to call in the object.
+ *
+ * When $mode is PEAR_ERROR_PRINT or PEAR_ERROR_DIE, this is
+ * a printf format string used when printing the error
+ * message.
+ *
+ * @access public
+ * @return void
+ * @see PEAR_ERROR_RETURN
+ * @see PEAR_ERROR_PRINT
+ * @see PEAR_ERROR_TRIGGER
+ * @see PEAR_ERROR_DIE
+ * @see PEAR_ERROR_CALLBACK
+ * @see PEAR_ERROR_EXCEPTION
+ *
+ * @since PHP 4.0.5
+ */
+
+ function setErrorHandling($mode = null, $options = null)
+ {
+ if (isset($this) && is_a($this, 'PEAR')) {
+ $setmode = &$this->_default_error_mode;
+ $setoptions = &$this->_default_error_options;
+ } else {
+ $setmode = &$GLOBALS['_PEAR_default_error_mode'];
+ $setoptions = &$GLOBALS['_PEAR_default_error_options'];
+ }
+
+ switch ($mode) {
+ case PEAR_ERROR_EXCEPTION:
+ case PEAR_ERROR_RETURN:
+ case PEAR_ERROR_PRINT:
+ case PEAR_ERROR_TRIGGER:
+ case PEAR_ERROR_DIE:
+ case null:
+ $setmode = $mode;
+ $setoptions = $options;
+ break;
+
+ case PEAR_ERROR_CALLBACK:
+ $setmode = $mode;
+ // class/object method callback
+ if (is_callable($options)) {
+ $setoptions = $options;
+ } else {
+ trigger_error("invalid error callback", E_USER_WARNING);
+ }
+ break;
+
+ default:
+ trigger_error("invalid error mode", E_USER_WARNING);
+ break;
+ }
+ }
+
+ // }}}
+ // {{{ expectError()
+
+ /**
+ * This method is used to tell which errors you expect to get.
+ * Expected errors are always returned with error mode
+ * PEAR_ERROR_RETURN. Expected error codes are stored in a stack,
+ * and this method pushes a new element onto it. The list of
+ * expected errors are in effect until they are popped off the
+ * stack with the popExpect() method.
+ *
+ * Note that this method can not be called statically
+ *
+ * @param mixed $code a single error code or an array of error codes to expect
+ *
+ * @return int the new depth of the "expected errors" stack
+ * @access public
+ */
+ function expectError($code = '*')
+ {
+ if (is_array($code)) {
+ array_push($this->_expected_errors, $code);
+ } else {
+ array_push($this->_expected_errors, array($code));
+ }
+ return sizeof($this->_expected_errors);
+ }
+
+ // }}}
+ // {{{ popExpect()
+
+ /**
+ * This method pops one element off the expected error codes
+ * stack.
+ *
+ * @return array the list of error codes that were popped
+ */
+ function popExpect()
+ {
+ return array_pop($this->_expected_errors);
+ }
+
+ // }}}
+ // {{{ _checkDelExpect()
+
+ /**
+ * This method checks unsets an error code if available
+ *
+ * @param mixed error code
+ * @return bool true if the error code was unset, false otherwise
+ * @access private
+ * @since PHP 4.3.0
+ */
+ function _checkDelExpect($error_code)
+ {
+ $deleted = false;
+
+ foreach ($this->_expected_errors AS $key => $error_array) {
+ if (in_array($error_code, $error_array)) {
+ unset($this->_expected_errors[$key][array_search($error_code, $error_array)]);
+ $deleted = true;
+ }
+
+ // clean up empty arrays
+ if (0 == count($this->_expected_errors[$key])) {
+ unset($this->_expected_errors[$key]);
+ }
+ }
+ return $deleted;
+ }
+
+ // }}}
+ // {{{ delExpect()
+
+ /**
+ * This method deletes all occurences of the specified element from
+ * the expected error codes stack.
+ *
+ * @param mixed $error_code error code that should be deleted
+ * @return mixed list of error codes that were deleted or error
+ * @access public
+ * @since PHP 4.3.0
+ */
+ function delExpect($error_code)
+ {
+ $deleted = false;
+
+ if ((is_array($error_code) && (0 != count($error_code)))) {
+ // $error_code is a non-empty array here;
+ // we walk through it trying to unset all
+ // values
+ foreach($error_code as $key => $error) {
+ if ($this->_checkDelExpect($error)) {
+ $deleted = true;
+ } else {
+ $deleted = false;
+ }
+ }
+ return $deleted ? true : PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
+ } elseif (!empty($error_code)) {
+ // $error_code comes alone, trying to unset it
+ if ($this->_checkDelExpect($error_code)) {
+ return true;
+ } else {
+ return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
+ }
+ } else {
+ // $error_code is empty
+ return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME
+ }
+ }
+
+ // }}}
+ // {{{ raiseError()
+
+ /**
+ * This method is a wrapper that returns an instance of the
+ * configured error class with this object's default error
+ * handling applied. If the $mode and $options parameters are not
+ * specified, the object's defaults are used.
+ *
+ * @param mixed $message a text error message or a PEAR error object
+ *
+ * @param int $code a numeric error code (it is up to your class
+ * to define these if you want to use codes)
+ *
+ * @param int $mode One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT,
+ * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE,
+ * PEAR_ERROR_CALLBACK, PEAR_ERROR_EXCEPTION.
+ *
+ * @param mixed $options If $mode is PEAR_ERROR_TRIGGER, this parameter
+ * specifies the PHP-internal error level (one of
+ * E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR).
+ * If $mode is PEAR_ERROR_CALLBACK, this
+ * parameter specifies the callback function or
+ * method. In other error modes this parameter
+ * is ignored.
+ *
+ * @param string $userinfo If you need to pass along for example debug
+ * information, this parameter is meant for that.
+ *
+ * @param string $error_class The returned error object will be
+ * instantiated from this class, if specified.
+ *
+ * @param bool $skipmsg If true, raiseError will only pass error codes,
+ * the error message parameter will be dropped.
+ *
+ * @access public
+ * @return object a PEAR error object
+ * @see PEAR::setErrorHandling
+ * @since PHP 4.0.5
+ */
+ function &raiseError($message = null,
+ $code = null,
+ $mode = null,
+ $options = null,
+ $userinfo = null,
+ $error_class = null,
+ $skipmsg = false)
+ {
+ // The error is yet a PEAR error object
+ if (is_object($message)) {
+ $code = $message->getCode();
+ $userinfo = $message->getUserInfo();
+ $error_class = $message->getType();
+ $message->error_message_prefix = '';
+ $message = $message->getMessage();
+ }
+
+ if (isset($this) && isset($this->_expected_errors) && sizeof($this->_expected_errors) > 0 && sizeof($exp = end($this->_expected_errors))) {
+ if ($exp[0] == "*" ||
+ (is_int(reset($exp)) && in_array($code, $exp)) ||
+ (is_string(reset($exp)) && in_array($message, $exp))) {
+ $mode = PEAR_ERROR_RETURN;
+ }
+ }
+ // No mode given, try global ones
+ if ($mode === null) {
+ // Class error handler
+ if (isset($this) && isset($this->_default_error_mode)) {
+ $mode = $this->_default_error_mode;
+ $options = $this->_default_error_options;
+ // Global error handler
+ } elseif (isset($GLOBALS['_PEAR_default_error_mode'])) {
+ $mode = $GLOBALS['_PEAR_default_error_mode'];
+ $options = $GLOBALS['_PEAR_default_error_options'];
+ }
+ }
+
+ if ($error_class !== null) {
+ $ec = $error_class;
+ } elseif (isset($this) && isset($this->_error_class)) {
+ $ec = $this->_error_class;
+ } else {
+ $ec = 'PEAR_Error';
+ }
+ if (intval(PHP_VERSION) < 5) {
+ // little non-eval hack to fix bug #12147
+ include 'PEAR/FixPHP5PEARWarnings.php';
+ return $a;
+ }
+ if ($skipmsg) {
+ $a = new $ec($code, $mode, $options, $userinfo);
+ } else {
+ $a = new $ec($message, $code, $mode, $options, $userinfo);
+ }
+ return $a;
+ }
+
+ // }}}
+ // {{{ throwError()
+
+ /**
+ * Simpler form of raiseError with fewer options. In most cases
+ * message, code and userinfo are enough.
+ *
+ * @param string $message
+ *
+ */
+ function &throwError($message = null,
+ $code = null,
+ $userinfo = null)
+ {
+ if (isset($this) && is_a($this, 'PEAR')) {
+ $a = &$this->raiseError($message, $code, null, null, $userinfo);
+ return $a;
+ } else {
+ $a = &PEAR::raiseError($message, $code, null, null, $userinfo);
+ return $a;
+ }
+ }
+
+ // }}}
+ function staticPushErrorHandling($mode, $options = null)
+ {
+ $stack = &$GLOBALS['_PEAR_error_handler_stack'];
+ $def_mode = &$GLOBALS['_PEAR_default_error_mode'];
+ $def_options = &$GLOBALS['_PEAR_default_error_options'];
+ $stack[] = array($def_mode, $def_options);
+ switch ($mode) {
+ case PEAR_ERROR_EXCEPTION:
+ case PEAR_ERROR_RETURN:
+ case PEAR_ERROR_PRINT:
+ case PEAR_ERROR_TRIGGER:
+ case PEAR_ERROR_DIE:
+ case null:
+ $def_mode = $mode;
+ $def_options = $options;
+ break;
+
+ case PEAR_ERROR_CALLBACK:
+ $def_mode = $mode;
+ // class/object method callback
+ if (is_callable($options)) {
+ $def_options = $options;
+ } else {
+ trigger_error("invalid error callback", E_USER_WARNING);
+ }
+ break;
+
+ default:
+ trigger_error("invalid error mode", E_USER_WARNING);
+ break;
+ }
+ $stack[] = array($mode, $options);
+ return true;
+ }
+
+ function staticPopErrorHandling()
+ {
+ $stack = &$GLOBALS['_PEAR_error_handler_stack'];
+ $setmode = &$GLOBALS['_PEAR_default_error_mode'];
+ $setoptions = &$GLOBALS['_PEAR_default_error_options'];
+ array_pop($stack);
+ list($mode, $options) = $stack[sizeof($stack) - 1];
+ array_pop($stack);
+ switch ($mode) {
+ case PEAR_ERROR_EXCEPTION:
+ case PEAR_ERROR_RETURN:
+ case PEAR_ERROR_PRINT:
+ case PEAR_ERROR_TRIGGER:
+ case PEAR_ERROR_DIE:
+ case null:
+ $setmode = $mode;
+ $setoptions = $options;
+ break;
+
+ case PEAR_ERROR_CALLBACK:
+ $setmode = $mode;
+ // class/object method callback
+ if (is_callable($options)) {
+ $setoptions = $options;
+ } else {
+ trigger_error("invalid error callback", E_USER_WARNING);
+ }
+ break;
+
+ default:
+ trigger_error("invalid error mode", E_USER_WARNING);
+ break;
+ }
+ return true;
+ }
+
+ // {{{ pushErrorHandling()
+
+ /**
+ * Push a new error handler on top of the error handler options stack. With this
+ * you can easily override the actual error handler for some code and restore
+ * it later with popErrorHandling.
+ *
+ * @param mixed $mode (same as setErrorHandling)
+ * @param mixed $options (same as setErrorHandling)
+ *
+ * @return bool Always true
+ *
+ * @see PEAR::setErrorHandling
+ */
+ function pushErrorHandling($mode, $options = null)
+ {
+ $stack = &$GLOBALS['_PEAR_error_handler_stack'];
+ if (isset($this) && is_a($this, 'PEAR')) {
+ $def_mode = &$this->_default_error_mode;
+ $def_options = &$this->_default_error_options;
+ } else {
+ $def_mode = &$GLOBALS['_PEAR_default_error_mode'];
+ $def_options = &$GLOBALS['_PEAR_default_error_options'];
+ }
+ $stack[] = array($def_mode, $def_options);
+
+ if (isset($this) && is_a($this, 'PEAR')) {
+ $this->setErrorHandling($mode, $options);
+ } else {
+ PEAR::setErrorHandling($mode, $options);
+ }
+ $stack[] = array($mode, $options);
+ return true;
+ }
+
+ // }}}
+ // {{{ popErrorHandling()
+
+ /**
+ * Pop the last error handler used
+ *
+ * @return bool Always true
+ *
+ * @see PEAR::pushErrorHandling
+ */
+ function popErrorHandling()
+ {
+ $stack = &$GLOBALS['_PEAR_error_handler_stack'];
+ array_pop($stack);
+ list($mode, $options) = $stack[sizeof($stack) - 1];
+ array_pop($stack);
+ if (isset($this) && is_a($this, 'PEAR')) {
+ $this->setErrorHandling($mode, $options);
+ } else {
+ PEAR::setErrorHandling($mode, $options);
+ }
+ return true;
+ }
+
+ // }}}
+ // {{{ loadExtension()
+
+ /**
+ * OS independant PHP extension load. Remember to take care
+ * on the correct extension name for case sensitive OSes.
+ *
+ * @param string $ext The extension name
+ * @return bool Success or not on the dl() call
+ */
+ function loadExtension($ext)
+ {
+ if (!extension_loaded($ext)) {
+ // if either returns true dl() will produce a FATAL error, stop that
+ if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) {
+ return false;
+ }
+ if (OS_WINDOWS) {
+ $suffix = '.dll';
+ } elseif (PHP_OS == 'HP-UX') {
+ $suffix = '.sl';
+ } elseif (PHP_OS == 'AIX') {
+ $suffix = '.a';
+ } elseif (PHP_OS == 'OSX') {
+ $suffix = '.bundle';
+ } else {
+ $suffix = '.so';
+ }
+ return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);
+ }
+ return true;
+ }
+
+ // }}}
+}
+
+// {{{ _PEAR_call_destructors()
+
+function _PEAR_call_destructors()
+{
+ global $_PEAR_destructor_object_list;
+ if (is_array($_PEAR_destructor_object_list) &&
+ sizeof($_PEAR_destructor_object_list))
+ {
+ reset($_PEAR_destructor_object_list);
+ if (PEAR::getStaticProperty('PEAR', 'destructlifo')) {
+ $_PEAR_destructor_object_list = array_reverse($_PEAR_destructor_object_list);
+ }
+ while (list($k, $objref) = each($_PEAR_destructor_object_list)) {
+ $classname = get_class($objref);
+ while ($classname) {
+ $destructor = "_$classname";
+ if (method_exists($objref, $destructor)) {
+ $objref->$destructor();
+ break;
+ } else {
+ $classname = get_parent_class($classname);
+ }
+ }
+ }
+ // Empty the object list to ensure that destructors are
+ // not called more than once.
+ $_PEAR_destructor_object_list = array();
+ }
+
+ // Now call the shutdown functions
+ if (is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) {
+ foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) {
+ call_user_func_array($value[0], $value[1]);
+ }
+ }
+}
+
+// }}}
+/**
+ * Standard PEAR error class for PHP 4
+ *
+ * This class is supserseded by {@link PEAR_Exception} in PHP 5
+ *
+ * @category pear
+ * @package PEAR
+ * @author Stig Bakken
+ * @author Tomas V.V. Cox
+ * @author Gregory Beaver
+ * @copyright 1997-2006 The PHP Group
+ * @license http://www.php.net/license/3_0.txt PHP License 3.0
+ * @version Release: 1.7.1
+ * @link http://pear.php.net/manual/en/core.pear.pear-error.php
+ * @see PEAR::raiseError(), PEAR::throwError()
+ * @since Class available since PHP 4.0.2
+ */
+class PEAR_Error
+{
+ // {{{ properties
+
+ var $error_message_prefix = '';
+ var $mode = PEAR_ERROR_RETURN;
+ var $level = E_USER_NOTICE;
+ var $code = -1;
+ var $message = '';
+ var $userinfo = '';
+ var $backtrace = null;
+
+ // }}}
+ // {{{ constructor
+
+ /**
+ * PEAR_Error constructor
+ *
+ * @param string $message message
+ *
+ * @param int $code (optional) error code
+ *
+ * @param int $mode (optional) error mode, one of: PEAR_ERROR_RETURN,
+ * PEAR_ERROR_PRINT, PEAR_ERROR_DIE, PEAR_ERROR_TRIGGER,
+ * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION
+ *
+ * @param mixed $options (optional) error level, _OR_ in the case of
+ * PEAR_ERROR_CALLBACK, the callback function or object/method
+ * tuple.
+ *
+ * @param string $userinfo (optional) additional user/debug info
+ *
+ * @access public
+ *
+ */
+ function PEAR_Error($message = 'unknown error', $code = null,
+ $mode = null, $options = null, $userinfo = null)
+ {
+ if ($mode === null) {
+ $mode = PEAR_ERROR_RETURN;
+ }
+ $this->message = $message;
+ $this->code = $code;
+ $this->mode = $mode;
+ $this->userinfo = $userinfo;
+ if (!PEAR::getStaticProperty('PEAR_Error', 'skiptrace')) {
+ $this->backtrace = debug_backtrace();
+ if (isset($this->backtrace[0]) && isset($this->backtrace[0]['object'])) {
+ unset($this->backtrace[0]['object']);
+ }
+ }
+ if ($mode & PEAR_ERROR_CALLBACK) {
+ $this->level = E_USER_NOTICE;
+ $this->callback = $options;
+ } else {
+ if ($options === null) {
+ $options = E_USER_NOTICE;
+ }
+ $this->level = $options;
+ $this->callback = null;
+ }
+ if ($this->mode & PEAR_ERROR_PRINT) {
+ if (is_null($options) || is_int($options)) {
+ $format = "%s";
+ } else {
+ $format = $options;
+ }
+ printf($format, $this->getMessage());
+ }
+ if ($this->mode & PEAR_ERROR_TRIGGER) {
+ trigger_error($this->getMessage(), $this->level);
+ }
+ if ($this->mode & PEAR_ERROR_DIE) {
+ $msg = $this->getMessage();
+ if (is_null($options) || is_int($options)) {
+ $format = "%s";
+ if (substr($msg, -1) != "\n") {
+ $msg .= "\n";
+ }
+ } else {
+ $format = $options;
+ }
+ die(sprintf($format, $msg));
+ }
+ if ($this->mode & PEAR_ERROR_CALLBACK) {
+ if (is_callable($this->callback)) {
+ call_user_func($this->callback, $this);
+ }
+ }
+ if ($this->mode & PEAR_ERROR_EXCEPTION) {
+ trigger_error("PEAR_ERROR_EXCEPTION is obsolete, use class PEAR_Exception for exceptions", E_USER_WARNING);
+ eval('$e = new Exception($this->message, $this->code);throw($e);');
+ }
+ }
+
+ // }}}
+ // {{{ getMode()
+
+ /**
+ * Get the error mode from an error object.
+ *
+ * @return int error mode
+ * @access public
+ */
+ function getMode() {
+ return $this->mode;
+ }
+
+ // }}}
+ // {{{ getCallback()
+
+ /**
+ * Get the callback function/method from an error object.
+ *
+ * @return mixed callback function or object/method array
+ * @access public
+ */
+ function getCallback() {
+ return $this->callback;
+ }
+
+ // }}}
+ // {{{ getMessage()
+
+
+ /**
+ * Get the error message from an error object.
+ *
+ * @return string full error message
+ * @access public
+ */
+ function getMessage()
+ {
+ return ($this->error_message_prefix . $this->message);
+ }
+
+
+ // }}}
+ // {{{ getCode()
+
+ /**
+ * Get error code from an error object
+ *
+ * @return int error code
+ * @access public
+ */
+ function getCode()
+ {
+ return $this->code;
+ }
+
+ // }}}
+ // {{{ getType()
+
+ /**
+ * Get the name of this error/exception.
+ *
+ * @return string error/exception name (type)
+ * @access public
+ */
+ function getType()
+ {
+ return get_class($this);
+ }
+
+ // }}}
+ // {{{ getUserInfo()
+
+ /**
+ * Get additional user-supplied information.
+ *
+ * @return string user-supplied information
+ * @access public
+ */
+ function getUserInfo()
+ {
+ return $this->userinfo;
+ }
+
+ // }}}
+ // {{{ getDebugInfo()
+
+ /**
+ * Get additional debug information supplied by the application.
+ *
+ * @return string debug information
+ * @access public
+ */
+ function getDebugInfo()
+ {
+ return $this->getUserInfo();
+ }
+
+ // }}}
+ // {{{ getBacktrace()
+
+ /**
+ * Get the call backtrace from where the error was generated.
+ * Supported with PHP 4.3.0 or newer.
+ *
+ * @param int $frame (optional) what frame to fetch
+ * @return array Backtrace, or NULL if not available.
+ * @access public
+ */
+ function getBacktrace($frame = null)
+ {
+ if (defined('PEAR_IGNORE_BACKTRACE')) {
+ return null;
+ }
+ if ($frame === null) {
+ return $this->backtrace;
+ }
+ return $this->backtrace[$frame];
+ }
+
+ // }}}
+ // {{{ addUserInfo()
+
+ function addUserInfo($info)
+ {
+ if (empty($this->userinfo)) {
+ $this->userinfo = $info;
+ } else {
+ $this->userinfo .= " ** $info";
+ }
+ }
+
+ // }}}
+ // {{{ toString()
+ function __toString()
+ {
+ return $this->getMessage();
+ }
+ // }}}
+ // {{{ toString()
+
+ /**
+ * Make a string representation of this object.
+ *
+ * @return string a string with an object summary
+ * @access public
+ */
+ function toString() {
+ $modes = array();
+ $levels = array(E_USER_NOTICE => 'notice',
+ E_USER_WARNING => 'warning',
+ E_USER_ERROR => 'error');
+ if ($this->mode & PEAR_ERROR_CALLBACK) {
+ if (is_array($this->callback)) {
+ $callback = (is_object($this->callback[0]) ?
+ strtolower(get_class($this->callback[0])) :
+ $this->callback[0]) . '::' .
+ $this->callback[1];
+ } else {
+ $callback = $this->callback;
+ }
+ return sprintf('[%s: message="%s" code=%d mode=callback '.
+ 'callback=%s prefix="%s" info="%s"]',
+ strtolower(get_class($this)), $this->message, $this->code,
+ $callback, $this->error_message_prefix,
+ $this->userinfo);
+ }
+ if ($this->mode & PEAR_ERROR_PRINT) {
+ $modes[] = 'print';
+ }
+ if ($this->mode & PEAR_ERROR_TRIGGER) {
+ $modes[] = 'trigger';
+ }
+ if ($this->mode & PEAR_ERROR_DIE) {
+ $modes[] = 'die';
+ }
+ if ($this->mode & PEAR_ERROR_RETURN) {
+ $modes[] = 'return';
+ }
+ return sprintf('[%s: message="%s" code=%d mode=%s level=%s '.
+ 'prefix="%s" info="%s"]',
+ strtolower(get_class($this)), $this->message, $this->code,
+ implode("|", $modes), $levels[$this->level],
+ $this->error_message_prefix,
+ $this->userinfo);
+ }
+
+ // }}}
+}
+
+/*
+ * Local Variables:
+ * mode: php
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */
+?>
Index: /CKEditor/tags/3.6.6/_dev/docs_build/docs_build.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/docs_build/docs_build.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/docs_build/docs_build.bat (revision 7691)
@@ -0,0 +1,17 @@
+@ECHO OFF
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+:: Builds the documentation files.
+::
+
+ECHO Building the API document into the api_docs directory...
+
+del /F /Q "api_docs/*.*"
+
+java -jar ../_thirdparty/jsdoc-toolkit/jsrun.jar ../_thirdparty/jsdoc-toolkit/app/run.js -c=docs_build.conf
+
+:: php ../fixlineends/fixlineends.php --eolstripwhite --eofnewline --eofstripwhite --nohidden --nosystem api_docs/
+
+ECHO Finished!
Index: /CKEditor/tags/3.6.6/_dev/docs_build/docs_build.conf
===================================================================
--- /CKEditor/tags/3.6.6/_dev/docs_build/docs_build.conf (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/docs_build/docs_build.conf (revision 7691)
@@ -0,0 +1,44 @@
+/*
+ This is an example of one way you could set up a configuration file to more
+ conveniently define some commandline options. You might like to do this if
+ you frequently reuse the same options. Note that you don't need to define
+ every option in this file, you can combine a configuration file with
+ additional options on the commandline if your wish.
+
+ You would include this configuration file by running JsDoc Toolkit like so:
+ java -jar jsrun.jar app/run.js -c=conf/sample.conf
+
+*/
+
+{
+ // Source files to parse.
+ _:
+ [
+ '../../_source/core/',
+ '../../_source/adapters/',
+ '../../_source/plugins/',
+ '../../_source/skins/kama/skin.js',
+ '../../_source/themes/default/theme.js'
+ ],
+
+ // Files to exclude.
+ E:
+ [
+ 'yui.js'
+ ],
+
+ // Document all functions, even uncommented ones.
+ a: true,
+
+ // Recursively, up to 100 directories depth.
+ r: 100,
+
+ // use this directory as the output directory
+ d: 'api_docs',
+
+ // Template.
+ t: 'template',
+
+ // Verbose mode.
+ v: true
+}
Index: /CKEditor/tags/3.6.6/_dev/docs_build/template/allclasses.tmpl
===================================================================
--- /CKEditor/tags/3.6.6/_dev/docs_build/template/allclasses.tmpl (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/docs_build/template/allclasses.tmpl (revision 7691)
@@ -0,0 +1,26 @@
+
+
+
Index: /CKEditor/tags/3.6.6/_dev/fixlineends/fixlineends.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/fixlineends/fixlineends.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/fixlineends/fixlineends.bat (revision 7691)
@@ -0,0 +1,7 @@
+@ECHO OFF
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+
+php fixlineends.php --excluderegex=/(?:_dev[\\\/]_thirdparty)/ --eolstripwhite --eofnewline --eofstripwhite --nohidden --nosystem --fixbom ../../
Index: /CKEditor/tags/3.6.6/_dev/fixlineends/fixlineends.php
===================================================================
--- /CKEditor/tags/3.6.6/_dev/fixlineends/fixlineends.php (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/fixlineends/fixlineends.php (revision 7691)
@@ -0,0 +1,646 @@
+#!/usr/bin/php -q
+regex=$regex;
+ }
+ public function accept()
+ {
+ return !preg_match($this->regex, $this->current());
+ }
+}
+
+/**
+ * Filter file list using regular expression
+ *
+ */
+class RegexFilter extends FilterIterator
+{
+ protected $regex;
+ public function __construct(Iterator $it, $regex)
+ {
+ parent::__construct($it);
+ $this->regex=$regex;
+ }
+ public function accept()
+ {
+ return preg_match($this->regex, $this->current());
+ }
+}
+
+/**
+ * Filter file list by depth
+ *
+ */
+class DepthFilter extends FilterIterator
+{
+ protected $depth;
+ public function __construct(Iterator $it, $depth)
+ {
+ parent::__construct($it);
+ $this->depth=$depth;
+ }
+ public function accept()
+ {
+ return $this->getInnerIterator()->getDepth()<$this->depth;
+ }
+}
+
+/**
+ * Fix new line characters in given file
+ * Returns true if file was changed
+ *
+ * @param string $path relative or absolute path name to file
+ * @param string $nl name of a constant that holds new line character (CRLF|CR|LF)
+ * @return bool
+ */
+function fixFile($path, $nl) {
+
+ $contents = file($path);
+ $size = filesize($path);
+ if ($contents === false) {
+ echo "\rERROR: couldn't read the " . $path . " file". "\n";
+ return false;
+ }
+
+ $modified = false;
+ $new_content = "";
+ $contents_len = sizeof($contents);
+
+ if ($GLOBALS['eofstripwhite']) {
+ $lines_processed=0;
+ //iterate through lines, from the end of file
+ for ($i=$contents_len-1; $i>=0; $i--) {
+ $old_line = $contents[$i];
+ $contents[$i] = rtrim($contents[$i]);
+ if ($old_line !== $contents[$i]) {
+ if (!$GLOBALS['eofnewline'] || $old_line !== $contents[$i] . constant($nl) || $lines_processed>0) {
+ $modified = true;
+ }
+ }
+
+ if (empty($contents[$i])) {
+ //we have an empty line at the end of file, just skip it
+ unset($contents[$contents_len--]);
+ }
+ else {
+ if ($GLOBALS['eofnewline']) {
+ $contents[$i] .= constant($nl);
+ if ($old_line !== $contents[$i]) {
+ $modified = true;
+ }
+ }
+ //we have found non-empty line, there is no need to go further
+ break;
+ }
+ $lines_processed++;
+ }
+ }
+
+ for ($i=0; $i<$contents_len; $i++) {
+ $is_last_line = ($i == $contents_len-1);
+ $line = $contents[$i];
+
+ switch ($nl)
+ {
+ case 'CRLF':
+ if (substr($line, -2) !== CRLF) {
+ if (substr($line, -1) === LF || substr($line, -1) === CR) {
+ $line = substr($line, 0, -1) . CRLF;
+ $modified = true;
+ }
+ elseif(strlen($line)) {
+ if (!$is_last_line) {
+ echo "\rERROR: wrong line ending: " . $path . "@line " . ($i+1) . "\n";
+ return false;
+ }
+ elseif(!$GLOBALS['eofstripwhite']) {
+ $line = $line . CRLF;
+ $modified = true;
+ }
+ }
+ }
+ break;
+
+ case 'CR':
+ if (substr($line, -1) !== CR) {
+ if (substr($line, -1) === LF) {
+ $line = substr($line, 0, -1) . CR;
+ $modified = true;
+ }
+ elseif(strlen($line)) {
+ if (!$is_last_line) {
+ echo "\rERROR: wrong line ending: " . $path . "@line " . ($i+1) . "\n";
+ return false;
+ }
+ elseif(!$GLOBALS['eofstripwhite']) {
+ $line = $line . CR;
+ $modified = true;
+ }
+ }
+ }
+ break;
+
+ case 'LF':
+ if (substr($line, -2) === CRLF) {
+ $line = substr($line, 0, -2) . LF;
+ $modified = true;
+ }
+ elseif (substr($line, -1) !== LF) {
+ if (substr($line, -1) === CR) {
+ $line = substr($line, 0, -1) . LF;
+ $modified = true;
+ }
+ elseif(strlen($line)) {
+ if (!$is_last_line) {
+ echo "\rERROR: wrong line ending: " . $path . "@line " . ($i+1) . "\n";
+ return false;
+ }
+ elseif(!$GLOBALS['eofstripwhite']) {
+ $line = $line . LF;
+ $modified = true;
+ }
+ }
+ }
+ break;
+ }
+ if ($GLOBALS['eolstripwhite']) {
+ $before = strlen($line);
+ $line = preg_replace("/(?:\x09|\x20)+((?:\r|\n)+)$/", "$1", $line);
+ if (strlen($line) != $before) {
+ $modified = true;
+ }
+ }
+ $new_content .= $line;
+ }
+
+ if ($GLOBALS['fixbom']) {
+ $before_fixing = $new_content;
+ $ext = strtolower(substr($path, strrpos($path, ".") + 1));
+ $new_content = stripUtf8Bom( $new_content );
+ if (!empty($GLOBALS['bom'][$ext])) {
+ $new_content = "\xEF\xBB\xBF" . $new_content; // BOM
+ }
+ if ($new_content != $before_fixing)
+ $modified = true;
+ }
+
+ if ($modified) {
+ $fp = fopen($path, "wb");
+ if (!$fp) {
+ echo "\rERROR: couldn't open the " . $path . " file". "\n";
+ return false;
+ }
+ else {
+ if (flock($fp, LOCK_EX)) {
+ fwrite($fp, $new_content);
+ flock($fp, LOCK_UN);
+ echo "\rMODIFIED to " . $nl . ": " . $path ;
+ if ($GLOBALS['eolstripwhite']) {
+ $saved = $size - strlen($new_content);
+ $GLOBALS['saved_bytes'] += $saved;
+ if ($saved>0) {
+ echo " (saved " . $saved . "B)";
+ }
+ else if ($saved<0) {
+ echo " (" . abs($saved) . "B added)";
+ }
+ }
+ echo "\n";
+ } else {
+ echo "\rERROR: couldn't lock the " . $path . " file". "\n";
+ return false;
+ }
+ fclose($fp);
+ }
+ }
+
+ return $modified;
+}
+
+/**
+ * Strip BOM from a string
+ * @param string $data
+ */
+function stripUtf8Bom( $data )
+{
+ if ( substr( $data, 0, 3 ) == "\xEF\xBB\xBF" )
+ return stripUtf8Bom(substr_replace( $data, '', 0, 3 )) ;
+
+ return $data ;
+}
+
+/**
+ * Fix ending lines in all files at given path
+ *
+ * @param string $path
+ */
+function fixPath($path)
+{
+ if (is_file($path)) {
+ $ext = strtolower(substr($path, strrpos($path, ".")));
+ foreach (array('CRLF', 'LF', 'CR') as $nl) {
+ //find out what's the correct line ending and fix file
+ //no need to process further
+ if (in_array($ext, $GLOBALS['extList'][$nl])) {
+ echo "Fixing single file:\n";
+ fixFile($path, $nl);
+ break;
+ }
+ }
+
+ }
+ else {
+ $dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), true);
+
+ if ($GLOBALS['maxdepth'] > -1) {
+ $dir = new DepthFilter($dir, $GLOBALS['maxdepth']+1);
+ }
+
+ $dir = new NegRegexFilter($dir, "/\/(\.svn|CVS)/");
+
+ if ($GLOBALS['excluderegex']) {
+ $dir = new NegRegexFilter($dir, $GLOBALS['excluderegex']);
+ }
+
+ foreach (array('CRLF', 'LF', 'CR') as $nl) {
+
+ $filtered_dir = new RegexFilter($dir, "/\.(".implode("|", $GLOBALS['extList'][$nl]).")$/i");
+
+ $extensions = array();
+ $j = 0;
+ $progressbar = "|/-\\";
+ foreach ($filtered_dir as $file) {
+ if (!is_dir($file)) {
+ $basename = basename($file);
+
+ //skip dot files
+ if ($GLOBALS['nodotfiles']) {
+ if (strpos($basename, ".") === 0) {
+ continue;
+ }
+ }
+
+ if ($GLOBALS['windows']) {
+ $attribs = trim(substr(shell_exec("attrib " . $file), 0, 5));
+ //skip archive files
+ if ($GLOBALS['noarchive'] && false !== strpos($attribs, "A")) {
+ print "\r ".$progressbar[$j++ % 4]. " ". str_pad(basename($file), 35, " ", STR_PAD_RIGHT)." SKIPPED";
+ continue;
+ }
+ //skip hidden files
+ if ($GLOBALS['nohidden'] && false !== strpos($attribs, "H")) {
+ print "\r ".$progressbar[$j++ % 4]. " ". str_pad(basename($file), 35, " ", STR_PAD_RIGHT)." SKIPPED";
+ continue;
+ }
+ //skip system files
+ if ($GLOBALS['nosystem'] && false !== strpos($attribs, "S")) {
+ print "\r ".$progressbar[$j++ % 4]. " ". str_pad(basename($file), 35, " ", STR_PAD_RIGHT)." SKIPPED";
+ continue;
+ }
+ }
+
+ fixFile($file, $nl);
+ print "\r ".$progressbar[$j++ % 4]. " ". str_pad(basename($file), 35, " ", STR_PAD_RIGHT);
+ }
+ }
+ }
+ }
+}
+
+function printHelp() {
+ $help = << $nl) {
+ $extRegex = preg_quote($ext);
+ switch ($nl) {
+ case CRLF:
+ $extList['CRLF'][] = $extRegex;
+ break;
+ case LF:
+ $extList['LF'][] = $extRegex;
+ break;
+ case CR:
+ $extList['CR'][] = $extRegex;
+ break;
+ default:
+ die("Unknown line ending");
+ break;
+ }
+}
+
+if ($_SERVER['argc']>1) {
+ include "../_thirdparty/console_getopt/Getopt.php";
+
+ if ($windows) {
+ $longoptions = array("eofstripwhite", "eofnewline", "eolstripwhite", "help", "noarchive", "nohidden", "nosystem", "nodotfiles", "maxdepth=", "excluderegex=", "fixbom");
+ }
+ else {
+ $longoptions = array("eofstripwhite", "eofnewline", "eolstripwhite", "help", "nodotfiles", "maxdepth=", "excluderegex=", "fixbom");
+ }
+
+ $con = new Console_Getopt;
+ $args = $con->readPHPArgv();
+ $options = $con->getopt($args, null, $longoptions);
+
+ if (PEAR::isError($options)) {
+ die($options->getMessage());
+ }
+
+ $paths = translateCommandArgs($options);
+ foreach ($paths as $path) {
+ fixPath($path);
+ }
+}
+else {
+ printHelp();
+ die();
+}
+
+print "\rDone!".str_repeat(" ",40)."\n";
+if ($saved_bytes>0) {
+ echo "saved " . $saved_bytes . "B";
+}
+else if ($saved_bytes<0) {
+ echo abs($saved_bytes) . "B added";
+}
Index: /CKEditor/tags/3.6.6/_dev/jslint/lint.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/jslint/lint.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/jslint/lint.bat (revision 7691)
@@ -0,0 +1,28 @@
+@ECHO OFF
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+::�Calls the JavaScript Lint (jsl) with the predefined configurations.
+:: If a file name is passed as a parameter it writes there the results,
+:: otherwise it simply outputs it.
+::
+
+IF "%1"=="" GOTO NoParam
+
+ECHO Generating %1...
+bin\jsl -conf lint.conf -nofilelisting -nologo > %1
+
+ECHO.
+ECHO Process completed.
+ECHO.
+
+GOTO End
+
+:NoParam
+
+"../_thirdparty/jsl/jsl.exe" -conf lint.conf -nofilelisting -nologo
+
+ECHO.
+
+:End
Index: /CKEditor/tags/3.6.6/_dev/jslint/lint.conf
===================================================================
--- /CKEditor/tags/3.6.6/_dev/jslint/lint.conf (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/jslint/lint.conf (revision 7691)
@@ -0,0 +1,149 @@
+#
+# Configuration File for JavaScript Lint 0.3.0
+# Developed by Matthias Miller (http://www.JavaScriptLint.com)
+#
+# This configuration file can be used to lint a collection of scripts, or to enable
+# or disable warnings for scripts that are linted via the command line.
+#
+
+### Warnings
+# Enable or disable warnings based on requirements.
+# Use "+WarningName" to display or "-WarningName" to suppress.
+#
++no_return_value # function {0} does not always return a value
++duplicate_formal # duplicate formal argument {0}
++equal_as_assign # test for equality (==) mistyped as assignment (=)?{0}
++var_hides_arg # variable {0} hides argument
++redeclared_var # redeclaration of {0} {1}
++anon_no_return_value # anonymous function does not always return a value
++missing_semicolon # missing semicolon
++meaningless_block # meaningless block; curly braces have no impact
+-comma_separated_stmts # multiple statements separated by commas (use semicolons?)
++unreachable_code # unreachable code
++missing_break # missing break statement
+-missing_break_for_last_case # missing break statement for last case in switch
++comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==)
+-inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement
++useless_void # use of the void type may be unnecessary (void is always undefined)
++multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs
++use_of_label # use of label
+-block_without_braces # block statement without curly braces
++leading_decimal_point # leading decimal point may indicate a number or an object member
++trailing_decimal_point # trailing decimal point may indicate a number or an object member
++octal_number # leading zeros make an octal number
++nested_comment # nested comment
++misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma
+-ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement
++empty_statement # empty statement or extra semicolon
+-missing_option_explicit # the "option explicit" control comment is missing
++partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag
++dup_option_explicit # duplicate "option explicit" control comment
++useless_assign # useless assignment
++ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity
++ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent)
+-missing_default_case # missing default case in switch statement
++duplicate_case_in_switch # duplicate case in switch statements
++default_not_at_end # the default case is not at the end of the switch statement
+-legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax
++jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax
++useless_comparison # useless comparison; comparing identical expressions
++with_statement # with statement hides undeclared variables; use temporary variable instead
++trailing_comma_in_array # extra comma is not recommended in array initializers
++assign_to_function_call # assignment to a function call
++parseint_missing_radix # parseInt missing radix parameter
+
+### Output format
+# Customize the format of the error message.
+# __FILE__ indicates current file path
+# __FILENAME__ indicates current file name
+# __LINE__ indicates current line
+# __ERROR__ indicates error message
+#
+# Visual Studio syntax (default):
++output-format __FILE__(__LINE__): __ERROR__
+# Alternative syntax:
+#+output-format __FILE__:__LINE__: __ERROR__
+
+
+### Context
+# Show the in-line position of the error.
+# Use "+context" to display or "-context" to suppress.
+#
++context
+
+
+### Semicolons
+# By default, assignments of an anonymous function to a variable or
+# property (such as a function prototype) must be followed by a semicolon.
+#
++lambda_assign_requires_semicolon
+
+
+### Control Comments
+# Both JavaScript Lint and the JScript interpreter confuse each other with the syntax for
+# the /*@keyword@*/ control comments and JScript conditional comments. (The latter is
+# enabled in JScript with @cc_on@). The /*jsl:keyword*/ syntax is preferred for this reason,
+# although legacy control comments are enabled by default for backward compatibility.
+#
++legacy_control_comments
+
+
+### JScript Function Extensions
+# JScript allows member functions to be defined like this:
+# function MyObj() { /*constructor*/ }
+# function MyObj.prototype.go() { /*member function*/ }
+#
+# It also allows events to be attached like this:
+# function window::onload() { /*init page*/ }
+#
+# This is a Microsoft-only JavaScript extension. Enable this setting to allow them.
+#
+-jscript_function_extensions
+
+
+### Defining identifiers
+# By default, "option explicit" is enabled on a per-file basis.
+# To enable this for all files, use "+always_use_option_explicit"
++always_use_option_explicit
+
+# Define certain identifiers of which the lint is not aware.
+# (Use this in conjunction with the "undeclared identifier" warning.)
+#
+# Common uses for webpages might be:
++define window
++define document
++define location
++define navigator
++define setTimeout
++define clearTimeout
++define ActiveXObject
++define XMLHttpRequest
++define DOMParser
++define XMLSerializer
++define console
++define CKEDITOR
++define alert
++define confirm
++define frames
+
+### Interactive
+# Prompt for a keystroke before exiting.
+#+pauseatend
+
+
+### Files
+# Specify which files to lint
+# Use "+recurse" to enable recursion (disabled by default).
+# To add a set of files, use "+process FileName", "+process Folder\Path\*.js",
+# or "+process Folder\Path\*.htm".
+#
+#+process jsl-test.js
++recurse
+
++process ../../_source/*.js
++process ../../_source/*.html
++process ../../_samples/*.js
++process ../../_samples/*.html
++process ../../ckeditor_source.js
++process ../../ckeditor_basic_source.js
++process ../../config.js
Index: /CKEditor/tags/3.6.6/_dev/jslint/lint.sh
===================================================================
--- /CKEditor/tags/3.6.6/_dev/jslint/lint.sh (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/jslint/lint.sh (revision 7691)
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+#
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+#
+# Calls the JavaScript Lint (jsl) with the predefined configurations.
+# If a file name is passed as a parameter it writes there the results,
+# otherwise it simply outputs it.
+#
+
+if [ -L $0 ] ; then
+ DIR=$(dirname $(readlink -f $0)) ;
+else
+ DIR=$(dirname $0) ;
+fi ;
+
+pushd $DIR
+if [ "$1" = "" ]
+then
+ ../_thirdparty/jsl/jsl -conf lint.conf -nofilelisting -nologo
+else
+ echo Generating $1 ...
+ ../_thirdparty/jsl/jsl -conf lint.conf -nofilelisting -nologo > $1
+ echo
+ echo Process completed.
+fi
+popd
Index: /CKEditor/tags/3.6.6/_dev/langtool/config
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/config (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/config (revision 7691)
@@ -0,0 +1,3 @@
+# CKLangTool config
+# Define here "lang_map" mappings between CKEditor language codes and Transifex
+lang_map = en_CA:en-ca,en_AU:en-au,fr_CA:fr-ca,pt_BR:pt-br,sr@latin:sr-latn,zh_CN:zh-cn,zh_HK:zh-hk,zh_TW:zh-tw
Index: /CKEditor/tags/3.6.6/_dev/langtool/langtool.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/langtool.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/langtool.bat (revision 7691)
@@ -0,0 +1,17 @@
+@ECHO OFF
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+::�Checks translation files in given directory.
+::
+
+CLS
+ECHO.
+
+SET PLUGINS=(a11yhelp devtools placeholder specialchar uicolor)
+
+java -jar langtool/langtool.jar update ../../_source/lang
+for %%P in %PLUGINS% do (
+java -jar langtool/langtool.jar update ../../_source/plugins/%%P/lang
+)
Index: /CKEditor/tags/3.6.6/_dev/langtool/langtool.sh
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/langtool.sh (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/langtool.sh (revision 7691)
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+# Checks translation files in given directory.
+
+if [ -L $0 ] ; then
+ DIR=$(dirname $(readlink -f $0)) ;
+else
+ DIR=$(dirname $0) ;
+fi ;
+
+pushd $DIR
+java -jar langtool/langtool.jar update ../../_source/lang
+popd
Index: /CKEditor/tags/3.6.6/_dev/langtool/langtool_export_po.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/langtool_export_po.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/langtool_export_po.bat (revision 7691)
@@ -0,0 +1,35 @@
+@ECHO OFF
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+::�Generates .po translation files using JavaScript language files as source files.
+:: PO file can be used to update translations in CKEditor UI Translation Center:
+:: https://www.transifex.net/projects/p/ckeditor/
+::
+
+CLS
+ECHO.
+
+SET PLUGINS=(a11yhelp devtools placeholder specialchar uicolor)
+SET TARGETDIR=po
+
+:: Cleanup target folder
+IF NOT EXIST %TARGETDIR% GOTO :start
+SET /P ANSWER=The target directory ("%TARGETDIR%") already exists. Do you want to delete it (y/n)?
+if /i {%ANSWER%}=={y} (goto :yes)
+if /i {%ANSWER%}=={yes} (goto :yes)
+echo Target directory already exists ("%TARGETDIR%"), nothing to do.
+exit /b 1
+:yes
+rmdir /S /Q %TARGETDIR%
+
+:start
+mkdir %TARGETDIR%
+:: Generate po file for core
+java -jar langtool/langtool.jar export -c=config -f=gettext -m=meta/ckeditor.core/meta.txt ../../_source/lang/ %TARGETDIR%/ckeditor.core/
+
+:: Generate po files for plugins
+for %%P in %PLUGINS% do (
+java -jar langtool/langtool.jar export -c=config -f=gettext -m=meta/ckeditor.plugin-%%P/meta.txt ../../_source/plugins/%%P/lang/ %TARGETDIR%/ckeditor.plugin-%%P/
+)
Index: /CKEditor/tags/3.6.6/_dev/langtool/langtool_update_meta.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/langtool_update_meta.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/langtool_update_meta.bat (revision 7691)
@@ -0,0 +1,23 @@
+@ECHO OFF
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+::�Updates meta files, adding new empty entries for new strings.
+:: "Meta" files contain descriptions for translators to help in understanding where each string is used.
+::
+
+CLS
+ECHO.
+
+SET PLUGINS=(a11yhelp devtools placeholder specialchar uicolor)
+SET TARGETDIR=meta
+
+mkdir %TARGETDIR%
+:: Update meta file for core
+java -jar langtool/langtool.jar update -c=config -f=meta -m=meta/ckeditor.core/meta.txt ../../_source/lang/ %TARGETDIR%/ckeditor.core/
+
+:: Update meta files for plugins
+for %%P in %PLUGINS% do (
+java -jar langtool/langtool.jar update -c=config -f=meta -m=meta/ckeditor.plugin-%%P/meta.txt ../../_source/plugins/%%P/lang/ %TARGETDIR%/ckeditor.plugin-%%P/
+)
Index: /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.core/meta.txt
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.core/meta.txt (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.core/meta.txt (revision 7691)
@@ -0,0 +1,579 @@
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+dir = The language reading direction. Possible values are "rtl" for Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right languages (like English).
+editorTitle = Editor description for screenreader users with information on how to get help.
+toolbars = ARIA description for editor toolbars.
+editor = ARIA description for the editor.
+source = Toolbar button tooltip for the Source feature.
+newPage = Toolbar button tooltip for the New Page feature.
+save = Toolbar button tooltip for the Save feature.
+preview = Toolbar button tooltip for the Preview feature.
+cut = Toolbar button tooltip for the Cut feature.
+copy = Toolbar button tooltip for the Copy feature.
+paste = Toolbar button tooltip for the Paste feature.
+print = Toolbar button tooltip for the Print feature.
+underline = Toolbar button tooltip for the Underline feature.
+bold = Toolbar button tooltip for the Bold feature.
+italic = Toolbar button tooltip for the Italics feature.
+selectAll = Toolbar button tooltip for the Select All feature.
+removeFormat = Toolbar button tooltip for the Remove Format feature.
+strike = Toolbar button tooltip for the Strike feature.
+subscript = Toolbar button tooltip for the Subscript feature.
+superscript = Toolbar button tooltip for the Superscript feature.
+horizontalrule = Toolbar button tooltip for the Horizontal Rule feature.
+pagebreak = Toolbar button tooltip for the PageBreak feature.
+pagebreakAlt = Toolbar button tooltip for the PageBreak feature.
+unlink = Toolbar button tooltip for the Unlink feature.
+undo = Toolbar button tooltip for the Undo feature.
+redo = Toolbar button tooltip for the Redo feature.
+common.browseServer = Button label for the file browser.
+common.url = Label for the URL field of a dialog window.
+common.protocol = Label for the Protocol field of the Link dialog window.
+common.upload = Label for the Upload field of the Link dialog window.
+common.uploadSubmit = Label for the button that uploads the file to the server.
+common.image = Toolbar button tooltip for the Image feature.
+common.flash = Toolbar button tooltip for the Flash feature.
+common.form = Toolbar button tooltip for the Form feature.
+common.checkbox = Toolbar button tooltip for the Checkbox feature.
+common.radio = Toolbar button tooltip for the Radio Button feature.
+common.textField = Toolbar button tooltip for the Text Field feature.
+common.textarea = Toolbar button tooltip for the Textarea feature.
+common.hiddenField = Toolbar button tooltip for the Hidden Field feature.
+common.button = Toolbar button tooltip for the Button feature.
+common.select = Toolbar button tooltip for the Selection Field feature.
+common.imageButton = Toolbar button tooltip for the Image Button feature.
+common.notSet = Label displayed when a particular dialog window field does not have any value set.
+common.id = Label for the ID field of a dialog window.
+common.name = Label for the Name field of a dialog window.
+common.langDir = Label for the Language Direction field of a dialog window.
+common.langDirLtr = Left to Right (LTR) language direction option text.
+common.langDirRtl = Right to Left (RTL) language direction option text.
+common.langCode = Label for the Language Code field of a dialog window.
+common.longDescr = Label for the Long Description URL field of a dialog window.
+common.cssClass = Label for the Stylesheet Classes field of a dialog window.
+common.advisoryTitle = Label for the Advisory Title field of a dialog window.
+common.cssStyle = Label for the Style field of a dialog window.
+common.ok = Label for the OK button of a dialog window.
+common.cancel = Label for the Cancel button of a dialog window.
+common.close = Tooltip for the Close icon of a dialog window.
+common.preview = Label for the Preview field of a dialog window.
+common.generalTab = Label for the General tab of a dialog window.
+common.advancedTab = Label for the Advanced tab of a dialog window.
+common.validateNumberFailed = Error message displayed when a non-numeric value is entered in a field that only accepts numbers.
+common.confirmNewPage = Error message displayed when a user attempts to load a new page without saving previously entered content.
+common.confirmCancel = Error message displayed when a user attempts to close a dialog window without accepting the changes.
+common.options = Label for the Options menu item.
+common.target = Label for the Target field of a dialog window.
+common.targetNew = New Window (_blank) target option text.
+common.targetTop = Topmost Window (_top) target option text.
+common.targetSelf = Same Window (_self) target option text.
+common.targetParent = Parent Window (_parent) target option text.
+common.langDirLTR = Left to Right (LTR) language direction option text.
+common.langDirRTL = Right to Left (RTL) language direction option text.
+common.styles = Label for the Style field of a dialog window.
+common.cssClasses = Label for the Stylesheet Classes field of a dialog window.
+common.width = Label for the Width field of a dialog window.
+common.height = Label for the Height field of a dialog window.
+common.align = Label for the Alignment field of a dialog window.
+common.alignLeft = Left alignment option text.
+common.alignRight = Right alignment option text.
+common.alignCenter = Center alignment option text.
+common.alignTop = Top alignment option text.
+common.alignMiddle = Middle alignment option text.
+common.alignBottom = Bottom alignment option text.
+common.invalidHeight = Error message displayed to the user when the specified height value is invalid.
+common.invalidWidth = Error message displayed to the user when the specified width value is invalid.
+common.invalidCssLength = Error message displayed to the user when the specified length value is not a valid CSS measurement unit.
+common.invalidHtmlLength = Error message displayed to the user when the specified length value is not a valid HTML measurement unit.
+common.invalidInlineStyle = Error message displayed to the user when the specified style value is not a valid CSS declaration.
+common.cssLengthTooltip = Tooltip displayed for the Width and Height fields in the Table Properties dialog window explaining the correct format of these length values.
+common.unavailable =
+contextmenu.options = WAI-ARIA label for the context menu entries.
+specialChar.toolbar = Toolbar button tooltip for the Special Character feature.
+specialChar.title = Label for the Special Character dialog window.
+specialChar.options = Voice label for the Special Character Options feature.
+link.toolbar = Toolbar button tooltip for the Link feature.
+link.other = Other protocol option text.
+link.menu = Context menu entry text for link editing.
+link.title = Label for the Link dialog window.
+link.info = Label for the Link Info tab of the Link dialog window.
+link.target = Label for the Target tab of the Link dialog window.
+link.upload = Label for the Upload tab of the Link dialog window.
+link.advanced = Label for the Advanced tab of the Link dialog window.
+link.type = Label for the Link Type field of the Link dialog window.
+link.toUrl = URL link type option text.
+link.toAnchor = Anchor link type option text.
+link.toEmail = E-mail link type option text.
+link.targetFrame = Frame target type option text.
+link.targetPopup = Pop-up target type option text.
+link.targetFrameName = Label for the Target Frame Name field of the Target tab (Link dialog window).
+link.targetPopupName = Label for the Popup Window Name field of the Target tab (Link dialog window).
+link.popupFeatures = Label for the Popup Window Features fieldset of the Target tab (Link dialog window).
+link.popupResizable = Label for the Resizable pop-up window option.
+link.popupStatusBar = Label for the Status Bar pop-up window option.
+link.popupLocationBar = Label for the Location Bar pop-up window option.
+link.popupToolbar = Label for the Toolbar pop-up window option.
+link.popupMenuBar = Label for the Menu Bar pop-up window option.
+link.popupFullScreen = Label for the Full Screen (IE) pop-up window option.
+link.popupScrollBars = Label for the Scroll Bars pop-up window option.
+link.popupDependent = Label for the Dependent (Netscape) pop-up window option.
+link.popupLeft = Label for the Left Position pop-up window option.
+link.popupTop = Label for the Top Position pop-up window option.
+link.id = Label for the ID field of the Link dialog window.
+link.langDir = Label for the Language Direction field of the Link dialog window.
+link.langDirLTR = Left to Right (LTR) language direction option text for the Link dialog window.
+link.langDirRTL = Right to Left (RTL) language direction option text for the Link dialog window.
+link.acccessKey = Label for the Access Key field of the Link dialog window.
+link.name = Label for the Name field of the Link dialog window.
+link.langCode = Label for the Language Code field of the Link dialog window.
+link.tabIndex = Label for the Tab Index field of the Link dialog window.
+link.advisoryTitle = Label for the Advisory Title field of the Link dialog window.
+link.advisoryContentType = Label for the Advisory Content Type field of the Link dialog window.
+link.cssClasses = Label for the Stylesheet Classes field of the Link dialog window.
+link.charset = Label for the Linked Resource Charset field of the Link dialog window.
+link.styles = Label for the Style field of the Link dialog window.
+link.rel = Label for the Relationship field of the Link dialog window.
+link.selectAnchor = Label for the Select Anchor fieldset of the Link Info tab (Link dialog window).
+link.anchorName = Label for the By Anchor Name field for selecting an anchor in the Link dialog window.
+link.anchorId = Label for the By Element Id field for selecting an anchor in the Link dialog window.
+link.emailAddress = Label for the E-Mail Address field of the Link dialog window for e-mail link type.
+link.emailSubject = Label for the Message Subject field of the Link dialog window for e-mail link type.
+link.emailBody = Label for the Message Body field of the Link dialog window for e-mail link type.
+link.noAnchors = Error message displayed for anchor link type when no anchor is defined in the document.
+link.noUrl = Error message displayed when a user attempts to add a link without giving its URL.
+link.noEmail = Error message displayed when a user attempts to add an e-mail link without giving the e-mail address.
+anchor.toolbar = Toolbar button tooltip for the Anchor feature.
+anchor.menu = Label for the Edit Anchor feature displayed in the anchor context menu.
+anchor.title = Label for the Anchor Properties dialog window.
+anchor.name = Label for the Anchor Name field of the Anchor Properties dialog window.
+anchor.errorName = Error message displayed when a user attempts to add an anchor without giving its name.
+anchor.remove = Label for the Remove Anchor feature displayed in the anchor context menu.
+list.numberedTitle = Label for the Numbered List Properties dialog window.
+list.bulletedTitle = Label for the Bulleted List Properties dialog window.
+list.type = Label for the Type field of the Numbered and Bulleted List Properties dialog windows.
+list.start = Label for the Start field of the Numbered and Bulleted List Properties dialog windows.
+list.validateStartNumber = Error message displayed when a numbered list does not start with a whole number.
+list.circle = Label for the Circle bulleted list type option.
+list.disc = Label for the Disc bulleted list type option.
+list.square = Label for the Square bulleted list type option.
+list.none =
+list.notset = Label for the list type option.
+list.armenian = Label for the Armenian numbering numbered list type option.
+list.georgian = Label for the Georgian numbering numbered list type option.
+list.lowerRoman = Label for the Lower Roman numbered list type option.
+list.upperRoman = Label for the Upper Roman numbered list type option.
+list.lowerAlpha = Label for the Lower Alpha numbered list type option.
+list.upperAlpha = Label for the Upper Alpha numbered list type option.
+list.lowerGreek = Label for the Lower Greek numbered list type option.
+list.decimal = Label for the Decimal numbering numbered list type option.
+list.decimalLeadingZero = Label for the Decimal leading zero numbered list type option.
+findAndReplace.title = Label for the Find and Replace dialog window.
+findAndReplace.find = Label for the Find tab and Find button of the Find and Replace dialog window.
+findAndReplace.replace = Label for the Replace tab and Replace button of the Find and Replace dialog window.
+findAndReplace.findWhat = Label for the Find what field of the Find and Replace dialog window.
+findAndReplace.replaceWith = Label for the Replace with field of the Find and Replace dialog window.
+findAndReplace.notFoundMsg = Error message displayed when the specified term was not found in the document.
+findAndReplace.findOptions = Label for the Find Options fieldset of the Find and Replace dialog window.
+findAndReplace.matchCase = Label for the Match Case field of the Find and Replace dialog window.
+findAndReplace.matchWord = Label for the Match whole word field of the Find and Replace dialog window.
+findAndReplace.matchCyclic = Label for the Match cyclic field of the Find and Replace dialog window.
+findAndReplace.replaceAll = Label for the Replace All button of the Find and Replace dialog window.
+findAndReplace.replaceSuccessMsg = A message stating how many occurrences of the searched term were replaced in the document.
+table.toolbar = Toolbar button tooltip for the Table feature.
+table.title = Label for the Table Properties dialog window.
+table.menu = Label for the Table Properties feature displayed in the table context menu.
+table.deleteTable = Label for the Delete Table feature displayed in the table context menu.
+table.rows = Label for the Rows field of the Table Properties dialog window.
+table.columns = Label for the Columns field of the Table Properties dialog window.
+table.border = Label for the Border Size field of the Table Properties dialog window.
+table.widthPx = Label for the pixels width unit option of the Cell Properties dialog window.
+table.widthPc = Label for the percent width unit option of the Cell Properties dialog window.
+table.widthUnit = Label for the width unit selection field of the Cell Properties dialog window.
+table.cellSpace = Label for the Cell spacing field of the Table Properties dialog window.
+table.cellPad = Label for the Cell padding field of the Table dialog window.
+table.caption = Label for the Caption field of the Table Properties dialog window.
+table.summary = Label for the Summary field of the Table Properties dialog window.
+table.headers = Label for the Headers field of the Table Properties dialog window.
+table.headersNone = Label for the None headers option of the Table Properties dialog window.
+table.headersColumn = Label for the First column headers option of the Table Properties dialog window.
+table.headersRow = Label for the First row headers option of the Table Properties dialog window.
+table.headersBoth = Label for the Both headers option of the Table Properties dialog window.
+table.invalidRows = Error message displayed when the number of rows given is not a number greater than zero.
+table.invalidCols = Error message displayed when the number of columns given is not a number greater than zero.
+table.invalidBorder = Error message displayed when the border size given is not a number.
+table.invalidWidth = Error message displayed when the table width given is not a number.
+table.invalidHeight = Error message displayed when the table height given is not a number.
+table.invalidCellSpacing = Error message displayed when the cell spacing given is not a positive number.
+table.invalidCellPadding = Error message displayed when the cell padding given is not a positive number.
+table.cell.menu = Label for the Cell context menu entry for a table cell.
+table.cell.insertBefore = Label for the Insert Cell Before context menu entry for a table cell.
+table.cell.insertAfter = Label for the Insert Cell After context menu entry for a table cell.
+table.cell.deleteCell = Label for the Delete Cell context menu entry for a table cell.
+table.cell.merge = Label for the Merge Cells context menu entry for a table cell.
+table.cell.mergeRight = Label for the Merge Right context menu entry for a table cell.
+table.cell.mergeDown = Label for the Merge Down context menu entry for a table cell.
+table.cell.splitHorizontal = Label for the Split Cell Horizontally context menu entry for a table cell.
+table.cell.splitVertical = Label for the Split Cell Vertically context menu entry for a table cell.
+table.cell.title = Label for the Cell Properties dialog window.
+table.cell.cellType = Label for the Cell Type field of the Cell Properties dialog window.
+table.cell.rowSpan = Label for the Rows Span field of the Cell Properties dialog window.
+table.cell.colSpan = Label for the Columns Span field of the Cell Properties dialog window.
+table.cell.wordWrap = Label for the Word Wrap field of the Cell Properties dialog window.
+table.cell.hAlign = Label for the Horizontal Align field of the Cell Properties dialog window.
+table.cell.vAlign = Label for the Vertical Align field of the Cell Properties dialog window.
+table.cell.alignBaseline = Label for the Baseline vertical alignment option of the Cell Properties dialog window.
+table.cell.bgColor = Label for the Background Color field of the Cell Properties dialog window.
+table.cell.borderColor = Label for the Border Color field of the Cell Properties dialog window.
+table.cell.data = Label for the Data cell type option of the Cell Properties dialog window.
+table.cell.header = Label for the Header cell type option of the Cell Properties dialog window.
+table.cell.yes = Label for the Yes word wrap option of the Cell Properties dialog window.
+table.cell.no = Label for the No word wrap option of the Cell Properties dialog window.
+table.cell.invalidWidth = Error message displayed when the cell width given is not a number.
+table.cell.invalidHeight = Error message displayed when the cell height given is not a number.
+table.cell.invalidRowSpan = Error message displayed when the row span given is not a whole number.
+table.cell.invalidColSpan = Error message displayed when the column span given is not a whole number.
+table.cell.chooseColor = Label for the Choose button for cell background and border color.
+table.row.menu = Label for the Row context menu entry for a table cell.
+table.row.insertBefore = Label for the Insert Row Before context menu entry for a table cell.
+table.row.insertAfter = Label for the Insert Row After context menu entry for a table cell.
+table.row.deleteRow = Label for the Delete Row context menu entry for a table cell.
+table.column.menu = Label for the Column context menu entry for a table cell.
+table.column.insertBefore = Label for the Insert Column Before context menu entry for a table cell.
+table.column.insertAfter = Label for the Insert Column After context menu entry for a table cell.
+table.column.deleteColumn = Label for the Delete Column context menu entry for a table cell.
+button.title = Label for the Button Properties dialog window.
+button.text = Label for the Text (Value) field of the Button Properties dialog window.
+button.type = Label for the Type field of the Button Properties dialog window.
+button.typeBtn = Label for the Button button type option of the Button Properties dialog window.
+button.typeSbm = Label for the Submit button type option of the Button Properties dialog window.
+button.typeRst = Label for the Reset button type option of the Button Properties dialog window.
+checkboxAndRadio.checkboxTitle = Label for the Checkbox Properties dialog window.
+checkboxAndRadio.radioTitle = Label for the Radio Button Properties dialog window.
+checkboxAndRadio.value = Label for the Value field of the Checkbox and Radio Button Properties dialog windows.
+checkboxAndRadio.selected = Label for the Selected field of the Checkbox and Radio Button Properties dialog windows.
+form.title = Label for the Form Properties dialog window.
+form.menu = Label for the Form Properties context menu entry for a form.
+form.action = Label for the Action field of the Form Properties dialog window.
+form.method = Label for the Method field of the Form Properties dialog window.
+form.encoding = Label for the Encoding field of the Form Properties dialog window.
+select.title = Label for the Selection Field Properties dialog window.
+select.selectInfo = Label for the Select Info tab of the Selection Field Properties dialog window.
+select.opAvail = Label for the Available Options section of the Selection Field Properties dialog window.
+select.value = Label for the Value field of the Selection Field Properties dialog window.
+select.size = Label for the Size field of the Selection Field Properties dialog window.
+select.lines = Size unit caption (lines) of the Selection Field Properties dialog window.
+select.chkMulti = Label for the Allow multiple selections field of the Selection Field Properties dialog window.
+select.opText = Label for the Text field of the Selection Field Properties dialog window.
+select.opValue = Label for the Value field of the Selection Field Properties dialog window.
+select.btnAdd = Label for the Add button of the Selection Field Properties dialog window.
+select.btnModify = Label for the Modify button of the Selection Field Properties dialog window.
+select.btnUp = Label for the Up button of the Selection Field Properties dialog window.
+select.btnDown = Label for the Down button of the Selection Field Properties dialog window.
+select.btnSetValue = Label for the Set as selected value button of the Selection Field Properties dialog window.
+select.btnDelete = Label for the Delete button of the Selection Field Properties dialog window.
+textarea.title = Label for the Textarea Properties dialog window.
+textarea.cols = Label for the Columns field of the Textarea Properties dialog window.
+textarea.rows = Label for the Rows field of the Textarea Properties dialog window.
+textfield.title = Label for the Text Field Properties dialog window.
+textfield.name = Label for the Name field of the Text Field Properties dialog window.
+textfield.value = Label for the Value field of the Text Field Properties dialog window.
+textfield.charWidth = Label for the Character Width field of the Text Field Properties dialog window.
+textfield.maxChars = Label for the Maximum Characters field of the Text Field Properties dialog window.
+textfield.type = Label for the Type field of the Text Field Properties dialog window.
+textfield.typeText = Label for the Text type of the Text Field Properties dialog window.
+textfield.typePass = Label for the Password type of the Text Field Properties dialog window.
+hidden.title = Label for the Hidden Field Properties dialog window.
+hidden.name = Label for the Name field of the Hidden Field Properties dialog window.
+hidden.value = Label for the Value field of the Hidden Field Properties dialog window.
+image.title = Label for the Image Properties dialog window.
+image.titleButton = Label for the Image Button Properties dialog window.
+image.menu = Label for the Image Properties context menu entry for an image.
+image.infoTab = Label for the Image Info tab of the Image Properties dialog window.
+image.btnUpload = Label for the button that uploads the file to the server.
+image.upload = Label for the Upload tab of the Image Properties dialog window.
+image.alt = Label for the Alternative Text field of the Image Properties dialog window.
+image.lockRatio = Tooltip for the Lock Ratio icon of the Image Properties dialog window.
+image.resetSize = Tooltip for the Reset Size icon of the Image Properties dialog window.
+image.border = Label for the Border field of the Image Properties dialog window.
+image.hSpace = Label for the HSpace field of the Image Properties dialog window.
+image.vSpace = Label for the VSpace field of the Image Properties dialog window.
+image.alertUrl =
+image.linkTab = Label for the Link tab of the Image Properties dialog window.
+image.button2Img = A message asking the user to confirm if one wants to transform an image button to a normal image.
+image.img2Button = A message asking the user to confirm if one wants to transform an image to an image button.
+image.urlMissing = Error message displayed when a user attempts to add an image without giving its URL.
+image.validateBorder = Error message informing the user that the image border value must be a whole number.
+image.validateHSpace = Error message informing the user that the HSpace value must be a whole number.
+image.validateVSpace = Error message informing the user that the VSpace value must be a whole number.
+flash.properties = Label for the Flash Properties context menu entry for a Flash object.
+flash.propertiesTab = Label for the Properties tab of the Flash Properties dialog window.
+flash.title = Label for the Flash Properties dialog window.
+flash.chkPlay = Label for the Auto Play field of the Flash Properties dialog window.
+flash.chkLoop = Label for the Loop field of the Flash Properties dialog window.
+flash.chkMenu = Label for the Enable Flash Menu field of the Flash Properties dialog window.
+flash.chkFull = Label for the Allow Fullscreen field of the Flash Properties dialog window.
+flash.scale = Label for the Scale field of the Flash Properties dialog window.
+flash.scaleAll = Label for the Show all scale option of the Flash Properties dialog window.
+flash.scaleNoBorder = Label for the No Border scale option of the Flash Properties dialog window.
+flash.scaleFit = Label for the Exact Fit scale option of the Flash Properties dialog window.
+flash.access = Label for the Script Access field of the Flash Properties dialog window.
+flash.accessAlways = Label for the Always script access option of the Flash Properties dialog window.
+flash.accessSameDomain = Label for the Same domain script access option of the Flash Properties dialog window.
+flash.accessNever = Label for the Never script access option of the Flash Properties dialog window.
+flash.alignAbsBottom = Label for the Abs Bottom alignment option of the Flash Properties dialog window.
+flash.alignAbsMiddle = Label for the Abs Middle alignment option of the Flash Properties dialog window.
+flash.alignBaseline = Label for the Baseline alignment option of the Flash Properties dialog window.
+flash.alignTextTop = Label for the Text Top alignment option of the Flash Properties dialog window.
+flash.quality = Label for the Quality field of the Flash Properties dialog window.
+flash.qualityBest = Label for the Best quality option of the Flash Properties dialog window.
+flash.qualityHigh = Label for the High quality option of the Flash Properties dialog window.
+flash.qualityAutoHigh = Label for the Auto High quality option of the Flash Properties dialog window.
+flash.qualityMedium = Label for the Medium quality option of the Flash Properties dialog window.
+flash.qualityAutoLow = Label for the Auto Low quality option of the Flash Properties dialog window.
+flash.qualityLow = Label for the Low quality option of the Flash Properties dialog window.
+flash.windowModeWindow = Label for the Window mode option of the Flash Properties dialog window.
+flash.windowModeOpaque = Label for the Opaque window mode option of the Flash Properties dialog window.
+flash.windowModeTransparent = Label for the Transparent window mode option of the Flash Properties dialog window.
+flash.windowMode = Label for the Window Mode field of the Flash Properties dialog window.
+flash.flashvars = Label for the Flash Variables fieldset of the Properties tab (Flash Properties dialog window).
+flash.bgcolor = Label for the Background Color field of the Flash Properties dialog window.
+flash.hSpace = Label for the HSpace field of the Flash Properties dialog window.
+flash.vSpace = Label for the VSpace field of the Flash Properties dialog window.
+flash.validateSrc = Error message displayed when a user attempts to add a Flash object without giving its URL.
+flash.validateHSpace = Error message informing the user that the HSpace value must be a number.
+flash.validateVSpace = Error message informing the user that the VSpace value must be a number.
+spellCheck.toolbar = Toolbar button tooltip for the Spell Check feature.
+spellCheck.title = Label for the Spell Check dialog window.
+spellCheck.notAvailable = Error message displayed when the spellchecker is not available.
+spellCheck.errorLoading = Error message displayed when the spellchecker application service host cannot be loaded.
+spellCheck.notInDic = Error message displayed when a word is not in dictionary.
+spellCheck.changeTo = Label for the Change To button of the Spell Check dialog window.
+spellCheck.btnIgnore = Label for the Ignore button of the Spell Check dialog window.
+spellCheck.btnIgnoreAll = Label for the Ignore All button of the Spell Check dialog window.
+spellCheck.btnReplace =
+spellCheck.btnReplaceAll =
+spellCheck.btnUndo =
+spellCheck.noSuggestions =
+spellCheck.progress =
+spellCheck.noMispell =
+spellCheck.noChanges =
+spellCheck.oneChange =
+spellCheck.manyChanges =
+spellCheck.ieSpellDownload =
+smiley.toolbar = Toolbar button tooltip for the Smiley feature.
+smiley.title = Label for the Smiley dialog window.
+smiley.options = Voice label for the Smiley Options feature.
+elementsPath.eleLabel = Voice label for the Elements Path feature.
+elementsPath.eleTitle = Tooltip displaying the element name on the Element Path bar.
+numberedlist = Toolbar button tooltip for the Insert/Remove Numbered List feature.
+bulletedlist = Toolbar button tooltip for the Insert/Remove Bulleted List feature.
+indent = Toolbar button tooltip for the Increase Indent feature.
+outdent = Toolbar button tooltip for the Decrease Indent feature.
+justify.left = Toolbar button tooltip for the Align Left feature.
+justify.center = Toolbar button tooltip for the Align Center feature.
+justify.right = Toolbar button tooltip for the Align Right feature.
+justify.block = Toolbar button tooltip for the Justify feature.
+blockquote = Toolbar button tooltip for the Blockquote feature.
+clipboard.title = Label for the Paste dialog window.
+clipboard.cutError = Error message displayed when the browser security settings are blocking the cutting operation.
+clipboard.copyError = Error message displayed when the browser security settings are blocking the copying operation.
+clipboard.pasteMsg = A help message urging the user to paste the text into the dialog window by using the keyboard.
+clipboard.securityMsg = Error message displayed when the browser security settings are blocking the pasting operation.
+clipboard.pasteArea = WAI-ARIA label for the paste area.
+pastefromword.confirmCleanup = A confirmation message displayed when the pasted text seems to be coming from Word and can be cleaned up.
+pastefromword.toolbar = Toolbar button tooltip for the Paste from Word feature.
+pastefromword.title = Label for the Paste from Word dialog window.
+pastefromword.error = Error message displayed when the pasted text cannot be cleaned up.
+pasteText.button = Toolbar button tooltip for the Paste as Plain Text feature.
+pasteText.title = Label for the Paste as Plain Text dialog window.
+templates.button = Toolbar button tooltip for the Templates feature.
+templates.title = Label for the Content Templates dialog window.
+templates.options = Voice label for the Template Options feature.
+templates.insertOption = Label for the Replace actual contents field of the Content Templates dialog window.
+templates.selectPromptMsg = Content Templates dialog window command description.
+templates.emptyListMsg = Error message displayed when the template list in the Content Templates dialog window is empty.
+showBlocks = Toolbar button tooltip for the Show Blocks feature.
+stylesCombo.label = Label for the Styles drop-down menu.
+stylesCombo.panelTitle = Toolbar drop-down menu tooltip and WAI-ARIA label for the Styles feature.
+stylesCombo.panelTitle1 = Label for the Block Styles group of the Styles drop-down menu.
+stylesCombo.panelTitle2 = Label for the Inline Styles group of the Styles drop-down menu.
+stylesCombo.panelTitle3 = Label for the Object Styles group of the Styles drop-down menu.
+format.label = Label for the Format drop-down menu.
+format.panelTitle = Toolbar drop-down menu tooltip and WAI-ARIA label for the Format feature.
+format.tag_p = Label for the human-readable description of the paragraph format.
+format.tag_pre = Label for the human-readable description of the preformatted text format.
+format.tag_address = Label for the human-readable description of the address format.
+format.tag_h1 = Label for the human-readable description of the heading level 1 format.
+format.tag_h2 = Label for the human-readable description of the heading level 2 format.
+format.tag_h3 = Label for the human-readable description of the heading level 3 format.
+format.tag_h4 = Label for the human-readable description of the heading level 4 format.
+format.tag_h5 = Label for the human-readable description of the heading level 5 format.
+format.tag_h6 = Label for the human-readable description of the heading level 6 format.
+format.tag_div = Label for the human-readable description of the div format.
+div.title = Label for the Div Container dialog window.
+div.toolbar = Toolbar button tooltip for the Div Container feature.
+div.cssClassInputLabel = Label for the Stylesheet Classes field of the Div Container dialog window.
+div.styleSelectLabel = Label for the Style field of the Div Container dialog window.
+div.IdInputLabel = Label for the Id field of the Div Container dialog window.
+div.languageCodeInputLabel = Label for the Language Code field of the Div Container dialog window.
+div.inlineStyleInputLabel =
+div.advisoryTitleInputLabel = Label for the Advisory Title field of the Div Container dialog window.
+div.langDirLabel = Label for the Language Direction field of the Div Container dialog window.
+div.langDirLTRLabel = Left to Right (LTR) language direction option text for the Div Container dialog window.
+div.langDirRTLLabel = Right to Left (RTL) language direction option text for the Div Container dialog window.
+div.edit = Context menu entry text for Div container editing.
+div.remove = Label for the Remove Div Container feature displayed in the Div container context menu.
+iframe.title = Label for the IFrame dialog window.
+iframe.toolbar = Toolbar button tooltip for the IFrame feature.
+iframe.noUrl = Error message displayed to the user if one attempts to close the IFrame dialog window without giving the iframe URL.
+iframe.scrolling = Label for the Enable scrollbars option of the IFrame dialog window.
+iframe.border = Label for the Show frame borders option of the IFrame dialog window.
+font.label = Label for the Font drop-down menu.
+font.voiceLabel =
+font.panelTitle = Toolbar drop-down menu tooltip and WAI-ARIA label for the Font feature.
+fontSize.label = Label for the Font Size drop-down menu.
+fontSize.voiceLabel =
+fontSize.panelTitle = Toolbar drop-down menu tooltip and WAI-ARIA label for the Font Size feature.
+colorButton.textColorTitle = Toolbar drop-down menu tooltip for the Text Color feature.
+colorButton.bgColorTitle = Toolbar drop-down menu tooltip for the Background Color feature.
+colorButton.panelTitle = WAI-ARIA label for the Colors drop-down menu.
+colorButton.auto = Label and tooltip for the Automatic color option.
+colorButton.more = Label and tooltip for the More colors option.
+colors.000 = Tooltip with a human-readable name for the #000 color.
+colors.800000 = Tooltip with a human-readable name for the #800000 color.
+colors.8B4513 = Tooltip with a human-readable name for the #8B4513 color.
+colors.2F4F4F = Tooltip with a human-readable name for the #2F4F4F color.
+colors.008080 = Tooltip with a human-readable name for the #008080 color.
+colors.000080 = Tooltip with a human-readable name for the #000080 color.
+colors.4B0082 = Tooltip with a human-readable name for the #4B0082 color.
+colors.696969 = Tooltip with a human-readable name for the #696969 color.
+colors.B22222 = Tooltip with a human-readable name for the #B22222 color.
+colors.A52A2A = Tooltip with a human-readable name for the #A52A2A color.
+colors.DAA520 = Tooltip with a human-readable name for the #DAA520 color.
+colors.006400 = Tooltip with a human-readable name for the #006400 color.
+colors.40E0D0 = Tooltip with a human-readable name for the #40E0D0 color.
+colors.0000CD = Tooltip with a human-readable name for the #0000CD color.
+colors.800080 = Tooltip with a human-readable name for the #800080 color.
+colors.808080 = Tooltip with a human-readable name for the #808080 color.
+colors.F00 = Tooltip with a human-readable name for the #F00 color.
+colors.FF8C00 = Tooltip with a human-readable name for the #FF8C00 color.
+colors.FFD700 = Tooltip with a human-readable name for the #FFD700 color.
+colors.008000 = Tooltip with a human-readable name for the #008000 color.
+colors.0FF = Tooltip with a human-readable name for the #0FF color.
+colors.00F = Tooltip with a human-readable name for the #00F color.
+colors.EE82EE = Tooltip with a human-readable name for the #EE82EE color.
+colors.A9A9A9 = Tooltip with a human-readable name for the #A9A9A9 color.
+colors.FFA07A = Tooltip with a human-readable name for the #FFA07A color.
+colors.FFA500 = Tooltip with a human-readable name for the #FFA500 color.
+colors.FFFF00 = Tooltip with a human-readable name for the #FFFF00 color.
+colors.00FF00 = Tooltip with a human-readable name for the #00FF00 color.
+colors.AFEEEE = Tooltip with a human-readable name for the #AFEEEE color.
+colors.ADD8E6 = Tooltip with a human-readable name for the #ADD8E6 color.
+colors.DDA0DD = Tooltip with a human-readable name for the #DDA0DD color.
+colors.D3D3D3 = Tooltip with a human-readable name for the #D3D3D3 color.
+colors.FFF0F5 = Tooltip with a human-readable name for the #FFF0F5 color.
+colors.FAEBD7 = Tooltip with a human-readable name for the #FAEBD7 color.
+colors.FFFFE0 = Tooltip with a human-readable name for the #FFFFE0 color.
+colors.F0FFF0 = Tooltip with a human-readable name for the #F0FFF0 color.
+colors.F0FFFF = Tooltip with a human-readable name for the #F0FFFF color.
+colors.F0F8FF = Tooltip with a human-readable name for the #F0F8FF color.
+colors.E6E6FA = Tooltip with a human-readable name for the #E6E6FA color.
+colors.FFF = Tooltip with a human-readable name for the #000 color.
+scayt.title = Label for the Spell Check As You Type (SCAYT) dialog window.
+scayt.opera_title = Toolbar drop-down menu tooltip for the SCAYT feature displayed to Opera users.
+scayt.enable = Label for the Enable SCAYT menu option for the SCAYT feature.
+scayt.disable = Label for the Disable SCAYT menu option for the SCAYT feature.
+scayt.about = Label for the About SCAYT menu option for the SCAYT feature.
+scayt.toggle =
+scayt.options =
+scayt.langs = Label for the Languages menu option for the SCAYT feature.
+scayt.moreSuggestions = Label for the More suggestions context menu option for the SCAYT feature.
+scayt.ignore = Label for the Ignore context menu option for the SCAYT feature.
+scayt.ignoreAll = Label for the Ignore All context menu option for the SCAYT feature.
+scayt.addWord = Label for the Add Word context menu option for the SCAYT feature.
+scayt.emptyDic = Error message displayed when the SCAYT dictionary name is empty.
+scayt.optionsTab = Label for the Options tab of the Spell Check As You Type dialog window.
+scayt.allCaps = Label for the Ignore All-Caps Words field of the Spell Check As You Type dialog window.
+scayt.ignoreDomainNames = Label for the Ignore Domain Names field of the Spell Check As You Type dialog window.
+scayt.mixedCase = Label for the Ignore Words with Mixed Case field of the Spell Check As You Type dialog window.
+scayt.mixedWithDigits = Label for the Ignore Words with Numbers field of the Spell Check As You Type dialog window.
+scayt.languagesTab = Label for the Languages tab of the Spell Check As You Type dialog window.
+scayt.dictionariesTab = Label for the Dictionaries tab of the Spell Check As You Type dialog window and the menu option for SCAYT.
+scayt.dic_field_name = Label for the Dictionary name field of the Spell Check As You Type dialog window.
+scayt.dic_create = Label for the Create button of the Spell Check As You Type dialog window.
+scayt.dic_restore = Label for the Restore button of the Spell Check As You Type dialog window.
+scayt.dic_delete = Label for the Delete button of the Spell Check As You Type dialog window.
+scayt.dic_rename = Label for the Rename button of the Spell Check As You Type dialog window.
+scayt.dic_info = Dictionary information text of the Spell Check As You Type dialog window.
+scayt.aboutTab = Label for the About tab of the Spell Check As You Type dialog window.
+about.title = Label for the About CKEditor dialog window.
+about.dlgTitle = Label for the About CKEditor dialog window displayed to Internet Explorer users.
+about.help = Information about where to find CKEditor documentation.
+about.userGuide = CKEditor User's Guide title.
+about.moreInfo = Caption for licensing information.
+about.copy = CKEditor copyright note.
+maximize = Toolbar button tooltip for the Maximize feature.
+minimize = Toolbar button tooltip for the Minimize feature.
+fakeobjects.anchor =
+fakeobjects.flash =
+fakeobjects.iframe =
+fakeobjects.hiddenfield =
+fakeobjects.unknown =
+resize = Toolbar button tooltip for the Resize feature that resizes the editor interface.
+colordialog.title = Label for the Colors dialog window.
+colordialog.options = Voice label for the Options entry of the Colors dialog window.
+colordialog.highlight = Label for the Highlight field of the Colors dialog window.
+colordialog.selected = Label for the Selected color field of the Colors dialog window.
+colordialog.clear = Label for the Clear button of the Colors dialog window.
+toolbarCollapse = Toolbar button tooltip for the Collapse Toolbar feature.
+toolbarExpand = Toolbar button tooltip for the Expand Toolbar feature.
+toolbarGroups.document = WAI-ARIA label for the Document toolbar buttons group.
+toolbarGroups.clipboard = WAI-ARIA label for the Clipboard/Undo toolbar buttons group.
+toolbarGroups.editing = WAI-ARIA label for the Editing toolbar buttons group.
+toolbarGroups.forms = WAI-ARIA label for the Forms toolbar buttons group.
+toolbarGroups.basicstyles = WAI-ARIA label for the Basic Styles toolbar buttons group.
+toolbarGroups.paragraph = WAI-ARIA label for the Paragraph toolbar buttons group.
+toolbarGroups.links = WAI-ARIA label for the Links toolbar buttons group.
+toolbarGroups.insert = WAI-ARIA label for the Insert toolbar buttons group.
+toolbarGroups.styles = WAI-ARIA label for the Styles toolbar buttons group.
+toolbarGroups.colors = WAI-ARIA label for the Colors toolbar buttons group.
+toolbarGroups.tools = WAI-ARIA label for the Tools toolbar buttons group.
+bidi.ltr = Toolbar button tooltip for the Text direction from left to right feature.
+bidi.rtl = Toolbar button tooltip for the Text direction from right to left feature.
+docprops.label = Toolbar button tooltip for the Document Properties feature.
+docprops.title = Label for the Document Properties plugin dialog window.
+docprops.design = Label for the Design tab of the Document Properties plugin dialog window.
+docprops.meta = Label for the Meta Tags tab of the Document Properties plugin dialog window.
+docprops.chooseColor = Label for the Choose button of the Document Properties plugin dialog window.
+docprops.other = Label for the Other doctype and charset options of the Document Properties plugin dialog window.
+docprops.docTitle = Label for the Page Title field of the Document Properties plugin dialog window.
+docprops.charset = Label for the Character Set Encoding field of the Document Properties plugin dialog window.
+docprops.charsetOther = Label for the Other Character Set Encoding field of the Document Properties plugin dialog window.
+docprops.charsetASCII = Label for the ASCII charset option of the Document Properties plugin dialog window.
+docprops.charsetCE = Label for the Central European charset option of the Document Properties plugin dialog window.
+docprops.charsetCT = Label for the Chinese Traditional (Big5) charset option of the Document Properties plugin dialog window.
+docprops.charsetCR = Label for the Cyrillic charset option of the Document Properties plugin dialog window.
+docprops.charsetGR = Label for the Greek charset option of the Document Properties plugin dialog window.
+docprops.charsetJP = Label for the Japanese charset option of the Document Properties plugin dialog window.
+docprops.charsetKR = Label for the Korean charset option of the Document Properties plugin dialog window.
+docprops.charsetTR = Label for the Turkish charset option of the Document Properties plugin dialog window.
+docprops.charsetUN = Label for the Unicode (UTF-8) charset option of the Document Properties plugin dialog window.
+docprops.charsetWE = Label for the Western European charset option of the Document Properties plugin dialog window.
+docprops.docType = Label for the Document Type Heading field of the Document Properties plugin dialog window.
+docprops.docTypeOther = Label for the Other Document Type Heading field of the Document Properties plugin dialog window.
+docprops.xhtmlDec = Label for the Include XHTML Declarations field of the Document Properties plugin dialog window.
+docprops.bgColor = Label for the Background Color field of the Document Properties plugin dialog window.
+docprops.bgImage = Label for the Background Image URL field of the Document Properties plugin dialog window.
+docprops.bgFixed = Label for the Non-scrolling (Fixed) Background field of the Document Properties plugin dialog window.
+docprops.txtColor = Label for the Text Color field of the Document Properties plugin dialog window.
+docprops.margin = Label for the Page Margins field of the Document Properties plugin dialog window.
+docprops.marginTop = Label for the Top margin option of the Document Properties plugin dialog window.
+docprops.marginLeft = Label for the Left margin option of the Document Properties plugin dialog window.
+docprops.marginRight = Label for the Right margin option of the Document Properties plugin dialog window.
+docprops.marginBottom = Label for the Bottom margin option of the Document Properties plugin dialog window.
+docprops.metaKeywords = Label for the Document Indexing Keywords (comma separated) field of the Document Properties plugin dialog window.
+docprops.metaDescription = Label for the Document Description field of the Document Properties plugin dialog window.
+docprops.metaAuthor = Label for the Author field of the Document Properties plugin dialog window.
+docprops.metaCopyright = Label for the Copyright field of the Document Properties plugin dialog window.
+docprops.previewHtml = HTML preview of the text displayed in the Preview tab of the Document Properties plugin dialog window.
Index: /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-a11yhelp/meta.txt
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-a11yhelp/meta.txt (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-a11yhelp/meta.txt (revision 7691)
@@ -0,0 +1,33 @@
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+accessibilityHelp.title =
+accessibilityHelp.contents =
+accessibilityHelp.legend.0.name =
+accessibilityHelp.legend.0.items.0.name =
+accessibilityHelp.legend.0.items.0.legend =
+accessibilityHelp.legend.0.items.1.name =
+accessibilityHelp.legend.0.items.1.legend =
+accessibilityHelp.legend.0.items.2.name =
+accessibilityHelp.legend.0.items.2.legend =
+accessibilityHelp.legend.0.items.3.name =
+accessibilityHelp.legend.0.items.3.legend =
+accessibilityHelp.legend.0.items.4.name =
+accessibilityHelp.legend.0.items.4.legend =
+accessibilityHelp.legend.1.name =
+accessibilityHelp.legend.1.items.0.name =
+accessibilityHelp.legend.1.items.0.legend =
+accessibilityHelp.legend.1.items.1.name =
+accessibilityHelp.legend.1.items.1.legend =
+accessibilityHelp.legend.1.items.2.name =
+accessibilityHelp.legend.1.items.2.legend =
+accessibilityHelp.legend.1.items.3.name =
+accessibilityHelp.legend.1.items.3.legend =
+accessibilityHelp.legend.1.items.4.name =
+accessibilityHelp.legend.1.items.4.legend =
+accessibilityHelp.legend.1.items.5.name =
+accessibilityHelp.legend.1.items.5.legend =
+accessibilityHelp.legend.1.items.6.name =
+accessibilityHelp.legend.1.items.6.legend =
+accessibilityHelp.legend.1.items.7.name =
+accessibilityHelp.legend.1.items.7.legend =
Index: /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-devtools/meta.txt
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-devtools/meta.txt (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-devtools/meta.txt (revision 7691)
@@ -0,0 +1,8 @@
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+devTools.title = Label for the Element Information tooltip displayed by the Developer Tools plugin.
+devTools.dialogName = Label for the Dialog window name field displayed by the Developer Tools plugin.
+devTools.tabName = Label for the Tab name field displayed by the Developer Tools plugin.
+devTools.elementId = Label for the Element ID field displayed by the Developer Tools plugin.
+devTools.elementType = Label for the Element type field displayed by the Developer Tools plugin.
Index: /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-placeholder/meta.txt
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-placeholder/meta.txt (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-placeholder/meta.txt (revision 7691)
@@ -0,0 +1,8 @@
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+placeholder.title = Label for the Placeholder Properties dialog window.
+placeholder.toolbar = Toolbar button tooltip for the Placeholder plugin.
+placeholder.text = Label for the Placeholder Text field of the Placeholder Properties dialog window.
+placeholder.edit = Label for the Edit Placeholder feature displayed in the placeholder context menu.
+placeholder.textMissing = Error message displayed when a user attempts to add a placeholder without filling its text.
Index: /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-specialchar/meta.txt
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-specialchar/meta.txt (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-specialchar/meta.txt (revision 7691)
@@ -0,0 +1,121 @@
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+euro = Tooltip for the Euro sign special character.
+lsquo = Tooltip for the left single quotation mark special character.
+rsquo = Tooltip for the right single quotation mark special character.
+ldquo = Tooltip for the left double quotation mark special character.
+rdquo = Tooltip for the right double quotation mark special character.
+ndash = Tooltip for the en dash special character.
+mdash = Tooltip for the em dash special character.
+iexcl = Tooltip for the inverted exclamation mark special character.
+cent = Tooltip for the cent sign special character.
+pound = Tooltip for the pound sign special character.
+curren = Tooltip for the currency sign special character.
+yen = Tooltip for the yen sign special character.
+brvbar = Tooltip for the broken bar special character.
+sect = Tooltip for the section sign special character.
+uml = Tooltip for the diaeresis special character.
+copy = Tooltip for the copyright sign special character.
+ordf = Tooltip for the feminine ordinal indicator special character.
+laquo = Tooltip for the left-pointing double angle quotation mark special character.
+not = Tooltip for the not sign special character.
+reg = Tooltip for the registered sign special character.
+macr = Tooltip for the macron special character.
+deg = Tooltip for the degree sign special character.
+sup2 = Tooltip for the superscript two special character.
+sup3 = Tooltip for the superscript three special character.
+acute = Tooltip for the acute accent special character.
+micro = Tooltip for the micro sign special character.
+para = Tooltip for the pilcrow sign special character.
+middot = Tooltip for the middle dot special character.
+cedil = Tooltip for the cedilla special character.
+sup1 = Tooltip for the superscript one special character.
+ordm = Tooltip for the masculine ordinal indicator special character.
+raquo = Tooltip for the right-pointing double angle quotation mark special character.
+frac14 = Tooltip for the vulgar fraction one quarter special character.
+frac12 = Tooltip for the vulgar fraction one half special character.
+frac34 = Tooltip for the vulgar fraction three quarters special character.
+iquest = Tooltip for the inverted question mark special character.
+Agrave = Tooltip for the Latin capital letter A with grave accent special character.
+Aacute = Tooltip for the Latin capital letter A with acute accent special character.
+Acirc = Tooltip for the Latin capital letter A with circumflex special character.
+Atilde = Tooltip for the Latin capital letter A with tilde special character.
+Auml = Tooltip for the Latin capital letter A with diaeresis special character.
+Aring = Tooltip for the Latin capital letter A with ring above special character.
+AElig = Tooltip for the Latin Capital letter Æ special character.
+Ccedil = Tooltip for the Latin capital letter C with cedilla special character.
+Egrave = Tooltip for the Latin capital letter E with grave accent special character.
+Eacute = Tooltip for the Latin capital letter E with acute accent special character.
+Ecirc = Tooltip for the Latin capital letter E with circumflex special character.
+Euml = Tooltip for the Latin capital letter E with diaeresis special character.
+Igrave = Tooltip for the Latin capital letter I with grave accent special character.
+Iacute = Tooltip for the Latin capital letter I with acute accent special character.
+Icirc = Tooltip for the Latin capital letter I with circumflex special character.
+Iuml = Tooltip for the Latin capital letter I with diaeresis special character.
+ETH = Tooltip for the Latin capital letter Eth special character.
+Ntilde = Tooltip for the Latin capital letter N with tilde special character.
+Ograve = Tooltip for the Latin capital letter O with grave accent special character.
+Oacute = Tooltip for the Latin capital letter O with acute accent special character.
+Ocirc = Tooltip for the Latin capital letter O with circumflex special character.
+Otilde = Tooltip for the Latin capital letter O with tilde special character.
+Ouml = Tooltip for the Latin capital letter O with diaeresis special character.
+times = Tooltip for the multiplication sign special character.
+Oslash = Tooltip for the Latin capital letter O with stroke special character.
+Ugrave = Tooltip for the Latin capital letter U with grave accent special character.
+Uacute = Tooltip for the Latin capital letter U with acute accent special character.
+Ucirc = Tooltip for the Latin capital letter U with circumflex special character.
+Uuml = Tooltip for the Latin capital letter U with diaeresis special character.
+Yacute = Tooltip for the Latin capital letter Y with acute accent special character.
+THORN = Tooltip for the Latin capital letter Thorn special character.
+szlig = Tooltip for the Latin small letter sharp s special character.
+agrave = Tooltip for the Latin small letter a with grave accent special character.
+aacute = Tooltip for the Latin small letter a with acute accent special character.
+acirc = Tooltip for the Latin small letter a with circumflex special character.
+atilde = Tooltip for the Latin small letter a with tilde special character.
+auml = Tooltip for the Latin small letter a with diaeresis special character.
+aring = Tooltip for the Latin small letter a with ring above special character.
+aelig = Tooltip for the Latin small letter æ special character.
+ccedil = Tooltip for the Latin small letter c with cedilla special character.
+egrave = Tooltip for the Latin small letter e with grave accent special character.
+eacute = Tooltip for the Latin small letter e with acute accent special character.
+ecirc = Tooltip for the Latin small letter e with circumflex special character.
+euml = Tooltip for the Latin small letter e with diaeresis special character.
+igrave = Tooltip for the Latin small letter i with grave accent special character.
+iacute = Tooltip for the Latin small letter i with acute accent special character.
+icirc = Tooltip for the Latin small letter i with circumflex special character.
+iuml = Tooltip for the Latin small letter i with diaeresis special character.
+eth = Tooltip for the Latin small letter eth special character.
+ntilde = Tooltip for the Latin small letter n with tilde special character.
+ograve = Tooltip for the Latin small letter o with grave accent special character.
+oacute = Tooltip for the Latin small letter o with acute accent special character.
+ocirc = Tooltip for the Latin small letter o with circumflex special character.
+otilde = Tooltip for the Latin small letter o with tilde special character.
+ouml = Tooltip for the Latin small letter o with diaeresis special character.
+divide = Tooltip for the division sign special character.
+oslash = Tooltip for the Latin small letter o with stroke special character.
+ugrave = Tooltip for the Latin small letter u with grave accent special character.
+uacute = Tooltip for the Latin small letter u with acute accent special character.
+ucirc = Tooltip for the Latin small letter u with circumflex special character.
+uuml = Tooltip for the Latin small letter u with diaeresis special character.
+yacute = Tooltip for the Latin small letter y with acute accent special character.
+thorn = Tooltip for the Latin small letter thorn special character.
+yuml = Tooltip for the Latin small letter y with diaeresis special character.
+OElig = Tooltip for the Latin capital ligature OE special character.
+oelig = Tooltip for the Latin small ligature oe special character.
+372 = Tooltip for the Latin capital letter W with circumflex special character.
+374 = Tooltip for the Latin capital letter Y with circumflex special character.
+373 = Tooltip for the Latin small letter w with circumflex special character.
+375 = Tooltip for the Latin small letter y with circumflex special character.
+sbquo = Tooltip for the single low-9 quotation mark special character.
+8219 = Tooltip for the single high-reversed-9 quotation mark special character.
+bdquo = Tooltip for the double low-9 quotation mark special character.
+hellip = Tooltip for the horizontal ellipsis special character.
+trade = Tooltip for the trade mark sign special character.
+9658 = Tooltip for the black right-pointing pointer special character.
+bull = Tooltip for the bullet special character.
+rarr = Tooltip for the rightwards arrow special character.
+rArr = Tooltip for the rightwards double arrow special character.
+hArr = Tooltip for the left right double arrow special character.
+diams = Tooltip for the black diamond suit special character.
+asymp = Tooltip for the almost equal to special character.
Index: /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-uicolor/meta.txt
===================================================================
--- /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-uicolor/meta.txt (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/langtool/meta/ckeditor.plugin-uicolor/meta.txt (revision 7691)
@@ -0,0 +1,7 @@
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+uicolor.title = The UI Color Picker toolbar button tooltip and dialog window title.
+uicolor.preview = Label for the Live Preview checkbox of the UI Color Picker dialog window.
+uicolor.config = Label for the text box containing the configuration code for the UI Color Picker dialog window.
+uicolor.predefined = Label for the Predefined color sets drop-down list of the UI Color Picker dialog window.
Index: /CKEditor/tags/3.6.6/_dev/packager/package.bat
===================================================================
--- /CKEditor/tags/3.6.6/_dev/packager/package.bat (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/packager/package.bat (revision 7691)
@@ -0,0 +1,9 @@
+::
+:: Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+:: For licensing, see LICENSE.html or http://ckeditor.com/license
+::
+
+@ECHO OFF
+CLS
+
+java -jar ckpackager/ckpackager.jar ../../ckeditor.pack -v
Index: /CKEditor/tags/3.6.6/_dev/packager/package.sh
===================================================================
--- /CKEditor/tags/3.6.6/_dev/packager/package.sh (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/packager/package.sh (revision 7691)
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.html or http://ckeditor.com/license
+
+if [ -L $0 ] ; then
+ DIR=$(dirname $(readlink -f $0)) ;
+else
+ DIR=$(dirname $0) ;
+fi ;
+
+pushd $DIR
+java -jar ckpackager/ckpackager.jar ../../ckeditor.pack
+popd
Index: /CKEditor/tags/3.6.6/_dev/packager/packagefilegen.html
===================================================================
--- /CKEditor/tags/3.6.6/_dev/packager/packagefilegen.html (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/packager/packagefilegen.html (revision 7691)
@@ -0,0 +1,122 @@
+
+
+
+
+ Package File Generator - CKEditor
+
+
+
+
+
+
Index: /CKEditor/tags/3.6.6/_dev/packager/packagefilegen_basic.html
===================================================================
--- /CKEditor/tags/3.6.6/_dev/packager/packagefilegen_basic.html (revision 7691)
+++ /CKEditor/tags/3.6.6/_dev/packager/packagefilegen_basic.html (revision 7691)
@@ -0,0 +1,101 @@
+
+
+
+
+ Package File Generator - CKEditor
+
+
+
+
+
+ CKEditor Sample — 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.
+ This sample shows how to use the
+ CKEditor Dialog API
+ to customize CKEditor dialog windows without changing the original editor code.
+ The following customizations are being done in the example below:
+
+
+
Adding dialog window tabs – "My Tab" in the "Link" dialog window.
+
Removing a dialog window tab – "Target" tab from the "Link" dialog window.
+
Adding dialog window fields – "My Custom Field" in the "Link" dialog window.
+
Removing dialog window fields – "Link Type" and "Browse Server" in the "Link"
+ dialog window.
+
Setting default values for dialog window fields – "URL" field in the
+ "Link" dialog window.
+
Creating a custom dialog window – "My Dialog" dialog window opened with the "My Dialog" toolbar button.
+
+
+For details on how to create this setup check the source code of this sample page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /CKEditor/tags/3.6.6/_samples/api_dialog/my_dialog.js
===================================================================
--- /CKEditor/tags/3.6.6/_samples/api_dialog/my_dialog.js (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/api_dialog/my_dialog.js (revision 7691)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+CKEDITOR.dialog.add( 'myDialog', function( editor )
+{
+ return {
+ title : 'My Dialog',
+ minWidth : 400,
+ minHeight : 200,
+ contents : [
+ {
+ id : 'tab1',
+ label : 'First Tab',
+ title : 'First Tab',
+ elements :
+ [
+ {
+ id : 'input1',
+ type : 'text',
+ label : 'Input 1'
+ }
+ ]
+ }
+ ]
+ };
+} );
Index: /CKEditor/tags/3.6.6/_samples/asp/advanced.asp
===================================================================
--- /CKEditor/tags/3.6.6/_samples/asp/advanced.asp (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/asp/advanced.asp (revision 7691)
@@ -0,0 +1,105 @@
+<%@ codepage="65001" language="VBScript" %>
+<% Option Explicit %>
+
+<%
+
+ ' You must set "Enable Parent Paths" on your web site
+ ' in order for the above relative include to work.
+ ' Or you can use #INCLUDE VIRTUAL="/full path/ckeditor.asp"
+
+%>
+
+
+
+
+ Sample - CKEditor
+
+
+
+
+
+ CKEditor Sample
+
+
+
+
+
+
+
+
+
+
Index: /CKEditor/tags/3.6.6/_samples/asp/events.asp
===================================================================
--- /CKEditor/tags/3.6.6/_samples/asp/events.asp (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/asp/events.asp (revision 7691)
@@ -0,0 +1,136 @@
+<%@ codepage="65001" language="VBScript" %>
+<% Option Explicit %>
+
+<%
+
+ ' You must set "Enable Parent Paths" on your web site
+ ' in order for the above relative include to work.
+ ' Or you can use #INCLUDE VIRTUAL="/full path/ckeditor.asp"
+
+%>
+
+
+
+
+ Sample - CKEditor
+
+
+
+
+
+ CKEditor Samples List for ASP — CKEditor Sample
+
+
+ Overview
+
+
The ckeditor.asp file provides a wrapper to ease the work of creating CKEditor instances from classic Asp.
+
To use it, you must first include it into your page:
+
+ <!-- #INCLUDE file="../../ckeditor.asp" -->
+
+ Of course, you should adjust the path to make it point to the correct location, and maybe use a full path (with virtual="" instead of file="")
+
+
After that script is included, you can use it in different ways, based on the following pattern:
+
+
+
+ Create an instance of the CKEditor class:
+
dim editor
+set editor = New CKEditor
+
+
+ Set the path to the folder where CKEditor has been installed, by default it will use /ckeditor/
+
editor.basePath = "../../"
+
+
+ Now use one of the three main methods to create the CKEditor instances:
+
+
+ Replace textarea with id (or name) "editor1".
+
editor.replaceInstance "editor1"
+
+
+ Replace all textareas with CKEditor.
+
editor.replaceAll empty
+
+
+ Create a textarea element and attach CKEditor to it.
+
editor.editor "editor1", initialValue
+
+
+
+
+
Before step 3 you can use a number of methods and properties to adjust the behavior of this class and the CKEditor instances
+that will be created:
+
+
returnOutput : if set to true, the functions won't dump the code with response.write, but instead they will return it so
+ you can do anything you want
+
basePath: location of the CKEditor scripts
+
initialized: if you set it to true, it means that you have already included the CKEditor.js file into the page and it
+ doesn't have to be generated again.
+
textareaAttributes: You can set here a Dictionary object with the attributes that you want to output in the call to the "editor" method.
+
+
config: Allows to set config values for all the instances from now on.
+
instanceConfig: Allows to set config values just for the next instance.
+
+
addEventHandler: Adds an event handler for all the instances from now on.
+
addInstanceEventHandler: Adds an event handler just for the next instance.
+
addGlobalEventHandler: Adds an event handler for the global CKEDITOR object.
+
+
clearEventHandlers: Removes one or all the event handlers from all the instances from now on.
+
clearInstanceEventHandlers: Removes one or all the event handlers from the next instance.
+
clearGlobalEventHandlers: Removes one or all the event handlers from the global CKEDITOR object.
+
+
+
Index: /CKEditor/tags/3.6.6/_samples/asp/replace.asp
===================================================================
--- /CKEditor/tags/3.6.6/_samples/asp/replace.asp (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/asp/replace.asp (revision 7691)
@@ -0,0 +1,72 @@
+<%@ codepage="65001" language="VBScript" %>
+<% Option Explicit %>
+
+<%
+
+ ' You must set "Enable Parent Paths" on your web site
+ ' in order for the above relative include to work.
+ ' Or you can use #INCLUDE VIRTUAL="/full path/ckeditor.asp"
+
+%>
+
+
+
+
+ Sample - CKEditor
+
+
+
+
+
+ CKEditor Sample
+
+
+
+
+
+
+
+
+ <%
+ ' Create class instance.
+ dim editor
+ set editor = New CKEditor
+ ' Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
+ ' editor.basePath = "/ckeditor/"
+ ' If not set, CKEditor will default to /ckeditor/
+ editor.basePath = "../../"
+ ' Replace textarea with id (or name) "editor1".
+ editor.replaceInstance "editor1"
+ %>
+
+
Index: /CKEditor/tags/3.6.6/_samples/asp/replaceall.asp
===================================================================
--- /CKEditor/tags/3.6.6/_samples/asp/replaceall.asp (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/asp/replaceall.asp (revision 7691)
@@ -0,0 +1,77 @@
+<%@ codepage="65001" language="VBScript" %>
+<% Option Explicit %>
+
+<%
+
+ ' You must set "Enable Parent Paths" on your web site
+ ' in order for the above relative include to work.
+ ' Or you can use #INCLUDE VIRTUAL="/full path/ckeditor.asp"
+
+%>
+
+
+
+
+ Sample - CKEditor
+
+
+
+
+
+ CKEditor Sample
+
+
+
+
+
+
+
+
+ <%
+ ' Create class instance.
+ dim editor
+ set editor = New CKEditor
+ ' Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
+ ' editor.basePath = "/ckeditor/"
+ ' If not set, CKEditor will default to /ckeditor/
+ editor.basePath = "../../"
+ ' Replace all textareas with CKEditor.
+ editor.replaceAll empty
+ %>
+
+
Index: /CKEditor/tags/3.6.6/_samples/asp/sample_posteddata.asp
===================================================================
--- /CKEditor/tags/3.6.6/_samples/asp/sample_posteddata.asp (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/asp/sample_posteddata.asp (revision 7691)
@@ -0,0 +1,46 @@
+<%@ codepage="65001" language="VBScript" %>
+<% Option Explicit %>
+
+
+
+
+ Sample - CKEditor
+
+
+
+
+
+ CKEditor - Posted Data
+
+
+
+
+
+
Field Name
+
Value
+
+
+ <%
+ Dim sForm
+ For Each sForm in Request.Form
+ %>
+
+
<%=Server.HTMLEncode( sForm )%>
+
<%=Server.HTMLEncode( Request.Form(sForm) )%>
+
+ <% Next %>
+
+
+
+
Index: /CKEditor/tags/3.6.6/_samples/asp/standalone.asp
===================================================================
--- /CKEditor/tags/3.6.6/_samples/asp/standalone.asp (revision 7691)
+++ /CKEditor/tags/3.6.6/_samples/asp/standalone.asp (revision 7691)
@@ -0,0 +1,72 @@
+<%@ codepage="65001" language="VBScript" %>
+<% Option Explicit %>
+
+<%
+
+ ' You must set "Enable Parent Paths" on your web site
+ ' in order for the above relative include to work.
+ ' Or you can use #INCLUDE VIRTUAL="/full path/ckeditor.asp"
+
+%>
+
+
+
+
+ Sample - CKEditor
+
+
+
+
+