From 21eb699925f8c808945c821cb4c9b9979814ba7d Mon Sep 17 00:00:00 2001 From: jesperbjerke Date: Sun, 22 Nov 2015 11:38:45 +0100 Subject: [PATCH] See CHANGELOG.md v1.3.8 for changes --- CHANGELOG.html | 5 ++ CHANGELOG.md | 4 ++ README.html | 2 + README.md | 2 + js/min/scripts.min.js | 14 ++-- js/tinymce/tinymce.image.js | 3 +- readme.txt | 2 +- wa-fronted.php | 129 +++++++++++++++++++++++++++--------- 8 files changed, 121 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.html b/CHANGELOG.html index 6b2cf8e..349420d 100644 --- a/CHANGELOG.html +++ b/CHANGELOG.html @@ -1,4 +1,9 @@

CHANGELOG

+

1.3.8

+

1.3.7

Proposed extensions

Requirements

diff --git a/README.md b/README.md index 07e6198..611f41c 100644 --- a/README.md +++ b/README.md @@ -62,10 +62,12 @@ WA Fronted (or just “Fronted“) is a frontend editor for WordPress. It’s a * [ ] Mirror style of current WP admin theme * [ ] Ability to create child-categories * [ ] Ability to create settings-modal for each editor +* [ ] Ability to change page template * [ ] Break out built-in extensions into separate plugins ## Proposed extensions * [ ] Live SEO analyzis and tips with Yoast integration +* [ ] WPML integration * [ ] Markdown parser ## Requirements diff --git a/js/min/scripts.min.js b/js/min/scripts.min.js index 6d8f4de..72719ac 100644 --- a/js/min/scripts.min.js +++ b/js/min/scripts.min.js @@ -1,8 +1,8 @@ -window.wp=window.wp||{},tinymce.PluginManager.add("fronted_shortcode",function(o){var t=(window.tinymce,o);o.shortcode_edit={bind_shortcode_edit:function(o){var t=this;o=jQuery(o),o.find(".wa-shortcode-wrap").off("hover").hover(function(){t.show_shortcode_button(jQuery(this),o)},function(){t.hide_shortcode_button()})},show_shortcode_button:function(o,e){var r=this,d=o.children(),n=0!==d.length?jQuery(d[0]):o,s=n.offset(),i=jQuery(window).scrollTop(),a=s.top-i,c=s.top,h=jQuery("#wa-fronted-edit-shortcode");h.removeClass("arrow-over arrow-under"),42>=a?(c=s.top+n.height()+42,h.addClass("arrow-over")):h.addClass("arrow-under"),h.css({left:s.left+(n.width()/2-h.width()/2),top:c}).addClass("show").hover(function(){jQuery(this).addClass("show")},function(){r.hide_shortcode_button()});var f=h.find("#wa-fronted-edit-shortcode-button"),_=h.find("#wa-fronted-remove-shortcode-button");f.addClass("show"),f.off(),f.on("click",function(t){t.preventDefault(),r.show_shortcode_edit(o,e)}),_.addClass("show"),_.off(),_.one("click",function(e){e.preventDefault(),o.remove(),r.hide_shortcode_button(),t.fire("change")})},hide_shortcode_button:function(){jQuery("#wa-fronted-edit-shortcode").removeClass("show"),jQuery("#wa-fronted-edit-shortcode-button").addClass("show"),jQuery("#wa-fronted-remove-shortcode-button").addClass("show"),jQuery("#wa-fronted-edit-shortcode .shortcode-input-wrapper").removeClass("show")},show_shortcode_edit:function(o,t){var e=this,r=wa_fronted.shortcode_from_attr(o),d=o.attr("data-shortcode-base"),n=wa_fronted.apply_filters("shortcode_actions",["gallery"]);if(-1!==n.indexOf(d))wa_fronted.is_editing_shortcode=o,wa_fronted.do_action("shortcode_action_"+d,r,o);else{var s=o.children(),i=0!==s.length?jQuery(s[0]):o,a=i.offset(),c=jQuery("#wa-fronted-edit-shortcode");jQuery("#wa-fronted-edit-shortcode-button").removeClass("show"),jQuery("#wa-fronted-remove-shortcode-button").removeClass("show"),c.find(".shortcode-input-wrapper").addClass("show"),c.find("#submit-shortcode").off().one("click",function(r){r.preventDefault(),wa_fronted.show_loading_spinner();var d=c.find("#wa_fronted_shortcode_input").val();wa_fronted.shortcode_to_html(d,!1,function(r){""!==r?(wa_fronted.replace_html(o,r),e.bind_shortcode_edit(t)):toastr.error(wa_fronted.i18n("Render unsuccessful"),wa_fronted.i18n("Sent code is not a valid shortcode")),wa_fronted.hide_loading_spinner()})}),c.css({left:a.left+(i.width()/2-c.width()/2)}).find("input").val(r).focus()}}},o.addButton("render_shortcode",{tooltip:wa_fronted.i18n("Render as shortcode"),text:"[ ]",context:"insert",onclick:function(){wa_fronted.show_loading_spinner();var t=o.selection.getContent({format:"text"});wa_fronted.shortcode_to_html(t,!0,function(t){""!==t?o.selection.setContent(t):toastr.error(wa_fronted.i18n("Render unsuccessful"),wa_fronted.i18n("Selected text is not a valid shortcode")),o.shortcode_edit.bind_shortcode_edit(o.targetElm),wa_fronted.hide_loading_spinner()})}}),o.settings.toolbar.push("render_shortcode"),jQuery(window).load(function(){o.shortcode_edit.bind_shortcode_edit(o.targetElm)})}); -window.wp=window.wp||{},tinymce.PluginManager.add("fronted_image",function(e){function t(e){return e=e.replace(/(?:

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

<'+g+' id="'+a+'" class="wp-caption '+o+i+'" style="width: '+d+'px"><'+m+' class="wp-caption-dt">'+s+"<"+h+' class="wp-caption-dd wp-caption-text">'+r+"
"):n})}function n(e){return e.replace(/
]*>([\s\S]+?)<\/div>/g,function(e,t){var n="";return-1===t.indexOf("]+>([\\s\\S]+?)<\\/"+h+">","i")),n&&n[1]?"

"+n[1]+"

":""):(n=t.replace(new RegExp("<"+g+" ([^>]+)>\\s*<"+m+" [^>]+>([\\s\\S]+?)<\\/"+m+">\\s*<"+h+" [^>]+>([\\s\\S]*?)<\\/"+h+">\\s*<\\/"+g+">","gi"),function(e,t,n,a){var o,i,r,s;return s=n.match(/width="([0-9]*)"/),s=s&&s[1]?s[1]:"",s&&a?(o=t.match(/id="([^"]*)"/),o=o&&o[1]?o[1]:"",i=t.match(/class="([^"]*)"/),i=i&&i[1]?i[1]:"",r=i.match(/align[a-z]+/i)||"alignnone",i=i.replace(/wp-caption ?|align[a-z]+ ?/gi,""),i&&(i=' class="'+i+'"'),a=a.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")}),a=a.replace(/\s*\n\s*/g,"
"),'[caption id="'+o+'" align="'+r+'" width="'+s+'"'+i+"]"+n+" "+a+"[/caption]"):n}),n=l.trim(n),0!==n.indexOf("[caption")&&(n=t.replace(/[\s\S]*?((?:
]+>)?]+>(?:<\/a>)?)(

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

$1

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

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

'+s+"
"))):f&&(d=A.create("p"),f.parentNode.insertBefore(d,f),d.appendChild(r),A.remove(f)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:e,metadata:n,image:t}),e.nodeChanged()}function r(t){var n,o,r;return"undefined"!=typeof wp&&wp.media?(r=a(t),wp.media.events.trigger("editor:image-edit",{editor:e,metadata:r,image:t}),n=wp.media({frame:"image",state:"image-details",metadata:r}),wp.media.events.trigger("editor:frame-create",{frame:n}),o=function(a){e.focus(),e.undoManager.transact(function(){i(t,a)}),n.detach()},n.state("image-details").on("update",o),n.state("replace-image").on("replace",o),n.on("close",function(){e.focus(),n.detach()}),void n.open()):void e.execCommand("mceImage")}function s(t){var n;"DIV"===t.nodeName&&e.dom.hasClass(t,"mceTemp")?n=t:("IMG"===t.nodeName||"DT"===t.nodeName||"A"===t.nodeName)&&(n=e.dom.getParent(t,"div.mceTemp")),null===n&&null!==e.dom.getParent(t,"a")&&(n=e.dom.getParent(t,"a")),n?(e.selection.select(n.nextSibling?n.nextSibling:n.previousSibling?n.previousSibling:n.parentNode),e.selection.collapse(!0),e.nodeChanged(),e.dom.remove(n)):e.dom.remove(t),jQuery(e.targetElm).find("p:empty").remove(),e.theme.panel.hide(),e.focus()}function d(t,n){n=n||!1;var a=t.states.get("gallery-edit");if(library=a.get("library"),0!==library.length){var o=wp.media.gallery.shortcode(library).string();wa_fronted.shortcode_to_html(o,n===!1?!0:!1,function(t){n!==!1?wa_fronted.replace_html(n,t):e.selection.setContent(t),e.hasOwnProperty("shortcode_edit")&&e.shortcode_edit.bind_shortcode_edit(e.targetElm)})}}function c(e){var t,n,a=wp.shortcode.next("gallery",e),o=wp.media.gallery.defaults.id;return a?(a=a.shortcode,_.isUndefined(a.get("id"))&&!_.isUndefined(o)&&a.set("id",o),t=wp.media.gallery.attachments(a),n=new wp.media.model.Selection(t.models,{props:t.props.toJSON(),multiple:!0}),n.gallery=t.gallery,n.more().done(function(){n.props.set({query:!1}),n.unmirror(),n.props.unset("orderby")}),n):!1}var l=window.tinymce,p=e.getParam("wpeditimage_html5_captions"),g=p?"figure":"dl",m=p?"section":"dt",h=p?"figcaption":"dd",u=!1,f={aspect_ratio:function(e,t){return e/t},round:function(e,t){return Number(Math.round(e+"e"+t)+"e-"+t)},get_closest_image_size:function(e,t,n,a){var o=this,t=Math.round(t),n=Math.round(n),i={diff:null,size_name:null,height:null,width:null,crop:null},r=o.round(o.aspect_ratio(n,t),2);for(size in global_vars.image_sizes){var s=global_vars.image_sizes[size],d=parseInt(s.height),c=parseInt(s.width),l=o.round(o.aspect_ratio(c,d),2);if(r===l||s.crop!==!0&&1!==s.crop){var p=Math.abs(t-d);(p]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")}),l=l.replace(/(]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"
")),c?(s=c.id||null,t.setAttribs(c,d),a=t.getParent(c,".wp-caption"),l?a?(o=t.select(".wp-caption-dd",a)[0])&&(o.innerHTML=l):(c.className&&(u=c.className.match(/wp-image-([0-9]+)/),f=c.className.match(/align(left|right|center|none)/)),f?(f=f[0],c.className=c.className.replace(/align(left|right|center|none)/g,"")):f="alignnone",f=' class="wp-caption '+f+'"',u&&(u=' id="attachment_'+u[1]+'"'),w=d.width||c.clientWidth,w&&(w=parseInt(w,10),p||(w+=10),w=' style="width: '+w+'px"'),c.parentNode&&"A"===c.parentNode.nodeName?(r=t.getOuterHTML(c.parentNode),i=c.parentNode):(r=t.getOuterHTML(c),i=c),r="<"+g+" "+u+f+w+"><"+m+' class="wp-caption-dt">'+r+"<"+h+' class="wp-caption-dd wp-caption-text">'+l+"",(o=t.getParent(c,"p"))?(a=t.create("div",{"class":"mceTemp"},r),t.insertAfter(a,o),e.selection.select(a),e.nodeChanged(),t.remove(i),t.isEmpty(o)&&t.remove(o)):e.selection.setContent('
'+r+"
")):a&&(r=t.getOuterHTML("A"===c.parentNode.nodeName?c.parentNode:c),o=t.create("p",{},r),t.insertAfter(o,a.parentNode),e.selection.select(o),e.nodeChanged(),t.remove(a.parentNode))):(r=t.createHTML("img",d),l?(i=e.selection.getNode(),d.width&&(w=parseInt(d.width,10),p||(w+=10),w=' style="width: '+w+'px"'),r="<"+g+' class="wp-caption alignnone"'+w+"><"+m+' class="wp-caption-dt">'+r+"<"+h+' class="wp-caption-dd wp-caption-text">'+l+"",o="P"===i.nodeName?i:t.getParent(i,"p"),o&&"P"===o.nodeName?(a=t.create("div",{"class":"mceTemp"},r),o.parentNode.insertBefore(a,o),e.selection.select(a),e.nodeChanged(),t.isEmpty(o)&&t.remove(o)):e.selection.setContent('
'+r+"
")):e.selection.setContent(r)),c=t.get("__wp-temp-img-id"),t.setAttrib(c,"id",s),void(n.imgData.node=c)):void(c&&(t.remove((a=t.getParent(c,"div.mceTemp"))?a:"A"===c.parentNode.nodeName?c.parentNode:c),e.nodeChanged()))}),e.on("wpLoadImageData",function(n){var a,o=n.imgData.data,i=n.imgData.node;(a=t.getParent(i,".wp-caption"))&&(a=t.select(".wp-caption-dd",a)[0],a&&(o.caption=e.serializer.serialize(a).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,"")))});var n=["image/jpeg","image/png","image/gif"];e.on("drop",function(t){if(!u&&Modernizr.filereader&&e.settings.fronted_options.media_upload===!0&&(t.preventDefault(),t.stopPropagation(),0!==t.dataTransfer.files.length)){wa_fronted.show_loading_spinner();var a=t.dataTransfer.files[0];if(-1!==jQuery.inArray(a.type,n)){var o=new FileReader;o.onload=function(t){jQuery.post(global_vars.ajax_url,{action:"wa_create_image",post_id:e.settings.fronted_options.post_id,file_data:encodeURIComponent(t.target.result),file_name:a.name,file_type:a.type,wa_fronted_save_nonce:global_vars.nonce},function(t){var n=t.attachment_obj,a=n.sizes.medium,o=''+n.title+'';e.insertContent(o),wa_fronted.hide_loading_spinner()})},o.readAsDataURL(a)}else wa_fronted.show_loading_spinner()}}),t.bind(e.getDoc(),"dragend",function(e){u=!1}),t.bind(e.getDoc(),"dragstart",function(n){var a=e.selection.getNode();u=!0,"IMG"===a.nodeName&&(t.getParent(a,".wp-caption")||t.getParent(a,".gallery-icon"))&&n.preventDefault()}),l.Env.ie&&l.Env.ie>10&&(t.bind(e.getBody(),"mscontrolselect",function(n){"IMG"===n.target.nodeName&&t.getParent(n.target,".wp-caption")?e.getBody().focus():"DL"===n.target.nodeName&&t.hasClass(n.target,"wp-caption")&&n.target.focus()}),e.on("click",function(n){"IMG"===n.target.nodeName&&t.getAttrib(n.target,"data-wp-imgselect")&&t.getParent(n.target,".wp-caption")&&e.getBody().focus()}))}),e.on("ObjectResized",function(t){var n=t.target;if("IMG"===n.nodeName){var a=n.className.match(/wp-image-\d+/);if(null!==a){var o=a[0].match(/\d+/)[0];f.get_closest_image_size(o,n.height,n.width,function(e){e[3]===!0&&(n.className=n.className.replace(/size-\S+/,"size-"+e[4]),n.src=e[0])})}e.undoManager.transact(function(){var a,o,i=e.dom;n.className=n.className.replace(/\bsize-[^ ]+/,""),(a=i.getParent(n,".wp-caption"))&&(o=t.width||i.getAttrib(n,"width"),o&&(o=parseInt(o,10),p||(o+=10),i.setStyle(a,"width",o+"px")))})}}),e.on("BeforeExecCommand",function(t){var n,a,o,i,r=t.command,s=e.dom;if("mceInsertContent"===r)(n=s.getParent(e.selection.getNode(),"div.mceTemp"))?(a=s.create("p"),s.insertAfter(a,n),e.selection.setCursorLocation(a,0),e.nodeChanged()):-1!==t.value.indexOf("[gallery ")&&(t.preventDefault(),wa_fronted.show_loading_spinner(),wa_fronted.shortcode_to_html(t.value,!0,function(t){e.insertContent(t),e.hasOwnProperty("shortcode_edit")&&e.shortcode_edit.bind_shortcode_edit(e.targetElm),wa_fronted.hide_loading_spinner()}));else if("JustifyLeft"===r||"JustifyRight"===r||"JustifyCenter"===r||"alignnone"===r){if(n=e.selection.getNode(),i="align"+r.slice(7).toLowerCase(),o=e.dom.getParent(n,".wp-caption"),"IMG"!==n.nodeName&&!o)return;n=o||n,"alignleft"!==i&&e.dom.removeClass(n,"alignleft"),"aligncenter"!==i&&e.dom.removeClass(n,"aligncenter"),"alignright"!==i&&e.dom.removeClass(n,"alignright"),"alignnone"!==i&&e.dom.toggleClass(n,i),e.nodeChanged(),t.preventDefault()}}),e.on("keydown",function(t){var n,a,o,i,r=e.selection,d=t.keyCode,c=e.dom;if(d===l.util.VK.ENTER)n=r.getNode(),a=c.getParent(n,"div.mceTemp"),a&&(c.events.cancel(t),l.each(c.select(".wp-caption-dt, .wp-caption-dd",a),function(e){c.isEmpty(e)&&c.remove(e)}),i=l.Env.ie&&l.Env.ie<11?"":'
',o=c.create("p",null,i),"DD"===n.nodeName?c.insertAfter(o,a):a.parentNode.insertBefore(o,a),e.nodeChanged(),r.setCursorLocation(o,0));else if((d===l.util.VK.DELETE||d===l.util.VK.BACKSPACE)&&(n=r.getNode(),"DIV"===n.nodeName&&c.hasClass(n,"mceTemp")?a=n:("IMG"===n.nodeName||"DT"===n.nodeName||"A"===n.nodeName)&&(a=c.getParent(n,"div.mceTemp")),a))return c.events.cancel(t),s(n),!1}),e.wpSetImgCaption=function(e){return t(e)},e.wpGetImgCaption=function(e){return n(e)},e.on("BeforeSetContent",function(t){"raw"!==t.format&&(t.content=e.wpSetImgCaption(t.content))}),e.on("PostProcess",function(t){t.get&&(t.content=e.wpGetImgCaption(t.content),t.content=t.content.replace(/ data-wp-imgselect="1"/g,""))}),e.addButton("remove",{tooltip:"Remove",icon:"dashicons-no",onclick:function(){s(e.selection.getNode())}}),e.addButton("edit",{tooltip:"Edit",icon:"dashicons-edit",onclick:function(){r(e.selection.getNode())}}),l.each({alignleft:"Align Left",aligncenter:"Align Center",alignright:"Align Right",alignnone:"Don’t Align"},function(t,n){var a=n.slice(5);e.addButton("img"+n,{tooltip:t,icon:"dashicons-align-"+a,cmd:"alignnone"===n?n:"Justify"+a.slice(0,1).toUpperCase()+a.slice(1),onPostRender:function(){var t=this;e.on("NodeChange",function(a){var o=e.dom.getParent(a.element,".wp-caption")||a.element;t.active("alignnone"===n?!e.dom.hasClass(o,"alignleft")&&!e.dom.hasClass(o,"aligncenter")&&!e.dom.hasClass(o,"alignright"):e.dom.hasClass(o,n))})}})}),e.addButton("wp_media",{tooltip:"Media",icon:"dashicons-admin-media",onclick:function(){wp.media.editor.open(e.id)}}),wa_fronted.add_action("shortcode_action_gallery",function(t,n){if(0!==n.parents("#"+e.id).length){var a=wp.media({frame:"post",state:"gallery-edit",title:wp.media.view.l10n.editGalleryTitle,editing:!0,multiple:!0,selection:c(t)});a.state("gallery-edit").on("update",function(){d(a,n)}),a.on("close",function(){e.focus(),a.detach()}),a.open()}}),{_do_shcode:t,_get_shcode:n}}); -window.wp=window.wp||{},window.send_to_editor=window.send_to_editor||function(e){if(-1!==e.indexOf("[")){wa_fronted.show_loading_spinner();var t="undefined"!=typeof wa_fronted.is_editing_shortcode&&wa_fronted.is_editing_shortcode!==!1;wa_fronted.shortcode_to_html(e,t!==!0,function(n){""!==n?t?wa_fronted.replace_html(wa_fronted.is_editing_shortcode,n):tinymce.activeEditor.selection.setContent(n):tinymce.activeEditor.selection.setContent(e),tinymce.activeEditor.hasOwnProperty("shortcode_edit")&&tinymce.activeEditor.shortcode_edit.bind_shortcode_edit(tinymce.activeEditor.targetElm),wa_fronted.is_editing_shortcode=!1,wa_fronted.hide_loading_spinner()})}else tinymce.activeEditor.selection.setContent(e)},tinymce.ThemeManager.add("fronted",function(e){function t(e,t){for(;e;){if(e.nodeName===t)return e;e=e.parentNode}return!1}function n(n,o){var a,i=[];if(n)return c(n,function(n){function r(){var t=e.selection;"bullist"===c&&t.selectorChanged("ul > li",function(e,t){for(var o,a=t.parents.length;a--&&(o=t.parents[a].nodeName,"OL"!==o&&"UL"!==o););n.active(e&&"UL"===o)}),"numlist"===c&&t.selectorChanged("ol > li",function(e,t){for(var o,a=t.parents.length;a--&&(o=t.parents[a].nodeName,"OL"!==o&&"UL"!==o););n.active(e&&"OL"===o)}),n.settings.stateSelector&&t.selectorChanged(n.settings.stateSelector,function(e){n.active(e)},!0),n.settings.disabledStateSelector&&t.selectorChanged(n.settings.disabledStateSelector,function(e){n.disabled(e)})}var c;"|"===n?a=null:d.has(n)?(n={type:n},s.toolbar_items_size&&(n.size=s.toolbar_items_size),i.push(n),a=null):((!a||o)&&(a={type:"buttongroup",items:[]},i.push(a)),e.buttons[n]&&(c=n,n=e.buttons[c],"function"==typeof n&&(n=n()),n.icon&&-1!==n.icon.indexOf("dashicons")&&(n.icon="dashicon "+n.icon),o&&(n.text=n.tooltip,n.tooltip=!1),n.type=n.type||"button",s.toolbar_items_size&&(n.size=s.toolbar_items_size),"link"===c?n.onPostRender=function(){var n=this;e.on("NodeChange",function(e){n.active(t(e.element,"A"))})}:"unlink"===c&&(n.onPostRender=function(){var t=this;e.on("NodeChange",function(n){var o="A"!==n.element.nodeName&&-1===e.selection.getContent().indexOf("]*>)?(?:]*>)?(?:<\/p>)?/,"")}var n,i,m={},g=0;return s.content_editable=!0,e.on("activate focus",function(){a=!0,l.addClass(e.getBody(),"mce-edit-focus")}),e.on("deactivate blur hide",function(){a=!1,l.removeClass(e.getBody(),"mce-edit-focus")}),e.on("remove",function(){n&&n.remove(),n=null}),s.placeholder&&(e.on("blur LoadContent deactivate",function(){t()&&(e.setContent(s.placeholder),i=!0,l.addClass(e.getBody(),"mce-placeholder"))}),e.on("focus activate",function(){i&&e.setContent("")}),e.on("SetContent",function(t){i&&!t.load&&(i=!1,l.removeClass(e.getBody(),"mce-placeholder"))}),e.on("PostProcess",function(e){i&&e.content&&(e.content="")}),e.on("BeforeAddUndo",function(e){i&&e.preventDefault()})),s.toolbar&&s.toolbar.length&&!n?("relative"===l.getStyle(document.body,"position",!0)&&(g=parseInt(l.getStyle(document.body,"margin-top",!0),10)+parseInt(l.getStyle(document.documentElement,"padding-top",!0),10)+parseInt(l.getStyle(document.documentElement,"margin-top",!0),10)),m.normal=o(s.toolbar),m.img=o(wa_fronted.apply_filters("image_edit_toolbar",["imgalignleft","imgaligncenter","imgalignright","imgalignnone","edit","remove"],s.fronted_options)),m.view=o(["editview","removeview"]),m.media=o(wa_fronted.apply_filters("image_upload_toolbar",["wp_media"],s.fronted_options)),n=r.panel=d.create({type:"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"stack",autohide:!0,items:[m.normal,m.img,m.view,m.media]}),n.reposition=function(t,n){var o,a,i,r,s,d=this.getEl(),f=n||e.selection.getRng(),u=f.getBoundingClientRect(),h=(u.left+u.right)/2,w=window.innerWidth,_=parseInt(l.getStyle(d,"margin-bottom",!0),10)+g;if(f.collapsed||0===h){var v=wa_fronted.getCaretPositionPx();u={top:v.y,bottom:v.y+d.offsetHeight/2,left:v.x,right:v.x},h=v.x}return d.className=(" "+d.className+" ").replace(/\smce-arrow-\S+\s/g," ").slice(1,-1),t=t||"normal",m[t]._visible||(c(m,function(e){e.hide()}),m[t].show()),o=d.offsetWidth,a=o/2,u.top=w?(s+=" mce-arrow-full",r=0):0>r&&u.left+o>w||r+o>w&&u.right-o<0?r=(w-o)/2:0>r?(s+=" mce-arrow-left",r=u.left):r+o>w&&(s+=" mce-arrow-right",r=u.right-o),d.className+=s,l.setStyles(d,{left:r,top:i+window.pageYOffset}),this},n.on("show",function(){var e=this;setTimeout(function(){e._visible&&l.addClass(e.getEl(),"mce-inline-toolbar-active")},100)}),n.on("hide",function(){l.removeClass(this.getEl(),"mce-inline-toolbar-active")}),n.on("cancel",function(){e.focus()}),l.bind(window,"resize",function(){n.hide()}),e.on("selectionchange nodechange",function(t){var o=t.element||e.selection.getNode(),i=e.plugins.wpview.getView(),r=jQuery(o),d=r.hasClass("wa-shortcode-wrap")?r:r.parents(".wa-shortcode-wrap");0!==d.length&&(t.preventDefault(),e.selection.select(d[0]),e.selection.collapse(),n.hide()),e.selection.isCollapsed()&&!i&&n.hide(),setTimeout(function(){var t,r;a&&(!e.selection.isCollapsed()&&(t=e.selection.getContent())&&(t.replace(/<[^>]+>/g,"").trim()||0===t.indexOf("<"))&&"HR"!==o.nodeName||i?(r=i?"view":"IMG"===o.nodeName?"img":"normal",n.show().reposition(r,i)):e.selection.isCollapsed()&&"IMG"!==o.nodeName&&!i&&s.fronted_options.media_upload?n.show().reposition("media",i):n.hide())},100)}),e.shortcuts.add("Alt+F10","",function(){var e=n.find("toolbar")[0];e&&e.focus(!0)}),n.renderTo(document.body).reflow().hide(),c(m,function(e){e.hide()}),{}):{}}}); -window.Modernizr=function(e,t,n){function o(e){_.cssText=e}function i(e,t){return o(y.join(e+";")+(t||""))}function a(e,t){return typeof e===t}function r(e,t){return!!~(""+e).indexOf(t)}function s(e,t){for(var o in e){var i=e[o];if(!r(i,"-")&&_[i]!==n)return"pfx"==t?i:!0}return!1}function c(e,t,o){for(var i in e){var r=t[e[i]];if(r!==n)return o===!1?e[i]:a(r,"function")?r.bind(o||t):r}return!1}function d(e,t,n){var o=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+C.join(o+" ")+o).split(" ");return a(t,"string")||a(t,"undefined")?s(i,t):(i=(e+" "+N.join(o+" ")+o).split(" "),c(i,t,n))}var l,p,u,m="2.8.3",f={},g=!0,h=t.documentElement,w="modernizr",v=t.createElement(w),_=v.style,y=({}.toString," -webkit- -moz- -o- -ms- ".split(" ")),b="Webkit Moz O ms",C=b.split(" "),N=b.toLowerCase().split(" "),E={},x=[],S=x.slice,P=function(e,n,o,i){var a,r,s,c,d=t.createElement("div"),l=t.body,p=l||t.createElement("body");if(parseInt(o,10))for(;o--;)s=t.createElement("div"),s.id=i?i[o]:w+(o+1),d.appendChild(s);return a=["­",'"].join(""),d.id=w,(l?d:p).innerHTML+=a,p.appendChild(d),l||(p.style.background="",p.style.overflow="hidden",c=h.style.overflow,h.style.overflow="hidden",h.appendChild(p)),r=n(d,e),l?d.parentNode.removeChild(d):(p.parentNode.removeChild(p),h.style.overflow=c),!!r},z=function(){function e(e,i){i=i||t.createElement(o[e]||"div"),e="on"+e;var r=e in i;return r||(i.setAttribute||(i=t.createElement("div")),i.setAttribute&&i.removeAttribute&&(i.setAttribute(e,""),r=a(i[e],"function"),a(i[e],"undefined")||(i[e]=n),i.removeAttribute(e))),i=null,r}var o={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),A={}.hasOwnProperty;u=a(A,"undefined")||a(A.call,"undefined")?function(e,t){return t in e&&a(e.constructor.prototype[t],"undefined")}:function(e,t){return A.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=S.call(arguments,1),o=function(){if(this instanceof o){var i=function(){};i.prototype=t.prototype;var a=new i,r=t.apply(a,n.concat(S.call(arguments)));return Object(r)===r?r:a}return t.apply(e,n.concat(S.call(arguments)))};return o}),E.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},E.opacity=function(){return i("opacity:.55"),/^0.55$/.test(_.opacity)},E.cssanimations=function(){return d("animationName")},E.csstransforms=function(){return!!d("transform")},E.csstransforms3d=function(){var e=!!d("perspective");return e&&"webkitPerspective"in h.style&&P("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t,n){e=9===t.offsetLeft&&3===t.offsetHeight}),e},E.csstransitions=function(){return d("transition")};for(var T in E)u(E,T)&&(p=T.toLowerCase(),f[p]=E[T](),x.push((f[p]?"":"no-")+p));return f.addTest=function(e,t){if("object"==typeof e)for(var o in e)u(e,o)&&f.addTest(o,e[o]);else{if(e=e.toLowerCase(),f[e]!==n)return f;t="function"==typeof t?t():t,"undefined"!=typeof g&&g&&(h.className+=" "+(t?"":"no-")+e),f[e]=t}return f},o(""),v=l=null,function(e,t){function n(e,t){var n=e.createElement("p"),o=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",o.insertBefore(n.lastChild,o.firstChild)}function o(){var e=v.elements;return"string"==typeof e?e.split(" "):e}function i(e){var t=w[e[g]];return t||(t={},h++,e[g]=h,w[h]=t),t}function a(e,n,o){if(n||(n=t),l)return n.createElement(e);o||(o=i(n));var a;return a=o.cache[e]?o.cache[e].cloneNode():f.test(e)?(o.cache[e]=o.createElem(e)).cloneNode():o.createElem(e),!a.canHaveChildren||m.test(e)||a.tagUrn?a:o.frag.appendChild(a)}function r(e,n){if(e||(e=t),l)return e.createDocumentFragment();n=n||i(e);for(var a=n.frag.cloneNode(),r=0,s=o(),c=s.length;c>r;r++)a.createElement(s[r]);return a}function s(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return v.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+o().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(v,t.frag)}function c(e){e||(e=t);var o=i(e);return v.shivCSS&&!d&&!o.hasCSS&&(o.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||s(e,o),e}var d,l,p="3.7.0",u=e.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g="_html5shiv",h=0,w={};!function(){try{var e=t.createElement("a");e.innerHTML="",d="hidden"in e,l=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){d=!0,l=!0}}();var v={elements:u.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:p,shivCSS:u.shivCSS!==!1,supportsUnknownElements:l,shivMethods:u.shivMethods!==!1,type:"default",shivDocument:c,createElement:a,createDocumentFragment:r};e.html5=v,c(t)}(this,t),f._version=m,f._prefixes=y,f._domPrefixes=N,f._cssomPrefixes=C,f.hasEvent=z,f.testProp=function(e){return s([e])},f.testAllProps=d,f.testStyles=P,h.className=h.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(g?" js "+x.join(" "):""),f}(this,this.document),function(e,t,n){function o(e){return"[object Function]"==h.call(e)}function i(e){return"string"==typeof e}function a(){}function r(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function s(){var e=w.shift();v=1,e?e.t?f(function(){("c"==e.t?u.injectCss:u.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),s()):v=0}function c(e,n,o,i,a,c,d){function l(t){if(!m&&r(p.readyState)&&(_.r=m=1,!v&&s(),p.onload=p.onreadystatechange=null,t)){"img"!=e&&f(function(){b.removeChild(p)},50);for(var o in S[n])S[n].hasOwnProperty(o)&&S[n][o].onload()}}var d=d||u.errorTimeout,p=t.createElement(e),m=0,h=0,_={t:o,s:n,e:a,a:c,x:d};1===S[n]&&(h=1,S[n]=[]),"object"==e?p.data=n:(p.src=n,p.type=e),p.width=p.height="0",p.onerror=p.onload=p.onreadystatechange=function(){l.call(this,h)},w.splice(i,0,_),"img"!=e&&(h||2===S[n]?(b.insertBefore(p,y?null:g),f(l,d)):S[n].push(p))}function d(e,t,n,o,a){return v=0,t=t||"j",i(e)?c("c"==t?N:C,e,t,this.i++,n,o,a):(w.splice(this.i++,0,e),1==w.length&&s()),this}function l(){var e=u;return e.loader={load:d,i:0},e}var p,u,m=t.documentElement,f=e.setTimeout,g=t.getElementsByTagName("script")[0],h={}.toString,w=[],v=0,_="MozAppearance"in m.style,y=_&&!!t.createRange().compareNode,b=y?m:g.parentNode,m=e.opera&&"[object Opera]"==h.call(e.opera),m=!!t.attachEvent&&!m,C=_?"object":m?"script":"img",N=m?"script":C,E=Array.isArray||function(e){return"[object Array]"==h.call(e)},x=[],S={},P={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};u=function(e){function t(e){var t,n,o,e=e.split("!"),i=x.length,a=e.pop(),r=e.length,a={url:a,origUrl:a,prefixes:e};for(n=0;r>n;n++)o=e[n].split("="),(t=P[o.shift()])&&(a=t(a,o));for(n=0;i>n;n++)a=x[n](a);return a}function r(e,i,a,r,s){var c=t(e),d=c.autoCallback;c.url.split(".").pop().split("?").shift(),c.bypass||(i&&(i=o(i)?i:i[e]||i[r]||i[e.split("/").pop().split("?")[0]]),c.instead?c.instead(e,i,a,r,s):(S[c.url]?c.noexec=!0:S[c.url]=1,a.load(c.url,c.forceCSS||!c.forceJS&&"css"==c.url.split(".").pop().split("?").shift()?"c":n,c.noexec,c.attrs,c.timeout),(o(i)||o(d))&&a.load(function(){l(),i&&i(c.origUrl,s,r),d&&d(c.origUrl,s,r),S[c.url]=2})))}function s(e,t){function n(e,n){if(e){if(i(e))n||(p=function(){var e=[].slice.call(arguments);u.apply(this,e),m()}),r(e,p,t,0,d);else if(Object(e)===e)for(c in s=function(){var t,n=0;for(t in e)e.hasOwnProperty(t)&&n++;return n}(),e)e.hasOwnProperty(c)&&(!n&&!--s&&(o(p)?p=function(){var e=[].slice.call(arguments);u.apply(this,e),m()}:p[c]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),m()}}(u[c])),r(e[c],p,t,c,d))}else!n&&m()}var s,c,d=!!e.test,l=e.load||e.both,p=e.callback||a,u=p,m=e.complete||a;n(d?e.yep:e.nope,!!l),l&&n(l)}var c,d,p=this.yepnope.loader;if(i(e))r(e,0,p,0);else if(E(e))for(c=0;c

'):e.editor.find(".featured-post-placeholder").show(),e.replace_this=e.editor.find(".featured-post-placeholder")},fronted_featured_img.prototype.edit=function(e){var t=this.frame;e=e||!1,t.once("open",function(){var n=t.state().get("selection");e!==!1?(attachment=window.wp.media.attachment(e),attachment.fetch(),n.add(attachment)):n.reset()}),t.open()},fronted_featured_img.prototype.insert_image=function(e,t){var n=this,o=e.state(),i=o.get("selection"),t=t||!1;i&&i.each(function(e){var i,a,r=o.display(e).toJSON(),s=e.toJSON(),d=s.caption;window.wp.media.view.settings.captions||delete s.caption,r=window.wp.media.string.props(r,s),i={id:s.id,post_content:s.description,post_excerpt:d},"featured-image"!==o.id?(r.linkUrl&&(i.url=r.linkUrl),"image"===s.type?(r.url=r.src,a=window.wp.media.string.image(r),_.each({align:"align",size:"image-size",alt:"image_alt"},function(e,t){r[t]&&(i[e]=r[t])})):"video"===s.type?a=window.wp.media.string.video(r,s):"audio"===s.type?a=window.wp.media.string.audio(r,s):(a=window.wp.media.string.link(r),i.post_title=r.title),e.attributes.nonce=window.wp.media.view.settings.nonce.sendToEditor,e.attributes.attachment=i,e.attributes.html=a,e.attributes.post_id=window.wp.media.view.settings.post.id,t!==!1?window.wp.media.view.settings.captions&&d?wa_fronted.shortcode_to_html(e.attributes.html,!0,function(e){wa_fronted.replace_html(t,e),n.replace_this=!1,n.enable_resizing(n.instance,jQuery(n.instance.elements))}):(wa_fronted.replace_html(t,e.attributes.html),n.replace_this=!1):window.wp.media.view.settings.captions&&d?wa_fronted.shortcode_to_html(e.attributes.html,!0,function(e){wa_fronted.insertHtmlAtCaret(e),n.enable_resizing(n.instance,jQuery(n.instance.elements))}):wa_fronted.insertHtmlAtCaret(e.attributes.html)):(wa_fronted.show_loading_spinner(),jQuery.post(global_vars.ajax_url,{action:"wa_set_thumbnail",attachment_id:i.id,image_size:n.options.image_size,post_id:n.options.post_id},function(e){e.hasOwnProperty("html")&&t!==!1&&(wa_fronted.replace_html(t,e.html),n.replace_this=n.editor.find("img.attachment-post-thumbnail"),n.has_thumbnail=!0),wa_fronted.hide_loading_spinner()}))})}}(jQuery); -var EventManager=function(){function e(e,t,n,o){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("actions",e,t,n,o)),c}function t(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&l("actions",t,e),c}function n(e,t){return"string"==typeof e&&r("actions",e,t),c}function o(e,t,n,o){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("filters",e,t,n,o)),c}function i(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?l("filters",t,e):c}function a(e,t){return"string"==typeof e&&r("filters",e,t),c}function r(e,t,n,o){if(p[e][t])if(n){var i,a=p[e][t];if(o)for(i=a.length;i--;){var r=a[i];r.callback===n&&r.context===o&&a.splice(i,1)}else for(i=a.length;i--;)a[i].callback===n&&a.splice(i,1)}else p[e][t]=[]}function s(e,t,n,o,i){var a={callback:n,priority:o,context:i},r=p[e][t];r?(r.push(a),r=d(r)):r=[a],p[e][t]=r}function d(e){for(var t,n,o,i=1,a=e.length;a>i;i++){for(t=e[i],n=i;(o=e[n-1])&&o.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function l(e,t,n){var o=p[e][t];if(!o)return"filters"===e?n[0]:!1;var i=0,a=o.length;if("filters"===e)for(;a>i;i++)n[0]=o[i].callback.apply(o[i].context,n);else for(;a>i;i++)o[i].callback.apply(o[i].context,n);return"filters"===e?n[0]:!0}var c={removeFilter:a,applyFilters:i,addFilter:o,removeAction:n,doAction:t,addAction:e},p={actions:{},filters:{}};return c}; -function escape_regexp(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}window.wa_fronted={};var wa_fronted=window.wa_fronted;!function(e){window.wp=window.wp||{};var t=window.tinymce;e.fn.getCursorPosition=function(){var t=e(this).get(0),n=0;if("selectionStart"in t)n=t.selectionStart;else if("selection"in document){t.focus();var o=document.selection.createRange(),a=document.selection.createRange().text.length;o.moveStart("character",-t.value.length),n=o.text.length-a}return n},wa_fronted={options:e.parseJSON(global_vars.options),data:{editable_areas:[],timers:{},current_selection:!1,current_range:!1,current_editor_options:!1,has_changes:!1,has_errors:!1,is_saving:!1},add_action:function(){var e=arguments[0].split(" ");for(k in e)arguments[0]="wa_fronted."+e[k],wp.hooks.addAction.apply(this,arguments);return this},remove_action:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.removeAction.apply(this,arguments),this},do_action:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.doAction.apply(this,arguments),this},add_filter:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.addFilter.apply(this,arguments),this},remove_filter:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.removeFilter.apply(this,arguments),this},apply_filters:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.applyFilters.apply(this,arguments)},initialize:function(){var t=this;if("undefined"!=typeof t.options.editable_areas&&0!==t.options.editable_areas.length)if(global_vars.post_lock===!1||""===global_vars.post_lock){e.post(global_vars.ajax_url,{action:"wa_fronted_set_post_lock",post_id:global_vars.post_id},function(e){wp.heartbeat.enqueue("wa_fronted_post_lock",{post_id:global_vars.post_id},!1)}),rangy.init();for(var n=function(n,a){a=e(a),a.addClass("wa-fronted-editor"),t.setup_editor(a,t.options.editable_areas[o],t.options),t.data.editable_areas.push({editor:a,options:t.options.editable_areas[o]})},o=0;o"}return o}}),t.do_action("on_bind"),e(document).on("heartbeat-tick.wa_fronted_post_lock",function(e,n){n.hasOwnProperty("wa_fronted_post_lock")&&(n.wa_fronted_post_lock.is_locked!==!1&&""!==n.wa_fronted_post_lock.is_locked?t.show_post_lock_notice(n.wa_fronted_post_lock.is_locked,global_vars.global_post_id):wp.heartbeat.enqueue("wa_fronted_post_lock",{post_id:n.wa_fronted_post_lock.post_id},!1))}),window.onbeforeunload=function(){return t.data.has_changes&&!t.data.is_saving?t.i18n("The changes you have made will be lost if you navigate away from this page."):void 0}},setup_editor:function(n,o,a){var i=this,r={selector:o.container,theme:"fronted",toolbar:["bold","italic","strikethrough","bullist","numlist","blockquote","alignleft","aligncenter","alignright","link","unlink","h2","h3"],plugins:["hr","lists","media","paste","wordpress","wplink","wpdialogs","wpview"],inline:!0,relative_urls:!1,convert_urls:!1,paste_as_text:!0,browser_spellcheck:!0,directionality:o.direction,wpeditimage_html5_captions:!0,fronted_options:o,wpautop:!1,setup:function(t){o.paragraphs!==!0&&(t.on("keydown",function(e){return 13===e.which?(e.preventDefault(),e.stopPropagation(),!1):!0}),t.on("blur",function(e){t.setContent(t.getContent({format:"text"}))})),t.on("paste",function(n){var o=n.clipboardData.getData("text/plain");!o||-1===o.indexOf("http://")&&-1===o.indexOf("https://")||(n.preventDefault(),i.show_loading_spinner(),e.post(global_vars.ajax_url,{action:"wa_get_oembed",link:o},function(e){t.insertContent(e.oembed!==!1?e.oembed:''+o+""),i.hide_loading_spinner()}))}),t.on("change",function(e){clearTimeout(i.data.timers[t.id]),i.data.timers[t.id]=setTimeout(function(){i.data.has_changes=!0,i.validate(n,o),i.autosave(n,o),i.show_save_button()},1e3)}),t.on("click",function(e){if("A"===e.target.nodeName&&e.ctrlKey){var t=window.open(e.target.href,"_blank");t.focus()}}),t.on("focus",function(e){window.wpActiveEditor=t.id}),i.do_action("on_tinymce_setup",t,o,a)}};if(void 0===o.toolbar&&(o.toolbar="full"),"false"===o.toolbar||o.toolbar===!1?r.toolbar=!1:"full"!==o.toolbar&&(r.toolbar=o.toolbar.replace(/\s+/g,"").split(",")),"false"!==o.toolbar&&o.toolbar!==!1&&(r.toolbar=i.apply_filters("toolbar_buttons",r.toolbar,o)),n.click(function(){var t=window.getSelection();t&&(i.data.current_selection=e.extend({},t),t.rangeCount&&(i.data.current_range=t.getRangeAt(0)))}),"only"!==o.media_upload&&o["native"]){if("meta_select"!==o.field_type)o.media_upload===!0&&r.plugins.push("fronted_image"),o.shortcodes===!0&&r.plugins.push("fronted_shortcode"),r.plugins=i.apply_filters("editor_plugins",r.plugins,o),t.init(r);else if(o.hasOwnProperty("values")&&o.values.length>1&&o.hasOwnProperty("meta_key")&&o["native"]){var s=document.createElement("select");s.id="select_"+o.meta_key,s.name="select_"+o.meta_key,s.className="wa_fronted_select";for(var d=0;d0&&(e=a[0].left,t=a[0].top)}if(0==e&&0==t){var i=window.document.createElement("span");if(i.getClientRects){i.appendChild(window.document.createTextNode("​")),o.insertNode(i),rect=i.getClientRects()[0],e=rect.left,t=rect.top;var r=i.parentNode;r.removeChild(i),r.normalize()}}}return{x:e,y:t}},getSelectionText:function(){var e="";return window.getSelection?e=window.getSelection().toString():document.selection&&"Control"!=document.selection.type&&(e=document.selection.createRange().text),e},specific_output_to:function(e,t,n,o){if(!t.hasOwnProperty("output_to"))return!1;if(t.output_to.hasOwnProperty("selector")){var a=e.find(t.output_to.selector);if(0===a.length)return!1;t.output_to.hasOwnProperty("attr")?a.attr(t.output_to.attr,o):a.html(o)}else if(Array.isArray(t.output_to))for(var i=0;i'+t+"").appendTo("#wa_fronted_tax_"+n),e("#wa_fronted_tax_"+n).trigger("change"),a.hide_loading_spinner()})},get_revisions:function(t,n){var o=this;o.show_loading_spinner(),e.post(global_vars.ajax_url,{action:"wa_get_revisions",post_id:t},function(e){o.hide_loading_spinner(),n(e)})},switch_to_revision:function(e){for(var n=this,o=n.data.editable_areas,a=0;a=0&&(e("#wa-next-revision").removeClass("disabled"),a-=1,revision_input.val(t[a].post_date),o.switch_to_revision(t[a]),0===a&&e(this).addClass("disabled"))}),e("#wa-next-revision").on("click",function(n){n.preventDefault(),a+1<=t.length-1&&(e("#wa-previous-revision").removeClass("disabled"),a+=1,revision_input.val(t[a].post_date),o.switch_to_revision(t[a]),a===t.length-1&&e(this).addClass("disabled"))}),e("#wa-fronted-revisions-modal").fadeIn("fast")}})},check_autosave:function(t){var n=this;e.post(global_vars.ajax_url,{action:"wa_fronted_get_autosave",post_id:t},function(e){e.success&&e.data!==!1&&confirm(n.i18n("There is an autosave of this post that is more recent than the version below. View the autosave?"))&&n.show_revision_modal(t,!0)})},show_post_lock_notice:function(t,n){var o=this;confirm(o.i18n("Another user is currently editing this post. Take over?"))&&e.post(global_vars.ajax_url,{action:"wa_fronted_set_post_lock",post_id:n},function(e){e.success&&e.data!==!1&&location.reload()})},i18n:function(){var e=Array.prototype.slice.call(arguments),t=e.shift();if(global_vars.i18n.hasOwnProperty(t)&&(t=global_vars.i18n[t]),-1!==t.indexOf("%s")&&Array.isArray(e)&&0!==e.length)for(var n=0;n=c?(l=o.top+i.height()+42,u.addClass("arrow-over")):u.addClass("arrow-under"),u.css({left:o.left+(i.width()/2-u.width()/2),top:l}).addClass("show").hover(function(){jQuery(this).addClass("show")},function(){a.hide_shortcode_button()});var m=u.find("#wa-fronted-edit-shortcode-button"),d=u.find("#wa-fronted-remove-shortcode-button");m.addClass("show"),m.off(),m.on("click",function(t){t.preventDefault(),a.show_shortcode_edit(e,n)}),d.addClass("show"),d.off(),d.one("click",function(n){n.preventDefault(),e.remove(),a.hide_shortcode_button(),t.fire("change")})},hide_shortcode_button:function(){jQuery("#wa-fronted-edit-shortcode").removeClass("show"),jQuery("#wa-fronted-edit-shortcode-button").addClass("show"),jQuery("#wa-fronted-remove-shortcode-button").addClass("show"),jQuery("#wa-fronted-edit-shortcode .shortcode-input-wrapper").removeClass("show")},show_shortcode_edit:function(e,t){var n=this,a=wa_fronted.shortcode_from_attr(e),r=e.attr("data-shortcode-base"),i=wa_fronted.apply_filters("shortcode_actions",["gallery"]);if(-1!==i.indexOf(r))wa_fronted.is_editing_shortcode=e,wa_fronted.do_action("shortcode_action_"+r,a,e);else{var o=e.children(),s=0!==o.length?jQuery(o[0]):e,c=s.offset(),l=jQuery("#wa-fronted-edit-shortcode");jQuery("#wa-fronted-edit-shortcode-button").removeClass("show"),jQuery("#wa-fronted-remove-shortcode-button").removeClass("show"),l.find(".shortcode-input-wrapper").addClass("show"),l.find("#submit-shortcode").off().one("click",function(a){a.preventDefault(),wa_fronted.show_loading_spinner();var r=l.find("#wa_fronted_shortcode_input").val();wa_fronted.shortcode_to_html(r,!1,function(a){""!==a?(wa_fronted.replace_html(e,a),n.bind_shortcode_edit(t)):toastr.error(wa_fronted.i18n("Render unsuccessful"),wa_fronted.i18n("Sent code is not a valid shortcode")),wa_fronted.hide_loading_spinner()})}),l.css({left:c.left+(s.width()/2-l.width()/2)}).find("input").val(a).focus()}}},e.addButton("render_shortcode",{tooltip:wa_fronted.i18n("Render as shortcode"),text:"[ ]",context:"insert",onclick:function(){wa_fronted.show_loading_spinner();var t=e.selection.getContent({format:"text"});wa_fronted.shortcode_to_html(t,!0,function(t){""!==t?e.selection.setContent(t):toastr.error(wa_fronted.i18n("Render unsuccessful"),wa_fronted.i18n("Selected text is not a valid shortcode")),e.shortcode_edit.bind_shortcode_edit(e.targetElm),wa_fronted.hide_loading_spinner()})}}),e.settings.toolbar.push("render_shortcode"),jQuery(window).load(function(){e.shortcode_edit.bind_shortcode_edit(e.targetElm)})}); +window.wp=window.wp||{},tinymce.PluginManager.add("fronted_image",function(e){function t(e){return e=e.replace(/(?:

)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(e,t,n){var a,r,i,o,s,c,l=u.trim;return a=t.match(/id=['"]([^'"]*)['"] ?/),a&&(t=t.replace(a[0],"")),r=t.match(/align=['"]([^'"]*)['"] ?/),r&&(t=t.replace(r[0],"")),i=t.match(/class=['"]([^'"]*)['"] ?/),i&&(t=t.replace(i[0],"")),c=t.match(/width=['"]([0-9]*)['"] ?/),c&&(t=t.replace(c[0],"")),n=l(n),s=n.match(/((?:]+>)?]+>(?:<\/a>)?)([\s\S]*)/i),s&&s[2]?(o=l(s[2]),s=l(s[1])):(o=l(t).replace(/caption=['"]/,"").replace(/['"]$/,""),s=n),a=a&&a[1]?a[1].replace(/[<>&]+/g,""):"",r=r&&r[1]?r[1]:"alignnone",i=i&&i[1]?" "+i[1].replace(/[<>&]+/g,""):"",!c&&s&&(c=s.match(/width=['"]([0-9]*)['"]/)),c&&c[1]&&(c=c[1]),c&&o?(c=parseInt(c,10),m||(c+=10),'

"):n})}function n(e){return e.replace(/
]*>([\s\S]+?)<\/div>/g,function(e,t){var n="";return-1===t.indexOf("]+>([\\s\\S]+?)<\\/"+p+">","i")),n&&n[1]?"

"+n[1]+"

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

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

$1

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

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

'+s+"
"))):g&&(c=F.create("p"),g.parentNode.insertBefore(c,g),c.appendChild(o),F.remove(g)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:e,metadata:n,image:t}),e.nodeChanged()}function o(t){var n,r,o;return"undefined"!=typeof wp&&wp.media?(o=a(t),wp.media.events.trigger("editor:image-edit",{editor:e,metadata:o,image:t}),n=wp.media({frame:"image",state:"image-details",metadata:o}),wp.media.events.trigger("editor:frame-create",{frame:n}),r=function(a){e.focus(),e.undoManager.transact(function(){i(t,a)}),n.detach()},n.state("image-details").on("update",r),n.state("replace-image").on("replace",r),n.on("close",function(){e.focus(),n.detach()}),void n.open()):void e.execCommand("mceImage")}function s(t){var n;"DIV"===t.nodeName&&e.dom.hasClass(t,"mceTemp")?n=t:("IMG"===t.nodeName||"DT"===t.nodeName||"A"===t.nodeName)&&(n=e.dom.getParent(t,"div.mceTemp")),null===n&&null!==e.dom.getParent(t,"a")&&(n=e.dom.getParent(t,"a")),n?(e.selection.select(n.nextSibling?n.nextSibling:n.previousSibling?n.previousSibling:n.parentNode),e.selection.collapse(!0),e.nodeChanged(),e.dom.remove(n)):e.dom.remove(t),jQuery(e.targetElm).find("p:empty").remove(),e.theme.panel.hide(),e.focus()}function c(t,n){n=n||!1;var a=t.states.get("gallery-edit");if(library=a.get("library"),0!==library.length){var r=wp.media.gallery.shortcode(library).string();wa_fronted.shortcode_to_html(r,n===!1?!0:!1,function(t){n!==!1?wa_fronted.replace_html(n,t):e.selection.setContent(t),e.hasOwnProperty("shortcode_edit")&&e.shortcode_edit.bind_shortcode_edit(e.targetElm)})}}function l(e){var t,n,a=wp.shortcode.next("gallery",e),r=wp.media.gallery.defaults.id;return a?(a=a.shortcode,_.isUndefined(a.get("id"))&&!_.isUndefined(r)&&a.set("id",r),t=wp.media.gallery.attachments(a),n=new wp.media.model.Selection(t.models,{props:t.props.toJSON(),multiple:!0}),n.gallery=t.gallery,n.more().done(function(){n.props.set({query:!1}),n.unmirror(),n.props.unset("orderby")}),n):!1}var u=window.tinymce,m=e.getParam("wpeditimage_html5_captions"),d=m?"figure":"dl",f=m?"section":"dt",p=m?"figcaption":"dd",g=!1,v={aspect_ratio:function(e,t){return e/t},round:function(e,t){return Number(Math.round(e+"e"+t)+"e-"+t)},get_closest_image_size:function(e,t,n,a){var r=this,t=Math.round(t),n=Math.round(n),i={diff:null,size_name:null,height:null,width:null,crop:null},o=r.round(r.aspect_ratio(n,t),2);for(size in global_vars.image_sizes){var s=global_vars.image_sizes[size],c=parseInt(s.height),l=parseInt(s.width),u=r.round(r.aspect_ratio(l,c),2);if(o===u||s.crop!==!0&&1!==s.crop){var m=Math.abs(t-c);(m]+)?>/g,function(e){return e.replace(/[\r\n\t]+/," ")}),u=u.replace(/(]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"
")),l?(s=l.id||null,t.setAttribs(l,c),a=t.getParent(l,".wp-caption"),u?a?(r=t.select(".wp-caption-dd",a)[0])&&(r.innerHTML=u):(l.className&&(_=l.className.match(/wp-image-([0-9]+)/),g=l.className.match(/align(left|right|center|none)/)),g?(g=g[0],l.className=l.className.replace(/align(left|right|center|none)/g,"")):g="alignnone",g=' class="wp-caption '+g+'"',_&&(_=' id="attachment_'+_[1]+'"'),v=c.width||l.clientWidth,v&&(v=parseInt(v,10),m||(v+=10),v=' style="width: '+v+'px"'),l.parentNode&&"A"===l.parentNode.nodeName?(o=t.getOuterHTML(l.parentNode),i=l.parentNode):(o=t.getOuterHTML(l),i=l),o="<"+d+" "+_+g+v+"><"+f+' class="wp-caption-dt">'+o+"<"+p+' class="wp-caption-dd wp-caption-text">'+u+"",(r=t.getParent(l,"p"))?(a=t.create("div",{"class":"mceTemp"},o),t.insertAfter(a,r),e.selection.select(a),e.nodeChanged(),t.remove(i),t.isEmpty(r)&&t.remove(r)):e.selection.setContent('
'+o+"
")):a&&(o=t.getOuterHTML("A"===l.parentNode.nodeName?l.parentNode:l),r=t.create("p",{},o),t.insertAfter(r,a.parentNode),e.selection.select(r),e.nodeChanged(),t.remove(a.parentNode))):(o=t.createHTML("img",c),u?(i=e.selection.getNode(),c.width&&(v=parseInt(c.width,10),m||(v+=10),v=' style="width: '+v+'px"'),o="<"+d+' class="wp-caption alignnone"'+v+"><"+f+' class="wp-caption-dt">'+o+"<"+p+' class="wp-caption-dd wp-caption-text">'+u+"",r="P"===i.nodeName?i:t.getParent(i,"p"),r&&"P"===r.nodeName?(a=t.create("div",{"class":"mceTemp"},o),r.parentNode.insertBefore(a,r),e.selection.select(a),e.nodeChanged(),t.isEmpty(r)&&t.remove(r)):e.selection.setContent('
'+o+"
")):e.selection.setContent(o)),l=t.get("__wp-temp-img-id"),t.setAttrib(l,"id",s),void(n.imgData.node=l)):void(l&&(t.remove((a=t.getParent(l,"div.mceTemp"))?a:"A"===l.parentNode.nodeName?l.parentNode:l),e.nodeChanged()))}),e.on("wpLoadImageData",function(n){var a,r=n.imgData.data,i=n.imgData.node;(a=t.getParent(i,".wp-caption"))&&(a=t.select(".wp-caption-dd",a)[0],a&&(r.caption=e.serializer.serialize(a).replace(/]*>/g,"$&\n").replace(/^

/,"").replace(/<\/p>$/,"")))});var n=["image/jpeg","image/png","image/gif"];e.on("drop",function(t){if(!g&&Modernizr.filereader&&e.settings.fronted_options.media_upload===!0&&(t.preventDefault(),t.stopPropagation(),0!==t.dataTransfer.files.length)){wa_fronted.show_loading_spinner();var a=t.dataTransfer.files[0];if(-1!==jQuery.inArray(a.type,n)){var r=new FileReader;r.onload=function(t){jQuery.post(global_vars.ajax_url,{action:"wa_create_image",post_id:e.settings.fronted_options.post_id,file_data:encodeURIComponent(t.target.result),file_name:a.name,file_type:a.type,wa_fronted_save_nonce:global_vars.nonce},function(t){var n=t.attachment_obj,a=n.sizes.medium,r=''+n.title+'';e.insertContent(r),wa_fronted.hide_loading_spinner()})},r.readAsDataURL(a)}else wa_fronted.show_loading_spinner()}}),t.bind(e.getDoc(),"dragend",function(e){g=!1}),t.bind(e.getDoc(),"dragstart",function(n){var a=e.selection.getNode();g=!0,"IMG"===a.nodeName&&(t.getParent(a,".wp-caption")||t.getParent(a,".gallery-icon"))&&n.preventDefault()}),u.Env.ie&&u.Env.ie>10&&(t.bind(e.getBody(),"mscontrolselect",function(n){"IMG"===n.target.nodeName&&t.getParent(n.target,".wp-caption")?e.getBody().focus():"DL"===n.target.nodeName&&t.hasClass(n.target,"wp-caption")&&n.target.focus()}),e.on("click",function(n){"IMG"===n.target.nodeName&&t.getAttrib(n.target,"data-wp-imgselect")&&t.getParent(n.target,".wp-caption")&&e.getBody().focus()}))}),e.on("ObjectResized",function(t){var n=t.target;if("IMG"===n.nodeName){var a=n.className.match(/wp-image-\d+/);if(null!==a){var r=a[0].match(/\d+/)[0];v.get_closest_image_size(r,n.height,n.width,function(e){e[3]===!0&&(n.className=n.className.replace(/size-\S+/,"size-"+e[4]),n.src=e[0])})}e.undoManager.transact(function(){var a,r,i=e.dom;n.className=n.className.replace(/\bsize-[^ ]+/,""),(a=i.getParent(n,".wp-caption"))&&(r=t.width||i.getAttrib(n,"width"),r&&(r=parseInt(r,10),m||(r+=10),i.setStyle(a,"width",r+"px")))})}}),e.on("BeforeExecCommand",function(t){var n,a,r,i,o=t.command,s=e.dom;if("mceInsertContent"===o)(n=s.getParent(e.selection.getNode(),"div.mceTemp"))?(a=s.create("p"),s.insertAfter(a,n),e.selection.setCursorLocation(a,0),e.nodeChanged()):t.value.hasOwnProperty("content")||-1===t.value.indexOf("[gallery ")||(t.preventDefault(),wa_fronted.show_loading_spinner(),wa_fronted.shortcode_to_html(t.value,!0,function(t){e.insertContent(t),e.hasOwnProperty("shortcode_edit")&&e.shortcode_edit.bind_shortcode_edit(e.targetElm),wa_fronted.hide_loading_spinner()}));else if("JustifyLeft"===o||"JustifyRight"===o||"JustifyCenter"===o||"alignnone"===o){if(n=e.selection.getNode(),i="align"+o.slice(7).toLowerCase(),r=e.dom.getParent(n,".wp-caption"),"IMG"!==n.nodeName&&!r)return;n=r||n,"alignleft"!==i&&e.dom.removeClass(n,"alignleft"),"aligncenter"!==i&&e.dom.removeClass(n,"aligncenter"),"alignright"!==i&&e.dom.removeClass(n,"alignright"),"alignnone"!==i&&e.dom.toggleClass(n,i),e.nodeChanged(),t.preventDefault()}}),e.on("keydown",function(t){var n,a,r,i,o=e.selection,c=t.keyCode,l=e.dom;if(c===u.util.VK.ENTER)n=o.getNode(),a=l.getParent(n,"div.mceTemp"),a&&(l.events.cancel(t),u.each(l.select(".wp-caption-dt, .wp-caption-dd",a),function(e){l.isEmpty(e)&&l.remove(e)}),i=u.Env.ie&&u.Env.ie<11?"":'
',r=l.create("p",null,i),"DD"===n.nodeName?l.insertAfter(r,a):a.parentNode.insertBefore(r,a),e.nodeChanged(),o.setCursorLocation(r,0));else if((c===u.util.VK.DELETE||c===u.util.VK.BACKSPACE)&&(n=o.getNode(),"DIV"===n.nodeName&&l.hasClass(n,"mceTemp")?a=n:("IMG"===n.nodeName||"DT"===n.nodeName||"A"===n.nodeName)&&(a=l.getParent(n,"div.mceTemp")),a))return l.events.cancel(t),s(n),!1}),e.wpSetImgCaption=function(e){return t(e)},e.wpGetImgCaption=function(e){return n(e)},e.on("BeforeSetContent",function(t){"raw"!==t.format&&(t.content=e.wpSetImgCaption(t.content))}),e.on("PostProcess",function(t){t.get&&(t.content=e.wpGetImgCaption(t.content),t.content=t.content.replace(/ data-wp-imgselect="1"/g,""))}),e.addButton("remove",{tooltip:"Remove",icon:"dashicons-no",onclick:function(){s(e.selection.getNode())}}),e.addButton("edit",{tooltip:"Edit",icon:"dashicons-edit",onclick:function(){o(e.selection.getNode())}}),u.each({alignleft:"Align Left",aligncenter:"Align Center",alignright:"Align Right",alignnone:"Don’t Align"},function(t,n){var a=n.slice(5);e.addButton("img"+n,{tooltip:t,icon:"dashicons-align-"+a,cmd:"alignnone"===n?n:"Justify"+a.slice(0,1).toUpperCase()+a.slice(1),onPostRender:function(){var t=this;e.on("NodeChange",function(a){var r=e.dom.getParent(a.element,".wp-caption")||a.element;t.active("alignnone"===n?!e.dom.hasClass(r,"alignleft")&&!e.dom.hasClass(r,"aligncenter")&&!e.dom.hasClass(r,"alignright"):e.dom.hasClass(r,n))})}})}),e.addButton("wp_media",{tooltip:"Media",icon:"dashicons-admin-media",onclick:function(){wp.media.editor.open(e.id)}}),wa_fronted.add_action("shortcode_action_gallery",function(t,n){if(0!==n.parents("#"+e.id).length){var a=wp.media({frame:"post",state:"gallery-edit",title:wp.media.view.l10n.editGalleryTitle,editing:!0,multiple:!0,selection:l(t)});a.state("gallery-edit").on("update",function(){c(a,n)}),a.on("close",function(){e.focus(),a.detach()}),a.open()}}),{_do_shcode:t,_get_shcode:n}}); +window.wp=window.wp||{},window.send_to_editor=window.send_to_editor||function(e){if(-1!==e.indexOf("[")){wa_fronted.show_loading_spinner();var t="undefined"!=typeof wa_fronted.is_editing_shortcode&&wa_fronted.is_editing_shortcode!==!1;wa_fronted.shortcode_to_html(e,t!==!0,function(n){""!==n?t?wa_fronted.replace_html(wa_fronted.is_editing_shortcode,n):tinymce.activeEditor.selection.setContent(n):tinymce.activeEditor.selection.setContent(e),tinymce.activeEditor.hasOwnProperty("shortcode_edit")&&tinymce.activeEditor.shortcode_edit.bind_shortcode_edit(tinymce.activeEditor.targetElm),wa_fronted.is_editing_shortcode=!1,wa_fronted.hide_loading_spinner()})}else tinymce.activeEditor.selection.setContent(e)},tinymce.ThemeManager.add("fronted",function(e){function t(e,t){for(;e;){if(e.nodeName===t)return e;e=e.parentNode}return!1}function n(n,a){var r,i=[];if(n)return l(n,function(n){function o(){var t=e.selection;"bullist"===l&&t.selectorChanged("ul > li",function(e,t){for(var a,r=t.parents.length;r--&&(a=t.parents[r].nodeName,"OL"!==a&&"UL"!==a););n.active(e&&"UL"===a)}),"numlist"===l&&t.selectorChanged("ol > li",function(e,t){for(var a,r=t.parents.length;r--&&(a=t.parents[r].nodeName,"OL"!==a&&"UL"!==a););n.active(e&&"OL"===a)}),n.settings.stateSelector&&t.selectorChanged(n.settings.stateSelector,function(e){n.active(e)},!0),n.settings.disabledStateSelector&&t.selectorChanged(n.settings.disabledStateSelector,function(e){n.disabled(e)})}var l;"|"===n?r=null:c.has(n)?(n={type:n},s.toolbar_items_size&&(n.size=s.toolbar_items_size),i.push(n),r=null):((!r||a)&&(r={type:"buttongroup",items:[]},i.push(r)),e.buttons[n]&&(l=n,n=e.buttons[l],"function"==typeof n&&(n=n()),n.icon&&-1!==n.icon.indexOf("dashicons")&&(n.icon="dashicon "+n.icon),a&&(n.text=n.tooltip,n.tooltip=!1),n.type=n.type||"button",s.toolbar_items_size&&(n.size=s.toolbar_items_size),"link"===l?n.onPostRender=function(){var n=this;e.on("NodeChange",function(e){n.active(t(e.element,"A"))})}:"unlink"===l&&(n.onPostRender=function(){var t=this;e.on("NodeChange",function(n){var a="A"!==n.element.nodeName&&-1===e.selection.getContent().indexOf("]*>)?(?:]*>)?(?:<\/p>)?/,"")}var n,i,d={},_=0;return s.content_editable=!0,e.on("activate focus",function(){r=!0,u.addClass(e.getBody(),"mce-edit-focus")}),e.on("deactivate blur hide",function(){r=!1,u.removeClass(e.getBody(),"mce-edit-focus")}),e.on("remove",function(){n&&n.remove(),n=null}),s.placeholder&&(e.on("blur LoadContent deactivate",function(){t()&&(e.setContent(s.placeholder),i=!0,u.addClass(e.getBody(),"mce-placeholder"))}),e.on("focus activate",function(){i&&e.setContent("")}),e.on("SetContent",function(t){i&&!t.load&&(i=!1,u.removeClass(e.getBody(),"mce-placeholder"))}),e.on("PostProcess",function(e){i&&e.content&&(e.content="")}),e.on("BeforeAddUndo",function(e){i&&e.preventDefault()})),s.toolbar&&s.toolbar.length&&!n?("relative"===u.getStyle(document.body,"position",!0)&&(_=parseInt(u.getStyle(document.body,"margin-top",!0),10)+parseInt(u.getStyle(document.documentElement,"padding-top",!0),10)+parseInt(u.getStyle(document.documentElement,"margin-top",!0),10)),d.normal=a(s.toolbar),d.img=a(wa_fronted.apply_filters("image_edit_toolbar",["imgalignleft","imgaligncenter","imgalignright","imgalignnone","edit","remove"],s.fronted_options)),d.view=a(["editview","removeview"]),d.media=a(wa_fronted.apply_filters("image_upload_toolbar",["wp_media"],s.fronted_options)),n=o.panel=c.create({type:"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"stack",autohide:!0,items:[d.normal,d.img,d.view,d.media]}),n.reposition=function(t,n){var a,r,i,o,s,c=this.getEl(),f=n||e.selection.getRng(),p=f.getBoundingClientRect(),g=(p.left+p.right)/2,v=window.innerWidth,h=parseInt(u.getStyle(c,"margin-bottom",!0),10)+_;if(f.collapsed||0===g){var b=wa_fronted.getCaretPositionPx();p={top:b.y,bottom:b.y+c.offsetHeight/2,left:b.x,right:b.x},g=b.x}return c.className=(" "+c.className+" ").replace(/\smce-arrow-\S+\s/g," ").slice(1,-1),t=t||"normal",d[t]._visible||(l(d,function(e){e.hide()}),d[t].show()),a=c.offsetWidth,r=a/2,p.top=v?(s+=" mce-arrow-full",o=0):0>o&&p.left+a>v||o+a>v&&p.right-a<0?o=(v-a)/2:0>o?(s+=" mce-arrow-left",o=p.left):o+a>v&&(s+=" mce-arrow-right",o=p.right-a),c.className+=s,u.setStyles(c,{left:o,top:i+window.pageYOffset}),this},n.on("show",function(){var e=this;setTimeout(function(){e._visible&&u.addClass(e.getEl(),"mce-inline-toolbar-active")},100)}),n.on("hide",function(){u.removeClass(this.getEl(),"mce-inline-toolbar-active")}),n.on("cancel",function(){e.focus()}),u.bind(window,"resize",function(){n.hide()}),e.on("selectionchange nodechange",function(t){var a=t.element||e.selection.getNode(),i=e.plugins.wpview.getView(),o=jQuery(a),c=o.hasClass("wa-shortcode-wrap")?o:o.parents(".wa-shortcode-wrap");0!==c.length&&(t.preventDefault(),e.selection.select(c[0]),e.selection.collapse(),n.hide()),e.selection.isCollapsed()&&!i&&n.hide(),setTimeout(function(){var t,o;r&&(!e.selection.isCollapsed()&&(t=e.selection.getContent())&&(t.replace(/<[^>]+>/g,"").trim()||0===t.indexOf("<"))&&"HR"!==a.nodeName||i?(o=i?"view":"IMG"===a.nodeName?"img":"normal",n.show().reposition(o,i)):e.selection.isCollapsed()&&"IMG"!==a.nodeName&&!i&&s.fronted_options.media_upload?n.show().reposition("media",i):n.hide())},100)}),e.shortcuts.add("Alt+F10","",function(){var e=n.find("toolbar")[0];e&&e.focus(!0)}),n.renderTo(document.body).reflow().hide(),l(d,function(e){e.hide()}),{}):{}}}); +window.Modernizr=function(e,t,n){function a(e){b.cssText=e}function r(e,t){return a(w.join(e+";")+(t||""))}function i(e,t){return typeof e===t}function o(e,t){return!!~(""+e).indexOf(t)}function s(e,t){for(var a in e){var r=e[a];if(!o(r,"-")&&b[r]!==n)return"pfx"==t?r:!0}return!1}function c(e,t,a){for(var r in e){var o=t[e[r]];if(o!==n)return a===!1?e[r]:i(o,"function")?o.bind(a||t):o}return!1}function l(e,t,n){var a=e.charAt(0).toUpperCase()+e.slice(1),r=(e+" "+k.join(a+" ")+a).split(" ");return i(t,"string")||i(t,"undefined")?s(r,t):(r=(e+" "+x.join(a+" ")+a).split(" "),c(r,t,n))}var u,m,d,f="2.8.3",_={},p=!0,g=t.documentElement,v="modernizr",h=t.createElement(v),b=h.style,w=({}.toString," -webkit- -moz- -o- -ms- ".split(" ")),y="Webkit Moz O ms",k=y.split(" "),x=y.toLowerCase().split(" "),D={},F=[],$=F.slice,A=function(e,n,a,r){var i,o,s,c,l=t.createElement("div"),u=t.body,m=u||t.createElement("body");if(parseInt(a,10))for(;a--;)s=t.createElement("div"),s.id=r?r[a]:v+(a+1),l.appendChild(s);return i=["­",'"].join(""),l.id=v,(u?l:m).innerHTML+=i,m.appendChild(l),u||(m.style.background="",m.style.overflow="hidden",c=g.style.overflow,g.style.overflow="hidden",g.appendChild(m)),o=n(l,e),u?l.parentNode.removeChild(l):(m.parentNode.removeChild(m),g.style.overflow=c),!!o},M=function(){function e(e,r){r=r||t.createElement(a[e]||"div"),e="on"+e;var o=e in r;return o||(r.setAttribute||(r=t.createElement("div")),r.setAttribute&&r.removeAttribute&&(r.setAttribute(e,""),o=i(r[e],"function"),i(r[e],"undefined")||(r[e]=n),r.removeAttribute(e))),r=null,o}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),S={}.hasOwnProperty;d=i(S,"undefined")||i(S.call,"undefined")?function(e,t){return t in e&&i(e.constructor.prototype[t],"undefined")}:function(e,t){return S.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=$.call(arguments,1),a=function(){if(this instanceof a){var r=function(){};r.prototype=t.prototype;var i=new r,o=t.apply(i,n.concat($.call(arguments)));return Object(o)===o?o:i}return t.apply(e,n.concat($.call(arguments)))};return a}),D.draganddrop=function(){var e=t.createElement("div");return"draggable"in e||"ondragstart"in e&&"ondrop"in e},D.opacity=function(){return r("opacity:.55"),/^0.55$/.test(b.opacity)},D.cssanimations=function(){return l("animationName")},D.csstransforms=function(){return!!l("transform")},D.csstransforms3d=function(){var e=!!l("perspective");return e&&"webkitPerspective"in g.style&&A("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t,n){e=9===t.offsetLeft&&3===t.offsetHeight}),e},D.csstransitions=function(){return l("transition")};for(var C in D)d(D,C)&&(m=C.toLowerCase(),_[m]=D[C](),F.push((_[m]?"":"no-")+m));return _.addTest=function(e,t){if("object"==typeof e)for(var a in e)d(e,a)&&_.addTest(a,e[a]);else{if(e=e.toLowerCase(),_[e]!==n)return _;t="function"==typeof t?t():t,"undefined"!=typeof p&&p&&(g.className+=" "+(t?"":"no-")+e),_[e]=t}return _},a(""),h=u=null,function(e,t){function n(e,t){var n=e.createElement("p"),a=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",a.insertBefore(n.lastChild,a.firstChild)}function a(){var e=h.elements;return"string"==typeof e?e.split(" "):e}function r(e){var t=v[e[p]];return t||(t={},g++,e[p]=g,v[g]=t),t}function i(e,n,a){if(n||(n=t),u)return n.createElement(e);a||(a=r(n));var i;return i=a.cache[e]?a.cache[e].cloneNode():_.test(e)?(a.cache[e]=a.createElem(e)).cloneNode():a.createElem(e),!i.canHaveChildren||f.test(e)||i.tagUrn?i:a.frag.appendChild(i)}function o(e,n){if(e||(e=t),u)return e.createDocumentFragment();n=n||r(e);for(var i=n.frag.cloneNode(),o=0,s=a(),c=s.length;c>o;o++)i.createElement(s[o]);return i}function s(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return h.shivMethods?i(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+a().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(h,t.frag)}function c(e){e||(e=t);var a=r(e);return h.shivCSS&&!l&&!a.hasCSS&&(a.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),u||s(e,a),e}var l,u,m="3.7.0",d=e.html5||{},f=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,_=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",g=0,v={};!function(){try{var e=t.createElement("a");e.innerHTML="",l="hidden"in e,u=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){l=!0,u=!0}}();var h={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:m,shivCSS:d.shivCSS!==!1,supportsUnknownElements:u,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:c,createElement:i,createDocumentFragment:o};e.html5=h,c(t)}(this,t),_._version=f,_._prefixes=w,_._domPrefixes=x,_._cssomPrefixes=k,_.hasEvent=M,_.testProp=function(e){return s([e])},_.testAllProps=l,_.testStyles=A,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),_}(this,this.document),function(e,t,n){function a(e){return"[object Function]"==g.call(e)}function r(e){return"string"==typeof e}function i(){}function o(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function s(){var e=v.shift();h=1,e?e.t?_(function(){("c"==e.t?d.injectCss:d.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),s()):h=0}function c(e,n,a,r,i,c,l){function u(t){if(!f&&o(m.readyState)&&(b.r=f=1,!h&&s(),m.onload=m.onreadystatechange=null,t)){"img"!=e&&_(function(){y.removeChild(m)},50);for(var a in $[n])$[n].hasOwnProperty(a)&&$[n][a].onload()}}var l=l||d.errorTimeout,m=t.createElement(e),f=0,g=0,b={t:a,s:n,e:i,a:c,x:l};1===$[n]&&(g=1,$[n]=[]),"object"==e?m.data=n:(m.src=n,m.type=e),m.width=m.height="0",m.onerror=m.onload=m.onreadystatechange=function(){u.call(this,g)},v.splice(r,0,b),"img"!=e&&(g||2===$[n]?(y.insertBefore(m,w?null:p),_(u,l)):$[n].push(m))}function l(e,t,n,a,i){return h=0,t=t||"j",r(e)?c("c"==t?x:k,e,t,this.i++,n,a,i):(v.splice(this.i++,0,e),1==v.length&&s()),this}function u(){var e=d;return e.loader={load:l,i:0},e}var m,d,f=t.documentElement,_=e.setTimeout,p=t.getElementsByTagName("script")[0],g={}.toString,v=[],h=0,b="MozAppearance"in f.style,w=b&&!!t.createRange().compareNode,y=w?f:p.parentNode,f=e.opera&&"[object Opera]"==g.call(e.opera),f=!!t.attachEvent&&!f,k=b?"object":f?"script":"img",x=f?"script":k,D=Array.isArray||function(e){return"[object Array]"==g.call(e)},F=[],$={},A={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};d=function(e){function t(e){var t,n,a,e=e.split("!"),r=F.length,i=e.pop(),o=e.length,i={url:i,origUrl:i,prefixes:e};for(n=0;o>n;n++)a=e[n].split("="),(t=A[a.shift()])&&(i=t(i,a));for(n=0;r>n;n++)i=F[n](i);return i}function o(e,r,i,o,s){var c=t(e),l=c.autoCallback;c.url.split(".").pop().split("?").shift(),c.bypass||(r&&(r=a(r)?r:r[e]||r[o]||r[e.split("/").pop().split("?")[0]]),c.instead?c.instead(e,r,i,o,s):($[c.url]?c.noexec=!0:$[c.url]=1,i.load(c.url,c.forceCSS||!c.forceJS&&"css"==c.url.split(".").pop().split("?").shift()?"c":n,c.noexec,c.attrs,c.timeout),(a(r)||a(l))&&i.load(function(){u(),r&&r(c.origUrl,s,o),l&&l(c.origUrl,s,o),$[c.url]=2})))}function s(e,t){function n(e,n){if(e){if(r(e))n||(m=function(){var e=[].slice.call(arguments);d.apply(this,e),f()}),o(e,m,t,0,l);else if(Object(e)===e)for(c in s=function(){var t,n=0;for(t in e)e.hasOwnProperty(t)&&n++;return n}(),e)e.hasOwnProperty(c)&&(!n&&!--s&&(a(m)?m=function(){var e=[].slice.call(arguments);d.apply(this,e),f()}:m[c]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),f()}}(d[c])),o(e[c],m,t,c,l))}else!n&&f()}var s,c,l=!!e.test,u=e.load||e.both,m=e.callback||i,d=m,f=e.complete||i;n(l?e.yep:e.nope,!!u),u&&n(u)}var c,l,m=this.yepnope.loader;if(r(e))o(e,0,m,0);else if(D(e))for(c=0;c

'):e.editor.find(".featured-post-placeholder").show(),e.replace_this=e.editor.find(".featured-post-placeholder")},fronted_featured_img.prototype.edit=function(e){var t=this.frame;e=e||!1,t.once("open",function(){var n=t.state().get("selection");e!==!1?(attachment=window.wp.media.attachment(e),attachment.fetch(),n.add(attachment)):n.reset()}),t.open()},fronted_featured_img.prototype.insert_image=function(e,t){var n=this,a=e.state(),r=a.get("selection"),t=t||!1;r&&r.each(function(e){var r,i,o=a.display(e).toJSON(),s=e.toJSON(),c=s.caption;window.wp.media.view.settings.captions||delete s.caption,o=window.wp.media.string.props(o,s),r={id:s.id,post_content:s.description,post_excerpt:c},"featured-image"!==a.id?(o.linkUrl&&(r.url=o.linkUrl),"image"===s.type?(o.url=o.src,i=window.wp.media.string.image(o),_.each({align:"align",size:"image-size",alt:"image_alt"},function(e,t){o[t]&&(r[e]=o[t])})):"video"===s.type?i=window.wp.media.string.video(o,s):"audio"===s.type?i=window.wp.media.string.audio(o,s):(i=window.wp.media.string.link(o),r.post_title=o.title),e.attributes.nonce=window.wp.media.view.settings.nonce.sendToEditor,e.attributes.attachment=r,e.attributes.html=i,e.attributes.post_id=window.wp.media.view.settings.post.id,t!==!1?window.wp.media.view.settings.captions&&c?wa_fronted.shortcode_to_html(e.attributes.html,!0,function(e){wa_fronted.replace_html(t,e),n.replace_this=!1,n.enable_resizing(n.instance,jQuery(n.instance.elements))}):(wa_fronted.replace_html(t,e.attributes.html),n.replace_this=!1):window.wp.media.view.settings.captions&&c?wa_fronted.shortcode_to_html(e.attributes.html,!0,function(e){wa_fronted.insertHtmlAtCaret(e),n.enable_resizing(n.instance,jQuery(n.instance.elements))}):wa_fronted.insertHtmlAtCaret(e.attributes.html)):(wa_fronted.show_loading_spinner(),jQuery.post(global_vars.ajax_url,{action:"wa_set_thumbnail",attachment_id:r.id,image_size:n.options.image_size,post_id:n.options.post_id},function(e){e.hasOwnProperty("html")&&t!==!1&&(wa_fronted.replace_html(t,e.html),n.replace_this=n.editor.find("img.attachment-post-thumbnail"),n.has_thumbnail=!0),wa_fronted.hide_loading_spinner()}))})}}(jQuery); +var EventManager=function(){function e(e,t,n,a){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("actions",e,t,n,a)),u}function t(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&l("actions",t,e),u}function n(e,t){return"string"==typeof e&&o("actions",e,t),u}function a(e,t,n,a){return"string"==typeof e&&"function"==typeof t&&(n=parseInt(n||10,10),s("filters",e,t,n,a)),u}function r(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?l("filters",t,e):u}function i(e,t){return"string"==typeof e&&o("filters",e,t),u}function o(e,t,n,a){if(m[e][t])if(n){var r,i=m[e][t];if(a)for(r=i.length;r--;){var o=i[r];o.callback===n&&o.context===a&&i.splice(r,1)}else for(r=i.length;r--;)i[r].callback===n&&i.splice(r,1)}else m[e][t]=[]}function s(e,t,n,a,r){var i={callback:n,priority:a,context:r},o=m[e][t];o?(o.push(i),o=c(o)):o=[i],m[e][t]=o}function c(e){for(var t,n,a,r=1,i=e.length;i>r;r++){for(t=e[r],n=r;(a=e[n-1])&&a.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function l(e,t,n){var a=m[e][t];if(!a)return"filters"===e?n[0]:!1;var r=0,i=a.length;if("filters"===e)for(;i>r;r++)n[0]=a[r].callback.apply(a[r].context,n);else for(;i>r;r++)a[r].callback.apply(a[r].context,n);return"filters"===e?n[0]:!0}var u={removeFilter:i,applyFilters:r,addFilter:a,removeAction:n,doAction:t,addAction:e},m={actions:{},filters:{}};return u}; +function escape_regexp(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}window.wa_fronted={};var wa_fronted=window.wa_fronted;!function(e){window.wp=window.wp||{};var t=window.tinymce;e.fn.getCursorPosition=function(){var t=e(this).get(0),n=0;if("selectionStart"in t)n=t.selectionStart;else if("selection"in document){t.focus();var a=document.selection.createRange(),r=document.selection.createRange().text.length;a.moveStart("character",-t.value.length),n=a.text.length-r}return n},wa_fronted={options:e.parseJSON(global_vars.options),data:{editable_areas:[],timers:{},current_selection:!1,current_range:!1,current_editor_options:!1,has_changes:!1,has_errors:!1,is_saving:!1},add_action:function(){var e=arguments[0].split(" ");for(k in e)arguments[0]="wa_fronted."+e[k],wp.hooks.addAction.apply(this,arguments);return this},remove_action:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.removeAction.apply(this,arguments),this},do_action:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.doAction.apply(this,arguments),this},add_filter:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.addFilter.apply(this,arguments),this},remove_filter:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.removeFilter.apply(this,arguments),this},apply_filters:function(){return arguments[0]="wa_fronted."+arguments[0],wp.hooks.applyFilters.apply(this,arguments)},initialize:function(){var t=this;if("undefined"!=typeof t.options.editable_areas&&0!==t.options.editable_areas.length)if(global_vars.post_lock===!1||""===global_vars.post_lock){e.post(global_vars.ajax_url,{action:"wa_fronted_set_post_lock",post_id:global_vars.post_id},function(e){wp.heartbeat.enqueue("wa_fronted_post_lock",{post_id:global_vars.post_id},!1)}),rangy.init();for(var n=function(n,r){r=e(r),r.addClass("wa-fronted-editor"),t.setup_editor(r,t.options.editable_areas[a],t.options),t.data.editable_areas.push({editor:r,options:t.options.editable_areas[a]})},a=0;a"}return a}}),t.do_action("on_bind"),e(document).on("heartbeat-tick.wa_fronted_post_lock",function(e,n){n.hasOwnProperty("wa_fronted_post_lock")&&(n.wa_fronted_post_lock.is_locked!==!1&&""!==n.wa_fronted_post_lock.is_locked?t.show_post_lock_notice(n.wa_fronted_post_lock.is_locked,global_vars.global_post_id):wp.heartbeat.enqueue("wa_fronted_post_lock",{post_id:n.wa_fronted_post_lock.post_id},!1))}),window.onbeforeunload=function(){return t.data.has_changes&&!t.data.is_saving?t.i18n("The changes you have made will be lost if you navigate away from this page."):void 0}},setup_editor:function(n,a,r){var i=this,o={selector:a.container,theme:"fronted",toolbar:["bold","italic","strikethrough","bullist","numlist","blockquote","alignleft","aligncenter","alignright","link","unlink","h2","h3"],plugins:["hr","lists","media","paste","wordpress","wplink","wpdialogs","wpview"],inline:!0,relative_urls:!1,convert_urls:!1,paste_as_text:!0,browser_spellcheck:!0,directionality:a.direction,wpeditimage_html5_captions:!0,fronted_options:a,wpautop:!1,setup:function(t){a.paragraphs!==!0&&(t.on("keydown",function(e){return 13===e.which?(e.preventDefault(),e.stopPropagation(),!1):!0}),t.on("blur",function(e){t.setContent(t.getContent({format:"text"}))})),t.on("paste",function(n){var a=n.clipboardData.getData("text/plain");!a||-1===a.indexOf("http://")&&-1===a.indexOf("https://")||(n.preventDefault(),i.show_loading_spinner(),e.post(global_vars.ajax_url,{action:"wa_get_oembed",link:a},function(e){t.insertContent(e.oembed!==!1?e.oembed:''+a+""),i.hide_loading_spinner()}))}),t.on("change",function(e){clearTimeout(i.data.timers[t.id]),i.data.timers[t.id]=setTimeout(function(){i.data.has_changes=!0,i.validate(n,a),i.autosave(n,a),i.show_save_button()},1e3)}),t.on("click",function(e){if("A"===e.target.nodeName&&e.ctrlKey){var t=window.open(e.target.href,"_blank");t.focus()}}),t.on("focus",function(e){window.wpActiveEditor=t.id}),i.do_action("on_tinymce_setup",t,a,r)}};if(void 0===a.toolbar&&(a.toolbar="full"),"false"===a.toolbar||a.toolbar===!1?o.toolbar=!1:"full"!==a.toolbar&&(o.toolbar=a.toolbar.replace(/\s+/g,"").split(",")),"false"!==a.toolbar&&a.toolbar!==!1&&(o.toolbar=i.apply_filters("toolbar_buttons",o.toolbar,a)),n.click(function(){var t=window.getSelection();t&&(i.data.current_selection=e.extend({},t),t.rangeCount&&(i.data.current_range=t.getRangeAt(0)))}),"only"!==a.media_upload&&a["native"]){if("meta_select"!==a.field_type)a.media_upload===!0&&o.plugins.push("fronted_image"),a.shortcodes===!0&&o.plugins.push("fronted_shortcode"),o.plugins=i.apply_filters("editor_plugins",o.plugins,a),t.init(o);else if(a.hasOwnProperty("values")&&a.values.length>1&&a.hasOwnProperty("meta_key")&&a["native"]){var s=document.createElement("select");s.id="select_"+a.meta_key,s.name="select_"+a.meta_key,s.className="wa_fronted_select";for(var l=0;l0&&(e=r[0].left,t=r[0].top)}if(0==e&&0==t){var i=window.document.createElement("span");if(i.getClientRects){i.appendChild(window.document.createTextNode("​")),a.insertNode(i),rect=i.getClientRects()[0],e=rect.left,t=rect.top;var o=i.parentNode;o.removeChild(i),o.normalize()}}}return{x:e,y:t}},getSelectionText:function(){var e="";return window.getSelection?e=window.getSelection().toString():document.selection&&"Control"!=document.selection.type&&(e=document.selection.createRange().text),e},specific_output_to:function(e,t,n,a){if(!t.hasOwnProperty("output_to"))return!1;if(t.output_to.hasOwnProperty("selector")){var r=e.find(t.output_to.selector);if(0===r.length)return!1;t.output_to.hasOwnProperty("attr")?r.attr(t.output_to.attr,a):r.html(a)}else if(Array.isArray(t.output_to))for(var i=0;i'+t+"").appendTo("#wa_fronted_tax_"+n),e("#wa_fronted_tax_"+n).trigger("change"),r.hide_loading_spinner()})},get_revisions:function(t,n){var a=this;a.show_loading_spinner(),e.post(global_vars.ajax_url,{action:"wa_get_revisions",post_id:t},function(e){a.hide_loading_spinner(),n(e)})},switch_to_revision:function(e){for(var n=this,a=n.data.editable_areas,r=0;r=0&&(e("#wa-next-revision").removeClass("disabled"),r-=1,revision_input.val(t[r].post_date),a.switch_to_revision(t[r]),0===r&&e(this).addClass("disabled"))}),e("#wa-next-revision").on("click",function(n){n.preventDefault(),r+1<=t.length-1&&(e("#wa-previous-revision").removeClass("disabled"),r+=1,revision_input.val(t[r].post_date),a.switch_to_revision(t[r]),r===t.length-1&&e(this).addClass("disabled"))}),e("#wa-fronted-revisions-modal").fadeIn("fast")}})},check_autosave:function(t){var n=this;e.post(global_vars.ajax_url,{action:"wa_fronted_get_autosave",post_id:t},function(e){e.success&&e.data!==!1&&confirm(n.i18n("There is an autosave of this post that is more recent than the version below. View the autosave?"))&&n.show_revision_modal(t,!0)})},show_post_lock_notice:function(t,n){var a=this;confirm(a.i18n("Another user is currently editing this post. Take over?"))&&e.post(global_vars.ajax_url,{action:"wa_fronted_set_post_lock",post_id:n},function(e){e.success&&e.data!==!1&&location.reload()})},i18n:function(){var e=Array.prototype.slice.call(arguments),t=e.shift();if(global_vars.i18n.hasOwnProperty(t)&&(t=global_vars.i18n[t]),-1!==t.indexOf("%s")&&Array.isArray(e)&&0!==e.length)for(var n=0;n=parseFloat(t)},max_length:function(e,t){return e.length<=parseFloat(t)},is_length:function(e,t){return e.length===parseFloat(t)},min:function(e,t){var n=this;return n.is_num(e)&&parseFloat(e)>=parseFloat(t)},max:function(e,t){var n=this;return n.is_num(e)&&parseFloat(e)<=parseFloat(t)},between:function(t,n){var a=this;return t=parseFloat(t),e.isArray(n)&&a.is_num(t)&&t>=n[0]&&t<=n[1]},equal_to:function(e,t){return parseFloat(e)===parseFloat(t)}},wa_fronted.validation_msg=function(e,t){t=t||!1;var n="";switch(e){case"not_blank":n=wa_fronted.i18n("Cannot be empty");break;case"is_date":n=wa_fronted.i18n("Must be a date");break;case"is_email":n=wa_fronted.i18n("Must be a valid email address");break;case"is_num":n=wa_fronted.i18n("Must be a number");break;case"contains_num":n=wa_fronted.i18n("Must contain a number");break;case"is_alphanum":n=wa_fronted.i18n("Can only be letters or numbers");break;case"is_url":n=wa_fronted.i18n("Must be an url");break;case"is_tel":n=wa_fronted.i18n("Must be a phone number");break;case"min_length":n=wa_fronted.i18n("Must be more than %s characters",t);break;case"max_length":n=wa_fronted.i18n("Must be less than %s characters",t);break;case"is_length":n=wa_fronted.i18n("Must be %s characters",t);break;case"min":n=wa_fronted.i18n("Must be greater than ",t);break;case"max":n=wa_fronted.i18n("Must be less than ",t);break;case"between":n=wa_fronted.i18n("Must be between %s and %s",t[0],t[1]);break;case"equal_to":n=wa_fronted.i18n("Must be ",t);break;default:n=wa_fronted.apply_filters("validation_msg",n,e,t)}return n}}(jQuery); diff --git a/js/tinymce/tinymce.image.js b/js/tinymce/tinymce.image.js index 074cac1..2c6cd7b 100644 --- a/js/tinymce/tinymce.image.js +++ b/js/tinymce/tinymce.image.js @@ -980,12 +980,13 @@ tinymce.PluginManager.add( 'fronted_image', function( editor ) { if ( cmd === 'mceInsertContent' ) { // When inserting content, if the caret is inside a caption create new paragraph under // and move the caret there + if ( node = dom.getParent( editor.selection.getNode(), 'div.mceTemp' ) ) { p = dom.create( 'p' ); dom.insertAfter( p, node ); editor.selection.setCursorLocation( p, 0 ); editor.nodeChanged(); - }else if(event.value.indexOf('[gallery ') !== -1){ + }else if(!event.value.hasOwnProperty('content') && event.value.indexOf('[gallery ') !== -1){ event.preventDefault(); wa_fronted.show_loading_spinner(); wa_fronted.shortcode_to_html(event.value, true, function(html){ diff --git a/readme.txt b/readme.txt index d1f6a04..fcc08d5 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: jesperb Tags: frontend, editor, edit, medium, content Requires at least: 4.0 Tested up to: 4.3.1 -Stable tag: 1.3.7 +Stable tag: 1.3.8 License: GPLv2 License URI: https://github.com/jesperbjerke/wa-fronted/blob/master/LICENSE.md diff --git a/wa-fronted.php b/wa-fronted.php index 0ee8f94..2acc976 100644 --- a/wa-fronted.php +++ b/wa-fronted.php @@ -3,11 +3,11 @@ Plugin Name: WA-Fronted Plugin URI: http://github.com/jesperbjerke/wa-fronted Description: Edit content directly from fronted in the contents actual place - Version: 1.3.7 + Version: 1.3.8 Tags: frontend, editor, edit, medium Requires at least: 4.0 Tested up to: 4.3.1 - Stable tag: 1.3.7 + Stable tag: 1.3.8 Text Domain: wa-fronted Domain Path: /languages Author: Jesper Bjerke @@ -321,14 +321,17 @@ protected function get_options(){ $options = apply_filters('wa_fronted_options', array()); global $post; - $this->post_lock = wp_check_post_lock($post->ID); + + if($post){ + $this->post_lock = wp_check_post_lock($post->ID); + } $default_options = array( 'native' => true, 'direction' => 'ltr', 'media_upload' => true, 'toolbar' => 'full', - 'post_id' => $post->ID, + 'post_id' => ($post) ? $post->ID : false, 'shortcodes' => false, 'field_type' => false, 'permission' => 'default', @@ -336,7 +339,12 @@ protected function get_options(){ 'paragraphs' => true, 'validation' => false, 'auto_configure' => true, - 'init_on_load' => true + 'init_on_load' => true, + 'add_new' => true, + 'placeholders' => array( + 'post_title' => __('Enter title here', 'wordpress'), + 'post_content' => __('Enter post content here', 'wa-fronted') + ) ); if(is_front_page() && !is_home()){ @@ -384,32 +392,12 @@ protected function get_options(){ if($continue){ //If Fronted should not be enabled automatically, add button to admin bar and prevent init otherwise continue init if($default_options['init_on_load'] === false && (!isset($_GET['is_editing']) || $_GET['is_editing'] == false)){ - - add_action('admin_bar_menu', function($wp_admin_bar){ - $args = array( - 'id' => 'enable-wa-fronted', - 'title' => __('Edit here', 'wa-fronted'), - 'href' => esc_url(add_query_arg('is_editing', 'true', $_SERVER['REQUEST_URI'])) - ); - $wp_admin_bar->add_node($args); - }, 90); - - wp_add_inline_style( 'admin-bar', '#wpadminbar #wp-admin-bar-enable-wa-fronted a:before{ - content: \'\f464\'; - top: 2px; - position: relative; - float: left; - font: 400 20px/1 dashicons; - speak: none; - padding: 4px 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - background-image: none!important; - margin-right: 6px; - }' ); - + $this->add_edit_button(); return false; }else{ +// if($default_options['add_new']){ +// $this->add_new_button($default_options, $post_type_options); +// } return $post_type_options; } }else{ @@ -417,6 +405,77 @@ protected function get_options(){ } } + /** + * Adds a "edit here" button in admin bar + */ + private function add_edit_button(){ + add_action('admin_bar_menu', function($wp_admin_bar){ + $args = array( + 'id' => 'enable-wa-fronted', + 'title' => __('Edit here', 'wa-fronted'), + 'href' => esc_url(add_query_arg('is_editing', 'true', $_SERVER['REQUEST_URI'])) + ); + $wp_admin_bar->add_node($args); + }, 90); + + wp_add_inline_style( 'admin-bar', '#wpadminbar #wp-admin-bar-enable-wa-fronted a:before{ + content: \'\f464\'; + top: 2px; + position: relative; + float: left; + font: 400 20px/1 dashicons; + speak: none; + padding: 4px 0; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-image: none!important; + margin-right: 6px; + }' ); + } + + /** + * Adds a "create new" button in admin bar + */ + private function add_new_button($default_options, $post_type_options){ + + if(isset($_GET['add_new']) && $_GET['add_new']){ + global $post; + + $new_post_id = wp_insert_post(array( + 'post_type' => $post->post_type, + 'post_status' => 'draft', + 'post_title' => $default_options['placeholders']['post_title'], + 'post_content' => $default_options['placeholders']['post_content'] + )); + + wp_safe_redirect(add_query_arg('editing_new', 'true', get_the_permalink($new_post_id))); + exit; + } + + add_action('admin_bar_menu', function($wp_admin_bar){ + $args = array( + 'id' => 'add-new-wa-fronted', + 'title' => __('Add new here', 'wa-fronted'), + 'href' => esc_url(add_query_arg('add_new', 'true', $_SERVER['REQUEST_URI'])) + ); + $wp_admin_bar->add_node($args); + }, 90); + + wp_add_inline_style( 'admin-bar', '#wpadminbar #wp-admin-bar-add-new-wa-fronted a:before{ + content: \'\f132\'; + top: 2px; + position: relative; + float: left; + font: 400 20px/1 dashicons; + speak: none; + padding: 4px 0; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-image: none!important; + margin-right: 6px; + }' ); + } + /** * Queues script files and styles if logged in user has any editable areas and current page is not in admin. * Hookable through action 'wa_fronted_scripts' @@ -769,7 +828,7 @@ public function wa_fronted_autosave(){ $autosave_data = apply_filters('wa_fronted_autosave_data', $autosave_data, $data); foreach($post_ids as $post_id){ - $new_post_id; + $new_post_id = false; $this_autosave_data = $autosave_data[$post_id]; if(!isset($this_autosave_data['post_content'])){ @@ -951,6 +1010,14 @@ public function wa_get_image_src(){ public function wa_fronted_toolbar(){ ?>
+ + + + +