mirror of
https://github.com/WordPress/WordPress.git
synced 2024-09-11 23:28:18 +02:00
git-svn-id: http://core.svn.wordpress.org/trunk@24216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
1 line
8.9 KiB
JavaScript
1 line
8.9 KiB
JavaScript
(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.WordPress",{init:function(g,d){var k=this,f=g.getParam("wordpress_adv_toolbar","toolbar2"),j=0,e,b,i,h,c;e='<img src="'+d+'/img/trans.gif" class="mce-wp-more mceItemNoResize" title="'+g.getLang("wordpress.wp_more_alt")+'" />';b='<img src="'+d+'/img/trans.gif" class="mce-wp-nextpage mceItemNoResize" title="'+g.getLang("wordpress.wp_page_alt")+'" />';if(getUserSetting("hidetb","0")=="1"){g.settings.wordpress_adv_hidden=0}g.onPostRender.add(function(){var l=g.controlManager.get(f);if(g.getParam("wordpress_adv_hidden",1)&&l){a.hide(l.id);k._resizeIframe(g,f,28)}});g.addCommand("WP_More",function(){g.execCommand("mceInsertContent",0,e)});g.addCommand("WP_Page",function(){g.execCommand("mceInsertContent",0,b)});g.addCommand("WP_Help",function(){g.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",width:450,height:420,inline:1})});g.addCommand("WP_Adv",function(){var l=g.controlManager,m=l.get(f).id;if("undefined"==m){return}if(a.isHidden(m)){l.setActive("wp_adv",1);a.show(m);k._resizeIframe(g,f,-28);g.settings.wordpress_adv_hidden=0;setUserSetting("hidetb","1")}else{l.setActive("wp_adv",0);a.hide(m);k._resizeIframe(g,f,28);g.settings.wordpress_adv_hidden=1;setUserSetting("hidetb","0")}});g.addCommand("WP_Medialib",function(){if(typeof wp!=="undefined"&&wp.media&&wp.media.editor){wp.media.editor.open(g.id)}});g.addButton("wp_more",{title:"wordpress.wp_more_desc",cmd:"WP_More"});g.addButton("wp_page",{title:"wordpress.wp_page_desc",image:d+"/img/page.gif",cmd:"WP_Page"});g.addButton("wp_help",{title:"wordpress.wp_help_desc",cmd:"WP_Help"});g.addButton("wp_adv",{title:"wordpress.wp_adv_desc",cmd:"WP_Adv"});g.addButton("add_media",{title:"wordpress.add_media",image:d+"/img/image.gif",cmd:"WP_Medialib"});g.onBeforeExecCommand.add(function(s,r,v,q,m){var y=tinymce.DOM,p,l,u,x,w,t;if("mceFullScreen"==r){if("mce_fullscreen"!=s.id&&y.select("a.thickbox").length){s.settings.theme_advanced_buttons1+=",|,add_media"}}if("JustifyLeft"==r||"JustifyRight"==r||"JustifyCenter"==r){p=s.selection.getNode();if(p.nodeName=="IMG"){t=r.substr(7).toLowerCase();w="align"+t;l=s.dom.getParent(p,"dl.wp-caption");u=s.dom.getParent(p,"div.mceTemp");if(l&&u){x=s.dom.hasClass(l,w)?"alignnone":w;l.className=l.className.replace(/align[^ '"]+\s?/g,"");s.dom.addClass(l,x);if(x=="aligncenter"){s.dom.addClass(u,"mceIEcenter")}else{s.dom.removeClass(u,"mceIEcenter")}m.terminate=true;s.execCommand("mceRepaint")}else{if(s.dom.hasClass(p,w)){s.dom.addClass(p,"alignnone")}else{s.dom.removeClass(p,"alignnone")}}}}if(tinymce.isWebKit&&("InsertUnorderedList"==r||"InsertOrderedList"==r)){if(!c){c=s.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")}s.getDoc().head.appendChild(c)}});g.onExecCommand.add(function(l,n,m,o){if(tinymce.isWebKit&&c&&("InsertUnorderedList"==n||"InsertOrderedList"==n)){l.dom.remove(c)}});g.onInit.add(function(n){var m=n.getParam("body_class",""),l=n.getBody();if(m){m=m.split(" ")}else{m=[]}if(n.getParam("directionality","")=="rtl"){m.push("rtl")}if(tinymce.isIE9){m.push("ie9")}else{if(tinymce.isIE8){m.push("ie8")}else{if(tinymce.isIE7){m.push("ie7")}}}if(n.id!="wp_mce_fullscreen"&&n.id!="mce_fullscreen"){m.push("wp-editor")}else{if(n.id=="mce_fullscreen"){m.push("mce-fullscreen")}}tinymce.each(m,function(o){if(o){n.dom.addClass(l,o)}});n.onNodeChange.add(function(p,o,r){var q;if(r.nodeName=="IMG"){q=p.dom.getParent(r,"dl.wp-caption")}else{if(r.nodeName=="DIV"&&p.dom.hasClass(r,"mceTemp")){q=r.firstChild;if(!p.dom.hasClass(q,"wp-caption")){q=false}}}if(q){if(p.dom.hasClass(q,"alignleft")){o.setActive("justifyleft",1)}else{if(p.dom.hasClass(q,"alignright")){o.setActive("justifyright",1)}else{if(p.dom.hasClass(q,"aligncenter")){o.setActive("justifycenter",1)}}}}});n.onBeforeSetContent.add(function(p,q){if(q.content){q.content=q.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>");q.content=q.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>")}})});if("undefined"!=typeof(jQuery)){g.onKeyUp.add(function(m,n){var l=n.keyCode||n.charCode;if(l==j){return}if(13==l||8==j||46==j){jQuery(document).triggerHandler("wpcountwords",[m.getContent({format:"raw"})])}j=l})}g.onSaveContent.addToTop(function(l,m){m.content=m.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g,"<p> </p>")});g.onSaveContent.add(function(l,m){if(l.isHidden()){m.content=m.element.value}else{if(l.getParam("wpautop",true)&&typeof(switchEditors)=="object"){m.content=switchEditors.pre_wpautop(m.content)}}});k._handleMoreBreak(g,d);h="alt+shift";g.addShortcut(h+"+c","justifycenter_desc","JustifyCenter");g.addShortcut(h+"+r","justifyright_desc","JustifyRight");g.addShortcut(h+"+l","justifyleft_desc","JustifyLeft");g.addShortcut(h+"+j","justifyfull_desc","JustifyFull");g.addShortcut(h+"+q","blockquote_desc","mceBlockQuote");g.addShortcut(h+"+u","bullist_desc","InsertUnorderedList");g.addShortcut(h+"+o","numlist_desc","InsertOrderedList");g.addShortcut(h+"+n","spellchecker.desc","mceSpellCheck");g.addShortcut(h+"+a","link_desc","WP_Link");g.addShortcut(h+"+s","unlink_desc","unlink");g.addShortcut(h+"+m","image_desc","WP_Medialib");g.addShortcut(h+"+z","wordpress.wp_adv_desc","WP_Adv");g.addShortcut(h+"+t","wordpress.wp_more_desc","WP_More");g.addShortcut(h+"+d","striketrough_desc","Strikethrough");g.addShortcut(h+"+h","help_desc","WP_Help");g.addShortcut(h+"+p","wordpress.wp_page_desc","WP_Page");g.addShortcut("ctrl+s","save_desc",function(){if("function"==typeof autosave){autosave()}});if(/\bwpfullscreen\b/.test(g.settings.plugins)){g.addShortcut(h+"+w","wordpress.wp_fullscreen_desc","wpFullScreen")}else{if(/\bfullscreen\b/.test(g.settings.plugins)){g.addShortcut(h+"+g","fullscreen.desc","mceFullScreen")}}g.onInit.add(function(l){tinymce.dom.Event.add(l.getWin(),"scroll",function(m){l.plugins.wordpress._hideButtons()});tinymce.dom.Event.add(l.getBody(),"dragstart",function(m){l.plugins.wordpress._hideButtons()})});g.onBeforeExecCommand.add(function(l,n,m,o){l.plugins.wordpress._hideButtons()});g.onSaveContent.add(function(l,m){l.plugins.wordpress._hideButtons()});g.onMouseDown.add(function(l,m){if(m.target.nodeName!="IMG"){l.plugins.wordpress._hideButtons()}});g.onKeyDown.add(function(l,m){if(m.which==tinymce.VK.DELETE||m.which==tinymce.VK.BACKSPACE){l.plugins.wordpress._hideButtons()}});i=function(l){var m;if(l.target.id=="mceModalBlocker"||l.target.className=="ui-widget-overlay"){for(m in g.windowManager.windows){g.windowManager.close(null,m)}}};tinymce.dom.Event.remove(document.body,"click",i);tinymce.dom.Event.add(document.body,"click",i)},getInfo:function(){return{longname:"WordPress Plugin",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"3.0"}},_setEmbed:function(b){return b.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(d,c){return'<img width="300" height="200" src="'+tinymce.baseURL+'/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+c+'" title="'+c+'" />'})},_getEmbed:function(b){return b.replace(/<img[^>]+>/g,function(c){if(c.indexOf('class="wp-oembed')!=-1){var d=c.match(/alt="([^\"]+)"/);if(d[1]){c="[embed]"+d[1]+"[/embed]"}}return c})},_showButtons:function(f,d){var g=tinyMCE.activeEditor,i,h,b,j=tinymce.DOM,e,c;b=g.dom.getViewPort(g.getWin());i=j.getPos(g.getContentAreaContainer());h=g.dom.getPos(f);e=Math.max(h.x-b.x,0)+i.x;c=Math.max(h.y-b.y,0)+i.y;j.setStyles(d,{top:c+5+"px",left:e+5+"px",display:"block"})},_hideButtons:function(){var b=tinymce.DOM;b.hide(b.select("#wp_editbtns, #wp_gallerybtns"))},_resizeIframe:function(c,e,b){var d=c.getContentAreaContainer().firstChild;a.setStyle(d,"height",d.clientHeight+b);c.theme.deltaHeight+=b},_handleMoreBreak:function(c,d){var e,b;e='<img src="'+d+'/img/trans.gif" alt="$1" class="mce-wp-more mceItemNoResize" title="'+c.getLang("wordpress.wp_more_alt")+'" />';b='<img src="'+d+'/img/trans.gif" class="mce-wp-nextpage mceItemNoResize" title="'+c.getLang("wordpress.wp_page_alt")+'" />';c.onPostRender.add(function(){if(c.theme.onResolveName){c.theme.onResolveName.add(function(f,g){if(g.node.nodeName=="IMG"){if(c.dom.hasClass(g.node,"mce-wp-more")){g.name="wpmore"}if(c.dom.hasClass(g.node,"mce-wp-nextpage")){g.name="wppage"}}})}});c.onBeforeSetContent.add(function(f,g){if(g.content){g.content=g.content.replace(/<!--more(.*?)-->/g,e);g.content=g.content.replace(/<!--nextpage-->/g,b)}});c.onPostProcess.add(function(f,g){if(g.get){g.content=g.content.replace(/<img[^>]+>/g,function(i){if(i.indexOf('class="mce-wp-more')!==-1){var h,j=(h=i.match(/alt="(.*?)"/))?h[1]:"";i="<!--more"+j+"-->"}if(i.indexOf('class="mce-wp-nextpage')!==-1){i="<!--nextpage-->"}return i})}});c.onNodeChange.add(function(g,f,h){f.setActive("wp_page",h.nodeName==="IMG"&&g.dom.hasClass(h,"mce-wp-nextpage"));f.setActive("wp_more",h.nodeName==="IMG"&&g.dom.hasClass(h,"mce-wp-more"))})}});tinymce.PluginManager.add("wordpress",tinymce.plugins.WordPress)})(); |