diff --git a/www/extras/tinymce/images/Thumbs.db b/www/extras/tinymce/images/Thumbs.db deleted file mode 100644 index 1599a024f..000000000 Binary files a/www/extras/tinymce/images/Thumbs.db and /dev/null differ diff --git a/www/extras/tinymce/images/bmp.gif b/www/extras/tinymce/images/bmp.gif deleted file mode 100644 index fb1a05948..000000000 Binary files a/www/extras/tinymce/images/bmp.gif and /dev/null differ diff --git a/www/extras/tinymce/images/closed.gif b/www/extras/tinymce/images/closed.gif deleted file mode 100644 index 2d134649d..000000000 Binary files a/www/extras/tinymce/images/closed.gif and /dev/null differ diff --git a/www/extras/tinymce/images/dpi.gif b/www/extras/tinymce/images/dpi.gif deleted file mode 100644 index e7e7b2504..000000000 Binary files a/www/extras/tinymce/images/dpi.gif and /dev/null differ diff --git a/www/extras/tinymce/images/ed_delete.gif b/www/extras/tinymce/images/ed_delete.gif deleted file mode 100644 index 121834938..000000000 Binary files a/www/extras/tinymce/images/ed_delete.gif and /dev/null differ diff --git a/www/extras/tinymce/images/gif.gif b/www/extras/tinymce/images/gif.gif deleted file mode 100644 index fb1a05948..000000000 Binary files a/www/extras/tinymce/images/gif.gif and /dev/null differ diff --git a/www/extras/tinymce/images/icon.gif b/www/extras/tinymce/images/icon.gif deleted file mode 100644 index cfba15aef..000000000 Binary files a/www/extras/tinymce/images/icon.gif and /dev/null differ diff --git a/www/extras/tinymce/images/indent.gif b/www/extras/tinymce/images/indent.gif deleted file mode 100644 index 8038c648d..000000000 Binary files a/www/extras/tinymce/images/indent.gif and /dev/null differ diff --git a/www/extras/tinymce/images/jpg.gif b/www/extras/tinymce/images/jpg.gif deleted file mode 100644 index a31e93b88..000000000 Binary files a/www/extras/tinymce/images/jpg.gif and /dev/null differ diff --git a/www/extras/tinymce/images/opened.gif b/www/extras/tinymce/images/opened.gif deleted file mode 100644 index 5e492b95a..000000000 Binary files a/www/extras/tinymce/images/opened.gif and /dev/null differ diff --git a/www/extras/tinymce/images/png.gif b/www/extras/tinymce/images/png.gif deleted file mode 100644 index fb1a05948..000000000 Binary files a/www/extras/tinymce/images/png.gif and /dev/null differ diff --git a/www/extras/tinymce/images/wmf.gif b/www/extras/tinymce/images/wmf.gif deleted file mode 100644 index fb1a05948..000000000 Binary files a/www/extras/tinymce/images/wmf.gif and /dev/null differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt b/www/extras/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt new file mode 100644 index 000000000..4fdb78aec --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/contextmenu/readme.txt @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js new file mode 100644 index 000000000..0e243a3f7 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js @@ -0,0 +1,2 @@ +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('directionality','en,sv,fr_ca,zh_cn');function TinyMCE_directionality_getControlHTML(control_name){var safariPatch='" onclick="';if(tinyMCE.isSafari)safariPatch="";switch(control_name){case "ltr":return '';case "rtl":return '';}return "";}function TinyMCE_directionality_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case "mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true;}return false;}function TinyMCE_directionality_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonNormal');if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm)return;var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClassSticky(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClassSticky(editor_id+'_rtl','mceButtonSelected');return true;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js new file mode 100644 index 000000000..2edb660a8 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js @@ -0,0 +1,71 @@ +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('directionality', 'en,sv,fr_ca,zh_cn'); + +function TinyMCE_directionality_getControlHTML(control_name) { + var safariPatch = '" onclick="'; + + if (tinyMCE.isSafari) + safariPatch = ""; + + switch (control_name) { + case "ltr": + return ''; + + case "rtl": + return ''; + } + + return ""; +} + +function TinyMCE_directionality_execCommand(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceDirectionLTR": + var inst = tinyMCE.getInstanceById(editor_id); + var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); + + if (elm) + elm.setAttribute("dir", "ltr"); + + tinyMCE.triggerNodeChange(false); + return true; + + case "mceDirectionRTL": + var inst = tinyMCE.getInstanceById(editor_id); + var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); + + if (elm) + elm.setAttribute("dir", "rtl"); + + tinyMCE.triggerNodeChange(false); + return true; + } + + // Pass to next handler in chain + return false; +} + +function TinyMCE_directionality_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + function getAttrib(elm, name) { + return elm.getAttribute(name) ? elm.getAttribute(name) : ""; + } + + tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonNormal'); + tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonNormal'); + + if (node == null) + return; + + var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); + if (!elm) + return; + + var dir = getAttrib(elm, "dir"); + if (dir == "ltr" || dir == "") + tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonSelected'); + else + tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonSelected'); + + return true; +} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif new file mode 100644 index 000000000..1f8e046b7 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif new file mode 100644 index 000000000..40ec61303 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js new file mode 100644 index 000000000..2f5ad455f --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js @@ -0,0 +1,4 @@ +// UK lang variables + +tinyMCELang['lang_directionality_ltr_desc'] = 'Direction left to right' +tinyMCELang['lang_directionality_rtl_desc'] = 'Direction right to left'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/fr_ca.js new file mode 100644 index 000000000..41b62a072 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/fr_ca.js @@ -0,0 +1,4 @@ +// fr_ca lang variables + +tinyMCELang['lang_directionality_ltr_desc'] = 'Direction de la gauche vers la droite' +tinyMCELang['lang_directionality_rtl_desc'] = 'Direction de la droite vers la gauche'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/sv.js new file mode 100644 index 000000000..7639836ce --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/sv.js @@ -0,0 +1,4 @@ +// SV lang variables + +tinyMCELang['lang_directionality_ltr_desc'] = 'Riktning från vänster till höger' +tinyMCELang['lang_directionality_rtl_desc'] = 'Riktning från höger till vänster'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/zh_cn.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/zh_cn.js new file mode 100644 index 000000000..9dfe94aaa --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/langs/zh_cn.js @@ -0,0 +1,5 @@ +// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com) +//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµÄÖÐÎÄÖ§³Ö + +tinyMCELang['lang_directionality_ltr_desc'] = '´Ó×óÍùÓҵķ½Ïò' +tinyMCELang['lang_directionality_rtl_desc'] = '´ÓÓÒÍù×óµÄ·½Ïò'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt new file mode 100644 index 000000000..4fdb78aec --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/directionality/readme.txt @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js new file mode 100644 index 000000000..52a91b97e --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js @@ -0,0 +1,2 @@ +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('fullscreen','en,sv,cs,fr_ca,zh_cn');function TinyMCE_fullscreen_getControlHTML(control_name){switch(control_name){case "fullscreen":return '';}return "";}function TinyMCE_fullscreen_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceFullScreen":if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(editor_id));top.close();}else{tinyMCE.setWindowArg('editor_id',editor_id);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);}return true;}return false;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js new file mode 100644 index 000000000..2cf595dd6 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js @@ -0,0 +1,34 @@ +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('fullscreen', 'en,sv,cs,fr_ca,zh_cn'); + +function TinyMCE_fullscreen_getControlHTML(control_name) { + switch (control_name) { + case "fullscreen": + return ''; + } + + return ""; +} + +function TinyMCE_fullscreen_execCommand(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceFullScreen": + if (tinyMCE.getParam('fullscreen_is_enabled')) { + // In fullscreen mode + window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(editor_id)); + top.close(); + } else { + tinyMCE.setWindowArg('editor_id', editor_id); + + var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight); + } + + return true; + } + + // Pass to next handler in chain + return false; +} + + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm new file mode 100644 index 000000000..30644e66d --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm @@ -0,0 +1,72 @@ + + + + + + + + + + + + + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif new file mode 100644 index 000000000..850ff8d42 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/cs.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/cs.js new file mode 100644 index 000000000..04b8b2d96 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/cs.js @@ -0,0 +1,4 @@ +// CS lang variables + +tinyMCELang['lang_fullscreen_title'] = 'Fullscreen'; +tinyMCELang['lang_fullscreen_desc'] = 'Pr(epnout na fullscreen'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js new file mode 100644 index 000000000..7cfe92d4f --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js @@ -0,0 +1,4 @@ +// UK lang variables + +tinyMCELang['lang_fullscreen_title'] = 'Fullscreen mode' +tinyMCELang['lang_fullscreen_desc'] = 'Toggle fullscreen mode' diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/fr_ca.js new file mode 100644 index 000000000..727812ba4 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/fr_ca.js @@ -0,0 +1,5 @@ +// Canadian French lang variables by Virtuelcom last modification: 2005-06-15 + + +tinyMCELang['lang_fullscreen_title'] = 'Mode plein écran' +tinyMCELang['lang_fullscreen_desc'] = 'Basculer le mode plein écrans' diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/sv.js new file mode 100644 index 000000000..921529580 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/sv.js @@ -0,0 +1,4 @@ +// SV lang variables + +tinyMCELang['lang_fullscreen_title'] = 'Fullskärmsläge' +tinyMCELang['lang_fullscreen_desc'] = 'Hoppa från/till fullskärmsläge' diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/zh_cn.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/zh_cn.js new file mode 100644 index 000000000..6572603aa --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/zh_cn.js @@ -0,0 +1,5 @@ +// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com) +//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµÄÖÐÎÄÖ§³Ö + +tinyMCELang['lang_fullscreen_title'] = 'È«ÆÁģʽ' +tinyMCELang['lang_fullscreen_desc'] = 'Çл»È«ÆÁģʽ' diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt new file mode 100644 index 000000000..4fdb78aec --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/fullscreen/readme.txt @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm new file mode 100644 index 000000000..104b5507a --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm @@ -0,0 +1,15 @@ + + + +blank_page + + + + + + + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js new file mode 100644 index 000000000..673b850dc --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js @@ -0,0 +1,24 @@ +// Tiny MCE Paste Plugin + tinyMCE.importPluginLanguagePack('paste','en,sv,cs,zh_cn,fr_ca');function TinyMCE_paste_getControlHTML(control_name){switch(control_name){case "pastetext":return '';case "pasteword":return '';case "selectall":return '';}return '';}function TinyMCE_paste_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePasteText":if(tinyMCE.isMSIE&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_paste__insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",mceDo:'insert'});}return true;case "mcePasteWord":if(tinyMCE.isMSIE&&!tinyMCE.getParam('paste_use_dialog',false)){var html=TinyMCE_paste__clipboardHTML();if(html&&html.length>0)TinyMCE_paste__insertWordContent(html);}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",mceDo:'insert'});}return true;case "mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true;}return false;}function TinyMCE_paste__insertText(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("plaintext_create_paragraphs",true)){content=tinyMCE.regexpReplace(content,"\r\n\r\n","

","gi");content=tinyMCE.regexpReplace(content,"\r\r","

","gi");content=tinyMCE.regexpReplace(content,"\n\n","

","gi");if((pos=content.indexOf('

'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="

";before+=content.substring(0,pos);for(var i=0;i";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="

";content=before+content.substring(pos+7)+after;}}content=tinyMCE.regexpReplace(content,"\r\n","
","gi");content=tinyMCE.regexpReplace(content,"\r","
","gi");content=tinyMCE.regexpReplace(content,"\n","
","gi");}tinyMCE.execCommand("mceInsertRawHTML",false,content);}}function TinyMCE_paste__insertWordContent(content){if(content&&content.length>0){content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");content=content.replace(/<\/?span[^>]*>/gi,"");content=content.replace(/<(\w[^>]*)style="([^"]*)"([^>]*)/gi, "<$1$3"); + content = content.replace(/<\/?font[^>]*>/gi, ""); + content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); + content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); + content = content.replace(/<\\?\?xml[^>]*>/gi, ""); + content = content.replace(/<\/?\w+:[^>]*>/gi, ""); + content = content.replace(/\/? */gi, ""); + content = content.replace('

 

', '' ,'g'); + + if (!tinyMCE.settings['force_p_newlines']) { + content = content.replace('', '' ,'gi'); + content = content.replace('

', '

' ,'gi'); + } + + if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) { + content = content.replace(/<\/?p[^>]*>/gi, ""); + } + + content = content.replace(/<\/?div[^>]*>/gi, ""); + + // Insert cleaned content + tinyMCE.execCommand("mceAddUndoLevel"); + tinyMCE.execCommand("mceInsertContent",false,content);}}function TinyMCE_paste__clipboardHTML(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1;}document.body.appendChild(div);}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js new file mode 100644 index 000000000..e9a2d8d06 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js @@ -0,0 +1,173 @@ +// Tiny MCE Paste Plugin + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('paste', 'en,sv,cs,zh_cn,fr_ca'); + +function TinyMCE_paste_getControlHTML(control_name) { + switch (control_name) { + case "pastetext": + return ''; + + case "pasteword": + return ''; + + case "selectall": + return ''; + } + + return ''; +} + +function TinyMCE_paste_execCommand(editor_id, element, command, user_interface, value) { + switch (command) { + case "mcePasteText": + if (tinyMCE.isMSIE && !tinyMCE.getParam('paste_use_dialog', false)) + TinyMCE_paste__insertText(clipboardData.getData("Text"), true); + else { + var template = new Array(); + template['file'] = '../../plugins/paste/pastetext.htm'; // Relative to theme + template['width'] = 450; + template['height'] = 400; + var plain_text = ""; + tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", mceDo : 'insert'}); + } + + return true; + + case "mcePasteWord": + if (tinyMCE.isMSIE && !tinyMCE.getParam('paste_use_dialog', false)) { + var html = TinyMCE_paste__clipboardHTML(); + + if (html && html.length > 0) + TinyMCE_paste__insertWordContent(html); + } else { + var template = new Array(); + template['file'] = '../../plugins/paste/pasteword.htm'; // Relative to theme + template['width'] = 450; + template['height'] = 400; + var plain_text = ""; + tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", mceDo : 'insert'}); + } + + return true; + + case "mceSelectAll": + tinyMCE.execInstanceCommand(editor_id, 'selectall'); + return true; + + } + + // Pass to next handler in chain + return false; +} + +function TinyMCE_paste__insertText(content, bLinebreaks) { + + if (content && content.length > 0) { + if (bLinebreaks) { + // Special paragraph treatment + if (tinyMCE.getParam("plaintext_create_paragraphs", true)) { + content = tinyMCE.regexpReplace(content, "\r\n\r\n", "

", "gi"); + content = tinyMCE.regexpReplace(content, "\r\r", "

", "gi"); + content = tinyMCE.regexpReplace(content, "\n\n", "

", "gi"); + + // Has paragraphs + if ((pos = content.indexOf('

')) != -1) { + tinyMCE.execCommand("Delete"); + + var node = tinyMCE.selectedInstance.getFocusElement(); + + // Get list of elements to break + var breakElms = new Array(); + + do { + if (node.nodeType == 1) { + // Don't break tables and break at body + if (node.nodeName == "TD" || node.nodeName == "BODY") + break; + + breakElms[breakElms.length] = node; + } + } while(node = node.parentNode); + + var before = "", after = "

"; + before += content.substring(0, pos); + + for (var i=0; i"; + after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; + } + + before += "

"; + content = before + content.substring(pos+7) + after; + } + } + + content = tinyMCE.regexpReplace(content, "\r\n", "
", "gi"); + content = tinyMCE.regexpReplace(content, "\r", "
", "gi"); + content = tinyMCE.regexpReplace(content, "\n", "
", "gi"); + } + + tinyMCE.execCommand("mceInsertRawHTML", false, content); + } +} + +function TinyMCE_paste__insertWordContent(content) { + + if (content && content.length > 0) { + // Cleanup Word content + content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), ""); // Word comments + content = content.replace(/<\/?span[^>]*>/gi, ""); + content = content.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3"); + content = content.replace(/<\/?font[^>]*>/gi, ""); + content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); + content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); + content = content.replace(/<\\?\?xml[^>]*>/gi, ""); + content = content.replace(/<\/?\w+:[^>]*>/gi, ""); + content = content.replace(/\/? */gi, ""); + content = content.replace('

 

', '' ,'g'); + + if (!tinyMCE.settings['force_p_newlines']) { + content = content.replace('', '' ,'gi'); + content = content.replace('

', '

' ,'gi'); + } + + if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) { + content = content.replace(/<\/?p[^>]*>/gi, ""); + } + + content = content.replace(/<\/?div[^>]*>/gi, ""); + + // Insert cleaned content + tinyMCE.execCommand("mceAddUndoLevel"); + tinyMCE.execCommand("mceInsertContent", false, content); + } +} + +function TinyMCE_paste__clipboardHTML() { + var div = document.getElementById('_TinyMCE_clipboardHTML'); + + if (!div) { + var div = document.createElement('DIV'); + div.id = '_TinyMCE_clipboardHTML'; + + with (div.style) { + visibility = 'hidden'; + overflow = 'hidden'; + position = 'absolute'; + width = 1; + height = 1; + } + + document.body.appendChild(div); + } + + div.innerHTML = ''; + var rng = document.body.createTextRange(); + rng.moveToElementText(div); + rng.execCommand('Paste'); + var html = div.innerHTML; + div.innerHTML = ''; + return html; +} + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif new file mode 100644 index 000000000..6b9f93fb0 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif new file mode 100644 index 000000000..55c1d2425 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/selectall.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/selectall.gif new file mode 100644 index 000000000..943f57535 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/images/selectall.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs.js new file mode 100644 index 000000000..bbe099662 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/cs.js @@ -0,0 +1,8 @@ +// CS lang variables + +tinyMCELang['lang_paste_text_desc'] = 'Vložit neformátovaný text'; +tinyMCELang['lang_paste_text_title'] = 'Použi CTRL+V na klávesnici pro vložení textu do okna.'; +tinyMCELang['lang_paste_text_linebreaks'] = 'Nechej pr(erušení r(ádku*'; +tinyMCELang['lang_paste_word_desc'] = 'Vložit text z aplikace Word'; +tinyMCELang['lang_paste_word_title'] = 'Použi CTRL+V na klávesnici pro vložení textu do okna.'; +tinyMCELang['lang_selectall_desc'] = 'Oznac(it vše'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js new file mode 100644 index 000000000..e575d5f56 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/en.js @@ -0,0 +1,8 @@ +// UK lang variables + +tinyMCELang['lang_paste_text_desc'] = 'Paste as Plain Text'; +tinyMCELang['lang_paste_text_title'] = 'Use CTRL+V on your keyboard to paste the text into the window.'; +tinyMCELang['lang_paste_text_linebreaks'] = 'Keep linebreaks'; +tinyMCELang['lang_paste_word_desc'] = 'Paste from Word'; +tinyMCELang['lang_paste_word_title'] = 'Use CTRL+V on your keyboard to paste the text into the window.'; +tinyMCELang['lang_selectall_desc'] = 'Select All'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_ca.js new file mode 100644 index 000000000..24942bc94 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/fr_ca.js @@ -0,0 +1,8 @@ +// Canadian French lang variables by Virtuelcom last modification: 2005-06-15 + +tinyMCELang['lang_paste_text_desc'] = 'Coller texte seulement'; +tinyMCELang['lang_paste_text_title'] = 'Utilisez CTRL+V sur votre clavier pour coller le texte dans la fenêtre.'; +tinyMCELang['lang_paste_text_linebreaks'] = 'Garder les sauts de ligne'; +tinyMCELang['lang_paste_word_desc'] = 'Coller à partir de Word'; +tinyMCELang['lang_paste_word_title'] = 'Utilisez CTRL+V sur votre clavier pour coller le texte dans la fenêtre.'; +tinyMCELang['lang_selectall_desc'] = 'Selectionner tout'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv.js new file mode 100644 index 000000000..b7a7746ae --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/sv.js @@ -0,0 +1,8 @@ +// SV lang variables + +tinyMCELang['lang_paste_text_desc'] = 'Klistra in som vanlig text' +tinyMCELang['lang_paste_text_title'] = 'Använd CTRL+V på ditt tangentbord för att klistra in i detta fönster.'; +tinyMCELang['lang_paste_text_linebreaks'] = 'Spara radbrytningar'; +tinyMCELang['lang_paste_word_desc'] = 'Klistra in från Word' +tinyMCELang['lang_paste_word_title'] = 'Använd CTRL+V på ditt tangentbord för att klistra in i detta fönster.'; +tinyMCELang['lang_selectall_desc'] = 'Select All'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_cn.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_cn.js new file mode 100644 index 000000000..e4fc2cd35 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/langs/zh_cn.js @@ -0,0 +1,9 @@ +// Simplified Chinese lang variables contributed by cube316 (cube316@gmail.com) +//Çë·ÃÎÊ http://www.cube316.net/ ÒÔ»ñÈ¡TinyMCEµÄÖÐÎÄÖ§³Ö + +tinyMCELang['lang_paste_text_desc'] = '×÷Ϊ´¿Îı¾Õ³Ìù'; +tinyMCELang['lang_paste_text_title'] = 'ʹÓÿì½Ý¼ü CTRL+V ½«Îı¾Õ³Ìùµ½ÒÔÏ´°¿ÚÖÐ.'; +tinyMCELang['lang_paste_text_linebreaks'] = '±£Áô»»Ðзû'; +tinyMCELang['lang_paste_word_desc'] = '´ÓWordÕ³Ìù'; +tinyMCELang['lang_paste_word_title'] = 'ʹÓÿì½Ý¼ü CTRL+V ½«Îı¾Õ³Ìùµ½ÒÔÏ´°¿ÚÖÐ.'; +tinyMCELang['lang_selectall_desc'] = 'ȫѡ'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm new file mode 100644 index 000000000..a651b219e --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm @@ -0,0 +1,76 @@ + + +{$lang_paste_text_desc} + + + + + + + + +
+ + + + + + + + + + + + + + + +
{$lang_paste_text_desc} + +
{$lang_paste_text_title}
+ +
+
+ + \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm new file mode 100644 index 000000000..0e1e81161 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm @@ -0,0 +1,111 @@ + + +{$lang_paste_word_desc} + + + + + + + + + +
+ + + + + + + + + + + + + + +
{$lang_paste_word_desc}
{$lang_paste_word_title}
+ +
+
+ + \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt new file mode 100644 index 000000000..4fdb78aec --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/paste/readme.txt @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin.