diff --git a/TinyMCEPlugin/data/System/TinyMCEPlugin.txt b/TinyMCEPlugin/data/System/TinyMCEPlugin.txt index 2286e9aa33..d81de79cfc 100644 --- a/TinyMCEPlugin/data/System/TinyMCEPlugin.txt +++ b/TinyMCEPlugin/data/System/TinyMCEPlugin.txt @@ -149,6 +149,11 @@ Below is the default configuration. If it is to be modified, it should be copied then="%TINYMCEPLUGIN_AUTOSAVE_RETENTION%" else="%STARTSECTION{"AUTOSAVE_RETENTION"}%4320m%ENDSECTION{"AUTOSAVE_RETENTION"}%" }%", +"entity_encoding" : "%IF{ + "defined 'TINYMCEPLUGIN_ENTITY_ENCODING'" + then="%TINYMCEPLUGIN_ENTITY_ENCODING%" + else="%STARTSECTION{"ENTITY_ENCODING"}%numeric%ENDSECTION{"ENTITY_ENCODING"}%" +}%", "theme_advanced_toolbar_location" : "top", "theme_advanced_resize_horizontal" : false, "theme_advanced_resizing" : true, @@ -185,6 +190,7 @@ Example: | =NOWYSIWYG= | 0 | If this global setting is set to 1, TinyMCEPlugin (and all other WYSIWYG editors) will be disabled. | | =TINYMCEPLUGIN_BAD_BROWSERS= | =(?i-xsm:Konqueror)= | A regular expression that matches the user-agent string of any browser for which !TinyMCE should not be loaded. | | =TINYMCEPLUGIN_DEBUG= | 0 | If set to 1, the uncompressed version of !TinyMCE Javascript and CSS sources will be loaded by the browser. Useful for debugging. | +| =TINYMCEPLUGIN_ENTITY_ENCODING= | %INCLUDE{"%TOPIC%" section="ENTITY_ENCODING"}% | Controls how entities/characters get processed by !TinyMCE. Allowed values: =named, numeric, raw= | ---+++ Browser Specific Settings Additional options may be set for specific browsers. You can define extra options for MSIE, OPERA, GECKO and SAFARI. For example, @@ -248,11 +254,8 @@ Some notable plugins: The topic [[TinyMCEFrequentlyAskedQuestions]] contains more help with things like: "How do I configure the buttons in my skin?", "How do I disable the WYSIWYG?" etc. ----- ---+++ WysiwygPlugin Settings -TinyMCEPlugin depends on WysiwygPlugin to do the conversions from HTML to TML (Topic Markup Language) and back again. For more information, see WysiwygPlugin. -%INCLUDE{"%SYSTEMWEB%.WysiwygPluginSettings"}% ----- +See WysiwygPluginSettings for more information ---++ Upgrading from TinyMCEPlugin versions prior to 05 Mar 2010 release The =TINYMCEPLUGIN_INIT= string needs to be built differently, due to the API change affecting the way custom formats are applied in !TinyMCE 3.3.x since 3.2.x @@ -270,6 +273,9 @@ If a customised =TINYMCEPLUGIN_INIT= string is in use, it should be re-built bas * Work-around: Users may elect to persist with this behaviour, or alternatively, override =TINYMCEPLUGIN_MCEPLUGINS= to omit the =paste= plugin: however, this solution may introduce its own problems. * Foswikitask:Item9198 - After inserting new table at top of document: unable to position cursor above * Work-around: Use 'Save and continue' or switch to WikiText and back to WYSIWYG again to allow WysiwygPlugin to add an empty =<p/>= above the table + * Foswikitask:Item8085 - International characters (example, Š) are converted to HTML entities (IE. =&Scaron;= or =&#352;=) + * Ensure you are using the latest version of WysiwygPlugin. + * Work-around: Try changing the =TINYMCEPLUGIN_ENTITY_ENCODING= setting to =raw=. It's possible this may cause problems on older browsers. ---++ Known Issues of WysiwygPlugin (partial list) For the full list, consult [[WysiwygPlugin#Known_issues][WysiwygPlugin documentation]] @@ -288,7 +294,9 @@ Another great Foswiki extension from the -META - # URL-encode the version number to include in the .js URLs, so that # the browser re-fetches the .js when this plugin is upgraded. my $encodedVersion = $VERSION; @@ -191,10 +180,19 @@ META $encodedVersion =~ s/([^0-9a-zA-Z-_.:~!*'\/%])/'%'.sprintf('%02x',ord($1))/ge; + # Inline JS to set config? Heresy! Well, we were encoding into - - + + + + SCRIPT Foswiki::Func::addToZone( 'script', 'TinyMCEPlugin', $scripts, diff --git a/TinyMCEPlugin/pub/System/TinyMCEPlugin/foswiki_tiny_src.js b/TinyMCEPlugin/pub/System/TinyMCEPlugin/foswiki_tiny_src.js index bbd9a043e0..c2c0a4df6a 100644 --- a/TinyMCEPlugin/pub/System/TinyMCEPlugin/foswiki_tiny_src.js +++ b/TinyMCEPlugin/pub/System/TinyMCEPlugin/foswiki_tiny_src.js @@ -1,5 +1,6 @@ /* Copyright (C) 2007 Crawford Currie http://wikiring.com and Arthur Clemens + Copyright (C) 2010 Foswiki Contributors http://foswiki.org All Rights Reserved. This program is free software; you can redistribute it and/or @@ -372,14 +373,13 @@ var FoswikiTiny = { }, install: function() { - // find the TINYMCEPLUGIN_INIT_ENCODED preference - var tmce_init = foswiki.getPreference('TINYMCEPLUGIN_INIT_ENCODED'); - if (tmce_init != null) { - eval("tinyMCE.init({" + unescape(tmce_init) + "});"); - return; + // find the TINYMCEPLUGIN_INIT preference + if (FoswikiTiny.init) { + tinyMCE.init(FoswikiTiny.init); + } else { + alert( +'Unable to install TinyMCE: could not read "TINYMCEPLUGIN_INIT" from FoswikiTiny.init'); } - alert( -"Unable to install TinyMCE; 'TINYMCEPLUGIN_INIT_ENCODED' preference missing"); }, getTopicPath: function() {