From: Marc L. <ma...@ma...> - 2012-02-22 18:51:09
|
yet another reason to upgrade to Tiki8 :-) On Wed, Feb 22, 2012 at 11:07 AM, Nelson Ko <ne...@wo...> wrote: > ok I managed to "get it to work" by putting those wrapper functions > inside r37763 inside lib/ckeditor_tiki/plugins/tikiplugin/plugin.js. > Will see if anyone discovers any other problems. Seem risky to > backport... > > On Wed, Feb 22, 2012 at 11:02 AM, Nelson Ko <ne...@wo...> wrote: >> I can't get a backport to work properly. I mean the backport of r37568 >> solves the problem BUT with the side effect of any % sign in the text >> causing the wysiwyg editor to appear with blank each time a page loads >> into it. This is really bad. >> >> When I try to backport r37763, it keeps giving me a js error >> "tiki_encodeURIComponent is not defined" >> >> Nelson. >> >> On Mon, Jan 23, 2012 at 5:35 PM, Marc Laporte <ma...@ma...> wrote: >>> Nice catch indeed. >>> >>> I am seeing this problem on a 6.x >>> >>> Since there is a custom design, I am considering backporting this fix >>> to Tiki6 LTS (instead of upgrading to 8.x) >>> >>> Any thoughts on risk? (Have too many other things changed?) >>> >>> Thanks! >>> >>> M ;-) >>> >>> >>> >>> On Thu, Sep 22, 2011 at 7:28 PM, <ar...@us...> wrote: >>>> Revision: 37568 >>>> http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=37568&view=rev >>>> Author: arildb >>>> Date: 2011-09-22 23:28:51 +0000 (Thu, 22 Sep 2011) >>>> Log Message: >>>> ----------- >>>> [FIX] Tiki javascript components for CKEditor now uses the UTF-8 compatible encodeURIComponent/decodeURIComponent instead of escape/unescape which is not UTF-8 compatible. This is the real cause of the link corruption to pages with international characters in the page name. >>>> >>>> Modified Paths: >>>> -------------- >>>> trunk/lib/ajax/autosave.js >>>> trunk/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js >>>> trunk/lib/ckeditor_tiki/plugins/tikiwiki/plugin.js >>>> trunk/lib/ckeditor_tiki/tikilink_dialog.js >>>> trunk/tiki-setup.php >>>> >>>> Modified: trunk/lib/ajax/autosave.js >>>> =================================================================== >>>> --- trunk/lib/ajax/autosave.js 2011-09-22 22:06:48 UTC (rev 37567) >>>> +++ trunk/lib/ajax/autosave.js 2011-09-22 23:28:51 UTC (rev 37568) >>>> @@ -53,7 +53,7 @@ >>>> output = jQuery(data).find('data').text(); >>>> // back up current >>>> $("#"+editorId).parents("form:first"). >>>> - append($("<input type='hidden' id='"+editorId+"_original' value='"+escape($("#"+editorId).val())+"' />")); >>>> + append($("<input type='hidden' id='"+editorId+"_original' value='"+encodeURIComponent($("#"+editorId).val())+"' />")); >>>> if (cked) { >>>> cked.setData(output); >>>> } else if (textareaEditor) { >>>> @@ -73,7 +73,7 @@ >>>> } else { // toggle back to original >>>> syntaxHighlighter.sync($('#' + editorId)); >>>> >>>> - output = unescape($("#"+editorId+"_original").val()); >>>> + output = decodeURIComponent($("#"+editorId+"_original").val()); >>>> if (cked) { >>>> cked.setData(output); // cked leaves the original content in the ta >>>> } else if (textareaEditor) { >>>> @@ -178,14 +178,14 @@ >>>> } >>>> } else { >>>> var features = 'menubar=no,toolbar=no,location=no,directories=no,fullscreen=no,titlebar=no,hotkeys=no,status=no,scrollbars=yes,resizable=yes,width=600'; >>>> - ajaxPreviewWindow = window.open('tiki-auto_save.php?editor_id=' + editorId + '&autoSaveId=' + escape(autoSaveId), '_blank', features); >>>> + ajaxPreviewWindow = window.open('tiki-auto_save.php?editor_id=' + editorId + '&autoSaveId=' + encodeURIComponent(autoSaveId), '_blank', features); >>>> } >>>> } else { >>>> if (typeof ajaxPreviewWindow.get_new_preview === 'function') { >>>> ajaxPreviewWindow.get_new_preview(); >>>> ajaxPreviewWindow.focus(); >>>> } else { >>>> - ajaxPreviewWindow.open('tiki-auto_save.php?editor_id=' + editorId + '&autoSaveId=' + escape(autoSaveId)); >>>> + ajaxPreviewWindow.open('tiki-auto_save.php?editor_id=' + editorId + '&autoSaveId=' + encodeURIComponent(autoSaveId)); >>>> } >>>> } >>>> } else { >>>> >>>> Modified: trunk/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js >>>> =================================================================== >>>> --- trunk/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js 2011-09-22 22:06:48 UTC (rev 37567) >>>> +++ trunk/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js 2011-09-22 23:28:51 UTC (rev 37568) >>>> @@ -35,7 +35,7 @@ >>>> data = r[0].startContainer; >>>> } >>>> var args = {}; >>>> - var str = $('<div/>').html(unescape(data.getAttribute("args"))).text(); // decode html entities >>>> + var str = $('<div/>').html(decodeURIComponent(data.getAttribute("args"))).text(); // decode html entities >>>> var pairs = str.split("&"); >>>> for (var i = 0; i < pairs.length; i++) { >>>> if (pairs[i].indexOf("=") > -1) { >>>> @@ -249,7 +249,7 @@ >>>> // good callback >>>> success: function(data) { >>>> ajaxLoadingHide(); >>>> - output = unescape(jQuery(data).find('data').text()); >>>> + output = decodeURIComponent(jQuery(data).find('data').text()); >>>> output = asplugin.ckToHtml.call(editor.dataProcessor, output, fixForBody); >>>> if (output.indexOf("</body>") === -1) { >>>> output += "</body>"; // workaround for cke 3.4 / tiki 6.0 FIXME >>>> >>>> Modified: trunk/lib/ckeditor_tiki/plugins/tikiwiki/plugin.js >>>> =================================================================== >>>> --- trunk/lib/ckeditor_tiki/plugins/tikiwiki/plugin.js 2011-09-22 22:06:48 UTC (rev 37567) >>>> +++ trunk/lib/ckeditor_tiki/plugins/tikiwiki/plugin.js 2011-09-22 23:28:51 UTC (rev 37568) >>>> @@ -48,7 +48,7 @@ >>>> }, >>>> // good callback >>>> success: function(data) { >>>> - output = unescape(jQuery(data).find('data').text()); >>>> + output = decodeURIComponent(jQuery(data).find('data').text()); >>>> }, >>>> // bad callback - no good info in the params :( >>>> error: function(req, status, error) { >>>> @@ -87,7 +87,7 @@ >>>> }, >>>> // good callback >>>> success: function(data) { >>>> - output = unescape(jQuery(data).find('data').text()); >>>> + output = decodeURIComponent(jQuery(data).find('data').text()); >>>> //var fragment = CKEDITOR.htmlParser.fragment.fromHtml( output, false ); // fixForBody? >>>> //editor.dataProcessor.htmlFilter.onFragment(fragment); >>>> twplugin.ckToHtml.call(twplugin, output); >>>> >>>> Modified: trunk/lib/ckeditor_tiki/tikilink_dialog.js >>>> =================================================================== >>>> --- trunk/lib/ckeditor_tiki/tikilink_dialog.js 2011-09-22 22:06:48 UTC (rev 37567) >>>> +++ trunk/lib/ckeditor_tiki/tikilink_dialog.js 2011-09-22 23:28:51 UTC (rev 37568) >>>> @@ -127,7 +127,7 @@ >>>> >>>> if (this.getContentElement('info','linkType').getValue() == "tikilink") { >>>> this.getContentElement('info','linkType').setValue('url'); >>>> - var page = escape(this.getContentElement('info','tikilinkPage').getValue().replace(/ /g, '+')); >>>> + var page = encodeURIComponent(this.getContentElement('info','tikilinkPage').getValue().replace(/ /g, '+')); >>>> if (!jqueryTiki.sefurl) { >>>> page = 'tiki-index.php?page=' + page; >>>> } >>>> @@ -154,7 +154,7 @@ >>>> if (!jqueryTiki.sefurl) { >>>> page = page.replace('tiki-index.php?page=', ''); >>>> } >>>> - page = unescape(page).replace(/\+/g, ' ' ); >>>> + page = decodeURIComponent(page).replace(/\+/g, ' ' ); >>>> this.getContentElement('info','tikilinkPage').setValue(page); >>>> this.getContentElement('info','tikilinkLabel').setValue(this._.selectedElement.getText()); >>>> } else { >>>> >>>> Modified: trunk/tiki-setup.php >>>> =================================================================== >>>> --- trunk/tiki-setup.php 2011-09-22 22:06:48 UTC (rev 37567) >>>> +++ trunk/tiki-setup.php 2011-09-22 23:28:51 UTC (rev 37568) >>>> @@ -386,7 +386,7 @@ >>>> } >>>> >>>> return "tiki-ajax_services.php?" + $.map(query, function (v, k) { >>>> - return k + "=" + escape(v); >>>> + return k + "=" + encodeURIComponent(v); >>>> }).join("&"); >>>> }'); >>>> } >>>> >>>> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> All the data continuously generated in your IT infrastructure contains a >>>> definitive record of customers, application performance, security >>>> threats, fraudulent activity and more. Splunk takes this data and makes >>>> sense of it. Business sense. IT sense. Common sense. >>>> http://p.sf.net/sfu/splunk-d2dcopy1 >>>> _______________________________________________ >>>> Tikiwiki-cvs mailing list >>>> Tik...@li... >>>> https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs >>> >>> >>> >>> -- >>> Marc Laporte >>> >>> http://MarcLaporte.com >>> http://Tiki.org/MarcLaporte >>> http://AvanTech.net >>> >>> ------------------------------------------------------------------------------ >>> Try before you buy = See our experts in action! >>> The most comprehensive online learning library for Microsoft developers >>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, >>> Metro Style Apps, more. Free future releases when you subscribe now! >>> http://p.sf.net/sfu/learndevnow-dev2 >>> _______________________________________________ >>> Tikiwiki-cvs mailing list >>> Tik...@li... >>> https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs -- Marc Laporte http://MarcLaporte.com http://Tiki.org/MarcLaporte http://AvanTech.net |