X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/3f5685912e89eb3b0534acd85aa0946b1ca2bbe3..febc815b2c9d85be5717da9e8d164bd2daa97e31:/wp-admin/js/editor.js?ds=sidebyside diff --git a/wp-admin/js/editor.js b/wp-admin/js/editor.js index 6372b660..c42611bb 100644 --- a/wp-admin/js/editor.js +++ b/wp-admin/js/editor.js @@ -1 +1,386 @@ -jQuery(document).ready(function(b){var a=wpCookies.getHash("TinyMCE_content_size");if(getUserSetting("editor")=="html"){if(a){b("#content").css("height",a.ch-15+"px")}}else{if(typeof tinyMCE!="object"){b("#content").css("color","#000")}else{b("#quicktags").hide()}}});var switchEditors={mode:"",I:function(a){return document.getElementById(a)},_wp_Nop:function(b){var c,a;b=b.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(d){d=d.replace(/[\r\n]*/g,"");return d.replace(/<\/?p( [^>]*)?>[\r\n]*/g,"")});c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";b=b.replace(new RegExp("\\s*("+c+")>\\s*","g"),"$1>\n");b=b.replace(new RegExp("\\s*<(("+c+")[^>]*)>","g"),"\n<$1>");b=b.replace(/(]+>.*?)<\/p>/g,"$1");b=b.replace(/]*)>\s*/gi,"\n\n");b=b.replace(/\s*/gi,"");b=b.replace(/\s*<\/p>\s*/gi,"\n\n");b=b.replace(/\n[\s\u00a0]+\n/g,"\n\n");b=b.replace(/\s*\s*/gi,"\n");b=b.replace(/\s*\s*/g,"\n");b=b.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");b=b.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");a="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";b=b.replace(new RegExp("\\s*<(("+a+") ?[^>]*)\\s*>","g"),"\n<$1>");b=b.replace(new RegExp("\\s*("+a+")>\\s*","g"),"$1>\n");b=b.replace(/]*)>/g,"\t");if(b.indexOf("/g,function(d){return d.replace(/[\r\n]+/g,"")})}b=b.replace(/<\/p#>/g,"\n");b=b.replace(/\s*(]+>[\s\S]*?<\/p>)/g,"\n$1");b=b.replace(/^\s+/,"");b=b.replace(/[\s\u00a0]+$/,"");b=b.replace(//g,"\n");return b},go:function(i,g){i=i||"content";g=g||this.mode||"";var b,h=this.I("quicktags"),c=this.I("edButtonHTML"),d=this.I("edButtonPreview"),a=this.I(i);try{b=tinyMCE.get(i)}catch(f){b=false}if("tinymce"==g){if(b&&!b.isHidden()){return false}setUserSetting("editor","tinymce");this.mode="html";d.className="active";c.className="";edCloseAllTags();h.style.display="none";a.style.color="#FFF";a.value=this.wpautop(a.value);try{if(b){b.show()}else{tinyMCE.execCommand("mceAddControl",false,i)}}catch(f){}a.style.color="#000"}else{setUserSetting("editor","html");a.style.color="#000";this.mode="tinymce";c.className="active";d.className="";if(b&&!b.isHidden()){a.style.height=b.getContentAreaContainer().offsetHeight+24+"px";b.hide()}h.style.display="block"}return false},_wp_Autop:function(a){var b="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend";if(a.indexOf("/g,function(c){return c.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(c){return c.replace(/[\r\n]+/g," ")});a=a+"\n\n";a=a.replace(/\s*/gi,"\n\n");a=a.replace(new RegExp("(<(?:"+b+")[^>]*>)","gi"),"\n$1");a=a.replace(new RegExp("((?:"+b+")>)","gi"),"$1\n\n");a=a.replace(/\r\n|\r/g,"\n");a=a.replace(/\n\s*\n+/g,"\n\n");a=a.replace(/([\s\S]+?)\n\n/g,"$1\n");a=a.replace(/\s*?<\/p>/gi,"");a=a.replace(new RegExp("\\s*(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/(/gi,"$1");a=a.replace(/\s*]*)>/gi,"");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"");a=a.replace(new RegExp("\\s*(?(?:"+b+")[^>]*>)","gi"),"$1");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/\s*\n/gi,"\n");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/]+)?>/)){return e}return d+""+f+""});a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(c){c=c.replace(/[\r\n]*/g,"\n");return c.replace(/<\/?p( [^>]*)?>[\r\n]*/g,"\n")});return a},pre_wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforePreWpautop",[c]);c.data=a._wp_Nop(c.data);jQuery("body").trigger("afterPreWpautop",[c]);return c.data},wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforeWpautop",[c]);c.data=a._wp_Autop(c.data);jQuery("body").trigger("afterWpautop",[c]);return c.data}}; \ No newline at end of file + +( function( $ ) { + function SwitchEditors() { + var tinymce, $$, + exports = {}; + + function init() { + if ( ! tinymce && window.tinymce ) { + tinymce = window.tinymce; + $$ = tinymce.$; + + $$( document ).on( 'click', function( event ) { + var id, mode, + target = $$( event.target ); + + if ( target.hasClass( 'wp-switch-editor' ) ) { + id = target.attr( 'data-wp-editor-id' ); + mode = target.hasClass( 'switch-tmce' ) ? 'tmce' : 'html'; + switchEditor( id, mode ); + } + }); + } + } + + function getToolbarHeight( editor ) { + var node = $$( '.mce-toolbar-grp', editor.getContainer() )[0], + height = node && node.clientHeight; + + if ( height && height > 10 && height < 200 ) { + return parseInt( height, 10 ); + } + + return 30; + } + + function switchEditor( id, mode ) { + id = id || 'content'; + mode = mode || 'toggle'; + + var editorHeight, toolbarHeight, iframe, + editor = tinymce.get( id ), + wrap = $$( '#wp-' + id + '-wrap' ), + $textarea = $$( '#' + id ), + textarea = $textarea[0]; + + if ( 'toggle' === mode ) { + if ( editor && ! editor.isHidden() ) { + mode = 'html'; + } else { + mode = 'tmce'; + } + } + + if ( 'tmce' === mode || 'tinymce' === mode ) { + if ( editor && ! editor.isHidden() ) { + return false; + } + + if ( typeof( window.QTags ) !== 'undefined' ) { + window.QTags.closeAllTags( id ); + } + + editorHeight = parseInt( textarea.style.height, 10 ) || 0; + + if ( editor ) { + editor.show(); + + // No point resizing the iframe in iOS + if ( ! tinymce.Env.iOS && editorHeight ) { + toolbarHeight = getToolbarHeight( editor ); + editorHeight = editorHeight - toolbarHeight + 14; + + // height cannot be under 50 or over 5000 + if ( editorHeight > 50 && editorHeight < 5000 ) { + editor.theme.resizeTo( null, editorHeight ); + } + } + } else { + tinymce.init( window.tinyMCEPreInit.mceInit[id] ); + } + + wrap.removeClass( 'html-active' ).addClass( 'tmce-active' ); + $textarea.attr( 'aria-hidden', true ); + window.setUserSetting( 'editor', 'tinymce' ); + + } else if ( 'html' === mode ) { + if ( editor && editor.isHidden() ) { + return false; + } + + if ( editor ) { + if ( ! tinymce.Env.iOS ) { + iframe = editor.iframeElement; + editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0; + + if ( editorHeight ) { + toolbarHeight = getToolbarHeight( editor ); + editorHeight = editorHeight + toolbarHeight - 14; + + // height cannot be under 50 or over 5000 + if ( editorHeight > 50 && editorHeight < 5000 ) { + textarea.style.height = editorHeight + 'px'; + } + } + } + + editor.hide(); + } else { + // The TinyMCE instance doesn't exist, show the textarea + $textarea.css({ 'display': '', 'visibility': '' }); + } + + wrap.removeClass( 'tmce-active' ).addClass( 'html-active' ); + $textarea.attr( 'aria-hidden', false ); + window.setUserSetting( 'editor', 'html' ); + } + } + + // Replace paragraphs with double line breaks + function removep( html ) { + var blocklist = 'blockquote|ul|ol|li|dl|dt|dd|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset', + blocklist1 = blocklist + '|div|p', + blocklist2 = blocklist + '|pre', + preserve_linebreaks = false, + preserve_br = false, + preserve = []; + + if ( ! html ) { + return ''; + } + + // Preserve script and style tags. + if ( html.indexOf( '
]+>.*?)<\/p>/g,"$1
/gi,"
/gi,"");b=b.replace(/\s*<\/p>\s*/gi,"\n\n");b=b.replace(/\n[\s\u00a0]+\n/g,"\n\n");b=b.replace(/\s*\s*/gi,"\n");b=b.replace(/\s*
]+>[\s\S]*?<\/p>)/g,"\n$1");b=b.replace(/^\s+/,"");b=b.replace(/[\s\u00a0]+$/,"");b=b.replace(//g,"\n");return b},go:function(i,g){i=i||"content";g=g||this.mode||"";var b,h=this.I("quicktags"),c=this.I("edButtonHTML"),d=this.I("edButtonPreview"),a=this.I(i);try{b=tinyMCE.get(i)}catch(f){b=false}if("tinymce"==g){if(b&&!b.isHidden()){return false}setUserSetting("editor","tinymce");this.mode="html";d.className="active";c.className="";edCloseAllTags();h.style.display="none";a.style.color="#FFF";a.value=this.wpautop(a.value);try{if(b){b.show()}else{tinyMCE.execCommand("mceAddControl",false,i)}}catch(f){}a.style.color="#000"}else{setUserSetting("editor","html");a.style.color="#000";this.mode="tinymce";c.className="active";d.className="";if(b&&!b.isHidden()){a.style.height=b.getContentAreaContainer().offsetHeight+24+"px";b.hide()}h.style.display="block"}return false},_wp_Autop:function(a){var b="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend";if(a.indexOf("/g,function(c){return c.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(c){return c.replace(/[\r\n]+/g," ")});a=a+"\n\n";a=a.replace(/\s*/gi,"\n\n");a=a.replace(new RegExp("(<(?:"+b+")[^>]*>)","gi"),"\n$1");a=a.replace(new RegExp("((?:"+b+")>)","gi"),"$1\n\n");a=a.replace(/\r\n|\r/g,"\n");a=a.replace(/\n\s*\n+/g,"\n\n");a=a.replace(/([\s\S]+?)\n\n/g,"$1\n");a=a.replace(/\s*?<\/p>/gi,"");a=a.replace(new RegExp("\\s*(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/(/gi,"$1");a=a.replace(/\s*]*)>/gi,"");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"");a=a.replace(new RegExp("\\s*(?(?:"+b+")[^>]*>)","gi"),"$1");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/\s*\n/gi,"\n");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/]+)?>/)){return e}return d+""+f+""});a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(c){c=c.replace(/[\r\n]*/g,"\n");return c.replace(/<\/?p( [^>]*)?>[\r\n]*/g,"\n")});return a},pre_wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforePreWpautop",[c]);c.data=a._wp_Nop(c.data);jQuery("body").trigger("afterPreWpautop",[c]);return c.data},wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforeWpautop",[c]);c.data=a._wp_Autop(c.data);jQuery("body").trigger("afterWpautop",[c]);return c.data}}; \ No newline at end of file + +( function( $ ) { + function SwitchEditors() { + var tinymce, $$, + exports = {}; + + function init() { + if ( ! tinymce && window.tinymce ) { + tinymce = window.tinymce; + $$ = tinymce.$; + + $$( document ).on( 'click', function( event ) { + var id, mode, + target = $$( event.target ); + + if ( target.hasClass( 'wp-switch-editor' ) ) { + id = target.attr( 'data-wp-editor-id' ); + mode = target.hasClass( 'switch-tmce' ) ? 'tmce' : 'html'; + switchEditor( id, mode ); + } + }); + } + } + + function getToolbarHeight( editor ) { + var node = $$( '.mce-toolbar-grp', editor.getContainer() )[0], + height = node && node.clientHeight; + + if ( height && height > 10 && height < 200 ) { + return parseInt( height, 10 ); + } + + return 30; + } + + function switchEditor( id, mode ) { + id = id || 'content'; + mode = mode || 'toggle'; + + var editorHeight, toolbarHeight, iframe, + editor = tinymce.get( id ), + wrap = $$( '#wp-' + id + '-wrap' ), + $textarea = $$( '#' + id ), + textarea = $textarea[0]; + + if ( 'toggle' === mode ) { + if ( editor && ! editor.isHidden() ) { + mode = 'html'; + } else { + mode = 'tmce'; + } + } + + if ( 'tmce' === mode || 'tinymce' === mode ) { + if ( editor && ! editor.isHidden() ) { + return false; + } + + if ( typeof( window.QTags ) !== 'undefined' ) { + window.QTags.closeAllTags( id ); + } + + editorHeight = parseInt( textarea.style.height, 10 ) || 0; + + if ( editor ) { + editor.show(); + + // No point resizing the iframe in iOS + if ( ! tinymce.Env.iOS && editorHeight ) { + toolbarHeight = getToolbarHeight( editor ); + editorHeight = editorHeight - toolbarHeight + 14; + + // height cannot be under 50 or over 5000 + if ( editorHeight > 50 && editorHeight < 5000 ) { + editor.theme.resizeTo( null, editorHeight ); + } + } + } else { + tinymce.init( window.tinyMCEPreInit.mceInit[id] ); + } + + wrap.removeClass( 'html-active' ).addClass( 'tmce-active' ); + $textarea.attr( 'aria-hidden', true ); + window.setUserSetting( 'editor', 'tinymce' ); + + } else if ( 'html' === mode ) { + if ( editor && editor.isHidden() ) { + return false; + } + + if ( editor ) { + if ( ! tinymce.Env.iOS ) { + iframe = editor.iframeElement; + editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0; + + if ( editorHeight ) { + toolbarHeight = getToolbarHeight( editor ); + editorHeight = editorHeight + toolbarHeight - 14; + + // height cannot be under 50 or over 5000 + if ( editorHeight > 50 && editorHeight < 5000 ) { + textarea.style.height = editorHeight + 'px'; + } + } + } + + editor.hide(); + } else { + // The TinyMCE instance doesn't exist, show the textarea + $textarea.css({ 'display': '', 'visibility': '' }); + } + + wrap.removeClass( 'tmce-active' ).addClass( 'html-active' ); + $textarea.attr( 'aria-hidden', false ); + window.setUserSetting( 'editor', 'html' ); + } + } + + // Replace paragraphs with double line breaks + function removep( html ) { + var blocklist = 'blockquote|ul|ol|li|dl|dt|dd|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset', + blocklist1 = blocklist + '|div|p', + blocklist2 = blocklist + '|pre', + preserve_linebreaks = false, + preserve_br = false, + preserve = []; + + if ( ! html ) { + return ''; + } + + // Preserve script and style tags. + if ( html.indexOf( '
$1
\s*?<\/p>/gi,"");a=a.replace(new RegExp("
\\s*(?(?:"+b+")[^>]*>)\\s*
(
\s*
]*)>/gi,"");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"");a=a.replace(new RegExp("\\s*(?(?:"+b+")[^>]*>)","gi"),"$1");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/\s*\n/gi,"\n");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*","gi"),"$1");a=a.replace(/(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/]+)?>/)){return e}return d+""+f+""});a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(c){c=c.replace(/[\r\n]*/g,"\n");return c.replace(/<\/?p( [^>]*)?>[\r\n]*/g,"\n")});return a},pre_wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforePreWpautop",[c]);c.data=a._wp_Nop(c.data);jQuery("body").trigger("afterPreWpautop",[c]);return c.data},wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforeWpautop",[c]);c.data=a._wp_Autop(c.data);jQuery("body").trigger("afterWpautop",[c]);return c.data}}; \ No newline at end of file + +( function( $ ) { + function SwitchEditors() { + var tinymce, $$, + exports = {}; + + function init() { + if ( ! tinymce && window.tinymce ) { + tinymce = window.tinymce; + $$ = tinymce.$; + + $$( document ).on( 'click', function( event ) { + var id, mode, + target = $$( event.target ); + + if ( target.hasClass( 'wp-switch-editor' ) ) { + id = target.attr( 'data-wp-editor-id' ); + mode = target.hasClass( 'switch-tmce' ) ? 'tmce' : 'html'; + switchEditor( id, mode ); + } + }); + } + } + + function getToolbarHeight( editor ) { + var node = $$( '.mce-toolbar-grp', editor.getContainer() )[0], + height = node && node.clientHeight; + + if ( height && height > 10 && height < 200 ) { + return parseInt( height, 10 ); + } + + return 30; + } + + function switchEditor( id, mode ) { + id = id || 'content'; + mode = mode || 'toggle'; + + var editorHeight, toolbarHeight, iframe, + editor = tinymce.get( id ), + wrap = $$( '#wp-' + id + '-wrap' ), + $textarea = $$( '#' + id ), + textarea = $textarea[0]; + + if ( 'toggle' === mode ) { + if ( editor && ! editor.isHidden() ) { + mode = 'html'; + } else { + mode = 'tmce'; + } + } + + if ( 'tmce' === mode || 'tinymce' === mode ) { + if ( editor && ! editor.isHidden() ) { + return false; + } + + if ( typeof( window.QTags ) !== 'undefined' ) { + window.QTags.closeAllTags( id ); + } + + editorHeight = parseInt( textarea.style.height, 10 ) || 0; + + if ( editor ) { + editor.show(); + + // No point resizing the iframe in iOS + if ( ! tinymce.Env.iOS && editorHeight ) { + toolbarHeight = getToolbarHeight( editor ); + editorHeight = editorHeight - toolbarHeight + 14; + + // height cannot be under 50 or over 5000 + if ( editorHeight > 50 && editorHeight < 5000 ) { + editor.theme.resizeTo( null, editorHeight ); + } + } + } else { + tinymce.init( window.tinyMCEPreInit.mceInit[id] ); + } + + wrap.removeClass( 'html-active' ).addClass( 'tmce-active' ); + $textarea.attr( 'aria-hidden', true ); + window.setUserSetting( 'editor', 'tinymce' ); + + } else if ( 'html' === mode ) { + if ( editor && editor.isHidden() ) { + return false; + } + + if ( editor ) { + if ( ! tinymce.Env.iOS ) { + iframe = editor.iframeElement; + editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0; + + if ( editorHeight ) { + toolbarHeight = getToolbarHeight( editor ); + editorHeight = editorHeight + toolbarHeight - 14; + + // height cannot be under 50 or over 5000 + if ( editorHeight > 50 && editorHeight < 5000 ) { + textarea.style.height = editorHeight + 'px'; + } + } + } + + editor.hide(); + } else { + // The TinyMCE instance doesn't exist, show the textarea + $textarea.css({ 'display': '', 'visibility': '' }); + } + + wrap.removeClass( 'tmce-active' ).addClass( 'html-active' ); + $textarea.attr( 'aria-hidden', false ); + window.setUserSetting( 'editor', 'html' ); + } + } + + // Replace paragraphs with double line breaks + function removep( html ) { + var blocklist = 'blockquote|ul|ol|li|dl|dt|dd|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset', + blocklist1 = blocklist + '|div|p', + blocklist2 = blocklist + '|pre', + preserve_linebreaks = false, + preserve_br = false, + preserve = []; + + if ( ! html ) { + return ''; + } + + // Preserve script and style tags. + if ( html.indexOf( '
");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"
\\s*(?(?:"+b+")[^>]*>)","gi"),"$1");a=a.replace(new RegExp("(?(?:"+b+")[^>]*>)\\s*
|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/
]+)?>/)){return e}return d+"
"+f+"