summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2019-01-01 22:20:16 -0500
committerAnthony G. Basile <blueness@gentoo.org>2019-01-01 22:20:16 -0500
commit662d15c1d2c5bb896985fd551a3649fcd280429e (patch)
tree1019d8951f08f30c2ec97fab3228572d67b5a34c /plugins
parentUpdate jetpack 6.8.1 (diff)
downloadblogs-gentoo-662d15c1d2c5bb896985fd551a3649fcd280429e.tar.gz
blogs-gentoo-662d15c1d2c5bb896985fd551a3649fcd280429e.tar.bz2
blogs-gentoo-662d15c1d2c5bb896985fd551a3649fcd280429e.zip
Update public-post-preview 2.8.0
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/public-post-preview/js/gutenberg-integration.js1
-rw-r--r--plugins/public-post-preview/js/public-post-preview.dev.js111
-rw-r--r--plugins/public-post-preview/js/public-post-preview.js2
-rw-r--r--plugins/public-post-preview/js/public-post-preview.min.js2
-rw-r--r--plugins/public-post-preview/js/src/components/preview-toggle/index.js171
-rw-r--r--plugins/public-post-preview/js/src/index.js6
-rw-r--r--plugins/public-post-preview/languages/public-post-preview.php19
-rw-r--r--plugins/public-post-preview/languages/public-post-preview.pot24
-rw-r--r--plugins/public-post-preview/public-post-preview.php167
-rw-r--r--plugins/public-post-preview/readme.txt17
10 files changed, 346 insertions, 174 deletions
diff --git a/plugins/public-post-preview/js/gutenberg-integration.js b/plugins/public-post-preview/js/gutenberg-integration.js
new file mode 100644
index 00000000..6bf327c1
--- /dev/null
+++ b/plugins/public-post-preview/js/gutenberg-integration.js
@@ -0,0 +1 @@
+this.publicPostPreview=this.publicPostPreview||{},this.publicPostPreview.main=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=22)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t,r){"use strict";(function(e){r.d(t,"a",function(){return c});var n=r(17),i=void 0!==e?e:{},a=Object(n.a)(i),c=(a.flush,a.hydrate,a.cx,a.merge,a.getRegisteredStyles,a.injectGlobal,a.keyframes,a.css);a.sheet,a.caches}).call(this,r(21))},function(e,t){!function(){e.exports=this.wp.components}()},function(e,t){!function(){e.exports=this.wp.compose}()},function(e,t){!function(){e.exports=this.wp.editPost}()},function(e,t){!function(){e.exports=this.wp.plugins}()},function(e,t,r){var n=r(18);e.exports=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),i.forEach(function(t){n(e,t,r[t])})}return e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(19),i=r(1);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?i(e):t}},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t,r){var n=r(20);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},function(e,t){!function(){e.exports=this.lodash}()},function(e,t,r){e.exports=function(){"use strict";return function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(r,n,i,a,c,o,s,u,l,f){switch(r){case 1:if(0===l&&64===n.charCodeAt(0))return e(n+";"),"";break;case 2:if(0===u)return n+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(i[0]+n),"";default:return n+(0===f?"/*|*/":"")}case-2:n.split("/*|*/}").forEach(t)}}}}()},function(e,t){!function(){e.exports=this.wp.data}()},function(e,t,r){"use strict";var n=function(e){var t={};return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}},i={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var a=function(e){for(var t,r=e.length,n=r^r,i=0;r>=4;)t=1540483477*(65535&(t=255&e.charCodeAt(i)|(255&e.charCodeAt(++i))<<8|(255&e.charCodeAt(++i))<<16|(255&e.charCodeAt(++i))<<24))+((1540483477*(t>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(t=1540483477*(65535&(t^=t>>>24))+((1540483477*(t>>>16)&65535)<<16)),r-=4,++i;switch(r){case 3:n^=(255&e.charCodeAt(i+2))<<16;case 2:n^=(255&e.charCodeAt(i+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(i)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),((n^=n>>>15)>>>0).toString(36)};var c=function(e){function t(e,t,n){var i=t.trim().split(d);t=i;var a=i.length,c=e.length;switch(c){case 0:case 1:var o=0;for(e=0===c?"":e[0]+" ";o<a;++o)t[o]=r(e,t[o],n).trim();break;default:var s=o=0;for(t=[];o<a;++o)for(var u=0;u<c;++u)t[s++]=r(e[u]+" ",i[o],n).trim()}return t}function r(e,t,r){var n=t.charCodeAt(0);switch(33>n&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(b,"$1"+e.trim());case 58:return e.trim()+t.replace(b,"$1"+e.trim());default:if(0<1*r&&0<t.indexOf("\f"))return t.replace(b,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function n(e,t,r,a){var c=e+";",o=2*t+3*r+4*a;if(944===o){e=c.indexOf(":",9)+1;var s=c.substring(e,c.length-1).trim();return s=c.substring(0,e).trim()+s+";",1===_||2===_&&i(s,1)?"-webkit-"+s+s:s}if(0===_||2===_&&!i(c,1))return c;switch(o){case 1015:return 97===c.charCodeAt(10)?"-webkit-"+c+c:c;case 951:return 116===c.charCodeAt(3)?"-webkit-"+c+c:c;case 963:return 110===c.charCodeAt(5)?"-webkit-"+c+c:c;case 1009:if(100!==c.charCodeAt(4))break;case 969:case 942:return"-webkit-"+c+c;case 978:return"-webkit-"+c+"-moz-"+c+c;case 1019:case 983:return"-webkit-"+c+"-moz-"+c+"-ms-"+c+c;case 883:if(45===c.charCodeAt(8))return"-webkit-"+c+c;if(0<c.indexOf("image-set(",11))return c.replace(A,"$1-webkit-$2")+c;break;case 932:if(45===c.charCodeAt(4))switch(c.charCodeAt(5)){case 103:return"-webkit-box-"+c.replace("-grow","")+"-webkit-"+c+"-ms-"+c.replace("grow","positive")+c;case 115:return"-webkit-"+c+"-ms-"+c.replace("shrink","negative")+c;case 98:return"-webkit-"+c+"-ms-"+c.replace("basis","preferred-size")+c}return"-webkit-"+c+"-ms-"+c+c;case 964:return"-webkit-"+c+"-ms-flex-"+c+c;case 1023:if(99!==c.charCodeAt(8))break;return"-webkit-box-pack"+(s=c.substring(c.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+c+"-ms-flex-pack"+s+c;case 1005:return h.test(c)?c.replace(f,":-webkit-")+c.replace(f,":-moz-")+c:c;case 1e3:switch(t=(s=c.substring(13).trim()).indexOf("-")+1,s.charCodeAt(0)+s.charCodeAt(t)){case 226:s=c.replace(m,"tb");break;case 232:s=c.replace(m,"tb-rl");break;case 220:s=c.replace(m,"lr");break;default:return c}return"-webkit-"+c+"-ms-"+s+c;case 1017:if(-1===c.indexOf("sticky",9))break;case 975:switch(t=(c=e).length-10,o=(s=(33===c.charCodeAt(t)?c.substring(0,t):c).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|s.charCodeAt(7))){case 203:if(111>s.charCodeAt(8))break;case 115:c=c.replace(s,"-webkit-"+s)+";"+c;break;case 207:case 102:c=c.replace(s,"-webkit-"+(102<o?"inline-":"")+"box")+";"+c.replace(s,"-webkit-"+s)+";"+c.replace(s,"-ms-"+s+"box")+";"+c}return c+";";case 938:if(45===c.charCodeAt(5))switch(c.charCodeAt(6)){case 105:return s=c.replace("-items",""),"-webkit-"+c+"-webkit-box-"+s+"-ms-flex-"+s+c;case 115:return"-webkit-"+c+"-ms-flex-item-"+c.replace(C,"")+c;default:return"-webkit-"+c+"-ms-flex-line-pack"+c.replace("align-content","").replace(C,"")+c}break;case 973:case 989:if(45!==c.charCodeAt(3)||122===c.charCodeAt(4))break;case 931:case 953:if(!0===O.test(e))return 115===(s=e.substring(e.indexOf(":")+1)).charCodeAt(0)?n(e.replace("stretch","fill-available"),t,r,a).replace(":fill-available",":stretch"):c.replace(s,"-webkit-"+s)+c.replace(s,"-moz-"+s.replace("fill-",""))+c;break;case 962:if(c="-webkit-"+c+(102===c.charCodeAt(5)?"-ms-"+c:"")+c,211===r+a&&105===c.charCodeAt(13)&&0<c.indexOf("transform",10))return c.substring(0,c.indexOf(";",27)+1).replace(p,"$1-webkit-$2")+c}return c}function i(e,t){var r=e.indexOf(1===t?":":"{"),n=e.substring(0,3!==t?r:10);return r=e.substring(r+1,e.length-1),R(2!==t?n:n.replace(x,"$1"),r,t)}function a(e,t){var r=n(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return r!==t+";"?r.replace(k," or ($1)").substring(4):"("+t+")"}function c(e,t,r,n,i,a,c,o,u,l){for(var f,h=0,p=t;h<z;++h)switch(f=I[h].call(s,e,p,r,n,i,a,c,o,u,l)){case void 0:case!1:case!0:case null:break;default:p=f}if(p!==t)return p}function o(e){return void 0!==(e=e.prefix)&&(R=null,e?"function"!=typeof e?_=1:(_=2,R=e):_=0),o}function s(e,r){var o=e;if(33>o.charCodeAt(0)&&(o=o.trim()),o=[o],0<z){var s=c(-1,r,o,o,S,j,0,0,0,0);void 0!==s&&"string"==typeof s&&(r=s)}var f=function e(r,o,s,f,h){for(var p,d,b,m,k,C=0,x=0,O=0,A=0,I=0,R=0,$=b=p=0,U=0,T=0,M=0,F=0,H=s.length,V=H-1,D="",G="",L="",W="";U<H;){if(d=s.charCodeAt(U),U===V&&0!==x+A+O+C&&(0!==x&&(d=47===x?10:47),A=O=C=0,H++,V++),0===x+A+O+C){if(U===V&&(0<T&&(D=D.replace(l,"")),0<D.trim().length)){switch(d){case 32:case 9:case 59:case 13:case 10:break;default:D+=s.charAt(U)}d=59}switch(d){case 123:for(p=(D=D.trim()).charCodeAt(0),b=1,F=++U;U<H;){switch(d=s.charCodeAt(U)){case 123:b++;break;case 125:b--;break;case 47:switch(d=s.charCodeAt(U+1)){case 42:case 47:e:{for($=U+1;$<V;++$)switch(s.charCodeAt($)){case 47:if(42===d&&42===s.charCodeAt($-1)&&U+2!==$){U=$+1;break e}break;case 10:if(47===d){U=$+1;break e}}U=$}}break;case 91:d++;case 40:d++;case 34:case 39:for(;U++<V&&s.charCodeAt(U)!==d;);}if(0===b)break;U++}switch(b=s.substring(F,U),0===p&&(p=(D=D.replace(u,"").trim()).charCodeAt(0)),p){case 64:switch(0<T&&(D=D.replace(l,"")),d=D.charCodeAt(1)){case 100:case 109:case 115:case 45:T=o;break;default:T=P}if(F=(b=e(o,T,b,d,h+1)).length,0<z&&(k=c(3,b,T=t(P,D,M),o,S,j,F,d,h,f),D=T.join(""),void 0!==k&&0===(F=(b=k.trim()).length)&&(d=0,b="")),0<F)switch(d){case 115:D=D.replace(y,a);case 100:case 109:case 45:b=D+"{"+b+"}";break;case 107:b=(D=D.replace(v,"$1 $2"))+"{"+b+"}",b=1===_||2===_&&i("@"+b,3)?"@-webkit-"+b+"@"+b:"@"+b;break;default:b=D+b,112===f&&(G+=b,b="")}else b="";break;default:b=e(o,t(o,D,M),b,f,h+1)}L+=b,b=M=T=$=p=0,D="",d=s.charCodeAt(++U);break;case 125:case 59:if(1<(F=(D=(0<T?D.replace(l,""):D).trim()).length))switch(0===$&&(p=D.charCodeAt(0),45===p||96<p&&123>p)&&(F=(D=D.replace(" ",":")).length),0<z&&void 0!==(k=c(1,D,o,r,S,j,G.length,f,h,f))&&0===(F=(D=k.trim()).length)&&(D="\0\0"),p=D.charCodeAt(0),d=D.charCodeAt(1),p){case 0:break;case 64:if(105===d||99===d){W+=D+s.charAt(U);break}default:58!==D.charCodeAt(F-1)&&(G+=n(D,p,d,D.charCodeAt(2)))}M=T=$=p=0,D="",d=s.charCodeAt(++U)}}switch(d){case 13:case 10:47===x?x=0:0===1+p&&107!==f&&0<D.length&&(T=1,D+="\0"),0<z*N&&c(0,D,o,r,S,j,G.length,f,h,f),j=1,S++;break;case 59:case 125:if(0===x+A+O+C){j++;break}default:switch(j++,m=s.charAt(U),d){case 9:case 32:if(0===A+C+x)switch(I){case 44:case 58:case 9:case 32:m="";break;default:32!==d&&(m=" ")}break;case 0:m="\\0";break;case 12:m="\\f";break;case 11:m="\\v";break;case 38:0===A+x+C&&(T=M=1,m="\f"+m);break;case 108:if(0===A+x+C+E&&0<$)switch(U-$){case 2:112===I&&58===s.charCodeAt(U-3)&&(E=I);case 8:111===R&&(E=R)}break;case 58:0===A+x+C&&($=U);break;case 44:0===x+O+A+C&&(T=1,m+="\r");break;case 34:case 39:0===x&&(A=A===d?0:0===A?d:A);break;case 91:0===A+x+O&&C++;break;case 93:0===A+x+O&&C--;break;case 41:0===A+x+C&&O--;break;case 40:if(0===A+x+C){if(0===p)switch(2*I+3*R){case 533:break;default:p=1}O++}break;case 64:0===x+O+A+C+$+b&&(b=1);break;case 42:case 47:if(!(0<A+C+O))switch(x){case 0:switch(2*d+3*s.charCodeAt(U+1)){case 235:x=47;break;case 220:F=U,x=42}break;case 42:47===d&&42===I&&F+2!==U&&(33===s.charCodeAt(F+2)&&(G+=s.substring(F,U+1)),m="",x=0)}}0===x&&(D+=m)}R=I,I=d,U++}if(0<(F=G.length)){if(T=o,0<z&&void 0!==(k=c(2,G,T,r,S,j,F,f,h,f))&&0===(G=k).length)return W+G+L;if(G=T.join(",")+"{"+G+"}",0!=_*E){switch(2!==_||i(G,2)||(E=0),E){case 111:G=G.replace(g,":-moz-$1")+G;break;case 112:G=G.replace(w,"::-webkit-input-$1")+G.replace(w,"::-moz-$1")+G.replace(w,":-ms-input-$1")+G}E=0}}return W+G+L}(P,o,r,0,0);return 0<z&&void 0!==(s=c(-2,f,o,o,S,j,f.length,0,0,0))&&(f=s),E=0,j=S=1,f}var u=/^\0+/g,l=/[\0\r\f]/g,f=/: */g,h=/zoo|gra/,p=/([,: ])(transform)/g,d=/,\r+?/g,b=/([\t\r\n ])*\f?&/g,v=/@(k\w+)\s*(\S*)\s*/,w=/::(place)/g,g=/:(read-only)/g,m=/[svh]\w+-[tblr]{2}/,y=/\(\s*(.*)\s*\)/g,k=/([\s\S]*?);/g,C=/-self|flex-/g,x=/[^]*?(:[rp][el]a[\w-]+)[^]*/,O=/stretch|:\s*\w+\-(?:conte|avail)/,A=/([^-])(image-set\()/,j=1,S=1,E=0,_=1,P=[],I=[],z=0,R=null,N=0;return s.use=function e(t){switch(t){case void 0:case null:z=I.length=0;break;default:switch(t.constructor){case Array:for(var r=0,n=t.length;r<n;++r)e(t[r]);break;case Function:I[z++]=t;break;case Boolean:N=0|!!t}}return e},s.set=o,void 0!==e&&o(e),s},o=r(15),s=r.n(o),u=/[A-Z]|^ms/g,l=n(function(e){return e.replace(u,"-$&").toLowerCase()}),f=function(e,t){return null==t||"boolean"==typeof t?"":1===i[e]||45===e.charCodeAt(1)||isNaN(t)||0===t?t:t+"px"},h=function e(t){for(var r=t.length,n=0,i="";n<r;n++){var a=t[n];if(null!=a){var c=void 0;switch(typeof a){case"boolean":break;case"function":0,c=e([a()]);break;case"object":if(Array.isArray(a))c=e(a);else for(var o in c="",a)a[o]&&o&&(c&&(c+=" "),c+=o);break;default:c=a}c&&(i&&(i+=" "),i+=c)}}return i},p="undefined"!=typeof document;function d(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key||""),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),(void 0!==e.container?e.container:document.head).appendChild(t),t}var b=function(){function e(e){this.isSpeedy=!0,this.tags=[],this.ctr=0,this.opts=e}var t=e.prototype;return t.inject=function(){if(this.injected)throw new Error("already injected!");this.tags[0]=d(this.opts),this.injected=!0},t.speedy=function(e){if(0!==this.ctr)throw new Error("cannot change speedy now");this.isSpeedy=!!e},t.insert=function(e,t){if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(this.tags[this.tags.length-1]);try{r.insertRule(e,r.cssRules.length)}catch(e){0}}else{var n=d(this.opts);this.tags.push(n),n.appendChild(document.createTextNode(e+(t||"")))}this.ctr++,this.ctr%65e3==0&&this.tags.push(d(this.opts))},t.flush=function(){this.tags.forEach(function(e){return e.parentNode.removeChild(e)}),this.tags=[],this.ctr=0,this.injected=!1},e}();t.a=function(e,t){if(void 0!==e.__SECRET_EMOTION__)return e.__SECRET_EMOTION__;void 0===t&&(t={});var r,n,i=t.key||"css",o=s()(function(e){r+=e,p&&d.insert(e,w)});void 0!==t.prefix&&(n={prefix:t.prefix});var u={registered:{},inserted:{},nonce:t.nonce,key:i},d=new b(t);p&&d.inject();var v=new c(n);v.use(t.stylisPlugins)(o);var w="";function g(e,t){if(null==e)return"";switch(typeof e){case"boolean":return"";case"function":if(void 0!==e.__emotion_styles){var r=e.toString();return r}return g.call(this,void 0===this?e():e(this.mergedProps,this.context),t);case"object":return function(e){if(k.has(e))return k.get(e);var t="";return Array.isArray(e)?e.forEach(function(e){t+=g.call(this,e,!1)},this):Object.keys(e).forEach(function(r){"object"!=typeof e[r]?void 0!==u.registered[e[r]]?t+=r+"{"+u.registered[e[r]]+"}":t+=l(r)+":"+f(r,e[r])+";":Array.isArray(e[r])&&"string"==typeof e[r][0]&&void 0===u.registered[e[r][0]]?e[r].forEach(function(e){t+=l(r)+":"+f(r,e)+";"}):t+=r+"{"+g.call(this,e[r],!1)+"}"},this),k.set(e,t),t}.call(this,e);default:var n=u.registered[e];return!1===t&&void 0!==n?n:e}}var m,y,k=new WeakMap,C=/label:\s*([^\s;\n{]+)\s*;/g,x=function(e){var t=!0,r="",n="";null==e||void 0===e.raw?(t=!1,r+=g.call(this,e,!1)):r+=e[0];for(var i=arguments.length,c=new Array(i>1?i-1:0),o=1;o<i;o++)c[o-1]=arguments[o];return c.forEach(function(n,i){r+=g.call(this,n,46===r.charCodeAt(r.length-1)),!0===t&&void 0!==e[i+1]&&(r+=e[i+1])},this),y=r,r=r.replace(C,function(e,t){return n+="-"+t,""}),m=function(e,t){return a(e+t)+t}(r,n),r};function O(e,t){void 0===u.inserted[m]&&(r="",v(e,t),u.inserted[m]=r)}var A=function(){var e=x.apply(this,arguments),t=i+"-"+m;return void 0===u.registered[t]&&(u.registered[t]=y),O("."+t,e),t};function j(e,t){var r="";return t.split(" ").forEach(function(t){void 0!==u.registered[t]?e.push(t):r+=t+" "}),r}function S(e,t){var r=[],n=j(r,e);return r.length<2?e:n+A(r,t)}function E(e){u.inserted[e]=!0}if(p){var _=document.querySelectorAll("[data-emotion-"+i+"]");Array.prototype.forEach.call(_,function(e){d.tags[0].parentNode.insertBefore(e,d.tags[0]),e.getAttribute("data-emotion-"+i).split(" ").forEach(E)})}var P={flush:function(){p&&(d.flush(),d.inject()),u.inserted={},u.registered={}},hydrate:function(e){e.forEach(E)},cx:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return S(h(t))},merge:S,getRegisteredStyles:j,injectGlobal:function(){O("",x.apply(this,arguments))},keyframes:function(){var e=x.apply(this,arguments),t="animation-"+m;return O("","@keyframes "+t+"{"+e+"}"),t},css:A,sheet:d,caches:u};return e.__SECRET_EMOTION__=P,P}},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(t){return"function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?e.exports=n=function(e){return r(e)}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)},n(t)}e.exports=n},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,n)}e.exports=r},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";r.r(t);var n=r(7),i=r(8),a=r.n(i),c=r(9),o=r.n(c),s=r(10),u=r.n(s),l=r(11),f=r.n(l),h=r(12),p=r.n(h),d=r(13),b=r.n(d),v=r(1),w=r.n(v),g=r(0),m=r(14),y=r(3),k=r(2),C=r(4),x=r(16),O=r(6),A=r(5),j=window,S=j.ajaxurl,E=j.DSPublicPostPreviewData,_=Object(y.a)("flex-direction:column;align-items:stretch;margin-top:10px;"),P=Object(y.a)("width:100%;margin-right:12px;"),I=Object(y.a)("font-style:italic;color:#666;margin:.2em 0 0 !important;"),z=Object(y.a)("display:flex;justify-content:flex-start;align-items:center;margin:0;"),R=function(e){function t(e){var r;return o()(this,t),(r=f()(this,p()(t).call(this,e))).state={previewEnabled:E.previewEnabled,previewUrl:E.previewUrl,hasCopied:!1},r.previewUrlInput=Object(g.createRef)(),r.onChange=r.onChange.bind(w()(w()(r))),r.onPreviewUrlInputFocus=r.onPreviewUrlInputFocus.bind(w()(w()(r))),r}return b()(t,e),u()(t,[{key:"onChange",value:function(e){var t=this;this.request({checked:e,post_ID:this.props.postId},function(){t.setState({previewEnabled:!t.state.previewEnabled})})}},{key:"onPreviewUrlInputFocus",value:function(){this.previewUrlInput.current.focus(),this.previewUrlInput.current.select()}},{key:"request",value:function(e,t){jQuery.ajax({type:"POST",url:S,data:a()({action:"public-post-preview",_ajax_nonce:E.nonce},e),success:t})}},{key:"render",value:function(){var e=this,t=this.state,r=t.previewEnabled,n=t.previewUrl,i=t.hasCopied,a=i?Object(k.__)("Preview URL copied","public-post-preview"):Object(k.__)("Copy the preview URL","public-post-preview");return Object(g.createElement)(g.Fragment,null,Object(g.createElement)(O.PluginPostStatusInfo,null,Object(g.createElement)(C.CheckboxControl,{label:Object(k.__)("Enable public preview","public-post-preview"),checked:r,onChange:this.onChange})),r&&Object(g.createElement)(O.PluginPostStatusInfo,{className:_},Object(g.createElement)("p",{className:z},Object(g.createElement)("label",{htmlFor:"public-post-preview-url",className:"screen-reader-text"},Object(k.__)("Preview URL","public-post-preview")),Object(g.createElement)("input",{ref:this.previewUrlInput,type:"text",id:"public-post-preview-url",className:P,value:n,readOnly:!0,onFocus:this.onPreviewUrlInputFocus}),Object(g.createElement)(C.ClipboardButton,{text:n,label:a,onCopy:function(){return e.setState({hasCopied:!0})},onFinishCopy:function(){return e.setState({hasCopied:!1})},"aria-disabled":i,icon:Object(g.createElement)(C.SVG,{width:"20",height:"20",viewBox:"0 0 14 16",xmlns:"http://www.w3.org/2000/svg",focusable:"false"},Object(g.createElement)(C.Path,{fillRule:"evenodd",d:"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"}))})),Object(g.createElement)("p",{className:I},Object(k.__)("Copy and share this preview URL.","public-post-preview"))))}}]),t}(g.Component),N=Object(A.compose)([Object(x.withSelect)(function(e){var t=e("core").getPostType,r=e("core/editor"),n=r.getCurrentPostId,i=r.getEditedPostAttribute,a=t(i("type"));return{postId:n(),status:i("status"),isViewable:Object(m.get)(a,["viewable"],!1)}}),Object(A.ifCondition)(function(e){return e.isViewable}),Object(A.ifCondition)(function(e){var t=e.status;return-1===["auto-draft","publish","private"].indexOf(t)})])(R);Object(n.registerPlugin)("public-post-preview",{render:N})}]); \ No newline at end of file
diff --git a/plugins/public-post-preview/js/public-post-preview.dev.js b/plugins/public-post-preview/js/public-post-preview.dev.js
deleted file mode 100644
index bdd8e371..00000000
--- a/plugins/public-post-preview/js/public-post-preview.dev.js
+++ /dev/null
@@ -1,111 +0,0 @@
-( function( $ ) {
- DSPublicPostPreview = {
-
- /**
- * Initializes the plugin.
- *
- * @since 2.0.0
- */
- initialize : function() {
- var t = this;
-
- t.checkbox = $( '#public-post-preview' );
- t.link = $( '#public-post-preview-link' );
- t.nonce = $( '#public_post_preview_wpnonce' );
- t.status = $( '#public-post-preview-ajax' );
-
- if ( ! t.checkbox.prop( 'checked' ) )
- t.link.hide();
-
- t.checkbox.bind( 'change', function() {
- t.change();
- } );
- },
-
- /**
- * Handles a checkbox change.
- *
- * @since 2.0.0
- */
- change : function() {
- var t = this,
- checked = t.checkbox.prop( 'checked' ) ? 1 : 0;
-
- // Toggle visibility of the link
- t.link.toggle();
-
- // Disable the checkbox, to prevent double AJAX requests
- t.checkbox.prop( 'disabled', 'disabled' );
-
- t.request(
- {
- _ajax_nonce : t.nonce.val(),
- checked : checked,
- post_ID : $( '#post_ID' ).val()
- },
- function( data ) {
- // data is '1' if it's a successful request
- if ( data ) {
- if ( checked ) {
- t.status.text( DSPublicPostPreviewL10n.enabled );
- t._pulsate( t.status, 'green' );
- } else {
- t.status.text( DSPublicPostPreviewL10n.disabled );
- t._pulsate( t.status, 'red' );
- }
- }
-
- // Enable the checkbox again
- t.checkbox.prop('disabled', '');
- }
- );
- },
-
- /**
- * Does the AJAX request.
- *
- * @since 2.0.0
- *
- * @param {Object} data The data to send.
- * @param {Object} callback Callback function for a successfull request.
- */
- request : function( data, callback ) {
- $.ajax( {
- type: 'POST',
- url: ajaxurl,
- data: $.extend(
- data,
- {
- action: 'public-post-preview'
- }
- ),
- success : callback
- } );
- },
-
- /**
- * Helper for a pulse effect.
- *
- * @since 2.0.0
- *
- * @param {Object} e The element.
- * @param {String} color The text color of the element.
- */
- _pulsate : function( e, color ) {
- e.css( 'color', color )
- .animate( { opacity: 0 }, 600, 'linear' )
- .animate( { opacity: 1 }, 600, 'linear' )
- .animate( { opacity: 0 }, 600, 'linear' )
- .animate( { opacity: 1 }, 600, 'linear' )
- .animate( { opacity: 0 }, 600, 'linear', function() {
- e.text( '' );
- } );
- }
- };
-
- // Document is ready.
- $( function() {
- DSPublicPostPreview.initialize();
- } );
-
-} )( jQuery );
diff --git a/plugins/public-post-preview/js/public-post-preview.js b/plugins/public-post-preview/js/public-post-preview.js
index cc5d1e12..e25a188e 100644
--- a/plugins/public-post-preview/js/public-post-preview.js
+++ b/plugins/public-post-preview/js/public-post-preview.js
@@ -32,7 +32,7 @@
*/
change : function() {
var t = this,
- checked = t.checkbox.prop( 'checked' ) ? 1 : 0;
+ checked = t.checkbox.prop( 'checked' ) ? 'true' : 'false';
// Toggle visibility of the link
t.link.toggle();
diff --git a/plugins/public-post-preview/js/public-post-preview.min.js b/plugins/public-post-preview/js/public-post-preview.min.js
index 09df216a..4de40d9b 100644
--- a/plugins/public-post-preview/js/public-post-preview.min.js
+++ b/plugins/public-post-preview/js/public-post-preview.min.js
@@ -1 +1 @@
-(function(a){DSPublicPostPreview={initialize:function(){var b=this;b.checkbox=a("#public-post-preview");b.link=a("#public-post-preview-link");b.nonce=a("#public_post_preview_wpnonce");b.status=a("#public-post-preview-ajax");b.status.css("opacity",0);b.checkbox.bind("change",function(){b.change();});b.link.find("input").on("focus",function(){a(this).select();});},change:function(){var b=this,c=b.checkbox.prop("checked")?1:0;b.link.toggle();b.checkbox.prop("disabled","disabled");b.request({_ajax_nonce:b.nonce.val(),checked:c,post_ID:a("#post_ID").val()},function(d){if(d){if(c){b.status.text(DSPublicPostPreviewL10n.enabled);b._pulsate(b.status,"green");}else{b.status.text(DSPublicPostPreviewL10n.disabled);b._pulsate(b.status,"red");}}b.checkbox.prop("disabled","");});},request:function(b,c){a.ajax({type:"POST",url:ajaxurl,data:a.extend(b,{action:"public-post-preview"}),success:c});},_pulsate:function(c,b){c.css("color",b).animate({opacity:1},600,"linear").animate({opacity:0},600,"linear",function(){c.empty();});}};a(DSPublicPostPreview.initialize());})(jQuery); \ No newline at end of file
+(function(a){DSPublicPostPreview={initialize:function(){var b=this;b.checkbox=a("#public-post-preview");b.link=a("#public-post-preview-link");b.nonce=a("#public_post_preview_wpnonce");b.status=a("#public-post-preview-ajax");b.status.css("opacity",0);b.checkbox.bind("change",function(){b.change();});b.link.find("input").on("focus",function(){a(this).select();});},change:function(){var b=this,c=b.checkbox.prop("checked")?"true":"false";b.link.toggle();b.checkbox.prop("disabled","disabled");b.request({_ajax_nonce:b.nonce.val(),checked:c,post_ID:a("#post_ID").val()},function(d){if(d){if(c){b.status.text(DSPublicPostPreviewL10n.enabled);b._pulsate(b.status,"green");}else{b.status.text(DSPublicPostPreviewL10n.disabled);b._pulsate(b.status,"red");}}b.checkbox.prop("disabled","");});},request:function(b,c){a.ajax({type:"POST",url:ajaxurl,data:a.extend(b,{action:"public-post-preview"}),success:c});},_pulsate:function(c,b){c.css("color",b).animate({opacity:1},600,"linear").animate({opacity:0},600,"linear",function(){c.empty();});}};a(DSPublicPostPreview.initialize());})(jQuery); \ No newline at end of file
diff --git a/plugins/public-post-preview/js/src/components/preview-toggle/index.js b/plugins/public-post-preview/js/src/components/preview-toggle/index.js
new file mode 100644
index 00000000..96502863
--- /dev/null
+++ b/plugins/public-post-preview/js/src/components/preview-toggle/index.js
@@ -0,0 +1,171 @@
+/**
+ * External dependencies
+ */
+import { get } from 'lodash';
+import { css } from 'emotion'
+
+import { __ } from '@wordpress/i18n';
+import {
+ CheckboxControl,
+ ClipboardButton,
+ Path,
+ SVG,
+} from '@wordpress/components';
+import {
+ Component,
+ createRef,
+ Fragment,
+} from '@wordpress/element';
+import { withSelect } from '@wordpress/data';
+import { PluginPostStatusInfo } from '@wordpress/edit-post';
+import { ifCondition, compose } from '@wordpress/compose';
+
+const {
+ ajaxurl,
+ DSPublicPostPreviewData,
+} = window;
+
+const pluginPostStatusInfoPreviewUrl = css`
+ flex-direction: column;
+ align-items: stretch;
+ margin-top: 10px;
+`
+
+const pluginPostStatusInfoPreviewUrlInput = css`
+ width: 100%;
+ margin-right: 12px;
+`
+
+const pluginPostStatusInfoPreviewDescription = css`
+ font-style: italic;
+ color: #666;
+ margin: .2em 0 0 !important;
+`
+
+const pluginPostStatusInfoPreviewUrlInputWrapper = css`
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ margin: 0;
+`
+
+class PreviewToggle extends Component {
+
+ constructor( props ) {
+ super( props )
+
+ this.state = {
+ previewEnabled: DSPublicPostPreviewData.previewEnabled,
+ previewUrl: DSPublicPostPreviewData.previewUrl,
+ hasCopied: false,
+ }
+
+ this.previewUrlInput = createRef();
+
+ this.onChange = this.onChange.bind( this );
+ this.onPreviewUrlInputFocus = this.onPreviewUrlInputFocus.bind( this );
+ }
+
+ onChange( checked ) {
+ this.request( {
+ checked,
+ post_ID: this.props.postId
+ }, () => {
+ this.setState( { previewEnabled: ! this.state.previewEnabled } );
+ } )
+ }
+
+ onPreviewUrlInputFocus() {
+ this.previewUrlInput.current.focus();
+ this.previewUrlInput.current.select();
+ }
+
+ request( data, callback ) {
+ jQuery.ajax( {
+ type: 'POST',
+ url: ajaxurl,
+ data: {
+ action: 'public-post-preview',
+ _ajax_nonce: DSPublicPostPreviewData.nonce,
+ ...data
+ },
+ success: callback,
+ } );
+ }
+
+ render() {
+ const {
+ previewEnabled,
+ previewUrl,
+ hasCopied
+ } = this.state;
+
+ const ariaCopyLabel = hasCopied ? __( 'Preview URL copied', 'public-post-preview' ) : __( 'Copy the preview URL', 'public-post-preview' );
+
+ return (
+ <Fragment>
+ <PluginPostStatusInfo>
+ <CheckboxControl
+ label={ __( 'Enable public preview', 'public-post-preview' ) }
+ checked={ previewEnabled }
+ onChange={ this.onChange }
+ />
+ </PluginPostStatusInfo>
+ { previewEnabled &&
+ <PluginPostStatusInfo className={ pluginPostStatusInfoPreviewUrl }>
+ <p className={ pluginPostStatusInfoPreviewUrlInputWrapper }>
+ <label htmlFor="public-post-preview-url" className="screen-reader-text">{ __( 'Preview URL', 'public-post-preview' ) }</label>
+ <input
+ ref={ this.previewUrlInput }
+ type="text"
+ id="public-post-preview-url"
+ className={ pluginPostStatusInfoPreviewUrlInput }
+ value={ previewUrl }
+ readOnly
+ onFocus={ this.onPreviewUrlInputFocus }
+ />
+ <ClipboardButton
+ text={ previewUrl }
+ label={ ariaCopyLabel }
+ onCopy={ () => this.setState( { hasCopied: true } ) }
+ onFinishCopy={ () => this.setState( { hasCopied: false } ) }
+ aria-disabled={ hasCopied }
+ icon={ <SVG width="20" height="20" viewBox="0 0 14 16" xmlns="http://www.w3.org/2000/svg" focusable="false" ><Path fillRule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></SVG> }
+ />
+ </p>
+ <p className={ pluginPostStatusInfoPreviewDescription }>
+ { __( 'Copy and share this preview URL.', 'public-post-preview' ) }
+ </p>
+ </PluginPostStatusInfo>
+ }
+ </Fragment>
+ );
+ }
+}
+
+export default compose( [
+ withSelect( ( select ) => {
+ const {
+ getPostType,
+ } = select( 'core' );
+ const {
+ getCurrentPostId,
+ getEditedPostAttribute,
+ } = select( 'core/editor' );
+ const postType = getPostType( getEditedPostAttribute( 'type' ) );
+
+ return {
+ postId: getCurrentPostId(),
+ status: getEditedPostAttribute( 'status' ),
+ isViewable: get( postType, [ 'viewable' ], false ),
+ };
+ } ),
+ ifCondition( ( { isViewable } ) => isViewable ),
+ ifCondition( ( { status } ) => {
+ return [
+ 'auto-draft',
+ 'publish',
+ 'private',
+ ].indexOf( status ) === -1;
+ } ),
+] )( PreviewToggle );
diff --git a/plugins/public-post-preview/js/src/index.js b/plugins/public-post-preview/js/src/index.js
new file mode 100644
index 00000000..d56dfc6a
--- /dev/null
+++ b/plugins/public-post-preview/js/src/index.js
@@ -0,0 +1,6 @@
+import { registerPlugin } from '@wordpress/plugins';
+import { default as PreviewToggle } from './components/preview-toggle';
+
+registerPlugin( 'public-post-preview', {
+ render: PreviewToggle,
+} );
diff --git a/plugins/public-post-preview/languages/public-post-preview.php b/plugins/public-post-preview/languages/public-post-preview.php
new file mode 100644
index 00000000..118fa0f8
--- /dev/null
+++ b/plugins/public-post-preview/languages/public-post-preview.php
@@ -0,0 +1,19 @@
+<?php
+/* THIS IS A GENERATED FILE. DO NOT EDIT DIRECTLY. */
+$generated_i18n_strings = array(
+ // Reference: js/src/components/preview-toggle/index.js:103
+ __( 'Preview URL copied', 'public-post-preview' ),
+
+ // Reference: js/src/components/preview-toggle/index.js:103
+ __( 'Copy the preview URL', 'public-post-preview' ),
+
+ // Reference: js/src/components/preview-toggle/index.js:109
+ __( 'Enable public preview', 'public-post-preview' ),
+
+ // Reference: js/src/components/preview-toggle/index.js:117
+ __( 'Preview URL', 'public-post-preview' ),
+
+ // Reference: js/src/components/preview-toggle/index.js:137
+ __( 'Copy and share this preview URL.', 'public-post-preview' )
+);
+/* THIS IS THE END OF THE GENERATED FILE */
diff --git a/plugins/public-post-preview/languages/public-post-preview.pot b/plugins/public-post-preview/languages/public-post-preview.pot
new file mode 100644
index 00000000..6939e770
--- /dev/null
+++ b/plugins/public-post-preview/languages/public-post-preview.pot
@@ -0,0 +1,24 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=utf-8\n"
+"X-Generator: babel-plugin-makepot\n"
+
+#: js/src/components/preview-toggle/index.js:103
+msgid "Preview URL copied"
+msgstr ""
+
+#: js/src/components/preview-toggle/index.js:103
+msgid "Copy the preview URL"
+msgstr ""
+
+#: js/src/components/preview-toggle/index.js:109
+msgid "Enable public preview"
+msgstr ""
+
+#: js/src/components/preview-toggle/index.js:117
+msgid "Preview URL"
+msgstr ""
+
+#: js/src/components/preview-toggle/index.js:137
+msgid "Copy and share this preview URL."
+msgstr "" \ No newline at end of file
diff --git a/plugins/public-post-preview/public-post-preview.php b/plugins/public-post-preview/public-post-preview.php
index 5130a0a1..742a93c3 100644
--- a/plugins/public-post-preview/public-post-preview.php
+++ b/plugins/public-post-preview/public-post-preview.php
@@ -1,33 +1,31 @@
<?php
/**
* Plugin Name: Public Post Preview
- * Version: 2.6.0
+ * Version: 2.8.0
* Description: Enables you to give a link to anonymous users for public preview of any post type before it is published.
* Author: Dominik Schilling
- * Author URI: http://wphelper.de/
+ * Author URI: https://wphelper.de/
* Plugin URI: https://dominikschilling.de/wp-plugins/public-post-preview/en/
- *
* Text Domain: public-post-preview
- *
* License: GPLv2 or later
*
* Previously (2009-2011) maintained by Jonathan Dingman and Matt Martz.
*
- * Copyright (C) 2012-2017 Dominik Schilling
+ * Copyright (C) 2012-2018 Dominik Schilling
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
@@ -63,7 +61,7 @@ class DS_Public_Post_Preview {
add_action( 'post_submitbox_misc_actions', array( __CLASS__, 'post_submitbox_misc_actions' ) );
add_action( 'save_post', array( __CLASS__, 'register_public_preview' ), 20, 2 );
add_action( 'wp_ajax_public-post-preview', array( __CLASS__, 'ajax_register_public_preview' ) );
- add_action( 'admin_enqueue_scripts' , array( __CLASS__, 'enqueue_script' ) );
+ add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_script' ) );
add_filter( 'display_post_states', array( __CLASS__, 'display_preview_state' ), 20, 2 );
}
}
@@ -89,24 +87,65 @@ class DS_Public_Post_Preview {
return;
}
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
+ if (
+ ( method_exists( get_current_screen(), 'is_block_editor' ) && get_current_screen()->is_block_editor() ) ||
+ ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() )
+ ) {
+ wp_enqueue_script(
+ 'public-post-preview-gutenberg',
+ plugins_url( 'js/gutenberg-integration.js', __FILE__ ),
+ array(
+ 'lodash',
+ 'wp-compose',
+ 'wp-components',
+ 'wp-data',
+ 'wp-edit-post',
+ 'wp-element',
+ 'wp-i18n',
+ ),
+ '20181127',
+ true
+ );
- wp_enqueue_script(
- 'public-post-preview',
- plugins_url( "js/public-post-preview$suffix.js", __FILE__ ),
- array( 'jquery' ),
- '20160403',
- true
- );
+ $post = get_post();
+ wp_localize_script(
+ 'public-post-preview-gutenberg',
+ 'DSPublicPostPreviewData',
+ array(
+ 'previewEnabled' => self::is_public_preview_enabled( $post ),
+ 'previewUrl' => self::get_preview_link( $post ),
+ 'nonce' => wp_create_nonce( 'public-post-preview_' . $post->ID ),
+ )
+ );
- wp_localize_script(
- 'public-post-preview',
- 'DSPublicPostPreviewL10n',
- array(
- 'enabled' => __( 'Enabled!', 'public-post-preview' ),
- 'disabled' => __( 'Disabled!', 'public-post-preview' ),
- )
- );
+ if ( function_exists( 'gutenberg_get_jed_locale_data' ) ) {
+ $locale_data = gutenberg_get_jed_locale_data( 'public-post-preview' );
+ wp_add_inline_script(
+ 'public-post-preview-gutenberg',
+ 'wp.i18n.setLocaleData( ' . wp_json_encode( $locale_data ) . ', "public-post-preview" );',
+ 'before'
+ );
+ }
+ } else {
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
+
+ wp_enqueue_script(
+ 'public-post-preview',
+ plugins_url( "js/public-post-preview$suffix.js", __FILE__ ),
+ array( 'jquery' ),
+ '20180914',
+ true
+ );
+
+ wp_localize_script(
+ 'public-post-preview',
+ 'DSPublicPostPreviewL10n',
+ array(
+ 'enabled' => __( 'Enabled!', 'public-post-preview' ),
+ 'disabled' => __( 'Disabled!', 'public-post-preview' ),
+ )
+ );
+ }
}
/**
@@ -187,10 +226,9 @@ class DS_Public_Post_Preview {
$post = get_post();
}
- wp_nonce_field( 'public_post_preview', 'public_post_preview_wpnonce' );
+ wp_nonce_field( 'public-post-preview_' . $post->ID, 'public_post_preview_wpnonce' );
- $preview_post_ids = self::get_preview_post_ids();
- $enabled = in_array( $post->ID, $preview_post_ids );
+ $enabled = self::is_public_preview_enabled( $post );
?>
<label><input type="checkbox"<?php checked( $enabled ); ?> name="public_post_preview" id="public-post-preview" value="1" />
<?php _e( 'Enable public preview', 'public-post-preview' ); ?> <span id="public-post-preview-ajax"></span></label>
@@ -198,13 +236,26 @@ class DS_Public_Post_Preview {
<div id="public-post-preview-link" style="margin-top:6px"<?php echo $enabled ? '' : ' class="hidden"'; ?>>
<label>
<input type="text" name="public_post_preview_link" class="regular-text" value="<?php echo esc_attr( self::get_preview_link( $post ) ); ?>" style="width:99%" readonly />
- <span class="description"><?php _e( '(Copy and share this link.)', 'public-post-preview' ); ?></span>
+ <span class="description"><?php _e( 'Copy and share this preview URL.', 'public-post-preview' ); ?></span>
</label>
</div>
<?php
}
/**
+ * Checks if a public preview is enabled for a post.
+ *
+ * @since 2.7.0
+ *
+ * @param WP_Post $post The post object.
+ * @return bool True if a public preview is enabled, false if not.
+ */
+ private static function is_public_preview_enabled( $post ) {
+ $preview_post_ids = self::get_preview_post_ids();
+ return in_array( $post->ID, $preview_post_ids, true );
+ }
+
+ /**
* Returns the public preview link.
*
* The link is the home link with these parameters:
@@ -220,25 +271,25 @@ class DS_Public_Post_Preview {
public static function get_preview_link( $post ) {
if ( 'page' == $post->post_type ) {
$args = array(
- 'page_id' => $post->ID,
+ 'page_id' => $post->ID,
);
- } else if ( 'post' == $post->post_type ) {
+ } elseif ( 'post' == $post->post_type ) {
$args = array(
- 'p' => $post->ID,
+ 'p' => $post->ID,
);
} else {
$args = array(
- 'p' => $post->ID,
- 'post_type' => $post->post_type,
+ 'p' => $post->ID,
+ 'post_type' => $post->post_type,
);
}
$args['preview'] = true;
- $args['_ppp'] = self::create_nonce( 'public_post_preview_' . $post->ID );
+ $args['_ppp'] = self::create_nonce( 'public_post_preview_' . $post->ID );
$link = add_query_arg( $args, home_url( '/' ) );
- return apply_filters( 'ppp_preview_link', $link, $post->ID, $post );
+ return apply_filters( 'ppp_preview_link', $link, $post->ID, $post );
}
/**
@@ -298,7 +349,7 @@ class DS_Public_Post_Preview {
* @return bool Returns false on a failure, true on a success.
*/
public static function unregister_public_preview_on_status_change( $new_status, $old_status, $post ) {
- $disallowed_status = self::get_published_statuses();
+ $disallowed_status = self::get_published_statuses();
$disallowed_status[] = 'trash';
if ( in_array( $new_status, $disallowed_status ) ) {
@@ -318,7 +369,7 @@ class DS_Public_Post_Preview {
* @return bool Returns false on a failure, true on a success.
*/
public static function unregister_public_preview_on_edit( $post_id, $post ) {
- $disallowed_status = self::get_published_statuses();
+ $disallowed_status = self::get_published_statuses();
$disallowed_status[] = 'trash';
if ( in_array( $post->post_status, $disallowed_status ) ) {
@@ -356,36 +407,37 @@ class DS_Public_Post_Preview {
* @since 2.0.0
*/
public static function ajax_register_public_preview() {
- check_ajax_referer( 'public_post_preview' );
-
$preview_post_id = (int) $_POST['post_ID'];
+
+ check_ajax_referer( 'public-post-preview_' . $preview_post_id );
+
$post = get_post( $preview_post_id );
- if ( ( 'page' == $post->post_type && ! current_user_can( 'edit_page', $preview_post_id ) ) || ! current_user_can( 'edit_post', $preview_post_id ) ) {
- wp_die( 0 );
+ if ( ! current_user_can( 'edit_post', $preview_post_id ) ) {
+ wp_send_json_error( 'cannot_edit' );
}
if ( in_array( $post->post_status, self::get_published_statuses() ) ) {
- wp_die( 0 );
+ wp_send_json_error( 'invalid_post_status' );
}
$preview_post_ids = self::get_preview_post_ids();
- if ( empty( $_POST['checked'] ) && in_array( $preview_post_id, $preview_post_ids ) ) {
+ if ( 'false' === $_POST['checked'] && in_array( $preview_post_id, $preview_post_ids ) ) {
$preview_post_ids = array_diff( $preview_post_ids, (array) $preview_post_id );
- } elseif ( ! empty( $_POST['checked'] ) && ! in_array( $preview_post_id, $preview_post_ids ) ) {
+ } elseif ( 'true' === $_POST['checked'] && ! in_array( $preview_post_id, $preview_post_ids ) ) {
$preview_post_ids = array_merge( $preview_post_ids, (array) $preview_post_id );
} else {
- wp_die( 0 );
+ wp_send_json_error( 'unknown_status' );
}
$ret = self::set_preview_post_ids( $preview_post_ids );
if ( ! $ret ) {
- wp_die( 0 );
+ wp_send_json_error( 'not_saved' );
}
- wp_die( 1 );
+ wp_send_json_success();
}
/**
@@ -423,6 +475,7 @@ class DS_Public_Post_Preview {
if ( ! headers_sent() ) {
nocache_headers();
}
+ add_action( 'wp_head', 'wp_no_robots' );
add_filter( 'posts_results', array( __CLASS__, 'set_post_to_publish' ), 10, 2 );
}
@@ -449,7 +502,7 @@ class DS_Public_Post_Preview {
}
if ( ! in_array( $post_id, self::get_preview_post_ids() ) ) {
- wp_die( __( 'No Public Preview available!', 'public-post-preview' ) );
+ wp_die( __( 'No public preview available!', 'public-post-preview' ) );
}
return true;
diff --git a/plugins/public-post-preview/readme.txt b/plugins/public-post-preview/readme.txt
index c2867091..ebd6f194 100644
--- a/plugins/public-post-preview/readme.txt
+++ b/plugins/public-post-preview/readme.txt
@@ -1,9 +1,9 @@
=== Public Post Preview ===
Contributors: ocean90
Tags: public, post, preview, posts, custom post types, draft
-Requires at least: 3.5
-Tested up to: 4.7
-Stable tag: 2.6.0
+Requires at least: 4.6
+Tested up to: 5.0
+Stable tag: 2.8.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -40,7 +40,8 @@ To upload the plugin through WordPress, instead of FTP:
== Screenshots ==
-1. Edit Posts Page
+1. Setting in block editor
+2. Setting in classic editor
== Usage ==
* To enable a public post preview check the box below the edit post box.
@@ -71,6 +72,14 @@ function my_nonce_life() {
Or use the [Public Post Preview Configurator](https://wordpress.org/plugins/public-post-preview-configurator/).
== Change Log ==
+
+= 2.8.0 (2018-11-27): =
+* Add support for WordPress 5.0 and the new block editor.
+
+= 2.7.0 (2018-09-14): =
+* Initial support for Gutenberg.
+* Block robots for public post previews. Props [@westonruter](https://github.com/westonruter).
+
= 2.6.0 (2017-04-27): =
* Make `DS_Public_Post_Preview::get_preview_link()` public. Props [@rcstr](https://github.com/rcstr).
* Send no-cache headers for public post previews.