From 8fda4ca0b289d0128d35bc200805f85c97ed574e Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Sun, 13 Mar 2016 22:55:25 +0000 Subject: [PATCH] TinyMCE: when dragging, prevent error when a range cannot be created at the drop location. Fixes #36229. Built from https://develop.svn.wordpress.org/trunk@36983 git-svn-id: http://core.svn.wordpress.org/trunk@36950 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../js/tinymce/plugins/wpeditimage/plugin.js | 7 +++++-- .../tinymce/plugins/wpeditimage/plugin.min.js | 2 +- wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 167037 -> 167041 bytes wp-includes/version.php | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js index 979ddaf496..50045e7950 100644 --- a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js +++ b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js @@ -1005,13 +1005,16 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) { rng = tinymce.dom.RangeUtils.getCaretRangeFromPoint( event.clientX, event.clientY, editor.getDoc() ); // Don't allow anything to be dropped in a captioned image. - if ( dom.getParent( rng.startContainer, '.mceTemp' ) ) { + if ( rng && dom.getParent( rng.startContainer, '.mceTemp' ) ) { event.preventDefault(); } else if ( wrap ) { event.preventDefault(); editor.undoManager.transact( function() { - editor.selection.setRng( rng ); + if ( rng ) { + editor.selection.setRng( rng ); + } + editor.selection.setNode( wrap ); dom.remove( wrap ); } ); diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js index 827f830bc9..77624ee740 100644 --- a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js +++ b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js @@ -1 +1 @@ -tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return!(!a.dom.getAttrib(b,"data-mce-placeholder")&&!a.dom.getAttrib(b,"data-mce-object"))}function c(b){return b.replace(/(?:

)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=o(d),i=d.match(/((?:]+>)?]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=o(i[2]),i=o(i[1])):(h=o(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'

'+i+'
'+h+"
"):d})}function d(a){return a.replace(/(?:
]+mceTemp[^>]+>)?\s*(
]+wp-caption[^>]+>[\s\S]+?<\/dl>)\s*(?:<\/div>)?/g,function(a,b){var c="";return-1===b.indexOf("]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"

"+c[1]+"

":""):(c=b.replace(/\s*
]+)>\s*
]+>([\s\S]+?)<\/dt>\s*
]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"
"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):("alignnone"!==g[0]&&(c=c.replace(/>]+>)?]+>(?:<\/a>)?)(

[\s\S]*<\/p>)?[\s\S]*/gi,"

$1

$2")),c)})}function e(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function f(a){return a&&!(!a.textContent&&!a.innerText)}function g(b){return!b||-1===b.indexOf("<")&&-1===b.indexOf(">")?b:(l||(l=new tinymce.html.Serializer({},a.schema)),l.serialize(a.parser.parse(b,{forced_root_block:!1})))}function h(b,c){var d,e,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},y.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?c.linkUrl?y.setAttribs(b.parentNode,r):y.remove(b.parentNode,!0):c.linkUrl&&((l=y.getParent(b,"a"))&&y.insertAfter(b,l),l=y.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),h=b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?b.parentNode:b,c.caption?(c.caption=g(c.caption),p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),e="wp-caption "+u,c.captionClassName&&(e+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=y.select("dl.wp-caption",m),o.length&&y.setAttribs(o,{id:p,"class":e,style:"width: "+s+"px"}),n=y.select(".wp-caption-dd",m),n.length&&y.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",i="

'+c.caption+"
",k=y.create("div",{"class":"mceTemp"},i),(j=y.getParent(h,"p"))?j.parentNode.insertBefore(k,j):h.parentNode.insertBefore(k,h),a.$(k).find("dt.wp-caption-dt").append(h),j&&y.isEmpty(j)&&y.remove(j))):m&&(j=y.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(h),y.remove(m)),v=a.$(b),w=v.attr("srcset"),x=v.attr("src"),w&&x&&(x=x.replace(/[?#].*/,""),-1===w.indexOf(x)&&v.attr("srcset",null).attr("sizes",null)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged()}function i(b){var c,d,f;return"undefined"!=typeof wp&&wp.media?(f=e(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:f,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:f}),wp.media.events.trigger("editor:frame-create",{frame:c}),d=function(d){a.focus(),a.undoManager.transact(function(){h(b,d)}),c.detach()},c.state("image-details").on("update",d),c.state("replace-image").on("replace",d),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function j(b){var c=a.dom.getParent(b,"div.mceTemp");c||"IMG"!==b.nodeName||(c=a.dom.getParent(b,"a")),c?(c.nextSibling?a.selection.select(c.nextSibling):c.previousSibling?a.selection.select(c.previousSibling):a.selection.select(c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),a.nodeChanged(),a.undoManager.add()}var k,l,m,n=tinymce.each,o=tinymce.trim,p=tinymce.Env.iOS;return a.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){j(a.selection.getNode())}}),a.addButton("wp_img_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){i(a.selection.getNode())}}),n({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(b,c){var d=c.slice(5);a.addButton("wp_img_"+c,{tooltip:b,icon:"dashicon dashicons-align-"+d,cmd:"alignnone"===c?"wpAlignNone":"Justify"+d.slice(0,1).toUpperCase()+d.slice(1),onPostRender:function(){var b=this;a.on("NodeChange",function(d){var e;"IMG"===d.element.nodeName&&(e=a.dom.getParent(d.element,".wp-caption")||d.element,"alignnone"===c?b.active(!/\balign(left|center|right)\b/.test(e.className)):b.active(a.dom.hasClass(e,c)))})}})}),a.once("preinit",function(){a.wp&&a.wp._createToolbar&&(k=a.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"]))}),a.on("wptoolbar",function(a){"IMG"!==a.element.nodeName||b(a.element)||(a.toolbar=k)}),p&&a.on("init",function(){a.on("touchstart",function(a){"IMG"===a.target.nodeName&&(m=!0)}),a.dom.bind(a.getDoc(),"touchmove",function(a){"IMG"===a.target.nodeName&&(m=!1)}),a.on("touchend",function(b){if(m&&"IMG"===b.target.nodeName){var c=b.target;m=!1,window.setTimeout(function(){a.selection.select(c),a.nodeChanged()},200)}else k&&k.hide()})}),a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"wpcaption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,h,i,j=c.imgData.data,k=c.imgData.node,l=c.imgData.wpcaption,m="",n="",o="";return j.id="__wp-temp-img-id",c.imgData.cancel=!0,j.style||(j.style=null),j.src?(l&&(l=l.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),l=l.replace(/(]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"
"),l=g(l)),k?(i=k.id||null,b.setAttribs(k,j),d=b.getParent(k,"dl.wp-caption"),l?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=l):(k.className&&(m=k.className.match(/wp-image-([0-9]+)/),n=k.className.match(/align(left|right|center|none)/)),n?(n=n[0],k.className=k.className.replace(/align(left|right|center|none)/g,"")):n="alignnone",n=' class="wp-caption '+n+'"',m&&(m=' id="attachment_'+m[1]+'"'),o=j.width||k.clientWidth,o&&(o=parseInt(o,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),f=k.parentNode&&"A"===k.parentNode.nodeName?k.parentNode:k,h="
'+l+"
",d=b.create("div",{"class":"mceTemp"},h),(e=b.getParent(f,"p"))?e.parentNode.insertBefore(d,e):f.parentNode.insertBefore(d,f),a.$(d).find("dt.wp-caption-dt").append(f),e&&b.isEmpty(e)&&b.remove(e)):d&&(h="A"===k.parentNode.nodeName?b.getOuterHTML(k.parentNode):b.getOuterHTML(k),e=b.create("p",{},h),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(h=b.createHTML("img",j),l?(f=a.selection.getNode(),j.width&&(o=parseInt(j.width,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),h='
'+h+'
'+l+"
",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},h),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('
'+h+"
")):a.selection.setContent(h)),k=b.get("__wp-temp-img-id"),b.setAttrib(k,"id",i),void(c.imgData.node=k)):void(k&&((d=b.getParent(k,"div.mceTemp"))?b.remove(d):"A"===k.parentNode.nodeName?b.remove(k.parentNode):b.remove(k),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.wpcaption=a.serializer.serialize(d).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,"")))}),tinymce.Env.ie&&tinymce.Env.ie>10&&b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()})}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px")))})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g,h=b.command,i=a.dom;if("mceInsertContent"===h)(c=i.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=i.create("p"),i.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged());else if("JustifyLeft"===h||"JustifyRight"===h||"JustifyCenter"===h||"wpAlignNone"===h){if(c=a.selection.getNode(),f="align"+h.slice(7).toLowerCase(),e=a.dom.getParent(c,".wp-caption"),"IMG"!==c.nodeName&&!e)return;c=e||c,g=a.dom.hasClass(c,f)?" alignnone":" "+f,c.className=o(c.className.replace(/ ?align(left|center|right|none)/g,"")+g),a.nodeChanged(),b.preventDefault(),k&&k.reposition(),a.fire("ExecCommand",{command:h,ui:b.ui,value:b.value})}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,h=b.keyCode,i=a.dom,k=tinymce.util.VK;if(h===k.ENTER)c=g.getNode(),d=i.getParent(c,"div.mceTemp"),d&&(i.events.cancel(b),tinymce.each(i.select("dt, dd",d),function(a){i.isEmpty(a)&&i.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'
',e=i.create("p",null,f),"DD"===c.nodeName?i.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if((h===k.DELETE||h===k.BACKSPACE)&&(c=g.getNode(),"DIV"===c.nodeName&&i.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=i.getParent(c,"div.mceTemp")),d))return i.events.cancel(b),j(c),!1}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.wpSetImgCaption=function(a){return c(a)},a.wpGetImgCaption=function(a){return d(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),function(){var b;a.on("dragstart",function(){var c=a.selection.getNode();"IMG"===c.nodeName&&(b=a.dom.getParent(c,".mceTemp"),b||"A"!==c.parentNode.nodeName||f(c.parentNode)||(b=c.parentNode))}),a.on("drop",function(c){var d=a.dom,e=tinymce.dom.RangeUtils.getCaretRangeFromPoint(c.clientX,c.clientY,a.getDoc());d.getParent(e.startContainer,".mceTemp")?c.preventDefault():b&&(c.preventDefault(),a.undoManager.transact(function(){a.selection.setRng(e),a.selection.setNode(b),d.remove(b)})),b=null})}(),a.wp=a.wp||{},a.wp.isPlaceholder=b,{_do_shcode:c,_get_shcode:d}}); \ No newline at end of file +tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return!(!a.dom.getAttrib(b,"data-mce-placeholder")&&!a.dom.getAttrib(b,"data-mce-object"))}function c(b){return b.replace(/(?:

)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=o(d),i=d.match(/((?:]+>)?]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=o(i[2]),i=o(i[1])):(h=o(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'

"):d})}function d(a){return a.replace(/(?:
]+mceTemp[^>]+>)?\s*(
]+wp-caption[^>]+>[\s\S]+?<\/dl>)\s*(?:<\/div>)?/g,function(a,b){var c="";return-1===b.indexOf("]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"

"+c[1]+"

":""):(c=b.replace(/\s*
]+)>\s*
]+>([\s\S]+?)<\/dt>\s*
]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"
"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):("alignnone"!==g[0]&&(c=c.replace(/>]+>)?]+>(?:<\/a>)?)(

[\s\S]*<\/p>)?[\s\S]*/gi,"

$1

$2")),c)})}function e(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function f(a){return a&&!(!a.textContent&&!a.innerText)}function g(b){return!b||-1===b.indexOf("<")&&-1===b.indexOf(">")?b:(l||(l=new tinymce.html.Serializer({},a.schema)),l.serialize(a.parser.parse(b,{forced_root_block:!1})))}function h(b,c){var d,e,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},y.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?c.linkUrl?y.setAttribs(b.parentNode,r):y.remove(b.parentNode,!0):c.linkUrl&&((l=y.getParent(b,"a"))&&y.insertAfter(b,l),l=y.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),h=b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?b.parentNode:b,c.caption?(c.caption=g(c.caption),p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),e="wp-caption "+u,c.captionClassName&&(e+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=y.select("dl.wp-caption",m),o.length&&y.setAttribs(o,{id:p,"class":e,style:"width: "+s+"px"}),n=y.select(".wp-caption-dd",m),n.length&&y.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",i="

'+c.caption+"
",k=y.create("div",{"class":"mceTemp"},i),(j=y.getParent(h,"p"))?j.parentNode.insertBefore(k,j):h.parentNode.insertBefore(k,h),a.$(k).find("dt.wp-caption-dt").append(h),j&&y.isEmpty(j)&&y.remove(j))):m&&(j=y.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(h),y.remove(m)),v=a.$(b),w=v.attr("srcset"),x=v.attr("src"),w&&x&&(x=x.replace(/[?#].*/,""),-1===w.indexOf(x)&&v.attr("srcset",null).attr("sizes",null)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged()}function i(b){var c,d,f;return"undefined"!=typeof wp&&wp.media?(f=e(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:f,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:f}),wp.media.events.trigger("editor:frame-create",{frame:c}),d=function(d){a.focus(),a.undoManager.transact(function(){h(b,d)}),c.detach()},c.state("image-details").on("update",d),c.state("replace-image").on("replace",d),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function j(b){var c=a.dom.getParent(b,"div.mceTemp");c||"IMG"!==b.nodeName||(c=a.dom.getParent(b,"a")),c?(c.nextSibling?a.selection.select(c.nextSibling):c.previousSibling?a.selection.select(c.previousSibling):a.selection.select(c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),a.nodeChanged(),a.undoManager.add()}var k,l,m,n=tinymce.each,o=tinymce.trim,p=tinymce.Env.iOS;return a.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){j(a.selection.getNode())}}),a.addButton("wp_img_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){i(a.selection.getNode())}}),n({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(b,c){var d=c.slice(5);a.addButton("wp_img_"+c,{tooltip:b,icon:"dashicon dashicons-align-"+d,cmd:"alignnone"===c?"wpAlignNone":"Justify"+d.slice(0,1).toUpperCase()+d.slice(1),onPostRender:function(){var b=this;a.on("NodeChange",function(d){var e;"IMG"===d.element.nodeName&&(e=a.dom.getParent(d.element,".wp-caption")||d.element,"alignnone"===c?b.active(!/\balign(left|center|right)\b/.test(e.className)):b.active(a.dom.hasClass(e,c)))})}})}),a.once("preinit",function(){a.wp&&a.wp._createToolbar&&(k=a.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"]))}),a.on("wptoolbar",function(a){"IMG"!==a.element.nodeName||b(a.element)||(a.toolbar=k)}),p&&a.on("init",function(){a.on("touchstart",function(a){"IMG"===a.target.nodeName&&(m=!0)}),a.dom.bind(a.getDoc(),"touchmove",function(a){"IMG"===a.target.nodeName&&(m=!1)}),a.on("touchend",function(b){if(m&&"IMG"===b.target.nodeName){var c=b.target;m=!1,window.setTimeout(function(){a.selection.select(c),a.nodeChanged()},200)}else k&&k.hide()})}),a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"wpcaption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,h,i,j=c.imgData.data,k=c.imgData.node,l=c.imgData.wpcaption,m="",n="",o="";return j.id="__wp-temp-img-id",c.imgData.cancel=!0,j.style||(j.style=null),j.src?(l&&(l=l.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),l=l.replace(/(]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"
"),l=g(l)),k?(i=k.id||null,b.setAttribs(k,j),d=b.getParent(k,"dl.wp-caption"),l?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=l):(k.className&&(m=k.className.match(/wp-image-([0-9]+)/),n=k.className.match(/align(left|right|center|none)/)),n?(n=n[0],k.className=k.className.replace(/align(left|right|center|none)/g,"")):n="alignnone",n=' class="wp-caption '+n+'"',m&&(m=' id="attachment_'+m[1]+'"'),o=j.width||k.clientWidth,o&&(o=parseInt(o,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),f=k.parentNode&&"A"===k.parentNode.nodeName?k.parentNode:k,h="
'+l+"
",d=b.create("div",{"class":"mceTemp"},h),(e=b.getParent(f,"p"))?e.parentNode.insertBefore(d,e):f.parentNode.insertBefore(d,f),a.$(d).find("dt.wp-caption-dt").append(f),e&&b.isEmpty(e)&&b.remove(e)):d&&(h="A"===k.parentNode.nodeName?b.getOuterHTML(k.parentNode):b.getOuterHTML(k),e=b.create("p",{},h),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(h=b.createHTML("img",j),l?(f=a.selection.getNode(),j.width&&(o=parseInt(j.width,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),h='
'+h+'
'+l+"
",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},h),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('
'+h+"
")):a.selection.setContent(h)),k=b.get("__wp-temp-img-id"),b.setAttrib(k,"id",i),void(c.imgData.node=k)):void(k&&((d=b.getParent(k,"div.mceTemp"))?b.remove(d):"A"===k.parentNode.nodeName?b.remove(k.parentNode):b.remove(k),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.wpcaption=a.serializer.serialize(d).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,"")))}),tinymce.Env.ie&&tinymce.Env.ie>10&&b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()})}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px")))})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g,h=b.command,i=a.dom;if("mceInsertContent"===h)(c=i.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=i.create("p"),i.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged());else if("JustifyLeft"===h||"JustifyRight"===h||"JustifyCenter"===h||"wpAlignNone"===h){if(c=a.selection.getNode(),f="align"+h.slice(7).toLowerCase(),e=a.dom.getParent(c,".wp-caption"),"IMG"!==c.nodeName&&!e)return;c=e||c,g=a.dom.hasClass(c,f)?" alignnone":" "+f,c.className=o(c.className.replace(/ ?align(left|center|right|none)/g,"")+g),a.nodeChanged(),b.preventDefault(),k&&k.reposition(),a.fire("ExecCommand",{command:h,ui:b.ui,value:b.value})}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,h=b.keyCode,i=a.dom,k=tinymce.util.VK;if(h===k.ENTER)c=g.getNode(),d=i.getParent(c,"div.mceTemp"),d&&(i.events.cancel(b),tinymce.each(i.select("dt, dd",d),function(a){i.isEmpty(a)&&i.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'
',e=i.create("p",null,f),"DD"===c.nodeName?i.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if((h===k.DELETE||h===k.BACKSPACE)&&(c=g.getNode(),"DIV"===c.nodeName&&i.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=i.getParent(c,"div.mceTemp")),d))return i.events.cancel(b),j(c),!1}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.wpSetImgCaption=function(a){return c(a)},a.wpGetImgCaption=function(a){return d(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),function(){var b;a.on("dragstart",function(){var c=a.selection.getNode();"IMG"===c.nodeName&&(b=a.dom.getParent(c,".mceTemp"),b||"A"!==c.parentNode.nodeName||f(c.parentNode)||(b=c.parentNode))}),a.on("drop",function(c){var d=a.dom,e=tinymce.dom.RangeUtils.getCaretRangeFromPoint(c.clientX,c.clientY,a.getDoc());e&&d.getParent(e.startContainer,".mceTemp")?c.preventDefault():b&&(c.preventDefault(),a.undoManager.transact(function(){e&&a.selection.setRng(e),a.selection.setNode(b),d.remove(b)})),b=null})}(),a.wp=a.wp||{},a.wp.isPlaceholder=b,{_do_shcode:c,_get_shcode:d}}); \ No newline at end of file diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz index 88b2eb42613b27c7144479ce3eda3f029d728fec..b2492522a558622692caad1205bd40824e22832e 100644 GIT binary patch delta 6843 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 delta 6839 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 (JsKE}mhf9tut^edI< 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