Version Description
(2021-04-24) =
- Added a "Compatibility Issues" section to the Help page to document incompatible plugins along with possible workarounds.
- Added a "terms" option to the shortcodes which allow you to only display reviews where the terms field was accepted in the form. All reviews that were submitted before this update will have their terms set as accepted.
- Fixed database foreign table constraints
- Fixed settings tabs on touch devices
- Improved the Tools page
Download this release
Release Info
Developer | geminilabs |
Plugin | Site Reviews |
Version | 5.9.0 |
Comparing to | |
See all releases |
Code changes from version 5.8.5 to 5.9.0
- assets/scripts/site-reviews-admin.js +1 -1
- assets/scripts/site-reviews-blocks.js +1 -1
- assets/scripts/site-reviews.js +1 -1
- assets/styles/admin/admin.css +1 -1
- config/forms/metabox-fields.php +5 -0
- languages/site-reviews-en_US.mo +0 -0
- languages/site-reviews-en_US.po +303 -298
- languages/site-reviews.pot +269 -264
- migration.php +19 -0
- plugin/Application.php +2 -0
- plugin/Blocks/SiteReviewsBlock.php +4 -0
- plugin/Blocks/SiteReviewsSummaryBlock.php +4 -0
- plugin/Commands/CreateReview.php +2 -0
- plugin/Controllers/ReviewController.php +1 -0
- plugin/Database.php +12 -0
- plugin/Database/NormalizeQueryArgs.php +1 -0
- plugin/Database/Sql.php +72 -60
- plugin/Database/SqlSchema.php +37 -12
- plugin/Defaults/CreateReviewDefaults.php +17 -1
- plugin/Defaults/RatingDefaults.php +2 -0
- plugin/Defaults/ReviewDefaults.php +2 -0
- plugin/Defaults/ReviewsDefaults.php +1 -0
- plugin/Defaults/SiteReviewsDefaults.php +1 -0
- plugin/Defaults/SiteReviewsSummaryDefaults.php +1 -0
- plugin/Helper.php +3 -0
- plugin/Install.php +14 -11
- plugin/Modules/Html/Tags/FormFieldsTag.php +2 -0
- plugin/Modules/Migrate.php +7 -4
- plugin/Modules/Migrations/Migrate_3_0_0.php +3 -2
- plugin/Modules/Migrations/Migrate_4_0_2.php +2 -1
- plugin/Modules/Migrations/Migrate_4_4_0.php +2 -1
- plugin/Modules/Migrations/Migrate_4_5_0.php +2 -1
- plugin/Modules/Migrations/Migrate_5_0_0.php +2 -1
- plugin/Modules/Migrations/Migrate_5_1_0.php +0 -21
- plugin/Modules/Migrations/Migrate_5_2_0.php +2 -1
- plugin/Modules/Migrations/Migrate_5_3_0.php +21 -12
- plugin/Modules/Migrations/Migrate_5_6_0.php +0 -16
- plugin/Modules/Migrations/Migrate_5_9_0.php +88 -0
- plugin/Modules/Sanitizer.php +12 -0
- plugin/Review.php +1 -0
- readme.txt +27 -17
- site-reviews.php +2 -1
- views/pages/addons/index.php +4 -1
- views/pages/documentation/faq/ipaddress-incorrectly-detected.php +1 -1
- views/pages/documentation/functions/glsr_create_review.php +1 -0
- views/pages/documentation/shortcodes/site_reviews.php +1 -0
- views/pages/documentation/shortcodes/site_reviews/terms.php +7 -0
- views/pages/documentation/shortcodes/site_reviews_summary.php +1 -0
- views/pages/documentation/shortcodes/site_reviews_summary/terms.php +7 -0
- views/pages/documentation/support.php +1 -0
- views/pages/documentation/support/common-problems-and-solutions.php +1 -1
- views/pages/documentation/support/compatibility-issues.php +24 -0
- views/pages/settings/index.php +4 -1
- views/pages/tools/console.php +5 -3
- views/pages/tools/general.php +17 -192
- views/pages/tools/general/export-plugin-settings.php +27 -0
- views/pages/tools/general/import-plugin-settings.php +30 -0
- views/pages/tools/general/import-reviews.php +45 -0
- views/pages/tools/general/migrate-plugin.php +24 -0
- views/pages/tools/general/optimise-db-tables.php +53 -0
- views/pages/tools/general/reset-assigned-meta.php +20 -0
- views/pages/tools/general/reset-permissions.php +25 -0
- views/pages/tools/general/test-ip-detection.php +19 -0
- views/pages/tools/index.php +4 -1
- views/pages/tools/system-info.php +3 -1
- views/pages/welcome/getting-started.php +1 -1
- views/pages/welcome/whatsnew.php +1 -0
- views/pages/welcome/whatsnew/v58.php +2 -2
- views/pages/welcome/whatsnew/v59.php +25 -0
- views/partials/notices/migrate.php +1 -1
assets/scripts/site-reviews-admin.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
/*! For license information please see site-reviews-admin.js.LICENSE.txt */
|
2 |
-
!function(){var t={8:function(t){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(e)}t.exports=n},9367:function(t,n){var e,i,r;i=[t,n],void 0===(r="function"==typeof(e=function(t,n){"use strict";var e,i,r="function"==typeof Map?new Map:(e=[],i=[],{has:function(t){return e.indexOf(t)>-1},get:function(t){return i[e.indexOf(t)]},set:function(t,n){-1===e.indexOf(t)&&(e.push(t),i.push(n))},delete:function(t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),i.splice(n,1))}}),o=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(t){o=function(t){var n=document.createEvent("Event");return n.initEvent(t,!0,!1),n}}function s(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!r.has(t)){var n=null,e=null,i=null,s=function(){t.clientWidth!==e&&d()},a=function(n){window.removeEventListener("resize",s,!1),t.removeEventListener("input",d,!1),t.removeEventListener("keyup",d,!1),t.removeEventListener("autosize:destroy",a,!1),t.removeEventListener("autosize:update",d,!1),Object.keys(n).forEach((function(e){t.style[e]=n[e]})),r.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",a,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",d,!1),window.addEventListener("resize",s,!1),t.addEventListener("input",d,!1),t.addEventListener("autosize:update",d,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",r.set(t,{destroy:a,update:d}),u()}function u(){var e=window.getComputedStyle(t,null);"vertical"===e.resize?t.style.resize="none":"both"===e.resize&&(t.style.resize="horizontal"),n="content-box"===e.boxSizing?-(parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)):parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth),isNaN(n)&&(n=0),d()}function c(n){var e=t.style.width;t.style.width="0px",t.offsetWidth,t.style.width=e,t.style.overflowY=n}function l(t){for(var n=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&n.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return n}function f(){if(0!==t.scrollHeight){var i=l(t),r=document.documentElement&&document.documentElement.scrollTop;t.style.height="",t.style.height=t.scrollHeight+n+"px",e=t.clientWidth,i.forEach((function(t){t.node.scrollTop=t.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function d(){f();var n=Math.round(parseFloat(t.style.height)),e=window.getComputedStyle(t,null),r="content-box"===e.boxSizing?Math.round(parseFloat(e.height)):t.offsetHeight;if(r<n?"hidden"===e.overflowY&&(c("scroll"),f(),r="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight):"hidden"!==e.overflowY&&(c("hidden"),f(),r="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight),i!==r){i=r;var s=o("autosize:resized");try{t.dispatchEvent(s)}catch(t){}}}}function a(t){var n=r.get(t);n&&n.destroy()}function u(t){var n=r.get(t);n&&n.update()}var c=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((c=function(t){return t}).destroy=function(t){return t},c.update=function(t){return t}):((c=function(t,n){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return s(t,n)})),t}).destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],a),t},c.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],u),t}),n.default=c,t.exports=n.default})?e.apply(n,i):e)||(t.exports=r)},5433:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},8325:function(t,n,e){var i=function(t){var n=/\blang(?:uage)?-([\w-]+)\b/i,e=0,i={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof r?new r(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++e}),t.__id},clone:function t(n,e){var r,o;switch(e=e||{},i.util.type(n)){case"Object":if(o=i.util.objId(n),e[o])return e[o];for(var s in r={},e[o]=r,n)n.hasOwnProperty(s)&&(r[s]=t(n[s],e));return r;case"Array":return o=i.util.objId(n),e[o]?e[o]:(r=[],e[o]=r,n.forEach((function(n,i){r[i]=t(n,e)})),r);default:return n}},getLanguage:function(t){for(;t&&!n.test(t.className);)t=t.parentElement;return t?(t.className.match(n)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(i){var t=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(i.stack)||[])[1];if(t){var n=document.getElementsByTagName("script");for(var e in n)if(n[e].src==t)return n[e]}return null}},isActive:function(t,n,e){for(var i="no-"+n;t;){var r=t.classList;if(r.contains(n))return!0;if(r.contains(i))return!1;t=t.parentElement}return!!e}},languages:{extend:function(t,n){var e=i.util.clone(i.languages[t]);for(var r in n)e[r]=n[r];return e},insertBefore:function(t,n,e,r){var o=(r=r||i.languages)[t],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==n)for(var u in e)e.hasOwnProperty(u)&&(s[u]=e[u]);e.hasOwnProperty(a)||(s[a]=o[a])}var c=r[t];return r[t]=s,i.languages.DFS(i.languages,(function(n,e){e===c&&n!=t&&(this[n]=s)})),s},DFS:function t(n,e,r,o){o=o||{};var s=i.util.objId;for(var a in n)if(n.hasOwnProperty(a)){e.call(n,a,n[a],r||a);var u=n[a],c=i.util.type(u);"Object"!==c||o[s(u)]?"Array"!==c||o[s(u)]||(o[s(u)]=!0,t(u,e,a,o)):(o[s(u)]=!0,t(u,e,null,o))}}},plugins:{},highlightAll:function(t,n){i.highlightAllUnder(document,t,n)},highlightAllUnder:function(t,n,e){var r={callback:e,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run("before-all-elements-highlight",r);for(var o,s=0;o=r.elements[s++];)i.highlightElement(o,!0===n,r.callback)},highlightElement:function(e,r,o){var s=i.util.getLanguage(e),a=i.languages[s];e.className=e.className.replace(n,"").replace(/\s+/g," ")+" language-"+s;var u=e.parentElement;u&&"pre"===u.nodeName.toLowerCase()&&(u.className=u.className.replace(n,"").replace(/\s+/g," ")+" language-"+s);var c={element:e,language:s,grammar:a,code:e.textContent};function l(t){c.highlightedCode=t,i.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i.hooks.run("after-highlight",c),i.hooks.run("complete",c),o&&o.call(c.element)}if(i.hooks.run("before-sanity-check",c),!c.code)return i.hooks.run("complete",c),void(o&&o.call(c.element));if(i.hooks.run("before-highlight",c),c.grammar)if(r&&t.Worker){var f=new Worker(i.filename);f.onmessage=function(t){l(t.data)},f.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else l(i.highlight(c.code,c.grammar,c.language));else l(i.util.encode(c.code))},highlight:function(t,n,e){var o={code:t,grammar:n,language:e};return i.hooks.run("before-tokenize",o),o.tokens=i.tokenize(o.code,o.grammar),i.hooks.run("after-tokenize",o),r.stringify(i.util.encode(o.tokens),o.language)},tokenize:function(t,n){var e=n.rest;if(e){for(var i in e)n[i]=e[i];delete n.rest}var r=new a;return u(r,r.head,t),s(t,r,n,r.head,0),function(t){var n=[],e=t.head.next;for(;e!==t.tail;)n.push(e.value),e=e.next;return n}(r)},hooks:{all:{},add:function(t,n){var e=i.hooks.all;e[t]=e[t]||[],e[t].push(n)},run:function(t,n){var e=i.hooks.all[t];if(e&&e.length)for(var r,o=0;r=e[o++];)r(n)}},Token:r};function r(t,n,e,i){this.type=t,this.content=n,this.alias=e,this.length=0|(i||"").length}function o(t,n,e,i){t.lastIndex=n;var r=t.exec(e);if(r&&i&&r[1]){var o=r[1].length;r.index+=o,r[0]=r[0].slice(o)}return r}function s(t,n,e,a,l,f){for(var d in e)if(e.hasOwnProperty(d)&&e[d]){var h=e[d];h=Array.isArray(h)?h:[h];for(var p=0;p<h.length;++p){if(f&&f.cause==d+","+p)return;var v=h[p],m=v.inside,y=!!v.lookbehind,b=!!v.greedy,g=v.alias;if(b&&!v.pattern.global){var w=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,w+"g")}for(var _=v.pattern||v,k=a.next,j=l;k!==n.tail&&!(f&&j>=f.reach);j+=k.value.length,k=k.next){var x=k.value;if(n.length>t.length)return;if(!(x instanceof r)){var S,F=1;if(b){if(!(S=o(_,j,t,y)))break;var Q=S.index,O=S.index+S[0].length,A=j;for(A+=k.value.length;Q>=A;)A+=(k=k.next).value.length;if(j=A-=k.value.length,k.value instanceof r)continue;for(var R=k;R!==n.tail&&(A<O||"string"==typeof R.value);R=R.next)F++,A+=R.value.length;F--,x=t.slice(j,A),S.index-=j}else if(!(S=o(_,0,x,y)))continue;Q=S.index;var z=S[0],P=x.slice(0,Q),$=x.slice(Q+z.length),C=j+x.length;f&&C>f.reach&&(f.reach=C);var L=k.prev;P&&(L=u(n,L,P),j+=P.length),c(n,L,F),k=u(n,L,new r(d,m?i.tokenize(z,m):z,g,z)),$&&u(n,k,$),F>1&&s(t,n,e,k.prev,j,{cause:d+","+p,reach:C})}}}}}function a(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0}function u(t,n,e){var i=n.next,r={value:e,prev:n,next:i};return n.next=r,i.prev=r,t.length++,r}function c(t,n,e){for(var i=n.next,r=0;r<e&&i!==t.tail;r++)i=i.next;n.next=i,i.prev=n,t.length-=r}if(t.Prism=i,r.stringify=function t(n,e){if("string"==typeof n)return n;if(Array.isArray(n)){var r="";return n.forEach((function(n){r+=t(n,e)})),r}var o={type:n.type,content:t(n.content,e),tag:"span",classes:["token",n.type],attributes:{},language:e},s=n.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(o.classes,s):o.classes.push(s)),i.hooks.run("wrap",o);var a="";for(var u in o.attributes)a+=" "+u+'="'+(o.attributes[u]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},!t.document)return t.addEventListener?(i.disableWorkerMessageHandler||t.addEventListener("message",(function(n){var e=JSON.parse(n.data),r=e.language,o=e.code,s=e.immediateClose;t.postMessage(i.highlight(o,i.languages[r],r)),s&&t.close()}),!1),i):i;var l=i.util.currentScript();function f(){i.manual||i.highlightAll()}if(l&&(i.filename=l.src,l.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var d=document.readyState;"loading"===d||"interactive"===d&&l&&l.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});t.exports&&(t.exports=i),void 0!==e.g&&(e.g.Prism=i)},5251:function(){!function(t){var n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+n.source+")*(?=\\s*\\{)"),string:{pattern:n,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var e=t.languages.markup;e&&(e.tag.addInlined("style","css"),t.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:t.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},e.tag))}(Prism)},9980:function(){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript},6854:function(){!function(t){function n(t,n){return"___"+t.toUpperCase()+n+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(e,i,r,o){if(e.language===i){var s=e.tokenStack=[];e.code=e.code.replace(r,(function(t){if("function"==typeof o&&!o(t))return t;for(var r,a=s.length;-1!==e.code.indexOf(r=n(i,a));)++a;return s[a]=t,r})),e.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(e,i){if(e.language===i&&e.tokenStack){e.grammar=t.languages[i];var r=0,o=Object.keys(e.tokenStack);!function s(a){for(var u=0;u<a.length&&!(r>=o.length);u++){var c=a[u];if("string"==typeof c||c.content&&"string"==typeof c.content){var l=o[r],f=e.tokenStack[l],d="string"==typeof c?c:c.content,h=n(i,l),p=d.indexOf(h);if(p>-1){++r;var v=d.substring(0,p),m=new t.Token(i,t.tokenize(f,e.grammar),"language-"+i,f),y=d.substring(p+h.length),b=[];v&&b.push.apply(b,s([v])),b.push(m),y&&b.push.apply(b,s([y])),"string"==typeof c?a.splice.apply(a,[u,1].concat(b)):c.content=b}}else c.content&&s(c.content)}return a}(e.tokens)}}}})}(Prism)},4335:function(){Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,n){var e={};e["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[n]},e.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:e}};i["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var r={};r[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:i},Prism.languages.insertBefore("markup","cdata",r)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},9945:function(){!function(t){var n=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,e=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/,/\b(?:null)\b/i],i=/\b0b[01]+\b|\b0x[\da-f]+\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+)(?:e[+-]?\d+)?/i,r=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:n,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],"argument-name":/\b[a-z_]\w*(?=\s*:(?!:))/i,"class-name":[{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,function:/\w+\s*(?=\()/,property:{pattern:/(->)[\w]+/,lookbehind:!0},number:i,operator:r,punctuation:o};var s={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/,lookbehind:!0,inside:t.languages.php},a=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:a}),t.languages.insertBefore("php","variable",{attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:n,string:a,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,number:i,operator:r,punctuation:o}},delimiter:{pattern:/^#\[|]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",(function(n){if(/<\?/.test(n.code)){t.languages["markup-templating"].buildPlaceholders(n,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi)}})),t.hooks.add("after-tokenize",(function(n){t.languages["markup-templating"].tokenizePlaceholders(n,"php")}))}(Prism)},8759:function(){!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var t="line-numbers",n=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(n,e){if("PRE"===n.tagName&&n.classList.contains(t)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,o=r+(i.children.length-1);e<r&&(e=r),e>o&&(e=o);var s=e-r;return i.children[s]}}},resize:function(t){o([t])},assumeViewportIndependence:!0},i=function(t){return t?window.getComputedStyle?getComputedStyle(t):t.currentStyle||null:null},r=void 0;window.addEventListener("resize",(function(){e.assumeViewportIndependence&&r===window.innerWidth||(r=window.innerWidth,o(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(e){if(e.code){var i=e.element,r=i.parentNode;if(r&&/pre/i.test(r.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,t)){i.classList.remove(t),r.classList.add(t);var s,a=e.code.match(n),u=a?a.length+1:1,c=new Array(u+1).join("<span></span>");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=c,r.hasAttribute("data-start")&&(r.style.counterReset="linenumber "+(parseInt(r.getAttribute("data-start"),10)-1)),e.element.appendChild(s),o([r]),Prism.hooks.run("line-numbers",e)}}})),Prism.hooks.add("line-numbers",(function(t){t.plugins=t.plugins||{},t.plugins.lineNumbers=!0}))}function o(t){if(0!=(t=t.filter((function(t){var n=i(t)["white-space"];return"pre-wrap"===n||"pre-line"===n}))).length){var e=t.map((function(t){var e=t.querySelector("code"),i=t.querySelector(".line-numbers-rows");if(e&&i){var r=t.querySelector(".line-numbers-sizer"),o=e.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",e.appendChild(r)),r.innerHTML="0",r.style.display="block";var s=r.getBoundingClientRect().height;return r.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:s,sizer:r}}})).filter(Boolean);e.forEach((function(t){var n=t.sizer,e=t.lines,i=t.lineHeights,r=t.oneLinerHeight;i[e.length-1]=void 0,e.forEach((function(t,e){if(t&&t.length>1){var o=n.appendChild(document.createElement("span"));o.style.display="block",o.textContent=t}else i[e]=r}))})),e.forEach((function(t){for(var n=t.sizer,e=t.lineHeights,i=0,r=0;r<e.length;r++)void 0===e[r]&&(e[r]=n.children[i++].getBoundingClientRect().height)})),e.forEach((function(t){var n=t.sizer,e=t.element.querySelector(".line-numbers-rows");n.style.display="none",n.innerHTML="",t.lineHeights.forEach((function(t,n){e.children[n].style.height=t+"px"}))}))}}}()},9449:function(t){"use strict";function n(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function e(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}var r={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},o=function(t,n,e){t.classList[n?"add":"remove"](e)},s=function(t){var n=document.createElement("span");for(var e in t=t||{})n.setAttribute(e,t[e]);return n},a=function(t,n,e){var i=s(e);return t.parentNode.insertBefore(i,n?t.nextSibling:t),i},u=function t(){for(var n=arguments.length,e=new Array(n),i=0;i<n;i++)e[i]=arguments[i];var r={};return e.forEach((function(n){Object.keys(n||{}).forEach((function(i){if(void 0!==e[0][i]){var o=n[i];"Object"!==c(o)||"Object"!==c(r[i])?r[i]=o:r[i]=t(r[i],o)}}))})),r},c=function(t){return{}.toString.call(t).slice(8,-1)},l=function(){function t(e,i){var r,o;n(this,t),this.direction=window.getComputedStyle(e,null).getPropertyValue("direction"),this.el=e,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=i,this.tick=null,this.ticking=!1,this.values=function(t){var n=[];return[].forEach.call(t.options,(function(t){var e=parseInt(t.value,10)||0;e>0&&n.push({index:t.index,text:t.text,value:e})})),n.sort((function(t,n){return t.value-n.value}))}(e),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),r=this.values.length,o=this.props.maxStars,/^\d+$/.test(r)&&1<=r&&r<=o?this.build():this.destroy()}return i(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,n,e=this;this.props.prebuilt?(t=this.el.parentNode,n=t.querySelector("."+this.props.classNames.base+"--stars")):((t=a(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),n=a(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,i){var r=s({"data-index":i,"data-value":t.value});"function"==typeof e.props.stars&&e.props.stars.call(e,r,t,i),[].forEach.call(r.children,(function(t){return t.style.pointerEvents="none"})),n.innerHTML+=r.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&n.setAttribute("role","tooltip"),this.widgetEl=n}},{key:"changeIndexTo",value:function(t,n){var e=this;if(this.indexActive!==t||n){if([].forEach.call(this.widgetEl.children,(function(n,i){o(n,i<=t,e.props.classNames.active),o(n,i===e.indexSelected,e.props.classNames.selected)})),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var i=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",i)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,n,e,i){var r=this;e.forEach((function(e){return t[n+"EventListener"](e,r.events[e],i||!1)}))}},{key:"handleEvents",value:function(t){var n=this.el.closest("form");n&&"FORM"===n.tagName&&this.eventListener(n,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var n,e,i=(null===(n=t.touches)||void 0===n?void 0:n[0])||(null===(e=t.changedTouches)||void 0===e?void 0:e[0])||t,r=document.elementFromPoint(i.clientX,i.clientY);return[].slice.call(r.parentNode.children).indexOf(r)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var n=t.key.slice(5);if(~["Left","Right"].indexOf(n)){var e="Left"===n?-1:1;"rtl"===this.direction&&(e*=-1);var i=this.values.length-1,r=Math.min(Math.max(this.selected()+e,-1),i);this.selectValue(r,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var n=this.indexFromEvent(t);this.props.clearable&&n===this.indexSelected&&(n=-1),this.selectValue(n,!0)}},{key:"onPointerLeave",value:function(t){var n=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return n.changeIndexTo(n.indexSelected)}))}},{key:"onPointerMove",value:function(t){var n=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return n.changeIndexTo(n.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t;this.selectValue((null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.index)||-1,!1)}},{key:"selected",value:function(){var t=this;return this.values.findIndex((function(n){return n.value===+t.el.value}))}},{key:"selectValue",value:function(t,n){var e;this.el.value=(null===(e=this.values[t])||void 0===e?void 0:e.value)||"",this.indexSelected=this.selected(),!1===n?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}}]),t}(),f=function(){function t(e,i){n(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(e,i)}return i(t,[{key:"buildWidgets",value:function(t,n){var e=this;this.queryElements(t).forEach((function(t){var i=u(r,n,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!i.prebuilt&&t.parentNode.classList.contains(i.classNames.base)&&e.unwrap(t),e.widgets.push(new l(t,i)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===c(t)?[t]:"NodeList"===c(t)?[].slice.call(t):"String"===c(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var n=t.parentNode,e=n.parentNode;e.insertBefore(t,n),e.removeChild(n)}}]),t}();t.exports=f}},n={};function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{}};return t[i].call(r.exports,r,r.exports,e),r.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},function(){"use strict";var t=function(t){return this.data={},this.form=jQuery(t),this.pushes={},this.init()};t.prototype={patterns:{validate:/^[a-z_-][a-z0-9_-]*(?:\[(?:\d*|[a-z0-9_-]+)\])*$/i,key:/[a-z0-9_-]+|(?=\[\])/gi,named:/^[a-z0-9_-]+$/i,push:/^$/,fixed:/^\d+$/},addPair:function(t){this.patterns.validate.test(t.name)&&(this.data=jQuery.extend(!0,this.data,this.makeObject(t.name,this.encode(t))))},build:function(t,n,e){return t[n]=e,t},encode:function(t){switch(jQuery('[name="'+t.name+'"]',this.form).attr("type")){case"checkbox":return"on"===t.value||t.value;default:return t.value}},incrementPush:function(t){return void 0===this.pushes[t]&&(this.pushes[t]=0),this.pushes[t]++},init:function(){var t=this.form.serializeArray();if(jQuery.isArray(t))for(var n=0,e=t.length;n<e;n++)this.addPair(t[n]);return this.data},makeObject:function(t,n){for(var e,i=t.match(this.patterns.key);void 0!==(e=i.pop());)if(this.patterns.push.test(e)){var r=this.incrementPush(t.replace(/\[\]$/,""));n=this.build([],r,n)}else this.patterns.fixed.test(e)?n=this.build([],e,n):this.patterns.named.test(e)&&(n=this.build({},e,n));return n}};var n=t,i=function(t,n,e){this.event=n||null,this.form=e||null,this.notice=null,this.request=t||{}};i.prototype={post:function(t){this.event?this.t(t):this.i(t)},u:function(t){var e={action:GLSR.action,_ajax_request:!0};if(this.form){var i=new n(this.form);i[GLSR.nameprefix]&&(this.request=i[GLSR.nameprefix])}return this.l(t),e[GLSR.nameprefix]=this.request,e},l:function(t){this.request._nonce||(GLSR.nonce[this.request._action]?this.request._nonce=GLSR.nonce[this.request._action]:t&&(this.request._nonce=t.closest("form").find("#_wpnonce").val()))},i:function(t,n){jQuery.post(GLSR.ajaxurl,this.u(n)).done((function(e){"function"==typeof t&&t(e.data,e.success),n&&n.prop("disabled",!1)})).always((function(t){t.data?t.data.notices&&GLSR.notices.add(t.data.notices):GLSR.notices.add('<div class="notice notice-error inline is-dismissible"><p>Unknown error.</p></div>')}))},t:function(t){this.event.preventDefault();var n=jQuery(this.event.currentTarget);n.is(":disabled")||(n.prop("disabled",!0),this.i(t,n))}};var r=i,o=e(9367),s=e.n(o),a=e(8),u=e.n(a),c=function(){"object"===u()(jQuery.wp)&&"function"==typeof jQuery.wp.wpColorPicker&&jQuery(document).find("input[type=text].color-picker-hex").each((function(){jQuery(this).wpColorPicker(jQuery(this).data("colorpicker")||{})}))},l=function(t){this.el=document.querySelector(t),this.el&&(this.depends=this.el.querySelectorAll("[data-depends]"),this.depends.length&&this.h())};l.prototype={p:function(t){var n=t.getAttribute("data-depends");if(n)try{return JSON.parse(n)}catch(t){return}},h:function(){for(var t=this.el.elements,n=0;n<t.length;n++)~["INPUT","SELECT"].indexOf(t[n].nodeName)&&t[n].addEventListener("change",this.v.bind(this))},m:function(t,n){var e=!1;n=[].concat(n);var i=this.el.querySelectorAll('[name="'+t+'"]');return[].map.call(i,function(t){var i=~this._(n).indexOf(this.k(t.value));~["checkbox","radio"].indexOf(t.type)?t.checked&&i&&(e=!0):i&&(e=!0)}.bind(this)),e},k:function(t){return!!~["true","on","yes","1"].indexOf(t)||!~["false","off","no","0"].indexOf(t)&&t},_:function(t){return t.map(this.k)},v:function(t){this.depends.forEach(function(n){var e=this.p(n);if(e&&~e.map((function(t){return t.name})).indexOf(t.currentTarget.name)){var i=!0;e.forEach(function(t){this.m(t.name,t.value)||(i=!1)}.bind(this)),this.j(n,i)}}.bind(this))},j:function(t,n){var e=t.closest(".glsr-setting-field");e&&e.classList[n?"remove":"add"]("hidden")}};var f=l,d=function(){jQuery(".glsr-metabox-field input[data-edit-review]").on("change",this.S.bind(this)),jQuery(".glsr-metabox-field input[type=url]").on("change",this.F.bind(this))};d.prototype={F:function(t){var n=jQuery(t.currentTarget);this.O(n.parent().find("img"),n.val())},S:function(t){var n=t.currentTarget.checked;jQuery(".glsr-input-value").each(function(t,e){if(n)jQuery(e).data("value",e.value);else{if(e.value=jQuery(e).data("value"),"url"!==e.type)return;this.O(jQuery(e).parent().find("img"),e.value)}}.bind(this)),jQuery(".glsr-input-value").prop("disabled",!n),GLSR.stars.rebuild()},O:function(t,n){if(t){var e=new Image;e.src=n,e.onerror=function(){t.attr("src",t.data("fallback"))},e.onload=function(){t.attr("src",e.src)}}}};var h=d,p=function(){this.h()};p.prototype={add:function(t){t&&(jQuery("#glsr-notices").length||(jQuery("#message.notice").remove(),jQuery("hr.wp-header-end").after('<div id="glsr-notices" />')),jQuery("#glsr-notices").html(t),jQuery(document).trigger("wp-updates-notice-added"))},h:function(){jQuery(".glsr-notice[data-dismiss]").on("click.wp-dismiss-notice",this.A.bind(this))},A:function(t){var n={};n[GLSR.nameprefix]={_action:"dismiss-notice",notice:jQuery(t.currentTarget).data("dismiss")},wp.ajax.post(GLSR.action,n)}};var v=p,m=function(){this.el=jQuery("#pinned-status-select"),this.el&&(this.cancel=jQuery("a.cancel-pinned-status"),this.cancel.on("click",this.R.bind(this)),this.edit=jQuery("a.edit-pinned-status"),this.edit.on("click",this.P.bind(this)),this.save=jQuery("a.save-pinned-status"),this.save.on("click",this.$.bind(this))),jQuery("td.column-is_pinned i.pin-review").on("click",this.C.bind(this))};m.prototype={L:function(){this.el.slideUp("fast"),this.edit.show().focus()},R:function(t){t.preventDefault(),this.L(),this.el.find("select").val("0"===jQuery("#hidden-pinned-status").val()?1:0)},P:function(t){t.preventDefault(),this.el.is(":hidden")&&(this.el.slideDown("fast",function(){this.el.find("select").focus()}.bind(this)),this.edit.hide())},$:function(t){t.preventDefault(),this.L(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:jQuery("#post_ID").val(),pinned:jQuery("#pinned-status").val()};new r(n).post(this.T.bind(this))},C:function(t){t.preventDefault(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:t.currentTarget.getAttribute("data-id")};jQuery(this.target).addClass("spinner is-active").removeClass("dashicons-sticky"),new r(n).post(this.G.bind(this))},T:function(t){jQuery("#pinned-status").val(0|!t.pinned),jQuery("#hidden-pinned-status").val(0|t.pinned),jQuery("#pinned-status-text").text(t.pinned?this.target.dataset.yes:this.target.dataset.no),GLSR.notices.add(t.notices)},G:function(t){this.target.classList[t.pinned?"add":"remove"]("pinned"),jQuery(this.target).removeClass("spinner is-active").addClass("dashicons-sticky")}};var y=m,b=function(){jQuery.each(GLSR.pointers,function(t,n){this.h(n)}.bind(this))};b.prototype={M:function(t){jQuery.post(GLSR.ajaxurl,{action:"dismiss-wp-pointer",pointer:t})},h:function(t){jQuery(t.target).pointer({content:t.options.content,position:t.options.position,close:this.M.bind(null,t.id)}).pointer("open").pointer("sendToTop"),jQuery(document).on("wp-window-resized",(function(){jQuery(t.target).pointer("reposition")}))}};var g=b,w=e(8325),k=e.n(w),j=(e(5433),e(4335),e(9980),e(6854),e(9945),e(5251),e(8759),function(t,n){this.el=jQuery(t),this.options=n,this.searchTerm=null,this.h()});j.prototype={defaults:{action:null,exclude:[],onInit:null,onResultClick:null,results:{},selected:-1,selectedClass:"glsr-selected-result",selectorEntries:".glsr-strings-table tbody",selectorResults:".glsr-search-results",selectorSearch:".glsr-search-input"},h:function(){this.options=jQuery.extend({},this.defaults,this.options),this.el.length&&(this.options.entriesEl=this.el.parent().find(this.options.selectorEntries),this.options.resultsEl=this.el.find(this.options.selectorResults),this.options.searchEl=this.el.find(this.options.selectorSearch),this.options.searchEl.attr("aria-describedby","live-search-desc"),"function"==typeof this.options.onInit&&this.options.onInit.call(this),this.q())},q:function(){this.options.searchEl.on("input",_.debounce(this.D.bind(this),500)),this.options.searchEl.on("keyup",this.I.bind(this)),this.options.searchEl.on("keydown keypress",(function(t){GLSR.keys.ENTER===t.which&&t.preventDefault()})),jQuery(document).on("click",this.B.bind(this)),jQuery(document).on("keydown",this.H.bind(this))},W:function(){void 0!==this.searchRequest&&this.searchRequest.abort()},U:function(){this.W(),this.options.resultsEl.empty(),this.options.resultsEl.removeClass("is-active"),this.el.removeClass("is-active"),jQuery("body").removeClass("glsr-focus")},N:function(t){var n=this.options.entriesEl.children("tr").eq(t),e=this;n.find("td").css({backgroundColor:"#faafaa"}),n.fadeOut(350,(function(){jQuery(this).remove(),e.options.results={},e.V(),e.Z()}))},K:function(t){jQuery("body").addClass("glsr-focus"),this.options.resultsEl.append(t),this.options.resultsEl.children("span").on("click",this.X.bind(this))},Y:function(){this.options.entriesEl.on("click","a.delete",this.J.bind(this)),this.options.entriesEl.sortable({items:"tr",tolerance:"pointer",start:function(t,n){n.placeholder.height(n.helper[0].scrollHeight)},sort:function(t,n){var e=t.pageY-jQuery(this).offsetParent().offset().top-n.helper.outerHeight(!0)/2;n.helper.css({top:e+"px"})}})},tt:function(t){this.options.selected+=t,this.options.results.removeClass(this.options.selectedClass),this.options.selected<0&&(this.options.selected=-1,this.options.searchEl.focus()),this.options.selected>=this.options.results.length&&(this.options.selected=this.options.results.length-1),this.options.selected>=0&&this.options.results.eq(this.options.selected).addClass(this.options.selectedClass).focus()},B:function(t){jQuery(t.target).find(this.el).length&&jQuery("body").hasClass("glsr-focus")&&this.U()},H:function(t){if(!jQuery.isEmptyObject(this.options.results)){if(GLSR.keys.ESC===t.which&&this.U(),GLSR.keys.ENTER===t.which||GLSR.keys.SPACE===t.which){var n=this.options.resultsEl.find("."+this.options.selectedClass);n&&n.trigger("click")}GLSR.keys.UP===t.which&&(t.preventDefault(),this.tt(-1)),GLSR.keys.DOWN===t.which&&(t.preventDefault(),this.tt(1))}},J:function(t){t.preventDefault(),this.N(jQuery(t.currentTarget).closest("tr").index())},X:function(t){t.preventDefault(),"function"==typeof this.options.onResultClick&&this.options.onResultClick.call(this,t),this.U()},D:function(t){if(this.W(),this.searchTerm===t.currentTarget.value&&this.options.results.length)return this.K(this.options.results);if(this.options.resultsEl.empty(),this.options.selected=-1,this.searchTerm=t.currentTarget.value,""===this.searchTerm)return this.nt();this.el.addClass("is-active");var n={};n[GLSR.nameprefix]={_action:this.options.action,_nonce:this.el.find("#_search_nonce").val(),exclude:this.options.exclude,search:this.searchTerm},this.searchRequest=wp.ajax.post(GLSR.action,n).done(function(t){this.el.removeClass("is-active"),this.K(t.items?t.items:t.empty),this.options.results=this.options.resultsEl.children(),this.options.resultsEl.addClass("is-active"),delete this.searchRequest}.bind(this))},I:function(t){GLSR.keys.ESC===t.which&&this.nt(),GLSR.keys.ENTER===t.which&&(this.D(t),t.preventDefault())},et:function(t){t.preventDefault();var n=jQuery(t.currentTarget).closest(".glsr-multibox-entry");n.find("a").css({color:"#c00"}),n.fadeOut("fast",(function(){n.remove()}))},V:function(){var t=this;this.options.exclude=[],this.options.entriesEl.children("tr").each((function(n){jQuery(this).find(".glsr-string-td2").children().filter(":input").each((function(){var e=jQuery(this),i=e.attr("name").replace(/\[\d+\]/i,"["+n+"]");e.attr("name",i),e.is("[data-id]")&&t.options.exclude.push({id:e.val()})}))}))},nt:function(){this.U(),this.options.results={},this.options.searchEl.val("")},Z:function(){var t=this.options.entriesEl.children().length>0?"remove":"add";this.options.entriesEl.parent()[t+"Class"]("glsr-hidden")}};var x=j,S=function(t){this.options=jQuery.extend({},this.defaults,t),this.tabs=document.querySelectorAll(this.options.tabSelector),this.tabs&&this.h()};S.prototype={defaults:{expandSelectors:".glsr-nav-view, .glsr-notice",tabSelector:".glsr-nav-tab"},h:function(){var t=this;[].forEach.call(t.tabs,function(n,e){n.addEventListener("click",t.A.bind(t)),n.addEventListener("touchend",t.A.bind(t))}.bind(t)),jQuery(t.options.expandSelectors).on("click","a",(function(){var n=jQuery(this).data("expand");localStorage.setItem("glsr-expand",n),t.it(jQuery(n))})),jQuery(window).on("load",(function(){t.it(jQuery(localStorage.getItem("glsr-expand")))}))},A:function(t){t.preventDefault(),this.rt(t.currentTarget)},it:function(t){if(t.length){var n=t.parent().parent();n.removeClass("collapsed"),this.ot(n),n.removeClass("collapsed"),t.parent().removeClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!0),window.setTimeout((function(){t.parent()[0].scrollIntoView({behavior:"smooth",block:"center"}),localStorage.removeItem("glsr-expand")}),10)}},ot:function(t){var n=t.hasClass("collapsed")?"remove":"add";t[n+"Class"]("collapsed").find(".glsr-card.postbox")[n+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==n)},rt:function(t){if(t.classList.contains("nav-tab-active")){var n=jQuery(t.getAttribute("href"));this.ot(n)}}};var F=S,Q=function(t){this.current=null,this.editor=null,this.create=function(t){if(this.editor=tinymce.get(t),this.editor){var n={_action:"mce-shortcode",shortcode:this.current};new r(n).post(this.st.bind(this))}};var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){var n=t.querySelector("button"),e=t.querySelectorAll(".mce-menu-item");n&&e.length&&this.h(t,n,e)}.bind(this))};Q.prototype={at:{},ut:[],h:function(t,n,e){document.addEventListener("click",this.ct.bind(this,t,n)),n.addEventListener("click",this.lt.bind(this,t,n)),e.forEach(function(e){e.addEventListener("click",this.ft.bind(this,t,n))}.bind(this))},dt:function(){tinymce.execCommand("GLSR_Shortcode")},ht:function(){jQuery("#scTemp").length?this.dt():(jQuery("body").append('<textarea id="scTemp" style="display:none!important;"/>'),tinymce.init({elements:"scTemp",external_plugins:GLSR.tinymce,mode:"exact",plugins:["glsr_shortcode","wplink"]}),setTimeout(function(){this.dt()}.bind(this),200))},M:function(t,n){jQuery(n).removeClass("active"),jQuery(t).find(".glsr-mce-menu").hide()},vt:function(){var t=jQuery("#scTemp");t.length&&(tinymce.get("scTemp").remove(),t.remove()),this.at={},this.ut=[]},st:function(t){if(t){if(0===t.body.length)return window.send_to_editor("["+t.shortcode+"]"),void this.vt();var n=this.yt(t);t.ok.constructor===Array&&(n.buttons[0].text=t.ok[0],n.buttons[0].onclick="close",delete n.buttons[1]),this.editor.windowManager.open(n)}},bt:function(t){for(var n in this.at=t,this.ut=[],t)t.hasOwnProperty(n)&&(this.gt(n),this.wt(n),this._t(n));this.at.hide=this.ut.join(",")},gt:function(t){"display"!==t||jQuery.isNumeric(this.at[t])||(this.at[t]="")},wt:function(t){if(GLSR.hideoptions.hasOwnProperty(this.current)){var n=t.substring("hide_".length);-1!==Object.keys(GLSR.hideoptions[this.current]).indexOf(n)&&(this.at[t]&&this.ut.push(n),delete this.at[t])}},_t:function(t){"id"===t&&(this.at[t]=(+new Date).toString(36))},ct:function(t,n,e){jQuery(e.target).closest(jQuery(t)).length||this.M(t,n)},lt:function(t,n,e){e.preventDefault(),e.currentTarget.classList.contains("active")?this.M(t,n):this.kt(t,n)},ft:function(t,n,e){e.preventDefault(),this.current=e.currentTarget.dataset.shortcode,this.current&&(tinymce.get(window.wpActiveEditor)?this.dt():this.ht(),setTimeout(function(){this.M(t,n)}.bind(this),100))},kt:function(t,n){jQuery(n).addClass("active"),jQuery(t).find(".glsr-mce-menu").show()},jt:function(t){return[{classes:"btn glsr-btn primary",onclick:this.xt.bind(this),text:t.ok},{onclick:"close",text:t.close}]},yt:function(t){return{title:t.title,body:t.body,classes:"glsr-mce-popup",minWidth:320,buttons:this.jt(t),onsubmit:this.St.bind(this,t),onclose:this.vt.bind(this)}},St:function(t,n){var e="";for(var i in this.bt(n.data),this.at)this.at.hasOwnProperty(i)&&""!==this.at[i]&&(e+=" "+i+'="'+this.at[i]+'"');window.send_to_editor("["+t.shortcode+e+"]")},xt:function(){var t=this.editor.windowManager.getWindows()[0];this.Ft(t)&&t.submit()},Ft:function(t){var n,e=!0,i=GLSR.shortcodes[this.current];for(var r in i)if(i.hasOwnProperty(r)&&void 0!==(n=t.find("#"+r)[0])&&""===n.state.data.value){e=!1,alert(i[r]);break}return e}};var O=Q,A=e(9449),R=e.n(A),z=function(t){var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){t.addEventListener("click",this.A)}.bind(this))};z.prototype={A:function(t){var n=t.currentTarget.href.match(/post=([0-9]+)/),e=t.currentTarget.href.match(/action=([a-z]+)/);if(null!==n&&null!==e){var i={_action:"toggle-status",_nonce:GLSR.nonce["toggle-status"],post_id:n[1],status:e[1]};new r(i,t).post((function(n){if(n.class){var e=jQuery(t.target);e.closest("tr").removeClass("status-pending status-publish").addClass(n.class),e.closest("td.column-title").find("strong").html(n.link),n.counts&&(e.closest(".wrap").find("ul.subsubsub").html(n.counts),jQuery("#menu-posts-site-review").find(".awaiting-mod").removeClass().addClass("awaiting-mod count-"+n.pending).find(".unapproved-count").html(n.pending))}}))}}};var P=z,$=function(){this.button=jQuery("button#sync-reviews"),this.progressbar=jQuery(".glsr-progress"),this.service=null,jQuery("form.glsr-form-sync").on("click","#sync-reviews",this.Qt.bind(this)),jQuery(document).on("wp-window-resized",this.Ot),jQuery(window).on("hashchange",this.Ot),this.Ot()};$.prototype={At:function(t){jQuery(".service-"+this.service+" td.column-last_sync").text(t.last_sync),jQuery(".service-"+this.service+" td.column-total_fetched a").text(t.total),this.Rt(!1)},Qt:function(t){t.preventDefault(),this.service=jQuery('[name="'+GLSR.nameprefix+'[service]"]').val(),this.service&&(this.Rt(!0),this.zt())},Ot:function(){var t=jQuery(".glsr-progress").width();t&&jQuery(".glsr-progress span").width(t)},zt:function(){var t={_action:"sync-reviews",service:this.service,stage:"fetch"};new r(t).post(this.Pt.bind(this))},Pt:function(t){var n={_action:"sync-reviews",job_id:t.job_id,service:this.service,stage:"progress"},e=t.finished?this.$t.bind(this,t):this.Pt.bind(this);this.Ct(t.message),this.Lt(t.percent),setTimeout((function(){new r(n).post(e)}),1500)},$t:function(t){var n=0;try{n=t.meta.pagination.current_page}catch(t){}var e={_action:"sync-reviews",page:n+1,service:this.service,stage:"reviews"};this.Ct(t.message),t.percent_synced&&t.percent_synced>=100?this.At(t):new r(e).post(this.$t.bind(this))},Ct:function(t){jQuery(".glsr-progress-status",this.progressbar).text(t)},Lt:function(t){t=(t||0)+"%",jQuery(".glsr-progress-bar",this.progressbar).outerWidth(t)},Rt:function(t){if(!0===t&&(this.Ct(this.progressbar.data("active-text")),this.Lt(),this.button.prop("disabled",!0),window.requestAnimationFrame(function(){this.progressbar.addClass("active")}.bind(this))),!1===t)return this.service=null,this.button.prop("disabled",!1),void this.progressbar.removeClass("active");window.requestAnimationFrame(this.Rt.bind(this))}};var C=$,L=function(t){this.options=jQuery.extend({},this.defaults,t),this.active=document.querySelector("input[name=_active_tab]"),this.referrerEl=document.querySelector("input[name=_wp_http_referer]"),this.sections=document.querySelectorAll(this.options.viewSectionSelector),this.subsubsub=document.querySelectorAll(this.options.viewSubsubsub),this.tabs=document.querySelectorAll(this.options.tabSelector),this.views=document.querySelectorAll(this.options.viewSelector),this.active&&this.referrerEl&&this.tabs&&this.views&&this.h()};L.prototype={defaults:{tabSelector:".glsr-nav-tab",viewSelector:".glsr-nav-view",viewSectionSelector:".glsr-nav-view-section",viewSubsubsub:".glsr-subsubsub a"},h:function(){var t=this;jQuery(window).on("hashchange",t.Tt.bind(t)),jQuery(t.options.tabSelector).on("click",t.A.bind(t)),jQuery(t.options.viewSubsubsub).on("click",t.A.bind(t)),jQuery(t.options.tabSelector).each((function(n){(location.hash?this.getAttribute("href").slice(1)===location.hash.slice(5).split("_")[0]:0===n)&&(t.Et(this),t.Gt(t.Mt()))}))},qt:function(t){return t?"add":"remove"},A:function(t){var n=t.currentTarget,e=n.getAttribute("href");e.startsWith("#")&&(location.hash=this.Dt(e.slice(1)),n.blur(),t.preventDefault())},Tt:function(){for(var t=this.Mt().split("_")[0],n=0;n<this.views.length;n++)if(t===this.views[n].id){this.Et(this.tabs[n]),this.Gt(this.Mt());break}},Dt:function(t){return"tab-"+t},Mt:function(){return location.hash?location.hash.split("#tab-")[1]:""},Gt:function(t){if(t){var n=this.referrerEl.value.split("#")[0],e=this.Dt(t);this.referrerEl.value=n+"#"+e}},Et:function(t){[].forEach.call(this.tabs,function(n,e){var i=this.qt(n===t);"add"===i&&(this.active.value=this.views[e].id,this.It(e)),n.classList[i]("nav-tab-active")}.bind(this))},It:function(t){[].forEach.call(this.views,function(n,e){var i=this.qt(e!==t);n.classList[i]("ui-tabs-hide"),this.Bt()}.bind(this))},Bt:function(){var t=this,n=0;[].forEach.call(this.subsubsub,(function(e,i){e.classList.remove("current"),e.getAttribute("href").slice(1)===t.Mt()&&(n=i)})),this.subsubsub[n]&&this.subsubsub[n].classList.add("current"),[].forEach.call(this.sections,(function(e,i){var r=t.qt(i!==n);e.classList[r]("ui-tabs-hide")}))}};var T=L,E=function(){var t=document.querySelector("#contentdiv > textarea");t&&(this.Ht(t),jQuery(document).on("wp-window-resized.editor-expand",function(){this.Ht(t)}.bind(this)))};E.prototype={Ht:function(t){var n=t.scrollHeight>320?t.scrollHeight:320;t.style.height="auto",t.style.height=n+"px"}};var G=E,M=function(){jQuery("form").on("click","#clear-console",this.Wt,this.A.bind(this)),jQuery("form").on("click","#fetch-console",this.Wt,this.A.bind(this)),jQuery("form").on("click","[data-ajax-click]",this.A.bind(this));var t=jQuery("input[data-alt]");t.length&&(jQuery(document).on("keydown",this.Ut.bind(this,t)),jQuery(document).on("keyup",this.Nt.bind(this,t)))};M.prototype={Wt:function(t,n){n&&jQuery("#log-file").val(t.console)},A:function(t){var n=jQuery(t.currentTarget);new r({},t,n.closest("form")).post((function(e,i){"function"==typeof t.data&&t.data(e,i),n.get(0).hasAttribute("data-ajax-scroll")&&jQuery("html, body").animate({scrollTop:0},500),n.closest("[data-ajax-hide]").css({backgroundColor:"rgba(74,184,102,.25)"}).fadeOut("normal",(function(){jQuery(this).remove()})),jQuery("#glsr-notices").on("click","a",(function(){localStorage.setItem("glsr-expand",n.data("expand"))})),jQuery('.glsr-notice[data-notice="'+n.data("remove-notice")+'"]').remove()}))},Ut:function(t,n){GLSR.keys.ALT!==n.keyCode||n.repeat||(t.closest("form").find("[data-alt-text]").addClass("alt"),t.val(1))},Nt:function(t,n){GLSR.keys.ALT===n.keyCode&&(t.closest("form").find("[data-alt-text]").removeClass("alt"),t.val(0))}};var q=M;function D(t){var n=t.getBoundingClientRect();return{width:n.width,height:n.height,top:n.top,right:n.right,bottom:n.bottom,left:n.left,x:n.left,y:n.top}}function I(t){if(null==t)return window;if("[object Window]"!==t.toString()){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function B(t){var n=I(t);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function H(t){return t instanceof I(t).Element||t instanceof Element}function W(t){return t instanceof I(t).HTMLElement||t instanceof HTMLElement}function U(t){return"undefined"!=typeof ShadowRoot&&(t instanceof I(t).ShadowRoot||t instanceof ShadowRoot)}function N(t){return t?(t.nodeName||"").toLowerCase():null}function V(t){return((H(t)?t.ownerDocument:t.document)||window.document).documentElement}function Z(t){return D(V(t)).left+B(t).scrollLeft}function K(t){return I(t).getComputedStyle(t)}function X(t){var n=K(t),e=n.overflow,i=n.overflowX,r=n.overflowY;return/auto|scroll|overlay|hidden/.test(e+r+i)}function Y(t,n,e){void 0===e&&(e=!1);var i,r,o=V(n),s=D(t),a=W(n),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!e)&&(("body"!==N(n)||X(o))&&(u=(i=n)!==I(i)&&W(i)?{scrollLeft:(r=i).scrollLeft,scrollTop:r.scrollTop}:B(i)),W(n)?((c=D(n)).x+=n.clientLeft,c.y+=n.clientTop):o&&(c.x=Z(o))),{x:s.left+u.scrollLeft-c.x,y:s.top+u.scrollTop-c.y,width:s.width,height:s.height}}function J(t){var n=D(t),e=t.offsetWidth,i=t.offsetHeight;return Math.abs(n.width-e)<=1&&(e=n.width),Math.abs(n.height-i)<=1&&(i=n.height),{x:t.offsetLeft,y:t.offsetTop,width:e,height:i}}function tt(t){return"html"===N(t)?t:t.assignedSlot||t.parentNode||(U(t)?t.host:null)||V(t)}function nt(t){return["html","body","#document"].indexOf(N(t))>=0?t.ownerDocument.body:W(t)&&X(t)?t:nt(tt(t))}function et(t,n){var e;void 0===n&&(n=[]);var i=nt(t),r=i===(null==(e=t.ownerDocument)?void 0:e.body),o=I(i),s=r?[o].concat(o.visualViewport||[],X(i)?i:[]):i,a=n.concat(s);return r?a:a.concat(et(tt(s)))}function it(t){return["table","td","th"].indexOf(N(t))>=0}function rt(t){return W(t)&&"fixed"!==K(t).position?t.offsetParent:null}function ot(t){for(var n=I(t),e=rt(t);e&&it(e)&&"static"===K(e).position;)e=rt(e);return e&&("html"===N(e)||"body"===N(e)&&"static"===K(e).position)?n:e||function(t){for(var n=navigator.userAgent.toLowerCase().includes("firefox"),e=tt(t);W(e)&&["html","body"].indexOf(N(e))<0;){var i=K(e);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||["transform","perspective"].includes(i.willChange)||n&&"filter"===i.willChange||n&&i.filter&&"none"!==i.filter)return e;e=e.parentNode}return null}(t)||n}var st="top",at="bottom",ut="right",ct="left",lt="auto",ft=[st,at,ut,ct],dt="start",ht="end",pt="viewport",vt="popper",mt=ft.reduce((function(t,n){return t.concat([n+"-"+dt,n+"-"+ht])}),[]),yt=[].concat(ft,[lt]).reduce((function(t,n){return t.concat([n,n+"-"+dt,n+"-"+ht])}),[]),bt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function gt(t){var n=new Map,e=new Set,i=[];function r(t){e.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!e.has(t)){var i=n.get(t);i&&r(i)}})),i.push(t)}return t.forEach((function(t){n.set(t.name,t)})),t.forEach((function(t){e.has(t.name)||r(t)})),i}var wt={placement:"bottom",modifiers:[],strategy:"absolute"};function _t(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];return!n.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function kt(t){void 0===t&&(t={});var n=t,e=n.defaultModifiers,i=void 0===e?[]:e,r=n.defaultOptions,o=void 0===r?wt:r;return function(t,n,e){void 0===e&&(e=o);var r,s,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},wt,o),modifiersData:{},elements:{reference:t,popper:n},attributes:{},styles:{}},u=[],c=!1,l={state:a,setOptions:function(e){f(),a.options=Object.assign({},o,a.options,e),a.scrollParents={reference:H(t)?et(t):t.contextElement?et(t.contextElement):[],popper:et(n)};var r=function(t){var n=gt(t);return bt.reduce((function(t,e){return t.concat(n.filter((function(t){return t.phase===e})))}),[])}(function(t){var n=t.reduce((function(t,n){var e=t[n.name];return t[n.name]=e?Object.assign({},e,n,{options:Object.assign({},e.options,n.options),data:Object.assign({},e.data,n.data)}):n,t}),{});return Object.keys(n).map((function(t){return n[t]}))}([].concat(i,a.options.modifiers)));return a.orderedModifiers=r.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var n=t.name,e=t.options,i=void 0===e?{}:e,r=t.effect;if("function"==typeof r){var o=r({state:a,name:n,instance:l,options:i}),s=function(){};u.push(o||s)}})),l.update()},forceUpdate:function(){if(!c){var t=a.elements,n=t.reference,e=t.popper;if(_t(n,e)){a.rects={reference:Y(n,ot(e),"fixed"===a.options.strategy),popper:J(e)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<a.orderedModifiers.length;i++)if(!0!==a.reset){var r=a.orderedModifiers[i],o=r.fn,s=r.options,u=void 0===s?{}:s,f=r.name;"function"==typeof o&&(a=o({state:a,options:u,name:f,instance:l})||a)}else a.reset=!1,i=-1}}},update:(r=function(){return new Promise((function(t){l.forceUpdate(),t(a)}))},function(){return s||(s=new Promise((function(t){Promise.resolve().then((function(){s=void 0,t(r())}))}))),s}),destroy:function(){f(),c=!0}};if(!_t(t,n))return l;function f(){u.forEach((function(t){return t()})),u=[]}return l.setOptions(e).then((function(t){!c&&e.onFirstUpdate&&e.onFirstUpdate(t)})),l}}var jt={passive:!0};var xt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var n=t.state,e=t.instance,i=t.options,r=i.scroll,o=void 0===r||r,s=i.resize,a=void 0===s||s,u=I(n.elements.popper),c=[].concat(n.scrollParents.reference,n.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",e.update,jt)})),a&&u.addEventListener("resize",e.update,jt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",e.update,jt)})),a&&u.removeEventListener("resize",e.update,jt)}},data:{}};function St(t){return t.split("-")[0]}function Ft(t){return t.split("-")[1]}function Qt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ot(t){var n,e=t.reference,i=t.element,r=t.placement,o=r?St(r):null,s=r?Ft(r):null,a=e.x+e.width/2-i.width/2,u=e.y+e.height/2-i.height/2;switch(o){case st:n={x:a,y:e.y-i.height};break;case at:n={x:a,y:e.y+e.height};break;case ut:n={x:e.x+e.width,y:u};break;case ct:n={x:e.x-i.width,y:u};break;default:n={x:e.x,y:e.y}}var c=o?Qt(o):null;if(null!=c){var l="y"===c?"height":"width";switch(s){case dt:n[c]=n[c]-(e[l]/2-i[l]/2);break;case ht:n[c]=n[c]+(e[l]/2-i[l]/2)}}return n}var At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var n=t.state,e=t.name;n.modifiersData[e]=Ot({reference:n.rects.reference,element:n.rects.popper,strategy:"absolute",placement:n.placement})},data:{}},Rt=Math.max,zt=Math.min,Pt=Math.round,$t={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ct(t){var n,e=t.popper,i=t.popperRect,r=t.placement,o=t.offsets,s=t.position,a=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,l=!0===c?function(t){var n=t.x,e=t.y,i=window.devicePixelRatio||1;return{x:Pt(Pt(n*i)/i)||0,y:Pt(Pt(e*i)/i)||0}}(o):"function"==typeof c?c(o):o,f=l.x,d=void 0===f?0:f,h=l.y,p=void 0===h?0:h,v=o.hasOwnProperty("x"),m=o.hasOwnProperty("y"),y=ct,b=st,g=window;if(u){var w=ot(e),_="clientHeight",k="clientWidth";w===I(e)&&"static"!==K(w=V(e)).position&&(_="scrollHeight",k="scrollWidth"),w=w,r===st&&(b=at,p-=w[_]-i.height,p*=a?1:-1),r===ct&&(y=ut,d-=w[k]-i.width,d*=a?1:-1)}var j,x=Object.assign({position:s},u&&$t);return a?Object.assign({},x,((j={})[b]=m?"0":"",j[y]=v?"0":"",j.transform=(g.devicePixelRatio||1)<2?"translate("+d+"px, "+p+"px)":"translate3d("+d+"px, "+p+"px, 0)",j)):Object.assign({},x,((n={})[b]=m?p+"px":"",n[y]=v?d+"px":"",n.transform="",n))}var Lt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var n=t.state;Object.keys(n.elements).forEach((function(t){var e=n.styles[t]||{},i=n.attributes[t]||{},r=n.elements[t];W(r)&&N(r)&&(Object.assign(r.style,e),Object.keys(i).forEach((function(t){var n=i[t];!1===n?r.removeAttribute(t):r.setAttribute(t,!0===n?"":n)})))}))},effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow),function(){Object.keys(n.elements).forEach((function(t){var i=n.elements[t],r=n.attributes[t]||{},o=Object.keys(n.styles.hasOwnProperty(t)?n.styles[t]:e[t]).reduce((function(t,n){return t[n]="",t}),{});W(i)&&N(i)&&(Object.assign(i.style,o),Object.keys(r).forEach((function(t){i.removeAttribute(t)})))}))}},requires:["computeStyles"]};var Tt={left:"right",right:"left",bottom:"top",top:"bottom"};function Et(t){return t.replace(/left|right|bottom|top/g,(function(t){return Tt[t]}))}var Gt={start:"end",end:"start"};function Mt(t){return t.replace(/start|end/g,(function(t){return Gt[t]}))}function qt(t,n){var e=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(e&&U(e)){var i=n;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Dt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function It(t,n){return n===pt?Dt(function(t){var n=I(t),e=V(t),i=n.visualViewport,r=e.clientWidth,o=e.clientHeight,s=0,a=0;return i&&(r=i.width,o=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=i.offsetLeft,a=i.offsetTop)),{width:r,height:o,x:s+Z(t),y:a}}(t)):W(n)?function(t){var n=D(t);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(n):Dt(function(t){var n,e=V(t),i=B(t),r=null==(n=t.ownerDocument)?void 0:n.body,o=Rt(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=Rt(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+Z(t),u=-i.scrollTop;return"rtl"===K(r||e).direction&&(a+=Rt(e.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:u}}(V(t)))}function Bt(t,n,e){var i="clippingParents"===n?function(t){var n=et(tt(t)),e=["absolute","fixed"].indexOf(K(t).position)>=0&&W(t)?ot(t):t;return H(e)?n.filter((function(t){return H(t)&&qt(t,e)&&"body"!==N(t)})):[]}(t):[].concat(n),r=[].concat(i,[e]),o=r[0],s=r.reduce((function(n,e){var i=It(t,e);return n.top=Rt(i.top,n.top),n.right=zt(i.right,n.right),n.bottom=zt(i.bottom,n.bottom),n.left=Rt(i.left,n.left),n}),It(t,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function Ht(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Wt(t,n){return n.reduce((function(n,e){return n[e]=t,n}),{})}function Ut(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=void 0===i?t.placement:i,o=e.boundary,s=void 0===o?"clippingParents":o,a=e.rootBoundary,u=void 0===a?pt:a,c=e.elementContext,l=void 0===c?vt:c,f=e.altBoundary,d=void 0!==f&&f,h=e.padding,p=void 0===h?0:h,v=Ht("number"!=typeof p?p:Wt(p,ft)),m=l===vt?"reference":vt,y=t.elements.reference,b=t.rects.popper,g=t.elements[d?m:l],w=Bt(H(g)?g:g.contextElement||V(t.elements.popper),s,u),_=D(y),k=Ot({reference:_,element:b,strategy:"absolute",placement:r}),j=Dt(Object.assign({},b,k)),x=l===vt?j:_,S={top:w.top-x.top+v.top,bottom:x.bottom-w.bottom+v.bottom,left:w.left-x.left+v.left,right:x.right-w.right+v.right},F=t.modifiersData.offset;if(l===vt&&F){var Q=F[r];Object.keys(S).forEach((function(t){var n=[ut,at].indexOf(t)>=0?1:-1,e=[st,at].indexOf(t)>=0?"y":"x";S[t]+=Q[e]*n}))}return S}function Nt(t,n,e){return Rt(t,zt(n,e))}function Vt(t,n,e){return void 0===e&&(e={x:0,y:0}),{top:t.top-n.height-e.y,right:t.right-n.width+e.x,bottom:t.bottom-n.height+e.y,left:t.left-n.width-e.x}}function Zt(t){return[st,ut,at,ct].some((function(n){return t[n]>=0}))}var Kt=kt({defaultModifiers:[xt,At,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var n=t.state,e=t.options,i=e.gpuAcceleration,r=void 0===i||i,o=e.adaptive,s=void 0===o||o,a=e.roundOffsets,u=void 0===a||a,c={placement:St(n.placement),popper:n.elements.popper,popperRect:n.rects.popper,gpuAcceleration:r};null!=n.modifiersData.popperOffsets&&(n.styles.popper=Object.assign({},n.styles.popper,Ct(Object.assign({},c,{offsets:n.modifiersData.popperOffsets,position:n.options.strategy,adaptive:s,roundOffsets:u})))),null!=n.modifiersData.arrow&&(n.styles.arrow=Object.assign({},n.styles.arrow,Ct(Object.assign({},c,{offsets:n.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-placement":n.placement})},data:{}},Lt,{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.offset,o=void 0===r?[0,0]:r,s=yt.reduce((function(t,e){return t[e]=function(t,n,e){var i=St(t),r=[ct,st].indexOf(i)>=0?-1:1,o="function"==typeof e?e(Object.assign({},n,{placement:t})):e,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[ct,ut].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(e,n.rects,o),t}),{}),a=s[n.placement],u=a.x,c=a.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=u,n.modifiersData.popperOffsets.y+=c),n.modifiersData[i]=s}},{name:"flip",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name;if(!n.modifiersData[i]._skip){for(var r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0===s||s,u=e.fallbackPlacements,c=e.padding,l=e.boundary,f=e.rootBoundary,d=e.altBoundary,h=e.flipVariations,p=void 0===h||h,v=e.allowedAutoPlacements,m=n.options.placement,y=St(m),b=u||(y===m||!p?[Et(m)]:function(t){if(St(t)===lt)return[];var n=Et(t);return[Mt(t),n,Mt(n)]}(m)),g=[m].concat(b).reduce((function(t,e){return t.concat(St(e)===lt?function(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=e.boundary,o=e.rootBoundary,s=e.padding,a=e.flipVariations,u=e.allowedAutoPlacements,c=void 0===u?yt:u,l=Ft(i),f=l?a?mt:mt.filter((function(t){return Ft(t)===l})):ft,d=f.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=f);var h=d.reduce((function(n,e){return n[e]=Ut(t,{placement:e,boundary:r,rootBoundary:o,padding:s})[St(e)],n}),{});return Object.keys(h).sort((function(t,n){return h[t]-h[n]}))}(n,{placement:e,boundary:l,rootBoundary:f,padding:c,flipVariations:p,allowedAutoPlacements:v}):e)}),[]),w=n.rects.reference,_=n.rects.popper,k=new Map,j=!0,x=g[0],S=0;S<g.length;S++){var F=g[S],Q=St(F),O=Ft(F)===dt,A=[st,at].indexOf(Q)>=0,R=A?"width":"height",z=Ut(n,{placement:F,boundary:l,rootBoundary:f,altBoundary:d,padding:c}),P=A?O?ut:ct:O?at:st;w[R]>_[R]&&(P=Et(P));var $=Et(P),C=[];if(o&&C.push(z[Q]<=0),a&&C.push(z[P]<=0,z[$]<=0),C.every((function(t){return t}))){x=F,j=!1;break}k.set(F,C)}if(j)for(var L=function(t){var n=g.find((function(n){var e=k.get(n);if(e)return e.slice(0,t).every((function(t){return t}))}));if(n)return x=n,"break"},T=p?3:1;T>0;T--){if("break"===L(T))break}n.placement!==x&&(n.modifiersData[i]._skip=!0,n.placement=x,n.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0!==s&&s,u=e.boundary,c=e.rootBoundary,l=e.altBoundary,f=e.padding,d=e.tether,h=void 0===d||d,p=e.tetherOffset,v=void 0===p?0:p,m=Ut(n,{boundary:u,rootBoundary:c,padding:f,altBoundary:l}),y=St(n.placement),b=Ft(n.placement),g=!b,w=Qt(y),_="x"===w?"y":"x",k=n.modifiersData.popperOffsets,j=n.rects.reference,x=n.rects.popper,S="function"==typeof v?v(Object.assign({},n.rects,{placement:n.placement})):v,F={x:0,y:0};if(k){if(o||a){var Q="y"===w?st:ct,O="y"===w?at:ut,A="y"===w?"height":"width",R=k[w],z=k[w]+m[Q],P=k[w]-m[O],$=h?-x[A]/2:0,C=b===dt?j[A]:x[A],L=b===dt?-x[A]:-j[A],T=n.elements.arrow,E=h&&T?J(T):{width:0,height:0},G=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},M=G[Q],q=G[O],D=Nt(0,j[A],E[A]),I=g?j[A]/2-$-D-M-S:C-D-M-S,B=g?-j[A]/2+$+D+q+S:L+D+q+S,H=n.elements.arrow&&ot(n.elements.arrow),W=H?"y"===w?H.clientTop||0:H.clientLeft||0:0,U=n.modifiersData.offset?n.modifiersData.offset[n.placement][w]:0,N=k[w]+I-U-W,V=k[w]+B-U;if(o){var Z=Nt(h?zt(z,N):z,R,h?Rt(P,V):P);k[w]=Z,F[w]=Z-R}if(a){var K="x"===w?st:ct,X="x"===w?at:ut,Y=k[_],tt=Y+m[K],nt=Y-m[X],et=Nt(h?zt(tt,N):tt,Y,h?Rt(nt,V):nt);k[_]=et,F[_]=et-Y}}n.modifiersData[i]=F}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(t){var n,e=t.state,i=t.name,r=t.options,o=e.elements.arrow,s=e.modifiersData.popperOffsets,a=St(e.placement),u=Qt(a),c=[ct,ut].indexOf(a)>=0?"height":"width";if(o&&s){var l=function(t,n){return Ht("number"!=typeof(t="function"==typeof t?t(Object.assign({},n.rects,{placement:n.placement})):t)?t:Wt(t,ft))}(r.padding,e),f=J(o),d="y"===u?st:ct,h="y"===u?at:ut,p=e.rects.reference[c]+e.rects.reference[u]-s[u]-e.rects.popper[c],v=s[u]-e.rects.reference[u],m=ot(o),y=m?"y"===u?m.clientHeight||0:m.clientWidth||0:0,b=p/2-v/2,g=l[d],w=y-f[c]-l[h],_=y/2-f[c]/2+b,k=Nt(g,_,w),j=u;e.modifiersData[i]=((n={})[j]=k,n.centerOffset=k-_,n)}},effect:function(t){var n=t.state,e=t.options.element,i=void 0===e?"[data-popper-arrow]":e;null!=i&&("string"!=typeof i||(i=n.elements.popper.querySelector(i)))&&qt(n.elements.popper,i)&&(n.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var n=t.state,e=t.name,i=n.rects.reference,r=n.rects.popper,o=n.modifiersData.preventOverflow,s=Ut(n,{elementContext:"reference"}),a=Ut(n,{altBoundary:!0}),u=Vt(s,i),c=Vt(a,r,o),l=Zt(u),f=Zt(c);n.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:f},n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":f})}}]}),Xt="tippy-content",Yt="tippy-backdrop",Jt="tippy-arrow",tn="tippy-svg-arrow",nn={passive:!0,capture:!0};function en(t,n,e){if(Array.isArray(t)){var i=t[n];return null==i?Array.isArray(e)?e[n]:e:i}return t}function rn(t,n){var e={}.toString.call(t);return 0===e.indexOf("[object")&&e.indexOf(n+"]")>-1}function on(t,n){return"function"==typeof t?t.apply(void 0,n):t}function sn(t,n){return 0===n?t:function(i){clearTimeout(e),e=setTimeout((function(){t(i)}),n)};var e}function an(t){return[].concat(t)}function un(t,n){-1===t.indexOf(n)&&t.push(n)}function cn(t){return t.split("-")[0]}function ln(t){return[].slice.call(t)}function fn(){return document.createElement("div")}function dn(t){return["Element","Fragment"].some((function(n){return rn(t,n)}))}function hn(t){return rn(t,"MouseEvent")}function pn(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function vn(t){return dn(t)?[t]:function(t){return rn(t,"NodeList")}(t)?ln(t):Array.isArray(t)?t:ln(document.querySelectorAll(t))}function mn(t,n){t.forEach((function(t){t&&(t.style.transitionDuration=n+"ms")}))}function yn(t,n){t.forEach((function(t){t&&t.setAttribute("data-state",n)}))}function bn(t){var n,e=an(t)[0];return(null==e||null==(n=e.ownerDocument)?void 0:n.body)?e.ownerDocument:document}function gn(t,n,e){var i=n+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(n){t[i](n,e)}))}var wn={isTouch:!1},_n=0;function kn(){wn.isTouch||(wn.isTouch=!0,window.performance&&document.addEventListener("mousemove",jn))}function jn(){var t=performance.now();t-_n<20&&(wn.isTouch=!1,document.removeEventListener("mousemove",jn)),_n=t}function xn(){var t=document.activeElement;if(pn(t)){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var Sn="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",Fn=/MSIE |Trident\//.test(Sn);var Qn={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},On=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Qn,{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),An=Object.keys(On);function Rn(t){var n=(t.plugins||[]).reduce((function(n,e){var i=e.name,r=e.defaultValue;return i&&(n[i]=void 0!==t[i]?t[i]:r),n}),{});return Object.assign({},t,{},n)}function zn(t,n){var e=Object.assign({},n,{content:on(n.content,[t])},n.ignoreAttributes?{}:function(t,n){return(n?Object.keys(Rn(Object.assign({},On,{plugins:n}))):An).reduce((function(n,e){var i=(t.getAttribute("data-tippy-"+e)||"").trim();if(!i)return n;if("content"===e)n[e]=i;else try{n[e]=JSON.parse(i)}catch(t){n[e]=i}return n}),{})}(t,n.plugins));return e.aria=Object.assign({},On.aria,{},e.aria),e.aria={expanded:"auto"===e.aria.expanded?n.interactive:e.aria.expanded,content:"auto"===e.aria.content?n.interactive?null:"describedby":e.aria.content},e}function Pn(t,n){t.innerHTML=n}function $n(t){var n=fn();return!0===t?n.className=Jt:(n.className=tn,dn(t)?n.appendChild(t):Pn(n,t)),n}function Cn(t,n){dn(n.content)?(Pn(t,""),t.appendChild(n.content)):"function"!=typeof n.content&&(n.allowHTML?Pn(t,n.content):t.textContent=n.content)}function Ln(t){var n=t.firstElementChild,e=ln(n.children);return{box:n,content:e.find((function(t){return t.classList.contains(Xt)})),arrow:e.find((function(t){return t.classList.contains(Jt)||t.classList.contains(tn)})),backdrop:e.find((function(t){return t.classList.contains(Yt)}))}}function Tn(t){var n=fn(),e=fn();e.className="tippy-box",e.setAttribute("data-state","hidden"),e.setAttribute("tabindex","-1");var i=fn();function r(e,i){var r=Ln(n),o=r.box,s=r.content,a=r.arrow;i.theme?o.setAttribute("data-theme",i.theme):o.removeAttribute("data-theme"),"string"==typeof i.animation?o.setAttribute("data-animation",i.animation):o.removeAttribute("data-animation"),i.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth,i.role?o.setAttribute("role",i.role):o.removeAttribute("role"),e.content===i.content&&e.allowHTML===i.allowHTML||Cn(s,t.props),i.arrow?a?e.arrow!==i.arrow&&(o.removeChild(a),o.appendChild($n(i.arrow))):o.appendChild($n(i.arrow)):a&&o.removeChild(a)}return i.className=Xt,i.setAttribute("data-state","hidden"),Cn(i,t.props),n.appendChild(e),e.appendChild(i),r(t.props,t.props),{popper:n,onUpdate:r}}Tn.$$tippy=!0;var En=1,Gn=[],Mn=[];function qn(t,n){var e,i,r,o,s,a,u,c,l,f=zn(t,Object.assign({},On,{},Rn((e=n,Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{}))))),d=!1,h=!1,p=!1,v=!1,m=[],y=sn(V,f.interactiveDebounce),b=En++,g=(l=f.plugins).filter((function(t,n){return l.indexOf(t)===n})),w={id:b,reference:t,popper:fn(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:g,clearDelayTimeouts:function(){clearTimeout(i),clearTimeout(r),cancelAnimationFrame(o)},setProps:function(n){0;if(w.state.isDestroyed)return;C("onBeforeUpdate",[w,n]),U();var e=w.props,i=zn(t,Object.assign({},w.props,{},n,{ignoreAttributes:!0}));w.props=i,W(),e.interactiveDebounce!==i.interactiveDebounce&&(E(),y=sn(V,i.interactiveDebounce));e.triggerTarget&&!i.triggerTarget?an(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):i.triggerTarget&&t.removeAttribute("aria-expanded");T(),$(),j&&j(e,i);w.popperInstance&&(Y(),tt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));C("onAfterUpdate",[w,n])},setContent:function(t){w.setProps({content:t})},show:function(){0;var t=w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=wn.isTouch&&!w.props.touch,r=en(w.props.duration,0,On.duration);if(t||n||e||i)return;if(A().hasAttribute("disabled"))return;if(C("onShow",[w],!1),!1===w.props.onShow(w))return;w.state.isVisible=!0,O()&&(k.style.visibility="visible");$(),D(),w.state.isMounted||(k.style.transition="none");if(O()){var o=z(),s=o.box,a=o.content;mn([s,a],0)}u=function(){var t;if(w.state.isVisible&&!v){if(v=!0,k.offsetHeight,k.style.transition=w.props.moveTransition,O()&&w.props.animation){var n=z(),e=n.box,i=n.content;mn([e,i],r),yn([e,i],"visible")}L(),T(),un(Mn,w),null==(t=w.popperInstance)||t.forceUpdate(),w.state.isMounted=!0,C("onMount",[w]),w.props.animation&&O()&&function(t,n){B(t,n)}(r,(function(){w.state.isShown=!0,C("onShown",[w])}))}},function(){var t,n=w.props.appendTo,e=A();t=w.props.interactive&&n===On.appendTo||"parent"===n?e.parentNode:on(n,[e]);t.contains(k)||t.appendChild(k);Y(),!1}()},hide:function(){0;var t=!w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=en(w.props.duration,1,On.duration);if(t||n||e)return;if(C("onHide",[w],!1),!1===w.props.onHide(w))return;w.state.isVisible=!1,w.state.isShown=!1,v=!1,d=!1,O()&&(k.style.visibility="hidden");if(E(),I(),$(),O()){var r=z(),o=r.box,s=r.content;w.props.animation&&(mn([o,s],i),yn([o,s],"hidden"))}L(),T(),w.props.animation?O()&&function(t,n){B(t,(function(){!w.state.isVisible&&k.parentNode&&k.parentNode.contains(k)&&n()}))}(i,w.unmount):w.unmount()},hideWithInteractivity:function(t){0;R().addEventListener("mousemove",y),un(Gn,y),y(t)},enable:function(){w.state.isEnabled=!0},disable:function(){w.hide(),w.state.isEnabled=!1},unmount:function(){0;w.state.isVisible&&w.hide();if(!w.state.isMounted)return;J(),tt().forEach((function(t){t._tippy.unmount()})),k.parentNode&&k.parentNode.removeChild(k);Mn=Mn.filter((function(t){return t!==w})),w.state.isMounted=!1,C("onHidden",[w])},destroy:function(){0;if(w.state.isDestroyed)return;w.clearDelayTimeouts(),w.unmount(),U(),delete t._tippy,w.state.isDestroyed=!0,C("onDestroy",[w])}};if(!f.render)return w;var _=f.render(w),k=_.popper,j=_.onUpdate;k.setAttribute("data-tippy-root",""),k.id="tippy-"+w.id,w.popper=k,t._tippy=w,k._tippy=w;var x=g.map((function(t){return t.fn(w)})),S=t.hasAttribute("aria-expanded");return W(),T(),$(),C("onCreate",[w]),f.showOnCreate&&nt(),k.addEventListener("mouseenter",(function(){w.props.interactive&&w.state.isVisible&&w.clearDelayTimeouts()})),k.addEventListener("mouseleave",(function(t){w.props.interactive&&w.props.trigger.indexOf("mouseenter")>=0&&(R().addEventListener("mousemove",y),y(t))})),w;function F(){var t=w.props.touch;return Array.isArray(t)?t:[t,0]}function Q(){return"hold"===F()[0]}function O(){var t;return!!(null==(t=w.props.render)?void 0:t.$$tippy)}function A(){return c||t}function R(){var t=A().parentNode;return t?bn(t):document}function z(){return Ln(k)}function P(t){return w.state.isMounted&&!w.state.isVisible||wn.isTouch||s&&"focus"===s.type?0:en(w.props.delay,t?0:1,On.delay)}function $(){k.style.pointerEvents=w.props.interactive&&w.state.isVisible?"":"none",k.style.zIndex=""+w.props.zIndex}function C(t,n,e){var i;(void 0===e&&(e=!0),x.forEach((function(e){e[t]&&e[t].apply(void 0,n)})),e)&&(i=w.props)[t].apply(i,n)}function L(){var n=w.props.aria;if(n.content){var e="aria-"+n.content,i=k.id;an(w.props.triggerTarget||t).forEach((function(t){var n=t.getAttribute(e);if(w.state.isVisible)t.setAttribute(e,n?n+" "+i:i);else{var r=n&&n.replace(i,"").trim();r?t.setAttribute(e,r):t.removeAttribute(e)}}))}}function T(){!S&&w.props.aria.expanded&&an(w.props.triggerTarget||t).forEach((function(t){w.props.interactive?t.setAttribute("aria-expanded",w.state.isVisible&&t===A()?"true":"false"):t.removeAttribute("aria-expanded")}))}function E(){R().removeEventListener("mousemove",y),Gn=Gn.filter((function(t){return t!==y}))}function G(t){if(!(wn.isTouch&&(p||"mousedown"===t.type)||w.props.interactive&&k.contains(t.target))){if(A().contains(t.target)){if(wn.isTouch)return;if(w.state.isVisible&&w.props.trigger.indexOf("click")>=0)return}else C("onClickOutside",[w,t]);!0===w.props.hideOnClick&&(w.clearDelayTimeouts(),w.hide(),h=!0,setTimeout((function(){h=!1})),w.state.isMounted||I())}}function M(){p=!0}function q(){p=!1}function D(){var t=R();t.addEventListener("mousedown",G,!0),t.addEventListener("touchend",G,nn),t.addEventListener("touchstart",q,nn),t.addEventListener("touchmove",M,nn)}function I(){var t=R();t.removeEventListener("mousedown",G,!0),t.removeEventListener("touchend",G,nn),t.removeEventListener("touchstart",q,nn),t.removeEventListener("touchmove",M,nn)}function B(t,n){var e=z().box;function i(t){t.target===e&&(gn(e,"remove",i),n())}if(0===t)return n();gn(e,"remove",a),gn(e,"add",i),a=i}function H(n,e,i){void 0===i&&(i=!1),an(w.props.triggerTarget||t).forEach((function(t){t.addEventListener(n,e,i),m.push({node:t,eventType:n,handler:e,options:i})}))}function W(){var t;Q()&&(H("touchstart",N,{passive:!0}),H("touchend",Z,{passive:!0})),(t=w.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(H(t,N),t){case"mouseenter":H("mouseleave",Z);break;case"focus":H(Fn?"focusout":"blur",K);break;case"focusin":H("focusout",K)}}))}function U(){m.forEach((function(t){var n=t.node,e=t.eventType,i=t.handler,r=t.options;n.removeEventListener(e,i,r)})),m=[]}function N(t){var n,e=!1;if(w.state.isEnabled&&!X(t)&&!h){var i="focus"===(null==(n=s)?void 0:n.type);s=t,c=t.currentTarget,T(),!w.state.isVisible&&hn(t)&&Gn.forEach((function(n){return n(t)})),"click"===t.type&&(w.props.trigger.indexOf("mouseenter")<0||d)&&!1!==w.props.hideOnClick&&w.state.isVisible?e=!0:nt(t),"click"===t.type&&(d=!e),e&&!i&&et(t)}}function V(t){var n=t.target,e=A().contains(n)||k.contains(n);"mousemove"===t.type&&e||function(t,n){var e=n.clientX,i=n.clientY;return t.every((function(t){var n=t.popperRect,r=t.popperState,o=t.props.interactiveBorder,s=cn(r.placement),a=r.modifiersData.offset;if(!a)return!0;var u="bottom"===s?a.top.y:0,c="top"===s?a.bottom.y:0,l="right"===s?a.left.x:0,f="left"===s?a.right.x:0,d=n.top-i+u>o,h=i-n.bottom-c>o,p=n.left-e+l>o,v=e-n.right-f>o;return d||h||p||v}))}(tt().concat(k).map((function(t){var n,e=null==(n=t._tippy.popperInstance)?void 0:n.state;return e?{popperRect:t.getBoundingClientRect(),popperState:e,props:f}:null})).filter(Boolean),t)&&(E(),et(t))}function Z(t){X(t)||w.props.trigger.indexOf("click")>=0&&d||(w.props.interactive?w.hideWithInteractivity(t):et(t))}function K(t){w.props.trigger.indexOf("focusin")<0&&t.target!==A()||w.props.interactive&&t.relatedTarget&&k.contains(t.relatedTarget)||et(t)}function X(t){return!!wn.isTouch&&Q()!==t.type.indexOf("touch")>=0}function Y(){J();var n=w.props,e=n.popperOptions,i=n.placement,r=n.offset,o=n.getReferenceClientRect,s=n.moveTransition,a=O()?Ln(k).arrow:null,c=o?{getBoundingClientRect:o,contextElement:o.contextElement||A()}:t,l=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var n=t.state;if(O()){var e=z().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?e.setAttribute("data-placement",n.placement):n.attributes.popper["data-popper-"+t]?e.setAttribute("data-"+t,""):e.removeAttribute("data-"+t)})),n.attributes.popper={}}}}];O()&&a&&l.push({name:"arrow",options:{element:a,padding:3}}),l.push.apply(l,(null==e?void 0:e.modifiers)||[]),w.popperInstance=Kt(c,k,Object.assign({},e,{placement:i,onFirstUpdate:u,modifiers:l}))}function J(){w.popperInstance&&(w.popperInstance.destroy(),w.popperInstance=null)}function tt(){return ln(k.querySelectorAll("[data-tippy-root]"))}function nt(t){w.clearDelayTimeouts(),t&&C("onTrigger",[w,t]),D();var n=P(!0),e=F(),r=e[0],o=e[1];wn.isTouch&&"hold"===r&&o&&(n=o),n?i=setTimeout((function(){w.show()}),n):w.show()}function et(t){if(w.clearDelayTimeouts(),C("onUntrigger",[w,t]),w.state.isVisible){if(!(w.props.trigger.indexOf("mouseenter")>=0&&w.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&d)){var n=P(!1);n?r=setTimeout((function(){w.state.isVisible&&w.hide()}),n):o=requestAnimationFrame((function(){w.hide()}))}}else I()}}function Dn(t,n){void 0===n&&(n={});var e=On.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",kn,nn),window.addEventListener("blur",xn);var i=Object.assign({},n,{plugins:e}),r=vn(t).reduce((function(t,n){var e=n&&qn(n,i);return e&&t.push(e),t}),[]);return dn(t)?r[0]:r}Dn.defaultProps=On,Dn.setDefaultProps=function(t){Object.keys(t).forEach((function(n){On[n]=t[n]}))},Dn.currentInput=wn;Object.assign({},Lt,{effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow)}});var In={clientX:0,clientY:0},Bn=[];function Hn(t){var n=t.clientX,e=t.clientY;In={clientX:n,clientY:e}}var Wn={name:"followCursor",defaultValue:!1,fn:function(t){var n=t.reference,e=bn(t.props.triggerTarget||n),i=!1,r=!1,o=!0,s=t.props;function a(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){e.addEventListener("mousemove",f)}function c(){e.removeEventListener("mousemove",f)}function l(){i=!0,t.setProps({getReferenceClientRect:null}),i=!1}function f(e){var i=!e.target||n.contains(e.target),r=t.props.followCursor,o=e.clientX,s=e.clientY,a=n.getBoundingClientRect(),u=o-a.left,c=s-a.top;!i&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=n.getBoundingClientRect(),e=o,i=s;"initial"===r&&(e=t.left+u,i=t.top+c);var a="horizontal"===r?t.top:i,l="vertical"===r?t.right:e,f="horizontal"===r?t.bottom:i,d="vertical"===r?t.left:e;return{width:l-d,height:f-a,top:a,right:l,bottom:f,left:d}}})}function d(){t.props.followCursor&&(Bn.push({instance:t,doc:e}),function(t){t.addEventListener("mousemove",Hn)}(e))}function h(){0===(Bn=Bn.filter((function(n){return n.instance!==t}))).filter((function(t){return t.doc===e})).length&&function(t){t.removeEventListener("mousemove",Hn)}(e)}return{onCreate:d,onDestroy:h,onBeforeUpdate:function(){s=t.props},onAfterUpdate:function(n,e){var o=e.followCursor;i||void 0!==o&&s.followCursor!==o&&(h(),o?(d(),!t.state.isMounted||r||a()||u()):(c(),l()))},onMount:function(){t.props.followCursor&&!r&&(o&&(f(In),o=!1),a()||u())},onTrigger:function(t,n){hn(n)&&(In={clientX:n.clientX,clientY:n.clientY}),r="focus"===n.type},onHidden:function(){t.props.followCursor&&(l(),c(),o=!0)}}}};Dn.setDefaultProps({render:Tn});var Un=Dn;GLSR.autosize=s(),GLSR.keys={ALT:18,DOWN:40,ENTER:13,ESC:27,SPACE:32,UP:38},GLSR.Tippy={tippy:Un,plugins:{followCursor:Wn}},jQuery((function(t){k().highlightAll(),GLSR.notices=new v,GLSR.shortcode=new O(".glsr-mce"),GLSR.stars=new(R())("select.glsr-star-rating",{tooltip:!1}),GLSR.Tippy.tippy(".glsr-tooltip",{appendTo:function(){return document.body}}),c(),new f("form.glsr-form"),new h,new y,new g,new x("#glsr-search-posts",{action:"search-posts",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.et.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-posts"),r={id:e.data("id"),name:"post_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.et.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.nt()}this.options.searchEl.focus()}}),new x("#glsr-search-users",{action:"search-users",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.et.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-users"),r={id:e.data("id"),name:"user_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.et.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.nt()}this.options.searchEl.focus()}}),new x("#glsr-search-translations",{action:"search-translations",onInit:function(){this.Y()},onResultClick:function(n){var e=t(n.currentTarget),i=e.data("entry"),r=wp.template("glsr-string-"+(i.p1?"plural":"single"));i.index=this.options.entriesEl.children().length,i.prefix=this.options.resultsEl.data("prefix"),r&&(this.options.entriesEl.append(r(i)),this.options.exclude.push({id:i.id}),this.options.results=this.options.results.filter((function(t,n){return n!==e.get(0)}))),this.Z()}}),new P("a.glsr-toggle-status"),new F,new T,new G,new q,new C;var n=function(){this.dataset.glsrTrack=this.value};t("select[data-glsr-track]").each(n),t("select[data-glsr-track]").on("change",n),t(".glsr-card.postbox:not(.open)").addClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!1).closest(".glsr-nav-view").addClass("collapsed"),t(".glsr-support-step").not(":checked").length<1&&t(".glsr-card-result").removeClass("hidden"),t(".glsr-support-step").on("change",(function(){var n=t(".glsr-support-step").not(":checked").length>0?"add":"remove";t(".glsr-card-result")[n+"Class"]("hidden")})),t(".glsr-card.postbox .glsr-card-heading").on("click",(function(){var n=t(this).parent(),e=n.closest(".glsr-nav-view"),i=n.hasClass("closed")?"remove":"add";n[i+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==i),i=e.find(".glsr-card.postbox").not(".closed").length>0?"remove":"add",e[i+"Class"]("collapsed")}))}))}()}();
|
1 |
/*! For license information please see site-reviews-admin.js.LICENSE.txt */
|
2 |
+
!function(){var t={367:function(t,n){var e,i,r;i=[t,n],void 0===(r="function"==typeof(e=function(t,n){"use strict";var e,i,r="function"==typeof Map?new Map:(e=[],i=[],{has:function(t){return e.indexOf(t)>-1},get:function(t){return i[e.indexOf(t)]},set:function(t,n){-1===e.indexOf(t)&&(e.push(t),i.push(n))},delete:function(t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),i.splice(n,1))}}),o=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(t){o=function(t){var n=document.createEvent("Event");return n.initEvent(t,!0,!1),n}}function s(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!r.has(t)){var n=null,e=null,i=null,s=function(){t.clientWidth!==e&&d()},a=function(n){window.removeEventListener("resize",s,!1),t.removeEventListener("input",d,!1),t.removeEventListener("keyup",d,!1),t.removeEventListener("autosize:destroy",a,!1),t.removeEventListener("autosize:update",d,!1),Object.keys(n).forEach((function(e){t.style[e]=n[e]})),r.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",a,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",d,!1),window.addEventListener("resize",s,!1),t.addEventListener("input",d,!1),t.addEventListener("autosize:update",d,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",r.set(t,{destroy:a,update:d}),u()}function u(){var e=window.getComputedStyle(t,null);"vertical"===e.resize?t.style.resize="none":"both"===e.resize&&(t.style.resize="horizontal"),n="content-box"===e.boxSizing?-(parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)):parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth),isNaN(n)&&(n=0),d()}function c(n){var e=t.style.width;t.style.width="0px",t.offsetWidth,t.style.width=e,t.style.overflowY=n}function l(t){for(var n=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&n.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return n}function f(){if(0!==t.scrollHeight){var i=l(t),r=document.documentElement&&document.documentElement.scrollTop;t.style.height="",t.style.height=t.scrollHeight+n+"px",e=t.clientWidth,i.forEach((function(t){t.node.scrollTop=t.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function d(){f();var n=Math.round(parseFloat(t.style.height)),e=window.getComputedStyle(t,null),r="content-box"===e.boxSizing?Math.round(parseFloat(e.height)):t.offsetHeight;if(r<n?"hidden"===e.overflowY&&(c("scroll"),f(),r="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight):"hidden"!==e.overflowY&&(c("hidden"),f(),r="content-box"===e.boxSizing?Math.round(parseFloat(window.getComputedStyle(t,null).height)):t.offsetHeight),i!==r){i=r;var s=o("autosize:resized");try{t.dispatchEvent(s)}catch(t){}}}}function a(t){var n=r.get(t);n&&n.destroy()}function u(t){var n=r.get(t);n&&n.update()}var c=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((c=function(t){return t}).destroy=function(t){return t},c.update=function(t){return t}):((c=function(t,n){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return s(t,n)})),t}).destroy=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],a),t},c.update=function(t){return t&&Array.prototype.forEach.call(t.length?t:[t],u),t}),n.default=c,t.exports=n.default})?e.apply(n,i):e)||(t.exports=r)},433:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},325:function(t,n,e){var i=function(t){var n=/\blang(?:uage)?-([\w-]+)\b/i,e=0,i={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof r?new r(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++e}),t.__id},clone:function t(n,e){var r,o;switch(e=e||{},i.util.type(n)){case"Object":if(o=i.util.objId(n),e[o])return e[o];for(var s in r={},e[o]=r,n)n.hasOwnProperty(s)&&(r[s]=t(n[s],e));return r;case"Array":return o=i.util.objId(n),e[o]?e[o]:(r=[],e[o]=r,n.forEach((function(n,i){r[i]=t(n,e)})),r);default:return n}},getLanguage:function(t){for(;t&&!n.test(t.className);)t=t.parentElement;return t?(t.className.match(n)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(i){var t=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(i.stack)||[])[1];if(t){var n=document.getElementsByTagName("script");for(var e in n)if(n[e].src==t)return n[e]}return null}},isActive:function(t,n,e){for(var i="no-"+n;t;){var r=t.classList;if(r.contains(n))return!0;if(r.contains(i))return!1;t=t.parentElement}return!!e}},languages:{extend:function(t,n){var e=i.util.clone(i.languages[t]);for(var r in n)e[r]=n[r];return e},insertBefore:function(t,n,e,r){var o=(r=r||i.languages)[t],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==n)for(var u in e)e.hasOwnProperty(u)&&(s[u]=e[u]);e.hasOwnProperty(a)||(s[a]=o[a])}var c=r[t];return r[t]=s,i.languages.DFS(i.languages,(function(n,e){e===c&&n!=t&&(this[n]=s)})),s},DFS:function t(n,e,r,o){o=o||{};var s=i.util.objId;for(var a in n)if(n.hasOwnProperty(a)){e.call(n,a,n[a],r||a);var u=n[a],c=i.util.type(u);"Object"!==c||o[s(u)]?"Array"!==c||o[s(u)]||(o[s(u)]=!0,t(u,e,a,o)):(o[s(u)]=!0,t(u,e,null,o))}}},plugins:{},highlightAll:function(t,n){i.highlightAllUnder(document,t,n)},highlightAllUnder:function(t,n,e){var r={callback:e,container:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run("before-all-elements-highlight",r);for(var o,s=0;o=r.elements[s++];)i.highlightElement(o,!0===n,r.callback)},highlightElement:function(e,r,o){var s=i.util.getLanguage(e),a=i.languages[s];e.className=e.className.replace(n,"").replace(/\s+/g," ")+" language-"+s;var u=e.parentElement;u&&"pre"===u.nodeName.toLowerCase()&&(u.className=u.className.replace(n,"").replace(/\s+/g," ")+" language-"+s);var c={element:e,language:s,grammar:a,code:e.textContent};function l(t){c.highlightedCode=t,i.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i.hooks.run("after-highlight",c),i.hooks.run("complete",c),o&&o.call(c.element)}if(i.hooks.run("before-sanity-check",c),!c.code)return i.hooks.run("complete",c),void(o&&o.call(c.element));if(i.hooks.run("before-highlight",c),c.grammar)if(r&&t.Worker){var f=new Worker(i.filename);f.onmessage=function(t){l(t.data)},f.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else l(i.highlight(c.code,c.grammar,c.language));else l(i.util.encode(c.code))},highlight:function(t,n,e){var o={code:t,grammar:n,language:e};return i.hooks.run("before-tokenize",o),o.tokens=i.tokenize(o.code,o.grammar),i.hooks.run("after-tokenize",o),r.stringify(i.util.encode(o.tokens),o.language)},tokenize:function(t,n){var e=n.rest;if(e){for(var i in e)n[i]=e[i];delete n.rest}var r=new a;return u(r,r.head,t),s(t,r,n,r.head,0),function(t){var n=[],e=t.head.next;for(;e!==t.tail;)n.push(e.value),e=e.next;return n}(r)},hooks:{all:{},add:function(t,n){var e=i.hooks.all;e[t]=e[t]||[],e[t].push(n)},run:function(t,n){var e=i.hooks.all[t];if(e&&e.length)for(var r,o=0;r=e[o++];)r(n)}},Token:r};function r(t,n,e,i){this.type=t,this.content=n,this.alias=e,this.length=0|(i||"").length}function o(t,n,e,i){t.lastIndex=n;var r=t.exec(e);if(r&&i&&r[1]){var o=r[1].length;r.index+=o,r[0]=r[0].slice(o)}return r}function s(t,n,e,a,l,f){for(var d in e)if(e.hasOwnProperty(d)&&e[d]){var h=e[d];h=Array.isArray(h)?h:[h];for(var p=0;p<h.length;++p){if(f&&f.cause==d+","+p)return;var v=h[p],m=v.inside,y=!!v.lookbehind,b=!!v.greedy,g=v.alias;if(b&&!v.pattern.global){var w=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,w+"g")}for(var _=v.pattern||v,k=a.next,j=l;k!==n.tail&&!(f&&j>=f.reach);j+=k.value.length,k=k.next){var x=k.value;if(n.length>t.length)return;if(!(x instanceof r)){var S,F=1;if(b){if(!(S=o(_,j,t,y)))break;var Q=S.index,O=S.index+S[0].length,A=j;for(A+=k.value.length;Q>=A;)A+=(k=k.next).value.length;if(j=A-=k.value.length,k.value instanceof r)continue;for(var R=k;R!==n.tail&&(A<O||"string"==typeof R.value);R=R.next)F++,A+=R.value.length;F--,x=t.slice(j,A),S.index-=j}else if(!(S=o(_,0,x,y)))continue;Q=S.index;var z=S[0],P=x.slice(0,Q),$=x.slice(Q+z.length),C=j+x.length;f&&C>f.reach&&(f.reach=C);var L=k.prev;P&&(L=u(n,L,P),j+=P.length),c(n,L,F),k=u(n,L,new r(d,m?i.tokenize(z,m):z,g,z)),$&&u(n,k,$),F>1&&s(t,n,e,k.prev,j,{cause:d+","+p,reach:C})}}}}}function a(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0}function u(t,n,e){var i=n.next,r={value:e,prev:n,next:i};return n.next=r,i.prev=r,t.length++,r}function c(t,n,e){for(var i=n.next,r=0;r<e&&i!==t.tail;r++)i=i.next;n.next=i,i.prev=n,t.length-=r}if(t.Prism=i,r.stringify=function t(n,e){if("string"==typeof n)return n;if(Array.isArray(n)){var r="";return n.forEach((function(n){r+=t(n,e)})),r}var o={type:n.type,content:t(n.content,e),tag:"span",classes:["token",n.type],attributes:{},language:e},s=n.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(o.classes,s):o.classes.push(s)),i.hooks.run("wrap",o);var a="";for(var u in o.attributes)a+=" "+u+'="'+(o.attributes[u]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},!t.document)return t.addEventListener?(i.disableWorkerMessageHandler||t.addEventListener("message",(function(n){var e=JSON.parse(n.data),r=e.language,o=e.code,s=e.immediateClose;t.postMessage(i.highlight(o,i.languages[r],r)),s&&t.close()}),!1),i):i;var l=i.util.currentScript();function f(){i.manual||i.highlightAll()}if(l&&(i.filename=l.src,l.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var d=document.readyState;"loading"===d||"interactive"===d&&l&&l.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});t.exports&&(t.exports=i),void 0!==e.g&&(e.g.Prism=i)},251:function(){!function(t){var n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+n.source+")*(?=\\s*\\{)"),string:{pattern:n,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var e=t.languages.markup;e&&(e.tag.addInlined("style","css"),t.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:t.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},e.tag))}(Prism)},980:function(){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript},854:function(){!function(t){function n(t,n){return"___"+t.toUpperCase()+n+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(e,i,r,o){if(e.language===i){var s=e.tokenStack=[];e.code=e.code.replace(r,(function(t){if("function"==typeof o&&!o(t))return t;for(var r,a=s.length;-1!==e.code.indexOf(r=n(i,a));)++a;return s[a]=t,r})),e.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(e,i){if(e.language===i&&e.tokenStack){e.grammar=t.languages[i];var r=0,o=Object.keys(e.tokenStack);!function s(a){for(var u=0;u<a.length&&!(r>=o.length);u++){var c=a[u];if("string"==typeof c||c.content&&"string"==typeof c.content){var l=o[r],f=e.tokenStack[l],d="string"==typeof c?c:c.content,h=n(i,l),p=d.indexOf(h);if(p>-1){++r;var v=d.substring(0,p),m=new t.Token(i,t.tokenize(f,e.grammar),"language-"+i,f),y=d.substring(p+h.length),b=[];v&&b.push.apply(b,s([v])),b.push(m),y&&b.push.apply(b,s([y])),"string"==typeof c?a.splice.apply(a,[u,1].concat(b)):c.content=b}}else c.content&&s(c.content)}return a}(e.tokens)}}}})}(Prism)},335:function(){Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(t,n){var e={};e["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[n]},e.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:e}};i["language-"+n]={pattern:/[\s\S]+/,inside:Prism.languages[n]};var r={};r[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:i},Prism.languages.insertBefore("markup","cdata",r)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},945:function(){!function(t){var n=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,e=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/,/\b(?:null)\b/i],i=/\b0b[01]+\b|\b0x[\da-f]+\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+)(?:e[+-]?\d+)?/i,r=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:n,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],"argument-name":/\b[a-z_]\w*(?=\s*:(?!:))/i,"class-name":[{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,function:/\w+\s*(?=\()/,property:{pattern:/(->)[\w]+/,lookbehind:!0},number:i,operator:r,punctuation:o};var s={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/,lookbehind:!0,inside:t.languages.php},a=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:a}),t.languages.insertBefore("php","variable",{attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:n,string:a,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:e,number:i,operator:r,punctuation:o}},delimiter:{pattern:/^#\[|]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",(function(n){if(/<\?/.test(n.code)){t.languages["markup-templating"].buildPlaceholders(n,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi)}})),t.hooks.add("after-tokenize",(function(n){t.languages["markup-templating"].tokenizePlaceholders(n,"php")}))}(Prism)},759:function(){!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var t="line-numbers",n=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(n,e){if("PRE"===n.tagName&&n.classList.contains(t)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,o=r+(i.children.length-1);e<r&&(e=r),e>o&&(e=o);var s=e-r;return i.children[s]}}},resize:function(t){o([t])},assumeViewportIndependence:!0},i=function(t){return t?window.getComputedStyle?getComputedStyle(t):t.currentStyle||null:null},r=void 0;window.addEventListener("resize",(function(){e.assumeViewportIndependence&&r===window.innerWidth||(r=window.innerWidth,o(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(e){if(e.code){var i=e.element,r=i.parentNode;if(r&&/pre/i.test(r.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,t)){i.classList.remove(t),r.classList.add(t);var s,a=e.code.match(n),u=a?a.length+1:1,c=new Array(u+1).join("<span></span>");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=c,r.hasAttribute("data-start")&&(r.style.counterReset="linenumber "+(parseInt(r.getAttribute("data-start"),10)-1)),e.element.appendChild(s),o([r]),Prism.hooks.run("line-numbers",e)}}})),Prism.hooks.add("line-numbers",(function(t){t.plugins=t.plugins||{},t.plugins.lineNumbers=!0}))}function o(t){if(0!=(t=t.filter((function(t){var n=i(t)["white-space"];return"pre-wrap"===n||"pre-line"===n}))).length){var e=t.map((function(t){var e=t.querySelector("code"),i=t.querySelector(".line-numbers-rows");if(e&&i){var r=t.querySelector(".line-numbers-sizer"),o=e.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",e.appendChild(r)),r.innerHTML="0",r.style.display="block";var s=r.getBoundingClientRect().height;return r.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:s,sizer:r}}})).filter(Boolean);e.forEach((function(t){var n=t.sizer,e=t.lines,i=t.lineHeights,r=t.oneLinerHeight;i[e.length-1]=void 0,e.forEach((function(t,e){if(t&&t.length>1){var o=n.appendChild(document.createElement("span"));o.style.display="block",o.textContent=t}else i[e]=r}))})),e.forEach((function(t){for(var n=t.sizer,e=t.lineHeights,i=0,r=0;r<e.length;r++)void 0===e[r]&&(e[r]=n.children[i++].getBoundingClientRect().height)})),e.forEach((function(t){var n=t.sizer,e=t.element.querySelector(".line-numbers-rows");n.style.display="none",n.innerHTML="",t.lineHeights.forEach((function(t,n){e.children[n].style.height=t+"px"}))}))}}}()},449:function(t){"use strict";function n(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function e(t,n){for(var e=0;e<n.length;e++){var i=n[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}var r={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},o=function(t,n,e){t.classList[n?"add":"remove"](e)},s=function(t){var n=document.createElement("span");for(var e in t=t||{})n.setAttribute(e,t[e]);return n},a=function(t,n,e){var i=s(e);return t.parentNode.insertBefore(i,n?t.nextSibling:t),i},u=function t(){for(var n=arguments.length,e=new Array(n),i=0;i<n;i++)e[i]=arguments[i];var r={};return e.forEach((function(n){Object.keys(n||{}).forEach((function(i){if(void 0!==e[0][i]){var o=n[i];"Object"!==c(o)||"Object"!==c(r[i])?r[i]=o:r[i]=t(r[i],o)}}))})),r},c=function(t){return{}.toString.call(t).slice(8,-1)},l=function(){function t(e,i){var r,o;n(this,t),this.direction=window.getComputedStyle(e,null).getPropertyValue("direction"),this.el=e,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=i,this.tick=null,this.ticking=!1,this.values=function(t){var n=[];return[].forEach.call(t.options,(function(t){var e=parseInt(t.value,10)||0;e>0&&n.push({index:t.index,text:t.text,value:e})})),n.sort((function(t,n){return t.value-n.value}))}(e),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),r=this.values.length,o=this.props.maxStars,/^\d+$/.test(r)&&1<=r&&r<=o?this.build():this.destroy()}return i(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,n,e=this;this.props.prebuilt?(t=this.el.parentNode,n=t.querySelector("."+this.props.classNames.base+"--stars")):((t=a(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),n=a(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,i){var r=s({"data-index":i,"data-value":t.value});"function"==typeof e.props.stars&&e.props.stars.call(e,r,t,i),[].forEach.call(r.children,(function(t){return t.style.pointerEvents="none"})),n.innerHTML+=r.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&n.setAttribute("role","tooltip"),this.widgetEl=n}},{key:"changeIndexTo",value:function(t,n){var e=this;if(this.indexActive!==t||n){if([].forEach.call(this.widgetEl.children,(function(n,i){o(n,i<=t,e.props.classNames.active),o(n,i===e.indexSelected,e.props.classNames.selected)})),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var i=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",i)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,n,e,i){var r=this;e.forEach((function(e){return t[n+"EventListener"](e,r.events[e],i||!1)}))}},{key:"handleEvents",value:function(t){var n=this.el.closest("form");n&&"FORM"===n.tagName&&this.eventListener(n,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var n,e,i=(null===(n=t.touches)||void 0===n?void 0:n[0])||(null===(e=t.changedTouches)||void 0===e?void 0:e[0])||t,r=document.elementFromPoint(i.clientX,i.clientY);return[].slice.call(r.parentNode.children).indexOf(r)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var n=t.key.slice(5);if(~["Left","Right"].indexOf(n)){var e="Left"===n?-1:1;"rtl"===this.direction&&(e*=-1);var i=this.values.length-1,r=Math.min(Math.max(this.selected()+e,-1),i);this.selectValue(r,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var n=this.indexFromEvent(t);this.props.clearable&&n===this.indexSelected&&(n=-1),this.selectValue(n,!0)}},{key:"onPointerLeave",value:function(t){var n=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return n.changeIndexTo(n.indexSelected)}))}},{key:"onPointerMove",value:function(t){var n=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return n.changeIndexTo(n.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t;this.selectValue((null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.index)||-1,!1)}},{key:"selected",value:function(){var t=this;return this.values.findIndex((function(n){return n.value===+t.el.value}))}},{key:"selectValue",value:function(t,n){var e;this.el.value=(null===(e=this.values[t])||void 0===e?void 0:e.value)||"",this.indexSelected=this.selected(),!1===n?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}}]),t}(),f=function(){function t(e,i){n(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(e,i)}return i(t,[{key:"buildWidgets",value:function(t,n){var e=this;this.queryElements(t).forEach((function(t){var i=u(r,n,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!i.prebuilt&&t.parentNode.classList.contains(i.classNames.base)&&e.unwrap(t),e.widgets.push(new l(t,i)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===c(t)?[t]:"NodeList"===c(t)?[].slice.call(t):"String"===c(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var n=t.parentNode,e=n.parentNode;e.insertBefore(t,n),e.removeChild(n)}}]),t}();t.exports=f}},n={};function e(i){var r=n[i];if(void 0!==r)return r.exports;var o=n[i]={exports:{}};return t[i].call(o.exports,o,o.exports,e),o.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},function(){"use strict";var t=function(t){return this.data={},this.form=jQuery(t),this.pushes={},this.init()};t.prototype={patterns:{validate:/^[a-z_-][a-z0-9_-]*(?:\[(?:\d*|[a-z0-9_-]+)\])*$/i,key:/[a-z0-9_-]+|(?=\[\])/gi,named:/^[a-z0-9_-]+$/i,push:/^$/,fixed:/^\d+$/},addPair:function(t){this.patterns.validate.test(t.name)&&(this.data=jQuery.extend(!0,this.data,this.makeObject(t.name,this.encode(t))))},build:function(t,n,e){return t[n]=e,t},encode:function(t){switch(jQuery('[name="'+t.name+'"]',this.form).attr("type")){case"checkbox":return"on"===t.value||t.value;default:return t.value}},incrementPush:function(t){return void 0===this.pushes[t]&&(this.pushes[t]=0),this.pushes[t]++},init:function(){var t=this.form.serializeArray();if(jQuery.isArray(t))for(var n=0,e=t.length;n<e;n++)this.addPair(t[n]);return this.data},makeObject:function(t,n){for(var e,i=t.match(this.patterns.key);void 0!==(e=i.pop());)if(this.patterns.push.test(e)){var r=this.incrementPush(t.replace(/\[\]$/,""));n=this.build([],r,n)}else this.patterns.fixed.test(e)?n=this.build([],e,n):this.patterns.named.test(e)&&(n=this.build({},e,n));return n}};var n=t,i=function(t,n,e){this.event=n||null,this.form=e||null,this.notice=null,this.request=t||{}};i.prototype={post:function(t){this.event?this.t(t):this.i(t)},u:function(t){var e={action:GLSR.action,_ajax_request:!0};if(this.form){var i=new n(this.form);i[GLSR.nameprefix]&&(this.request=i[GLSR.nameprefix])}return this.l(t),e[GLSR.nameprefix]=this.request,e},l:function(t){this.request._nonce||(GLSR.nonce[this.request._action]?this.request._nonce=GLSR.nonce[this.request._action]:t&&(this.request._nonce=t.closest("form").find("#_wpnonce").val()))},i:function(t,n){jQuery.post(GLSR.ajaxurl,this.u(n)).done((function(e){"function"==typeof t&&t(e.data,e.success),n&&n.prop("disabled",!1)})).always((function(t){t.data?t.data.notices&&GLSR.notices.add(t.data.notices):GLSR.notices.add('<div class="notice notice-error inline is-dismissible"><p>Unknown error.</p></div>')}))},t:function(t){this.event.preventDefault();var n=jQuery(this.event.currentTarget);n.is(":disabled")||(n.prop("disabled",!0),this.i(t,n))}};var r=i,o=e(367),s=e.n(o);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var u=function(){"object"===a(jQuery.wp)&&"function"==typeof jQuery.wp.wpColorPicker&&jQuery(document).find("input[type=text].color-picker-hex").each((function(){jQuery(this).wpColorPicker(jQuery(this).data("colorpicker")||{})}))},c=function(t){this.el=document.querySelector(t),this.el&&(this.depends=this.el.querySelectorAll("[data-depends]"),this.depends.length&&this.h())};c.prototype={p:function(t){var n=t.getAttribute("data-depends");if(n)try{return JSON.parse(n)}catch(t){return}},h:function(){for(var t=this.el.elements,n=0;n<t.length;n++)~["INPUT","SELECT"].indexOf(t[n].nodeName)&&t[n].addEventListener("change",this.v.bind(this))},m:function(t,n){var e=!1;n=[].concat(n);var i=this.el.querySelectorAll('[name="'+t+'"]');return[].map.call(i,function(t){var i=~this._(n).indexOf(this.k(t.value));~["checkbox","radio"].indexOf(t.type)?t.checked&&i&&(e=!0):i&&(e=!0)}.bind(this)),e},k:function(t){return!!~["true","on","yes","1"].indexOf(t)||!~["false","off","no","0"].indexOf(t)&&t},_:function(t){return t.map(this.k)},v:function(t){this.depends.forEach(function(n){var e=this.p(n);if(e&&~e.map((function(t){return t.name})).indexOf(t.currentTarget.name)){var i=!0;e.forEach(function(t){this.m(t.name,t.value)||(i=!1)}.bind(this)),this.j(n,i)}}.bind(this))},j:function(t,n){var e=t.closest(".glsr-setting-field");e&&e.classList[n?"remove":"add"]("hidden")}};var l=c,f=function(){jQuery(".glsr-metabox-field input[data-edit-review]").on("change",this.S.bind(this)),jQuery(".glsr-metabox-field input[type=url]").on("change",this.F.bind(this))};f.prototype={F:function(t){var n=jQuery(t.currentTarget);this.O(n.parent().find("img"),n.val())},S:function(t){var n=t.currentTarget.checked;jQuery(".glsr-input-value").each(function(t,e){if(n)jQuery(e).data("value",e.value);else{if(e.value=jQuery(e).data("value"),"url"!==e.type)return;this.O(jQuery(e).parent().find("img"),e.value)}}.bind(this)),jQuery(".glsr-input-value").prop("disabled",!n),GLSR.stars.rebuild()},O:function(t,n){if(t){var e=new Image;e.src=n,e.onerror=function(){t.attr("src",t.data("fallback"))},e.onload=function(){t.attr("src",e.src)}}}};var d=f,h=function(){this.h()};h.prototype={add:function(t){t&&(jQuery("#glsr-notices").length||(jQuery("#message.notice").remove(),jQuery("hr.wp-header-end").after('<div id="glsr-notices" />')),jQuery("#glsr-notices").html(t),jQuery(document).trigger("wp-updates-notice-added"))},h:function(){jQuery(".glsr-notice[data-dismiss]").on("click.wp-dismiss-notice",this.A.bind(this))},A:function(t){var n={};n[GLSR.nameprefix]={_action:"dismiss-notice",notice:jQuery(t.currentTarget).data("dismiss")},wp.ajax.post(GLSR.action,n)}};var p=h,v=function(){this.el=jQuery("#pinned-status-select"),this.el&&(this.cancel=jQuery("a.cancel-pinned-status"),this.cancel.on("click",this.R.bind(this)),this.edit=jQuery("a.edit-pinned-status"),this.edit.on("click",this.P.bind(this)),this.save=jQuery("a.save-pinned-status"),this.save.on("click",this.$.bind(this))),jQuery("td.column-is_pinned i.pin-review").on("click",this.C.bind(this))};v.prototype={L:function(){this.el.slideUp("fast"),this.edit.show().focus()},R:function(t){t.preventDefault(),this.L(),this.el.find("select").val("0"===jQuery("#hidden-pinned-status").val()?1:0)},P:function(t){t.preventDefault(),this.el.is(":hidden")&&(this.el.slideDown("fast",function(){this.el.find("select").focus()}.bind(this)),this.edit.hide())},$:function(t){t.preventDefault(),this.L(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:jQuery("#post_ID").val(),pinned:jQuery("#pinned-status").val()};new r(n).post(this.T.bind(this))},C:function(t){t.preventDefault(),this.target=t.currentTarget;var n={_action:"toggle-pinned",id:t.currentTarget.getAttribute("data-id")};jQuery(this.target).addClass("spinner is-active").removeClass("dashicons-sticky"),new r(n).post(this.G.bind(this))},T:function(t){jQuery("#pinned-status").val(0|!t.pinned),jQuery("#hidden-pinned-status").val(0|t.pinned),jQuery("#pinned-status-text").text(t.pinned?this.target.dataset.yes:this.target.dataset.no),GLSR.notices.add(t.notices)},G:function(t){this.target.classList[t.pinned?"add":"remove"]("pinned"),jQuery(this.target).removeClass("spinner is-active").addClass("dashicons-sticky")}};var m=v,y=function(){jQuery.each(GLSR.pointers,function(t,n){this.h(n)}.bind(this))};y.prototype={M:function(t){jQuery.post(GLSR.ajaxurl,{action:"dismiss-wp-pointer",pointer:t})},h:function(t){jQuery(t.target).pointer({content:t.options.content,position:t.options.position,close:this.M.bind(null,t.id)}).pointer("open").pointer("sendToTop"),jQuery(document).on("wp-window-resized",(function(){jQuery(t.target).pointer("reposition")}))}};var b=y,g=e(325),w=e.n(g),k=(e(433),e(335),e(980),e(854),e(945),e(251),e(759),function(t,n){this.el=jQuery(t),this.options=n,this.searchTerm=null,this.h()});k.prototype={defaults:{action:null,exclude:[],onInit:null,onResultClick:null,results:{},selected:-1,selectedClass:"glsr-selected-result",selectorEntries:".glsr-strings-table tbody",selectorResults:".glsr-search-results",selectorSearch:".glsr-search-input"},h:function(){this.options=jQuery.extend({},this.defaults,this.options),this.el.length&&(this.options.entriesEl=this.el.parent().find(this.options.selectorEntries),this.options.resultsEl=this.el.find(this.options.selectorResults),this.options.searchEl=this.el.find(this.options.selectorSearch),this.options.searchEl.attr("aria-describedby","live-search-desc"),"function"==typeof this.options.onInit&&this.options.onInit.call(this),this.q())},q:function(){this.options.searchEl.on("input",_.debounce(this.D.bind(this),500)),this.options.searchEl.on("keyup",this.I.bind(this)),this.options.searchEl.on("keydown keypress",(function(t){GLSR.keys.ENTER===t.which&&t.preventDefault()})),jQuery(document).on("click",this.B.bind(this)),jQuery(document).on("keydown",this.H.bind(this))},W:function(){void 0!==this.searchRequest&&this.searchRequest.abort()},U:function(){this.W(),this.options.resultsEl.empty(),this.options.resultsEl.removeClass("is-active"),this.el.removeClass("is-active"),jQuery("body").removeClass("glsr-focus")},N:function(t){var n=this.options.entriesEl.children("tr").eq(t),e=this;n.find("td").css({backgroundColor:"#faafaa"}),n.fadeOut(350,(function(){jQuery(this).remove(),e.options.results={},e.V(),e.Z()}))},K:function(t){jQuery("body").addClass("glsr-focus"),this.options.resultsEl.append(t),this.options.resultsEl.children("span").on("click",this.X.bind(this))},Y:function(){this.options.entriesEl.on("click","a.delete",this.J.bind(this)),this.options.entriesEl.sortable({items:"tr",tolerance:"pointer",start:function(t,n){n.placeholder.height(n.helper[0].scrollHeight)},sort:function(t,n){var e=t.pageY-jQuery(this).offsetParent().offset().top-n.helper.outerHeight(!0)/2;n.helper.css({top:e+"px"})}})},tt:function(t){this.options.selected+=t,this.options.results.removeClass(this.options.selectedClass),this.options.selected<0&&(this.options.selected=-1,this.options.searchEl.focus()),this.options.selected>=this.options.results.length&&(this.options.selected=this.options.results.length-1),this.options.selected>=0&&this.options.results.eq(this.options.selected).addClass(this.options.selectedClass).focus()},B:function(t){jQuery(t.target).find(this.el).length&&jQuery("body").hasClass("glsr-focus")&&this.U()},H:function(t){if(!jQuery.isEmptyObject(this.options.results)){if(GLSR.keys.ESC===t.which&&this.U(),GLSR.keys.ENTER===t.which||GLSR.keys.SPACE===t.which){var n=this.options.resultsEl.find("."+this.options.selectedClass);n&&n.trigger("click")}GLSR.keys.UP===t.which&&(t.preventDefault(),this.tt(-1)),GLSR.keys.DOWN===t.which&&(t.preventDefault(),this.tt(1))}},J:function(t){t.preventDefault(),this.N(jQuery(t.currentTarget).closest("tr").index())},X:function(t){t.preventDefault(),"function"==typeof this.options.onResultClick&&this.options.onResultClick.call(this,t),this.U()},D:function(t){if(this.W(),this.searchTerm===t.currentTarget.value&&this.options.results.length)return this.K(this.options.results);if(this.options.resultsEl.empty(),this.options.selected=-1,this.searchTerm=t.currentTarget.value,""===this.searchTerm)return this.nt();this.el.addClass("is-active");var n={};n[GLSR.nameprefix]={_action:this.options.action,_nonce:this.el.find("#_search_nonce").val(),exclude:this.options.exclude,search:this.searchTerm},this.searchRequest=wp.ajax.post(GLSR.action,n).done(function(t){this.el.removeClass("is-active"),this.K(t.items?t.items:t.empty),this.options.results=this.options.resultsEl.children(),this.options.resultsEl.addClass("is-active"),delete this.searchRequest}.bind(this))},I:function(t){GLSR.keys.ESC===t.which&&this.nt(),GLSR.keys.ENTER===t.which&&(this.D(t),t.preventDefault())},et:function(t){t.preventDefault();var n=jQuery(t.currentTarget).closest(".glsr-multibox-entry");n.find("a").css({color:"#c00"}),n.fadeOut("fast",(function(){n.remove()}))},V:function(){var t=this;this.options.exclude=[],this.options.entriesEl.children("tr").each((function(n){jQuery(this).find(".glsr-string-td2").children().filter(":input").each((function(){var e=jQuery(this),i=e.attr("name").replace(/\[\d+\]/i,"["+n+"]");e.attr("name",i),e.is("[data-id]")&&t.options.exclude.push({id:e.val()})}))}))},nt:function(){this.U(),this.options.results={},this.options.searchEl.val("")},Z:function(){var t=this.options.entriesEl.children().length>0?"remove":"add";this.options.entriesEl.parent()[t+"Class"]("glsr-hidden")}};var j=k,x=function(t){this.options=jQuery.extend({},this.defaults,t),this.tabs=document.querySelectorAll(this.options.tabSelector),this.tabs&&this.h()};x.prototype={defaults:{expandSelectors:".glsr-nav-view, .glsr-notice",tabSelector:".glsr-nav-tab"},h:function(){var t=this;[].forEach.call(t.tabs,function(n,e){n.addEventListener("click",t.A.bind(t)),n.addEventListener("touchend",t.A.bind(t))}.bind(t)),jQuery(t.options.expandSelectors).on("click","a",(function(){var n=jQuery(this).data("expand");localStorage.setItem("glsr-expand",n),t.it(jQuery(n))})),jQuery(window).on("load",(function(){t.it(jQuery(localStorage.getItem("glsr-expand")))}))},A:function(t){t.preventDefault(),this.rt(t.currentTarget)},it:function(t){if(t.length){var n=t.parent().parent();n.removeClass("collapsed"),this.ot(n),n.removeClass("collapsed"),t.parent().removeClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!0),window.setTimeout((function(){t.parent()[0].scrollIntoView({behavior:"smooth",block:"center"}),localStorage.removeItem("glsr-expand")}),10)}},ot:function(t){var n=t.hasClass("collapsed")?"remove":"add";t[n+"Class"]("collapsed").find(".glsr-card.postbox")[n+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==n)},rt:function(t){if(t.classList.contains("nav-tab-active")){var n=jQuery(t.getAttribute("href"));this.ot(n)}}};var S=x,F=function(t){this.current=null,this.editor=null,this.create=function(t){if(this.editor=tinymce.get(t),this.editor){var n={_action:"mce-shortcode",shortcode:this.current};new r(n).post(this.st.bind(this))}};var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){var n=t.querySelector("button"),e=t.querySelectorAll(".mce-menu-item");n&&e.length&&this.h(t,n,e)}.bind(this))};F.prototype={at:{},ut:[],h:function(t,n,e){document.addEventListener("click",this.ct.bind(this,t,n)),n.addEventListener("click",this.lt.bind(this,t,n)),e.forEach(function(e){e.addEventListener("click",this.ft.bind(this,t,n))}.bind(this))},dt:function(){tinymce.execCommand("GLSR_Shortcode")},ht:function(){jQuery("#scTemp").length?this.dt():(jQuery("body").append('<textarea id="scTemp" style="display:none!important;"/>'),tinymce.init({elements:"scTemp",external_plugins:GLSR.tinymce,mode:"exact",plugins:["glsr_shortcode","wplink"]}),setTimeout(function(){this.dt()}.bind(this),200))},M:function(t,n){jQuery(n).removeClass("active"),jQuery(t).find(".glsr-mce-menu").hide()},vt:function(){var t=jQuery("#scTemp");t.length&&(tinymce.get("scTemp").remove(),t.remove()),this.at={},this.ut=[]},st:function(t){if(t){if(0===t.body.length)return window.send_to_editor("["+t.shortcode+"]"),void this.vt();var n=this.yt(t);t.ok.constructor===Array&&(n.buttons[0].text=t.ok[0],n.buttons[0].onclick="close",delete n.buttons[1]),this.editor.windowManager.open(n)}},bt:function(t){for(var n in this.at=t,this.ut=[],t)t.hasOwnProperty(n)&&(this.gt(n),this.wt(n),this._t(n));this.at.hide=this.ut.join(",")},gt:function(t){"display"!==t||jQuery.isNumeric(this.at[t])||(this.at[t]="")},wt:function(t){if(GLSR.hideoptions.hasOwnProperty(this.current)){var n=t.substring("hide_".length);-1!==Object.keys(GLSR.hideoptions[this.current]).indexOf(n)&&(this.at[t]&&this.ut.push(n),delete this.at[t])}},_t:function(t){"id"===t&&(this.at[t]=(+new Date).toString(36))},ct:function(t,n,e){jQuery(e.target).closest(jQuery(t)).length||this.M(t,n)},lt:function(t,n,e){e.preventDefault(),e.currentTarget.classList.contains("active")?this.M(t,n):this.kt(t,n)},ft:function(t,n,e){e.preventDefault(),this.current=e.currentTarget.dataset.shortcode,this.current&&(tinymce.get(window.wpActiveEditor)?this.dt():this.ht(),setTimeout(function(){this.M(t,n)}.bind(this),100))},kt:function(t,n){jQuery(n).addClass("active"),jQuery(t).find(".glsr-mce-menu").show()},jt:function(t){return[{classes:"btn glsr-btn primary",onclick:this.xt.bind(this),text:t.ok},{onclick:"close",text:t.close}]},yt:function(t){return{title:t.title,body:t.body,classes:"glsr-mce-popup",minWidth:320,buttons:this.jt(t),onsubmit:this.St.bind(this,t),onclose:this.vt.bind(this)}},St:function(t,n){var e="";for(var i in this.bt(n.data),this.at)this.at.hasOwnProperty(i)&&""!==this.at[i]&&(e+=" "+i+'="'+this.at[i]+'"');window.send_to_editor("["+t.shortcode+e+"]")},xt:function(){var t=this.editor.windowManager.getWindows()[0];this.Ft(t)&&t.submit()},Ft:function(t){var n,e=!0,i=GLSR.shortcodes[this.current];for(var r in i)if(i.hasOwnProperty(r)&&void 0!==(n=t.find("#"+r)[0])&&""===n.state.data.value){e=!1,alert(i[r]);break}return e}};var Q=F,O=e(449),A=e.n(O),R=function(t){var n=document.querySelectorAll(t);n.length&&n.forEach(function(t){t.addEventListener("click",this.A)}.bind(this))};R.prototype={A:function(t){var n=t.currentTarget.href.match(/post=([0-9]+)/),e=t.currentTarget.href.match(/action=([a-z]+)/);if(null!==n&&null!==e){var i={_action:"toggle-status",_nonce:GLSR.nonce["toggle-status"],post_id:n[1],status:e[1]};new r(i,t).post((function(n){if(n.class){var e=jQuery(t.target);e.closest("tr").removeClass("status-pending status-publish").addClass(n.class),e.closest("td.column-title").find("strong").html(n.link),n.counts&&(e.closest(".wrap").find("ul.subsubsub").html(n.counts),jQuery("#menu-posts-site-review").find(".awaiting-mod").removeClass().addClass("awaiting-mod count-"+n.pending).find(".unapproved-count").html(n.pending))}}))}}};var z=R,P=function(){this.button=jQuery("button#sync-reviews"),this.progressbar=jQuery(".glsr-progress"),this.service=null,jQuery("form.glsr-form-sync").on("click","#sync-reviews",this.Qt.bind(this)),jQuery(document).on("wp-window-resized",this.Ot),jQuery(window).on("hashchange",this.Ot),this.Ot()};P.prototype={At:function(t){jQuery(".service-"+this.service+" td.column-last_sync").text(t.last_sync),jQuery(".service-"+this.service+" td.column-total_fetched a").text(t.total),this.Rt(!1)},Qt:function(t){t.preventDefault(),this.service=jQuery('[name="'+GLSR.nameprefix+'[service]"]').val(),this.service&&(this.Rt(!0),this.zt())},Ot:function(){var t=jQuery(".glsr-progress").width();t&&jQuery(".glsr-progress span").width(t)},zt:function(){var t={_action:"sync-reviews",service:this.service,stage:"fetch"};new r(t).post(this.Pt.bind(this))},Pt:function(t){var n={_action:"sync-reviews",job_id:t.job_id,service:this.service,stage:"progress"},e=t.finished?this.$t.bind(this,t):this.Pt.bind(this);this.Ct(t.message),this.Lt(t.percent),setTimeout((function(){new r(n).post(e)}),1500)},$t:function(t){var n=0;try{n=t.meta.pagination.current_page}catch(t){}var e={_action:"sync-reviews",page:n+1,service:this.service,stage:"reviews"};this.Ct(t.message),t.percent_synced&&t.percent_synced>=100?this.At(t):new r(e).post(this.$t.bind(this))},Ct:function(t){jQuery(".glsr-progress-status",this.progressbar).text(t)},Lt:function(t){t=(t||0)+"%",jQuery(".glsr-progress-bar",this.progressbar).outerWidth(t)},Rt:function(t){if(!0===t&&(this.Ct(this.progressbar.data("active-text")),this.Lt(),this.button.prop("disabled",!0),window.requestAnimationFrame(function(){this.progressbar.addClass("active")}.bind(this))),!1===t)return this.service=null,this.button.prop("disabled",!1),void this.progressbar.removeClass("active");window.requestAnimationFrame(this.Rt.bind(this))}};var $=P,C=function(t){this.options=jQuery.extend({},this.defaults,t),this.active=document.querySelector("input[name=_active_tab]"),this.referrerEl=document.querySelector("input[name=_wp_http_referer]"),this.sections=document.querySelectorAll(this.options.viewSectionSelector),this.subsubsub=document.querySelectorAll(this.options.viewSubsubsub),this.tabs=document.querySelectorAll(this.options.tabSelector),this.views=document.querySelectorAll(this.options.viewSelector),this.active&&this.referrerEl&&this.tabs&&this.views&&this.h()};C.prototype={defaults:{tabSelector:".glsr-nav-tab",viewSelector:".glsr-nav-view",viewSectionSelector:".glsr-nav-view-section",viewSubsubsub:".glsr-subsubsub a"},h:function(){var t=this;jQuery(window).on("hashchange",t.Tt.bind(t)),jQuery(t.options.tabSelector+","+t.options.viewSubsubsub).on("click touchend",t.A.bind(t)),jQuery(t.options.tabSelector).each((function(n){(location.hash?this.getAttribute("href").slice(1)===location.hash.slice(5).split("_")[0]:0===n)&&(t.Et(this),t.Gt(t.Mt()))}))},qt:function(t){return t?"add":"remove"},A:function(t){var n=t.currentTarget,e=n.getAttribute("href");e.startsWith("#")&&(location.hash=this.Dt(e.slice(1)),n.blur(),t.preventDefault())},Tt:function(){for(var t=this.Mt().split("_")[0],n=0;n<this.views.length;n++)if(t===this.views[n].id){this.Et(this.tabs[n]),this.Gt(this.Mt());break}},Dt:function(t){return"tab-"+t},Mt:function(){return location.hash?location.hash.split("#tab-")[1]:""},Gt:function(t){if(t){var n=this.referrerEl.value.split("#")[0],e=this.Dt(t);this.referrerEl.value=n+"#"+e}},Et:function(t){[].forEach.call(this.tabs,function(n,e){var i=this.qt(n===t);"add"===i&&(this.active.value=this.views[e].id,this.It(e)),n.classList[i]("nav-tab-active")}.bind(this))},It:function(t){[].forEach.call(this.views,function(n,e){var i=this.qt(e!==t);n.classList[i]("ui-tabs-hide"),this.Bt()}.bind(this))},Bt:function(){var t=this,n=0;[].forEach.call(this.subsubsub,(function(e,i){e.classList.remove("current"),e.getAttribute("href").slice(1)===t.Mt()&&(n=i)})),this.subsubsub[n]&&this.subsubsub[n].classList.add("current"),[].forEach.call(this.sections,(function(e,i){var r=t.qt(i!==n);e.classList[r]("ui-tabs-hide")}))}};var L=C,T=function(){var t=document.querySelector("#contentdiv > textarea");t&&(this.Ht(t),jQuery(document).on("wp-window-resized.editor-expand",function(){this.Ht(t)}.bind(this)))};T.prototype={Ht:function(t){var n=t.scrollHeight>320?t.scrollHeight:320;t.style.height="auto",t.style.height=n+"px"}};var E=T,G=function(){jQuery("form").on("click","#clear-console",this.Wt,this.A.bind(this)),jQuery("form").on("click","#fetch-console",this.Wt,this.A.bind(this)),jQuery("form").on("click","[data-ajax-click]",this.A.bind(this)),jQuery(".glsr-button").on("click",this.Ut);var t=jQuery("input[data-alt]");t.length&&(jQuery(document).on("keydown",this.Nt.bind(this,t)),jQuery(document).on("keyup",this.Vt.bind(this,t)))};G.prototype={Wt:function(t,n){n&&jQuery("#log-file").val(t.console)},A:function(t){var n=jQuery(t.currentTarget),e=this;n.addClass("is-busy"),new r({},t,n.closest("form")).post((function(i,r){"function"==typeof t.data&&t.data(i,r),n.get(0).hasAttribute("data-ajax-scroll")&&jQuery("html, body").animate({scrollTop:0},500),n.removeClass("is-busy"),n.closest("[data-ajax-hide]").css({backgroundColor:"rgba(74,184,102,.25)"}).fadeOut("normal",(function(){jQuery(this).remove()})),jQuery("#glsr-notices").on("click","a",e.Ut),jQuery('.glsr-notice[data-notice="'+n.data("remove-notice")+'"]').remove()}))},Nt:function(t,n){GLSR.keys.ALT!==n.keyCode||n.repeat||(t.closest("form").find("[data-alt-text]").addClass("alt"),t.val(1))},Vt:function(t,n){GLSR.keys.ALT===n.keyCode&&(t.closest("form").find("[data-alt-text]").removeClass("alt"),t.val(0))},Ut:function(t){var n=jQuery(t.currentTarget).data("expand");n&&localStorage.setItem("glsr-expand",n)}};var M=G;function q(t){var n=t.getBoundingClientRect();return{width:n.width,height:n.height,top:n.top,right:n.right,bottom:n.bottom,left:n.left,x:n.left,y:n.top}}function D(t){if(null==t)return window;if("[object Window]"!==t.toString()){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function I(t){var n=D(t);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function B(t){return t instanceof D(t).Element||t instanceof Element}function H(t){return t instanceof D(t).HTMLElement||t instanceof HTMLElement}function W(t){return"undefined"!=typeof ShadowRoot&&(t instanceof D(t).ShadowRoot||t instanceof ShadowRoot)}function U(t){return t?(t.nodeName||"").toLowerCase():null}function N(t){return((B(t)?t.ownerDocument:t.document)||window.document).documentElement}function V(t){return q(N(t)).left+I(t).scrollLeft}function Z(t){return D(t).getComputedStyle(t)}function K(t){var n=Z(t),e=n.overflow,i=n.overflowX,r=n.overflowY;return/auto|scroll|overlay|hidden/.test(e+r+i)}function X(t,n,e){void 0===e&&(e=!1);var i,r,o=N(n),s=q(t),a=H(n),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!e)&&(("body"!==U(n)||K(o))&&(u=(i=n)!==D(i)&&H(i)?{scrollLeft:(r=i).scrollLeft,scrollTop:r.scrollTop}:I(i)),H(n)?((c=q(n)).x+=n.clientLeft,c.y+=n.clientTop):o&&(c.x=V(o))),{x:s.left+u.scrollLeft-c.x,y:s.top+u.scrollTop-c.y,width:s.width,height:s.height}}function Y(t){var n=q(t),e=t.offsetWidth,i=t.offsetHeight;return Math.abs(n.width-e)<=1&&(e=n.width),Math.abs(n.height-i)<=1&&(i=n.height),{x:t.offsetLeft,y:t.offsetTop,width:e,height:i}}function J(t){return"html"===U(t)?t:t.assignedSlot||t.parentNode||(W(t)?t.host:null)||N(t)}function tt(t){return["html","body","#document"].indexOf(U(t))>=0?t.ownerDocument.body:H(t)&&K(t)?t:tt(J(t))}function nt(t,n){var e;void 0===n&&(n=[]);var i=tt(t),r=i===(null==(e=t.ownerDocument)?void 0:e.body),o=D(i),s=r?[o].concat(o.visualViewport||[],K(i)?i:[]):i,a=n.concat(s);return r?a:a.concat(nt(J(s)))}function et(t){return["table","td","th"].indexOf(U(t))>=0}function it(t){return H(t)&&"fixed"!==Z(t).position?t.offsetParent:null}function rt(t){for(var n=D(t),e=it(t);e&&et(e)&&"static"===Z(e).position;)e=it(e);return e&&("html"===U(e)||"body"===U(e)&&"static"===Z(e).position)?n:e||function(t){for(var n=navigator.userAgent.toLowerCase().includes("firefox"),e=J(t);H(e)&&["html","body"].indexOf(U(e))<0;){var i=Z(e);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||["transform","perspective"].includes(i.willChange)||n&&"filter"===i.willChange||n&&i.filter&&"none"!==i.filter)return e;e=e.parentNode}return null}(t)||n}var ot="top",st="bottom",at="right",ut="left",ct="auto",lt=[ot,st,at,ut],ft="start",dt="end",ht="viewport",pt="popper",vt=lt.reduce((function(t,n){return t.concat([n+"-"+ft,n+"-"+dt])}),[]),mt=[].concat(lt,[ct]).reduce((function(t,n){return t.concat([n,n+"-"+ft,n+"-"+dt])}),[]),yt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function bt(t){var n=new Map,e=new Set,i=[];function r(t){e.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!e.has(t)){var i=n.get(t);i&&r(i)}})),i.push(t)}return t.forEach((function(t){n.set(t.name,t)})),t.forEach((function(t){e.has(t.name)||r(t)})),i}var gt={placement:"bottom",modifiers:[],strategy:"absolute"};function wt(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];return!n.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function _t(t){void 0===t&&(t={});var n=t,e=n.defaultModifiers,i=void 0===e?[]:e,r=n.defaultOptions,o=void 0===r?gt:r;return function(t,n,e){void 0===e&&(e=o);var r,s,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},gt,o),modifiersData:{},elements:{reference:t,popper:n},attributes:{},styles:{}},u=[],c=!1,l={state:a,setOptions:function(e){f(),a.options=Object.assign({},o,a.options,e),a.scrollParents={reference:B(t)?nt(t):t.contextElement?nt(t.contextElement):[],popper:nt(n)};var r=function(t){var n=bt(t);return yt.reduce((function(t,e){return t.concat(n.filter((function(t){return t.phase===e})))}),[])}(function(t){var n=t.reduce((function(t,n){var e=t[n.name];return t[n.name]=e?Object.assign({},e,n,{options:Object.assign({},e.options,n.options),data:Object.assign({},e.data,n.data)}):n,t}),{});return Object.keys(n).map((function(t){return n[t]}))}([].concat(i,a.options.modifiers)));return a.orderedModifiers=r.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var n=t.name,e=t.options,i=void 0===e?{}:e,r=t.effect;if("function"==typeof r){var o=r({state:a,name:n,instance:l,options:i}),s=function(){};u.push(o||s)}})),l.update()},forceUpdate:function(){if(!c){var t=a.elements,n=t.reference,e=t.popper;if(wt(n,e)){a.rects={reference:X(n,rt(e),"fixed"===a.options.strategy),popper:Y(e)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<a.orderedModifiers.length;i++)if(!0!==a.reset){var r=a.orderedModifiers[i],o=r.fn,s=r.options,u=void 0===s?{}:s,f=r.name;"function"==typeof o&&(a=o({state:a,options:u,name:f,instance:l})||a)}else a.reset=!1,i=-1}}},update:(r=function(){return new Promise((function(t){l.forceUpdate(),t(a)}))},function(){return s||(s=new Promise((function(t){Promise.resolve().then((function(){s=void 0,t(r())}))}))),s}),destroy:function(){f(),c=!0}};if(!wt(t,n))return l;function f(){u.forEach((function(t){return t()})),u=[]}return l.setOptions(e).then((function(t){!c&&e.onFirstUpdate&&e.onFirstUpdate(t)})),l}}var kt={passive:!0};var jt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var n=t.state,e=t.instance,i=t.options,r=i.scroll,o=void 0===r||r,s=i.resize,a=void 0===s||s,u=D(n.elements.popper),c=[].concat(n.scrollParents.reference,n.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",e.update,kt)})),a&&u.addEventListener("resize",e.update,kt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",e.update,kt)})),a&&u.removeEventListener("resize",e.update,kt)}},data:{}};function xt(t){return t.split("-")[0]}function St(t){return t.split("-")[1]}function Ft(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Qt(t){var n,e=t.reference,i=t.element,r=t.placement,o=r?xt(r):null,s=r?St(r):null,a=e.x+e.width/2-i.width/2,u=e.y+e.height/2-i.height/2;switch(o){case ot:n={x:a,y:e.y-i.height};break;case st:n={x:a,y:e.y+e.height};break;case at:n={x:e.x+e.width,y:u};break;case ut:n={x:e.x-i.width,y:u};break;default:n={x:e.x,y:e.y}}var c=o?Ft(o):null;if(null!=c){var l="y"===c?"height":"width";switch(s){case ft:n[c]=n[c]-(e[l]/2-i[l]/2);break;case dt:n[c]=n[c]+(e[l]/2-i[l]/2)}}return n}var Ot={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var n=t.state,e=t.name;n.modifiersData[e]=Qt({reference:n.rects.reference,element:n.rects.popper,strategy:"absolute",placement:n.placement})},data:{}},At=Math.max,Rt=Math.min,zt=Math.round,Pt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function $t(t){var n,e=t.popper,i=t.popperRect,r=t.placement,o=t.offsets,s=t.position,a=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,l=!0===c?function(t){var n=t.x,e=t.y,i=window.devicePixelRatio||1;return{x:zt(zt(n*i)/i)||0,y:zt(zt(e*i)/i)||0}}(o):"function"==typeof c?c(o):o,f=l.x,d=void 0===f?0:f,h=l.y,p=void 0===h?0:h,v=o.hasOwnProperty("x"),m=o.hasOwnProperty("y"),y=ut,b=ot,g=window;if(u){var w=rt(e),_="clientHeight",k="clientWidth";w===D(e)&&"static"!==Z(w=N(e)).position&&(_="scrollHeight",k="scrollWidth"),w=w,r===ot&&(b=st,p-=w[_]-i.height,p*=a?1:-1),r===ut&&(y=at,d-=w[k]-i.width,d*=a?1:-1)}var j,x=Object.assign({position:s},u&&Pt);return a?Object.assign({},x,((j={})[b]=m?"0":"",j[y]=v?"0":"",j.transform=(g.devicePixelRatio||1)<2?"translate("+d+"px, "+p+"px)":"translate3d("+d+"px, "+p+"px, 0)",j)):Object.assign({},x,((n={})[b]=m?p+"px":"",n[y]=v?d+"px":"",n.transform="",n))}var Ct={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var n=t.state;Object.keys(n.elements).forEach((function(t){var e=n.styles[t]||{},i=n.attributes[t]||{},r=n.elements[t];H(r)&&U(r)&&(Object.assign(r.style,e),Object.keys(i).forEach((function(t){var n=i[t];!1===n?r.removeAttribute(t):r.setAttribute(t,!0===n?"":n)})))}))},effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow),function(){Object.keys(n.elements).forEach((function(t){var i=n.elements[t],r=n.attributes[t]||{},o=Object.keys(n.styles.hasOwnProperty(t)?n.styles[t]:e[t]).reduce((function(t,n){return t[n]="",t}),{});H(i)&&U(i)&&(Object.assign(i.style,o),Object.keys(r).forEach((function(t){i.removeAttribute(t)})))}))}},requires:["computeStyles"]};var Lt={left:"right",right:"left",bottom:"top",top:"bottom"};function Tt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Lt[t]}))}var Et={start:"end",end:"start"};function Gt(t){return t.replace(/start|end/g,(function(t){return Et[t]}))}function Mt(t,n){var e=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(e&&W(e)){var i=n;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function qt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Dt(t,n){return n===ht?qt(function(t){var n=D(t),e=N(t),i=n.visualViewport,r=e.clientWidth,o=e.clientHeight,s=0,a=0;return i&&(r=i.width,o=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=i.offsetLeft,a=i.offsetTop)),{width:r,height:o,x:s+V(t),y:a}}(t)):H(n)?function(t){var n=q(t);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(n):qt(function(t){var n,e=N(t),i=I(t),r=null==(n=t.ownerDocument)?void 0:n.body,o=At(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=At(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+V(t),u=-i.scrollTop;return"rtl"===Z(r||e).direction&&(a+=At(e.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:u}}(N(t)))}function It(t,n,e){var i="clippingParents"===n?function(t){var n=nt(J(t)),e=["absolute","fixed"].indexOf(Z(t).position)>=0&&H(t)?rt(t):t;return B(e)?n.filter((function(t){return B(t)&&Mt(t,e)&&"body"!==U(t)})):[]}(t):[].concat(n),r=[].concat(i,[e]),o=r[0],s=r.reduce((function(n,e){var i=Dt(t,e);return n.top=At(i.top,n.top),n.right=Rt(i.right,n.right),n.bottom=Rt(i.bottom,n.bottom),n.left=At(i.left,n.left),n}),Dt(t,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function Bt(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ht(t,n){return n.reduce((function(n,e){return n[e]=t,n}),{})}function Wt(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=void 0===i?t.placement:i,o=e.boundary,s=void 0===o?"clippingParents":o,a=e.rootBoundary,u=void 0===a?ht:a,c=e.elementContext,l=void 0===c?pt:c,f=e.altBoundary,d=void 0!==f&&f,h=e.padding,p=void 0===h?0:h,v=Bt("number"!=typeof p?p:Ht(p,lt)),m=l===pt?"reference":pt,y=t.elements.reference,b=t.rects.popper,g=t.elements[d?m:l],w=It(B(g)?g:g.contextElement||N(t.elements.popper),s,u),_=q(y),k=Qt({reference:_,element:b,strategy:"absolute",placement:r}),j=qt(Object.assign({},b,k)),x=l===pt?j:_,S={top:w.top-x.top+v.top,bottom:x.bottom-w.bottom+v.bottom,left:w.left-x.left+v.left,right:x.right-w.right+v.right},F=t.modifiersData.offset;if(l===pt&&F){var Q=F[r];Object.keys(S).forEach((function(t){var n=[at,st].indexOf(t)>=0?1:-1,e=[ot,st].indexOf(t)>=0?"y":"x";S[t]+=Q[e]*n}))}return S}function Ut(t,n,e){return At(t,Rt(n,e))}function Nt(t,n,e){return void 0===e&&(e={x:0,y:0}),{top:t.top-n.height-e.y,right:t.right-n.width+e.x,bottom:t.bottom-n.height+e.y,left:t.left-n.width-e.x}}function Vt(t){return[ot,at,st,ut].some((function(n){return t[n]>=0}))}var Zt=_t({defaultModifiers:[jt,Ot,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var n=t.state,e=t.options,i=e.gpuAcceleration,r=void 0===i||i,o=e.adaptive,s=void 0===o||o,a=e.roundOffsets,u=void 0===a||a,c={placement:xt(n.placement),popper:n.elements.popper,popperRect:n.rects.popper,gpuAcceleration:r};null!=n.modifiersData.popperOffsets&&(n.styles.popper=Object.assign({},n.styles.popper,$t(Object.assign({},c,{offsets:n.modifiersData.popperOffsets,position:n.options.strategy,adaptive:s,roundOffsets:u})))),null!=n.modifiersData.arrow&&(n.styles.arrow=Object.assign({},n.styles.arrow,$t(Object.assign({},c,{offsets:n.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-placement":n.placement})},data:{}},Ct,{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.offset,o=void 0===r?[0,0]:r,s=mt.reduce((function(t,e){return t[e]=function(t,n,e){var i=xt(t),r=[ut,ot].indexOf(i)>=0?-1:1,o="function"==typeof e?e(Object.assign({},n,{placement:t})):e,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[ut,at].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(e,n.rects,o),t}),{}),a=s[n.placement],u=a.x,c=a.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=u,n.modifiersData.popperOffsets.y+=c),n.modifiersData[i]=s}},{name:"flip",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name;if(!n.modifiersData[i]._skip){for(var r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0===s||s,u=e.fallbackPlacements,c=e.padding,l=e.boundary,f=e.rootBoundary,d=e.altBoundary,h=e.flipVariations,p=void 0===h||h,v=e.allowedAutoPlacements,m=n.options.placement,y=xt(m),b=u||(y===m||!p?[Tt(m)]:function(t){if(xt(t)===ct)return[];var n=Tt(t);return[Gt(t),n,Gt(n)]}(m)),g=[m].concat(b).reduce((function(t,e){return t.concat(xt(e)===ct?function(t,n){void 0===n&&(n={});var e=n,i=e.placement,r=e.boundary,o=e.rootBoundary,s=e.padding,a=e.flipVariations,u=e.allowedAutoPlacements,c=void 0===u?mt:u,l=St(i),f=l?a?vt:vt.filter((function(t){return St(t)===l})):lt,d=f.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=f);var h=d.reduce((function(n,e){return n[e]=Wt(t,{placement:e,boundary:r,rootBoundary:o,padding:s})[xt(e)],n}),{});return Object.keys(h).sort((function(t,n){return h[t]-h[n]}))}(n,{placement:e,boundary:l,rootBoundary:f,padding:c,flipVariations:p,allowedAutoPlacements:v}):e)}),[]),w=n.rects.reference,_=n.rects.popper,k=new Map,j=!0,x=g[0],S=0;S<g.length;S++){var F=g[S],Q=xt(F),O=St(F)===ft,A=[ot,st].indexOf(Q)>=0,R=A?"width":"height",z=Wt(n,{placement:F,boundary:l,rootBoundary:f,altBoundary:d,padding:c}),P=A?O?at:ut:O?st:ot;w[R]>_[R]&&(P=Tt(P));var $=Tt(P),C=[];if(o&&C.push(z[Q]<=0),a&&C.push(z[P]<=0,z[$]<=0),C.every((function(t){return t}))){x=F,j=!1;break}k.set(F,C)}if(j)for(var L=function(t){var n=g.find((function(n){var e=k.get(n);if(e)return e.slice(0,t).every((function(t){return t}))}));if(n)return x=n,"break"},T=p?3:1;T>0;T--){if("break"===L(T))break}n.placement!==x&&(n.modifiersData[i]._skip=!0,n.placement=x,n.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var n=t.state,e=t.options,i=t.name,r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0!==s&&s,u=e.boundary,c=e.rootBoundary,l=e.altBoundary,f=e.padding,d=e.tether,h=void 0===d||d,p=e.tetherOffset,v=void 0===p?0:p,m=Wt(n,{boundary:u,rootBoundary:c,padding:f,altBoundary:l}),y=xt(n.placement),b=St(n.placement),g=!b,w=Ft(y),_="x"===w?"y":"x",k=n.modifiersData.popperOffsets,j=n.rects.reference,x=n.rects.popper,S="function"==typeof v?v(Object.assign({},n.rects,{placement:n.placement})):v,F={x:0,y:0};if(k){if(o||a){var Q="y"===w?ot:ut,O="y"===w?st:at,A="y"===w?"height":"width",R=k[w],z=k[w]+m[Q],P=k[w]-m[O],$=h?-x[A]/2:0,C=b===ft?j[A]:x[A],L=b===ft?-x[A]:-j[A],T=n.elements.arrow,E=h&&T?Y(T):{width:0,height:0},G=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},M=G[Q],q=G[O],D=Ut(0,j[A],E[A]),I=g?j[A]/2-$-D-M-S:C-D-M-S,B=g?-j[A]/2+$+D+q+S:L+D+q+S,H=n.elements.arrow&&rt(n.elements.arrow),W=H?"y"===w?H.clientTop||0:H.clientLeft||0:0,U=n.modifiersData.offset?n.modifiersData.offset[n.placement][w]:0,N=k[w]+I-U-W,V=k[w]+B-U;if(o){var Z=Ut(h?Rt(z,N):z,R,h?At(P,V):P);k[w]=Z,F[w]=Z-R}if(a){var K="x"===w?ot:ut,X="x"===w?st:at,J=k[_],tt=J+m[K],nt=J-m[X],et=Ut(h?Rt(tt,N):tt,J,h?At(nt,V):nt);k[_]=et,F[_]=et-J}}n.modifiersData[i]=F}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(t){var n,e=t.state,i=t.name,r=t.options,o=e.elements.arrow,s=e.modifiersData.popperOffsets,a=xt(e.placement),u=Ft(a),c=[ut,at].indexOf(a)>=0?"height":"width";if(o&&s){var l=function(t,n){return Bt("number"!=typeof(t="function"==typeof t?t(Object.assign({},n.rects,{placement:n.placement})):t)?t:Ht(t,lt))}(r.padding,e),f=Y(o),d="y"===u?ot:ut,h="y"===u?st:at,p=e.rects.reference[c]+e.rects.reference[u]-s[u]-e.rects.popper[c],v=s[u]-e.rects.reference[u],m=rt(o),y=m?"y"===u?m.clientHeight||0:m.clientWidth||0:0,b=p/2-v/2,g=l[d],w=y-f[c]-l[h],_=y/2-f[c]/2+b,k=Ut(g,_,w),j=u;e.modifiersData[i]=((n={})[j]=k,n.centerOffset=k-_,n)}},effect:function(t){var n=t.state,e=t.options.element,i=void 0===e?"[data-popper-arrow]":e;null!=i&&("string"!=typeof i||(i=n.elements.popper.querySelector(i)))&&Mt(n.elements.popper,i)&&(n.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var n=t.state,e=t.name,i=n.rects.reference,r=n.rects.popper,o=n.modifiersData.preventOverflow,s=Wt(n,{elementContext:"reference"}),a=Wt(n,{altBoundary:!0}),u=Nt(s,i),c=Nt(a,r,o),l=Vt(u),f=Vt(c);n.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:f},n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":f})}}]}),Kt="tippy-content",Xt="tippy-backdrop",Yt="tippy-arrow",Jt="tippy-svg-arrow",tn={passive:!0,capture:!0};function nn(t,n,e){if(Array.isArray(t)){var i=t[n];return null==i?Array.isArray(e)?e[n]:e:i}return t}function en(t,n){var e={}.toString.call(t);return 0===e.indexOf("[object")&&e.indexOf(n+"]")>-1}function rn(t,n){return"function"==typeof t?t.apply(void 0,n):t}function on(t,n){return 0===n?t:function(i){clearTimeout(e),e=setTimeout((function(){t(i)}),n)};var e}function sn(t){return[].concat(t)}function an(t,n){-1===t.indexOf(n)&&t.push(n)}function un(t){return t.split("-")[0]}function cn(t){return[].slice.call(t)}function ln(){return document.createElement("div")}function fn(t){return["Element","Fragment"].some((function(n){return en(t,n)}))}function dn(t){return en(t,"MouseEvent")}function hn(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function pn(t){return fn(t)?[t]:function(t){return en(t,"NodeList")}(t)?cn(t):Array.isArray(t)?t:cn(document.querySelectorAll(t))}function vn(t,n){t.forEach((function(t){t&&(t.style.transitionDuration=n+"ms")}))}function mn(t,n){t.forEach((function(t){t&&t.setAttribute("data-state",n)}))}function yn(t){var n,e=sn(t)[0];return(null==e||null==(n=e.ownerDocument)?void 0:n.body)?e.ownerDocument:document}function bn(t,n,e){var i=n+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(n){t[i](n,e)}))}var gn={isTouch:!1},wn=0;function _n(){gn.isTouch||(gn.isTouch=!0,window.performance&&document.addEventListener("mousemove",kn))}function kn(){var t=performance.now();t-wn<20&&(gn.isTouch=!1,document.removeEventListener("mousemove",kn)),wn=t}function jn(){var t=document.activeElement;if(hn(t)){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var xn="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",Sn=/MSIE |Trident\//.test(xn);var Fn={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Qn=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Fn,{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),On=Object.keys(Qn);function An(t){var n=(t.plugins||[]).reduce((function(n,e){var i=e.name,r=e.defaultValue;return i&&(n[i]=void 0!==t[i]?t[i]:r),n}),{});return Object.assign({},t,{},n)}function Rn(t,n){var e=Object.assign({},n,{content:rn(n.content,[t])},n.ignoreAttributes?{}:function(t,n){return(n?Object.keys(An(Object.assign({},Qn,{plugins:n}))):On).reduce((function(n,e){var i=(t.getAttribute("data-tippy-"+e)||"").trim();if(!i)return n;if("content"===e)n[e]=i;else try{n[e]=JSON.parse(i)}catch(t){n[e]=i}return n}),{})}(t,n.plugins));return e.aria=Object.assign({},Qn.aria,{},e.aria),e.aria={expanded:"auto"===e.aria.expanded?n.interactive:e.aria.expanded,content:"auto"===e.aria.content?n.interactive?null:"describedby":e.aria.content},e}function zn(t,n){t.innerHTML=n}function Pn(t){var n=ln();return!0===t?n.className=Yt:(n.className=Jt,fn(t)?n.appendChild(t):zn(n,t)),n}function $n(t,n){fn(n.content)?(zn(t,""),t.appendChild(n.content)):"function"!=typeof n.content&&(n.allowHTML?zn(t,n.content):t.textContent=n.content)}function Cn(t){var n=t.firstElementChild,e=cn(n.children);return{box:n,content:e.find((function(t){return t.classList.contains(Kt)})),arrow:e.find((function(t){return t.classList.contains(Yt)||t.classList.contains(Jt)})),backdrop:e.find((function(t){return t.classList.contains(Xt)}))}}function Ln(t){var n=ln(),e=ln();e.className="tippy-box",e.setAttribute("data-state","hidden"),e.setAttribute("tabindex","-1");var i=ln();function r(e,i){var r=Cn(n),o=r.box,s=r.content,a=r.arrow;i.theme?o.setAttribute("data-theme",i.theme):o.removeAttribute("data-theme"),"string"==typeof i.animation?o.setAttribute("data-animation",i.animation):o.removeAttribute("data-animation"),i.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth,i.role?o.setAttribute("role",i.role):o.removeAttribute("role"),e.content===i.content&&e.allowHTML===i.allowHTML||$n(s,t.props),i.arrow?a?e.arrow!==i.arrow&&(o.removeChild(a),o.appendChild(Pn(i.arrow))):o.appendChild(Pn(i.arrow)):a&&o.removeChild(a)}return i.className=Kt,i.setAttribute("data-state","hidden"),$n(i,t.props),n.appendChild(e),e.appendChild(i),r(t.props,t.props),{popper:n,onUpdate:r}}Ln.$$tippy=!0;var Tn=1,En=[],Gn=[];function Mn(t,n){var e,i,r,o,s,a,u,c,l,f=Rn(t,Object.assign({},Qn,{},An((e=n,Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{}))))),d=!1,h=!1,p=!1,v=!1,m=[],y=on(V,f.interactiveDebounce),b=Tn++,g=(l=f.plugins).filter((function(t,n){return l.indexOf(t)===n})),w={id:b,reference:t,popper:ln(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:g,clearDelayTimeouts:function(){clearTimeout(i),clearTimeout(r),cancelAnimationFrame(o)},setProps:function(n){0;if(w.state.isDestroyed)return;C("onBeforeUpdate",[w,n]),U();var e=w.props,i=Rn(t,Object.assign({},w.props,{},n,{ignoreAttributes:!0}));w.props=i,W(),e.interactiveDebounce!==i.interactiveDebounce&&(E(),y=on(V,i.interactiveDebounce));e.triggerTarget&&!i.triggerTarget?sn(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):i.triggerTarget&&t.removeAttribute("aria-expanded");T(),$(),j&&j(e,i);w.popperInstance&&(Y(),tt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));C("onAfterUpdate",[w,n])},setContent:function(t){w.setProps({content:t})},show:function(){0;var t=w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=gn.isTouch&&!w.props.touch,r=nn(w.props.duration,0,Qn.duration);if(t||n||e||i)return;if(A().hasAttribute("disabled"))return;if(C("onShow",[w],!1),!1===w.props.onShow(w))return;w.state.isVisible=!0,O()&&(k.style.visibility="visible");$(),D(),w.state.isMounted||(k.style.transition="none");if(O()){var o=z(),s=o.box,a=o.content;vn([s,a],0)}u=function(){var t;if(w.state.isVisible&&!v){if(v=!0,k.offsetHeight,k.style.transition=w.props.moveTransition,O()&&w.props.animation){var n=z(),e=n.box,i=n.content;vn([e,i],r),mn([e,i],"visible")}L(),T(),an(Gn,w),null==(t=w.popperInstance)||t.forceUpdate(),w.state.isMounted=!0,C("onMount",[w]),w.props.animation&&O()&&function(t,n){B(t,n)}(r,(function(){w.state.isShown=!0,C("onShown",[w])}))}},function(){var t,n=w.props.appendTo,e=A();t=w.props.interactive&&n===Qn.appendTo||"parent"===n?e.parentNode:rn(n,[e]);t.contains(k)||t.appendChild(k);Y(),!1}()},hide:function(){0;var t=!w.state.isVisible,n=w.state.isDestroyed,e=!w.state.isEnabled,i=nn(w.props.duration,1,Qn.duration);if(t||n||e)return;if(C("onHide",[w],!1),!1===w.props.onHide(w))return;w.state.isVisible=!1,w.state.isShown=!1,v=!1,d=!1,O()&&(k.style.visibility="hidden");if(E(),I(),$(),O()){var r=z(),o=r.box,s=r.content;w.props.animation&&(vn([o,s],i),mn([o,s],"hidden"))}L(),T(),w.props.animation?O()&&function(t,n){B(t,(function(){!w.state.isVisible&&k.parentNode&&k.parentNode.contains(k)&&n()}))}(i,w.unmount):w.unmount()},hideWithInteractivity:function(t){0;R().addEventListener("mousemove",y),an(En,y),y(t)},enable:function(){w.state.isEnabled=!0},disable:function(){w.hide(),w.state.isEnabled=!1},unmount:function(){0;w.state.isVisible&&w.hide();if(!w.state.isMounted)return;J(),tt().forEach((function(t){t._tippy.unmount()})),k.parentNode&&k.parentNode.removeChild(k);Gn=Gn.filter((function(t){return t!==w})),w.state.isMounted=!1,C("onHidden",[w])},destroy:function(){0;if(w.state.isDestroyed)return;w.clearDelayTimeouts(),w.unmount(),U(),delete t._tippy,w.state.isDestroyed=!0,C("onDestroy",[w])}};if(!f.render)return w;var _=f.render(w),k=_.popper,j=_.onUpdate;k.setAttribute("data-tippy-root",""),k.id="tippy-"+w.id,w.popper=k,t._tippy=w,k._tippy=w;var x=g.map((function(t){return t.fn(w)})),S=t.hasAttribute("aria-expanded");return W(),T(),$(),C("onCreate",[w]),f.showOnCreate&&nt(),k.addEventListener("mouseenter",(function(){w.props.interactive&&w.state.isVisible&&w.clearDelayTimeouts()})),k.addEventListener("mouseleave",(function(t){w.props.interactive&&w.props.trigger.indexOf("mouseenter")>=0&&(R().addEventListener("mousemove",y),y(t))})),w;function F(){var t=w.props.touch;return Array.isArray(t)?t:[t,0]}function Q(){return"hold"===F()[0]}function O(){var t;return!!(null==(t=w.props.render)?void 0:t.$$tippy)}function A(){return c||t}function R(){var t=A().parentNode;return t?yn(t):document}function z(){return Cn(k)}function P(t){return w.state.isMounted&&!w.state.isVisible||gn.isTouch||s&&"focus"===s.type?0:nn(w.props.delay,t?0:1,Qn.delay)}function $(){k.style.pointerEvents=w.props.interactive&&w.state.isVisible?"":"none",k.style.zIndex=""+w.props.zIndex}function C(t,n,e){var i;(void 0===e&&(e=!0),x.forEach((function(e){e[t]&&e[t].apply(void 0,n)})),e)&&(i=w.props)[t].apply(i,n)}function L(){var n=w.props.aria;if(n.content){var e="aria-"+n.content,i=k.id;sn(w.props.triggerTarget||t).forEach((function(t){var n=t.getAttribute(e);if(w.state.isVisible)t.setAttribute(e,n?n+" "+i:i);else{var r=n&&n.replace(i,"").trim();r?t.setAttribute(e,r):t.removeAttribute(e)}}))}}function T(){!S&&w.props.aria.expanded&&sn(w.props.triggerTarget||t).forEach((function(t){w.props.interactive?t.setAttribute("aria-expanded",w.state.isVisible&&t===A()?"true":"false"):t.removeAttribute("aria-expanded")}))}function E(){R().removeEventListener("mousemove",y),En=En.filter((function(t){return t!==y}))}function G(t){if(!(gn.isTouch&&(p||"mousedown"===t.type)||w.props.interactive&&k.contains(t.target))){if(A().contains(t.target)){if(gn.isTouch)return;if(w.state.isVisible&&w.props.trigger.indexOf("click")>=0)return}else C("onClickOutside",[w,t]);!0===w.props.hideOnClick&&(w.clearDelayTimeouts(),w.hide(),h=!0,setTimeout((function(){h=!1})),w.state.isMounted||I())}}function M(){p=!0}function q(){p=!1}function D(){var t=R();t.addEventListener("mousedown",G,!0),t.addEventListener("touchend",G,tn),t.addEventListener("touchstart",q,tn),t.addEventListener("touchmove",M,tn)}function I(){var t=R();t.removeEventListener("mousedown",G,!0),t.removeEventListener("touchend",G,tn),t.removeEventListener("touchstart",q,tn),t.removeEventListener("touchmove",M,tn)}function B(t,n){var e=z().box;function i(t){t.target===e&&(bn(e,"remove",i),n())}if(0===t)return n();bn(e,"remove",a),bn(e,"add",i),a=i}function H(n,e,i){void 0===i&&(i=!1),sn(w.props.triggerTarget||t).forEach((function(t){t.addEventListener(n,e,i),m.push({node:t,eventType:n,handler:e,options:i})}))}function W(){var t;Q()&&(H("touchstart",N,{passive:!0}),H("touchend",Z,{passive:!0})),(t=w.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(H(t,N),t){case"mouseenter":H("mouseleave",Z);break;case"focus":H(Sn?"focusout":"blur",K);break;case"focusin":H("focusout",K)}}))}function U(){m.forEach((function(t){var n=t.node,e=t.eventType,i=t.handler,r=t.options;n.removeEventListener(e,i,r)})),m=[]}function N(t){var n,e=!1;if(w.state.isEnabled&&!X(t)&&!h){var i="focus"===(null==(n=s)?void 0:n.type);s=t,c=t.currentTarget,T(),!w.state.isVisible&&dn(t)&&En.forEach((function(n){return n(t)})),"click"===t.type&&(w.props.trigger.indexOf("mouseenter")<0||d)&&!1!==w.props.hideOnClick&&w.state.isVisible?e=!0:nt(t),"click"===t.type&&(d=!e),e&&!i&&et(t)}}function V(t){var n=t.target,e=A().contains(n)||k.contains(n);"mousemove"===t.type&&e||function(t,n){var e=n.clientX,i=n.clientY;return t.every((function(t){var n=t.popperRect,r=t.popperState,o=t.props.interactiveBorder,s=un(r.placement),a=r.modifiersData.offset;if(!a)return!0;var u="bottom"===s?a.top.y:0,c="top"===s?a.bottom.y:0,l="right"===s?a.left.x:0,f="left"===s?a.right.x:0,d=n.top-i+u>o,h=i-n.bottom-c>o,p=n.left-e+l>o,v=e-n.right-f>o;return d||h||p||v}))}(tt().concat(k).map((function(t){var n,e=null==(n=t._tippy.popperInstance)?void 0:n.state;return e?{popperRect:t.getBoundingClientRect(),popperState:e,props:f}:null})).filter(Boolean),t)&&(E(),et(t))}function Z(t){X(t)||w.props.trigger.indexOf("click")>=0&&d||(w.props.interactive?w.hideWithInteractivity(t):et(t))}function K(t){w.props.trigger.indexOf("focusin")<0&&t.target!==A()||w.props.interactive&&t.relatedTarget&&k.contains(t.relatedTarget)||et(t)}function X(t){return!!gn.isTouch&&Q()!==t.type.indexOf("touch")>=0}function Y(){J();var n=w.props,e=n.popperOptions,i=n.placement,r=n.offset,o=n.getReferenceClientRect,s=n.moveTransition,a=O()?Cn(k).arrow:null,c=o?{getBoundingClientRect:o,contextElement:o.contextElement||A()}:t,l=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var n=t.state;if(O()){var e=z().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?e.setAttribute("data-placement",n.placement):n.attributes.popper["data-popper-"+t]?e.setAttribute("data-"+t,""):e.removeAttribute("data-"+t)})),n.attributes.popper={}}}}];O()&&a&&l.push({name:"arrow",options:{element:a,padding:3}}),l.push.apply(l,(null==e?void 0:e.modifiers)||[]),w.popperInstance=Zt(c,k,Object.assign({},e,{placement:i,onFirstUpdate:u,modifiers:l}))}function J(){w.popperInstance&&(w.popperInstance.destroy(),w.popperInstance=null)}function tt(){return cn(k.querySelectorAll("[data-tippy-root]"))}function nt(t){w.clearDelayTimeouts(),t&&C("onTrigger",[w,t]),D();var n=P(!0),e=F(),r=e[0],o=e[1];gn.isTouch&&"hold"===r&&o&&(n=o),n?i=setTimeout((function(){w.show()}),n):w.show()}function et(t){if(w.clearDelayTimeouts(),C("onUntrigger",[w,t]),w.state.isVisible){if(!(w.props.trigger.indexOf("mouseenter")>=0&&w.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&d)){var n=P(!1);n?r=setTimeout((function(){w.state.isVisible&&w.hide()}),n):o=requestAnimationFrame((function(){w.hide()}))}}else I()}}function qn(t,n){void 0===n&&(n={});var e=Qn.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",_n,tn),window.addEventListener("blur",jn);var i=Object.assign({},n,{plugins:e}),r=pn(t).reduce((function(t,n){var e=n&&Mn(n,i);return e&&t.push(e),t}),[]);return fn(t)?r[0]:r}qn.defaultProps=Qn,qn.setDefaultProps=function(t){Object.keys(t).forEach((function(n){Qn[n]=t[n]}))},qn.currentInput=gn;Object.assign({},Ct,{effect:function(t){var n=t.state,e={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,e.popper),n.styles=e,n.elements.arrow&&Object.assign(n.elements.arrow.style,e.arrow)}});var Dn={clientX:0,clientY:0},In=[];function Bn(t){var n=t.clientX,e=t.clientY;Dn={clientX:n,clientY:e}}var Hn={name:"followCursor",defaultValue:!1,fn:function(t){var n=t.reference,e=yn(t.props.triggerTarget||n),i=!1,r=!1,o=!0,s=t.props;function a(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){e.addEventListener("mousemove",f)}function c(){e.removeEventListener("mousemove",f)}function l(){i=!0,t.setProps({getReferenceClientRect:null}),i=!1}function f(e){var i=!e.target||n.contains(e.target),r=t.props.followCursor,o=e.clientX,s=e.clientY,a=n.getBoundingClientRect(),u=o-a.left,c=s-a.top;!i&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=n.getBoundingClientRect(),e=o,i=s;"initial"===r&&(e=t.left+u,i=t.top+c);var a="horizontal"===r?t.top:i,l="vertical"===r?t.right:e,f="horizontal"===r?t.bottom:i,d="vertical"===r?t.left:e;return{width:l-d,height:f-a,top:a,right:l,bottom:f,left:d}}})}function d(){t.props.followCursor&&(In.push({instance:t,doc:e}),function(t){t.addEventListener("mousemove",Bn)}(e))}function h(){0===(In=In.filter((function(n){return n.instance!==t}))).filter((function(t){return t.doc===e})).length&&function(t){t.removeEventListener("mousemove",Bn)}(e)}return{onCreate:d,onDestroy:h,onBeforeUpdate:function(){s=t.props},onAfterUpdate:function(n,e){var o=e.followCursor;i||void 0!==o&&s.followCursor!==o&&(h(),o?(d(),!t.state.isMounted||r||a()||u()):(c(),l()))},onMount:function(){t.props.followCursor&&!r&&(o&&(f(Dn),o=!1),a()||u())},onTrigger:function(t,n){dn(n)&&(Dn={clientX:n.clientX,clientY:n.clientY}),r="focus"===n.type},onHidden:function(){t.props.followCursor&&(l(),c(),o=!0)}}}};qn.setDefaultProps({render:Ln});var Wn=qn;GLSR.autosize=s(),GLSR.keys={ALT:18,DOWN:40,ENTER:13,ESC:27,SPACE:32,UP:38},GLSR.Tippy={tippy:Wn,plugins:{followCursor:Hn}},jQuery((function(t){w().highlightAll(),GLSR.notices=new p,GLSR.shortcode=new Q(".glsr-mce"),GLSR.stars=new(A())("select.glsr-star-rating",{tooltip:!1}),GLSR.Tippy.tippy(".glsr-tooltip",{appendTo:function(){return document.body}}),u(),new l("form.glsr-form"),new d,new m,new b,new j("#glsr-search-posts",{action:"search-posts",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.et.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-posts"),r={id:e.data("id"),name:"post_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.et.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.nt()}this.options.searchEl.focus()}}),new j("#glsr-search-users",{action:"search-users",onInit:function(){this.el.find(".glsr-remove-button").on("click",this.et.bind(this))},onResultClick:function(n){var e=t(n.currentTarget),i=wp.template("glsr-assigned-users"),r={id:e.data("id"),name:"user_ids[]",url:e.data("url"),title:e.text()};if(i){var o=t(i(r));o.find(".glsr-remove-button").on("click",this.et.bind(this)),this.el.find(".glsr-selected-entries").append(o),this.nt()}this.options.searchEl.focus()}}),new j("#glsr-search-translations",{action:"search-translations",onInit:function(){this.Y()},onResultClick:function(n){var e=t(n.currentTarget),i=e.data("entry"),r=wp.template("glsr-string-"+(i.p1?"plural":"single"));i.index=this.options.entriesEl.children().length,i.prefix=this.options.resultsEl.data("prefix"),r&&(this.options.entriesEl.append(r(i)),this.options.exclude.push({id:i.id}),this.options.results=this.options.results.filter((function(t,n){return n!==e.get(0)}))),this.Z()}}),new z("a.glsr-toggle-status"),new S,new L,new E,new M,new $;var n=function(){this.dataset.glsrTrack=this.value};t("select[data-glsr-track]").each(n),t("select[data-glsr-track]").on("change",n),t(".glsr-card.postbox:not(.open)").addClass("closed").find(".glsr-accordion-trigger").attr("aria-expanded",!1).closest(".glsr-nav-view").addClass("collapsed"),t(".glsr-support-step").not(":checked").length<1&&t(".glsr-card-result").removeClass("hidden"),t(".glsr-support-step").on("change",(function(){var n=t(".glsr-support-step").not(":checked").length>0?"add":"remove";t(".glsr-card-result")[n+"Class"]("hidden")})),t(".glsr-card.postbox .glsr-card-heading").on("click",(function(){var n=t(this).parent(),e=n.closest(".glsr-nav-view"),i=n.hasClass("closed")?"remove":"add";n[i+"Class"]("closed").find(".glsr-accordion-trigger").attr("aria-expanded","add"!==i),i=e.find(".glsr-card.postbox").not(".closed").length>0?"remove":"add",e[i+"Class"]("collapsed")}))}))}()}();
|
assets/scripts/site-reviews-blocks.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
/*! For license information please see site-reviews-blocks.js.LICENSE.txt */
|
2 |
-
!function(){var e={7228:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}},2858:function(e){e.exports=function(e){if(Array.isArray(e))return e}},7154:function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},t.apply(this,arguments)}e.exports=t},3884:function(e){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],i=!0,s=!1,r=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(s)throw r}}return n}}},521:function(e){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},6479:function(e,t,n){var i=n(7316);e.exports=function(e,t){if(null==e)return{};var n,s,r=i(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}},7316:function(e){e.exports=function(e,t){if(null==e)return{};var n,i,s={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(s[n]=e[n]);return s}},3038:function(e,t,n){var i=n(2858),s=n(3884),r=n(379),a=n(521);e.exports=function(e,t){return i(e)||s(e,t)||r(e,t)||a()}},379:function(e,t,n){var i=n(7228);e.exports=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}},2408:function(e,t,n){"use strict";var i=n(9424),s="function"==typeof Symbol&&Symbol.for,r=s?Symbol.for("react.element"):60103,a=s?Symbol.for("react.portal"):60106,o=s?Symbol.for("react.fragment"):60107,l=s?Symbol.for("react.strict_mode"):60108,u=s?Symbol.for("react.profiler"):60114,c=s?Symbol.for("react.provider"):60109,d=s?Symbol.for("react.context"):60110,p=s?Symbol.for("react.forward_ref"):60112,m=s?Symbol.for("react.suspense"):60113,v=s?Symbol.for("react.memo"):60115,f=s?Symbol.for("react.lazy"):60116,g="function"==typeof Symbol&&Symbol.iterator;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w={};function b(e,t,n){this.props=e,this.context=t,this.refs=w,this.updater=n||h}function x(){}function _(e,t,n){this.props=e,this.context=t,this.refs=w,this.updater=n||h}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(y(85));this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},x.prototype=b.prototype;var S=_.prototype=new x;S.constructor=_,i(S,b.prototype),S.isPureReactComponent=!0;var j={current:null},C=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function R(e,t,n){var i,s={},a=null,o=null;if(null!=t)for(i in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(a=""+t.key),t)C.call(t,i)&&!k.hasOwnProperty(i)&&(s[i]=t[i]);var l=arguments.length-2;if(1===l)s.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];s.children=u}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===s[i]&&(s[i]=l[i]);return{$$typeof:r,type:e,key:a,ref:o,props:s,_owner:j.current}}function O(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var I=/\/+/g,L=[];function A(e,t,n,i){if(L.length){var s=L.pop();return s.result=e,s.keyPrefix=t,s.func=n,s.context=i,s.count=0,s}return{result:e,keyPrefix:t,func:n,context:i,count:0}}function D(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>L.length&&L.push(e)}function E(e,t,n,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var o=!1;if(null===e)o=!0;else switch(s){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case r:case a:o=!0}}if(o)return n(i,e,""===t?"."+G(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;l<e.length;l++){var u=t+G(s=e[l],l);o+=E(s,u,n,i)}else if(null===e||"object"!=typeof e?u=null:u="function"==typeof(u=g&&e[g]||e["@@iterator"])?u:null,"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)o+=E(s=s.value,u=t+G(s,l++),n,i);else if("object"===s)throw n=""+e,Error(y(31,"[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n,""));return o}function P(e,t,n){return null==e?0:E(e,"",t,n)}function G(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function N(e,t){e.func.call(e.context,t,e.count++)}function M(e,t,n){var i=e.result,s=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?z(e,i,n,(function(e){return e})):null!=e&&(O(e)&&(e=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,s+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+n)),i.push(e))}function z(e,t,n,i,s){var r="";null!=n&&(r=(""+n).replace(I,"$&/")+"/"),P(e,M,t=A(t,r,i,s)),D(t)}var U={current:null};function $(){var e=U.current;if(null===e)throw Error(y(321));return e}t.createElement=R},7294:function(e,t,n){"use strict";e.exports=n(2408)},9424:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var a,o,l=s(e),u=1;u<arguments.length;u++){for(var c in a=Object(arguments[u]))n.call(a,c)&&(l[c]=a[c]);if(t){o=t(a);for(var d=0;d<o.length;d++)i.call(a,o[d])&&(l[o[d]]=a[o[d]])}}return l}}},t={};function n(i){if(t[i])return t[i].exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=n(7294),t=n(3038),i=n.n(t),s=wp.components.CheckboxControl,r=wp.element.useState,a=function(t,n,a){var o=[];return jQuery.each(t,(function(t,l){var u=r(!1),c=i()(u,2),d=c[0],p=c[1],m=n.split(",").indexOf(t)>-1;o.push((0,e.createElement)(s,{key:"hide-".concat(t),className:"glsr-checkbox-control",checked:m||d,label:l,onChange:function(e){p(e),n=_.without(_.without(n.split(","),""),t),e&&n.push(t),a({hide:n.toString()})}}))})),o},o=(0,e.createElement)("svg",{width:"22px",height:"22px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("path",{d:"M11 2l-3 6-6 .75 4.13 4.62-1.13 6.63 6-3 6 3-1.12-6.63 4.12-4.62-6-.75-3-6zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15-4.68-2.34v-11.64zm8.28-.894v.963h-3.272v2.691h-1.017v-6.3h4.496v.963h-3.479v1.683h3.272z"})),l=(0,e.createElement)("svg",{width:"22px",height:"22px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("path",{d:"M11 2l-3 6-6 .75 4.13 4.62-1.13 6.63 6-3 6 3-1.12-6.63 4.12-4.62-6-.75-3-6zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15-4.68-2.34v-11.64zm3.681-3.54h2.592c1.449 0 2.232.648 2.232 1.823 0 1.071-.819 1.782-2.102 1.827l2.075 2.651h-1.26l-2.007-2.651h-.513v2.651h-1.017v-6.3zm2.565.954h-1.548v1.773h1.548c.819 0 1.202-.297 1.202-.905 0-.599-.405-.869-1.202-.869z"})),u=(0,e.createElement)("svg",{width:"22px",height:"22px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("path",{d:"M11 2l-3 6-6 .75 4.13 4.62-1.13 6.63 6-3 6 3-1.12-6.63 4.12-4.62-6-.75-3-6zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15-4.68-2.34v-11.64zm8.415-2.969l-.518.824c-.536-.342-1.13-.54-1.769-.54-.842 0-1.418.365-1.418.941 0 .522.491.725 1.31.842l.437.059c1.022.14 2.03.563 2.03 1.733 0 1.283-1.161 1.985-2.525 1.985-.855 0-1.881-.284-2.534-.846l.554-.81c.432.396 1.247.693 1.976.693.824 0 1.472-.351 1.472-.932 0-.495-.495-.725-1.418-.851l-.491-.068c-.936-.131-1.868-.572-1.868-1.742 0-1.265 1.121-1.967 2.484-1.967.918 0 1.643.257 2.277.68z"})),c=wp.i18n._x,d=[{label:"- "+c("Select","admin-text","site-reviews")+" -",value:""},{label:"- "+c("Select Multiple Post IDs","admin-text","site-reviews")+" -",value:"custom"},{label:c("Assign to the Current Page","admin-text","site-reviews"),value:"post_id"},{label:c("Assign to the Parent Page","admin-text","site-reviews"),value:"parent_id"}],p=wp.i18n._x,m=[],v={label:"- "+p("Select","admin-text","site-reviews")+" -",value:""},f={label:"- "+p("Select Multiple Categories","admin-text","site-reviews")+" -",value:"glsr_custom"};wp.apiFetch({path:"/site-reviews/v1/categories?per_page=50"}).then((function(e){m.push(v),m.push(f),jQuery.each(e,(function(e,t){m.push({label:"".concat(t.name," (").concat(t.slug,")"),value:t.id})}))}));var g=m,y=wp.i18n._x,h=[],w={label:"- "+y("Select","admin-text","site-reviews")+" -",value:""},b={label:"- "+y("Select Multiple Users","admin-text","site-reviews")+" -",value:"glsr_custom"};wp.apiFetch({path:"/wp/v2/users?per_page=50"}).then((function(e){h.push(w),h.push(b),jQuery.each(e,(function(e,t){h.push({label:t.name+" ("+t.slug+")",value:t.id})}))}));var x=h,S=n(7154),j=n.n(S),C=n(6479),k=n.n(C),R=(wp.i18n._x,wp.components),O=R.BaseControl,I=(R.TextControl,lodash.isEmpty),L=wp.compose.useInstanceId;function A(t){var n=t.children,i=t.custom_value,s=void 0===i?"custom":i,r=t.help,a=t.label,o=t.onChange,l=t.options,u=void 0===l?[]:l,c=t.className,d=t.hideLabelFromVision,p=(t.selectedValue,k()(t,["children","custom_value","help","label","onChange","options","className","hideLabelFromVision","selectedValue"])),m=L(A),v="inspector-select-control-".concat(m),f=p.value;return!I(u)&&(0,e.createElement)(O,{label:a,hideLabelFromVision:d,id:v,help:r,className:c},(0,e.createElement)("select",j()({id:v,className:"components-select-control__input",onChange:function(e){o(e.target.value)},"aria-describedby":r?"".concat(v,"__help"):void 0},p),u.map((function(t,n){return(0,e.createElement)("option",{key:"".concat(t.label,"-").concat(t.value,"-").concat(n),value:t.value,disabled:t.disabled},t.label)}))),s===f&&n)}var D=wp.i18n._x,E=wp.blocks.registerBlockType,P=wp.blockEditor,G=P.InspectorAdvancedControls,N=P.InspectorControls,M=wp.components,z=M.PanelBody,U=(M.SelectControl,M.TextControl),$=wp.serverSideRender,Q=GLSR.nameprefix+"/form",T=(E(Q,{attributes:{assign_to:{default:"",type:"string"},assigned_posts:{default:"",type:"string"},assigned_terms:{default:"",type:"string"},assigned_users:{default:"",type:"string"},category:{default:"",type:"string"},className:{default:"",type:"string"},hide:{default:"",type:"string"},id:{default:"",type:"string"},user:{default:"",type:"string"}},category:GLSR.nameprefix,description:D("Display a review form.","admin-text","site-reviews"),edit:function(t){var n=t.attributes,i=n.assign_to,s=n.assigned_posts,r=n.assigned_terms,o=n.assigned_users,l=n.category,u=n.hide,c=n.id,p=n.user,m=(t.className,t.setAttributes),v={assign_to:(0,e.createElement)(A,{key:"assigned_posts",label:D("Assign Reviews to a Post ID","admin-text","site-reviews"),onChange:function(e){return m({assign_to:e,assigned_posts:"custom"===e?s:""})},options:d,value:i},(0,e.createElement)(U,{className:"glsr-base-conditional-control",help:D("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return m({assigned_posts:e})},placeholder:D("Enter the Post IDs","admin-text","site-reviews"),type:"text",value:s})),category:(0,e.createElement)(A,{key:"assigned_terms",custom_value:"glsr_custom",label:D("Assign Reviews to a Category","admin-text","site-reviews"),onChange:function(e){return m({category:e,assigned_terms:"glsr_custom"===e?r:""})},options:g,value:l},(0,e.createElement)(U,{className:"glsr-base-conditional-control",help:D("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return m({assigned_terms:e})},placeholder:D("Enter the Category IDs or slugs","admin-text","site-reviews"),type:"text",value:r})),user:(0,e.createElement)(A,{key:"assigned_users",custom_value:"glsr_custom",label:D("Assign Reviews to a User","admin-text","site-reviews"),onChange:function(e){return m({user:e,assigned_users:"glsr_custom"===e?o:""})},options:x,value:p},(0,e.createElement)(U,{className:"glsr-base-conditional-control",help:D("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return m({assigned_users:e})},placeholder:D("Enter the User IDs or usernames","admin-text","site-reviews"),type:"text",value:o})),hide:a(GLSR.hideoptions.site_reviews_form,u,m)},f={id:(0,e.createElement)(U,{label:D("Custom ID","admin-text","site-reviews"),onChange:function(e){return m({id:e})},value:c})};return[(0,e.createElement)(N,null,(0,e.createElement)(z,{title:D("Settings","admin-text","site-reviews")},Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".form.InspectorControls",v,t)))),(0,e.createElement)(G,null,Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".form.InspectorAdvancedControls",f,t))),(0,e.createElement)($,{block:Q,attributes:t.attributes})]},example:{},icon:{src:o},keywords:["reviews","form"],save:function(){return null},title:D("Submit a Review","admin-text","site-reviews")}),wp.i18n._x),q=[{label:"- "+T("Select","admin-text","site-reviews")+" -",value:""},{label:"- "+T("Select Multiple Post IDs","admin-text","site-reviews")+" -",value:"custom"},{label:T("Assigned to the Current Page","admin-text","site-reviews"),value:"post_id"},{label:T("Assigned to the Parent Page","admin-text","site-reviews"),value:"parent_id"}],B={label:"- "+(0,wp.i18n._x)("Select","admin-text","site-reviews")+" -",value:""},F=[];wp.apiFetch({path:"/site-reviews/v1/types?per_page=50"}).then((function(e){e.length<2||(F.push(B),jQuery.each(e,(function(e,t){F.push({label:t.name,value:t.id})})))}));var V=F,H=wp.i18n._x,J=wp.blocks.registerBlockType,K=wp.blockEditor,W=K.InspectorAdvancedControls,X=K.InspectorControls,Y=wp.components,Z=Y.PanelBody,ee=Y.RangeControl,te=Y.SelectControl,ne=Y.TextControl,ie=Y.ToggleControl,se=wp.serverSideRender,re=GLSR.nameprefix+"/reviews";wp.hooks.addFilter("blocks.getBlockAttributes",re,(function(e,t,n,i){return i&&i.count&&(e.display=i.count),e}));J(re,{attributes:{assigned_to:{default:"",type:"string"},assigned_posts:{default:"",type:"string"},assigned_terms:{default:"",type:"string"},assigned_users:{default:"",type:"string"},category:{default:"",type:"string"},className:{default:"",type:"string"},display:{default:5,type:"number"},hide:{default:"",type:"string"},id:{default:"",type:"string"},pagination:{default:"",type:"string"},post_id:{default:"",type:"string"},rating:{default:0,type:"number"},schema:{default:!1,type:"boolean"},type:{default:"local",type:"string"},user:{default:"",type:"string"}},category:GLSR.nameprefix,description:H("Display your most recent reviews.","admin-text","site-reviews"),edit:function(t){t.attributes.post_id=jQuery("#post_ID").val();var n=t.attributes,i=n.assigned_to,s=n.assigned_posts,r=n.assigned_terms,o=n.assigned_users,l=n.category,u=n.display,c=n.hide,d=n.id,p=n.pagination,m=n.rating,v=n.schema,f=n.type,y=n.user,h=(t.className,t.setAttributes),w={assigned_to:(0,e.createElement)(A,{key:"assigned_posts",label:H("Limit Reviews to an Assigned Post ID","admin-text","site-reviews"),onChange:function(e){return h({assigned_to:e,assigned_posts:"custom"===e?s:""})},options:q,value:i},(0,e.createElement)(ne,{className:"glsr-base-conditional-control",help:H("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return h({assigned_posts:e})},placeholder:H("Enter the Post IDs","admin-text","site-reviews"),type:"text",value:s})),category:(0,e.createElement)(A,{key:"assigned_terms",custom_value:"glsr_custom",label:H("Limit Reviews to an Assigned Category","admin-text","site-reviews"),onChange:function(e){return h({category:e,assigned_terms:"glsr_custom"===e?r:""})},options:g,value:l},(0,e.createElement)(ne,{className:"glsr-base-conditional-control",help:H("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return h({assigned_terms:e})},placeholder:H("Enter the Category IDs or slugs","admin-text","site-reviews"),type:"text",value:r})),user:(0,e.createElement)(A,{key:"assigned_users",custom_value:"glsr_custom",label:H("Limit Reviews to an Assigned User","admin-text","site-reviews"),onChange:function(e){return h({user:e,assigned_users:"glsr_custom"===e?o:""})},options:x,value:y},(0,e.createElement)(ne,{className:"glsr-base-conditional-control",help:H("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return h({assigned_users:e})},placeholder:H("Enter the User IDs or usernames","admin-text","site-reviews"),type:"text",value:o})),pagination:(0,e.createElement)(te,{key:"pagination",label:H("Enable Pagination","admin-text","site-reviews"),onChange:function(e){return h({pagination:e})},options:[{label:"- "+H("Select","admin-text","site-reviews")+" -",value:""},{label:H("Enabled","admin-text","site-reviews"),value:"true"},{label:H("Enabled (using ajax)","admin-text","site-reviews"),value:"ajax"}],value:p}),type:(0,e.createElement)(te,{key:"type",label:H("Limit the Type of Reviews","admin-text","site-reviews"),onChange:function(e){return h({type:e})},options:V,value:f}),display:(0,e.createElement)(ee,{key:"display",label:H("Reviews Per Page","admin-text","site-reviews"),min:1,max:50,onChange:function(e){return h({display:e})},value:u}),rating:(0,e.createElement)(ee,{key:"rating",label:H("Minimum Rating","admin-text","site-reviews"),min:0,max:GLSR.maxrating,onChange:function(e){return h({rating:e})},value:m}),schema:(0,e.createElement)(ie,{key:"schema",checked:v,help:H("The schema should only be enabled once per page.","admin-text","site-reviews"),label:H("Enable the schema?","admin-text","site-reviews"),onChange:function(e){return h({schema:e})}}),hide:a(GLSR.hideoptions.site_reviews,c,h)},b={id:(0,e.createElement)(ne,{label:H("Custom ID","admin-text","site-reviews"),onChange:function(e){return h({id:e})},value:d})};return[(0,e.createElement)(X,null,(0,e.createElement)(Z,{title:H("Settings","admin-text","site-reviews")},Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".reviews.InspectorControls",w,t)))),(0,e.createElement)(W,null,Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".reviews.InspectorAdvancedControls",b,t))),(0,e.createElement)(se,{block:re,attributes:t.attributes})]},example:{attributes:{display:2,pagination:"ajax",rating:0}},icon:{src:l},keywords:["reviews"],save:function(){return null},title:H("Latest Reviews","admin-text","site-reviews")});var ae=wp.i18n._x,oe=wp.blocks.registerBlockType,le=wp.blockEditor,ue=le.InspectorAdvancedControls,ce=le.InspectorControls,de=wp.components,pe=de.PanelBody,me=de.RangeControl,ve=de.SelectControl,fe=de.TextControl,ge=de.ToggleControl,ye=wp.serverSideRender,he=GLSR.nameprefix+"/summary";oe(he,{attributes:{assigned_to:{default:"",type:"string"},assigned_posts:{default:"",type:"string"},assigned_terms:{default:"",type:"string"},assigned_users:{default:"",type:"string"},category:{default:"",type:"string"},className:{default:"",type:"string"},hide:{default:"",type:"string"},post_id:{default:"",type:"string"},rating:{default:0,type:"number"},schema:{default:!1,type:"boolean"},type:{default:"local",type:"string"},user:{default:"",type:"string"}},category:GLSR.nameprefix,description:ae("Display a summary of your reviews.","admin-text","site-reviews"),edit:function(t){t.attributes.post_id=jQuery("#post_ID").val();var n=t.attributes,i=n.assigned_to,s=n.assigned_posts,r=n.assigned_terms,o=n.assigned_users,l=n.category,u=(n.display,n.hide),c=(n.id,n.pagination,n.rating),d=n.schema,p=n.type,m=n.user,v=(t.className,t.setAttributes),f={assigned_to:(0,e.createElement)(A,{key:"assigned_posts",label:ae("Limit Reviews to an Assigned Post ID","admin-text","site-reviews"),onChange:function(e){return v({assigned_to:e,assigned_posts:"custom"===e?s:""})},options:q,value:i},(0,e.createElement)(fe,{className:"glsr-base-conditional-control",help:ae("Separate multiple IDs with commas.","admin-text","site-reviews"),onChange:function(e){return v({assigned_posts:e})},placeholder:ae("Enter the Post IDs","admin-text","site-reviews"),type:"text",value:s})),category:(0,e.createElement)(A,{key:"assigned_terms",custom_value:"glsr_custom",label:ae("Limit Reviews to an Assigned Category","admin-text","site-reviews"),onChange:function(e){return v({category:e,assigned_terms:"glsr_custom"===e?r:""})},options:g,value:l},(0,e.createElement)(fe,{className:"glsr-base-conditional-control",help:ae("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return v({assigned_terms:e})},placeholder:ae("Enter the Category IDs or slugs","admin-text","site-reviews"),type:"text",value:r})),user:(0,e.createElement)(A,{key:"assigned_users",custom_value:"glsr_custom",label:ae("Limit Reviews to an Assigned User","admin-text","site-reviews"),onChange:function(e){return v({user:e,assigned_users:"glsr_custom"===e?o:""})},options:x,value:m},(0,e.createElement)(fe,{className:"glsr-base-conditional-control",help:ae("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return v({assigned_users:e})},placeholder:ae("Enter the User IDs or usernames","admin-text","site-reviews"),type:"text",value:o})),type:(0,e.createElement)(ve,{key:"type",label:ae("Limit the Type of Reviews","admin-text","site-reviews"),onChange:function(e){return v({type:e})},options:V,value:p}),rating:(0,e.createElement)(me,{key:"rating",label:ae("Minimum Rating","admin-text","site-reviews"),min:0,max:GLSR.maxrating,onChange:function(e){return v({rating:e})},value:c}),schema:(0,e.createElement)(ge,{key:"schema",checked:d,help:ae("The schema should only be enabled once per page.","admin-text","site-reviews"),label:ae("Enable the schema?","admin-text","site-reviews"),onChange:function(e){return v({schema:e})}}),hide:a(GLSR.hideoptions.site_reviews_summary,u,v)};return[(0,e.createElement)(ce,null,(0,e.createElement)(pe,{title:ae("Settings","admin-text","site-reviews")},Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".summary.InspectorControls",f,t)))),(0,e.createElement)(ue,null,Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".summary.InspectorAdvancedControls",{},t))),(0,e.createElement)(ye,{block:he,attributes:t.attributes})]},example:{},icon:{src:u},keywords:["reviews","summary"],save:function(){return null},title:ae("Summary","admin-text","site-reviews")})}()}();
|
1 |
/*! For license information please see site-reviews-blocks.js.LICENSE.txt */
|
2 |
+
!function(){"use strict";var e={90:function(e,t,n){var s=n(424),i="function"==typeof Symbol&&Symbol.for,r=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,o=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,d=i?Symbol.for("react.context"):60110,m=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,v=i?Symbol.for("react.memo"):60115,g=i?Symbol.for("react.lazy"):60116,f="function"==typeof Symbol&&Symbol.iterator;function w(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||y}function x(){}function _(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||y}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(w(85));this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},x.prototype=b.prototype;var S=_.prototype=new x;S.constructor=_,s(S,b.prototype),S.isPureReactComponent=!0;var C={current:null},j=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function R(e,t,n){var s,i={},a=null,o=null;if(null!=t)for(s in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(a=""+t.key),t)j.call(t,s)&&!k.hasOwnProperty(s)&&(i[s]=t[s]);var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];i.children=u}if(e&&e.defaultProps)for(s in l=e.defaultProps)void 0===i[s]&&(i[s]=l[s]);return{$$typeof:r,type:e,key:a,ref:o,props:i,_owner:C.current}}function L(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var I=/\/+/g,O=[];function A(e,t,n,s){if(O.length){var i=O.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=s,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:s,count:0}}function D(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>O.length&&O.push(e)}function E(e,t,n,s){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var o=!1;if(null===e)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case r:case a:o=!0}}if(o)return n(s,e,""===t?"."+G(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var l=0;l<e.length;l++){var u=t+G(i=e[l],l);o+=E(i,u,n,s)}else if(null===e||"object"!=typeof e?u=null:u="function"==typeof(u=f&&e[f]||e["@@iterator"])?u:null,"function"==typeof u)for(e=u.call(e),l=0;!(i=e.next()).done;)o+=E(i=i.value,u=t+G(i,l++),n,s);else if("object"===i)throw n=""+e,Error(w(31,"[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n,""));return o}function P(e,t,n){return null==e?0:E(e,"",t,n)}function G(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function N(e,t){e.func.call(e.context,t,e.count++)}function M(e,t,n){var s=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?z(e,s,n,(function(e){return e})):null!=e&&(L(e)&&(e=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+n)),s.push(e))}function z(e,t,n,s,i){var r="";null!=n&&(r=(""+n).replace(I,"$&/")+"/"),P(e,M,t=A(t,r,s,i)),D(t)}var U={current:null};function T(){var e=U.current;if(null===e)throw Error(w(321));return e}t.createElement=R},294:function(e,t,n){e.exports=n(90)},424:function(e){var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var s={};return"abcdefghijklmnopqrst".split("").forEach((function(e){s[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},s)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var a,o,l=i(e),u=1;u<arguments.length;u++){for(var c in a=Object(arguments[u]))n.call(a,c)&&(l[c]=a[c]);if(t){o=t(a);for(var d=0;d<o.length;d++)s.call(a,o[d])&&(l[o[d]]=a[o[d]])}}return l}}},t={};function n(s){var i=t[s];if(void 0!==i)return i.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,n),r.exports}!function(){var e=n(294);function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=new Array(t);n<t;n++)s[n]=e[n];return s}function s(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var s,i,r=[],a=!0,o=!1;try{for(n=n.call(e);!(a=(s=n.next()).done)&&(r.push(s.value),!t||r.length!==t);a=!0);}catch(e){o=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(o)throw i}}return r}}(e,n)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var s=Object.prototype.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?t(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var i=wp.components.CheckboxControl,r=wp.element.useState,a=function(t,n,a){var o=[];return jQuery.each(t,(function(t,l){var u=s(r(!1),2),c=u[0],d=u[1],m=n.split(",").indexOf(t)>-1;o.push((0,e.createElement)(i,{key:"hide-".concat(t),className:"glsr-checkbox-control",checked:m||c,label:l,onChange:function(e){d(e),n=_.without(_.without(n.split(","),""),t),e&&n.push(t),a({hide:n.toString()})}}))})),o},o=(0,e.createElement)("svg",{width:"22px",height:"22px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("path",{d:"M11 2l-3 6-6 .75 4.13 4.62-1.13 6.63 6-3 6 3-1.12-6.63 4.12-4.62-6-.75-3-6zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15-4.68-2.34v-11.64zm8.28-.894v.963h-3.272v2.691h-1.017v-6.3h4.496v.963h-3.479v1.683h3.272z"})),l=(0,e.createElement)("svg",{width:"22px",height:"22px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("path",{d:"M11 2l-3 6-6 .75 4.13 4.62-1.13 6.63 6-3 6 3-1.12-6.63 4.12-4.62-6-.75-3-6zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15-4.68-2.34v-11.64zm3.681-3.54h2.592c1.449 0 2.232.648 2.232 1.823 0 1.071-.819 1.782-2.102 1.827l2.075 2.651h-1.26l-2.007-2.651h-.513v2.651h-1.017v-6.3zm2.565.954h-1.548v1.773h1.548c.819 0 1.202-.297 1.202-.905 0-.599-.405-.869-1.202-.869z"})),u=(0,e.createElement)("svg",{width:"22px",height:"22px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("path",{d:"M11 2l-3 6-6 .75 4.13 4.62-1.13 6.63 6-3 6 3-1.12-6.63 4.12-4.62-6-.75-3-6zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15-4.68-2.34v-11.64zm8.415-2.969l-.518.824c-.536-.342-1.13-.54-1.769-.54-.842 0-1.418.365-1.418.941 0 .522.491.725 1.31.842l.437.059c1.022.14 2.03.563 2.03 1.733 0 1.283-1.161 1.985-2.525 1.985-.855 0-1.881-.284-2.534-.846l.554-.81c.432.396 1.247.693 1.976.693.824 0 1.472-.351 1.472-.932 0-.495-.495-.725-1.418-.851l-.491-.068c-.936-.131-1.868-.572-1.868-1.742 0-1.265 1.121-1.967 2.484-1.967.918 0 1.643.257 2.277.68z"})),c=wp.i18n._x,d=[{label:"- "+c("Select","admin-text","site-reviews")+" -",value:""},{label:"- "+c("Select Multiple Post IDs","admin-text","site-reviews")+" -",value:"custom"},{label:c("Assign to the Current Page","admin-text","site-reviews"),value:"post_id"},{label:c("Assign to the Parent Page","admin-text","site-reviews"),value:"parent_id"}],m=wp.i18n._x,p=[],v={label:"- "+m("Select","admin-text","site-reviews")+" -",value:""},g={label:"- "+m("Select Multiple Categories","admin-text","site-reviews")+" -",value:"glsr_custom"};wp.apiFetch({path:"/site-reviews/v1/categories?per_page=50"}).then((function(e){p.push(v),p.push(g),jQuery.each(e,(function(e,t){p.push({label:"".concat(t.name," (").concat(t.slug,")"),value:t.id})}))}));var f=p,w=wp.i18n._x,y=[],h={label:"- "+w("Select","admin-text","site-reviews")+" -",value:""},b={label:"- "+w("Select Multiple Users","admin-text","site-reviews")+" -",value:"glsr_custom"};wp.apiFetch({path:"/wp/v2/users?per_page=50"}).then((function(e){y.push(h),y.push(b),jQuery.each(e,(function(e,t){y.push({label:t.name+" ("+t.slug+")",value:t.id})}))}));var x=y;function S(){return(S=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e}).apply(this,arguments)}function C(e,t){if(null==e)return{};var n,s,i=function(e,t){if(null==e)return{};var n,s,i={},r=Object.keys(e);for(s=0;s<r.length;s++)n=r[s],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(s=0;s<r.length;s++)n=r[s],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}wp.i18n._x;var j=wp.components,k=j.BaseControl,R=(j.TextControl,lodash.isEmpty),L=wp.compose.useInstanceId;function I(t){var n=t.children,s=t.custom_value,i=void 0===s?"custom":s,r=t.help,a=t.label,o=t.onChange,l=t.options,u=void 0===l?[]:l,c=t.className,d=t.hideLabelFromVision,m=(t.selectedValue,C(t,["children","custom_value","help","label","onChange","options","className","hideLabelFromVision","selectedValue"])),p=L(I),v="inspector-select-control-".concat(p),g=m.value;return!R(u)&&(0,e.createElement)(k,{label:a,hideLabelFromVision:d,id:v,help:r,className:c},(0,e.createElement)("select",S({id:v,className:"components-select-control__input",onChange:function(e){o(e.target.value)},"aria-describedby":r?"".concat(v,"__help"):void 0},m),u.map((function(t,n){return(0,e.createElement)("option",{key:"".concat(t.label,"-").concat(t.value,"-").concat(n),value:t.value,disabled:t.disabled},t.label)}))),i===g&&n)}var O=wp.i18n._x,A=wp.blocks.registerBlockType,D=wp.blockEditor,E=D.InspectorAdvancedControls,P=D.InspectorControls,G=wp.components,N=G.PanelBody,M=(G.SelectControl,G.TextControl),z=wp.serverSideRender,U=GLSR.nameprefix+"/form",T=(A(U,{attributes:{assign_to:{default:"",type:"string"},assigned_posts:{default:"",type:"string"},assigned_terms:{default:"",type:"string"},assigned_users:{default:"",type:"string"},category:{default:"",type:"string"},className:{default:"",type:"string"},hide:{default:"",type:"string"},id:{default:"",type:"string"},user:{default:"",type:"string"}},category:GLSR.nameprefix,description:O("Display a review form.","admin-text","site-reviews"),edit:function(t){var n=t.attributes,s=n.assign_to,i=n.assigned_posts,r=n.assigned_terms,o=n.assigned_users,l=n.category,u=n.hide,c=n.id,m=n.user,p=(t.className,t.setAttributes),v={assign_to:(0,e.createElement)(I,{key:"assigned_posts",label:O("Assign Reviews to a Post ID","admin-text","site-reviews"),onChange:function(e){return p({assign_to:e,assigned_posts:"custom"===e?i:""})},options:d,value:s},(0,e.createElement)(M,{className:"glsr-base-conditional-control",help:O("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return p({assigned_posts:e})},placeholder:O("Enter the Post IDs","admin-text","site-reviews"),type:"text",value:i})),category:(0,e.createElement)(I,{key:"assigned_terms",custom_value:"glsr_custom",label:O("Assign Reviews to a Category","admin-text","site-reviews"),onChange:function(e){return p({category:e,assigned_terms:"glsr_custom"===e?r:""})},options:f,value:l},(0,e.createElement)(M,{className:"glsr-base-conditional-control",help:O("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return p({assigned_terms:e})},placeholder:O("Enter the Category IDs or slugs","admin-text","site-reviews"),type:"text",value:r})),user:(0,e.createElement)(I,{key:"assigned_users",custom_value:"glsr_custom",label:O("Assign Reviews to a User","admin-text","site-reviews"),onChange:function(e){return p({user:e,assigned_users:"glsr_custom"===e?o:""})},options:x,value:m},(0,e.createElement)(M,{className:"glsr-base-conditional-control",help:O("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return p({assigned_users:e})},placeholder:O("Enter the User IDs or usernames","admin-text","site-reviews"),type:"text",value:o})),hide:a(GLSR.hideoptions.site_reviews_form,u,p)},g={id:(0,e.createElement)(M,{label:O("Custom ID","admin-text","site-reviews"),onChange:function(e){return p({id:e})},value:c})};return[(0,e.createElement)(P,null,(0,e.createElement)(N,{title:O("Settings","admin-text","site-reviews")},Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".form.InspectorControls",v,t)))),(0,e.createElement)(E,null,Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".form.InspectorAdvancedControls",g,t))),(0,e.createElement)(z,{block:U,attributes:t.attributes})]},example:{},icon:{src:o},keywords:["reviews","form"],save:function(){return null},title:O("Submit a Review","admin-text","site-reviews")}),wp.i18n._x),$=[{label:"- "+T("Select","admin-text","site-reviews")+" -",value:""},{label:"- "+T("Select Multiple Post IDs","admin-text","site-reviews")+" -",value:"custom"},{label:T("Assigned to the Current Page","admin-text","site-reviews"),value:"post_id"},{label:T("Assigned to the Parent Page","admin-text","site-reviews"),value:"parent_id"}],Q=wp.i18n._x,q=[{label:"- "+Q("Select","admin-text","site-reviews")+" -",value:""},{label:Q("Terms were accepted","admin-text","site-reviews"),value:"true"},{label:Q("Terms were not accepted","admin-text","site-reviews"),value:"false"}],B={label:"- "+(0,wp.i18n._x)("Select","admin-text","site-reviews")+" -",value:""},F=[];wp.apiFetch({path:"/site-reviews/v1/types?per_page=50"}).then((function(e){e.length<2||(F.push(B),jQuery.each(e,(function(e,t){F.push({label:t.name,value:t.id})})))}));var V=F,H=wp.i18n._x,J=wp.blocks.registerBlockType,K=wp.blockEditor,W=K.InspectorAdvancedControls,X=K.InspectorControls,Y=wp.components,Z=Y.PanelBody,ee=Y.RangeControl,te=Y.SelectControl,ne=Y.TextControl,se=Y.ToggleControl,ie=wp.serverSideRender,re=GLSR.nameprefix+"/reviews";wp.hooks.addFilter("blocks.getBlockAttributes",re,(function(e,t,n,s){return s&&s.count&&(e.display=s.count),e}));J(re,{attributes:{assigned_to:{default:"",type:"string"},assigned_posts:{default:"",type:"string"},assigned_terms:{default:"",type:"string"},assigned_users:{default:"",type:"string"},category:{default:"",type:"string"},className:{default:"",type:"string"},display:{default:5,type:"number"},hide:{default:"",type:"string"},id:{default:"",type:"string"},pagination:{default:"",type:"string"},post_id:{default:"",type:"string"},rating:{default:0,type:"number"},schema:{default:!1,type:"boolean"},terms:{default:"",type:"string"},type:{default:"local",type:"string"},user:{default:"",type:"string"}},category:GLSR.nameprefix,description:H("Display your most recent reviews.","admin-text","site-reviews"),edit:function(t){t.attributes.post_id=jQuery("#post_ID").val();var n=t.attributes,s=n.assigned_to,i=n.assigned_posts,r=n.assigned_terms,o=n.assigned_users,l=n.category,u=n.display,c=n.hide,d=n.id,m=n.pagination,p=n.rating,v=n.schema,g=n.terms,w=n.type,y=n.user,h=(t.className,t.setAttributes),b={assigned_to:(0,e.createElement)(I,{key:"assigned_posts",label:H("Limit Reviews to an Assigned Post ID","admin-text","site-reviews"),onChange:function(e){return h({assigned_to:e,assigned_posts:"custom"===e?i:""})},options:$,value:s},(0,e.createElement)(ne,{className:"glsr-base-conditional-control",help:H("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return h({assigned_posts:e})},placeholder:H("Enter the Post IDs","admin-text","site-reviews"),type:"text",value:i})),category:(0,e.createElement)(I,{key:"assigned_terms",custom_value:"glsr_custom",label:H("Limit Reviews to an Assigned Category","admin-text","site-reviews"),onChange:function(e){return h({category:e,assigned_terms:"glsr_custom"===e?r:""})},options:f,value:l},(0,e.createElement)(ne,{className:"glsr-base-conditional-control",help:H("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return h({assigned_terms:e})},placeholder:H("Enter the Category IDs or slugs","admin-text","site-reviews"),type:"text",value:r})),user:(0,e.createElement)(I,{key:"assigned_users",custom_value:"glsr_custom",label:H("Limit Reviews to an Assigned User","admin-text","site-reviews"),onChange:function(e){return h({user:e,assigned_users:"glsr_custom"===e?o:""})},options:x,value:y},(0,e.createElement)(ne,{className:"glsr-base-conditional-control",help:H("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return h({assigned_users:e})},placeholder:H("Enter the User IDs or usernames","admin-text","site-reviews"),type:"text",value:o})),terms:(0,e.createElement)(te,{key:"terms",label:H("Limit Reviews to terms","admin-text","site-reviews"),onChange:function(e){return h({terms:e})},options:q,value:g}),pagination:(0,e.createElement)(te,{key:"pagination",label:H("Enable Pagination","admin-text","site-reviews"),onChange:function(e){return h({pagination:e})},options:[{label:"- "+H("Select","admin-text","site-reviews")+" -",value:""},{label:H("Enabled","admin-text","site-reviews"),value:"true"},{label:H("Enabled (using ajax)","admin-text","site-reviews"),value:"ajax"}],value:m}),type:(0,e.createElement)(te,{key:"type",label:H("Limit the Type of Reviews","admin-text","site-reviews"),onChange:function(e){return h({type:e})},options:V,value:w}),display:(0,e.createElement)(ee,{key:"display",label:H("Reviews Per Page","admin-text","site-reviews"),min:1,max:50,onChange:function(e){return h({display:e})},value:u}),rating:(0,e.createElement)(ee,{key:"rating",label:H("Minimum Rating","admin-text","site-reviews"),min:0,max:GLSR.maxrating,onChange:function(e){return h({rating:e})},value:p}),schema:(0,e.createElement)(se,{key:"schema",checked:v,help:H("The schema should only be enabled once per page.","admin-text","site-reviews"),label:H("Enable the schema?","admin-text","site-reviews"),onChange:function(e){return h({schema:e})}}),hide:a(GLSR.hideoptions.site_reviews,c,h)},_={id:(0,e.createElement)(ne,{label:H("Custom ID","admin-text","site-reviews"),onChange:function(e){return h({id:e})},value:d})};return[(0,e.createElement)(X,null,(0,e.createElement)(Z,{title:H("Settings","admin-text","site-reviews")},Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".reviews.InspectorControls",b,t)))),(0,e.createElement)(W,null,Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".reviews.InspectorAdvancedControls",_,t))),(0,e.createElement)(ie,{block:re,attributes:t.attributes})]},example:{attributes:{display:2,pagination:"ajax",rating:0}},icon:{src:l},keywords:["reviews"],save:function(){return null},title:H("Latest Reviews","admin-text","site-reviews")});var ae=wp.i18n._x,oe=wp.blocks.registerBlockType,le=wp.blockEditor,ue=le.InspectorAdvancedControls,ce=le.InspectorControls,de=wp.components,me=de.PanelBody,pe=de.RangeControl,ve=de.SelectControl,ge=de.TextControl,fe=de.ToggleControl,we=wp.serverSideRender,ye=GLSR.nameprefix+"/summary";oe(ye,{attributes:{assigned_to:{default:"",type:"string"},assigned_posts:{default:"",type:"string"},assigned_terms:{default:"",type:"string"},assigned_users:{default:"",type:"string"},category:{default:"",type:"string"},className:{default:"",type:"string"},hide:{default:"",type:"string"},post_id:{default:"",type:"string"},rating:{default:0,type:"number"},schema:{default:!1,type:"boolean"},terms:{default:"",type:"string"},type:{default:"local",type:"string"},user:{default:"",type:"string"}},category:GLSR.nameprefix,description:ae("Display a summary of your reviews.","admin-text","site-reviews"),edit:function(t){t.attributes.post_id=jQuery("#post_ID").val();var n=t.attributes,s=n.assigned_to,i=n.assigned_posts,r=n.assigned_terms,o=n.assigned_users,l=n.category,u=(n.display,n.hide),c=(n.id,n.pagination,n.rating),d=n.schema,m=n.terms,p=n.type,v=n.user,g=(t.className,t.setAttributes),w={assigned_to:(0,e.createElement)(I,{key:"assigned_posts",label:ae("Limit Reviews to an Assigned Post ID","admin-text","site-reviews"),onChange:function(e){return g({assigned_to:e,assigned_posts:"custom"===e?i:""})},options:$,value:s},(0,e.createElement)(ge,{className:"glsr-base-conditional-control",help:ae("Separate multiple IDs with commas.","admin-text","site-reviews"),onChange:function(e){return g({assigned_posts:e})},placeholder:ae("Enter the Post IDs","admin-text","site-reviews"),type:"text",value:i})),category:(0,e.createElement)(I,{key:"assigned_terms",custom_value:"glsr_custom",label:ae("Limit Reviews to an Assigned Category","admin-text","site-reviews"),onChange:function(e){return g({category:e,assigned_terms:"glsr_custom"===e?r:""})},options:f,value:l},(0,e.createElement)(ge,{className:"glsr-base-conditional-control",help:ae("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return g({assigned_terms:e})},placeholder:ae("Enter the Category IDs or slugs","admin-text","site-reviews"),type:"text",value:r})),user:(0,e.createElement)(I,{key:"assigned_users",custom_value:"glsr_custom",label:ae("Limit Reviews to an Assigned User","admin-text","site-reviews"),onChange:function(e){return g({user:e,assigned_users:"glsr_custom"===e?o:""})},options:x,value:v},(0,e.createElement)(ge,{className:"glsr-base-conditional-control",help:ae("Separate with commas.","admin-text","site-reviews"),onChange:function(e){return g({assigned_users:e})},placeholder:ae("Enter the User IDs or usernames","admin-text","site-reviews"),type:"text",value:o})),terms:(0,e.createElement)(ve,{key:"terms",label:ae("Limit Reviews to terms","admin-text","site-reviews"),onChange:function(e){return g({terms:e})},options:q,value:m}),type:(0,e.createElement)(ve,{key:"type",label:ae("Limit the Type of Reviews","admin-text","site-reviews"),onChange:function(e){return g({type:e})},options:V,value:p}),rating:(0,e.createElement)(pe,{key:"rating",label:ae("Minimum Rating","admin-text","site-reviews"),min:0,max:GLSR.maxrating,onChange:function(e){return g({rating:e})},value:c}),schema:(0,e.createElement)(fe,{key:"schema",checked:d,help:ae("The schema should only be enabled once per page.","admin-text","site-reviews"),label:ae("Enable the schema?","admin-text","site-reviews"),onChange:function(e){return g({schema:e})}}),hide:a(GLSR.hideoptions.site_reviews_summary,u,g)};return[(0,e.createElement)(ce,null,(0,e.createElement)(me,{title:ae("Settings","admin-text","site-reviews")},Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".summary.InspectorControls",w,t)))),(0,e.createElement)(ue,null,Object.values(wp.hooks.applyFilters(GLSR.nameprefix+".summary.InspectorAdvancedControls",{},t))),(0,e.createElement)(we,{block:ye,attributes:t.attributes})]},example:{},icon:{src:u},keywords:["reviews","summary"],save:function(){return null},title:ae("Summary","admin-text","site-reviews")})}()}();
|
assets/scripts/site-reviews.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(){var t={4575:function(t){t.exports=function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}},3913:function(t){function i(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}t.exports=function(t,n,e){return n&&i(t.prototype,n),e&&i(t,e),t}},8:function(t){function i(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=i=function(t){return typeof t}:t.exports=i=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(n)}t.exports=i},7401:function(t,i,n){"use strict";var e=n(8),s=n.n(e),o=function(){};o.prototype={get:function(t,i,n){this.t(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.i(n),this.xhr.send()},u:function(t){return"json"===this.xhr.responseType||!0===this.xhr.json?t({message:this.xhr.statusText},!1):"text"===this.xhr.responseType?t(this.xhr.statusText):void 0},h:function(t){if(0===this.xhr.status||this.xhr.status>=200&&this.xhr.status<300||304===this.xhr.status){if("json"===this.xhr.responseType)return t(this.xhr.response.data,this.xhr.response.success);if("text"===this.xhr.responseType)return t(this.xhr.responseText);if(!0===this.xhr.json){var i=JSON.parse(this.xhr.response);return t(i.data,i.success)}}else this.u(t)},isFileSupported:function(){var t=document.createElement("INPUT");return t.type="file","files"in t},isFormDataSupported:function(){return!!window.FormData},isUploadSupported:function(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)},post:function(t,i,n){this.t(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.i(n),this.xhr.send(this.l(t))},t:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.h.bind(this,t),this.xhr.onerror=this.u.bind(this,t)},v:function(t,i,n){return"object"!==s()(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(e){i.hasOwnProperty(e)&&(t=this.v(t,i[e],n?n[e]:e))}.bind(this)),t},l:function(t){var i=new FormData,n=Object.prototype.toString.call(t);return"[object FormData]"===n&&(i=t),"[object HTMLFormElement]"===n&&(i=new FormData(t)),"[object Object]"===n&&Object.keys(t).forEach((function(n){i.append(n,t[n])})),i.append("action",GLSR.action),i.append("_ajax_request",!0),i},i:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var r=o,u={},h=function(t,i){var n=u[t]||[],e=[];i&&[].forEach.call(n,(function(t){i!==t.fn&&i!==t.fn.once&&e.push(t)})),e.length?u[t]=e:delete u[t]},a=function(t,i,n){(u[t]||(u[t]=[])).push({fn:i,context:n})},c=function(t,i,n){var e=arguments,s=function s(){h(t,s),i.apply(n,e)};s.once=i,a(t,s,n)},f=function(t){var i=[].slice.call(arguments,1),n=(u[t]||[]).slice();[].forEach.call(n,(function(t){return t.fn.apply(t.context,i)}))},l={events:u,trigger:f,off:h,on:a,once:c},d=n(4575),v=n.n(d),m=n(3913),w=n.n(m),p={hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},g=function(){function t(i){var n=this;v()(this,t);var e=(i||document).querySelectorAll(p.hiddenTextSelector);[].forEach.call(e,(function(t){return n.init(t)})),GLSR.Event.trigger("site-reviews/excerpts/init",i)}return w()(t,[{key:"init",value:function(t){if(!t.parentNode.querySelector("."+p.readMoreClass)){var i=t.dataset.trigger,n=document.createElement("span"),e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=t.dataset.showMore,"excerpt"===i&&(e.addEventListener("click",this.onClick.bind(this)),e.setAttribute("data-text",t.dataset.showLess)),"modal"===i&&e.setAttribute("data-excerpt-trigger","glsr-modal"),n.setAttribute("class",p.readMoreClass),n.appendChild(e),t.parentNode.insertBefore(n,t.nextSibling)}}},{key:"onClick",value:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,e=i.dataset.text;n.classList.toggle(p.hiddenClass),n.classList.toggle(p.visibleClass),i.dataset.text=i.innerText,i.innerText=e}}]),t}(),y=g,b=function(t){this.Form=t,this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl=t.form.querySelector(".glsr-recaptcha-holder"),this.observer=new MutationObserver(function(t){var i=t.pop();i.target&&"visible"!==i.target.style.visibility&&(this.observer.disconnect(),setTimeout(function(){this.is_submitting||this.Form.p()}.bind(this),250))}.bind(this))};b.prototype={g:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},k:function(){if(-1!==this.id)return this.counter=0,this.S(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.L.call(this.Form,this.counter)}.bind(this),1e3)},S:function(t){var i=window.___grecaptcha_cfg.clients[t];for(var n in i)if(i.hasOwnProperty(n)&&"[object String]"===Object.prototype.toString.call(i[n])){var e=document.querySelector("iframe[name=c-"+i[n]+"]");if(e){this.observer.observe(e.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},R:function(){this.Form.form.onsubmit=null,this.g(),this._()},_:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this._();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.L.bind(this.Form,this.counter),"expired-callback":this.F.bind(this),isolated:!0},!0)}.bind(this),250)},F:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},L:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.G(),void this.form.submit();this.L(t)}};var k=b,S=n(9449),L=n.n(S),R=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},_=function(t){return"."+t.trim().split(" ").join(".")},x=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},E={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?x(this)<=parseInt(i):parseFloat(t)<=parseFloat(i))}},maxlength:{fn:function(t,i){return!t||t.length<=parseInt(i)}},min:{fn:function(t,i){return!t||("checkbox"===this.type?x(this)>=parseInt(i):parseFloat(t)>=parseFloat(i))}},minlength:{fn:function(t,i){return!t||t.length>=parseInt(i)}},number:{fn:function(t){return!t||!isNaN(parseFloat(t))},priority:2},required:{fn:function(t){return"radio"===this.type||"checkbox"===this.type?x(this):void 0!==t&&""!==t},priority:99,halt:!0}},F=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.validateEvent=this.T.bind(this)};F.prototype={j:["required","max","maxlength","min","minlength","pattern"],O:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.F();this.fields.length;){var t=this.fields.shift();this.M(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.O),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(_(t.config.field)).style.display&&t.fields.push(t.C(i))}))},A:function(t){t.addEventListener(this.D(t),this.validateEvent)},N:function(t,i,n){[].forEach.call(t,function(t){var e=t.name.replace("data-","");~this.j.indexOf(e)?this.q(i,n,e,t.value):"type"===t.name&&this.q(i,n,t.value)}.bind(this))},q:function(t,i,n,e){if(E[n]&&(E[n].name=n,t.push(E[n]),e)){var s=e.split(",");s.unshift(null),i[n]=s}},T:function(t){this.I(t.currentTarget)},M:function(t){t.removeEventListener(this.D(t),this.validateEvent)},F:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(_(this.config.field));R(this.fields[t].input,this.config.input_error,!1),R(this.fields[t].input,this.config.input_valid,!1),R(i,this.config.field_error,!1),R(i,this.config.field_valid,!1)}},D:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},C:function(t){var i={},n=[];return null!==t.offsetParent&&(this.N(t.attributes,n,i),this.P(n),this.A(t)),t.validation={form:this.form,input:t,params:i,validators:n}},H:function(t,i){var n=t.input.closest(_(this.config.field));if(R(t.input,this.config.input_error,i),R(t.input,this.config.input_valid,!i),n){R(n,this.config.field_error,i),R(n,this.config.field_valid,!i);var e=n.querySelector(_(this.config.field_message));e.innerHTML=i?t.errors.join("<br>"):"",e.style.display=i?"":"none"}},B:function(t,i){t.hasOwnProperty("validation")&&this.C(t),t.validation.errors=i},P:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},I:function(t){var i=!0,n=this.fields;for(var e in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(e)){var s=n[e];this.V(s)?this.H(s,!1):(i=!1,this.H(s,!0))}return i},V:function(t){var i=[],n=!0;for(var e in t.validators)if(t.validators.hasOwnProperty(e)){var s=t.validators[e],o=t.params[s.name]?t.params[s.name]:[];if(o[0]=t.input.value,!s.fn.apply(t.input,o)){n=!1;var r=this.strings[s.name];if(i.push(r.replace(/(\%s)/g,o[1])),!0===s.halt)break}}return t.errors=i,n}};var G=F,T=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.W.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new k(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.J(),this.validation=new G(t)};T.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.U(),this.validation.destroy()},destroyRecaptcha:function(){this.recaptcha.g()},destroyStarRatings:function(){this.stars&&this.stars.destroy()},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit),this.validation.init()},initRecaptcha:function(){this.recaptcha.R()},initStarRatings:function(){null!==this.stars?this.stars.rebuild():this.stars=new(L())(this.form.querySelectorAll(".glsr-field-rating select"),GLSR.stars)},G:function(){this.button.setAttribute("disabled","")},p:function(){this.button.removeAttribute("disabled")},X:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.F(),n&&(this.recaptcha.F(),this.form.reset()),this.K(t.errors),this.Y(t.message,n),this.p(),GLSR.Event.trigger("site-reviews/form/handle",t,this.form),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.k()},J:function(){var t=!0;return[].forEach.call(this.form.elements,(function(i){"file"===i.type&&(t=GLSR.ajax.isFileSupported()&&GLSR.ajax.isUploadSupported())})),t&&!this.form.classList.contains("no-ajax")},W:function(t){if(!this.validation.I())return t.preventDefault(),void this.Y(this.strings.errors,!1);this.U(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.L())},U:function(){R(this.form,this.config.form_error,!1),this.Y("",null),this.validation.F()},K:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,e=this.form.querySelector('[name="'+n+'"]');e&&(this.validation.B(e,t[i]),this.validation.H(e.validation,"add"))}},Y:function(t,i){var n=this.form.querySelector(_(this.config.form_message));null!==n&&(R(this.form,this.config.form_error,!1===i),R(n,this.config.form_message_failed,!1===i),R(n,this.config.form_message_success,!0===i),n.innerHTML=t)},L:function(t){GLSR.ajax.isFormDataSupported()?(this.G(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.X.bind(this))):this.Y(this.strings.unsupported,!1)}};var j=function(){for(;GLSR.forms.length;){(t=GLSR.forms.shift()).destroy()}var t,i,n;i=document.querySelectorAll("form.glsr-review-form");for(var e=0;e<i.length;e++)(n=i[e].querySelector("[type=submit]"))&&((t=new T(i[e],n)).init(),GLSR.forms.push(t))},O=j;function M(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var C=!1;if("undefined"!=typeof window){var A={get passive(){C=!0}};window.addEventListener("testPassive",null,A),window.removeEventListener("testPassive",null,A)}var D="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),N=[],q=!1,I=-1,P=void 0,H=void 0,B=function(t){return N.some((function(i){return!(!i.options.allowTouchMove||!i.options.allowTouchMove(t))}))},V=function(t){var i=t||window.event;return!!B(i.target)||(i.touches.length>1||(i.preventDefault&&i.preventDefault(),!1))},W=function(t){if(void 0===H){var i=!!t&&!0===t.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;i&&n>0&&(H=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===P&&(P=document.body.style.overflow,document.body.style.overflow="hidden")},J=function(){void 0!==H&&(document.body.style.paddingRight=H,H=void 0),void 0!==P&&(document.body.style.overflow=P,P=void 0)},U=function(t){return!!t&&t.scrollHeight-t.scrollTop<=t.clientHeight},X=function(t,i){var n=t.targetTouches[0].clientY-I;return!B(t.target)&&(i&&0===i.scrollTop&&n>0||U(i)&&n<0?V(t):(t.stopPropagation(),!0))},K=function(t,i){if(t&&!N.some((function(i){return i.targetElement===t}))){var n={targetElement:t,options:i||{}};N=[].concat(M(N),[n]),D?(t.ontouchstart=function(t){1===t.targetTouches.length&&(I=t.targetTouches[0].clientY)},t.ontouchmove=function(i){1===i.targetTouches.length&&X(i,t)},q||(document.addEventListener("touchmove",V,C?{passive:!1}:void 0),q=!0)):W(i)}},Y=function(){D?(N.forEach((function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null})),q&&(document.removeEventListener("touchmove",V,C?{passive:!1}:void 0),q=!1),I=-1):J(),N=[]},$=["[contenteditable]",'[tabindex]:not([tabindex^="-"])',"a[href]","button:not([disabled]):not([aria-hidden])",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])"],z=function(){function t(i){var n=i.closeTrigger,e=void 0===n?"data-glsr-close":n,s=i.onClose,o=void 0===s?function(){}:s,r=i.onOpen,u=void 0===r?function(){}:r,h=i.openClass,a=void 0===h?"is-open":h,c=i.openTrigger,f=void 0===c?"data-glsr-trigger":c,l=i.targetModalId,d=void 0===l?"glsr-modal":l,m=i.triggers,w=void 0===m?[]:m;v()(this,t),this.modal=document.getElementById(d),this.config={openTrigger:f,closeTrigger:e,openClass:a,onOpen:u,onClose:o},this.events={mouseup:this.onClick.bind(this),keydown:this.onKeydown.bind(this),touchstart:this.onClick.bind(this)},w.length>0&&this.registerTriggers(w)}return w()(t,[{key:"addEventListeners",value:function(){this.eventListener(this.modal,"add",["mouseup","touchstart"]),this.eventListener(document,"add",["keydown"])}},{key:"closeModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;i&&(i.preventDefault(),i.stopPropagation()),this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),Y(),this.activeElement&&this.activeElement.focus&&this.activeElement.focus();var n=function n(){t.modal.classList.remove(t.config.openClass),t.modal.removeEventListener("animationend",n,!1),t.config.onClose(t.modal,t.activeElement,i)};this.modal.addEventListener("animationend",n,!1)}},{key:"closeModalById",value:function(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}},{key:"eventListener",value:function(t,i,n){var e=this;n.forEach((function(n){return t[i+"EventListener"](n,e.events[n])}))}},{key:"getFocusableNodes",value:function(){var t=this.modal.querySelectorAll($);return Array.prototype.slice.call(t)}},{key:"onClick",value:function(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}},{key:"onKeydown",value:function(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}},{key:"openModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.activeElement=document.activeElement,i&&(i.preventDefault(),this.activeElement=i.currentTarget),this.config.onOpen(this.modal,this.activeElement,i),this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),K(this.modal.querySelector("[data-glsr-modal]")),this.addEventListeners();var n=function i(){t.modal.removeEventListener("animationend",i,!1),t.setFocusToFirstNode()};this.modal.addEventListener("animationend",n,!1)}},{key:"registerTriggers",value:function(t){var i=this;t.filter(Boolean).forEach((function(t){t.triggerModal&&t.removeEventListener("click",t.triggerModal),t.triggerModal=i.openModal.bind(i),t.addEventListener("click",t.triggerModal)}))}},{key:"removeEventListeners",value:function(){this.eventListener(this.modal,"remove",["mouseup","touchstart"]),this.eventListener(document,"remove",["keydown"])}},{key:"retainFocus",value:function(t){var i=this.getFocusableNodes();if(0!==i.length)if(i=i.filter((function(t){return null!==t.offsetParent})),this.modal.contains(document.activeElement)){var n=i.indexOf(document.activeElement);t.shiftKey&&0===n&&(i[i.length-1].focus(),t.preventDefault()),!t.shiftKey&&i.length>0&&n===i.length-1&&(i[0].focus(),t.preventDefault())}else i[0].focus()}},{key:"setFocusToFirstNode",value:function(){var t=this,i=this.getFocusableNodes();if(0!==i.length){var n=i.filter((function(i){return!i.hasAttribute(t.config.closeTrigger)}));n.length>0&&n[0].focus(),0===n.length&&i[0].focus()}}}]),t}(),Q={},Z=function(t){if(t)Q[t].closeModalById(t);else for(var i in Q)Q[i].closeModal()},tt=function(t,i){var n={};return t.forEach((function(t){var e=t.attributes[i].value;void 0===n[e]&&(n[e]=[]),n[e].push(t)})),n},it=function(t){var i=Object.assign({},{openTrigger:"data-glsr-trigger"},t),n=Array.prototype.slice.call(document.querySelectorAll("[".concat(i.openTrigger,"]"))),e=tt(n,i.openTrigger);return Object.keys(e).forEach((function(t){i.targetModalId=t,i.triggers=e[t],Q[t]=new z(i)})),Q},nt=function(t,i){var n=i||{};n.targetModalId=t,Q[t]&&Q[t].removeEventListeners(),Q[t]=new z(n),Q[t].openModal()},et={init:it,open:nt,close:Z},st={hideClass:"glsr-hide",linkSelector:"a.page-numbers",paginationSelector:".glsr-ajax-pagination",reviewsSelector:".glsr-reviews",scrollOffset:16,scrollTime:468},ot=function(){function t(i){v()(this,t),this.links=[],this.reviewsEl=i.querySelector(st.reviewsSelector),this.wrapperEl=i,this.init()}return w()(t,[{key:"init",value:function(){var t=this;this.links=this.wrapperEl.querySelectorAll("".concat(st.paginationSelector," ").concat(st.linkSelector)),this.links.length&&[].forEach.call(this.links,(function(i){i.dataset.ready||(i.addEventListener("click",t.onClick.bind(t,i)),i.dataset.ready=!0)}))}},{key:"onClick",value:function(t,i){var n=t.closest(st.paginationSelector);if(n){for(var e={},s=0,o=Object.keys(n.dataset);s<o.length;s++){var r=o[s],u=n.dataset[r];try{u=JSON.parse(u)}catch(t){}e["".concat(GLSR.nameprefix,"[atts][").concat(r,"]")]=u}e["".concat(GLSR.nameprefix,"[_action]")]="fetch-paged-reviews",e["".concat(GLSR.nameprefix,"[page]")]=i.currentTarget.dataset.page||"",e["".concat(GLSR.nameprefix,"[url]")]=i.currentTarget.href||"",this.wrapperEl.classList.add(st.hideClass),i.preventDefault(),GLSR.ajax.post(e,this.handleResponse.bind(this,i.currentTarget.href))}}},{key:"handleResponse",value:function(t,i,n){n?([].forEach.call(this.wrapperEl.querySelectorAll(st.paginationSelector),(function(t){t.innerHTML=i.pagination})),this.reviewsEl.innerHTML=i.reviews,this.scrollToTop(),this.init(),this.wrapperEl.classList.remove(st.hideClass),GLSR.urlparameter&&window.history.pushState(null,"",t),new y(this.reviewsEl),GLSR.Event.trigger("site-reviews/pagination/handle",i,this)):window.location=t}},{key:"scrollToTop",value:function(){var t=st.scrollOffset;[].forEach.call(GLSR.ajaxpagination,(function(i){var n=document.querySelector(i);n&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(t+=n.clientHeight)}));var i=this.reviewsEl.getBoundingClientRect().top-t;i>0||this.scrollStep({endY:i,offset:window.pageYOffset,startTime:window.performance.now(),startY:this.reviewsEl.scrollTop})}},{key:"scrollStep",value:function(t){var i=Math.min(1,(window.performance.now()-t.startTime)/st.scrollTime),n=.5*(1-Math.cos(Math.PI*i)),e=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+e),e!==t.endY&&window.requestAnimationFrame(this.scrollStep.bind(this,t))}}]),t}(),rt=function(){[].forEach.call(document.querySelectorAll(st.paginationSelector),(function(t){var i=t.closest(".glsr");i&&new ot(i)}))},ut=function(){var t="glsr-modal__content",i="glsr-modal__review";window.GLSR.Modal.init({onClose:function(n,e,s){n.querySelector("."+t).innerHTML="",n.classList.remove(i),GLSR.Event.trigger("site-reviews/modal/close",n,e,s)},onOpen:function(n,e,s){var o=e.closest(".glsr").cloneNode(!0),r=e.closest(".glsr-review").cloneNode(!0);o.innerHTML="",o.appendChild(r),n.querySelector("."+t).appendChild(o),n.classList.add(i),GLSR.Event.trigger("site-reviews/modal/open",n,e,s)},openTrigger:"data-excerpt-trigger"})},ht=function(){[].forEach.call(document.querySelectorAll(".glsr"),(function(t){var i="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(i)})),new y,new O,rt()};window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new r,window.GLSR.forms=[],window.GLSR.Event=l,window.GLSR.Forms=O,window.GLSR.Modal=et,l.on("site-reviews/init",ht),l.on("site-reviews/excerpts/init",ut),document.addEventListener("DOMContentLoaded",(function(){l.trigger("site-reviews/init")}))},113:function(){},4030:function(){},6966:function(){},83:function(){},7649:function(){},3408:function(){},529:function(){},2275:function(){},2872:function(){},8865:function(){},4835:function(){},6786:function(){},1045:function(){},3622:function(){},2688:function(){},8340:function(){},3961:function(){},853:function(){},1273:function(){},5651:function(){},7730:function(){},3382:function(){},4747:function(){},4605:function(){},3963:function(){},5406:function(){},6829:function(){},6273:function(){},4518:function(){},6963:function(){},9449:function(t){"use strict";function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function n(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function e(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}var s={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},o=function(t,i,n){t.classList[i?"add":"remove"](n)},r=function(t){var i=document.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},u=function(t,i,n){var e=r(n);return t.parentNode.insertBefore(e,i?t.nextSibling:t),e},h=function t(){for(var i=arguments.length,n=new Array(i),e=0;e<i;e++)n[e]=arguments[e];var s={};return n.forEach((function(i){Object.keys(i||{}).forEach((function(e){if(void 0!==n[0][e]){var o=i[e];"Object"!==a(o)||"Object"!==a(s[e])?s[e]=o:s[e]=t(s[e],o)}}))})),s},a=function(t){return{}.toString.call(t).slice(8,-1)},c=function(){function t(n,e){var s,o;i(this,t),this.direction=window.getComputedStyle(n,null).getPropertyValue("direction"),this.el=n,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=e,this.tick=null,this.ticking=!1,this.values=function(t){var i=[];return[].forEach.call(t.options,(function(t){var n=parseInt(t.value,10)||0;n>0&&i.push({index:t.index,text:t.text,value:n})})),i.sort((function(t,i){return t.value-i.value}))}(n),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),s=this.values.length,o=this.props.maxStars,/^\d+$/.test(s)&&1<=s&&s<=o?this.build():this.destroy()}return e(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,i,n=this;this.props.prebuilt?(t=this.el.parentNode,i=t.querySelector("."+this.props.classNames.base+"--stars")):((t=u(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),i=u(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,e){var s=r({"data-index":e,"data-value":t.value});"function"==typeof n.props.stars&&n.props.stars.call(n,s,t,e),[].forEach.call(s.children,(function(t){return t.style.pointerEvents="none"})),i.innerHTML+=s.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&i.setAttribute("role","tooltip"),this.widgetEl=i}},{key:"changeIndexTo",value:function(t,i){var n=this;if(this.indexActive!==t||i){if([].forEach.call(this.widgetEl.children,(function(i,e){o(i,e<=t,n.props.classNames.active),o(i,e===n.indexSelected,n.props.classNames.selected)})),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var e=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",e)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,i,n,e){var s=this;n.forEach((function(n){return t[i+"EventListener"](n,s.events[n],e||!1)}))}},{key:"handleEvents",value:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.eventListener(i,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var i,n,e=(null===(i=t.touches)||void 0===i?void 0:i[0])||(null===(n=t.changedTouches)||void 0===n?void 0:n[0])||t,s=document.elementFromPoint(e.clientX,e.clientY);return[].slice.call(s.parentNode.children).indexOf(s)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var i=t.key.slice(5);if(~["Left","Right"].indexOf(i)){var n="Left"===i?-1:1;"rtl"===this.direction&&(n*=-1);var e=this.values.length-1,s=Math.min(Math.max(this.selected()+n,-1),e);this.selectValue(s,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var i=this.indexFromEvent(t);this.props.clearable&&i===this.indexSelected&&(i=-1),this.selectValue(i,!0)}},{key:"onPointerLeave",value:function(t){var i=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return i.changeIndexTo(i.indexSelected)}))}},{key:"onPointerMove",value:function(t){var i=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return i.changeIndexTo(i.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t;this.selectValue((null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.index)||-1,!1)}},{key:"selected",value:function(){var t=this;return this.values.findIndex((function(i){return i.value===+t.el.value}))}},{key:"selectValue",value:function(t,i){var n;this.el.value=(null===(n=this.values[t])||void 0===n?void 0:n.value)||"",this.indexSelected=this.selected(),!1===i?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}}]),t}(),f=function(){function t(n,e){i(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(n,e)}return e(t,[{key:"buildWidgets",value:function(t,i){var n=this;this.queryElements(t).forEach((function(t){var e=h(s,i,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!e.prebuilt&&t.parentNode.classList.contains(e.classNames.base)&&n.unwrap(t),n.widgets.push(new c(t,e)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===a(t)?[t]:"NodeList"===a(t)?[].slice.call(t):"String"===a(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var i=t.parentNode,n=i.parentNode;n.insertBefore(t,i),n.removeChild(i)}}]),t}();t.exports=f}},i={};function n(e){if(i[e])return i[e].exports;var s=i[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.m=t,n.x=function(){},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,{a:i}),i},n.d=function(t,i){for(var e in i)n.o(i,e)&&!n.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},function(){var t={341:0},i=[[7401],[5406],[6829],[6273],[4518],[6963],[113],[4030],[6966],[83],[7649],[3408],[529],[2275],[2872],[8865],[4835],[6786],[1045],[3622],[2688],[8340],[3961],[853],[1273],[5651],[7730],[3382],[4747],[4605],[3963]],e=function(){},s=function(s,o){for(var r,u,h=o[0],a=o[1],c=o[2],f=o[3],l=0,d=[];l<h.length;l++)u=h[l],n.o(t,u)&&t[u]&&d.push(t[u][0]),t[u]=0;for(r in a)n.o(a,r)&&(n.m[r]=a[r]);for(c&&c(n),s&&s(o);d.length;)d.shift()();return f&&i.push.apply(i,f),e()},o=self.webpackChunk=self.webpackChunk||[];function r(){for(var e,s=0;s<i.length;s++){for(var o=i[s],r=!0,u=1;u<o.length;u++){var h=o[u];0!==t[h]&&(r=!1)}r&&(i.splice(s--,1),e=n(n.s=o[0]))}return 0===i.length&&(n.x(),n.x=function(){}),e}o.forEach(s.bind(null,0)),o.push=s.bind(null,o.push.bind(o));var u=n.x;n.x=function(){return n.x=u||function(){},(e=r)()}}(),n.x()}();
|
1 |
+
!function(){"use strict";var t,i={237:function(t,i,n){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){};s.prototype={get:function(t,i,n){this.t(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.i(n),this.xhr.send()},u:function(t){return"json"===this.xhr.responseType||!0===this.xhr.json?t({message:this.xhr.statusText},!1):"text"===this.xhr.responseType?t(this.xhr.statusText):void 0},h:function(t){if(0===this.xhr.status||this.xhr.status>=200&&this.xhr.status<300||304===this.xhr.status){if("json"===this.xhr.responseType)return t(this.xhr.response.data,this.xhr.response.success);if("text"===this.xhr.responseType)return t(this.xhr.responseText);if(!0===this.xhr.json){var i=JSON.parse(this.xhr.response);return t(i.data,i.success)}}else this.u(t)},isFileSupported:function(){var t=document.createElement("INPUT");return t.type="file","files"in t},isFormDataSupported:function(){return!!window.FormData},isUploadSupported:function(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)},post:function(t,i,n){this.t(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.i(n),this.xhr.send(this.l(t))},t:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.h.bind(this,t),this.xhr.onerror=this.u.bind(this,t)},v:function(t,i,n){return"object"!==e(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(e){i.hasOwnProperty(e)&&(t=this.v(t,i[e],n?n[e]:e))}.bind(this)),t},l:function(t){var i=new FormData,n=Object.prototype.toString.call(t);return"[object FormData]"===n&&(i=t),"[object HTMLFormElement]"===n&&(i=new FormData(t)),"[object Object]"===n&&Object.keys(t).forEach((function(n){i.append(n,t[n])})),i.append("action",GLSR.action),i.append("_ajax_request",!0),i},i:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var o=s,r={},u=function(t,i){var n=r[t]||[],e=[];i&&[].forEach.call(n,(function(t){i!==t.fn&&i!==t.fn.once&&e.push(t)})),e.length?r[t]=e:delete r[t]},h=function(t,i,n){(r[t]||(r[t]=[])).push({fn:i,context:n})},a=function(t,i,n){var e=arguments,s=function s(){u(t,s),i.apply(n,e)};s.once=i,h(t,s,n)},c=function(t){var i=[].slice.call(arguments,1),n=(r[t]||[]).slice();[].forEach.call(n,(function(t){return t.fn.apply(t.context,i)}))},f={events:r,trigger:c,off:u,on:h,once:a};function d(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function l(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function v(t,i,n){return i&&l(t.prototype,i),n&&l(t,n),t}var m={hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},w=function(){function t(i){var n=this;d(this,t);var e=(i||document).querySelectorAll(m.hiddenTextSelector);[].forEach.call(e,(function(t){return n.init(t)})),GLSR.Event.trigger("site-reviews/excerpts/init",i)}return v(t,[{key:"init",value:function(t){if(!t.parentNode.querySelector("."+m.readMoreClass)){var i=t.dataset.trigger,n=document.createElement("span"),e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=t.dataset.showMore,"excerpt"===i&&(e.addEventListener("click",this.onClick.bind(this)),e.setAttribute("data-text",t.dataset.showLess)),"modal"===i&&e.setAttribute("data-excerpt-trigger","glsr-modal"),n.setAttribute("class",m.readMoreClass),n.appendChild(e),t.parentNode.insertBefore(n,t.nextSibling)}}},{key:"onClick",value:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,e=i.dataset.text;n.classList.toggle(m.hiddenClass),n.classList.toggle(m.visibleClass),i.dataset.text=i.innerText,i.innerText=e}}]),t}(),p=w,g=function(t){this.Form=t,this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl=t.form.querySelector(".glsr-recaptcha-holder"),this.observer=new MutationObserver(function(t){var i=t.pop();i.target&&"visible"!==i.target.style.visibility&&(this.observer.disconnect(),setTimeout(function(){this.is_submitting||this.Form.p()}.bind(this),250))}.bind(this))};g.prototype={g:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},k:function(){if(-1!==this.id)return this.counter=0,this.S(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.L.call(this.Form,this.counter)}.bind(this),1e3)},S:function(t){var i=window.___grecaptcha_cfg.clients[t];for(var n in i)if(i.hasOwnProperty(n)&&"[object String]"===Object.prototype.toString.call(i[n])){var e=document.querySelector("iframe[name=c-"+i[n]+"]");if(e){this.observer.observe(e.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},R:function(){this.Form.form.onsubmit=null,this.g(),this._()},_:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this._();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.L.bind(this.Form,this.counter),"expired-callback":this.F.bind(this),isolated:!0},!0)}.bind(this),250)},F:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},L:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.G(),void this.form.submit();this.L(t)}};var y=g,b=n(449),k=n.n(b),S=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},L=function(t){return"."+t.trim().split(" ").join(".")},R=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},_={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)<=parseInt(i):parseFloat(t)<=parseFloat(i))}},maxlength:{fn:function(t,i){return!t||t.length<=parseInt(i)}},min:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)>=parseInt(i):parseFloat(t)>=parseFloat(i))}},minlength:{fn:function(t,i){return!t||t.length>=parseInt(i)}},number:{fn:function(t){return!t||!isNaN(parseFloat(t))},priority:2},required:{fn:function(t){return"radio"===this.type||"checkbox"===this.type?R(this):void 0!==t&&""!==t},priority:99,halt:!0}},x=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.validateEvent=this.T.bind(this)};x.prototype={M:["required","max","maxlength","min","minlength","pattern"],C:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.F();this.fields.length;){var t=this.fields.shift();this.A(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.C),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(L(t.config.field)).style.display&&t.fields.push(t.D(i))}))},N:function(t){t.addEventListener(this.q(t),this.validateEvent)},I:function(t,i,n){[].forEach.call(t,function(t){var e=t.name.replace("data-","");~this.M.indexOf(e)?this.P(i,n,e,t.value):"type"===t.name&&this.P(i,n,t.value)}.bind(this))},P:function(t,i,n,e){if(_[n]&&(_[n].name=n,t.push(_[n]),e)){var s=e.split(",");s.unshift(null),i[n]=s}},T:function(t){this.H(t.currentTarget)},A:function(t){t.removeEventListener(this.q(t),this.validateEvent)},F:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(L(this.config.field));S(this.fields[t].input,this.config.input_error,!1),S(this.fields[t].input,this.config.input_valid,!1),S(i,this.config.field_error,!1),S(i,this.config.field_valid,!1)}},q:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},D:function(t){var i={},n=[];return null!==t.offsetParent&&(this.I(t.attributes,n,i),this.B(n),this.N(t)),t.validation={form:this.form,input:t,params:i,validators:n}},V:function(t,i){var n=t.input.closest(L(this.config.field));if(S(t.input,this.config.input_error,i),S(t.input,this.config.input_valid,!i),n){S(n,this.config.field_error,i),S(n,this.config.field_valid,!i);var e=n.querySelector(L(this.config.field_message));e.innerHTML=i?t.errors.join("<br>"):"",e.style.display=i?"":"none"}},W:function(t,i){t.hasOwnProperty("validation")&&this.D(t),t.validation.errors=i},B:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},H:function(t){var i=!0,n=this.fields;for(var e in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(e)){var s=n[e];this.J(s)?this.V(s,!1):(i=!1,this.V(s,!0))}return i},J:function(t){var i=[],n=!0;for(var e in t.validators)if(t.validators.hasOwnProperty(e)){var s=t.validators[e],o=t.params[s.name]?t.params[s.name]:[];if(o[0]=t.input.value,!s.fn.apply(t.input,o)){n=!1;var r=this.strings[s.name];if(i.push(r.replace(/(\%s)/g,o[1])),!0===s.halt)break}}return t.errors=i,n}};var E=x,F=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.U.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new y(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.X(),this.validation=new E(t)};F.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.K(),this.validation.destroy()},destroyRecaptcha:function(){this.recaptcha.g()},destroyStarRatings:function(){this.stars&&this.stars.destroy()},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit),this.validation.init()},initRecaptcha:function(){this.recaptcha.R()},initStarRatings:function(){null!==this.stars?this.stars.rebuild():this.stars=new(k())(this.form.querySelectorAll(".glsr-field-rating select"),GLSR.stars)},G:function(){this.button.setAttribute("disabled","")},p:function(){this.button.removeAttribute("disabled")},Y:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.F(),n&&(this.recaptcha.F(),this.form.reset()),this.$(t.errors),this.Z(t.message,n),this.p(),GLSR.Event.trigger("site-reviews/form/handle",t,this.form),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.k()},X:function(){var t=!0;return[].forEach.call(this.form.elements,(function(i){"file"===i.type&&(t=GLSR.ajax.isFileSupported()&&GLSR.ajax.isUploadSupported())})),t&&!this.form.classList.contains("no-ajax")},U:function(t){if(!this.validation.H())return t.preventDefault(),void this.Z(this.strings.errors,!1);this.K(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.L())},K:function(){S(this.form,this.config.form_error,!1),this.Z("",null),this.validation.F()},$:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,e=this.form.querySelector('[name="'+n+'"]');e&&(this.validation.W(e,t[i]),this.validation.V(e.validation,"add"))}},Z:function(t,i){var n=this.form.querySelector(L(this.config.form_message));null!==n&&(S(this.form,this.config.form_error,!1===i),S(n,this.config.form_message_failed,!1===i),S(n,this.config.form_message_success,!0===i),n.innerHTML=t)},L:function(t){GLSR.ajax.isFormDataSupported()?(this.G(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Y.bind(this))):this.Z(this.strings.unsupported,!1)}};var G=function(){for(;GLSR.forms.length;){(t=GLSR.forms.shift()).destroy()}var t,i,n;i=document.querySelectorAll("form.glsr-review-form");for(var e=0;e<i.length;e++)(n=i[e].querySelector("[type=submit]"))&&((t=new F(i[e],n)).init(),GLSR.forms.push(t))},T=G;function j(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var O=!1;if("undefined"!=typeof window){var M={get passive(){O=!0}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}var C="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),A=[],D=!1,N=-1,q=void 0,I=void 0,P=function(t){return A.some((function(i){return!(!i.options.allowTouchMove||!i.options.allowTouchMove(t))}))},H=function(t){var i=t||window.event;return!!P(i.target)||(i.touches.length>1||(i.preventDefault&&i.preventDefault(),!1))},B=function(t){if(void 0===I){var i=!!t&&!0===t.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;i&&n>0&&(I=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===q&&(q=document.body.style.overflow,document.body.style.overflow="hidden")},V=function(){void 0!==I&&(document.body.style.paddingRight=I,I=void 0),void 0!==q&&(document.body.style.overflow=q,q=void 0)},W=function(t){return!!t&&t.scrollHeight-t.scrollTop<=t.clientHeight},J=function(t,i){var n=t.targetTouches[0].clientY-N;return!P(t.target)&&(i&&0===i.scrollTop&&n>0||W(i)&&n<0?H(t):(t.stopPropagation(),!0))},U=function(t,i){if(t&&!A.some((function(i){return i.targetElement===t}))){var n={targetElement:t,options:i||{}};A=[].concat(j(A),[n]),C?(t.ontouchstart=function(t){1===t.targetTouches.length&&(N=t.targetTouches[0].clientY)},t.ontouchmove=function(i){1===i.targetTouches.length&&J(i,t)},D||(document.addEventListener("touchmove",H,O?{passive:!1}:void 0),D=!0)):B(i)}},X=function(){C?(A.forEach((function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null})),D&&(document.removeEventListener("touchmove",H,O?{passive:!1}:void 0),D=!1),N=-1):V(),A=[]},K=["[contenteditable]",'[tabindex]:not([tabindex^="-"])',"a[href]","button:not([disabled]):not([aria-hidden])",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])"],Y=function(){function t(i){var n=i.closeTrigger,e=void 0===n?"data-glsr-close":n,s=i.onClose,o=void 0===s?function(){}:s,r=i.onOpen,u=void 0===r?function(){}:r,h=i.openClass,a=void 0===h?"is-open":h,c=i.openTrigger,f=void 0===c?"data-glsr-trigger":c,l=i.targetModalId,v=void 0===l?"glsr-modal":l,m=i.triggers,w=void 0===m?[]:m;d(this,t),this.modal=document.getElementById(v),this.config={openTrigger:f,closeTrigger:e,openClass:a,onOpen:u,onClose:o},this.events={mouseup:this.onClick.bind(this),keydown:this.onKeydown.bind(this),touchstart:this.onClick.bind(this)},w.length>0&&this.registerTriggers(w)}return v(t,[{key:"addEventListeners",value:function(){this.eventListener(this.modal,"add",["mouseup","touchstart"]),this.eventListener(document,"add",["keydown"])}},{key:"closeModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;i&&(i.preventDefault(),i.stopPropagation()),this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),X(),this.activeElement&&this.activeElement.focus&&this.activeElement.focus();var n=function n(){t.modal.classList.remove(t.config.openClass),t.modal.removeEventListener("animationend",n,!1),t.config.onClose(t.modal,t.activeElement,i)};this.modal.addEventListener("animationend",n,!1)}},{key:"closeModalById",value:function(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}},{key:"eventListener",value:function(t,i,n){var e=this;n.forEach((function(n){return t[i+"EventListener"](n,e.events[n])}))}},{key:"getFocusableNodes",value:function(){var t=this.modal.querySelectorAll(K);return Array.prototype.slice.call(t)}},{key:"onClick",value:function(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}},{key:"onKeydown",value:function(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}},{key:"openModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.activeElement=document.activeElement,i&&(i.preventDefault(),this.activeElement=i.currentTarget),this.config.onOpen(this.modal,this.activeElement,i),this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),U(this.modal.querySelector("[data-glsr-modal]")),this.addEventListeners();var n=function i(){t.modal.removeEventListener("animationend",i,!1),t.setFocusToFirstNode()};this.modal.addEventListener("animationend",n,!1)}},{key:"registerTriggers",value:function(t){var i=this;t.filter(Boolean).forEach((function(t){t.triggerModal&&t.removeEventListener("click",t.triggerModal),t.triggerModal=i.openModal.bind(i),t.addEventListener("click",t.triggerModal)}))}},{key:"removeEventListeners",value:function(){this.eventListener(this.modal,"remove",["mouseup","touchstart"]),this.eventListener(document,"remove",["keydown"])}},{key:"retainFocus",value:function(t){var i=this.getFocusableNodes();if(0!==i.length)if(i=i.filter((function(t){return null!==t.offsetParent})),this.modal.contains(document.activeElement)){var n=i.indexOf(document.activeElement);t.shiftKey&&0===n&&(i[i.length-1].focus(),t.preventDefault()),!t.shiftKey&&i.length>0&&n===i.length-1&&(i[0].focus(),t.preventDefault())}else i[0].focus()}},{key:"setFocusToFirstNode",value:function(){var t=this,i=this.getFocusableNodes();if(0!==i.length){var n=i.filter((function(i){return!i.hasAttribute(t.config.closeTrigger)}));n.length>0&&n[0].focus(),0===n.length&&i[0].focus()}}}]),t}(),$={},z=function(t){if(t)$[t].closeModalById(t);else for(var i in $)$[i].closeModal()},Q=function(t,i){var n={};return t.forEach((function(t){var e=t.attributes[i].value;void 0===n[e]&&(n[e]=[]),n[e].push(t)})),n},Z=function(t){var i=Object.assign({},{openTrigger:"data-glsr-trigger"},t),n=Array.prototype.slice.call(document.querySelectorAll("[".concat(i.openTrigger,"]"))),e=Q(n,i.openTrigger);return Object.keys(e).forEach((function(t){i.targetModalId=t,i.triggers=e[t],$[t]=new Y(i)})),$},tt=function(t,i){var n=i||{};n.targetModalId=t,$[t]&&$[t].removeEventListeners(),$[t]=new Y(n),$[t].openModal()},it={init:Z,open:tt,close:z},nt={hideClass:"glsr-hide",linkSelector:"a.page-numbers",paginationSelector:".glsr-ajax-pagination",reviewsSelector:".glsr-reviews",scrollOffset:16,scrollTime:468},et=function(){function t(i){d(this,t),this.links=[],this.reviewsEl=i.querySelector(nt.reviewsSelector),this.wrapperEl=i,this.init()}return v(t,[{key:"init",value:function(){var t=this;this.links=this.wrapperEl.querySelectorAll("".concat(nt.paginationSelector," ").concat(nt.linkSelector)),this.links.length&&[].forEach.call(this.links,(function(i){i.dataset.ready||(i.addEventListener("click",t.onClick.bind(t,i)),i.dataset.ready=!0)}))}},{key:"onClick",value:function(t,i){var n=t.closest(nt.paginationSelector);if(n){for(var e={},s=0,o=Object.keys(n.dataset);s<o.length;s++){var r=o[s],u=n.dataset[r];try{u=JSON.parse(u)}catch(t){}e["".concat(GLSR.nameprefix,"[atts][").concat(r,"]")]=u}e["".concat(GLSR.nameprefix,"[_action]")]="fetch-paged-reviews",e["".concat(GLSR.nameprefix,"[page]")]=i.currentTarget.dataset.page||"",e["".concat(GLSR.nameprefix,"[url]")]=i.currentTarget.href||"",this.wrapperEl.classList.add(nt.hideClass),i.preventDefault(),GLSR.ajax.post(e,this.handleResponse.bind(this,i.currentTarget.href))}}},{key:"handleResponse",value:function(t,i,n){n?([].forEach.call(this.wrapperEl.querySelectorAll(nt.paginationSelector),(function(t){t.innerHTML=i.pagination})),this.reviewsEl.innerHTML=i.reviews,this.scrollToTop(),this.init(),this.wrapperEl.classList.remove(nt.hideClass),GLSR.urlparameter&&window.history.pushState(null,"",t),new p(this.reviewsEl),GLSR.Event.trigger("site-reviews/pagination/handle",i,this)):window.location=t}},{key:"scrollToTop",value:function(){var t=nt.scrollOffset;[].forEach.call(GLSR.ajaxpagination,(function(i){var n=document.querySelector(i);n&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(t+=n.clientHeight)}));var i=this.reviewsEl.getBoundingClientRect().top-t;i>0||this.scrollStep({endY:i,offset:window.pageYOffset,startTime:window.performance.now(),startY:this.reviewsEl.scrollTop})}},{key:"scrollStep",value:function(t){var i=Math.min(1,(window.performance.now()-t.startTime)/nt.scrollTime),n=.5*(1-Math.cos(Math.PI*i)),e=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+e),e!==t.endY&&window.requestAnimationFrame(this.scrollStep.bind(this,t))}}]),t}(),st=function(){[].forEach.call(document.querySelectorAll(nt.paginationSelector),(function(t){var i=t.closest(".glsr");i&&new et(i)}))},ot=function(){var t="glsr-modal__content",i="glsr-modal__review";window.GLSR.Modal.init({onClose:function(n,e,s){n.querySelector("."+t).innerHTML="",n.classList.remove(i),GLSR.Event.trigger("site-reviews/modal/close",n,e,s)},onOpen:function(n,e,s){var o=e.closest(".glsr").cloneNode(!0),r=e.closest(".glsr-review").cloneNode(!0);o.innerHTML="",o.appendChild(r),n.querySelector("."+t).appendChild(o),n.classList.add(i),GLSR.Event.trigger("site-reviews/modal/open",n,e,s)},openTrigger:"data-excerpt-trigger"})},rt=function(){[].forEach.call(document.querySelectorAll(".glsr"),(function(t){var i="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(i)})),new p,new T,st()};window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new o,window.GLSR.forms=[],window.GLSR.Event=f,window.GLSR.Forms=T,window.GLSR.Modal=it,f.on("site-reviews/init",rt),f.on("site-reviews/excerpts/init",ot),document.addEventListener("DOMContentLoaded",(function(){f.trigger("site-reviews/init")}))},113:function(){},30:function(){},966:function(){},83:function(){},649:function(){},408:function(){},529:function(){},275:function(){},872:function(){},865:function(){},835:function(){},786:function(){},45:function(){},622:function(){},688:function(){},340:function(){},961:function(){},853:function(){},712:function(){},651:function(){},730:function(){},382:function(){},747:function(){},605:function(){},410:function(){},406:function(){},829:function(){},273:function(){},518:function(){},963:function(){},449:function(t){function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function n(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function e(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}var s={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},o=function(t,i,n){t.classList[i?"add":"remove"](n)},r=function(t){var i=document.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},u=function(t,i,n){var e=r(n);return t.parentNode.insertBefore(e,i?t.nextSibling:t),e},h=function t(){for(var i=arguments.length,n=new Array(i),e=0;e<i;e++)n[e]=arguments[e];var s={};return n.forEach((function(i){Object.keys(i||{}).forEach((function(e){if(void 0!==n[0][e]){var o=i[e];"Object"!==a(o)||"Object"!==a(s[e])?s[e]=o:s[e]=t(s[e],o)}}))})),s},a=function(t){return{}.toString.call(t).slice(8,-1)},c=function(){function t(n,e){var s,o;i(this,t),this.direction=window.getComputedStyle(n,null).getPropertyValue("direction"),this.el=n,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=e,this.tick=null,this.ticking=!1,this.values=function(t){var i=[];return[].forEach.call(t.options,(function(t){var n=parseInt(t.value,10)||0;n>0&&i.push({index:t.index,text:t.text,value:n})})),i.sort((function(t,i){return t.value-i.value}))}(n),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),s=this.values.length,o=this.props.maxStars,/^\d+$/.test(s)&&1<=s&&s<=o?this.build():this.destroy()}return e(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,i,n=this;this.props.prebuilt?(t=this.el.parentNode,i=t.querySelector("."+this.props.classNames.base+"--stars")):((t=u(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),i=u(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,e){var s=r({"data-index":e,"data-value":t.value});"function"==typeof n.props.stars&&n.props.stars.call(n,s,t,e),[].forEach.call(s.children,(function(t){return t.style.pointerEvents="none"})),i.innerHTML+=s.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&i.setAttribute("role","tooltip"),this.widgetEl=i}},{key:"changeIndexTo",value:function(t,i){var n=this;if(this.indexActive!==t||i){if([].forEach.call(this.widgetEl.children,(function(i,e){o(i,e<=t,n.props.classNames.active),o(i,e===n.indexSelected,n.props.classNames.selected)})),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var e=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",e)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,i,n,e){var s=this;n.forEach((function(n){return t[i+"EventListener"](n,s.events[n],e||!1)}))}},{key:"handleEvents",value:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.eventListener(i,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var i,n,e=(null===(i=t.touches)||void 0===i?void 0:i[0])||(null===(n=t.changedTouches)||void 0===n?void 0:n[0])||t,s=document.elementFromPoint(e.clientX,e.clientY);return[].slice.call(s.parentNode.children).indexOf(s)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var i=t.key.slice(5);if(~["Left","Right"].indexOf(i)){var n="Left"===i?-1:1;"rtl"===this.direction&&(n*=-1);var e=this.values.length-1,s=Math.min(Math.max(this.selected()+n,-1),e);this.selectValue(s,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var i=this.indexFromEvent(t);this.props.clearable&&i===this.indexSelected&&(i=-1),this.selectValue(i,!0)}},{key:"onPointerLeave",value:function(t){var i=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return i.changeIndexTo(i.indexSelected)}))}},{key:"onPointerMove",value:function(t){var i=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return i.changeIndexTo(i.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t;this.selectValue((null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.index)||-1,!1)}},{key:"selected",value:function(){var t=this;return this.values.findIndex((function(i){return i.value===+t.el.value}))}},{key:"selectValue",value:function(t,i){var n;this.el.value=(null===(n=this.values[t])||void 0===n?void 0:n.value)||"",this.indexSelected=this.selected(),!1===i?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}}]),t}(),f=function(){function t(n,e){i(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(n,e)}return e(t,[{key:"buildWidgets",value:function(t,i){var n=this;this.queryElements(t).forEach((function(t){var e=h(s,i,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!e.prebuilt&&t.parentNode.classList.contains(e.classNames.base)&&n.unwrap(t),n.widgets.push(new c(t,e)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===a(t)?[t]:"NodeList"===a(t)?[].slice.call(t):"String"===a(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var i=t.parentNode,n=i.parentNode;n.insertBefore(t,i),n.removeChild(i)}}]),t}();t.exports=f}},n={};function e(t){var s=n[t];if(void 0!==s)return s.exports;var o=n[t]={exports:{}};return i[t](o,o.exports,e),o.exports}e.m=i,t=[],e.O=function(i,n,s,o){if(!n){var r=1/0;for(a=0;a<t.length;a++){n=t[a][0],s=t[a][1],o=t[a][2];for(var u=!0,h=0;h<n.length;h++)(!1&o||r>=o)&&Object.keys(e.O).every((function(t){return e.O[t](n[h])}))?n.splice(h--,1):(u=!1,o<r&&(r=o));u&&(t.splice(a--,1),i=s())}return i}o=o||0;for(var a=t.length;a>0&&t[a-1][2]>o;a--)t[a]=t[a-1];t[a]=[n,s,o]},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,{a:i}),i},e.d=function(t,i){for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},function(){var t={341:0,884:0,320:0,974:0,570:0,184:0,979:0,224:0,384:0,81:0,877:0,691:0,931:0,192:0,77:0,753:0,540:0,69:0,16:0,831:0,181:0,193:0,994:0,232:0,896:0,737:0,612:0,554:0,483:0,49:0,985:0};e.O.j=function(i){return 0===t[i]};var i=function(i,n){var s,o,r=n[0],u=n[1],h=n[2],a=0;for(s in u)e.o(u,s)&&(e.m[s]=u[s]);if(h)var c=h(e);for(i&&i(n);a<r.length;a++)o=r[a],e.o(t,o)&&t[o]&&t[o][0](),t[r[a]]=0;return e.O(c)},n=self.webpackChunk=self.webpackChunk||[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))}(),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(237)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(406)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(829)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(273)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(518)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(963)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(113)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(30)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(966)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(83)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(649)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(408)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(529)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(275)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(872)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(865)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(835)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(786)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(45)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(622)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(688)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(340)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(961)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(853)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(712)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(651)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(730)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(382)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(747)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(605)}));var s=e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(410)}));s=e.O(s)}();
|
assets/styles/admin/admin.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@charset "UTF-8";.glsr-addons{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));width:100%}@media only screen and (min-width:783px){.glsr-addons{gap:20px;margin:12px 0}}.glsr-addon{border:1px solid #ccd0d4;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);display:flex;flex-direction:column;position:relative}.glsr-addon-description{background-color:#fff;padding:20px;flex:auto}.glsr-addon-description p{margin:0}.glsr-addon-name{font-size:15px;margin-top:0;text-overflow:ellipsis;white-space:nowrap}.glsr-addon-footer{height:48px;background:hsla(0,0%,100%,.65);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-sizing:border-box;padding:15px;margin:0;overflow:hidden}@media screen and (max-width:782px){.glsr-addon-footer{height:58px}}.glsr-addon-screenshot{display:block;background-position:50% 50%;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #ccd0d4;padding-top:66.67%;margin:-1px}@media screen and (min-width:514px){.glsr-addon-screenshot{padding-top:100%}}.glsr-addon-screenshot[data-slug=filters]{background-color:#319796;background-image:url(../../images/addon-filters.svg)}.glsr-addon-screenshot[data-slug=forms]{background-color:#617c8b;background-image:url(../../images/addon-forms.svg)}.glsr-addon-screenshot[data-slug=images]{background-color:#6b46c1;background-image:url(../../images/addon-images.svg)}.glsr-addon-screenshot[data-slug=premium]{background-color:#1a2349;background-image:url(../../images/addon-premium.svg)}.glsr-addon-screenshot[data-slug=themes]{background-color:#00acc1;background-image:url(../../images/addon-themes.svg)}.glsr-addon-screenshot[data-slug=trustalyze]{background-color:#4282d6;background-image:url(../../images/addon-trustalyze.svg)}.glsr-addon-screenshot[data-slug=woocommerce]{background-color:#7f54b3;background-image:url(../../images/addon-woocommerce.svg)}.glsr-addon-link{position:absolute;right:15px;bottom:10px}@media screen and (max-width:782px){.glsr-addon-link{bottom:6px}}.glsr-addon-link.glsr-external:after{content:" ";font-family:dashicons;line-height:1.2;vertical-align:text-bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@-webkit-keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wp-admin .glsr-button{position:relative;white-space:nowrap;display:inline-flex;align-items:center}.wp-admin .glsr-button:after,.wp-admin .glsr-button:before{display:inline-block;position:absolute;top:50%;height:1em;width:1em;border:.2em solid;border-radius:100%;box-sizing:border-box;margin:-.5em auto 0;-webkit-animation:glsr-spin .5s linear infinite;animation:glsr-spin .5s linear infinite}.wp-admin .glsr-button:before{border-top-color:transparent;opacity:.5}.wp-admin .glsr-button:after{border-color:currentColor transparent transparent}.wp-admin .glsr-button[disabled]{padding-left:calc(1em + 15px)}.wp-admin .glsr-button[disabled]:after,.wp-admin .glsr-button[disabled]:before{content:"";left:10px}.wp-admin .glsr-button[disabled] span{font-size:0;visibility:hidden}.wp-admin .glsr-button.is-small[disabled] span{height:22px}.wp-admin .glsr-button[disabled] span:after{content:attr(data-loading);font-size:13px;visibility:visible}.wp-admin .glsr-button.is-small[disabled] span:after{font-size:11px}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt{visibility:hidden;font-size:0}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt:after{visibility:visible;content:attr(data-alt-text);font-size:13px}.wp-admin .glsr-button.is-small:not([disabled]) span[data-alt-text].alt:after{font-size:11px}#dashboard_right_now li>span.glsr-review-count:before,#dashboard_right_now li a.glsr-review-count:before{content:"";top:-2px}.post-type-site-review #titlediv #title{margin-bottom:20px}.post-type-site-review #contentdiv textarea,.post-type-site-review .wp-editor-area{display:block;width:100%;height:320px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:16px;line-height:1.5;padding:10px;resize:vertical;-webkit-font-smoothing:antialiased!important;overflow-wrap:break-word}.post-type-site-review .misc-pub-pinned:before{display:inline-block;position:relative;content:"";font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;top:0;left:-1px;color:#82878c;padding:0 2px 0 0}.post-type-site-review .misc-pub-pinned .pinned-status-text{font-weight:600}.post-type-site-review .misc-pub-pinned .pinned-status-select{margin-top:3px}.wp-admin .glsr-response{display:block;height:6em;width:100%;margin:12px 0 0}.glsr-mce{position:relative;display:inline-block;margin-right:1px}.glsr-mce-menu.mce-menu{display:none;position:absolute;top:100%;left:0;min-width:100%;background:#fff;padding:5px 0;margin:-2px 0 0}.glsr-mce-menu-item.mce-menu-item{cursor:pointer;font-size:14px;white-space:nowrap;padding:6px 12px;margin-bottom:2px}.mce-glsr-mce-popup a{text-decoration:underline}.mce-glsr-mce-popup p{margin-bottom:1em}.mce-glsr-mce-popup p.strong{font-weight:600}.mce-glsr-mce-popup p.no-margin{margin-bottom:0}.mce-glsr-mce-popup p.margin-top{margin-top:1em}.mce-glsr-btn.mce-btn button{box-sizing:border-box;padding:0 8px}.wp-media-buttons button.glsr-mce-button{outline:none;padding-left:5px;margin-right:0}button.glsr-mce-button:after{display:inline-block;position:relative;top:-1px;left:-1px;width:0;height:0;content:"";border-top:6px solid;border-right:4px solid transparent;border-left:4px solid transparent}button.glsr-mce-button.active:after{top:-2px;border-top:0;border-bottom:6px solid}button.glsr-mce-button:active{margin-bottom:5px}button.glsr-mce-button .wp-media-buttons-icon:before{content:"";font:normal 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width:782px){button.glsr-mce-button .wp-media-buttons-icon:before{font-size:20px!important}}div.sc-wrap{margin-right:1px}#site-review-detailsdiv.postbox .inside{padding:0;margin:0}.glsr-response-postbox{margin-top:20px;margin-bottom:0}.js .glsr-response-postbox .hndle{cursor:default}.js .glsr-response-postbox .toggle-indicator:before{content:"";display:inline-block;font:normal 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .glsr-response-postbox.closed .toggle-indicator:before{content:""}.glsr-metabox-table{width:auto;padding:0 12px 12px;margin-top:12px}.glsr-metabox-table td{line-height:1.5;vertical-align:top;padding:0 14px 8px 0}.glsr-metabox-table td:first-child{font-weight:600}.glsr-metabox-table td:last-child{padding-bottom:0}.glsr-metabox-actions{border-top:1px solid #ccd0d4;background:#f5f5f5;padding:10px;clear:both}.glsr-revert-action{text-align:right;float:right;line-height:1.9}.glsr-revert-action .spinner{float:left}.glsr-metabox-field select:focus{border-color:#007cba;border-color:var(--wp-admin-theme-color);color:#016087;color:var(--wp-admin-theme-color-darker-20);box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.glsr-metabox-field{box-sizing:border-box;position:relative}.glsr-metabox-field:first-child{margin-top:12px}.glsr-metabox-field .glsr-label{box-sizing:border-box;line-height:1.5;margin:0;overflow:hidden;padding:0 12px;position:relative;white-space:nowrap;width:100%}.glsr-metabox-field .glsr-label label{display:block;font-size:14px;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis}.glsr-metabox-field .glsr-input{box-sizing:border-box;width:100%;position:relative;padding:12px;margin:0}.glsr-metabox-field .glsr-input>img{border-radius:3px;margin-top:12px}.glsr-metabox-field input[type=date],.glsr-metabox-field input[type=datetime-local],.glsr-metabox-field input[type=datetime],.glsr-metabox-field input[type=email],.glsr-metabox-field input[type=month],.glsr-metabox-field input[type=number],.glsr-metabox-field input[type=password],.glsr-metabox-field input[type=search],.glsr-metabox-field input[type=tel],.glsr-metabox-field input[type=text],.glsr-metabox-field input[type=time],.glsr-metabox-field input[type=url],.glsr-metabox-field input[type=week],.glsr-metabox-field select,.glsr-metabox-field textarea{margin:0;width:100%;padding:3px 8px;line-height:1.5;min-height:30px}.glsr-metabox-field .glsr-input label,.glsr-metabox-field input:disabled,.glsr-metabox-field select:disabled,.glsr-metabox-field textarea:disabled{cursor:default}.glsr-input-value:disabled{color:#32373c!important;background-color:#eee!important;border-color:#7e8993!important;opacity:1}@media screen and (min-width:641px){.glsr-metabox-field{display:flex;flex:1 auto}.glsr-metabox-field:first-child{margin-top:0}.glsr-metabox-field:first-child .glsr-input,.glsr-metabox-field:first-child .glsr-label{padding-top:12px}.glsr-metabox-field:last-child .glsr-input,.glsr-metabox-field:last-child .glsr-label{padding-bottom:12px}.glsr-metabox-field .glsr-label{align-items:flex-start;display:flex;background:#f9f9f9;border-right:1px solid #ddd;padding:6px 12px;min-width:150px;width:20%;line-height:40px}.glsr-metabox-field .glsr-label label{font-weight:600}.glsr-metabox-field .glsr-input{flex-direction:column;justify-content:center;display:flex;padding:6px 12px;vertical-align:top}}@media screen and (min-width:783px){.glsr-metabox-field .glsr-label{line-height:30px}}.glsr-toggle-field{display:flex;line-height:normal;height:40px}@media screen and (min-width:641px){.glsr-toggle-field{align-items:center}}@media screen and (min-width:783px){.glsr-toggle-field{height:30px}}.glsr-toggle{position:relative;display:inline-block}.glsr-toggle .glsr-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__track{transition-duration:0s}}.glsr-toggle .glsr-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:3px;left:3px;width:12px;height:12px;border-radius:50%;transition:transform .1s ease;background-color:#1e1e1e;border:5px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__thumb{transition-duration:0s}}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__track{background-color:#007cba;background-color:var(--wp-admin-theme-color);border:9px solid transparent}.glsr-toggle .glsr-toggle__input:focus+.glsr-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #007cba;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.glsr-toggle input.glsr-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.glsr-toggle input.glsr-toggle__input[type=checkbox]:checked{background:none}.glsr-toggle input.glsr-toggle__input[type=checkbox]:before{content:""}.glsr-metabox-field [data-star-rating]>select{clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:circle(1px at 0 0)!important;clip-path:circle(1px at 0 0)!important;height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}.glsr-metabox-field .gl-star-rating:not([data-star-rating]) .gl-star-rating--stars,.glsr-metabox-field [data-star-rating]>select:after,.glsr-metabox-field [data-star-rating]>select:before{display:none!important}.glsr-metabox-field .gl-star-rating--stars{align-items:center;color:#555d66;cursor:pointer;display:flex;float:left;position:relative;white-space:nowrap}.glsr-metabox-field [data-star-rating]>select[disabled]+.gl-star-rating--stars{color:#72777c;cursor:default}.glsr-metabox-field .gl-star-rating--stars>span{-webkit-font-smoothing:antialiased;font-family:dashicons;font-size:30px;letter-spacing:1px;line-height:1;text-align:center;transition:color .1s ease-in}@media screen and (min-width:783px){.glsr-metabox-field .gl-star-rating--stars>span{font-size:24px}}.glsr-metabox-field .gl-star-rating--stars>span:before{content:""}.glsr-metabox-field .gl-star-rating--stars.s10>span:first-child:before,.glsr-metabox-field .gl-star-rating--stars.s20>span:nth-child(-1n+2):before,.glsr-metabox-field .gl-star-rating--stars.s30>span:nth-child(-1n+3):before,.glsr-metabox-field .gl-star-rating--stars.s40>span:nth-child(-1n+4):before,.glsr-metabox-field .gl-star-rating--stars.s50>span:nth-child(-1n+5):before,.glsr-metabox-field .gl-star-rating--stars.s60>span:nth-child(-1n+6):before,.glsr-metabox-field .gl-star-rating--stars.s70>span:nth-child(-1n+7):before,.glsr-metabox-field .gl-star-rating--stars.s80>span:nth-child(-1n+8):before,.glsr-metabox-field .gl-star-rating--stars.s90>span:nth-child(-1n+9):before,.glsr-metabox-field .gl-star-rating--stars.s100>span:before{content:""}.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{border-radius:3px;border:1px solid #007cba;border:1px solid var(--wp-admin-theme-color);box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color);box-sizing:border-box;content:"";display:block;height:40px;pointer-events:none;position:absolute;width:100%}@media screen and (min-width:783px){.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{height:30px}}.glsr-notice-branded{border-left-color:#f6e05e!important;padding-left:123px}.glsr-notice-branded-image{align-items:center;border-right:1px solid #ccd0d4;bottom:0;display:flex;justify-content:center;left:0;padding:0 5px;position:absolute;width:100px}.glsr-notice-branded .glsr-notice-branded-image{background-color:#faf089;top:0}.glsr-notice-premium .glsr-notice-branded-image{background-color:#252f3f;bottom:-1px;top:-1px}.glsr-notice-branded-image svg{position:relative;top:0;left:0;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.glsr-notice:not(.notice-error):not(.notice-info):not(.notice-warning):not(.glsr-notice-branded){display:flex;border-left-color:#32373c}.glsr-notice-icon{display:flex;align-items:flex-start;margin-left:6px;margin-top:18px;margin-right:18px}.glsr-notice-icon img{width:80px;height:80px}@media only screen and (min-width:601px){.glsr-notice-icon img{width:96px;height:96px}}.glsr-notice-content{margin:6px 0}.glsr-notice-content h3{line-height:1.25;margin-top:12px;margin-bottom:12px}.glsr-notice-content .button,.glsr-notice-content p{margin-top:0;margin-bottom:12px}:root{--base00:#2b303b;--base01:#343d46;--base02:#4f5b66;--base03:#65737e;--base04:#a7adba;--base05:#c0c5ce;--base06:#dfe1e8;--base07:#eff1f5;--base08:#bf616a;--base09:#d08770;--base0A:#ebcb8b;--base0B:#a3be8c;--base0C:#96b5b4;--base0D:#8fa1b3;--base0E:#b48ead;--base0F:#ab7967}.syntax-shortcode,code[class*=language-],pre[class*=language-]{background-color:#181818;background-color:var(--base00);color:#d8d8d8;color:var(--base05);font-family:"Operator Mono Lig","Fira Code",monospace;font-size:13px;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;border-radius:2px}.syntax-shortcode,pre[class*=language-]{display:block;padding:1em;margin:.5em 0;overflow:auto}pre[class*=language-]>code{margin:0;padding:0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.bold{font-weight:bold}.token.italic{font-style:italic}.syntax-shortcode .tag{color:#ab4642;color:var(--base08)}.syntax-shortcode .attr-name{color:#ba8baf;color:var(--base0E)}.syntax-shortcode .attr-value{color:#a1b56c;color:var(--base0B)}.language-css .comment{color:#585858;color:var(--base03)}.language-css .important,.language-css .selector{color:#ba8baf;color:var(--base0E)}.language-css .function,.language-css .property,.language-css .url .function{color:#7cafc2;color:var(--base0D)}.language-css .string,.language-css .url{color:#a1b56c;color:var(--base0B)}.language-css .atrule,.language-css .atrule .punctuation,.language-css .url .punctuation{color:#d8d8d8;color:var(--base05)}.language-css .atrule .rule{color:#f7ca88;color:var(--base0A)}.language-css .atrule .keyword,.language-html .tag{color:#ab4642;color:var(--base08)}.language-html .attr-name{color:#ba8baf;color:var(--base0E)}.language-html .attr-value{color:#a1b56c;color:var(--base0B)}.language-html .attr-equals,.language-php .attr-value,.language-php .char,.language-php .constant,.language-php .package .punctuation,.language-php .property,.language-php .punctuation,.language-php .regex,.language-php .variable{color:#d8d8d8;color:var(--base05)}.language-php .block-comment,.language-php .cdata,.language-php .comment,.language-php .doctype,.language-php .prolog{color:#585858;color:var(--base03)}.language-php .string{color:#a1b56c;color:var(--base0B)}.language-php .important,.language-php .keyword,.language-php .selector{color:#ba8baf;color:var(--base0E)}.language-php .number,.language-php .operator{color:#ab4642;color:var(--base08)}.language-php .boolean,.language-php .class-name,.language-php .function,.language-php .package{color:#7cafc2;color:var(--base0D)}.shortcode-example{position:relative}.shortcode-example>input{margin:0;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#181818;background-color:var(--base00);border-radius:2px;border:0;color:#d8d8d8;color:var(--base05);display:block;font-family:"Operator Mono","Fira Code",monaco,monospace;font-size:13px;line-height:1.5;padding:1em;position:absolute;width:100%}.shortcode-example>input:active,.shortcode-example>input:focus{border:0;box-shadow:none;opacity:1!important}.glsr-progress{position:relative;display:block;height:28px;opacity:.65;text-align:center;font-size:14px}@media screen and (max-width:782px){.glsr-progress{height:31px}}.glsr-progress.active{opacity:1}.glsr-progress *{box-sizing:border-box}.glsr-progress-background,.glsr-progress-bar{height:100%;background-size:40px 40px}.glsr-progress.active .glsr-progress-background,.glsr-progress.active .glsr-progress-bar{transition:width 2.5s linear;-webkit-animation:glsr-progress-bar 1s linear infinite;animation:glsr-progress-bar 1s linear infinite}.glsr-progress-bar{position:relative;width:0;color:#fff;background-color:#616b75;background-image:linear-gradient(-45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);border:1px solid #4a5259;border-top-color:#616b75;border-radius:3px 0 0 3px;overflow:hidden;z-index:1}.glsr-progress-bar[style="width: 0%;"]{border-width:0}.glsr-progress-bar[style="width: 100%;"]{border-radius:3px}.glsr-progress-background{position:absolute;top:0;left:0;width:100%;height:28px;background-color:#f7f7f7;background-image:linear-gradient(-45deg,#fff 25%,transparent 0,transparent 50%,#fff 0,#fff 75%,transparent 0,transparent);border-radius:3px;box-shadow:inset 0 1px 2px #ccd0d4;border:1px solid #ccc}@media screen and (max-width:782px){.glsr-progress-background{height:31px}}.glsr-progress span{position:absolute;left:0;top:0;line-height:26px;color:#555;padding:0 6px}@media screen and (max-width:782px){.glsr-progress span{line-height:29px}}.glsr-progress-bar>span{color:#fff;text-shadow:0 -1px 1px #4a5259,1px 0 1px #4a5259,0 1px 1px #4a5259,-1px 0 1px #4a5259}@-webkit-keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}@keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}.glsr-progress .glsr-progress-bar{background-color:#681b98;border-color:#681b98 #591782 #591782}.glsr-progress .glsr-progress-bar>span{text-shadow:0 -1px 1px #591782,1px 0 1px #591782,0 1px 1px #591782,-1px 0 1px #591782}.star-rating .glsr-star{width:16px;font-size:16px;line-height:20px;color:#555}select[data-glsr-track=minimal]{border-color:#dba617!important;color:#c49515!important}select[data-glsr-track=minimal]:focus{box-shadow:0 0 0 1px #dba617}select[data-glsr-track=all]{border-color:#d63638!important;color:#d63638!important}select[data-glsr-track=all]:focus{box-shadow:0 0 0 1px #d63638}td.glsr-string-td1{position:relative;padding-bottom:2em}td.glsr-string-td1 .row-actions{position:absolute;bottom:10px;z-index:1}td.glsr-string-td2 input[type=text]:last-of-type{margin-bottom:0}td.glsr-string-td2 .description{display:block;padding-top:.5em}.is-invalid td.glsr-string-td2 .description{color:#d63638}.mobile td.glsr-string-td1 .row-actions,.no-js td.glsr-string-td1 .row-actions,td.glsr-string-td1 .row-actions.visible,tr:hover td.glsr-string-td1 .row-actions{left:10px}.is-invalid td.glsr-string-td1,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2,.is-invalid td.glsr-string-td2>div{position:relative}.is-invalid td.glsr-string-td1>button,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2>button,.is-invalid td.glsr-string-td2>div{z-index:1}.is-invalid td.glsr-string-td1:after,.is-invalid td.glsr-string-td2:after{display:block;position:absolute;content:"";top:-1px;right:-1px;bottom:-1px;left:-1px;background:rgba(220,50,50,.06);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0}.is-invalid td.glsr-string-td1:after{background:rgba(220,50,50,.08)}.is-invalid td.glsr-string-td2 input[type=text],.is-invalid td.glsr-string-td2 textarea{border-color:#e2cbcb}@media screen and (max-width:782px){.post-type-site-review .wp-list-table .is-expanded.is-invalid td:not(.hidden){overflow:unset}}@media screen and (max-width:720px){nav a.glsr-nav-tab,nav a.glsr-nav-tab.nav-tab-active:hover{transition-property:background,color;border-bottom:1px solid #ccc;margin:10px 10px 0 0}.wrap nav.glsr-nav-tab-wrapper{border-bottom:0}}.glsr-card{max-width:800px;box-sizing:border-box}.glsr-card-result{border:1px solid #ccd0d4;background-color:#f6fbfd;padding:0 1em;margin:1em 0}.glsr-card ol{list-style:decimal;margin-left:1.5em}.glsr-card ul{list-style:disc;margin-left:1.5em}.glsr-card h2{margin-top:0;text-align:left}.glsr-heading{color:#000;font-size:14px;font-weight:600}.glsr-card.postbox{padding:0;margin-bottom:0}.glsr-card.postbox:not(:last-child){border-bottom:none}.glsr-card.postbox.closed:last-child{border-bottom:1px solid #ccd0d4}.glsr-card .components-notice{margin:0}.glsr-card .components-notice.is-info{background-color:rgba(231,245,254,.75)}.glsr-card h3.glsr-card-heading{border-top:1px solid #ccd0d4;color:inherit;font-size:inherit;font-weight:600;line-height:inherit;margin:0}.glsr-card h3.glsr-card-heading:first-child{border-top:none}.glsr-accordion-trigger{background:#fff;border:0;color:#32373c;cursor:pointer;display:flex;font-weight:400;margin:0;padding:1em 3.5em 1em 1.5em;min-height:46px;position:relative;text-align:left;width:100%;align-items:center;justify-content:space-between;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.glsr-accordion-trigger:active,.glsr-accordion-trigger:hover{background:#f8f9f9}.glsr-accordion-trigger:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-1px;outline:2px solid #0071a1;background-color:#f8f9f9;z-index:1}.glsr-accordion-trigger .title{pointer-events:none;font-weight:600;font-size:16px;flex-grow:1}.glsr-accordion-trigger .icon{border:solid #555d66;border-width:0 2px 2px 0;height:.5rem;pointer-events:none;position:absolute;right:1.5em;top:50%;transform:translateY(-70%) rotate(45deg);width:.5rem}.glsr-accordion-trigger[aria-expanded=true] .icon{transform:translateY(-30%) rotate(-135deg)}.glsr-accordion-trigger .badge{padding:.1rem .5rem .15rem;color:#32373c;font-weight:500;margin-left:.5rem;border:1px solid #72aee6}.glsr-accordion-trigger .badge.important{border:1px solid #d63638}@media screen and (max-width:782px){.glsr-accordion-trigger{align-items:flex-start;flex-direction:column}.glsr-accordion-trigger .badge{margin:1em 0 0}}.glsr-card.postbox .inside{border-bottom:none;border-top:1px solid #ccd0d4;margin:0;padding:1em 1.5em}.glsr-card.postbox .inside>:not(h2):first-child{margin-top:.5em}.glsr-card.postbox .inside>:last-child{margin-bottom:.5em!important}.glsr-card p.submit{margin:0}.glsr-card code,.glsr-card pre{word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}.glsr-card dd{margin:1em 0}.glsr-card dt{font-weight:600;margin:1em 0}.glsr-card code a{text-decoration:none}.glsr-float-left{float:left;padding-right:.25em}.glsr-code[readonly]{width:100%;font-family:"Operator Mono","Fira Code",monaco,monospace;font-weight:300;white-space:pre;-webkit-font-smoothing:antialiased!important}.glsr-code-large{min-height:60vh}@media only screen and (max-width:782px){.glsr-card{max-width:inherit}}.glsr-tooltip{color:#646970;cursor:help;margin-left:6px}tr.glsr-setting-field th{width:210px}tr.glsr-setting-field th .tippy-box{font-weight:400}@media only screen and (min-width:783px){.glsr-tooltip{float:left;margin-left:0;margin-right:6px}}tr.glsr-setting-field td .inline br{display:none}tr.glsr-setting-field td .inline label:after{content:"";margin-right:1em}.glsr-setting-field a.button{margin-top:6px}.glsr-notice-inline{background:hsla(0,0%,100%,.65);color:#555;padding:4px 10px 10px;margin:10px 0 0!important}.glsr-notice-inline p{padding:0!important}.glsr-setting-field{margin:1em 0;line-height:1.5}.glsr-setting-field small code{font-size:inherit;padding:0 3px 1px}.glsr-setting-field>label{margin-right:3px}@media screen and (max-width:782px){.glsr-setting-field>label+input.small-text{margin-left:0}}.glsr-setting-field>ul{margin:0}.glsr-setting-field>ul li{margin-bottom:2px}.glsr-setting-field textarea.code,.post-type-site-review .code,.post-type-site-review code{font-family:"Operator Mono","Fira Code",monaco,monospace}.glsr-hidden{display:none}.glsr-search-box,.glsr-strings-table{position:relative;max-width:800px}.glsr-search-box *,.glsr-strings-table *{box-sizing:border-box}.glsr-search-box,.glsr-search-multibox{position:relative;margin:1em 0}.glsr-search-box.is-active .spinner,.glsr-search-multibox.is-active .spinner{visibility:visible}.glsr-search-box.is-active input[type=search]::-webkit-search-cancel-button,.glsr-search-multibox.is-active input[type=search]::-webkit-search-cancel-button{display:none!important}.glsr-search-box .description{display:block}.glsr-spinner{visibility:hidden;position:absolute;top:5px;right:5px;height:20px;width:20px;background-color:#fff;z-index:5}.glsr-spinner .spinner{margin:0}.loading-content .glsr-spinner{visibility:visible}.glsr-search-input{position:relative;width:100%;font-weight:300;line-height:1.5;padding:3px 5px;margin:0;z-index:2}.site-review_page_settings .glsr-search-input{height:32px;font-size:16px}.glsr-search-input:focus{z-index:20}.glsr-search-results{position:absolute;top:calc(100% - 4px);padding-top:4px;left:0;width:100%;max-height:315px;overflow-y:scroll;-webkit-overflow-scrolling:touch;border:1px solid #7e8993;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04);background-color:#fff;box-sizing:border-box;border-radius:0 0 4px 4px;z-index:3}.glsr-search-results:not(.is-active){display:none}.glsr-search-results:before{display:block;background:#fff;border-left:1px solid #7e8993;border-right:1px solid #7e8993;box-sizing:border-box;content:"";height:4px;position:absolute;top:0;left:-1px;right:-1px}.glsr-search-results>div,.glsr-search-results>span{position:relative;display:block;box-sizing:border-box;height:32px;line-height:32px;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;margin-top:-1px;overflow:hidden}.glsr-search-results>div{background-color:#f6fbfd}.glsr-search-results>span:active,.glsr-search-results>span:focus,.glsr-search-results>span:hover{color:#fff;background-color:#00a0d2;cursor:pointer;outline:none}.glsr-search-box-wrap{position:relative}.glsr-strings-table{transition:opacity .2s linear}.glsr-focus .glsr-strings-table{opacity:.2;pointer-events:none}.glsr-string-td1,.glsr-string-td2{border-top:none;padding:13px 15px}.glsr-string-td1{max-width:375px;border-right:1px solid #ccd0d4;vertical-align:top}.glsr-string-td2{width:60%;max-width:375px}.glsr-strings-table p:not(.row-actions){font-size:14px;font-weight:400;line-height:1.3;color:#000}.glsr-strings-table p.row-actions{margin:0}.glsr-strings-table textarea{display:block;width:100%;margin:0}.glsr-strings-table input[type=text]{display:block;width:100%;margin:0 0 5px}.glsr-strings-table input[type=text]:active,.glsr-strings-table input[type=text]:focus{position:relative}.glsr-string-tr:last-child .glsr-string-td2,.glsr-string-tr:not(.is-expanded):last-child .glsr-string-td1{border-bottom:none}@media screen and (max-width:782px){.glsr-search-results>span{padding:0 10px}.glsr-string-td1{max-width:none;border-right:none}.glsr-string-td2{max-width:none;padding:13px 15px!important}.glsr-spinner{right:10px}}.glsr-string-tr.ui-sortable-helper{opacity:.8;display:table;box-shadow:0 1px 2px rgba(0,0,0,.1)}.ui-sortable .glsr-string-tr:hover{cursor:move}@media screen and (min-width:783px){.ui-sortable-placeholder+.glsr-string-tr .glsr-string-td2{border-top:1px solid #f1f1f1}}.ui-sortable-helper .glsr-string-td1{border-left:1px solid #999}.ui-sortable-helper .glsr-string-td1,.ui-sortable-helper .glsr-string-td2{border-top:1px solid #999!important;border-bottom:1px solid #999!important}.ui-sortable-helper .glsr-string-td2{border-right:1px solid #999}@media screen and (max-width:782px){.ui-sortable-helper .glsr-string-td1{border:1px solid #999}.ui-sortable-helper.is-expanded .glsr-string-td1{border-bottom:none!important}.ui-sortable-helper.is-expanded .glsr-string-td2{border:1px solid #999;border-top-color:#f1f1f1!important}}.glsr-search-multibox,.glsr-search-multibox-entries{display:flex;margin:0;position:relative}.glsr-search-multibox-entries{background-color:#fff;border-radius:4px;border:1px solid #7e8993;box-shadow:0 0 0 transparent;color:#32373c;flex-direction:column;width:100%;z-index:2}.glsr-search-multibox-entries:focus-within{border-color:#007cba;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent;z-index:20}.glsr-search-multibox .glsr-selected-entries{display:flex;flex-wrap:wrap;padding-right:6px}.glsr-search-multibox .glsr-selected-entries>span{align-items:center;background:rgba(0,0,0,.07);border-radius:3px;box-sizing:border-box;display:flex;font-size:11px;font-style:normal;height:24px;line-height:1;margin:6px 0 0 6px;padding:0 8px 0 24px;position:relative}.glsr-search-multibox .glsr-selected-entries a{color:inherit;pointer-events:none}.glsr-search-multibox .glsr-remove-button{left:2px}.glsr-search-multibox .glsr-remove-icon:before{color:#757575}.glsr-search-multibox input[type=search].glsr-search-input{border:none;margin:0;background:transparent;width:auto;flex-grow:1}.glsr-search-multibox input[type=search].glsr-search-input:focus{outline:none;box-shadow:none}.glsr-search-multibox .glsr-spinner{top:auto;bottom:5px;right:7px}@media screen and (max-width:782px){.glsr-search-multibox .glsr-remove-button{left:6px}.glsr-search-multibox .glsr-selected-entries>span{margin:8px 0 0 8px;font-size:14px;height:32px;padding:8px 10px 8px 30px}.glsr-search-multibox .glsr-spinner{bottom:10px;right:10px}}.glsr-multibox-entry{color:#444;display:block;margin-left:20px}.glsr-remove-button{position:absolute;left:-4px;width:20px;height:20px;border:none;margin:0;padding:0;background:0 0;cursor:pointer;text-indent:0}.glsr-remove-button:focus .glsr-remove-icon:before,.glsr-remove-button:hover .glsr-remove-icon:before{color:#1e1e1e}.glsr-remove-icon:before{margin-left:0;border-radius:50%;color:#007cba;color:var(--wp-admin-theme-color);line-height:1.28;background:0 0;content:"";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glsr-status{max-width:750px}.glsr-status th.column-primary{width:50%}.glsr-status td.column-primary{position:relative;font-size:14px!important;font-weight:600}.glsr-status td.column-primary span{font-weight:400}.glsr-status .toggle-row{top:0}.glsr-status .toggle-row:before{top:6px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{color:#82878c;text-align:center;padding-left:4px}@media screen and (max-width:782px){.glsr-status th input[type=radio]{margin-bottom:8px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{padding-top:4px;padding-left:9px}}.wrap nav.glsr-nav-tab-wrapper{margin-top:12px;padding-top:0}nav.glsr-nav-tab-wrapper a.glsr-nav-tab:focus{box-shadow:none;outline-offset:-1px;outline:2px solid #0071a1}.wrap>.glsr-nav-view{margin-top:20px}.glsr-subsubsub{display:flex;flex-wrap:wrap;float:none;margin-top:.5em;text-align:left}.glsr-subsubsub li{align-items:center;display:flex}.glsr-subsubsub li a{padding:0 .2em}.glsr-subsubsub li span{margin:0 .2em}.glsr-subsubsub li:last-child span{display:none}body[class*=type-site-review] [data-tippy-root]{max-width:calc(100vw - 10px)}body[class*=type-site-review] .tippy-box{background-color:#2c3338;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity}body[class*=type-site-review] .tippy-box a{color:#72aee6}body[class*=type-site-review] .tippy-box a:hover{color:#4f94d4}body[class*=type-site-review] .tippy-box code{background-color:hsla(0,0%,100%,.25);display:inline-block;padding:0 3px;border-radius:2px}body[class*=type-site-review] .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement=top-start]{transform-origin:left bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}body[class*=type-site-review] .tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow{right:0}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow{left:0}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}body[class*=type-site-review] .tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}body[class*=type-site-review] .tippy-arrow{color:#2c3338;height:16px;width:16px}body[class*=type-site-review] .tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}body[class*=type-site-review] .tippy-content{padding:8px 10px;position:relative;z-index:1}.glsr-screenshot{border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box}.glsr-welcome .badge{position:absolute;top:1em;right:0;padding:.25rem .5rem;font-weight:500;font-size:16px;text-rendering:optimizeLegibility;background-color:#72777c;color:#fff;border-radius:5px}@media only screen and (max-width:500px){.glsr-welcome .badge{display:inline-block;position:relative;top:auto}}.glsr-welcome.about-wrap{margin-top:40px}.glsr-welcome.about-wrap .inside li,.glsr-welcome.about-wrap .inside p{font-size:16px}.glsr-welcome .glsr-about-text{margin:1em 0}.glsr-welcome-banner{margin:2em 0 0}.glsr-welcome .about-buttons{display:flex;flex-wrap:wrap;margin:1.5em 0}.glsr-welcome .components-button{margin:0 .5em .5em 0}.glsr-welcome .dashicon:before{font:normal 18px dashicons;margin-right:6px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glsr-welcome .glsr-nav-view{margin-top:0}.glsr-welcome ul:not(.glsr-flex-row){list-style:circle;padding-left:20px}.glsr-flex-row{display:flex;flex-direction:row;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.glsr-column{width:100%;max-width:100%;box-sizing:border-box;padding-left:20px;padding-right:20px}@media (min-width:601px){.glsr-has-2-columns .glsr-column,.glsr-has-3-columns .glsr-column{max-width:50%}}@media (min-width:783px){.glsr-has-3-columns .glsr-column{max-width:33.33%}}[class*=post-type-site-review] .row-actions .id>span{color:#999}.glsr-metabox-table .star-rating .star,.post-type-site-review .star-rating .star{width:16px;font-size:16px;line-height:20px;color:#555}.post-type-site-review .star-rating .star{margin-top:-2px}.post-type-site-review .hide-column-tog+.pinned-icon+svg,.post-type-site-review .wp-list-table .approve,.post-type-site-review .wp-list-table .status-pending .unapprove{display:none}.post-type-site-review .wp-list-table .spam .approve,.post-type-site-review .wp-list-table .status-pending .approve,.post-type-site-review .wp-list-table .trash .approve{display:inline}.post-type-site-review .wp-list-table .approve a{color:#006505}.post-type-site-review .wp-list-table .approve a:hover{color:#007f06}.post-type-site-review .wp-list-table .unapprove a{color:#d98500}.post-type-site-review .wp-list-table .unapprove a:hover{color:#f39500}.post-type-site-review .wp-list-table th.column-rating{width:100px}.post-type-site-review .wp-list-table td.column-is_pinned i.pin-review{align-items:center;cursor:pointer;display:flex;float:none;justify-content:center;margin:0;transition:none}.post-type-site-review .wp-list-table td.column-is_pinned i{line-height:24px;text-indent:-3px}.post-type-site-review .wp-list-table td.column-is_pinned i:not(.pinned){color:rgba(85,85,85,.2)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending th.check-column{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending:not(.is-expanded) td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending.is-expanded td:last-child,.post-type-site-review .wp-list-table tr.status-pending:not(.is-expanded) td:nth-child(2),.post-type-site-review .wp-list-table tr.status-pending th.check-column{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td,.post-type-site-review .wp-list-table tr.status-pending th.check-column{background-color:#fef7f1}.post-type-site-review .wp-list-table tr.status-pending th.check-column{position:relative;border-left:4px solid #d54e21;z-index:1}.post-type-site-review .wp-list-table tr.status-pending th.check-column input{margin-left:4px}@media screen and (min-width:783px){.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-ip_address{white-space:nowrap}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-name,.post-type-site-review .wp-list-table th.column-taxonomy-site-review-category,.post-type-site-review .wp-list-table th.column-type{width:120px}.post-type-site-review .wp-list-table th.column-is_pinned{width:45px}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon span{display:none}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon:after{display:inline-block;position:relative;content:"";font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:16px;height:20px;line-height:22px;font-size:16px;text-align:center}.post-type-site-review .wp-list-table th.column-is_pinned .sorting-indicator{margin-left:3px}.post-type-site-review .wp-list-table td.column-is_pinned{padding:8px 6px}.post-type-site-review .wp-list-table td.column-is_pinned i{text-indent:0}}#available-widgets [class*=site-reviews] .widget-title:before{content:""}.glsr-no-margins{margin:0!important}::-moz-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-ms-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}::placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}::-webkit-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-moz-placeholder,::-moz-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-ms-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}
|
1 |
+
@charset "UTF-8";.glsr-addons{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));width:100%}@media only screen and (min-width:783px){.glsr-addons{gap:20px;margin:12px 0}}.glsr-addon{border:1px solid #ccd0d4;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);display:flex;flex-direction:column;position:relative}.glsr-addon-description{background-color:#fff;padding:20px;flex:auto}.glsr-addon-description p{margin:0}.glsr-addon-name{font-size:15px;margin-top:0;text-overflow:ellipsis;white-space:nowrap}.glsr-addon-footer{height:48px;background:hsla(0,0%,100%,.65);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-sizing:border-box;padding:15px;margin:0;overflow:hidden}@media screen and (max-width:782px){.glsr-addon-footer{height:58px}}.glsr-addon-screenshot{display:block;background-position:50% 50%;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #ccd0d4;padding-top:66.67%;margin:-1px}@media screen and (min-width:514px){.glsr-addon-screenshot{padding-top:100%}}.glsr-addon-screenshot[data-slug=filters]{background-color:#319796;background-image:url(../../images/addon-filters.svg)}.glsr-addon-screenshot[data-slug=forms]{background-color:#617c8b;background-image:url(../../images/addon-forms.svg)}.glsr-addon-screenshot[data-slug=images]{background-color:#6b46c1;background-image:url(../../images/addon-images.svg)}.glsr-addon-screenshot[data-slug=premium]{background-color:#1a2349;background-image:url(../../images/addon-premium.svg)}.glsr-addon-screenshot[data-slug=themes]{background-color:#00acc1;background-image:url(../../images/addon-themes.svg)}.glsr-addon-screenshot[data-slug=trustalyze]{background-color:#4282d6;background-image:url(../../images/addon-trustalyze.svg)}.glsr-addon-screenshot[data-slug=woocommerce]{background-color:#7f54b3;background-image:url(../../images/addon-woocommerce.svg)}.glsr-addon-link{position:absolute;right:15px;bottom:10px}@media screen and (max-width:782px){.glsr-addon-link{bottom:6px}}.glsr-addon-link.glsr-external:after{content:" ";font-family:dashicons;line-height:1.2;vertical-align:text-bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@-webkit-keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wp-admin .glsr-button{position:relative;white-space:nowrap;display:inline-flex;align-items:center}.wp-admin .glsr-button[disabled]{box-shadow:inset 0 0 0 1px #8f98a1;color:#6c7781}.wp-admin .glsr-button[disabled] span{font-size:0;visibility:hidden}.wp-admin .glsr-button.is-small[disabled] span{height:22px}.wp-admin .glsr-button[disabled] span:after{content:attr(data-loading);font-size:13px;visibility:visible}.wp-admin .glsr-button.is-small[disabled] span:after{font-size:11px}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt{visibility:hidden;font-size:0}.wp-admin .glsr-button:not([disabled]) span[data-alt-text].alt:after{visibility:visible;content:attr(data-alt-text);font-size:13px}.wp-admin .glsr-button.is-small:not([disabled]) span[data-alt-text].alt:after{font-size:11px}#dashboard_right_now li>span.glsr-review-count:before,#dashboard_right_now li a.glsr-review-count:before{content:"";top:-2px}.post-type-site-review #titlediv #title{margin-bottom:20px}.post-type-site-review #contentdiv textarea,.post-type-site-review .wp-editor-area{display:block;width:100%;height:320px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:16px;line-height:1.5;padding:10px;resize:vertical;-webkit-font-smoothing:antialiased!important;overflow-wrap:break-word}.post-type-site-review .misc-pub-pinned:before{display:inline-block;position:relative;content:"";font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;top:0;left:-1px;color:#82878c;padding:0 2px 0 0}.post-type-site-review .misc-pub-pinned .pinned-status-text{font-weight:600}.post-type-site-review .misc-pub-pinned .pinned-status-select{margin-top:3px}.wp-admin .glsr-response{display:block;height:6em;width:100%;margin:12px 0 0}.glsr-mce{position:relative;display:inline-block;margin-right:1px}.glsr-mce-menu.mce-menu{display:none;position:absolute;top:100%;left:0;min-width:100%;background:#fff;padding:5px 0;margin:-2px 0 0}.glsr-mce-menu-item.mce-menu-item{cursor:pointer;font-size:14px;white-space:nowrap;padding:6px 12px;margin-bottom:2px}.mce-glsr-mce-popup a{text-decoration:underline}.mce-glsr-mce-popup p{margin-bottom:1em}.mce-glsr-mce-popup p.strong{font-weight:600}.mce-glsr-mce-popup p.no-margin{margin-bottom:0}.mce-glsr-mce-popup p.margin-top{margin-top:1em}.mce-glsr-btn.mce-btn button{box-sizing:border-box;padding:0 8px}.wp-media-buttons button.glsr-mce-button{outline:none;padding-left:5px;margin-right:0}button.glsr-mce-button:after{display:inline-block;position:relative;top:-1px;left:-1px;width:0;height:0;content:"";border-top:6px solid;border-right:4px solid transparent;border-left:4px solid transparent}button.glsr-mce-button.active:after{top:-2px;border-top:0;border-bottom:6px solid}button.glsr-mce-button:active{margin-bottom:5px}button.glsr-mce-button .wp-media-buttons-icon:before{content:"";font:normal 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width:782px){button.glsr-mce-button .wp-media-buttons-icon:before{font-size:20px!important}}div.sc-wrap{margin-right:1px}#site-review-detailsdiv.postbox .inside{padding:0;margin:0}.glsr-response-postbox{margin-top:20px;margin-bottom:0}.js .glsr-response-postbox .hndle{cursor:default}.js .glsr-response-postbox .toggle-indicator:before{content:"";display:inline-block;font:normal 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .glsr-response-postbox.closed .toggle-indicator:before{content:""}.glsr-metabox-table{width:auto;padding:0 12px 12px;margin-top:12px}.glsr-metabox-table td{line-height:1.5;vertical-align:top;padding:0 14px 8px 0}.glsr-metabox-table td:first-child{font-weight:600}.glsr-metabox-table td:last-child{padding-bottom:0}.glsr-metabox-actions{border-top:1px solid #ccd0d4;background:#f5f5f5;padding:10px;clear:both}.glsr-revert-action{text-align:right;float:right;line-height:1.9}.glsr-revert-action .spinner{float:left}.glsr-metabox-field select:focus{border-color:#007cba;border-color:var(--wp-admin-theme-color);color:#016087;color:var(--wp-admin-theme-color-darker-20);box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.glsr-metabox-field{box-sizing:border-box;position:relative}.glsr-metabox-field:first-child{margin-top:12px}.glsr-metabox-field .glsr-label{box-sizing:border-box;line-height:1.5;margin:0;overflow:hidden;padding:0 12px;position:relative;white-space:nowrap;width:100%}.glsr-metabox-field .glsr-label label{display:block;font-size:14px;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis}.glsr-metabox-field .glsr-input{box-sizing:border-box;width:100%;position:relative;padding:12px;margin:0}.glsr-metabox-field .glsr-input>img{border-radius:3px;margin-top:12px}.glsr-metabox-field input[type=date],.glsr-metabox-field input[type=datetime-local],.glsr-metabox-field input[type=datetime],.glsr-metabox-field input[type=email],.glsr-metabox-field input[type=month],.glsr-metabox-field input[type=number],.glsr-metabox-field input[type=password],.glsr-metabox-field input[type=search],.glsr-metabox-field input[type=tel],.glsr-metabox-field input[type=text],.glsr-metabox-field input[type=time],.glsr-metabox-field input[type=url],.glsr-metabox-field input[type=week],.glsr-metabox-field select,.glsr-metabox-field textarea{margin:0;width:100%;padding:3px 8px;line-height:1.5;min-height:30px}.glsr-metabox-field .glsr-input label,.glsr-metabox-field input:disabled,.glsr-metabox-field select:disabled,.glsr-metabox-field textarea:disabled{cursor:default}.glsr-input-value:disabled{color:#32373c!important;background-color:#eee!important;border-color:#7e8993!important;opacity:1}@media screen and (min-width:641px){.glsr-metabox-field{display:flex;flex:1 auto}.glsr-metabox-field:first-child{margin-top:0}.glsr-metabox-field:first-child .glsr-input,.glsr-metabox-field:first-child .glsr-label{padding-top:12px}.glsr-metabox-field:last-child .glsr-input,.glsr-metabox-field:last-child .glsr-label{padding-bottom:12px}.glsr-metabox-field .glsr-label{align-items:flex-start;display:flex;background:#f9f9f9;border-right:1px solid #ddd;padding:6px 12px;min-width:150px;width:20%;line-height:40px}.glsr-metabox-field .glsr-label label{font-weight:600}.glsr-metabox-field .glsr-input{flex-direction:column;justify-content:center;display:flex;padding:6px 12px;vertical-align:top}}@media screen and (min-width:783px){.glsr-metabox-field .glsr-label{line-height:30px}}.glsr-toggle-field{display:flex;line-height:normal;height:40px}@media screen and (min-width:641px){.glsr-toggle-field{align-items:center}}@media screen and (min-width:783px){.glsr-toggle-field{height:30px}}.glsr-toggle{position:relative;display:inline-block}.glsr-toggle .glsr-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__track{transition-duration:0s}}.glsr-toggle .glsr-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:3px;left:3px;width:12px;height:12px;border-radius:50%;transition:transform .1s ease;background-color:#1e1e1e;border:5px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.glsr-toggle .glsr-toggle__thumb{transition-duration:0s}}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__track{background-color:#007cba;background-color:var(--wp-admin-theme-color);border:9px solid transparent}.glsr-toggle .glsr-toggle__input:focus+.glsr-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #007cba;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:2px}.glsr-toggle .glsr-toggle__input[type=checkbox]:checked~.glsr-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.glsr-toggle input.glsr-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.glsr-toggle input.glsr-toggle__input[type=checkbox]:checked{background:none}.glsr-toggle input.glsr-toggle__input[type=checkbox]:before{content:""}.glsr-metabox-field [data-star-rating]>select{clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:circle(1px at 0 0)!important;clip-path:circle(1px at 0 0)!important;height:1px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:absolute!important;top:0!important;visibility:visible!important;white-space:nowrap!important;width:1px!important}.glsr-metabox-field .gl-star-rating:not([data-star-rating]) .gl-star-rating--stars,.glsr-metabox-field [data-star-rating]>select:after,.glsr-metabox-field [data-star-rating]>select:before{display:none!important}.glsr-metabox-field .gl-star-rating--stars{align-items:center;color:#555d66;cursor:pointer;display:flex;float:left;position:relative;white-space:nowrap}.glsr-metabox-field [data-star-rating]>select[disabled]+.gl-star-rating--stars{color:#72777c;cursor:default}.glsr-metabox-field .gl-star-rating--stars>span{-webkit-font-smoothing:antialiased;font-family:dashicons;font-size:30px;letter-spacing:1px;line-height:1;text-align:center;transition:color .1s ease-in}@media screen and (min-width:783px){.glsr-metabox-field .gl-star-rating--stars>span{font-size:24px}}.glsr-metabox-field .gl-star-rating--stars>span:before{content:""}.glsr-metabox-field .gl-star-rating--stars.s10>span:first-child:before,.glsr-metabox-field .gl-star-rating--stars.s20>span:nth-child(-1n+2):before,.glsr-metabox-field .gl-star-rating--stars.s30>span:nth-child(-1n+3):before,.glsr-metabox-field .gl-star-rating--stars.s40>span:nth-child(-1n+4):before,.glsr-metabox-field .gl-star-rating--stars.s50>span:nth-child(-1n+5):before,.glsr-metabox-field .gl-star-rating--stars.s60>span:nth-child(-1n+6):before,.glsr-metabox-field .gl-star-rating--stars.s70>span:nth-child(-1n+7):before,.glsr-metabox-field .gl-star-rating--stars.s80>span:nth-child(-1n+8):before,.glsr-metabox-field .gl-star-rating--stars.s90>span:nth-child(-1n+9):before,.glsr-metabox-field .gl-star-rating--stars.s100>span:before{content:""}.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{border-radius:3px;border:1px solid #007cba;border:1px solid var(--wp-admin-theme-color);box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px var(--wp-admin-theme-color);box-sizing:border-box;content:"";display:block;height:40px;pointer-events:none;position:absolute;width:100%}@media screen and (min-width:783px){.glsr-metabox-field [data-star-rating]>select:focus+.gl-star-rating--stars:before{height:30px}}.glsr-notice-branded{border-left-color:#f6e05e!important;padding-left:123px}.glsr-notice-branded-image{align-items:center;border-right:1px solid #ccd0d4;bottom:0;display:flex;justify-content:center;left:0;padding:0 5px;position:absolute;width:100px}.glsr-notice-branded .glsr-notice-branded-image{background-color:#faf089;top:0}.glsr-notice-premium .glsr-notice-branded-image{background-color:#252f3f;bottom:-1px;top:-1px}.glsr-notice-branded-image svg{position:relative;top:0;left:0;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.glsr-notice:not(.notice-error):not(.notice-info):not(.notice-warning):not(.glsr-notice-branded){display:flex;border-left-color:#32373c}.glsr-notice-icon{display:flex;align-items:flex-start;margin-left:6px;margin-top:18px;margin-right:18px}.glsr-notice-icon img{width:80px;height:80px}@media only screen and (min-width:601px){.glsr-notice-icon img{width:96px;height:96px}}.glsr-notice-content{margin:6px 0}.glsr-notice-content h3{line-height:1.25;margin-top:12px;margin-bottom:12px}.glsr-notice-content .button,.glsr-notice-content p{margin-top:0;margin-bottom:12px}:root{--base00:#2b303b;--base01:#343d46;--base02:#4f5b66;--base03:#65737e;--base04:#a7adba;--base05:#c0c5ce;--base06:#dfe1e8;--base07:#eff1f5;--base08:#bf616a;--base09:#d08770;--base0A:#ebcb8b;--base0B:#a3be8c;--base0C:#96b5b4;--base0D:#8fa1b3;--base0E:#b48ead;--base0F:#ab7967}.syntax-shortcode,code[class*=language-],pre[class*=language-]{background-color:#181818;background-color:var(--base00);color:#d8d8d8;color:var(--base05);font-family:"Operator Mono Lig","Fira Code",monospace;font-size:13px;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;border-radius:2px}.syntax-shortcode,pre[class*=language-]{display:block;padding:1em;margin:.5em 0;overflow:auto}pre[class*=language-]>code{margin:0;padding:0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.bold{font-weight:bold}.token.italic{font-style:italic}.syntax-shortcode .tag{color:#ab4642;color:var(--base08)}.syntax-shortcode .attr-name{color:#ba8baf;color:var(--base0E)}.syntax-shortcode .attr-value{color:#a1b56c;color:var(--base0B)}.language-css .comment{color:#585858;color:var(--base03)}.language-css .important,.language-css .selector{color:#ba8baf;color:var(--base0E)}.language-css .function,.language-css .property,.language-css .url .function{color:#7cafc2;color:var(--base0D)}.language-css .string,.language-css .url{color:#a1b56c;color:var(--base0B)}.language-css .atrule,.language-css .atrule .punctuation,.language-css .url .punctuation{color:#d8d8d8;color:var(--base05)}.language-css .atrule .rule{color:#f7ca88;color:var(--base0A)}.language-css .atrule .keyword,.language-html .tag{color:#ab4642;color:var(--base08)}.language-html .attr-name{color:#ba8baf;color:var(--base0E)}.language-html .attr-value{color:#a1b56c;color:var(--base0B)}.language-html .attr-equals,.language-php .attr-value,.language-php .char,.language-php .constant,.language-php .package .punctuation,.language-php .property,.language-php .punctuation,.language-php .regex,.language-php .variable{color:#d8d8d8;color:var(--base05)}.language-php .block-comment,.language-php .cdata,.language-php .comment,.language-php .doctype,.language-php .prolog{color:#585858;color:var(--base03)}.language-php .string{color:#a1b56c;color:var(--base0B)}.language-php .important,.language-php .keyword,.language-php .selector{color:#ba8baf;color:var(--base0E)}.language-php .number,.language-php .operator{color:#ab4642;color:var(--base08)}.language-php .boolean,.language-php .class-name,.language-php .function,.language-php .package{color:#7cafc2;color:var(--base0D)}.shortcode-example{position:relative}.shortcode-example>input{margin:0;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#181818;background-color:var(--base00);border-radius:2px;border:0;color:#d8d8d8;color:var(--base05);display:block;font-family:"Operator Mono","Fira Code",monaco,monospace;font-size:13px;line-height:1.5;padding:1em;position:absolute;width:100%}.shortcode-example>input:active,.shortcode-example>input:focus{border:0;box-shadow:none;opacity:1!important}.glsr-progress{position:relative;display:block;height:28px;opacity:.65;text-align:center;font-size:14px}@media screen and (max-width:782px){.glsr-progress{height:31px}}.glsr-progress.active{opacity:1}.glsr-progress *{box-sizing:border-box}.glsr-progress-background,.glsr-progress-bar{height:100%;background-size:40px 40px}.glsr-progress.active .glsr-progress-background,.glsr-progress.active .glsr-progress-bar{transition:width 2.5s linear;-webkit-animation:glsr-progress-bar 1s linear infinite;animation:glsr-progress-bar 1s linear infinite}.glsr-progress-bar{position:relative;width:0;color:#fff;background-color:#616b75;background-image:linear-gradient(-45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);border:1px solid #4a5259;border-top-color:#616b75;border-radius:3px 0 0 3px;overflow:hidden;z-index:1}.glsr-progress-bar[style="width: 0%;"]{border-width:0}.glsr-progress-bar[style="width: 100%;"]{border-radius:3px}.glsr-progress-background{position:absolute;top:0;left:0;width:100%;height:28px;background-color:#f7f7f7;background-image:linear-gradient(-45deg,#fff 25%,transparent 0,transparent 50%,#fff 0,#fff 75%,transparent 0,transparent);border-radius:3px;box-shadow:inset 0 1px 2px #ccd0d4;border:1px solid #ccc}@media screen and (max-width:782px){.glsr-progress-background{height:31px}}.glsr-progress span{position:absolute;left:0;top:0;line-height:26px;color:#555;padding:0 6px}@media screen and (max-width:782px){.glsr-progress span{line-height:29px}}.glsr-progress-bar>span{color:#fff;text-shadow:0 -1px 1px #4a5259,1px 0 1px #4a5259,0 1px 1px #4a5259,-1px 0 1px #4a5259}@-webkit-keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}@keyframes glsr-progress-bar{0%{background-position:0 0}to{background-position:40px 0}}.glsr-progress .glsr-progress-bar{background-color:#681b98;border-color:#681b98 #591782 #591782}.glsr-progress .glsr-progress-bar>span{text-shadow:0 -1px 1px #591782,1px 0 1px #591782,0 1px 1px #591782,-1px 0 1px #591782}.star-rating .glsr-star{width:16px;font-size:16px;line-height:20px;color:#555}select[data-glsr-track=minimal]{border-color:#dba617!important;color:#c49515!important}select[data-glsr-track=minimal]:focus{box-shadow:0 0 0 1px #dba617}select[data-glsr-track=all]{border-color:#d63638!important;color:#d63638!important}select[data-glsr-track=all]:focus{box-shadow:0 0 0 1px #d63638}td.glsr-string-td1{position:relative;padding-bottom:2em}td.glsr-string-td1 .row-actions{position:absolute;bottom:10px;z-index:1}td.glsr-string-td2 input[type=text]:last-of-type{margin-bottom:0}td.glsr-string-td2 .description{display:block;padding-top:.5em}.is-invalid td.glsr-string-td2 .description{color:#d63638}.mobile td.glsr-string-td1 .row-actions,.no-js td.glsr-string-td1 .row-actions,td.glsr-string-td1 .row-actions.visible,tr:hover td.glsr-string-td1 .row-actions{left:10px}.is-invalid td.glsr-string-td1,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2,.is-invalid td.glsr-string-td2>div{position:relative}.is-invalid td.glsr-string-td1>button,.is-invalid td.glsr-string-td1>div,.is-invalid td.glsr-string-td2>button,.is-invalid td.glsr-string-td2>div{z-index:1}.is-invalid td.glsr-string-td1:after,.is-invalid td.glsr-string-td2:after{display:block;position:absolute;content:"";top:-1px;right:-1px;bottom:-1px;left:-1px;background:rgba(220,50,50,.06);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0}.is-invalid td.glsr-string-td1:after{background:rgba(220,50,50,.08)}.is-invalid td.glsr-string-td2 input[type=text],.is-invalid td.glsr-string-td2 textarea{border-color:#e2cbcb}@media screen and (max-width:782px){.post-type-site-review .wp-list-table .is-expanded.is-invalid td:not(.hidden){overflow:unset}}@media screen and (max-width:720px){nav a.glsr-nav-tab,nav a.glsr-nav-tab.nav-tab-active:hover{transition-property:background,color;border-bottom:1px solid #ccc;margin:10px 10px 0 0}.wrap nav.glsr-nav-tab-wrapper{border-bottom:0}}.glsr-card{max-width:800px;box-sizing:border-box}.glsr-card-result{border:1px solid #ccd0d4;background-color:#f6fbfd;padding:0 1em;margin:1em 0}.glsr-card ol{list-style:decimal;margin-left:1.5em}.glsr-card ul{list-style:disc;margin-left:1.5em}.glsr-card h2{margin-top:0;text-align:left}.glsr-heading{color:#000;font-size:14px;font-weight:600}.glsr-card.postbox{padding:0;margin-bottom:0}.glsr-card.postbox:not(:last-child){border-bottom:none}.glsr-card.postbox.closed:last-child{border-bottom:1px solid #ccd0d4}.glsr-card .components-notice{margin:0}.glsr-card .components-notice.is-info{background-color:rgba(231,245,254,.75)}.glsr-card h3.glsr-card-heading{border-top:1px solid #ccd0d4;color:inherit;font-size:inherit;font-weight:600;line-height:inherit;margin:0}.glsr-card h3.glsr-card-heading:first-child{border-top:none}.glsr-accordion-trigger{background:#fff;border:0;color:#32373c;cursor:pointer;display:flex;font-weight:400;margin:0;padding:1em 3.5em 1em 1.5em;min-height:46px;position:relative;text-align:left;width:100%;align-items:center;justify-content:space-between;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.glsr-accordion-trigger .title.dashicons-before:before{margin-left:-.25em;padding-right:.5em}.glsr-accordion-trigger:active,.glsr-accordion-trigger:hover{background:#f8f9f9}.glsr-accordion-trigger:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-1px;outline:2px solid #0071a1;background-color:#f8f9f9;z-index:1}.glsr-accordion-trigger .title{pointer-events:none;font-weight:600;font-size:16px;flex-grow:1}.glsr-accordion-trigger .icon{border:solid #555d66;border-width:0 2px 2px 0;height:.5rem;pointer-events:none;position:absolute;right:1.5em;top:50%;transform:translateY(-70%) rotate(45deg);width:.5rem}.glsr-accordion-trigger[aria-expanded=true] .icon{transform:translateY(-30%) rotate(-135deg)}.glsr-accordion-trigger .badge{padding:.1rem .5rem .15rem;color:#32373c;font-weight:500;margin-left:.5rem;border:1px solid #72aee6}.glsr-accordion-trigger .badge.important{border:1px solid #d63638}@media screen and (max-width:782px){.glsr-accordion-trigger{align-items:flex-start;flex-direction:column}.glsr-accordion-trigger .badge{margin:1em 0 0}}.glsr-card.postbox .inside{border-bottom:none;border-top:1px solid #ccd0d4;margin:0;padding:1em 1.5em}.glsr-card.postbox .inside>:not(h2):first-child{margin-top:.5em}.glsr-card.postbox .inside>:last-child{margin-bottom:.5em!important}.glsr-card p.submit{margin:0}.glsr-card code,.glsr-card pre{word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}.glsr-card dd{margin:1em 0}.glsr-card dt{font-weight:600;margin:1em 0}.glsr-card code a{text-decoration:none}.glsr-float-left{float:left;padding-right:.25em}.glsr-code[readonly]{width:100%;font-family:"Operator Mono","Fira Code",monaco,monospace;font-weight:300;white-space:pre;-webkit-font-smoothing:antialiased!important}.glsr-code-large{min-height:60vh}@media only screen and (max-width:782px){.glsr-card{max-width:inherit}}.glsr-tooltip{color:#646970;cursor:help;margin-left:6px}tr.glsr-setting-field th{width:210px}tr.glsr-setting-field th .tippy-box{font-weight:400}@media only screen and (min-width:783px){.glsr-tooltip{float:left;margin-left:0;margin-right:6px}}tr.glsr-setting-field td .inline br{display:none}tr.glsr-setting-field td .inline label:after{content:"";margin-right:1em}.glsr-setting-field a.button{margin-top:6px}.glsr-notice-inline{background:hsla(0,0%,100%,.65);color:#555;padding:4px 10px 10px;margin:10px 0 0!important}.glsr-notice-inline p{padding:0!important}.glsr-setting-field{margin:1em 0;line-height:1.5}.glsr-setting-field small code{font-size:inherit;padding:0 3px 1px}.glsr-setting-field>label{margin-right:3px}@media screen and (max-width:782px){.glsr-setting-field>label+input.small-text{margin-left:0}}.glsr-setting-field>ul{margin:0}.glsr-setting-field>ul li{margin-bottom:2px}.glsr-setting-field textarea.code,.post-type-site-review .code,.post-type-site-review code{font-family:"Operator Mono","Fira Code",monaco,monospace}.glsr-hidden{display:none}.glsr-search-box,.glsr-strings-table{position:relative;max-width:800px}.glsr-search-box *,.glsr-strings-table *{box-sizing:border-box}.glsr-search-box,.glsr-search-multibox{position:relative;margin:1em 0}.glsr-search-box.is-active .spinner,.glsr-search-multibox.is-active .spinner{visibility:visible}.glsr-search-box.is-active input[type=search]::-webkit-search-cancel-button,.glsr-search-multibox.is-active input[type=search]::-webkit-search-cancel-button{display:none!important}.glsr-search-box .description{display:block}.glsr-spinner{visibility:hidden;position:absolute;top:5px;right:5px;height:20px;width:20px;background-color:#fff;z-index:5}.glsr-spinner .spinner{margin:0}.loading-content .glsr-spinner{visibility:visible}.glsr-search-input{position:relative;width:100%;font-weight:300;line-height:1.5;padding:3px 5px;margin:0;z-index:2}.site-review_page_settings .glsr-search-input{height:32px;font-size:16px}.glsr-search-input:focus{z-index:20}.glsr-search-results{position:absolute;top:calc(100% - 4px);padding-top:4px;left:0;width:100%;max-height:315px;overflow-y:scroll;-webkit-overflow-scrolling:touch;border:1px solid #7e8993;border-top:none;box-shadow:0 1px 1px rgba(0,0,0,.04);background-color:#fff;box-sizing:border-box;border-radius:0 0 4px 4px;z-index:3}.glsr-search-results:not(.is-active){display:none}.glsr-search-results:before{display:block;background:#fff;border-left:1px solid #7e8993;border-right:1px solid #7e8993;box-sizing:border-box;content:"";height:4px;position:absolute;top:0;left:-1px;right:-1px}.glsr-search-results>div,.glsr-search-results>span{position:relative;display:block;box-sizing:border-box;height:32px;line-height:32px;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;margin-top:-1px;overflow:hidden}.glsr-search-results>div{background-color:#f6fbfd}.glsr-search-results>span:active,.glsr-search-results>span:focus,.glsr-search-results>span:hover{color:#fff;background-color:#00a0d2;cursor:pointer;outline:none}.glsr-search-box-wrap{position:relative}.glsr-strings-table{transition:opacity .2s linear}.glsr-focus .glsr-strings-table{opacity:.2;pointer-events:none}.glsr-string-td1,.glsr-string-td2{border-top:none;padding:13px 15px}.glsr-string-td1{max-width:375px;border-right:1px solid #ccd0d4;vertical-align:top}.glsr-string-td2{width:60%;max-width:375px}.glsr-strings-table p:not(.row-actions){font-size:14px;font-weight:400;line-height:1.3;color:#000}.glsr-strings-table p.row-actions{margin:0}.glsr-strings-table textarea{display:block;width:100%;margin:0}.glsr-strings-table input[type=text]{display:block;width:100%;margin:0 0 5px}.glsr-strings-table input[type=text]:active,.glsr-strings-table input[type=text]:focus{position:relative}.glsr-string-tr:last-child .glsr-string-td2,.glsr-string-tr:not(.is-expanded):last-child .glsr-string-td1{border-bottom:none}@media screen and (max-width:782px){.glsr-search-results>span{padding:0 10px}.glsr-string-td1{max-width:none;border-right:none}.glsr-string-td2{max-width:none;padding:13px 15px!important}.glsr-spinner{right:10px}}.glsr-string-tr.ui-sortable-helper{opacity:.8;display:table;box-shadow:0 1px 2px rgba(0,0,0,.1)}.ui-sortable .glsr-string-tr:hover{cursor:move}@media screen and (min-width:783px){.ui-sortable-placeholder+.glsr-string-tr .glsr-string-td2{border-top:1px solid #f1f1f1}}.ui-sortable-helper .glsr-string-td1{border-left:1px solid #999}.ui-sortable-helper .glsr-string-td1,.ui-sortable-helper .glsr-string-td2{border-top:1px solid #999!important;border-bottom:1px solid #999!important}.ui-sortable-helper .glsr-string-td2{border-right:1px solid #999}@media screen and (max-width:782px){.ui-sortable-helper .glsr-string-td1{border:1px solid #999}.ui-sortable-helper.is-expanded .glsr-string-td1{border-bottom:none!important}.ui-sortable-helper.is-expanded .glsr-string-td2{border:1px solid #999;border-top-color:#f1f1f1!important}}.glsr-search-multibox,.glsr-search-multibox-entries{display:flex;margin:0;position:relative}.glsr-search-multibox-entries{background-color:#fff;border-radius:4px;border:1px solid #7e8993;box-shadow:0 0 0 transparent;color:#32373c;flex-direction:column;width:100%;z-index:2}.glsr-search-multibox-entries:focus-within{border-color:#007cba;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent;z-index:20}.glsr-search-multibox .glsr-selected-entries{display:flex;flex-wrap:wrap;padding-right:6px}.glsr-search-multibox .glsr-selected-entries>span{align-items:center;background:rgba(0,0,0,.07);border-radius:3px;box-sizing:border-box;display:flex;font-size:11px;font-style:normal;height:24px;line-height:1;margin:6px 0 0 6px;padding:0 8px 0 24px;position:relative}.glsr-search-multibox .glsr-selected-entries a{color:inherit;pointer-events:none}.glsr-search-multibox .glsr-remove-button{left:2px}.glsr-search-multibox .glsr-remove-icon:before{color:#757575}.glsr-search-multibox input[type=search].glsr-search-input{border:none;margin:0;background:transparent;width:auto;flex-grow:1}.glsr-search-multibox input[type=search].glsr-search-input:focus{outline:none;box-shadow:none}.glsr-search-multibox .glsr-spinner{top:auto;bottom:5px;right:7px}@media screen and (max-width:782px){.glsr-search-multibox .glsr-remove-button{left:6px}.glsr-search-multibox .glsr-selected-entries>span{margin:8px 0 0 8px;font-size:14px;height:32px;padding:8px 10px 8px 30px}.glsr-search-multibox .glsr-spinner{bottom:10px;right:10px}}.glsr-multibox-entry{color:#444;display:block;margin-left:20px}.glsr-remove-button{position:absolute;left:-4px;width:20px;height:20px;border:none;margin:0;padding:0;background:0 0;cursor:pointer;text-indent:0}.glsr-remove-button:focus .glsr-remove-icon:before,.glsr-remove-button:hover .glsr-remove-icon:before{color:#1e1e1e}.glsr-remove-icon:before{margin-left:0;border-radius:50%;color:#007cba;color:var(--wp-admin-theme-color);line-height:1.28;background:0 0;content:"";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glsr-status{max-width:750px}.glsr-status th.column-primary{width:50%}.glsr-status td.column-primary{position:relative;font-size:14px!important;font-weight:600}.glsr-status td.column-primary span{font-weight:400}.glsr-status .toggle-row{top:0}.glsr-status .toggle-row:before{top:6px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{color:#82878c;text-align:center;padding-left:4px}@media screen and (max-width:782px){.glsr-status th input[type=radio]{margin-bottom:8px}.glsr-status tfoot td.glsr-radio-column,.glsr-status thead td.glsr-radio-column{padding-top:4px;padding-left:9px}}.wrap nav.glsr-nav-tab-wrapper{margin-top:12px;padding-top:0}nav.glsr-nav-tab-wrapper a.glsr-nav-tab:focus{box-shadow:none;outline-offset:-1px;outline:2px solid #0071a1}.wrap>.glsr-nav-view{margin-top:20px}.glsr-subsubsub{display:flex;flex-wrap:wrap;float:none;margin-top:.5em;text-align:left}.glsr-subsubsub li{align-items:center;display:flex}.glsr-subsubsub li a{padding:0 .2em}.glsr-subsubsub li span{margin:0 .2em}.glsr-subsubsub li:last-child span{display:none}body[class*=type-site-review] [data-tippy-root]{max-width:calc(100vw - 10px)}body[class*=type-site-review] .tippy-box{background-color:#2c3338;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity}body[class*=type-site-review] .tippy-box a{color:#72aee6}body[class*=type-site-review] .tippy-box a:hover{color:#4f94d4}body[class*=type-site-review] .tippy-box code{background-color:hsla(0,0%,100%,.25);display:inline-block;padding:0 3px;border-radius:2px}body[class*=type-site-review] .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement=top-start]{transform-origin:left bottom}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}body[class*=type-site-review] .tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}body[class*=type-site-review] .tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}body[class*=type-site-review] .tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}body[class*=type-site-review] .tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow{right:0}body[class*=type-site-review] .tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow{left:0}body[class*=type-site-review] .tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}body[class*=type-site-review] .tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}body[class*=type-site-review] .tippy-arrow{color:#2c3338;height:16px;width:16px}body[class*=type-site-review] .tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}body[class*=type-site-review] .tippy-content{padding:8px 10px;position:relative;z-index:1}.glsr-screenshot{border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box}.glsr-welcome .badge{position:absolute;top:1em;right:0;padding:.25rem .5rem;font-weight:500;font-size:16px;text-rendering:optimizeLegibility;background-color:#72777c;color:#fff;border-radius:5px}@media only screen and (max-width:500px){.glsr-welcome .badge{display:inline-block;position:relative;top:auto}}.glsr-welcome.about-wrap{margin-top:40px}.glsr-welcome.about-wrap .inside li,.glsr-welcome.about-wrap .inside p{font-size:16px}.glsr-welcome .glsr-about-text{margin:1em 0}.glsr-welcome-banner{margin:2em 0 0}.glsr-welcome .about-buttons{display:flex;flex-wrap:wrap;margin:1.5em 0}.glsr-welcome .components-button{margin:0 .5em .5em 0}.glsr-welcome .dashicon:before{font:normal 18px dashicons;margin-right:6px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glsr-welcome .glsr-nav-view{margin-top:0}.glsr-welcome ul:not(.glsr-flex-row){list-style:circle;padding-left:20px}.glsr-flex-row{display:flex;flex-direction:row;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.glsr-column{width:100%;max-width:100%;box-sizing:border-box;padding-left:20px;padding-right:20px}@media (min-width:601px){.glsr-has-2-columns .glsr-column,.glsr-has-3-columns .glsr-column{max-width:50%}}@media (min-width:783px){.glsr-has-3-columns .glsr-column{max-width:33.33%}}[class*=post-type-site-review] .row-actions .id>span{color:#999}.glsr-metabox-table .star-rating .star,.post-type-site-review .star-rating .star{width:16px;font-size:16px;line-height:20px;color:#555}.post-type-site-review .star-rating .star{margin-top:-2px}.post-type-site-review .hide-column-tog+.pinned-icon+svg,.post-type-site-review .wp-list-table .approve,.post-type-site-review .wp-list-table .status-pending .unapprove{display:none}.post-type-site-review .wp-list-table .spam .approve,.post-type-site-review .wp-list-table .status-pending .approve,.post-type-site-review .wp-list-table .trash .approve{display:inline}.post-type-site-review .wp-list-table .approve a{color:#006505}.post-type-site-review .wp-list-table .approve a:hover{color:#007f06}.post-type-site-review .wp-list-table .unapprove a{color:#d98500}.post-type-site-review .wp-list-table .unapprove a:hover{color:#f39500}.post-type-site-review .wp-list-table th.column-rating{width:100px}.post-type-site-review .wp-list-table td.column-is_pinned i.pin-review{align-items:center;cursor:pointer;display:flex;float:none;justify-content:center;margin:0;transition:none}.post-type-site-review .wp-list-table td.column-is_pinned i{line-height:24px;text-indent:-3px}.post-type-site-review .wp-list-table td.column-is_pinned i:not(.pinned){color:rgba(85,85,85,.2)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending th.check-column{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending:not(.is-expanded) td:nth-child(2){box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending.is-expanded td:last-child,.post-type-site-review .wp-list-table tr.status-pending:not(.is-expanded) td:nth-child(2),.post-type-site-review .wp-list-table tr.status-pending th.check-column{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td,.post-type-site-review .wp-list-table tr.status-pending th.check-column{background-color:#fef7f1}.post-type-site-review .wp-list-table tr.status-pending th.check-column{position:relative;border-left:4px solid #d54e21;z-index:1}.post-type-site-review .wp-list-table tr.status-pending th.check-column input{margin-left:4px}@media screen and (min-width:783px){.post-type-site-review .wp-list-table :not(.status-pending)+tr.status-pending td{box-shadow:inset 0 1px 0 rgba(0,0,0,.07),inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table tr.status-pending td{box-shadow:inset 0 -1px 0 rgba(0,0,0,.07)}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-ip_address{white-space:nowrap}.post-type-site-review .wp-list-table th.column-assigned_posts,.post-type-site-review .wp-list-table th.column-assigned_users,.post-type-site-review .wp-list-table th.column-name,.post-type-site-review .wp-list-table th.column-taxonomy-site-review-category,.post-type-site-review .wp-list-table th.column-type{width:120px}.post-type-site-review .wp-list-table th.column-is_pinned{width:45px}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon span{display:none}.post-type-site-review .wp-list-table th.column-is_pinned span.pinned-icon:after{display:inline-block;position:relative;content:"";font:normal 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:16px;height:20px;line-height:22px;font-size:16px;text-align:center}.post-type-site-review .wp-list-table th.column-is_pinned .sorting-indicator{margin-left:3px}.post-type-site-review .wp-list-table td.column-is_pinned{padding:8px 6px}.post-type-site-review .wp-list-table td.column-is_pinned i{text-indent:0}}#available-widgets [class*=site-reviews] .widget-title:before{content:""}.glsr-no-margins{margin:0!important}::-moz-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-ms-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}::placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}::-webkit-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-moz-placeholder,::-moz-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}:-ms-input-placeholder{color:#72777c!important;font-size:inherit!important;line-height:inherit!important;opacity:1}
|
config/forms/metabox-fields.php
CHANGED
@@ -26,4 +26,9 @@ return [
|
|
26 |
'label' => esc_html_x('Avatar', 'admin-text', 'site-reviews'),
|
27 |
'type' => 'url',
|
28 |
],
|
|
|
|
|
|
|
|
|
|
|
29 |
];
|
26 |
'label' => esc_html_x('Avatar', 'admin-text', 'site-reviews'),
|
27 |
'type' => 'url',
|
28 |
],
|
29 |
+
'terms' => [
|
30 |
+
'label' => esc_html_x('Terms', 'admin-text', 'site-reviews'),
|
31 |
+
'options' => [1 => _x('Terms Accepted', 'admin-text', 'site-reviews')],
|
32 |
+
'type' => 'checkbox',
|
33 |
+
],
|
34 |
];
|
languages/site-reviews-en_US.mo
CHANGED
Binary file
|
languages/site-reviews-en_US.po
CHANGED
@@ -78,15 +78,15 @@ msgstr "Tell us your email"
|
|
78 |
msgid "This review is based on my own experience and is my genuine opinion."
|
79 |
msgstr "This review is based on my own experience and is my genuine opinion."
|
80 |
|
81 |
-
#: plugin/Blocks/SiteReviewsBlock.php:
|
82 |
msgid "Show more"
|
83 |
msgstr "Show more"
|
84 |
|
85 |
-
#: plugin/Commands/CreateReview.php:
|
86 |
msgid "Your review has been submitted!"
|
87 |
msgstr "Your review has been submitted!"
|
88 |
|
89 |
-
#: plugin/Commands/CreateReview.php:
|
90 |
msgid ""
|
91 |
"Your review could not be submitted and the error has been logged. Please "
|
92 |
"notify the site administrator."
|
@@ -1196,7 +1196,7 @@ msgctxt "admin-text"
|
|
1196 |
msgid "Email"
|
1197 |
msgstr "Email"
|
1198 |
|
1199 |
-
#: config/settings.php:506
|
1200 |
msgctxt "admin-text"
|
1201 |
msgid "Terms"
|
1202 |
msgstr "Terms"
|
@@ -1488,7 +1488,7 @@ msgstr ""
|
|
1488 |
"The [%s] method has been deprecated and will be soon be removed, please use "
|
1489 |
"the [%s] method instead."
|
1490 |
|
1491 |
-
#: plugin/Review.php:
|
1492 |
msgctxt "admin-text"
|
1493 |
msgid "Unknown"
|
1494 |
msgstr "Unknown"
|
@@ -1558,6 +1558,11 @@ msgctxt "admin-text"
|
|
1558 |
msgid "Avatar"
|
1559 |
msgstr "Avatar"
|
1560 |
|
|
|
|
|
|
|
|
|
|
|
1561 |
#: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:48, plugin/Controllers/MenuController.php:51, views/pages/tools/sync.php:23
|
1562 |
msgctxt "admin-text"
|
1563 |
msgid "Settings"
|
@@ -1584,7 +1589,7 @@ msgctxt "admin-text"
|
|
1584 |
msgid "License Keys"
|
1585 |
msgstr "License Keys"
|
1586 |
|
1587 |
-
#: plugin/Blocks/SiteReviewsBlock.php:
|
1588 |
msgctxt "admin-text"
|
1589 |
msgid "You have hidden all of the fields for this block."
|
1590 |
msgstr "You have hidden all of the fields for this block."
|
@@ -1993,7 +1998,7 @@ msgctxt "admin-text"
|
|
1993 |
msgid "Save as Unapproved"
|
1994 |
msgstr "Save as Unapproved"
|
1995 |
|
1996 |
-
#: plugin/Controllers/WelcomeController.php:27, views/pages/documentation/index.php:6
|
1997 |
msgctxt "admin-text"
|
1998 |
msgid "About"
|
1999 |
msgstr "About"
|
@@ -2593,7 +2598,7 @@ msgctxt "admin-text"
|
|
2593 |
msgid "All types"
|
2594 |
msgstr "All types"
|
2595 |
|
2596 |
-
#: views/pages/addons/index.php:
|
2597 |
msgctxt "admin-text"
|
2598 |
msgid ""
|
2599 |
"All of the add-ons! Grab the special introductory discount while it still "
|
@@ -2602,32 +2607,32 @@ msgstr ""
|
|
2602 |
"All of the add-ons! Grab the special introductory discount while it still "
|
2603 |
"lasts..."
|
2604 |
|
2605 |
-
#: views/pages/addons/index.php:
|
2606 |
msgctxt "admin-text"
|
2607 |
msgid "Discover Premium"
|
2608 |
msgstr "Discover Premium"
|
2609 |
|
2610 |
-
#: views/pages/addons/index.php:
|
2611 |
msgctxt "admin-text"
|
2612 |
msgid "Allow your website visitors to sort, filter by rating, and search reviews."
|
2613 |
msgstr "Allow your website visitors to sort, filter by rating, and search reviews."
|
2614 |
|
2615 |
-
#: views/pages/addons/index.php:
|
2616 |
msgctxt "admin-text"
|
2617 |
msgid "View Add-on"
|
2618 |
msgstr "View Add-on"
|
2619 |
|
2620 |
-
#: views/pages/addons/index.php:
|
2621 |
msgctxt "admin-text"
|
2622 |
msgid "Create unique review forms with custom fields and review templates."
|
2623 |
msgstr "Create unique review forms with custom fields and review templates."
|
2624 |
|
2625 |
-
#: views/pages/addons/index.php:
|
2626 |
msgctxt "admin-text"
|
2627 |
msgid "Allow your website visitors to add images with captions to their reviews."
|
2628 |
msgstr "Allow your website visitors to add images with captions to their reviews."
|
2629 |
|
2630 |
-
#: views/pages/addons/index.php:
|
2631 |
msgctxt "admin-text"
|
2632 |
msgid ""
|
2633 |
"Create custom review designs, display reviews in a grid, change the rating "
|
@@ -2636,12 +2641,12 @@ msgstr ""
|
|
2636 |
"Create custom review designs, display reviews in a grid, change the rating "
|
2637 |
"images, and more. Early access available to Premium members only."
|
2638 |
|
2639 |
-
#: views/pages/addons/index.php:
|
2640 |
msgctxt "admin-text"
|
2641 |
msgid "Request Early Access"
|
2642 |
msgstr "Request Early Access"
|
2643 |
|
2644 |
-
#: views/pages/addons/index.php:
|
2645 |
msgctxt "admin-text"
|
2646 |
msgid ""
|
2647 |
"Integrate with the Trustalyze Confidence System and post reviews to the "
|
@@ -2650,7 +2655,7 @@ msgstr ""
|
|
2650 |
"Integrate with the Trustalyze Confidence System and post reviews to the "
|
2651 |
"blockchain."
|
2652 |
|
2653 |
-
#: views/pages/addons/index.php:
|
2654 |
msgctxt "admin-text"
|
2655 |
msgid "Integrate Site Reviews with your Woocommerce products."
|
2656 |
msgstr "Integrate Site Reviews with your Woocommerce products."
|
@@ -2765,37 +2770,257 @@ msgctxt "admin-text"
|
|
2765 |
msgid "Custom Translation"
|
2766 |
msgstr "Custom Translation"
|
2767 |
|
2768 |
-
#: views/pages/tools/console.php:
|
2769 |
msgctxt "admin-text"
|
2770 |
msgid "Download Console"
|
2771 |
msgstr "Download Console"
|
2772 |
|
2773 |
-
#: views/pages/tools/console.php:
|
2774 |
msgctxt "admin-text"
|
2775 |
msgid "Reloading..."
|
2776 |
msgstr "Reloading..."
|
2777 |
|
2778 |
-
#: views/pages/tools/console.php:
|
2779 |
msgctxt "admin-text"
|
2780 |
msgid "Reload"
|
2781 |
msgstr "Reload"
|
2782 |
|
2783 |
-
#: views/pages/tools/console.php:
|
2784 |
msgctxt "admin-text"
|
2785 |
msgid "Clearing..."
|
2786 |
msgstr "Clearing..."
|
2787 |
|
2788 |
-
#: views/pages/tools/console.php:
|
2789 |
msgctxt "admin-text"
|
2790 |
msgid "Clear"
|
2791 |
msgstr "Clear"
|
2792 |
|
2793 |
-
#: views/pages/tools/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2794 |
msgctxt "admin-text"
|
2795 |
msgid "Export Plugin Settings"
|
2796 |
msgstr "Export Plugin Settings"
|
2797 |
|
2798 |
-
#: views/pages/tools/general.php:
|
2799 |
msgctxt "admin-text"
|
2800 |
msgid ""
|
2801 |
"Export the Site Reviews settings for this site to a %s file. This allows "
|
@@ -2804,27 +3029,27 @@ msgstr ""
|
|
2804 |
"Export the Site Reviews settings for this site to a %s file. This allows "
|
2805 |
"you to easily import the plugin settings into another site."
|
2806 |
|
2807 |
-
#: views/pages/tools/general.php:
|
2808 |
msgctxt "admin-text"
|
2809 |
msgid "To export your reviews and categories, please use the WordPress %s tool."
|
2810 |
msgstr "To export your reviews and categories, please use the WordPress %s tool."
|
2811 |
|
2812 |
-
#: views/pages/tools/general.php:
|
2813 |
msgctxt "admin-text"
|
2814 |
msgid "Export"
|
2815 |
msgstr "Export"
|
2816 |
|
2817 |
-
#: views/pages/tools/general.php:
|
2818 |
msgctxt "admin-text"
|
2819 |
msgid "Export Settings"
|
2820 |
msgstr "Export Settings"
|
2821 |
|
2822 |
-
#: views/pages/tools/general.php:
|
2823 |
msgctxt "admin-text"
|
2824 |
msgid "Import Plugin Settings"
|
2825 |
msgstr "Import Plugin Settings"
|
2826 |
|
2827 |
-
#: views/pages/tools/general.php:
|
2828 |
msgctxt "admin-text"
|
2829 |
msgid ""
|
2830 |
"Import the Site Reviews settings from a %s file. This file can be obtained "
|
@@ -2833,7 +3058,7 @@ msgstr ""
|
|
2833 |
"Import the Site Reviews settings from a %s file. This file can be obtained "
|
2834 |
"by exporting the settings on another site using the export tool below."
|
2835 |
|
2836 |
-
#: views/pages/tools/general.php:
|
2837 |
msgctxt "admin-text"
|
2838 |
msgid ""
|
2839 |
"To import your reviews and categories from another website, please use the "
|
@@ -2842,27 +3067,27 @@ msgstr ""
|
|
2842 |
"To import your reviews and categories from another website, please use the "
|
2843 |
"WordPress %s tool."
|
2844 |
|
2845 |
-
#: views/pages/tools/general.php:
|
2846 |
msgctxt "admin-text"
|
2847 |
msgid "Import"
|
2848 |
msgstr "Import"
|
2849 |
|
2850 |
-
#: views/pages/tools/general.php:
|
2851 |
msgctxt "admin-text"
|
2852 |
msgid "Importing settings, please wait..."
|
2853 |
msgstr "Importing settings, please wait..."
|
2854 |
|
2855 |
-
#: views/pages/tools/general.php:
|
2856 |
msgctxt "admin-text"
|
2857 |
msgid "Import Settings"
|
2858 |
msgstr "Import Settings"
|
2859 |
|
2860 |
-
#: views/pages/tools/general.php:
|
2861 |
msgctxt "admin-text"
|
2862 |
msgid "Import Third Party Reviews"
|
2863 |
msgstr "Import Third Party Reviews"
|
2864 |
|
2865 |
-
#: views/pages/tools/general.php:
|
2866 |
msgctxt "admin-text"
|
2867 |
msgid ""
|
2868 |
"Please backup your database before running this tool! You can use the %s "
|
@@ -2871,7 +3096,7 @@ msgstr ""
|
|
2871 |
"Please backup your database before running this tool! You can use the %s "
|
2872 |
"plugin to do this."
|
2873 |
|
2874 |
-
#: views/pages/tools/general.php:
|
2875 |
msgctxt "admin-text"
|
2876 |
msgid ""
|
2877 |
"Here you can import third party reviews from a %s file. The CSV file should "
|
@@ -2882,87 +3107,87 @@ msgstr ""
|
|
2882 |
"include a header row, use a comma as the delimiter, and may contain the "
|
2883 |
"following columns:"
|
2884 |
|
2885 |
-
#: views/pages/tools/general.php:
|
2886 |
msgctxt "admin-text"
|
2887 |
msgid "The avatar URL of the reviewer"
|
2888 |
msgstr "The avatar URL of the reviewer"
|
2889 |
|
2890 |
-
#: views/pages/tools/general.php:
|
2891 |
msgctxt "admin-text"
|
2892 |
msgid "The review"
|
2893 |
msgstr "The review"
|
2894 |
|
2895 |
-
#: views/pages/tools/general.php:
|
2896 |
msgctxt "admin-text"
|
2897 |
msgid "required"
|
2898 |
msgstr "required"
|
2899 |
|
2900 |
-
#: views/pages/tools/general.php:
|
2901 |
msgctxt "admin-text"
|
2902 |
msgid "The review date as %s or a timestamp"
|
2903 |
msgstr "The review date as %s or a timestamp"
|
2904 |
|
2905 |
-
#: views/pages/tools/general.php:
|
2906 |
msgctxt "admin-text"
|
2907 |
msgid "The reviewer's email"
|
2908 |
msgstr "The reviewer's email"
|
2909 |
|
2910 |
-
#: views/pages/tools/general.php:
|
2911 |
msgctxt "admin-text"
|
2912 |
msgid "The IP address of the reviewer"
|
2913 |
msgstr "The IP address of the reviewer"
|
2914 |
|
2915 |
-
#: views/pages/tools/general.php:
|
2916 |
msgctxt "admin-text"
|
2917 |
msgid "TRUE or FALSE"
|
2918 |
msgstr "TRUE or FALSE"
|
2919 |
|
2920 |
-
#: views/pages/tools/general.php:
|
2921 |
msgctxt "admin-text"
|
2922 |
msgid "The reviewer's name"
|
2923 |
msgstr "The reviewer's name"
|
2924 |
|
2925 |
-
#: views/pages/tools/general.php:
|
2926 |
msgctxt "admin-text"
|
2927 |
msgid "A number from 0-%d"
|
2928 |
msgstr "A number from 0-%d"
|
2929 |
|
2930 |
-
#: views/pages/tools/general.php:
|
2931 |
msgctxt "admin-text"
|
2932 |
msgid "The review response"
|
2933 |
msgstr "The review response"
|
2934 |
|
2935 |
-
#: views/pages/tools/general.php:
|
2936 |
msgctxt "admin-text"
|
2937 |
msgid "The title of the review"
|
2938 |
msgstr "The title of the review"
|
2939 |
|
2940 |
-
#: views/pages/tools/general.php:
|
2941 |
msgctxt "admin-text"
|
2942 |
msgid "Entries in the CSV file that do not contain required values will be skipped."
|
2943 |
msgstr "Entries in the CSV file that do not contain required values will be skipped."
|
2944 |
|
2945 |
-
#: views/pages/tools/general.php:
|
2946 |
msgctxt "admin-text"
|
2947 |
msgid "Importing reviews, please wait..."
|
2948 |
msgstr "Importing reviews, please wait..."
|
2949 |
|
2950 |
-
#: views/pages/tools/general.php:
|
2951 |
msgctxt "admin-text"
|
2952 |
msgid "Import Reviews"
|
2953 |
msgstr "Import Reviews"
|
2954 |
|
2955 |
-
#: views/pages/tools/general.php:
|
2956 |
msgctxt "admin-text"
|
2957 |
msgid "Migrate Plugin"
|
2958 |
msgstr "Migrate Plugin"
|
2959 |
|
2960 |
-
#: views/pages/tools/general.php:
|
2961 |
msgctxt "admin-text"
|
2962 |
msgid "Hold down the ALT/Option key to force-run all previous migrations."
|
2963 |
msgstr "Hold down the ALT/Option key to force-run all previous migrations."
|
2964 |
|
2965 |
-
#: views/pages/tools/general.php:
|
2966 |
msgctxt "admin-text"
|
2967 |
msgid ""
|
2968 |
"Run this tool if your reviews stopped working correctly after upgrading the "
|
@@ -2973,27 +3198,22 @@ msgstr ""
|
|
2973 |
"plugin to the latest version (i.e. read-only reviews, zero-star ratings, "
|
2974 |
"missing role capabilities, etc.)."
|
2975 |
|
2976 |
-
#: views/pages/tools/general
|
2977 |
-
msgctxt "admin-text"
|
2978 |
-
msgid "Run All Migrations"
|
2979 |
-
msgstr "Run All Migrations"
|
2980 |
-
|
2981 |
-
#: views/pages/tools/general.php:93
|
2982 |
msgctxt "admin-text"
|
2983 |
msgid "Migrating, please wait..."
|
2984 |
msgstr "Migrating, please wait..."
|
2985 |
|
2986 |
-
#: views/pages/tools/general.php:
|
2987 |
msgctxt "admin-text"
|
2988 |
msgid "Run Migration"
|
2989 |
msgstr "Run Migration"
|
2990 |
|
2991 |
-
#: views/pages/tools/general.php:
|
2992 |
msgctxt "admin-text"
|
2993 |
msgid "Optimise Your Database Tables"
|
2994 |
msgstr "Optimise Your Database Tables"
|
2995 |
|
2996 |
-
#: views/pages/tools/general.php:
|
2997 |
msgctxt "admin-text"
|
2998 |
msgid ""
|
2999 |
"Optimisation is unnecessary because your database tables already use the "
|
@@ -3002,7 +3222,7 @@ msgstr ""
|
|
3002 |
"Optimisation is unnecessary because your database tables already use the "
|
3003 |
"InnoDB engine!"
|
3004 |
|
3005 |
-
#: views/pages/tools/general.php:
|
3006 |
msgctxt "admin-text"
|
3007 |
msgid ""
|
3008 |
"The old MyISAM table engine in MySQL was replaced by the InnoDB engine as "
|
@@ -3015,7 +3235,7 @@ msgstr ""
|
|
3015 |
"engine, you are missing out on substantial performance and reliability "
|
3016 |
"gains that the InnoDB engine provides."
|
3017 |
|
3018 |
-
#: views/pages/tools/general.php:
|
3019 |
msgctxt "admin-text"
|
3020 |
msgid ""
|
3021 |
"Site Reviews makes use of specific InnoDB engine features in order to "
|
@@ -3028,32 +3248,32 @@ msgstr ""
|
|
3028 |
"(shown below) are still using the old MyISAM engine. If you convert these "
|
3029 |
"tables to use the InnoDB engine, it will make Site Reviews perform faster."
|
3030 |
|
3031 |
-
#: views/pages/tools/general.php:
|
3032 |
msgctxt "admin-text"
|
3033 |
msgid "Table"
|
3034 |
msgstr "Table"
|
3035 |
|
3036 |
-
#: views/pages/tools/general.php:
|
3037 |
msgctxt "admin-text"
|
3038 |
msgid "Engine"
|
3039 |
msgstr "Engine"
|
3040 |
|
3041 |
-
#: views/pages/tools/general.php:
|
3042 |
msgctxt "admin-text"
|
3043 |
msgid "Converting, please wait..."
|
3044 |
msgstr "Converting, please wait..."
|
3045 |
|
3046 |
-
#: views/pages/tools/general.php:
|
3047 |
msgctxt "admin-text"
|
3048 |
msgid "Convert table engine to InnoDB"
|
3049 |
msgstr "Convert table engine to InnoDB"
|
3050 |
|
3051 |
-
#: views/pages/tools/general.php:
|
3052 |
msgctxt "admin-text"
|
3053 |
msgid "Reset Assigned Meta Values"
|
3054 |
msgstr "Reset Assigned Meta Values"
|
3055 |
|
3056 |
-
#: views/pages/tools/general.php:
|
3057 |
msgctxt "admin-text"
|
3058 |
msgid ""
|
3059 |
"Site Reviews stores the individual review count, average rating, and "
|
@@ -3066,22 +3286,22 @@ msgstr ""
|
|
3066 |
"these meta values are incorrect (perhaps you cloned a page that had reviews "
|
3067 |
"assigned to it), you may use this tool to recalculate them."
|
3068 |
|
3069 |
-
#: views/pages/tools/general.php:
|
3070 |
msgctxt "admin-text"
|
3071 |
msgid "Resetting values, please wait..."
|
3072 |
msgstr "Resetting values, please wait..."
|
3073 |
|
3074 |
-
#: views/pages/tools/general.php:
|
3075 |
msgctxt "admin-text"
|
3076 |
msgid "Reset Meta Values"
|
3077 |
msgstr "Reset Meta Values"
|
3078 |
|
3079 |
-
#: views/pages/tools/general.php:
|
3080 |
msgctxt "admin-text"
|
3081 |
msgid "Reset Permissions"
|
3082 |
msgstr "Reset Permissions"
|
3083 |
|
3084 |
-
#: views/pages/tools/general.php:
|
3085 |
msgctxt "admin-text"
|
3086 |
msgid ""
|
3087 |
"Hold down the ALT/Option key to perform a \"Hard Reset\"; this removes all "
|
@@ -3092,7 +3312,7 @@ msgstr ""
|
|
3092 |
"Site Reviews capabilites from your Editor, Author, and Contributor roles "
|
3093 |
"before re-adding them."
|
3094 |
|
3095 |
-
#: views/pages/tools/general.php:
|
3096 |
msgctxt "admin-text"
|
3097 |
msgid ""
|
3098 |
"Site Reviews provides custom post_type capabilities that mirror the "
|
@@ -3105,7 +3325,7 @@ msgstr ""
|
|
3105 |
"permission to edit others posts, then that role will also have permission "
|
3106 |
"to edit other users reviews."
|
3107 |
|
3108 |
-
#: views/pages/tools/general.php:
|
3109 |
msgctxt "admin-text"
|
3110 |
msgid ""
|
3111 |
"If you have changed the capabilities of your user roles (Administrator, "
|
@@ -3118,22 +3338,22 @@ msgstr ""
|
|
3118 |
"working correctly due to your changes, you may use this tool to reset the "
|
3119 |
"Site Reviews capabilities for your user roles."
|
3120 |
|
3121 |
-
#: views/pages/tools/general.php:
|
3122 |
msgctxt "admin-text"
|
3123 |
msgid "Hard Reset Permissions"
|
3124 |
msgstr "Hard Reset Permissions"
|
3125 |
|
3126 |
-
#: views/pages/tools/general.php:
|
3127 |
msgctxt "admin-text"
|
3128 |
msgid "Resetting, please wait..."
|
3129 |
msgstr "Resetting, please wait..."
|
3130 |
|
3131 |
-
#: views/pages/tools/general.php:
|
3132 |
msgctxt "admin-text"
|
3133 |
msgid "Test IP Address Detection"
|
3134 |
msgstr "Test IP Address Detection"
|
3135 |
|
3136 |
-
#: views/pages/tools/general.php:
|
3137 |
msgctxt "admin-text"
|
3138 |
msgid ""
|
3139 |
"When reviews are submitted on your website, Site Reviews detects the IP "
|
@@ -3148,7 +3368,7 @@ msgstr ""
|
|
3148 |
"reviewers based on their IP address. The IP address is also used by Akismet "
|
3149 |
"(if you have enabled the integration) to catch spam submissions."
|
3150 |
|
3151 |
-
#: views/pages/tools/general.php:
|
3152 |
msgctxt "admin-text"
|
3153 |
msgid ""
|
3154 |
"If you are getting an \"unknown\" value for IP addresses in your reviews, "
|
@@ -3157,231 +3377,16 @@ msgstr ""
|
|
3157 |
"If you are getting an \"unknown\" value for IP addresses in your reviews, "
|
3158 |
"you may use this tool to check the visitor IP address detection."
|
3159 |
|
3160 |
-
#: views/pages/tools/general.php:
|
3161 |
msgctxt "admin-text"
|
3162 |
msgid "Testing, please wait..."
|
3163 |
msgstr "Testing, please wait..."
|
3164 |
|
3165 |
-
#: views/pages/tools/general.php:
|
3166 |
msgctxt "admin-text"
|
3167 |
msgid "Test Detection"
|
3168 |
msgstr "Test Detection"
|
3169 |
|
3170 |
-
#: views/pages/tools/sync.php:9
|
3171 |
-
msgctxt "admin-text"
|
3172 |
-
msgid "Service"
|
3173 |
-
msgstr "Service"
|
3174 |
-
|
3175 |
-
#: views/pages/tools/sync.php:11, views/pages/tools/sync.php:34
|
3176 |
-
msgctxt "admin-text"
|
3177 |
-
msgid "Last Sync"
|
3178 |
-
msgstr "Last Sync"
|
3179 |
-
|
3180 |
-
#: views/pages/tools/sync.php:24
|
3181 |
-
msgctxt "admin-text"
|
3182 |
-
msgid "License"
|
3183 |
-
msgstr "License"
|
3184 |
-
|
3185 |
-
#: views/pages/tools/sync.php:25
|
3186 |
-
msgctxt "admin-text"
|
3187 |
-
msgid "Documentation"
|
3188 |
-
msgstr "Documentation"
|
3189 |
-
|
3190 |
-
#: views/pages/tools/sync.php:28
|
3191 |
-
msgctxt "admin-text"
|
3192 |
-
msgid "Show more details"
|
3193 |
-
msgstr "Show more details"
|
3194 |
-
|
3195 |
-
#: views/pages/tools/sync.php:43
|
3196 |
-
msgctxt "admin-text"
|
3197 |
-
msgid "Please wait..."
|
3198 |
-
msgstr "Please wait..."
|
3199 |
-
|
3200 |
-
#: views/pages/tools/sync.php:45, views/pages/tools/sync.php:48
|
3201 |
-
msgctxt "admin-text"
|
3202 |
-
msgid "Inactive"
|
3203 |
-
msgstr "Inactive"
|
3204 |
-
|
3205 |
-
#: views/pages/tools/sync.php:57
|
3206 |
-
msgctxt "admin-text"
|
3207 |
-
msgid "Syncing..."
|
3208 |
-
msgstr "Syncing..."
|
3209 |
-
|
3210 |
-
#: views/pages/tools/system-info.php:7
|
3211 |
-
msgctxt "admin-text"
|
3212 |
-
msgid "Download System Info"
|
3213 |
-
msgstr "Download System Info"
|
3214 |
-
|
3215 |
-
#: views/partials/addons/addon.php:19
|
3216 |
-
msgctxt "admin-text"
|
3217 |
-
msgid "Activate"
|
3218 |
-
msgstr "Activate"
|
3219 |
-
|
3220 |
-
#: views/partials/addons/addon.php:15
|
3221 |
-
msgctxt "admin-text"
|
3222 |
-
msgid "Installed"
|
3223 |
-
msgstr "Installed"
|
3224 |
-
|
3225 |
-
#: views/partials/addons/license-missing.php:4
|
3226 |
-
msgctxt "admin-text"
|
3227 |
-
msgid "Enter a valid license key for automatic updates."
|
3228 |
-
msgstr "Enter a valid license key for automatic updates."
|
3229 |
-
|
3230 |
-
#: views/partials/addons/support-notice.php:5
|
3231 |
-
msgctxt "admin-text"
|
3232 |
-
msgid "To receive support for this add-on, please %s to your Nifty Plugins account."
|
3233 |
-
msgstr "To receive support for this add-on, please %s to your Nifty Plugins account."
|
3234 |
-
|
3235 |
-
#: views/partials/addons/support-notice.php:6
|
3236 |
-
msgctxt "admin-text"
|
3237 |
-
msgid "login"
|
3238 |
-
msgstr "login"
|
3239 |
-
|
3240 |
-
#: views/partials/editor/assigned-entry.php:7
|
3241 |
-
msgctxt "admin-text"
|
3242 |
-
msgid "Remove assignment"
|
3243 |
-
msgstr "Remove assignment"
|
3244 |
-
|
3245 |
-
#: views/partials/editor/bulk-edit-assigned-posts.php:11, views/partials/editor/metabox-assigned-posts.php:6
|
3246 |
-
msgctxt "admin-text"
|
3247 |
-
msgid "Search by ID or title..."
|
3248 |
-
msgstr "Search by ID or title..."
|
3249 |
-
|
3250 |
-
#: views/partials/editor/bulk-edit-assigned-users.php:11, views/partials/editor/metabox-assigned-users.php:6
|
3251 |
-
msgctxt "admin-text"
|
3252 |
-
msgid "Search by ID or name..."
|
3253 |
-
msgstr "Search by ID or name..."
|
3254 |
-
|
3255 |
-
#: views/partials/editor/metabox-assigned-posts.php:9
|
3256 |
-
msgctxt "admin-text"
|
3257 |
-
msgid ""
|
3258 |
-
"Search for a Page, Post, or <abbr title=\"Custom Post Type\">CPT</abbr> "
|
3259 |
-
"that you would like to assign this review to."
|
3260 |
-
msgstr ""
|
3261 |
-
"Search for a Page, Post, or <abbr title=\"Custom Post Type\">CPT</abbr> "
|
3262 |
-
"that you would like to assign this review to."
|
3263 |
-
|
3264 |
-
#: views/partials/editor/metabox-assigned-users.php:9
|
3265 |
-
msgctxt "admin-text"
|
3266 |
-
msgid "Search for a user that you would like to assign this review to."
|
3267 |
-
msgstr "Search for a user that you would like to assign this review to."
|
3268 |
-
|
3269 |
-
#: views/partials/editor/metabox-categories.php:7
|
3270 |
-
msgctxt "admin-text"
|
3271 |
-
msgid "Most Used"
|
3272 |
-
msgstr "Most Used"
|
3273 |
-
|
3274 |
-
#: views/partials/editor/metabox-response.php:5
|
3275 |
-
msgctxt "admin-text"
|
3276 |
-
msgid "If you need to publicly respond to this review, enter your response here."
|
3277 |
-
msgstr "If you need to publicly respond to this review, enter your response here."
|
3278 |
-
|
3279 |
-
#: views/partials/editor/pinned.php:8
|
3280 |
-
msgctxt "admin-text"
|
3281 |
-
msgid "Edit pinned status"
|
3282 |
-
msgstr "Edit pinned status"
|
3283 |
-
|
3284 |
-
#: views/partials/editor/pinned.php:13
|
3285 |
-
msgctxt "admin-text"
|
3286 |
-
msgid "Pin"
|
3287 |
-
msgstr "Pin"
|
3288 |
-
|
3289 |
-
#: views/partials/editor/pinned.php:14
|
3290 |
-
msgctxt "admin-text"
|
3291 |
-
msgid "Unpin"
|
3292 |
-
msgstr "Unpin"
|
3293 |
-
|
3294 |
-
#: views/partials/editor/pinned.php:16
|
3295 |
-
msgctxt "admin-text"
|
3296 |
-
msgid "OK"
|
3297 |
-
msgstr "OK"
|
3298 |
-
|
3299 |
-
#: views/partials/editor/pinned.php:17
|
3300 |
-
msgctxt "admin-text"
|
3301 |
-
msgid "Cancel"
|
3302 |
-
msgstr "Cancel"
|
3303 |
-
|
3304 |
-
#: views/partials/editor/review.php:4
|
3305 |
-
msgctxt "admin-text"
|
3306 |
-
msgid "no title"
|
3307 |
-
msgstr "no title"
|
3308 |
-
|
3309 |
-
#: views/partials/editor/review.php:17
|
3310 |
-
msgctxt "admin-text"
|
3311 |
-
msgid "Toggle panel: Public Response"
|
3312 |
-
msgstr "Toggle panel: Public Response"
|
3313 |
-
|
3314 |
-
#: views/partials/editor/review.php:21
|
3315 |
-
msgctxt "admin-text"
|
3316 |
-
msgid "Public Response"
|
3317 |
-
msgstr "Public Response"
|
3318 |
-
|
3319 |
-
#: views/partials/notices/migrate.php:6
|
3320 |
-
msgctxt "admin-text"
|
3321 |
-
msgid "Database Update Required"
|
3322 |
-
msgstr "Database Update Required"
|
3323 |
-
|
3324 |
-
#: views/partials/notices/migrate.php:7
|
3325 |
-
msgctxt "admin-text"
|
3326 |
-
msgid ""
|
3327 |
-
"Site Reviews needs to update the database and your reviews to the newest "
|
3328 |
-
"version. If this notice keeps appearing, please read the %s section on the "
|
3329 |
-
"Help page."
|
3330 |
-
msgstr ""
|
3331 |
-
"Site Reviews needs to update the database and your reviews to the newest "
|
3332 |
-
"version. If this notice keeps appearing, please read the %s section on the "
|
3333 |
-
"Help page."
|
3334 |
-
|
3335 |
-
#: views/partials/notices/migrate.php:10
|
3336 |
-
msgctxt "admin-text"
|
3337 |
-
msgid "Updating, please wait..."
|
3338 |
-
msgstr "Updating, please wait..."
|
3339 |
-
|
3340 |
-
#: views/partials/notices/migrate.php:10
|
3341 |
-
msgctxt "admin-text"
|
3342 |
-
msgid "Update Database"
|
3343 |
-
msgstr "Update Database"
|
3344 |
-
|
3345 |
-
#: views/partials/notices/premium.php:10
|
3346 |
-
msgctxt "admin-text"
|
3347 |
-
msgid "Learn more"
|
3348 |
-
msgstr "Learn more"
|
3349 |
-
|
3350 |
-
#: views/partials/notices/welcome.php:4
|
3351 |
-
msgctxt "admin-text"
|
3352 |
-
msgid "See What's New"
|
3353 |
-
msgstr "See What's New"
|
3354 |
-
|
3355 |
-
#: views/partials/notices/welcome.php:6
|
3356 |
-
msgctxt "admin-text"
|
3357 |
-
msgid "Read the upgrade guide"
|
3358 |
-
msgstr "Read the upgrade guide"
|
3359 |
-
|
3360 |
-
#: views/partials/translations/plural.php:4, views/partials/translations/single.php:4
|
3361 |
-
msgctxt "admin-text"
|
3362 |
-
msgid "Show custom translation"
|
3363 |
-
msgstr "Show custom translation"
|
3364 |
-
|
3365 |
-
#: views/partials/translations/plural.php:11, views/partials/translations/single.php:10
|
3366 |
-
msgctxt "admin-text"
|
3367 |
-
msgid "Delete translation string"
|
3368 |
-
msgstr "Delete translation string"
|
3369 |
-
|
3370 |
-
#: views/partials/translations/plural.php:11, views/partials/translations/single.php:10
|
3371 |
-
msgctxt "admin-text"
|
3372 |
-
msgid "Delete"
|
3373 |
-
msgstr "Delete"
|
3374 |
-
|
3375 |
-
#: views/partials/translations/plural.php:19
|
3376 |
-
msgctxt "admin-text"
|
3377 |
-
msgid "singular"
|
3378 |
-
msgstr "singular"
|
3379 |
-
|
3380 |
-
#: views/partials/translations/plural.php:20
|
3381 |
-
msgctxt "admin-text"
|
3382 |
-
msgid "plural"
|
3383 |
-
msgstr "plural"
|
3384 |
-
|
3385 |
#: config/settings.php:218
|
3386 |
msgctxt "avatar size (admin-text)"
|
3387 |
msgid "pixels"
|
78 |
msgid "This review is based on my own experience and is my genuine opinion."
|
79 |
msgstr "This review is based on my own experience and is my genuine opinion."
|
80 |
|
81 |
+
#: plugin/Blocks/SiteReviewsBlock.php:135, plugin/Modules/Html/Tags/ReviewContentTag.php:26
|
82 |
msgid "Show more"
|
83 |
msgstr "Show more"
|
84 |
|
85 |
+
#: plugin/Commands/CreateReview.php:159
|
86 |
msgid "Your review has been submitted!"
|
87 |
msgstr "Your review has been submitted!"
|
88 |
|
89 |
+
#: plugin/Commands/CreateReview.php:164, views/pages/documentation/support/common-problems-and-solutions.php:65
|
90 |
msgid ""
|
91 |
"Your review could not be submitted and the error has been logged. Please "
|
92 |
"notify the site administrator."
|
1196 |
msgid "Email"
|
1197 |
msgstr "Email"
|
1198 |
|
1199 |
+
#: config/settings.php:506, config/forms/metabox-fields.php:30
|
1200 |
msgctxt "admin-text"
|
1201 |
msgid "Terms"
|
1202 |
msgstr "Terms"
|
1488 |
"The [%s] method has been deprecated and will be soon be removed, please use "
|
1489 |
"the [%s] method instead."
|
1490 |
|
1491 |
+
#: plugin/Review.php:328, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
|
1492 |
msgctxt "admin-text"
|
1493 |
msgid "Unknown"
|
1494 |
msgstr "Unknown"
|
1558 |
msgid "Avatar"
|
1559 |
msgstr "Avatar"
|
1560 |
|
1561 |
+
#: config/forms/metabox-fields.php:31
|
1562 |
+
msgctxt "admin-text"
|
1563 |
+
msgid "Terms Accepted"
|
1564 |
+
msgstr "Terms Accepted"
|
1565 |
+
|
1566 |
#: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:48, plugin/Controllers/MenuController.php:51, views/pages/tools/sync.php:23
|
1567 |
msgctxt "admin-text"
|
1568 |
msgid "Settings"
|
1589 |
msgid "License Keys"
|
1590 |
msgstr "License Keys"
|
1591 |
|
1592 |
+
#: plugin/Blocks/SiteReviewsBlock.php:109, plugin/Blocks/SiteReviewsFormBlock.php:98, plugin/Blocks/SiteReviewsSummaryBlock.php:93
|
1593 |
msgctxt "admin-text"
|
1594 |
msgid "You have hidden all of the fields for this block."
|
1595 |
msgstr "You have hidden all of the fields for this block."
|
1998 |
msgid "Save as Unapproved"
|
1999 |
msgstr "Save as Unapproved"
|
2000 |
|
2001 |
+
#: plugin/Controllers/WelcomeController.php:27, views/pages/addons/index.php:6, views/pages/documentation/index.php:6, views/pages/settings/index.php:6, views/pages/tools/index.php:6
|
2002 |
msgctxt "admin-text"
|
2003 |
msgid "About"
|
2004 |
msgstr "About"
|
2598 |
msgid "All types"
|
2599 |
msgstr "All types"
|
2600 |
|
2601 |
+
#: views/pages/addons/index.php:13
|
2602 |
msgctxt "admin-text"
|
2603 |
msgid ""
|
2604 |
"All of the add-ons! Grab the special introductory discount while it still "
|
2607 |
"All of the add-ons! Grab the special introductory discount while it still "
|
2608 |
"lasts..."
|
2609 |
|
2610 |
+
#: views/pages/addons/index.php:15
|
2611 |
msgctxt "admin-text"
|
2612 |
msgid "Discover Premium"
|
2613 |
msgstr "Discover Premium"
|
2614 |
|
2615 |
+
#: views/pages/addons/index.php:23
|
2616 |
msgctxt "admin-text"
|
2617 |
msgid "Allow your website visitors to sort, filter by rating, and search reviews."
|
2618 |
msgstr "Allow your website visitors to sort, filter by rating, and search reviews."
|
2619 |
|
2620 |
+
#: views/pages/addons/index.php:25, views/pages/addons/index.php:35, views/pages/addons/index.php:45, views/pages/addons/index.php:65, views/pages/addons/index.php:75
|
2621 |
msgctxt "admin-text"
|
2622 |
msgid "View Add-on"
|
2623 |
msgstr "View Add-on"
|
2624 |
|
2625 |
+
#: views/pages/addons/index.php:33
|
2626 |
msgctxt "admin-text"
|
2627 |
msgid "Create unique review forms with custom fields and review templates."
|
2628 |
msgstr "Create unique review forms with custom fields and review templates."
|
2629 |
|
2630 |
+
#: views/pages/addons/index.php:43
|
2631 |
msgctxt "admin-text"
|
2632 |
msgid "Allow your website visitors to add images with captions to their reviews."
|
2633 |
msgstr "Allow your website visitors to add images with captions to their reviews."
|
2634 |
|
2635 |
+
#: views/pages/addons/index.php:53
|
2636 |
msgctxt "admin-text"
|
2637 |
msgid ""
|
2638 |
"Create custom review designs, display reviews in a grid, change the rating "
|
2641 |
"Create custom review designs, display reviews in a grid, change the rating "
|
2642 |
"images, and more. Early access available to Premium members only."
|
2643 |
|
2644 |
+
#: views/pages/addons/index.php:55
|
2645 |
msgctxt "admin-text"
|
2646 |
msgid "Request Early Access"
|
2647 |
msgstr "Request Early Access"
|
2648 |
|
2649 |
+
#: views/pages/addons/index.php:63
|
2650 |
msgctxt "admin-text"
|
2651 |
msgid ""
|
2652 |
"Integrate with the Trustalyze Confidence System and post reviews to the "
|
2655 |
"Integrate with the Trustalyze Confidence System and post reviews to the "
|
2656 |
"blockchain."
|
2657 |
|
2658 |
+
#: views/pages/addons/index.php:73
|
2659 |
msgctxt "admin-text"
|
2660 |
msgid "Integrate Site Reviews with your Woocommerce products."
|
2661 |
msgstr "Integrate Site Reviews with your Woocommerce products."
|
2770 |
msgid "Custom Translation"
|
2771 |
msgstr "Custom Translation"
|
2772 |
|
2773 |
+
#: views/pages/tools/console.php:8
|
2774 |
msgctxt "admin-text"
|
2775 |
msgid "Download Console"
|
2776 |
msgstr "Download Console"
|
2777 |
|
2778 |
+
#: views/pages/tools/console.php:15
|
2779 |
msgctxt "admin-text"
|
2780 |
msgid "Reloading..."
|
2781 |
msgstr "Reloading..."
|
2782 |
|
2783 |
+
#: views/pages/tools/console.php:15
|
2784 |
msgctxt "admin-text"
|
2785 |
msgid "Reload"
|
2786 |
msgstr "Reload"
|
2787 |
|
2788 |
+
#: views/pages/tools/console.php:22
|
2789 |
msgctxt "admin-text"
|
2790 |
msgid "Clearing..."
|
2791 |
msgstr "Clearing..."
|
2792 |
|
2793 |
+
#: views/pages/tools/console.php:22
|
2794 |
msgctxt "admin-text"
|
2795 |
msgid "Clear"
|
2796 |
msgstr "Clear"
|
2797 |
|
2798 |
+
#: views/pages/tools/sync.php:9
|
2799 |
+
msgctxt "admin-text"
|
2800 |
+
msgid "Service"
|
2801 |
+
msgstr "Service"
|
2802 |
+
|
2803 |
+
#: views/pages/tools/sync.php:11, views/pages/tools/sync.php:34
|
2804 |
+
msgctxt "admin-text"
|
2805 |
+
msgid "Last Sync"
|
2806 |
+
msgstr "Last Sync"
|
2807 |
+
|
2808 |
+
#: views/pages/tools/sync.php:24
|
2809 |
+
msgctxt "admin-text"
|
2810 |
+
msgid "License"
|
2811 |
+
msgstr "License"
|
2812 |
+
|
2813 |
+
#: views/pages/tools/sync.php:25
|
2814 |
+
msgctxt "admin-text"
|
2815 |
+
msgid "Documentation"
|
2816 |
+
msgstr "Documentation"
|
2817 |
+
|
2818 |
+
#: views/pages/tools/sync.php:28
|
2819 |
+
msgctxt "admin-text"
|
2820 |
+
msgid "Show more details"
|
2821 |
+
msgstr "Show more details"
|
2822 |
+
|
2823 |
+
#: views/pages/tools/sync.php:43
|
2824 |
+
msgctxt "admin-text"
|
2825 |
+
msgid "Please wait..."
|
2826 |
+
msgstr "Please wait..."
|
2827 |
+
|
2828 |
+
#: views/pages/tools/sync.php:45, views/pages/tools/sync.php:48
|
2829 |
+
msgctxt "admin-text"
|
2830 |
+
msgid "Inactive"
|
2831 |
+
msgstr "Inactive"
|
2832 |
+
|
2833 |
+
#: views/pages/tools/sync.php:57
|
2834 |
+
msgctxt "admin-text"
|
2835 |
+
msgid "Syncing..."
|
2836 |
+
msgstr "Syncing..."
|
2837 |
+
|
2838 |
+
#: views/pages/tools/system-info.php:8
|
2839 |
+
msgctxt "admin-text"
|
2840 |
+
msgid "Download System Info"
|
2841 |
+
msgstr "Download System Info"
|
2842 |
+
|
2843 |
+
#: views/partials/addons/addon.php:19
|
2844 |
+
msgctxt "admin-text"
|
2845 |
+
msgid "Activate"
|
2846 |
+
msgstr "Activate"
|
2847 |
+
|
2848 |
+
#: views/partials/addons/addon.php:15
|
2849 |
+
msgctxt "admin-text"
|
2850 |
+
msgid "Installed"
|
2851 |
+
msgstr "Installed"
|
2852 |
+
|
2853 |
+
#: views/partials/addons/license-missing.php:4
|
2854 |
+
msgctxt "admin-text"
|
2855 |
+
msgid "Enter a valid license key for automatic updates."
|
2856 |
+
msgstr "Enter a valid license key for automatic updates."
|
2857 |
+
|
2858 |
+
#: views/partials/addons/support-notice.php:5
|
2859 |
+
msgctxt "admin-text"
|
2860 |
+
msgid "To receive support for this add-on, please %s to your Nifty Plugins account."
|
2861 |
+
msgstr "To receive support for this add-on, please %s to your Nifty Plugins account."
|
2862 |
+
|
2863 |
+
#: views/partials/addons/support-notice.php:6
|
2864 |
+
msgctxt "admin-text"
|
2865 |
+
msgid "login"
|
2866 |
+
msgstr "login"
|
2867 |
+
|
2868 |
+
#: views/partials/editor/assigned-entry.php:7
|
2869 |
+
msgctxt "admin-text"
|
2870 |
+
msgid "Remove assignment"
|
2871 |
+
msgstr "Remove assignment"
|
2872 |
+
|
2873 |
+
#: views/partials/editor/bulk-edit-assigned-posts.php:11, views/partials/editor/metabox-assigned-posts.php:6
|
2874 |
+
msgctxt "admin-text"
|
2875 |
+
msgid "Search by ID or title..."
|
2876 |
+
msgstr "Search by ID or title..."
|
2877 |
+
|
2878 |
+
#: views/partials/editor/bulk-edit-assigned-users.php:11, views/partials/editor/metabox-assigned-users.php:6
|
2879 |
+
msgctxt "admin-text"
|
2880 |
+
msgid "Search by ID or name..."
|
2881 |
+
msgstr "Search by ID or name..."
|
2882 |
+
|
2883 |
+
#: views/partials/editor/metabox-assigned-posts.php:9
|
2884 |
+
msgctxt "admin-text"
|
2885 |
+
msgid ""
|
2886 |
+
"Search for a Page, Post, or <abbr title=\"Custom Post Type\">CPT</abbr> "
|
2887 |
+
"that you would like to assign this review to."
|
2888 |
+
msgstr ""
|
2889 |
+
"Search for a Page, Post, or <abbr title=\"Custom Post Type\">CPT</abbr> "
|
2890 |
+
"that you would like to assign this review to."
|
2891 |
+
|
2892 |
+
#: views/partials/editor/metabox-assigned-users.php:9
|
2893 |
+
msgctxt "admin-text"
|
2894 |
+
msgid "Search for a user that you would like to assign this review to."
|
2895 |
+
msgstr "Search for a user that you would like to assign this review to."
|
2896 |
+
|
2897 |
+
#: views/partials/editor/metabox-categories.php:7
|
2898 |
+
msgctxt "admin-text"
|
2899 |
+
msgid "Most Used"
|
2900 |
+
msgstr "Most Used"
|
2901 |
+
|
2902 |
+
#: views/partials/editor/metabox-response.php:5
|
2903 |
+
msgctxt "admin-text"
|
2904 |
+
msgid "If you need to publicly respond to this review, enter your response here."
|
2905 |
+
msgstr "If you need to publicly respond to this review, enter your response here."
|
2906 |
+
|
2907 |
+
#: views/partials/editor/pinned.php:8
|
2908 |
+
msgctxt "admin-text"
|
2909 |
+
msgid "Edit pinned status"
|
2910 |
+
msgstr "Edit pinned status"
|
2911 |
+
|
2912 |
+
#: views/partials/editor/pinned.php:13
|
2913 |
+
msgctxt "admin-text"
|
2914 |
+
msgid "Pin"
|
2915 |
+
msgstr "Pin"
|
2916 |
+
|
2917 |
+
#: views/partials/editor/pinned.php:14
|
2918 |
+
msgctxt "admin-text"
|
2919 |
+
msgid "Unpin"
|
2920 |
+
msgstr "Unpin"
|
2921 |
+
|
2922 |
+
#: views/partials/editor/pinned.php:16
|
2923 |
+
msgctxt "admin-text"
|
2924 |
+
msgid "OK"
|
2925 |
+
msgstr "OK"
|
2926 |
+
|
2927 |
+
#: views/partials/editor/pinned.php:17
|
2928 |
+
msgctxt "admin-text"
|
2929 |
+
msgid "Cancel"
|
2930 |
+
msgstr "Cancel"
|
2931 |
+
|
2932 |
+
#: views/partials/editor/review.php:4
|
2933 |
+
msgctxt "admin-text"
|
2934 |
+
msgid "no title"
|
2935 |
+
msgstr "no title"
|
2936 |
+
|
2937 |
+
#: views/partials/editor/review.php:17
|
2938 |
+
msgctxt "admin-text"
|
2939 |
+
msgid "Toggle panel: Public Response"
|
2940 |
+
msgstr "Toggle panel: Public Response"
|
2941 |
+
|
2942 |
+
#: views/partials/editor/review.php:21
|
2943 |
+
msgctxt "admin-text"
|
2944 |
+
msgid "Public Response"
|
2945 |
+
msgstr "Public Response"
|
2946 |
+
|
2947 |
+
#: views/partials/notices/migrate.php:6
|
2948 |
+
msgctxt "admin-text"
|
2949 |
+
msgid "Database Update Required"
|
2950 |
+
msgstr "Database Update Required"
|
2951 |
+
|
2952 |
+
#: views/partials/notices/migrate.php:7
|
2953 |
+
msgctxt "admin-text"
|
2954 |
+
msgid ""
|
2955 |
+
"Site Reviews needs to update the database and your reviews to the newest "
|
2956 |
+
"version. If this notice keeps appearing, please read the %s section on the "
|
2957 |
+
"Help page."
|
2958 |
+
msgstr ""
|
2959 |
+
"Site Reviews needs to update the database and your reviews to the newest "
|
2960 |
+
"version. If this notice keeps appearing, please read the %s section on the "
|
2961 |
+
"Help page."
|
2962 |
+
|
2963 |
+
#: views/partials/notices/migrate.php:10, views/pages/tools/general/migrate-plugin.php:20
|
2964 |
+
msgctxt "admin-text"
|
2965 |
+
msgid "Run All Migrations"
|
2966 |
+
msgstr "Run All Migrations"
|
2967 |
+
|
2968 |
+
#: views/partials/notices/migrate.php:10
|
2969 |
+
msgctxt "admin-text"
|
2970 |
+
msgid "Updating, please wait..."
|
2971 |
+
msgstr "Updating, please wait..."
|
2972 |
+
|
2973 |
+
#: views/partials/notices/migrate.php:10
|
2974 |
+
msgctxt "admin-text"
|
2975 |
+
msgid "Update Database"
|
2976 |
+
msgstr "Update Database"
|
2977 |
+
|
2978 |
+
#: views/partials/notices/premium.php:10
|
2979 |
+
msgctxt "admin-text"
|
2980 |
+
msgid "Learn more"
|
2981 |
+
msgstr "Learn more"
|
2982 |
+
|
2983 |
+
#: views/partials/notices/welcome.php:4
|
2984 |
+
msgctxt "admin-text"
|
2985 |
+
msgid "See What's New"
|
2986 |
+
msgstr "See What's New"
|
2987 |
+
|
2988 |
+
#: views/partials/notices/welcome.php:6
|
2989 |
+
msgctxt "admin-text"
|
2990 |
+
msgid "Read the upgrade guide"
|
2991 |
+
msgstr "Read the upgrade guide"
|
2992 |
+
|
2993 |
+
#: views/partials/translations/plural.php:4, views/partials/translations/single.php:4
|
2994 |
+
msgctxt "admin-text"
|
2995 |
+
msgid "Show custom translation"
|
2996 |
+
msgstr "Show custom translation"
|
2997 |
+
|
2998 |
+
#: views/partials/translations/plural.php:11, views/partials/translations/single.php:10
|
2999 |
+
msgctxt "admin-text"
|
3000 |
+
msgid "Delete translation string"
|
3001 |
+
msgstr "Delete translation string"
|
3002 |
+
|
3003 |
+
#: views/partials/translations/plural.php:11, views/partials/translations/single.php:10
|
3004 |
+
msgctxt "admin-text"
|
3005 |
+
msgid "Delete"
|
3006 |
+
msgstr "Delete"
|
3007 |
+
|
3008 |
+
#: views/partials/translations/plural.php:19
|
3009 |
+
msgctxt "admin-text"
|
3010 |
+
msgid "singular"
|
3011 |
+
msgstr "singular"
|
3012 |
+
|
3013 |
+
#: views/partials/translations/plural.php:20
|
3014 |
+
msgctxt "admin-text"
|
3015 |
+
msgid "plural"
|
3016 |
+
msgstr "plural"
|
3017 |
+
|
3018 |
+
#: views/pages/tools/general/export-plugin-settings.php:6
|
3019 |
msgctxt "admin-text"
|
3020 |
msgid "Export Plugin Settings"
|
3021 |
msgstr "Export Plugin Settings"
|
3022 |
|
3023 |
+
#: views/pages/tools/general/export-plugin-settings.php:12
|
3024 |
msgctxt "admin-text"
|
3025 |
msgid ""
|
3026 |
"Export the Site Reviews settings for this site to a %s file. This allows "
|
3029 |
"Export the Site Reviews settings for this site to a %s file. This allows "
|
3030 |
"you to easily import the plugin settings into another site."
|
3031 |
|
3032 |
+
#: views/pages/tools/general/export-plugin-settings.php:16
|
3033 |
msgctxt "admin-text"
|
3034 |
msgid "To export your reviews and categories, please use the WordPress %s tool."
|
3035 |
msgstr "To export your reviews and categories, please use the WordPress %s tool."
|
3036 |
|
3037 |
+
#: views/pages/tools/general/export-plugin-settings.php:17
|
3038 |
msgctxt "admin-text"
|
3039 |
msgid "Export"
|
3040 |
msgstr "Export"
|
3041 |
|
3042 |
+
#: views/pages/tools/general/export-plugin-settings.php:23
|
3043 |
msgctxt "admin-text"
|
3044 |
msgid "Export Settings"
|
3045 |
msgstr "Export Settings"
|
3046 |
|
3047 |
+
#: views/pages/tools/general/import-plugin-settings.php:6
|
3048 |
msgctxt "admin-text"
|
3049 |
msgid "Import Plugin Settings"
|
3050 |
msgstr "Import Plugin Settings"
|
3051 |
|
3052 |
+
#: views/pages/tools/general/import-plugin-settings.php:12
|
3053 |
msgctxt "admin-text"
|
3054 |
msgid ""
|
3055 |
"Import the Site Reviews settings from a %s file. This file can be obtained "
|
3058 |
"Import the Site Reviews settings from a %s file. This file can be obtained "
|
3059 |
"by exporting the settings on another site using the export tool below."
|
3060 |
|
3061 |
+
#: views/pages/tools/general/import-plugin-settings.php:16
|
3062 |
msgctxt "admin-text"
|
3063 |
msgid ""
|
3064 |
"To import your reviews and categories from another website, please use the "
|
3067 |
"To import your reviews and categories from another website, please use the "
|
3068 |
"WordPress %s tool."
|
3069 |
|
3070 |
+
#: views/pages/tools/general/import-plugin-settings.php:17
|
3071 |
msgctxt "admin-text"
|
3072 |
msgid "Import"
|
3073 |
msgstr "Import"
|
3074 |
|
3075 |
+
#: views/pages/tools/general/import-plugin-settings.php:26
|
3076 |
msgctxt "admin-text"
|
3077 |
msgid "Importing settings, please wait..."
|
3078 |
msgstr "Importing settings, please wait..."
|
3079 |
|
3080 |
+
#: views/pages/tools/general/import-plugin-settings.php:26
|
3081 |
msgctxt "admin-text"
|
3082 |
msgid "Import Settings"
|
3083 |
msgstr "Import Settings"
|
3084 |
|
3085 |
+
#: views/pages/tools/general/import-reviews.php:6
|
3086 |
msgctxt "admin-text"
|
3087 |
msgid "Import Third Party Reviews"
|
3088 |
msgstr "Import Third Party Reviews"
|
3089 |
|
3090 |
+
#: views/pages/tools/general/import-reviews.php:13, views/pages/tools/general/optimise-db-tables.php:14
|
3091 |
msgctxt "admin-text"
|
3092 |
msgid ""
|
3093 |
"Please backup your database before running this tool! You can use the %s "
|
3096 |
"Please backup your database before running this tool! You can use the %s "
|
3097 |
"plugin to do this."
|
3098 |
|
3099 |
+
#: views/pages/tools/general/import-reviews.php:18
|
3100 |
msgctxt "admin-text"
|
3101 |
msgid ""
|
3102 |
"Here you can import third party reviews from a %s file. The CSV file should "
|
3107 |
"include a header row, use a comma as the delimiter, and may contain the "
|
3108 |
"following columns:"
|
3109 |
|
3110 |
+
#: views/pages/tools/general/import-reviews.php:22
|
3111 |
msgctxt "admin-text"
|
3112 |
msgid "The avatar URL of the reviewer"
|
3113 |
msgstr "The avatar URL of the reviewer"
|
3114 |
|
3115 |
+
#: views/pages/tools/general/import-reviews.php:23
|
3116 |
msgctxt "admin-text"
|
3117 |
msgid "The review"
|
3118 |
msgstr "The review"
|
3119 |
|
3120 |
+
#: views/pages/tools/general/import-reviews.php:23, views/pages/tools/general/import-reviews.php:24, views/pages/tools/general/import-reviews.php:29
|
3121 |
msgctxt "admin-text"
|
3122 |
msgid "required"
|
3123 |
msgstr "required"
|
3124 |
|
3125 |
+
#: views/pages/tools/general/import-reviews.php:24
|
3126 |
msgctxt "admin-text"
|
3127 |
msgid "The review date as %s or a timestamp"
|
3128 |
msgstr "The review date as %s or a timestamp"
|
3129 |
|
3130 |
+
#: views/pages/tools/general/import-reviews.php:25
|
3131 |
msgctxt "admin-text"
|
3132 |
msgid "The reviewer's email"
|
3133 |
msgstr "The reviewer's email"
|
3134 |
|
3135 |
+
#: views/pages/tools/general/import-reviews.php:26
|
3136 |
msgctxt "admin-text"
|
3137 |
msgid "The IP address of the reviewer"
|
3138 |
msgstr "The IP address of the reviewer"
|
3139 |
|
3140 |
+
#: views/pages/tools/general/import-reviews.php:27
|
3141 |
msgctxt "admin-text"
|
3142 |
msgid "TRUE or FALSE"
|
3143 |
msgstr "TRUE or FALSE"
|
3144 |
|
3145 |
+
#: views/pages/tools/general/import-reviews.php:28
|
3146 |
msgctxt "admin-text"
|
3147 |
msgid "The reviewer's name"
|
3148 |
msgstr "The reviewer's name"
|
3149 |
|
3150 |
+
#: views/pages/tools/general/import-reviews.php:29
|
3151 |
msgctxt "admin-text"
|
3152 |
msgid "A number from 0-%d"
|
3153 |
msgstr "A number from 0-%d"
|
3154 |
|
3155 |
+
#: views/pages/tools/general/import-reviews.php:30
|
3156 |
msgctxt "admin-text"
|
3157 |
msgid "The review response"
|
3158 |
msgstr "The review response"
|
3159 |
|
3160 |
+
#: views/pages/tools/general/import-reviews.php:31
|
3161 |
msgctxt "admin-text"
|
3162 |
msgid "The title of the review"
|
3163 |
msgstr "The title of the review"
|
3164 |
|
3165 |
+
#: views/pages/tools/general/import-reviews.php:33
|
3166 |
msgctxt "admin-text"
|
3167 |
msgid "Entries in the CSV file that do not contain required values will be skipped."
|
3168 |
msgstr "Entries in the CSV file that do not contain required values will be skipped."
|
3169 |
|
3170 |
+
#: views/pages/tools/general/import-reviews.php:41
|
3171 |
msgctxt "admin-text"
|
3172 |
msgid "Importing reviews, please wait..."
|
3173 |
msgstr "Importing reviews, please wait..."
|
3174 |
|
3175 |
+
#: views/pages/tools/general/import-reviews.php:41
|
3176 |
msgctxt "admin-text"
|
3177 |
msgid "Import Reviews"
|
3178 |
msgstr "Import Reviews"
|
3179 |
|
3180 |
+
#: views/pages/tools/general/migrate-plugin.php:6
|
3181 |
msgctxt "admin-text"
|
3182 |
msgid "Migrate Plugin"
|
3183 |
msgstr "Migrate Plugin"
|
3184 |
|
3185 |
+
#: views/pages/tools/general/migrate-plugin.php:12
|
3186 |
msgctxt "admin-text"
|
3187 |
msgid "Hold down the ALT/Option key to force-run all previous migrations."
|
3188 |
msgstr "Hold down the ALT/Option key to force-run all previous migrations."
|
3189 |
|
3190 |
+
#: views/pages/tools/general/migrate-plugin.php:14
|
3191 |
msgctxt "admin-text"
|
3192 |
msgid ""
|
3193 |
"Run this tool if your reviews stopped working correctly after upgrading the "
|
3198 |
"plugin to the latest version (i.e. read-only reviews, zero-star ratings, "
|
3199 |
"missing role capabilities, etc.)."
|
3200 |
|
3201 |
+
#: views/pages/tools/general/migrate-plugin.php:20
|
|
|
|
|
|
|
|
|
|
|
3202 |
msgctxt "admin-text"
|
3203 |
msgid "Migrating, please wait..."
|
3204 |
msgstr "Migrating, please wait..."
|
3205 |
|
3206 |
+
#: views/pages/tools/general/migrate-plugin.php:20
|
3207 |
msgctxt "admin-text"
|
3208 |
msgid "Run Migration"
|
3209 |
msgstr "Run Migration"
|
3210 |
|
3211 |
+
#: views/pages/tools/general/optimise-db-tables.php:6
|
3212 |
msgctxt "admin-text"
|
3213 |
msgid "Optimise Your Database Tables"
|
3214 |
msgstr "Optimise Your Database Tables"
|
3215 |
|
3216 |
+
#: views/pages/tools/general/optimise-db-tables.php:49
|
3217 |
msgctxt "admin-text"
|
3218 |
msgid ""
|
3219 |
"Optimisation is unnecessary because your database tables already use the "
|
3222 |
"Optimisation is unnecessary because your database tables already use the "
|
3223 |
"InnoDB engine!"
|
3224 |
|
3225 |
+
#: views/pages/tools/general/optimise-db-tables.php:18
|
3226 |
msgctxt "admin-text"
|
3227 |
msgid ""
|
3228 |
"The old MyISAM table engine in MySQL was replaced by the InnoDB engine as "
|
3235 |
"engine, you are missing out on substantial performance and reliability "
|
3236 |
"gains that the InnoDB engine provides."
|
3237 |
|
3238 |
+
#: views/pages/tools/general/optimise-db-tables.php:19
|
3239 |
msgctxt "admin-text"
|
3240 |
msgid ""
|
3241 |
"Site Reviews makes use of specific InnoDB engine features in order to "
|
3248 |
"(shown below) are still using the old MyISAM engine. If you convert these "
|
3249 |
"tables to use the InnoDB engine, it will make Site Reviews perform faster."
|
3250 |
|
3251 |
+
#: views/pages/tools/general/optimise-db-tables.php:23
|
3252 |
msgctxt "admin-text"
|
3253 |
msgid "Table"
|
3254 |
msgstr "Table"
|
3255 |
|
3256 |
+
#: views/pages/tools/general/optimise-db-tables.php:24
|
3257 |
msgctxt "admin-text"
|
3258 |
msgid "Engine"
|
3259 |
msgstr "Engine"
|
3260 |
|
3261 |
+
#: views/pages/tools/general/optimise-db-tables.php:39
|
3262 |
msgctxt "admin-text"
|
3263 |
msgid "Converting, please wait..."
|
3264 |
msgstr "Converting, please wait..."
|
3265 |
|
3266 |
+
#: views/pages/tools/general/optimise-db-tables.php:39
|
3267 |
msgctxt "admin-text"
|
3268 |
msgid "Convert table engine to InnoDB"
|
3269 |
msgstr "Convert table engine to InnoDB"
|
3270 |
|
3271 |
+
#: views/pages/tools/general/reset-assigned-meta.php:6
|
3272 |
msgctxt "admin-text"
|
3273 |
msgid "Reset Assigned Meta Values"
|
3274 |
msgstr "Reset Assigned Meta Values"
|
3275 |
|
3276 |
+
#: views/pages/tools/general/reset-assigned-meta.php:11
|
3277 |
msgctxt "admin-text"
|
3278 |
msgid ""
|
3279 |
"Site Reviews stores the individual review count, average rating, and "
|
3286 |
"these meta values are incorrect (perhaps you cloned a page that had reviews "
|
3287 |
"assigned to it), you may use this tool to recalculate them."
|
3288 |
|
3289 |
+
#: views/pages/tools/general/reset-assigned-meta.php:16
|
3290 |
msgctxt "admin-text"
|
3291 |
msgid "Resetting values, please wait..."
|
3292 |
msgstr "Resetting values, please wait..."
|
3293 |
|
3294 |
+
#: views/pages/tools/general/reset-assigned-meta.php:16
|
3295 |
msgctxt "admin-text"
|
3296 |
msgid "Reset Meta Values"
|
3297 |
msgstr "Reset Meta Values"
|
3298 |
|
3299 |
+
#: views/pages/tools/general/reset-permissions.php:6, views/pages/tools/general/reset-permissions.php:21
|
3300 |
msgctxt "admin-text"
|
3301 |
msgid "Reset Permissions"
|
3302 |
msgstr "Reset Permissions"
|
3303 |
|
3304 |
+
#: views/pages/tools/general/reset-permissions.php:12
|
3305 |
msgctxt "admin-text"
|
3306 |
msgid ""
|
3307 |
"Hold down the ALT/Option key to perform a \"Hard Reset\"; this removes all "
|
3312 |
"Site Reviews capabilites from your Editor, Author, and Contributor roles "
|
3313 |
"before re-adding them."
|
3314 |
|
3315 |
+
#: views/pages/tools/general/reset-permissions.php:14
|
3316 |
msgctxt "admin-text"
|
3317 |
msgid ""
|
3318 |
"Site Reviews provides custom post_type capabilities that mirror the "
|
3325 |
"permission to edit others posts, then that role will also have permission "
|
3326 |
"to edit other users reviews."
|
3327 |
|
3328 |
+
#: views/pages/tools/general/reset-permissions.php:15
|
3329 |
msgctxt "admin-text"
|
3330 |
msgid ""
|
3331 |
"If you have changed the capabilities of your user roles (Administrator, "
|
3338 |
"working correctly due to your changes, you may use this tool to reset the "
|
3339 |
"Site Reviews capabilities for your user roles."
|
3340 |
|
3341 |
+
#: views/pages/tools/general/reset-permissions.php:21
|
3342 |
msgctxt "admin-text"
|
3343 |
msgid "Hard Reset Permissions"
|
3344 |
msgstr "Hard Reset Permissions"
|
3345 |
|
3346 |
+
#: views/pages/tools/general/reset-permissions.php:21
|
3347 |
msgctxt "admin-text"
|
3348 |
msgid "Resetting, please wait..."
|
3349 |
msgstr "Resetting, please wait..."
|
3350 |
|
3351 |
+
#: views/pages/tools/general/test-ip-detection.php:4
|
3352 |
msgctxt "admin-text"
|
3353 |
msgid "Test IP Address Detection"
|
3354 |
msgstr "Test IP Address Detection"
|
3355 |
|
3356 |
+
#: views/pages/tools/general/test-ip-detection.php:9
|
3357 |
msgctxt "admin-text"
|
3358 |
msgid ""
|
3359 |
"When reviews are submitted on your website, Site Reviews detects the IP "
|
3368 |
"reviewers based on their IP address. The IP address is also used by Akismet "
|
3369 |
"(if you have enabled the integration) to catch spam submissions."
|
3370 |
|
3371 |
+
#: views/pages/tools/general/test-ip-detection.php:10
|
3372 |
msgctxt "admin-text"
|
3373 |
msgid ""
|
3374 |
"If you are getting an \"unknown\" value for IP addresses in your reviews, "
|
3377 |
"If you are getting an \"unknown\" value for IP addresses in your reviews, "
|
3378 |
"you may use this tool to check the visitor IP address detection."
|
3379 |
|
3380 |
+
#: views/pages/tools/general/test-ip-detection.php:15
|
3381 |
msgctxt "admin-text"
|
3382 |
msgid "Testing, please wait..."
|
3383 |
msgstr "Testing, please wait..."
|
3384 |
|
3385 |
+
#: views/pages/tools/general/test-ip-detection.php:15
|
3386 |
msgctxt "admin-text"
|
3387 |
msgid "Test Detection"
|
3388 |
msgstr "Test Detection"
|
3389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3390 |
#: config/settings.php:218
|
3391 |
msgctxt "avatar size (admin-text)"
|
3392 |
msgid "pixels"
|
languages/site-reviews.pot
CHANGED
@@ -827,7 +827,7 @@ msgctxt "admin-text"
|
|
827 |
msgid "Email"
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: config/settings.php:506
|
831 |
msgctxt "admin-text"
|
832 |
msgid "Terms"
|
833 |
msgstr ""
|
@@ -1067,7 +1067,7 @@ msgctxt "admin-text"
|
|
1067 |
msgid "The [%s] method has been deprecated and will be soon be removed, please use the [%s] method instead."
|
1068 |
msgstr ""
|
1069 |
|
1070 |
-
#: plugin/Review.php:
|
1071 |
msgctxt "admin-text"
|
1072 |
msgid "Unknown"
|
1073 |
msgstr ""
|
@@ -1141,6 +1141,11 @@ msgctxt "admin-text"
|
|
1141 |
msgid "Avatar"
|
1142 |
msgstr ""
|
1143 |
|
|
|
|
|
|
|
|
|
|
|
1144 |
#: config/forms/review-form.php:5
|
1145 |
msgid "Your overall rating"
|
1146 |
msgstr ""
|
@@ -1201,20 +1206,20 @@ msgctxt "admin-text"
|
|
1201 |
msgid "License Keys"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: plugin/Blocks/SiteReviewsBlock.php:
|
1205 |
msgctxt "admin-text"
|
1206 |
msgid "You have hidden all of the fields for this block."
|
1207 |
msgstr ""
|
1208 |
|
1209 |
-
#: plugin/Blocks/SiteReviewsBlock.php:
|
1210 |
msgid "Show more"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
-
#: plugin/Commands/CreateReview.php:
|
1214 |
msgid "Your review has been submitted!"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
-
#: plugin/Commands/CreateReview.php:
|
1218 |
msgid "Your review could not be submitted and the error has been logged. Please notify the site administrator."
|
1219 |
msgstr ""
|
1220 |
|
@@ -1629,7 +1634,7 @@ msgctxt "admin-text"
|
|
1629 |
msgid "Save as Unapproved"
|
1630 |
msgstr ""
|
1631 |
|
1632 |
-
#: plugin/Controllers/WelcomeController.php:27, views/pages/documentation/index.php:6
|
1633 |
msgctxt "admin-text"
|
1634 |
msgid "About"
|
1635 |
msgstr ""
|
@@ -2455,52 +2460,52 @@ msgstr ""
|
|
2455 |
msgid "You have already submitted a review."
|
2456 |
msgstr ""
|
2457 |
|
2458 |
-
#: views/pages/addons/index.php:
|
2459 |
msgctxt "admin-text"
|
2460 |
msgid "All of the add-ons! Grab the special introductory discount while it still lasts..."
|
2461 |
msgstr ""
|
2462 |
|
2463 |
-
#: views/pages/addons/index.php:
|
2464 |
msgctxt "admin-text"
|
2465 |
msgid "Discover Premium"
|
2466 |
msgstr ""
|
2467 |
|
2468 |
-
#: views/pages/addons/index.php:
|
2469 |
msgctxt "admin-text"
|
2470 |
msgid "Allow your website visitors to sort, filter by rating, and search reviews."
|
2471 |
msgstr ""
|
2472 |
|
2473 |
-
#: views/pages/addons/index.php:
|
2474 |
msgctxt "admin-text"
|
2475 |
msgid "View Add-on"
|
2476 |
msgstr ""
|
2477 |
|
2478 |
-
#: views/pages/addons/index.php:
|
2479 |
msgctxt "admin-text"
|
2480 |
msgid "Create unique review forms with custom fields and review templates."
|
2481 |
msgstr ""
|
2482 |
|
2483 |
-
#: views/pages/addons/index.php:
|
2484 |
msgctxt "admin-text"
|
2485 |
msgid "Allow your website visitors to add images with captions to their reviews."
|
2486 |
msgstr ""
|
2487 |
|
2488 |
-
#: views/pages/addons/index.php:
|
2489 |
msgctxt "admin-text"
|
2490 |
msgid "Create custom review designs, display reviews in a grid, change the rating images, and more. Early access available to Premium members only."
|
2491 |
msgstr ""
|
2492 |
|
2493 |
-
#: views/pages/addons/index.php:
|
2494 |
msgctxt "admin-text"
|
2495 |
msgid "Request Early Access"
|
2496 |
msgstr ""
|
2497 |
|
2498 |
-
#: views/pages/addons/index.php:
|
2499 |
msgctxt "admin-text"
|
2500 |
msgid "Integrate with the Trustalyze Confidence System and post reviews to the blockchain."
|
2501 |
msgstr ""
|
2502 |
|
2503 |
-
#: views/pages/addons/index.php:
|
2504 |
msgctxt "admin-text"
|
2505 |
msgid "Integrate Site Reviews with your Woocommerce products."
|
2506 |
msgstr ""
|
@@ -2585,575 +2590,575 @@ msgctxt "admin-text"
|
|
2585 |
msgid "Custom Translation"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
-
#: views/pages/tools/console.php:
|
2589 |
msgctxt "admin-text"
|
2590 |
msgid "Download Console"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
-
#: views/pages/tools/console.php:
|
2594 |
msgctxt "admin-text"
|
2595 |
msgid "Reloading..."
|
2596 |
msgstr ""
|
2597 |
|
2598 |
-
#: views/pages/tools/console.php:
|
2599 |
msgctxt "admin-text"
|
2600 |
msgid "Reload"
|
2601 |
msgstr ""
|
2602 |
|
2603 |
-
#: views/pages/tools/console.php:
|
2604 |
msgctxt "admin-text"
|
2605 |
msgid "Clearing..."
|
2606 |
msgstr ""
|
2607 |
|
2608 |
-
#: views/pages/tools/console.php:
|
2609 |
msgctxt "admin-text"
|
2610 |
msgid "Clear"
|
2611 |
msgstr ""
|
2612 |
|
2613 |
-
#: views/pages/tools/
|
2614 |
msgctxt "admin-text"
|
2615 |
-
msgid "
|
2616 |
msgstr ""
|
2617 |
|
2618 |
-
#: views/pages/tools/
|
2619 |
msgctxt "admin-text"
|
2620 |
-
msgid "
|
2621 |
msgstr ""
|
2622 |
|
2623 |
-
#: views/pages/tools/
|
2624 |
msgctxt "admin-text"
|
2625 |
-
msgid "
|
2626 |
msgstr ""
|
2627 |
|
2628 |
-
#: views/pages/tools/
|
2629 |
msgctxt "admin-text"
|
2630 |
-
msgid "
|
2631 |
msgstr ""
|
2632 |
|
2633 |
-
#: views/pages/tools/
|
2634 |
msgctxt "admin-text"
|
2635 |
-
msgid "
|
2636 |
msgstr ""
|
2637 |
|
2638 |
-
#: views/pages/tools/
|
2639 |
msgctxt "admin-text"
|
2640 |
-
msgid "
|
2641 |
msgstr ""
|
2642 |
|
2643 |
-
#: views/pages/tools/
|
2644 |
msgctxt "admin-text"
|
2645 |
-
msgid "
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: views/pages/tools/
|
2649 |
msgctxt "admin-text"
|
2650 |
-
msgid "
|
2651 |
msgstr ""
|
2652 |
|
2653 |
-
#: views/pages/tools/
|
2654 |
msgctxt "admin-text"
|
2655 |
-
msgid "
|
2656 |
msgstr ""
|
2657 |
|
2658 |
-
#: views/
|
2659 |
msgctxt "admin-text"
|
2660 |
-
msgid "
|
2661 |
msgstr ""
|
2662 |
|
2663 |
-
#: views/
|
2664 |
msgctxt "admin-text"
|
2665 |
-
msgid "
|
2666 |
msgstr ""
|
2667 |
|
2668 |
-
#: views/
|
2669 |
msgctxt "admin-text"
|
2670 |
-
msgid "
|
2671 |
msgstr ""
|
2672 |
|
2673 |
-
#: views/
|
2674 |
msgctxt "admin-text"
|
2675 |
-
msgid "
|
2676 |
msgstr ""
|
2677 |
|
2678 |
-
#: views/
|
2679 |
msgctxt "admin-text"
|
2680 |
-
msgid "
|
2681 |
msgstr ""
|
2682 |
|
2683 |
-
#: views/
|
2684 |
msgctxt "admin-text"
|
2685 |
-
msgid "
|
2686 |
msgstr ""
|
2687 |
|
2688 |
-
#: views/
|
2689 |
msgctxt "admin-text"
|
2690 |
-
msgid "
|
2691 |
msgstr ""
|
2692 |
|
2693 |
-
#: views/
|
2694 |
msgctxt "admin-text"
|
2695 |
-
msgid "
|
2696 |
msgstr ""
|
2697 |
|
2698 |
-
#: views/
|
2699 |
msgctxt "admin-text"
|
2700 |
-
msgid "
|
2701 |
msgstr ""
|
2702 |
|
2703 |
-
#: views/
|
2704 |
msgctxt "admin-text"
|
2705 |
-
msgid "
|
2706 |
msgstr ""
|
2707 |
|
2708 |
-
#: views/
|
2709 |
msgctxt "admin-text"
|
2710 |
-
msgid "
|
2711 |
msgstr ""
|
2712 |
|
2713 |
-
#: views/
|
2714 |
msgctxt "admin-text"
|
2715 |
-
msgid "
|
2716 |
msgstr ""
|
2717 |
|
2718 |
-
#: views/
|
2719 |
msgctxt "admin-text"
|
2720 |
-
msgid "
|
2721 |
msgstr ""
|
2722 |
|
2723 |
-
#: views/
|
2724 |
msgctxt "admin-text"
|
2725 |
-
msgid "
|
2726 |
msgstr ""
|
2727 |
|
2728 |
-
#: views/
|
2729 |
msgctxt "admin-text"
|
2730 |
-
msgid "
|
2731 |
msgstr ""
|
2732 |
|
2733 |
-
#: views/
|
2734 |
msgctxt "admin-text"
|
2735 |
-
msgid "
|
2736 |
msgstr ""
|
2737 |
|
2738 |
-
#: views/
|
2739 |
msgctxt "admin-text"
|
2740 |
-
msgid "
|
2741 |
msgstr ""
|
2742 |
|
2743 |
-
#: views/
|
2744 |
msgctxt "admin-text"
|
2745 |
-
msgid "
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: views/
|
2749 |
msgctxt "admin-text"
|
2750 |
-
msgid "
|
2751 |
msgstr ""
|
2752 |
|
2753 |
-
#: views/
|
2754 |
msgctxt "admin-text"
|
2755 |
-
msgid "
|
2756 |
msgstr ""
|
2757 |
|
2758 |
-
#: views/
|
2759 |
msgctxt "admin-text"
|
2760 |
-
msgid "
|
2761 |
msgstr ""
|
2762 |
|
2763 |
-
#: views/
|
2764 |
msgctxt "admin-text"
|
2765 |
-
msgid "
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: views/
|
2769 |
msgctxt "admin-text"
|
2770 |
msgid "Run All Migrations"
|
2771 |
msgstr ""
|
2772 |
|
2773 |
-
#: views/
|
2774 |
msgctxt "admin-text"
|
2775 |
-
msgid "
|
2776 |
msgstr ""
|
2777 |
|
2778 |
-
#: views/
|
2779 |
msgctxt "admin-text"
|
2780 |
-
msgid "
|
2781 |
msgstr ""
|
2782 |
|
2783 |
-
#: views/
|
2784 |
msgctxt "admin-text"
|
2785 |
-
msgid "
|
2786 |
msgstr ""
|
2787 |
|
2788 |
-
#: views/
|
2789 |
msgctxt "admin-text"
|
2790 |
-
msgid "
|
2791 |
msgstr ""
|
2792 |
|
2793 |
-
#: views/
|
2794 |
msgctxt "admin-text"
|
2795 |
-
msgid "
|
2796 |
msgstr ""
|
2797 |
|
2798 |
-
#: views/
|
2799 |
msgctxt "admin-text"
|
2800 |
-
msgid "
|
2801 |
msgstr ""
|
2802 |
|
2803 |
-
#: views/
|
2804 |
msgctxt "admin-text"
|
2805 |
-
msgid "
|
2806 |
msgstr ""
|
2807 |
|
2808 |
-
#: views/
|
2809 |
msgctxt "admin-text"
|
2810 |
-
msgid "
|
2811 |
msgstr ""
|
2812 |
|
2813 |
-
#: views/
|
2814 |
msgctxt "admin-text"
|
2815 |
-
msgid "
|
2816 |
msgstr ""
|
2817 |
|
2818 |
-
#: views/
|
2819 |
msgctxt "admin-text"
|
2820 |
-
msgid "
|
2821 |
msgstr ""
|
2822 |
|
2823 |
-
#:
|
2824 |
-
|
2825 |
-
|
|
|
|
|
|
|
|
|
|
|
2826 |
msgstr ""
|
2827 |
|
2828 |
-
#:
|
2829 |
-
|
2830 |
-
msgid "Site Reviews stores the individual review count, average rating, and ranking for each assigned post, category, and user. If you suspect that these meta values are incorrect (perhaps you cloned a page that had reviews assigned to it), you may use this tool to recalculate them."
|
2831 |
msgstr ""
|
2832 |
|
2833 |
-
#:
|
2834 |
-
|
2835 |
-
msgid "Resetting values, please wait..."
|
2836 |
msgstr ""
|
2837 |
|
2838 |
-
#:
|
2839 |
-
msgctxt "
|
2840 |
-
msgid "
|
2841 |
msgstr ""
|
2842 |
|
2843 |
-
#:
|
2844 |
-
|
2845 |
-
msgid "Reset Permissions"
|
2846 |
msgstr ""
|
2847 |
|
2848 |
-
#:
|
2849 |
-
|
2850 |
-
msgid "Hold down the ALT/Option key to perform a \"Hard Reset\"; this removes all Site Reviews capabilites from your Editor, Author, and Contributor roles before re-adding them."
|
2851 |
msgstr ""
|
2852 |
|
2853 |
-
#:
|
2854 |
-
|
2855 |
-
msgid "Site Reviews provides custom post_type capabilities that mirror the capabilities of your posts by default. For example, if a user role has permission to edit others posts, then that role will also have permission to edit other users reviews."
|
2856 |
msgstr ""
|
2857 |
|
2858 |
-
#:
|
2859 |
-
|
2860 |
-
msgid "If you have changed the capabilities of your user roles (Administrator, Editor, Author, and Contributor) and you suspect that Site Reviews is not working correctly due to your changes, you may use this tool to reset the Site Reviews capabilities for your user roles."
|
2861 |
msgstr ""
|
2862 |
|
2863 |
-
#:
|
2864 |
-
|
2865 |
-
msgid "Hard Reset Permissions"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
-
#:
|
2869 |
-
|
2870 |
-
msgid "Resetting, please wait..."
|
2871 |
msgstr ""
|
2872 |
|
2873 |
-
#:
|
2874 |
-
|
2875 |
-
msgid "Test IP Address Detection"
|
2876 |
msgstr ""
|
2877 |
|
2878 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2879 |
msgctxt "admin-text"
|
2880 |
-
msgid "
|
2881 |
msgstr ""
|
2882 |
|
2883 |
-
#: views/pages/tools/general.php:
|
2884 |
msgctxt "admin-text"
|
2885 |
-
msgid "
|
2886 |
msgstr ""
|
2887 |
|
2888 |
-
#: views/pages/tools/general.php:
|
2889 |
msgctxt "admin-text"
|
2890 |
-
msgid "
|
2891 |
msgstr ""
|
2892 |
|
2893 |
-
#: views/pages/tools/general.php:
|
2894 |
msgctxt "admin-text"
|
2895 |
-
msgid "
|
2896 |
msgstr ""
|
2897 |
|
2898 |
-
#: views/pages/tools/
|
2899 |
msgctxt "admin-text"
|
2900 |
-
msgid "
|
2901 |
msgstr ""
|
2902 |
|
2903 |
-
#: views/pages/tools/
|
2904 |
msgctxt "admin-text"
|
2905 |
-
msgid "
|
2906 |
msgstr ""
|
2907 |
|
2908 |
-
#: views/pages/tools/
|
2909 |
msgctxt "admin-text"
|
2910 |
-
msgid "
|
2911 |
msgstr ""
|
2912 |
|
2913 |
-
#: views/pages/tools/
|
2914 |
msgctxt "admin-text"
|
2915 |
-
msgid "
|
2916 |
msgstr ""
|
2917 |
|
2918 |
-
#: views/pages/tools/
|
2919 |
msgctxt "admin-text"
|
2920 |
-
msgid "
|
2921 |
msgstr ""
|
2922 |
|
2923 |
-
#: views/pages/tools/
|
2924 |
msgctxt "admin-text"
|
2925 |
-
msgid "
|
2926 |
msgstr ""
|
2927 |
|
2928 |
-
#: views/pages/tools/
|
2929 |
msgctxt "admin-text"
|
2930 |
-
msgid "
|
2931 |
msgstr ""
|
2932 |
|
2933 |
-
#: views/pages/tools/
|
2934 |
msgctxt "admin-text"
|
2935 |
-
msgid "
|
2936 |
msgstr ""
|
2937 |
|
2938 |
-
#: views/pages/tools/
|
2939 |
msgctxt "admin-text"
|
2940 |
-
msgid "
|
2941 |
msgstr ""
|
2942 |
|
2943 |
-
#: views/
|
2944 |
msgctxt "admin-text"
|
2945 |
-
msgid "
|
2946 |
msgstr ""
|
2947 |
|
2948 |
-
#: views/
|
2949 |
msgctxt "admin-text"
|
2950 |
-
msgid "
|
2951 |
msgstr ""
|
2952 |
|
2953 |
-
#: views/
|
2954 |
msgctxt "admin-text"
|
2955 |
-
msgid "
|
2956 |
msgstr ""
|
2957 |
|
2958 |
-
#: views/
|
2959 |
msgctxt "admin-text"
|
2960 |
-
msgid "
|
2961 |
msgstr ""
|
2962 |
|
2963 |
-
#: views/
|
2964 |
msgctxt "admin-text"
|
2965 |
-
msgid "
|
2966 |
msgstr ""
|
2967 |
|
2968 |
-
#: views/
|
2969 |
msgctxt "admin-text"
|
2970 |
-
msgid "
|
2971 |
msgstr ""
|
2972 |
|
2973 |
-
#: views/
|
2974 |
msgctxt "admin-text"
|
2975 |
-
msgid "
|
2976 |
msgstr ""
|
2977 |
|
2978 |
-
#: views/
|
2979 |
msgctxt "admin-text"
|
2980 |
-
msgid "
|
2981 |
msgstr ""
|
2982 |
|
2983 |
-
#: views/
|
2984 |
msgctxt "admin-text"
|
2985 |
-
msgid "
|
2986 |
msgstr ""
|
2987 |
|
2988 |
-
#: views/
|
2989 |
msgctxt "admin-text"
|
2990 |
-
msgid "
|
2991 |
msgstr ""
|
2992 |
|
2993 |
-
#: views/
|
2994 |
msgctxt "admin-text"
|
2995 |
-
msgid "
|
2996 |
msgstr ""
|
2997 |
|
2998 |
-
#: views/
|
2999 |
msgctxt "admin-text"
|
3000 |
-
msgid "
|
3001 |
msgstr ""
|
3002 |
|
3003 |
-
#: views/
|
3004 |
msgctxt "admin-text"
|
3005 |
-
msgid "
|
3006 |
msgstr ""
|
3007 |
|
3008 |
-
#: views/
|
3009 |
msgctxt "admin-text"
|
3010 |
-
msgid "
|
3011 |
msgstr ""
|
3012 |
|
3013 |
-
#: views/
|
3014 |
msgctxt "admin-text"
|
3015 |
-
msgid "
|
3016 |
msgstr ""
|
3017 |
|
3018 |
-
#: views/
|
3019 |
msgctxt "admin-text"
|
3020 |
-
msgid "
|
3021 |
msgstr ""
|
3022 |
|
3023 |
-
#: views/
|
3024 |
msgctxt "admin-text"
|
3025 |
-
msgid "
|
3026 |
msgstr ""
|
3027 |
|
3028 |
-
#: views/
|
3029 |
msgctxt "admin-text"
|
3030 |
-
msgid "
|
3031 |
msgstr ""
|
3032 |
|
3033 |
-
#: views/
|
3034 |
msgctxt "admin-text"
|
3035 |
-
msgid "
|
3036 |
msgstr ""
|
3037 |
|
3038 |
-
#: views/
|
3039 |
msgctxt "admin-text"
|
3040 |
-
msgid "
|
3041 |
msgstr ""
|
3042 |
|
3043 |
-
#: views/
|
3044 |
msgctxt "admin-text"
|
3045 |
-
msgid "Database
|
3046 |
msgstr ""
|
3047 |
|
3048 |
-
#: views/
|
3049 |
msgctxt "admin-text"
|
3050 |
-
msgid "
|
3051 |
msgstr ""
|
3052 |
|
3053 |
-
#: views/
|
3054 |
msgctxt "admin-text"
|
3055 |
-
msgid "
|
3056 |
msgstr ""
|
3057 |
|
3058 |
-
#: views/
|
3059 |
msgctxt "admin-text"
|
3060 |
-
msgid "
|
3061 |
msgstr ""
|
3062 |
|
3063 |
-
#: views/
|
3064 |
msgctxt "admin-text"
|
3065 |
-
msgid "
|
3066 |
msgstr ""
|
3067 |
|
3068 |
-
#: views/
|
3069 |
msgctxt "admin-text"
|
3070 |
-
msgid "
|
3071 |
msgstr ""
|
3072 |
|
3073 |
-
#: views/
|
3074 |
msgctxt "admin-text"
|
3075 |
-
msgid "
|
3076 |
msgstr ""
|
3077 |
|
3078 |
-
#: views/
|
3079 |
msgctxt "admin-text"
|
3080 |
-
msgid "
|
3081 |
msgstr ""
|
3082 |
|
3083 |
-
#: views/
|
3084 |
msgctxt "admin-text"
|
3085 |
-
msgid "
|
3086 |
msgstr ""
|
3087 |
|
3088 |
-
#: views/
|
3089 |
msgctxt "admin-text"
|
3090 |
-
msgid "
|
3091 |
msgstr ""
|
3092 |
|
3093 |
-
#: views/
|
3094 |
msgctxt "admin-text"
|
3095 |
-
msgid "
|
3096 |
msgstr ""
|
3097 |
|
3098 |
-
#: views/
|
3099 |
msgctxt "admin-text"
|
3100 |
-
msgid "
|
3101 |
msgstr ""
|
3102 |
|
3103 |
-
#:
|
3104 |
-
|
3105 |
-
|
3106 |
-
msgstr[0] ""
|
3107 |
-
msgstr[1] ""
|
3108 |
-
|
3109 |
-
#: plugin/Modules/Html/Fields/Rating.php:22
|
3110 |
-
msgid "Select a Rating"
|
3111 |
msgstr ""
|
3112 |
|
3113 |
-
#:
|
3114 |
-
|
|
|
3115 |
msgstr ""
|
3116 |
|
3117 |
-
#:
|
3118 |
-
|
|
|
3119 |
msgstr ""
|
3120 |
|
3121 |
-
#:
|
3122 |
-
msgctxt "
|
3123 |
-
msgid "Site Reviews
|
3124 |
msgstr ""
|
3125 |
|
3126 |
-
#:
|
3127 |
-
|
|
|
3128 |
msgstr ""
|
3129 |
|
3130 |
-
#:
|
3131 |
-
|
|
|
3132 |
msgstr ""
|
3133 |
|
3134 |
-
#:
|
3135 |
-
|
|
|
3136 |
msgstr ""
|
3137 |
|
3138 |
-
#:
|
3139 |
-
|
|
|
3140 |
msgstr ""
|
3141 |
|
3142 |
-
#:
|
3143 |
-
|
|
|
3144 |
msgstr ""
|
3145 |
|
3146 |
-
#:
|
3147 |
-
|
|
|
3148 |
msgstr ""
|
3149 |
|
3150 |
-
#:
|
3151 |
-
|
|
|
3152 |
msgstr ""
|
3153 |
-
|
3154 |
-
#: plugin/Modules/Html/Tags/SummaryTextTag.php:29
|
3155 |
-
msgctxt "Do not translate {rating}, {max}, and {num}, they are template tags."
|
3156 |
-
msgid "{rating} out of {max} stars (based on {num} review)"
|
3157 |
-
msgid_plural "{rating} out of {max} stars (based on {num} reviews)"
|
3158 |
-
msgstr[0] ""
|
3159 |
-
msgstr[1] ""
|
827 |
msgid "Email"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: config/settings.php:506, config/forms/metabox-fields.php:30
|
831 |
msgctxt "admin-text"
|
832 |
msgid "Terms"
|
833 |
msgstr ""
|
1067 |
msgid "The [%s] method has been deprecated and will be soon be removed, please use the [%s] method instead."
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: plugin/Review.php:328, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
|
1071 |
msgctxt "admin-text"
|
1072 |
msgid "Unknown"
|
1073 |
msgstr ""
|
1141 |
msgid "Avatar"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: config/forms/metabox-fields.php:31
|
1145 |
+
msgctxt "admin-text"
|
1146 |
+
msgid "Terms Accepted"
|
1147 |
+
msgstr ""
|
1148 |
+
|
1149 |
#: config/forms/review-form.php:5
|
1150 |
msgid "Your overall rating"
|
1151 |
msgstr ""
|
1206 |
msgid "License Keys"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: plugin/Blocks/SiteReviewsBlock.php:109, plugin/Blocks/SiteReviewsFormBlock.php:98, plugin/Blocks/SiteReviewsSummaryBlock.php:93
|
1210 |
msgctxt "admin-text"
|
1211 |
msgid "You have hidden all of the fields for this block."
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: plugin/Blocks/SiteReviewsBlock.php:135, plugin/Modules/Html/Tags/ReviewContentTag.php:26
|
1215 |
msgid "Show more"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: plugin/Commands/CreateReview.php:159
|
1219 |
msgid "Your review has been submitted!"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: plugin/Commands/CreateReview.php:164, views/pages/documentation/support/common-problems-and-solutions.php:65
|
1223 |
msgid "Your review could not be submitted and the error has been logged. Please notify the site administrator."
|
1224 |
msgstr ""
|
1225 |
|
1634 |
msgid "Save as Unapproved"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
+
#: plugin/Controllers/WelcomeController.php:27, views/pages/addons/index.php:6, views/pages/documentation/index.php:6, views/pages/settings/index.php:6, views/pages/tools/index.php:6
|
1638 |
msgctxt "admin-text"
|
1639 |
msgid "About"
|
1640 |
msgstr ""
|
2460 |
msgid "You have already submitted a review."
|
2461 |
msgstr ""
|
2462 |
|
2463 |
+
#: views/pages/addons/index.php:13
|
2464 |
msgctxt "admin-text"
|
2465 |
msgid "All of the add-ons! Grab the special introductory discount while it still lasts..."
|
2466 |
msgstr ""
|
2467 |
|
2468 |
+
#: views/pages/addons/index.php:15
|
2469 |
msgctxt "admin-text"
|
2470 |
msgid "Discover Premium"
|
2471 |
msgstr ""
|
2472 |
|
2473 |
+
#: views/pages/addons/index.php:23
|
2474 |
msgctxt "admin-text"
|
2475 |
msgid "Allow your website visitors to sort, filter by rating, and search reviews."
|
2476 |
msgstr ""
|
2477 |
|
2478 |
+
#: views/pages/addons/index.php:25, views/pages/addons/index.php:35, views/pages/addons/index.php:45, views/pages/addons/index.php:65, views/pages/addons/index.php:75
|
2479 |
msgctxt "admin-text"
|
2480 |
msgid "View Add-on"
|
2481 |
msgstr ""
|
2482 |
|
2483 |
+
#: views/pages/addons/index.php:33
|
2484 |
msgctxt "admin-text"
|
2485 |
msgid "Create unique review forms with custom fields and review templates."
|
2486 |
msgstr ""
|
2487 |
|
2488 |
+
#: views/pages/addons/index.php:43
|
2489 |
msgctxt "admin-text"
|
2490 |
msgid "Allow your website visitors to add images with captions to their reviews."
|
2491 |
msgstr ""
|
2492 |
|
2493 |
+
#: views/pages/addons/index.php:53
|
2494 |
msgctxt "admin-text"
|
2495 |
msgid "Create custom review designs, display reviews in a grid, change the rating images, and more. Early access available to Premium members only."
|
2496 |
msgstr ""
|
2497 |
|
2498 |
+
#: views/pages/addons/index.php:55
|
2499 |
msgctxt "admin-text"
|
2500 |
msgid "Request Early Access"
|
2501 |
msgstr ""
|
2502 |
|
2503 |
+
#: views/pages/addons/index.php:63
|
2504 |
msgctxt "admin-text"
|
2505 |
msgid "Integrate with the Trustalyze Confidence System and post reviews to the blockchain."
|
2506 |
msgstr ""
|
2507 |
|
2508 |
+
#: views/pages/addons/index.php:73
|
2509 |
msgctxt "admin-text"
|
2510 |
msgid "Integrate Site Reviews with your Woocommerce products."
|
2511 |
msgstr ""
|
2590 |
msgid "Custom Translation"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
+
#: views/pages/tools/console.php:8
|
2594 |
msgctxt "admin-text"
|
2595 |
msgid "Download Console"
|
2596 |
msgstr ""
|
2597 |
|
2598 |
+
#: views/pages/tools/console.php:15
|
2599 |
msgctxt "admin-text"
|
2600 |
msgid "Reloading..."
|
2601 |
msgstr ""
|
2602 |
|
2603 |
+
#: views/pages/tools/console.php:15
|
2604 |
msgctxt "admin-text"
|
2605 |
msgid "Reload"
|
2606 |
msgstr ""
|
2607 |
|
2608 |
+
#: views/pages/tools/console.php:22
|
2609 |
msgctxt "admin-text"
|
2610 |
msgid "Clearing..."
|
2611 |
msgstr ""
|
2612 |
|
2613 |
+
#: views/pages/tools/console.php:22
|
2614 |
msgctxt "admin-text"
|
2615 |
msgid "Clear"
|
2616 |
msgstr ""
|
2617 |
|
2618 |
+
#: views/pages/tools/sync.php:9
|
2619 |
msgctxt "admin-text"
|
2620 |
+
msgid "Service"
|
2621 |
msgstr ""
|
2622 |
|
2623 |
+
#: views/pages/tools/sync.php:11, views/pages/tools/sync.php:34
|
2624 |
msgctxt "admin-text"
|
2625 |
+
msgid "Last Sync"
|
2626 |
msgstr ""
|
2627 |
|
2628 |
+
#: views/pages/tools/sync.php:24
|
2629 |
msgctxt "admin-text"
|
2630 |
+
msgid "License"
|
2631 |
msgstr ""
|
2632 |
|
2633 |
+
#: views/pages/tools/sync.php:25
|
2634 |
msgctxt "admin-text"
|
2635 |
+
msgid "Documentation"
|
2636 |
msgstr ""
|
2637 |
|
2638 |
+
#: views/pages/tools/sync.php:28
|
2639 |
msgctxt "admin-text"
|
2640 |
+
msgid "Show more details"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
+
#: views/pages/tools/sync.php:43
|
2644 |
msgctxt "admin-text"
|
2645 |
+
msgid "Please wait..."
|
2646 |
msgstr ""
|
2647 |
|
2648 |
+
#: views/pages/tools/sync.php:45, views/pages/tools/sync.php:48
|
2649 |
msgctxt "admin-text"
|
2650 |
+
msgid "Inactive"
|
2651 |
msgstr ""
|
2652 |
|
2653 |
+
#: views/pages/tools/sync.php:57
|
2654 |
msgctxt "admin-text"
|
2655 |
+
msgid "Syncing..."
|
2656 |
msgstr ""
|
2657 |
|
2658 |
+
#: views/pages/tools/system-info.php:8
|
2659 |
msgctxt "admin-text"
|
2660 |
+
msgid "Download System Info"
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: views/partials/addons/addon.php:19
|
2664 |
msgctxt "admin-text"
|
2665 |
+
msgid "Activate"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: views/partials/addons/addon.php:15
|
2669 |
msgctxt "admin-text"
|
2670 |
+
msgid "Installed"
|
2671 |
msgstr ""
|
2672 |
|
2673 |
+
#: views/partials/addons/license-missing.php:4
|
2674 |
msgctxt "admin-text"
|
2675 |
+
msgid "Enter a valid license key for automatic updates."
|
2676 |
msgstr ""
|
2677 |
|
2678 |
+
#: views/partials/addons/support-notice.php:5
|
2679 |
msgctxt "admin-text"
|
2680 |
+
msgid "To receive support for this add-on, please %s to your Nifty Plugins account."
|
2681 |
msgstr ""
|
2682 |
|
2683 |
+
#: views/partials/addons/support-notice.php:6
|
2684 |
msgctxt "admin-text"
|
2685 |
+
msgid "login"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
+
#: views/partials/editor/assigned-entry.php:7
|
2689 |
msgctxt "admin-text"
|
2690 |
+
msgid "Remove assignment"
|
2691 |
msgstr ""
|
2692 |
|
2693 |
+
#: views/partials/editor/bulk-edit-assigned-posts.php:11, views/partials/editor/metabox-assigned-posts.php:6
|
2694 |
msgctxt "admin-text"
|
2695 |
+
msgid "Search by ID or title..."
|
2696 |
msgstr ""
|
2697 |
|
2698 |
+
#: views/partials/editor/bulk-edit-assigned-users.php:11, views/partials/editor/metabox-assigned-users.php:6
|
2699 |
msgctxt "admin-text"
|
2700 |
+
msgid "Search by ID or name..."
|
2701 |
msgstr ""
|
2702 |
|
2703 |
+
#: views/partials/editor/metabox-assigned-posts.php:9
|
2704 |
msgctxt "admin-text"
|
2705 |
+
msgid "Search for a Page, Post, or <abbr title=\"Custom Post Type\">CPT</abbr> that you would like to assign this review to."
|
2706 |
msgstr ""
|
2707 |
|
2708 |
+
#: views/partials/editor/metabox-assigned-users.php:9
|
2709 |
msgctxt "admin-text"
|
2710 |
+
msgid "Search for a user that you would like to assign this review to."
|
2711 |
msgstr ""
|
2712 |
|
2713 |
+
#: views/partials/editor/metabox-categories.php:7
|
2714 |
msgctxt "admin-text"
|
2715 |
+
msgid "Most Used"
|
2716 |
msgstr ""
|
2717 |
|
2718 |
+
#: views/partials/editor/metabox-response.php:5
|
2719 |
msgctxt "admin-text"
|
2720 |
+
msgid "If you need to publicly respond to this review, enter your response here."
|
2721 |
msgstr ""
|
2722 |
|
2723 |
+
#: views/partials/editor/pinned.php:8
|
2724 |
msgctxt "admin-text"
|
2725 |
+
msgid "Edit pinned status"
|
2726 |
msgstr ""
|
2727 |
|
2728 |
+
#: views/partials/editor/pinned.php:13
|
2729 |
msgctxt "admin-text"
|
2730 |
+
msgid "Pin"
|
2731 |
msgstr ""
|
2732 |
|
2733 |
+
#: views/partials/editor/pinned.php:14
|
2734 |
msgctxt "admin-text"
|
2735 |
+
msgid "Unpin"
|
2736 |
msgstr ""
|
2737 |
|
2738 |
+
#: views/partials/editor/pinned.php:16
|
2739 |
msgctxt "admin-text"
|
2740 |
+
msgid "OK"
|
2741 |
msgstr ""
|
2742 |
|
2743 |
+
#: views/partials/editor/pinned.php:17
|
2744 |
msgctxt "admin-text"
|
2745 |
+
msgid "Cancel"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
+
#: views/partials/editor/review.php:4
|
2749 |
msgctxt "admin-text"
|
2750 |
+
msgid "no title"
|
2751 |
msgstr ""
|
2752 |
|
2753 |
+
#: views/partials/editor/review.php:17
|
2754 |
msgctxt "admin-text"
|
2755 |
+
msgid "Toggle panel: Public Response"
|
2756 |
msgstr ""
|
2757 |
|
2758 |
+
#: views/partials/editor/review.php:21
|
2759 |
msgctxt "admin-text"
|
2760 |
+
msgid "Public Response"
|
2761 |
msgstr ""
|
2762 |
|
2763 |
+
#: views/partials/notices/migrate.php:6
|
2764 |
msgctxt "admin-text"
|
2765 |
+
msgid "Database Update Required"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
+
#: views/partials/notices/migrate.php:7
|
2769 |
msgctxt "admin-text"
|
2770 |
+
msgid "Site Reviews needs to update the database and your reviews to the newest version. If this notice keeps appearing, please read the %s section on the Help page."
|
2771 |
msgstr ""
|
2772 |
|
2773 |
+
#: views/partials/notices/migrate.php:10, views/pages/tools/general/migrate-plugin.php:20
|
2774 |
msgctxt "admin-text"
|
2775 |
msgid "Run All Migrations"
|
2776 |
msgstr ""
|
2777 |
|
2778 |
+
#: views/partials/notices/migrate.php:10
|
2779 |
msgctxt "admin-text"
|
2780 |
+
msgid "Updating, please wait..."
|
2781 |
msgstr ""
|
2782 |
|
2783 |
+
#: views/partials/notices/migrate.php:10
|
2784 |
msgctxt "admin-text"
|
2785 |
+
msgid "Update Database"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
+
#: views/partials/notices/premium.php:10
|
2789 |
msgctxt "admin-text"
|
2790 |
+
msgid "Learn more"
|
2791 |
msgstr ""
|
2792 |
|
2793 |
+
#: views/partials/notices/welcome.php:4
|
2794 |
msgctxt "admin-text"
|
2795 |
+
msgid "See What's New"
|
2796 |
msgstr ""
|
2797 |
|
2798 |
+
#: views/partials/notices/welcome.php:6
|
2799 |
msgctxt "admin-text"
|
2800 |
+
msgid "Read the upgrade guide"
|
2801 |
msgstr ""
|
2802 |
|
2803 |
+
#: views/partials/translations/plural.php:4, views/partials/translations/single.php:4
|
2804 |
msgctxt "admin-text"
|
2805 |
+
msgid "Show custom translation"
|
2806 |
msgstr ""
|
2807 |
|
2808 |
+
#: views/partials/translations/plural.php:11, views/partials/translations/single.php:10
|
2809 |
msgctxt "admin-text"
|
2810 |
+
msgid "Delete translation string"
|
2811 |
msgstr ""
|
2812 |
|
2813 |
+
#: views/partials/translations/plural.php:11, views/partials/translations/single.php:10
|
2814 |
msgctxt "admin-text"
|
2815 |
+
msgid "Delete"
|
2816 |
msgstr ""
|
2817 |
|
2818 |
+
#: views/partials/translations/plural.php:19
|
2819 |
msgctxt "admin-text"
|
2820 |
+
msgid "singular"
|
2821 |
msgstr ""
|
2822 |
|
2823 |
+
#: views/partials/translations/plural.php:20
|
2824 |
msgctxt "admin-text"
|
2825 |
+
msgid "plural"
|
2826 |
msgstr ""
|
2827 |
|
2828 |
+
#: plugin/Modules/Html/Fields/Rating.php:17
|
2829 |
+
msgid "%s Star"
|
2830 |
+
msgid_plural "%s Stars"
|
2831 |
+
msgstr[0] ""
|
2832 |
+
msgstr[1] ""
|
2833 |
+
|
2834 |
+
#: plugin/Modules/Html/Fields/Rating.php:22
|
2835 |
+
msgid "Select a Rating"
|
2836 |
msgstr ""
|
2837 |
|
2838 |
+
#: plugin/Modules/Html/Fields/YesNo.php:32
|
2839 |
+
msgid "No"
|
|
|
2840 |
msgstr ""
|
2841 |
|
2842 |
+
#: plugin/Modules/Html/Fields/YesNo.php:33
|
2843 |
+
msgid "Yes"
|
|
|
2844 |
msgstr ""
|
2845 |
|
2846 |
+
#: plugin/Modules/Html/Partials/Pagination.php:31
|
2847 |
+
msgctxt "screen reader text"
|
2848 |
+
msgid "Site Reviews navigation"
|
2849 |
msgstr ""
|
2850 |
|
2851 |
+
#: plugin/Modules/Html/Partials/StarRating.php:28
|
2852 |
+
msgid "Rated <strong>%s</strong> out of %s based on %s ratings"
|
|
|
2853 |
msgstr ""
|
2854 |
|
2855 |
+
#: plugin/Modules/Html/Partials/StarRating.php:29
|
2856 |
+
msgid "Rated <strong>%s</strong> out of %s"
|
|
|
2857 |
msgstr ""
|
2858 |
|
2859 |
+
#: plugin/Modules/Html/Tags/FormSubmitButtonTag.php:43
|
2860 |
+
msgid "Submit your review"
|
|
|
2861 |
msgstr ""
|
2862 |
|
2863 |
+
#: plugin/Modules/Html/Tags/ReviewAssignedLinksTag.php:43
|
2864 |
+
msgid "Review of %s"
|
|
|
2865 |
msgstr ""
|
2866 |
|
2867 |
+
#: plugin/Modules/Html/Tags/ReviewContentTag.php:25
|
2868 |
+
msgid "Show less"
|
|
|
2869 |
msgstr ""
|
2870 |
|
2871 |
+
#: plugin/Modules/Html/Tags/ReviewResponseTag.php:15
|
2872 |
+
msgid "Response from %s"
|
|
|
2873 |
msgstr ""
|
2874 |
|
2875 |
+
#: plugin/Modules/Html/Tags/ReviewTitleTag.php:15
|
2876 |
+
msgid "No Title"
|
|
|
2877 |
msgstr ""
|
2878 |
|
2879 |
+
#: plugin/Modules/Html/Tags/SummaryTextTag.php:29
|
2880 |
+
msgctxt "Do not translate {rating}, {max}, and {num}, they are template tags."
|
2881 |
+
msgid "{rating} out of {max} stars (based on {num} review)"
|
2882 |
+
msgid_plural "{rating} out of {max} stars (based on {num} reviews)"
|
2883 |
+
msgstr[0] ""
|
2884 |
+
msgstr[1] ""
|
2885 |
+
|
2886 |
+
#: views/pages/tools/general/export-plugin-settings.php:6
|
2887 |
msgctxt "admin-text"
|
2888 |
+
msgid "Export Plugin Settings"
|
2889 |
msgstr ""
|
2890 |
|
2891 |
+
#: views/pages/tools/general/export-plugin-settings.php:12
|
2892 |
msgctxt "admin-text"
|
2893 |
+
msgid "Export the Site Reviews settings for this site to a %s file. This allows you to easily import the plugin settings into another site."
|
2894 |
msgstr ""
|
2895 |
|
2896 |
+
#: views/pages/tools/general/export-plugin-settings.php:16
|
2897 |
msgctxt "admin-text"
|
2898 |
+
msgid "To export your reviews and categories, please use the WordPress %s tool."
|
2899 |
msgstr ""
|
2900 |
|
2901 |
+
#: views/pages/tools/general/export-plugin-settings.php:17
|
2902 |
msgctxt "admin-text"
|
2903 |
+
msgid "Export"
|
2904 |
msgstr ""
|
2905 |
|
2906 |
+
#: views/pages/tools/general/export-plugin-settings.php:23
|
2907 |
msgctxt "admin-text"
|
2908 |
+
msgid "Export Settings"
|
2909 |
msgstr ""
|
2910 |
|
2911 |
+
#: views/pages/tools/general/import-plugin-settings.php:6
|
2912 |
msgctxt "admin-text"
|
2913 |
+
msgid "Import Plugin Settings"
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: views/pages/tools/general/import-plugin-settings.php:12
|
2917 |
msgctxt "admin-text"
|
2918 |
+
msgid "Import the Site Reviews settings from a %s file. This file can be obtained by exporting the settings on another site using the export tool below."
|
2919 |
msgstr ""
|
2920 |
|
2921 |
+
#: views/pages/tools/general/import-plugin-settings.php:16
|
2922 |
msgctxt "admin-text"
|
2923 |
+
msgid "To import your reviews and categories from another website, please use the WordPress %s tool."
|
2924 |
msgstr ""
|
2925 |
|
2926 |
+
#: views/pages/tools/general/import-plugin-settings.php:17
|
2927 |
msgctxt "admin-text"
|
2928 |
+
msgid "Import"
|
2929 |
msgstr ""
|
2930 |
|
2931 |
+
#: views/pages/tools/general/import-plugin-settings.php:26
|
2932 |
msgctxt "admin-text"
|
2933 |
+
msgid "Importing settings, please wait..."
|
2934 |
msgstr ""
|
2935 |
|
2936 |
+
#: views/pages/tools/general/import-plugin-settings.php:26
|
2937 |
msgctxt "admin-text"
|
2938 |
+
msgid "Import Settings"
|
2939 |
msgstr ""
|
2940 |
|
2941 |
+
#: views/pages/tools/general/import-reviews.php:6
|
2942 |
msgctxt "admin-text"
|
2943 |
+
msgid "Import Third Party Reviews"
|
2944 |
msgstr ""
|
2945 |
|
2946 |
+
#: views/pages/tools/general/import-reviews.php:13, views/pages/tools/general/optimise-db-tables.php:14
|
2947 |
msgctxt "admin-text"
|
2948 |
+
msgid "Please backup your database before running this tool! You can use the %s plugin to do this."
|
2949 |
msgstr ""
|
2950 |
|
2951 |
+
#: views/pages/tools/general/import-reviews.php:18
|
2952 |
msgctxt "admin-text"
|
2953 |
+
msgid "Here you can import third party reviews from a %s file. The CSV file should include a header row, use a comma as the delimiter, and may contain the following columns:"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
+
#: views/pages/tools/general/import-reviews.php:22
|
2957 |
msgctxt "admin-text"
|
2958 |
+
msgid "The avatar URL of the reviewer"
|
2959 |
msgstr ""
|
2960 |
|
2961 |
+
#: views/pages/tools/general/import-reviews.php:23
|
2962 |
msgctxt "admin-text"
|
2963 |
+
msgid "The review"
|
2964 |
msgstr ""
|
2965 |
|
2966 |
+
#: views/pages/tools/general/import-reviews.php:23, views/pages/tools/general/import-reviews.php:24, views/pages/tools/general/import-reviews.php:29
|
2967 |
msgctxt "admin-text"
|
2968 |
+
msgid "required"
|
2969 |
msgstr ""
|
2970 |
|
2971 |
+
#: views/pages/tools/general/import-reviews.php:24
|
2972 |
msgctxt "admin-text"
|
2973 |
+
msgid "The review date as %s or a timestamp"
|
2974 |
msgstr ""
|
2975 |
|
2976 |
+
#: views/pages/tools/general/import-reviews.php:25
|
2977 |
msgctxt "admin-text"
|
2978 |
+
msgid "The reviewer's email"
|
2979 |
msgstr ""
|
2980 |
|
2981 |
+
#: views/pages/tools/general/import-reviews.php:26
|
2982 |
msgctxt "admin-text"
|
2983 |
+
msgid "The IP address of the reviewer"
|
2984 |
msgstr ""
|
2985 |
|
2986 |
+
#: views/pages/tools/general/import-reviews.php:27
|
2987 |
msgctxt "admin-text"
|
2988 |
+
msgid "TRUE or FALSE"
|
2989 |
msgstr ""
|
2990 |
|
2991 |
+
#: views/pages/tools/general/import-reviews.php:28
|
2992 |
msgctxt "admin-text"
|
2993 |
+
msgid "The reviewer's name"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
+
#: views/pages/tools/general/import-reviews.php:29
|
2997 |
msgctxt "admin-text"
|
2998 |
+
msgid "A number from 0-%d"
|
2999 |
msgstr ""
|
3000 |
|
3001 |
+
#: views/pages/tools/general/import-reviews.php:30
|
3002 |
msgctxt "admin-text"
|
3003 |
+
msgid "The review response"
|
3004 |
msgstr ""
|
3005 |
|
3006 |
+
#: views/pages/tools/general/import-reviews.php:31
|
3007 |
msgctxt "admin-text"
|
3008 |
+
msgid "The title of the review"
|
3009 |
msgstr ""
|
3010 |
|
3011 |
+
#: views/pages/tools/general/import-reviews.php:33
|
3012 |
msgctxt "admin-text"
|
3013 |
+
msgid "Entries in the CSV file that do not contain required values will be skipped."
|
3014 |
msgstr ""
|
3015 |
|
3016 |
+
#: views/pages/tools/general/import-reviews.php:41
|
3017 |
msgctxt "admin-text"
|
3018 |
+
msgid "Importing reviews, please wait..."
|
3019 |
msgstr ""
|
3020 |
|
3021 |
+
#: views/pages/tools/general/import-reviews.php:41
|
3022 |
msgctxt "admin-text"
|
3023 |
+
msgid "Import Reviews"
|
3024 |
msgstr ""
|
3025 |
|
3026 |
+
#: views/pages/tools/general/migrate-plugin.php:6
|
3027 |
msgctxt "admin-text"
|
3028 |
+
msgid "Migrate Plugin"
|
3029 |
msgstr ""
|
3030 |
|
3031 |
+
#: views/pages/tools/general/migrate-plugin.php:12
|
3032 |
msgctxt "admin-text"
|
3033 |
+
msgid "Hold down the ALT/Option key to force-run all previous migrations."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
+
#: views/pages/tools/general/migrate-plugin.php:14
|
3037 |
msgctxt "admin-text"
|
3038 |
+
msgid "Run this tool if your reviews stopped working correctly after upgrading the plugin to the latest version (i.e. read-only reviews, zero-star ratings, missing role capabilities, etc.)."
|
3039 |
msgstr ""
|
3040 |
|
3041 |
+
#: views/pages/tools/general/migrate-plugin.php:20
|
3042 |
msgctxt "admin-text"
|
3043 |
+
msgid "Migrating, please wait..."
|
3044 |
msgstr ""
|
3045 |
|
3046 |
+
#: views/pages/tools/general/migrate-plugin.php:20
|
3047 |
msgctxt "admin-text"
|
3048 |
+
msgid "Run Migration"
|
3049 |
msgstr ""
|
3050 |
|
3051 |
+
#: views/pages/tools/general/optimise-db-tables.php:6
|
3052 |
msgctxt "admin-text"
|
3053 |
+
msgid "Optimise Your Database Tables"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
+
#: views/pages/tools/general/optimise-db-tables.php:49
|
3057 |
msgctxt "admin-text"
|
3058 |
+
msgid "Optimisation is unnecessary because your database tables already use the InnoDB engine!"
|
3059 |
msgstr ""
|
3060 |
|
3061 |
+
#: views/pages/tools/general/optimise-db-tables.php:18
|
3062 |
msgctxt "admin-text"
|
3063 |
+
msgid "The old MyISAM table engine in MySQL was replaced by the InnoDB engine as the default over 10 years ago! If your database tables still use the MyISAM engine, you are missing out on substantial performance and reliability gains that the InnoDB engine provides."
|
3064 |
msgstr ""
|
3065 |
|
3066 |
+
#: views/pages/tools/general/optimise-db-tables.php:19
|
3067 |
msgctxt "admin-text"
|
3068 |
+
msgid "Site Reviews makes use of specific InnoDB engine features in order to perform faster database queries. However, some of your database tables (shown below) are still using the old MyISAM engine. If you convert these tables to use the InnoDB engine, it will make Site Reviews perform faster."
|
3069 |
msgstr ""
|
3070 |
|
3071 |
+
#: views/pages/tools/general/optimise-db-tables.php:23
|
3072 |
msgctxt "admin-text"
|
3073 |
+
msgid "Table"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
+
#: views/pages/tools/general/optimise-db-tables.php:24
|
3077 |
msgctxt "admin-text"
|
3078 |
+
msgid "Engine"
|
3079 |
msgstr ""
|
3080 |
|
3081 |
+
#: views/pages/tools/general/optimise-db-tables.php:39
|
3082 |
msgctxt "admin-text"
|
3083 |
+
msgid "Converting, please wait..."
|
3084 |
msgstr ""
|
3085 |
|
3086 |
+
#: views/pages/tools/general/optimise-db-tables.php:39
|
3087 |
msgctxt "admin-text"
|
3088 |
+
msgid "Convert table engine to InnoDB"
|
3089 |
msgstr ""
|
3090 |
|
3091 |
+
#: views/pages/tools/general/reset-assigned-meta.php:6
|
3092 |
msgctxt "admin-text"
|
3093 |
+
msgid "Reset Assigned Meta Values"
|
3094 |
msgstr ""
|
3095 |
|
3096 |
+
#: views/pages/tools/general/reset-assigned-meta.php:11
|
3097 |
msgctxt "admin-text"
|
3098 |
+
msgid "Site Reviews stores the individual review count, average rating, and ranking for each assigned post, category, and user. If you suspect that these meta values are incorrect (perhaps you cloned a page that had reviews assigned to it), you may use this tool to recalculate them."
|
3099 |
msgstr ""
|
3100 |
|
3101 |
+
#: views/pages/tools/general/reset-assigned-meta.php:16
|
3102 |
msgctxt "admin-text"
|
3103 |
+
msgid "Resetting values, please wait..."
|
3104 |
msgstr ""
|
3105 |
|
3106 |
+
#: views/pages/tools/general/reset-assigned-meta.php:16
|
3107 |
msgctxt "admin-text"
|
3108 |
+
msgid "Reset Meta Values"
|
3109 |
msgstr ""
|
3110 |
|
3111 |
+
#: views/pages/tools/general/reset-permissions.php:6, views/pages/tools/general/reset-permissions.php:21
|
3112 |
+
msgctxt "admin-text"
|
3113 |
+
msgid "Reset Permissions"
|
|
|
|
|
|
|
|
|
|
|
3114 |
msgstr ""
|
3115 |
|
3116 |
+
#: views/pages/tools/general/reset-permissions.php:12
|
3117 |
+
msgctxt "admin-text"
|
3118 |
+
msgid "Hold down the ALT/Option key to perform a \"Hard Reset\"; this removes all Site Reviews capabilites from your Editor, Author, and Contributor roles before re-adding them."
|
3119 |
msgstr ""
|
3120 |
|
3121 |
+
#: views/pages/tools/general/reset-permissions.php:14
|
3122 |
+
msgctxt "admin-text"
|
3123 |
+
msgid "Site Reviews provides custom post_type capabilities that mirror the capabilities of your posts by default. For example, if a user role has permission to edit others posts, then that role will also have permission to edit other users reviews."
|
3124 |
msgstr ""
|
3125 |
|
3126 |
+
#: views/pages/tools/general/reset-permissions.php:15
|
3127 |
+
msgctxt "admin-text"
|
3128 |
+
msgid "If you have changed the capabilities of your user roles (Administrator, Editor, Author, and Contributor) and you suspect that Site Reviews is not working correctly due to your changes, you may use this tool to reset the Site Reviews capabilities for your user roles."
|
3129 |
msgstr ""
|
3130 |
|
3131 |
+
#: views/pages/tools/general/reset-permissions.php:21
|
3132 |
+
msgctxt "admin-text"
|
3133 |
+
msgid "Hard Reset Permissions"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
+
#: views/pages/tools/general/reset-permissions.php:21
|
3137 |
+
msgctxt "admin-text"
|
3138 |
+
msgid "Resetting, please wait..."
|
3139 |
msgstr ""
|
3140 |
|
3141 |
+
#: views/pages/tools/general/test-ip-detection.php:4
|
3142 |
+
msgctxt "admin-text"
|
3143 |
+
msgid "Test IP Address Detection"
|
3144 |
msgstr ""
|
3145 |
|
3146 |
+
#: views/pages/tools/general/test-ip-detection.php:9
|
3147 |
+
msgctxt "admin-text"
|
3148 |
+
msgid "When reviews are submitted on your website, Site Reviews detects the IP address of the person submitting the review and saves it to the submitted review. This allows you to limit review submissions or to blacklist reviewers based on their IP address. The IP address is also used by Akismet (if you have enabled the integration) to catch spam submissions."
|
3149 |
msgstr ""
|
3150 |
|
3151 |
+
#: views/pages/tools/general/test-ip-detection.php:10
|
3152 |
+
msgctxt "admin-text"
|
3153 |
+
msgid "If you are getting an \"unknown\" value for IP addresses in your reviews, you may use this tool to check the visitor IP address detection."
|
3154 |
msgstr ""
|
3155 |
|
3156 |
+
#: views/pages/tools/general/test-ip-detection.php:15
|
3157 |
+
msgctxt "admin-text"
|
3158 |
+
msgid "Testing, please wait..."
|
3159 |
msgstr ""
|
3160 |
|
3161 |
+
#: views/pages/tools/general/test-ip-detection.php:15
|
3162 |
+
msgctxt "admin-text"
|
3163 |
+
msgid "Test Detection"
|
3164 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migration.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use GeminiLabs\SiteReviews\Database;
|
4 |
+
|
5 |
+
defined('ABSPATH') || die;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @return array
|
9 |
+
* @since 5.9
|
10 |
+
*/
|
11 |
+
function glsr_migration_5_9_db_version_1_1(array $values) {
|
12 |
+
if (!glsr(Database::class)->version('1.1')) {
|
13 |
+
unset($values['terms']);
|
14 |
+
}
|
15 |
+
return $values;
|
16 |
+
}
|
17 |
+
add_filter('site-reviews/config/forms/metabox-fields', 'glsr_migration_5_9_db_version_1_1');
|
18 |
+
add_filter('site-reviews/defaults/rating', 'glsr_migration_5_9_db_version_1_1');
|
19 |
+
add_filter('site-reviews/defaults/reviews', 'glsr_migration_5_9_db_version_1_1');
|
plugin/Application.php
CHANGED
@@ -13,6 +13,7 @@ use GeminiLabs\SiteReviews\Install;
|
|
13 |
* @property array $addons
|
14 |
* @property string $capability
|
15 |
* @property string $cron_event
|
|
|
16 |
* @property array $defaults
|
17 |
* @property string $export_key
|
18 |
* @property string $file
|
@@ -35,6 +36,7 @@ final class Application extends Container
|
|
35 |
use Session;
|
36 |
use Storage;
|
37 |
|
|
|
38 |
const EXPORT_KEY = '_glsr_export';
|
39 |
const ID = 'site-reviews';
|
40 |
const PAGED_HANDLE = 'pagination_request';
|
13 |
* @property array $addons
|
14 |
* @property string $capability
|
15 |
* @property string $cron_event
|
16 |
+
* @property array $db_version
|
17 |
* @property array $defaults
|
18 |
* @property string $export_key
|
19 |
* @property string $file
|
36 |
use Session;
|
37 |
use Storage;
|
38 |
|
39 |
+
const DB_VERSION = '1.1';
|
40 |
const EXPORT_KEY = '_glsr_export';
|
41 |
const ID = 'site-reviews';
|
42 |
const PAGED_HANDLE = 'pagination_request';
|
plugin/Blocks/SiteReviewsBlock.php
CHANGED
@@ -64,6 +64,10 @@ class SiteReviewsBlock extends Block
|
|
64 |
'default' => false,
|
65 |
'type' => 'boolean',
|
66 |
],
|
|
|
|
|
|
|
|
|
67 |
'type' => [
|
68 |
'default' => 'local',
|
69 |
'type' => 'string',
|
64 |
'default' => false,
|
65 |
'type' => 'boolean',
|
66 |
],
|
67 |
+
'terms' => [
|
68 |
+
'default' => '',
|
69 |
+
'type' => 'string',
|
70 |
+
],
|
71 |
'type' => [
|
72 |
'default' => 'local',
|
73 |
'type' => 'string',
|
plugin/Blocks/SiteReviewsSummaryBlock.php
CHANGED
@@ -52,6 +52,10 @@ class SiteReviewsSummaryBlock extends Block
|
|
52 |
'default' => false,
|
53 |
'type' => 'boolean',
|
54 |
],
|
|
|
|
|
|
|
|
|
55 |
'type' => [
|
56 |
'default' => 'local',
|
57 |
'type' => 'string',
|
52 |
'default' => false,
|
53 |
'type' => 'boolean',
|
54 |
],
|
55 |
+
'terms' => [
|
56 |
+
'default' => '',
|
57 |
+
'type' => 'string',
|
58 |
+
],
|
59 |
'type' => [
|
60 |
'default' => 'local',
|
61 |
'type' => 'string',
|
plugin/Commands/CreateReview.php
CHANGED
@@ -36,6 +36,8 @@ class CreateReview implements Contract
|
|
36 |
public $referer;
|
37 |
public $request;
|
38 |
public $response;
|
|
|
|
|
39 |
public $title;
|
40 |
public $type;
|
41 |
public $url;
|
36 |
public $referer;
|
37 |
public $request;
|
38 |
public $response;
|
39 |
+
public $terms;
|
40 |
+
public $terms_exist;
|
41 |
public $title;
|
42 |
public $type;
|
43 |
public $url;
|
plugin/Controllers/ReviewController.php
CHANGED
@@ -382,6 +382,7 @@ class ReviewController extends Controller
|
|
382 |
$submittedValues = Helper::filterInputArray(glsr()->id);
|
383 |
if (Arr::get($submittedValues, 'is_editing_review')) {
|
384 |
$submittedValues['rating'] = Arr::get($submittedValues, 'rating');
|
|
|
385 |
glsr(ReviewManager::class)->update($review->ID, $submittedValues);
|
386 |
glsr(ReviewManager::class)->updateCustom($review->ID, $submittedValues);
|
387 |
}
|
382 |
$submittedValues = Helper::filterInputArray(glsr()->id);
|
383 |
if (Arr::get($submittedValues, 'is_editing_review')) {
|
384 |
$submittedValues['rating'] = Arr::get($submittedValues, 'rating');
|
385 |
+
$submittedValues['terms'] = Arr::get($submittedValues, 'terms', 0);
|
386 |
glsr(ReviewManager::class)->update($review->ID, $submittedValues);
|
387 |
glsr(ReviewManager::class)->updateCustom($review->ID, $submittedValues);
|
388 |
}
|
plugin/Database.php
CHANGED
@@ -393,4 +393,16 @@ class Database
|
|
393 |
glsr(Query::class)->sql($this->db->last_query); // for logging use only
|
394 |
return $this->logErrors($result);
|
395 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
396 |
}
|
393 |
glsr(Query::class)->sql($this->db->last_query); // for logging use only
|
394 |
return $this->logErrors($result);
|
395 |
}
|
396 |
+
|
397 |
+
/**
|
398 |
+
* @param string $compareToVersion
|
399 |
+
* @return bool|string
|
400 |
+
*/
|
401 |
+
public function version($compareToVersion = null)
|
402 |
+
{
|
403 |
+
$dbVersion = Cast::toString(get_option(glsr()->prefix.'db_version'));
|
404 |
+
return isset($compareToVersion)
|
405 |
+
? version_compare($dbVersion, Cast::toString($compareToVersion), '>=')
|
406 |
+
: $dbVersion;
|
407 |
+
}
|
408 |
}
|
plugin/Database/NormalizeQueryArgs.php
CHANGED
@@ -25,6 +25,7 @@ use GeminiLabs\SiteReviews\Helpers\Str;
|
|
25 |
* @property int[] $post__not_in;
|
26 |
* @property int $rating;
|
27 |
* @property string $status;
|
|
|
28 |
* @property string $type;
|
29 |
* @property int[] $user__in;
|
30 |
* @property int[] $user__not_in;
|
25 |
* @property int[] $post__not_in;
|
26 |
* @property int $rating;
|
27 |
* @property string $status;
|
28 |
+
* @property string $terms;
|
29 |
* @property string $type;
|
30 |
* @property int[] $user__in;
|
31 |
* @property int[] $user__not_in;
|
plugin/Database/Sql.php
CHANGED
@@ -2,8 +2,10 @@
|
|
2 |
|
3 |
namespace GeminiLabs\SiteReviews\Database;
|
4 |
|
|
|
5 |
use GeminiLabs\SiteReviews\Helper;
|
6 |
use GeminiLabs\SiteReviews\Helpers\Arr;
|
|
|
7 |
use GeminiLabs\SiteReviews\Helpers\Str;
|
8 |
|
9 |
trait Sql
|
@@ -25,10 +27,13 @@ trait Sql
|
|
25 |
public function clauses($clause, array $values = [])
|
26 |
{
|
27 |
$prefix = Str::restrictTo('and,join', $clause);
|
28 |
-
foreach (
|
29 |
$method = Helper::buildMethodName($key, 'clause-'.$prefix);
|
30 |
-
if (method_exists($this, $method)) {
|
31 |
-
|
|
|
|
|
|
|
32 |
}
|
33 |
}
|
34 |
return $values;
|
@@ -127,6 +132,7 @@ trait Sql
|
|
127 |
{
|
128 |
$and = $this->clauses('and');
|
129 |
$and = glsr()->filterArrayUnique('query/sql/and', $and, $this->sqlHandle(), $this);
|
|
|
130 |
return 'WHERE 1=1 '.implode(' ', $and);
|
131 |
}
|
132 |
|
@@ -143,23 +149,26 @@ trait Sql
|
|
143 |
*/
|
144 |
protected function clauseAndAssignedPosts()
|
145 |
{
|
146 |
-
$
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
163 |
}
|
164 |
|
165 |
/**
|
@@ -191,9 +200,7 @@ trait Sql
|
|
191 |
*/
|
192 |
protected function clauseAndEmail()
|
193 |
{
|
194 |
-
return
|
195 |
-
$this->db->prepare('AND r.email = %s', $this->args['email'])
|
196 |
-
);
|
197 |
}
|
198 |
|
199 |
/**
|
@@ -201,9 +208,7 @@ trait Sql
|
|
201 |
*/
|
202 |
protected function clauseAndIpAddress()
|
203 |
{
|
204 |
-
return
|
205 |
-
$this->db->prepare('AND r.ip_address = %s', $this->args['ip_address'])
|
206 |
-
);
|
207 |
}
|
208 |
|
209 |
/**
|
@@ -211,9 +216,7 @@ trait Sql
|
|
211 |
*/
|
212 |
protected function clauseAndPostIn()
|
213 |
{
|
214 |
-
return
|
215 |
-
$this->db->prepare('AND r.review_id IN (%s)', implode(',', $this->args['post__in']))
|
216 |
-
);
|
217 |
}
|
218 |
|
219 |
/**
|
@@ -221,9 +224,7 @@ trait Sql
|
|
221 |
*/
|
222 |
protected function clauseAndPostNotIn()
|
223 |
{
|
224 |
-
return
|
225 |
-
$this->db->prepare('AND r.review_id NOT IN (%s)', implode(',', $this->args['post__not_in']))
|
226 |
-
);
|
227 |
}
|
228 |
|
229 |
/**
|
@@ -231,7 +232,7 @@ trait Sql
|
|
231 |
*/
|
232 |
protected function clauseAndRating()
|
233 |
{
|
234 |
-
return Helper::ifTrue(
|
235 |
$this->db->prepare('AND r.rating > %d', --$this->args['rating'])
|
236 |
);
|
237 |
}
|
@@ -241,9 +242,15 @@ trait Sql
|
|
241 |
*/
|
242 |
protected function clauseAndStatus()
|
243 |
{
|
244 |
-
return
|
245 |
-
|
246 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
}
|
248 |
|
249 |
/**
|
@@ -251,9 +258,7 @@ trait Sql
|
|
251 |
*/
|
252 |
protected function clauseAndType()
|
253 |
{
|
254 |
-
return
|
255 |
-
$this->db->prepare('AND r.type = %s', $this->args['type'])
|
256 |
-
);
|
257 |
}
|
258 |
|
259 |
/**
|
@@ -261,9 +266,7 @@ trait Sql
|
|
261 |
*/
|
262 |
protected function clauseAndUserIn()
|
263 |
{
|
264 |
-
return
|
265 |
-
$this->db->prepare('AND p.post_author IN (%s)', implode(',', $this->args['user__in']))
|
266 |
-
);
|
267 |
}
|
268 |
|
269 |
/**
|
@@ -271,9 +274,7 @@ trait Sql
|
|
271 |
*/
|
272 |
protected function clauseAndUserNotIn()
|
273 |
{
|
274 |
-
return
|
275 |
-
$this->db->prepare('AND p.post_author NOT IN (%s)', implode(',', $this->args['user__not_in']))
|
276 |
-
);
|
277 |
}
|
278 |
|
279 |
/**
|
@@ -281,9 +282,7 @@ trait Sql
|
|
281 |
*/
|
282 |
protected function clauseJoinAssignedPosts()
|
283 |
{
|
284 |
-
return
|
285 |
-
"INNER JOIN {$this->table('assigned_posts')} AS apt ON r.ID = apt.rating_id"
|
286 |
-
);
|
287 |
}
|
288 |
|
289 |
/**
|
@@ -291,9 +290,7 @@ trait Sql
|
|
291 |
*/
|
292 |
protected function clauseJoinAssignedTerms()
|
293 |
{
|
294 |
-
return
|
295 |
-
"INNER JOIN {$this->table('assigned_terms')} AS att ON r.ID = att.rating_id"
|
296 |
-
);
|
297 |
}
|
298 |
|
299 |
/**
|
@@ -301,9 +298,7 @@ trait Sql
|
|
301 |
*/
|
302 |
protected function clauseJoinAssignedUsers()
|
303 |
{
|
304 |
-
return
|
305 |
-
"INNER JOIN {$this->table('assigned_users')} AS aut ON r.ID = aut.rating_id"
|
306 |
-
);
|
307 |
}
|
308 |
|
309 |
/**
|
@@ -321,9 +316,7 @@ trait Sql
|
|
321 |
*/
|
322 |
protected function clauseJoinUserIn()
|
323 |
{
|
324 |
-
return
|
325 |
-
"INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID"
|
326 |
-
);
|
327 |
}
|
328 |
|
329 |
/**
|
@@ -331,9 +324,7 @@ trait Sql
|
|
331 |
*/
|
332 |
protected function clauseJoinUserNotIn()
|
333 |
{
|
334 |
-
return
|
335 |
-
"INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID"
|
336 |
-
);
|
337 |
}
|
338 |
|
339 |
/**
|
@@ -346,6 +337,27 @@ trait Sql
|
|
346 |
);
|
347 |
}
|
348 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
/**
|
350 |
* @param int $depth
|
351 |
* @return string
|
2 |
|
3 |
namespace GeminiLabs\SiteReviews\Database;
|
4 |
|
5 |
+
use GeminiLabs\SiteReviews\Database;
|
6 |
use GeminiLabs\SiteReviews\Helper;
|
7 |
use GeminiLabs\SiteReviews\Helpers\Arr;
|
8 |
+
use GeminiLabs\SiteReviews\Helpers\Cast;
|
9 |
use GeminiLabs\SiteReviews\Helpers\Str;
|
10 |
|
11 |
trait Sql
|
27 |
public function clauses($clause, array $values = [])
|
28 |
{
|
29 |
$prefix = Str::restrictTo('and,join', $clause);
|
30 |
+
foreach ($this->args as $key => $value) {
|
31 |
$method = Helper::buildMethodName($key, 'clause-'.$prefix);
|
32 |
+
if (!method_exists($this, $method) || Helper::isEmpty($value)) {
|
33 |
+
continue;
|
34 |
+
}
|
35 |
+
if ($statement = call_user_func([$this, $method])) {
|
36 |
+
$values[$key] = $statement;
|
37 |
}
|
38 |
}
|
39 |
return $values;
|
132 |
{
|
133 |
$and = $this->clauses('and');
|
134 |
$and = glsr()->filterArrayUnique('query/sql/and', $and, $this->sqlHandle(), $this);
|
135 |
+
$and = $this->normalizeAndClauses($and);
|
136 |
return 'WHERE 1=1 '.implode(' ', $and);
|
137 |
}
|
138 |
|
149 |
*/
|
150 |
protected function clauseAndAssignedPosts()
|
151 |
{
|
152 |
+
$postIds = implode(',', $this->args['assigned_posts']);
|
153 |
+
return sprintf('(apt.post_id IN (%s) AND apt.is_published = 1)', $postIds);
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* @return string
|
158 |
+
*/
|
159 |
+
protected function clauseAndAssignedTerms()
|
160 |
+
{
|
161 |
+
$termIds = implode(',', $this->args['assigned_terms']);
|
162 |
+
return sprintf('(att.term_id IN (%s))', $termIds);
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* @return string
|
167 |
+
*/
|
168 |
+
protected function clauseAndAssignedUsers()
|
169 |
+
{
|
170 |
+
$userIds = implode(',', $this->args['assigned_users']);
|
171 |
+
return sprintf('(aut.user_id IN (%s))', $userIds);
|
172 |
}
|
173 |
|
174 |
/**
|
200 |
*/
|
201 |
protected function clauseAndEmail()
|
202 |
{
|
203 |
+
return $this->db->prepare('AND r.email = %s', $this->args['email']);
|
|
|
|
|
204 |
}
|
205 |
|
206 |
/**
|
208 |
*/
|
209 |
protected function clauseAndIpAddress()
|
210 |
{
|
211 |
+
return $this->db->prepare('AND r.ip_address = %s', $this->args['ip_address']);
|
|
|
|
|
212 |
}
|
213 |
|
214 |
/**
|
216 |
*/
|
217 |
protected function clauseAndPostIn()
|
218 |
{
|
219 |
+
return $this->db->prepare('AND r.review_id IN (%s)', implode(',', $this->args['post__in']));
|
|
|
|
|
220 |
}
|
221 |
|
222 |
/**
|
224 |
*/
|
225 |
protected function clauseAndPostNotIn()
|
226 |
{
|
227 |
+
return $this->db->prepare('AND r.review_id NOT IN (%s)', implode(',', $this->args['post__not_in']));
|
|
|
|
|
228 |
}
|
229 |
|
230 |
/**
|
232 |
*/
|
233 |
protected function clauseAndRating()
|
234 |
{
|
235 |
+
return Helper::ifTrue($this->args['rating'] > 0,
|
236 |
$this->db->prepare('AND r.rating > %d', --$this->args['rating'])
|
237 |
);
|
238 |
}
|
242 |
*/
|
243 |
protected function clauseAndStatus()
|
244 |
{
|
245 |
+
return $this->db->prepare('AND r.is_approved = %d', $this->args['status']);
|
246 |
+
}
|
247 |
+
|
248 |
+
/**
|
249 |
+
* @return string
|
250 |
+
*/
|
251 |
+
protected function clauseAndTerms()
|
252 |
+
{
|
253 |
+
return $this->db->prepare('AND r.terms = %d', Cast::toBool($this->args['terms']));
|
254 |
}
|
255 |
|
256 |
/**
|
258 |
*/
|
259 |
protected function clauseAndType()
|
260 |
{
|
261 |
+
return $this->db->prepare('AND r.type = %s', $this->args['type']);
|
|
|
|
|
262 |
}
|
263 |
|
264 |
/**
|
266 |
*/
|
267 |
protected function clauseAndUserIn()
|
268 |
{
|
269 |
+
return $this->db->prepare('AND p.post_author IN (%s)', implode(',', $this->args['user__in']));
|
|
|
|
|
270 |
}
|
271 |
|
272 |
/**
|
274 |
*/
|
275 |
protected function clauseAndUserNotIn()
|
276 |
{
|
277 |
+
return $this->db->prepare('AND p.post_author NOT IN (%s)', implode(',', $this->args['user__not_in']));
|
|
|
|
|
278 |
}
|
279 |
|
280 |
/**
|
282 |
*/
|
283 |
protected function clauseJoinAssignedPosts()
|
284 |
{
|
285 |
+
return "INNER JOIN {$this->table('assigned_posts')} AS apt ON r.ID = apt.rating_id";
|
|
|
|
|
286 |
}
|
287 |
|
288 |
/**
|
290 |
*/
|
291 |
protected function clauseJoinAssignedTerms()
|
292 |
{
|
293 |
+
return "INNER JOIN {$this->table('assigned_terms')} AS att ON r.ID = att.rating_id";
|
|
|
|
|
294 |
}
|
295 |
|
296 |
/**
|
298 |
*/
|
299 |
protected function clauseJoinAssignedUsers()
|
300 |
{
|
301 |
+
return "INNER JOIN {$this->table('assigned_users')} AS aut ON r.ID = aut.rating_id";
|
|
|
|
|
302 |
}
|
303 |
|
304 |
/**
|
316 |
*/
|
317 |
protected function clauseJoinUserIn()
|
318 |
{
|
319 |
+
return "INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID";
|
|
|
|
|
320 |
}
|
321 |
|
322 |
/**
|
324 |
*/
|
325 |
protected function clauseJoinUserNotIn()
|
326 |
{
|
327 |
+
return "INNER JOIN {$this->db->posts} AS p ON r.review_id = p.ID";
|
|
|
|
|
328 |
}
|
329 |
|
330 |
/**
|
337 |
);
|
338 |
}
|
339 |
|
340 |
+
/**
|
341 |
+
* @return array
|
342 |
+
*/
|
343 |
+
protected function normalizeAndClauses(array $and)
|
344 |
+
{
|
345 |
+
$clauses = [];
|
346 |
+
foreach ($and as $key => $value) {
|
347 |
+
if (Str::startsWith('assigned_', $key)) {
|
348 |
+
$clauses[] = $value;
|
349 |
+
unset($and[$key]);
|
350 |
+
}
|
351 |
+
}
|
352 |
+
$operator = glsr()->filterString('query/sql/clause/operator', 'OR', $clauses, $this->args);
|
353 |
+
$operator = strtoupper($operator);
|
354 |
+
$operator = Helper::ifTrue(in_array($operator, ['AND', 'OR']), $operator, 'OR');
|
355 |
+
if ($clauses = implode(" {$operator} ", $clauses)) {
|
356 |
+
$and['assigned'] = "AND ($clauses)";
|
357 |
+
}
|
358 |
+
return $and;
|
359 |
+
}
|
360 |
+
|
361 |
/**
|
362 |
* @param int $depth
|
363 |
* @return string
|
plugin/Database/SqlSchema.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace GeminiLabs\SiteReviews\Database;
|
4 |
|
5 |
use GeminiLabs\SiteReviews\Database;
|
|
|
6 |
use GeminiLabs\SiteReviews\Helpers\Str;
|
7 |
|
8 |
class SqlSchema
|
@@ -121,6 +122,7 @@ class SqlSchema
|
|
121 |
if ($this->foreignConstraintExists($constraint, $foreignTable)) {
|
122 |
return false;
|
123 |
}
|
|
|
124 |
return glsr(Database::class)->dbQuery(glsr(Query::class)->sql("
|
125 |
ALTER TABLE {$table}
|
126 |
ADD CONSTRAINT {$constraint}
|
@@ -143,6 +145,14 @@ class SqlSchema
|
|
143 |
}
|
144 |
}
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
/**
|
147 |
* @param string $table
|
148 |
* @return bool|int
|
@@ -262,9 +272,6 @@ class SqlSchema
|
|
262 |
$this->createAssignedTermsTable();
|
263 |
$this->createAssignedUsersTable();
|
264 |
$this->createRatingTable();
|
265 |
-
if ($this->tablesExist()) {
|
266 |
-
add_option(glsr()->prefix.'db_version', '1.0');
|
267 |
-
}
|
268 |
}
|
269 |
|
270 |
/**
|
@@ -284,6 +291,20 @@ class SqlSchema
|
|
284 |
"));
|
285 |
}
|
286 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
/**
|
288 |
* This method expects the fully formed foreign constraint key
|
289 |
* @param string $constraint
|
@@ -338,17 +359,21 @@ class SqlSchema
|
|
338 |
}
|
339 |
|
340 |
/**
|
341 |
-
* @param string $
|
342 |
-
* @
|
|
|
|
|
|
|
343 |
*/
|
344 |
-
public function
|
345 |
{
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
|
|
352 |
}
|
353 |
|
354 |
/**
|
3 |
namespace GeminiLabs\SiteReviews\Database;
|
4 |
|
5 |
use GeminiLabs\SiteReviews\Database;
|
6 |
+
use GeminiLabs\SiteReviews\Helpers\Cast;
|
7 |
use GeminiLabs\SiteReviews\Helpers\Str;
|
8 |
|
9 |
class SqlSchema
|
122 |
if ($this->foreignConstraintExists($constraint, $foreignTable)) {
|
123 |
return false;
|
124 |
}
|
125 |
+
$this->removeOrphanedRows($table, $foreignKey, $foreignTable, $foreignColumn);
|
126 |
return glsr(Database::class)->dbQuery(glsr(Query::class)->sql("
|
127 |
ALTER TABLE {$table}
|
128 |
ADD CONSTRAINT {$constraint}
|
145 |
}
|
146 |
}
|
147 |
|
148 |
+
public function columnExists($table, $column)
|
149 |
+
{
|
150 |
+
$result = glsr(Database::class)->dbQuery(
|
151 |
+
glsr(Query::class)->sql("SHOW COLUMNS FROM {$this->table($table)} LIKE '{$column}'")
|
152 |
+
);
|
153 |
+
return Cast::toBool($result);
|
154 |
+
}
|
155 |
+
|
156 |
/**
|
157 |
* @param string $table
|
158 |
* @return bool|int
|
272 |
$this->createAssignedTermsTable();
|
273 |
$this->createAssignedUsersTable();
|
274 |
$this->createRatingTable();
|
|
|
|
|
|
|
275 |
}
|
276 |
|
277 |
/**
|
291 |
"));
|
292 |
}
|
293 |
|
294 |
+
/**
|
295 |
+
* @param string $constraint
|
296 |
+
* @return string
|
297 |
+
*/
|
298 |
+
public function foreignConstraint($constraint)
|
299 |
+
{
|
300 |
+
$constraint = Str::prefix($constraint, glsr()->prefix);
|
301 |
+
$constraint = Str::suffix($constraint, '_foreign');
|
302 |
+
if (is_multisite() && $this->db->blogid > 1) {
|
303 |
+
return Str::suffix($constraint, '_'.$this->db->blogid);
|
304 |
+
}
|
305 |
+
return $constraint;
|
306 |
+
}
|
307 |
+
|
308 |
/**
|
309 |
* This method expects the fully formed foreign constraint key
|
310 |
* @param string $constraint
|
359 |
}
|
360 |
|
361 |
/**
|
362 |
+
* @param string $table
|
363 |
+
* @param string $foreignKey
|
364 |
+
* @param string $foreignTable
|
365 |
+
* @param string $foreignColumn
|
366 |
+
* @return int|bool
|
367 |
*/
|
368 |
+
public function removeOrphanedRows($table, $foreignKey, $foreignTable, $foreignColumn)
|
369 |
{
|
370 |
+
// Remove all rows from the custom table where the referenced foreign table row does not exist
|
371 |
+
return glsr(Database::class)->dbQuery(glsr(Query::class)->sql("
|
372 |
+
DELETE t
|
373 |
+
FROM {$this->table($table)} AS t
|
374 |
+
LEFT JOIN {$this->table($foreignTable)} AS ft ON t.{$foreignKey} = ft.{$foreignColumn}
|
375 |
+
WHERE ft.{$foreignColumn} IS NULL
|
376 |
+
"));
|
377 |
}
|
378 |
|
379 |
/**
|
plugin/Defaults/CreateReviewDefaults.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace GeminiLabs\SiteReviews\Defaults;
|
4 |
|
5 |
use GeminiLabs\SiteReviews\Defaults\DefaultsAbstract as Defaults;
|
|
|
6 |
|
7 |
class CreateReviewDefaults extends Defaults
|
8 |
{
|
@@ -38,6 +39,8 @@ class CreateReviewDefaults extends Defaults
|
|
38 |
'rating' => 'int',
|
39 |
'referer' => 'text',
|
40 |
'response' => 'text',
|
|
|
|
|
41 |
'title' => 'text',
|
42 |
'type' => 'text',
|
43 |
'url' => 'url',
|
@@ -59,15 +62,28 @@ class CreateReviewDefaults extends Defaults
|
|
59 |
'email' => '',
|
60 |
'form_id' => '',
|
61 |
'ip_address' => '',
|
62 |
-
'is_pinned' =>
|
63 |
'name' => '',
|
64 |
'post_id' => '',
|
65 |
'rating' => '',
|
66 |
'referer' => '',
|
67 |
'response' => '',
|
|
|
|
|
68 |
'title' => '',
|
69 |
'type' => '',
|
70 |
'url' => '',
|
71 |
];
|
72 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
3 |
namespace GeminiLabs\SiteReviews\Defaults;
|
4 |
|
5 |
use GeminiLabs\SiteReviews\Defaults\DefaultsAbstract as Defaults;
|
6 |
+
use GeminiLabs\SiteReviews\Helpers\Cast;
|
7 |
|
8 |
class CreateReviewDefaults extends Defaults
|
9 |
{
|
39 |
'rating' => 'int',
|
40 |
'referer' => 'text',
|
41 |
'response' => 'text',
|
42 |
+
'terms' => 'bool',
|
43 |
+
'terms_exist' => 'bool',
|
44 |
'title' => 'text',
|
45 |
'type' => 'text',
|
46 |
'url' => 'url',
|
62 |
'email' => '',
|
63 |
'form_id' => '',
|
64 |
'ip_address' => '',
|
65 |
+
'is_pinned' => false,
|
66 |
'name' => '',
|
67 |
'post_id' => '',
|
68 |
'rating' => '',
|
69 |
'referer' => '',
|
70 |
'response' => '',
|
71 |
+
'terms' => true,
|
72 |
+
'terms_exist' => false,
|
73 |
'title' => '',
|
74 |
'type' => '',
|
75 |
'url' => '',
|
76 |
];
|
77 |
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* @return array
|
81 |
+
*/
|
82 |
+
protected function normalize(array $values = [])
|
83 |
+
{
|
84 |
+
if (Cast::toBool(glsr_get($values, 'terms_exist', false))) {
|
85 |
+
$values['terms'] = !empty($values['terms']);
|
86 |
+
}
|
87 |
+
return $values;
|
88 |
+
}
|
89 |
}
|
plugin/Defaults/RatingDefaults.php
CHANGED
@@ -26,6 +26,7 @@ class RatingDefaults extends Defaults
|
|
26 |
'name' => 'text',
|
27 |
'rating' => 'int',
|
28 |
'review_id' => 'int',
|
|
|
29 |
'type' => 'text',
|
30 |
'url' => 'url',
|
31 |
];
|
@@ -45,6 +46,7 @@ class RatingDefaults extends Defaults
|
|
45 |
'name' => '',
|
46 |
'rating' => '',
|
47 |
'review_id' => '',
|
|
|
48 |
'type' => '',
|
49 |
'url' => '',
|
50 |
];
|
26 |
'name' => 'text',
|
27 |
'rating' => 'int',
|
28 |
'review_id' => 'int',
|
29 |
+
'terms' => 'bool',
|
30 |
'type' => 'text',
|
31 |
'url' => 'url',
|
32 |
];
|
46 |
'name' => '',
|
47 |
'rating' => '',
|
48 |
'review_id' => '',
|
49 |
+
'terms' => true,
|
50 |
'type' => '',
|
51 |
'url' => '',
|
52 |
];
|
plugin/Defaults/ReviewDefaults.php
CHANGED
@@ -16,6 +16,7 @@ class ReviewDefaults extends Defaults
|
|
16 |
'is_pinned' => 'bool',
|
17 |
'rating' => 'int',
|
18 |
'rating_id' => 'int',
|
|
|
19 |
];
|
20 |
|
21 |
/**
|
@@ -64,6 +65,7 @@ class ReviewDefaults extends Defaults
|
|
64 |
'rating_id' => '',
|
65 |
'response' => '',
|
66 |
'status' => '',
|
|
|
67 |
'title' => '',
|
68 |
'type' => '',
|
69 |
'url' => '',
|
16 |
'is_pinned' => 'bool',
|
17 |
'rating' => 'int',
|
18 |
'rating_id' => 'int',
|
19 |
+
'terms' => 'bool',
|
20 |
];
|
21 |
|
22 |
/**
|
65 |
'rating_id' => '',
|
66 |
'response' => '',
|
67 |
'status' => '',
|
68 |
+
'terms' => true,
|
69 |
'title' => '',
|
70 |
'type' => '',
|
71 |
'url' => '',
|
plugin/Defaults/ReviewsDefaults.php
CHANGED
@@ -67,6 +67,7 @@ class ReviewsDefaults extends Defaults
|
|
67 |
'post__not_in' => [],
|
68 |
'rating' => '',
|
69 |
'status' => 'approved',
|
|
|
70 |
'type' => '',
|
71 |
'user__in' => [],
|
72 |
'user__not_in' => [],
|
67 |
'post__not_in' => [],
|
68 |
'rating' => '',
|
69 |
'status' => 'approved',
|
70 |
+
'terms' => '',
|
71 |
'type' => '',
|
72 |
'user__in' => [],
|
73 |
'user__not_in' => [],
|
plugin/Defaults/SiteReviewsDefaults.php
CHANGED
@@ -64,6 +64,7 @@ class SiteReviewsDefaults extends Defaults
|
|
64 |
'pagination' => false,
|
65 |
'rating' => 0,
|
66 |
'schema' => false,
|
|
|
67 |
'title' => '',
|
68 |
'type' => 'local',
|
69 |
];
|
64 |
'pagination' => false,
|
65 |
'rating' => 0,
|
66 |
'schema' => false,
|
67 |
+
'terms' => '',
|
68 |
'title' => '',
|
69 |
'type' => 'local',
|
70 |
];
|
plugin/Defaults/SiteReviewsSummaryDefaults.php
CHANGED
@@ -56,6 +56,7 @@ class SiteReviewsSummaryDefaults extends Defaults
|
|
56 |
'labels' => '',
|
57 |
'rating' => 1,
|
58 |
'schema' => false,
|
|
|
59 |
'text' => '',
|
60 |
'title' => '',
|
61 |
'type' => 'local',
|
56 |
'labels' => '',
|
57 |
'rating' => 1,
|
58 |
'schema' => false,
|
59 |
+
'terms' => '',
|
60 |
'text' => '',
|
61 |
'title' => '',
|
62 |
'type' => 'local',
|
plugin/Helper.php
CHANGED
@@ -185,6 +185,9 @@ class Helper
|
|
185 |
*/
|
186 |
public static function isEmpty($value)
|
187 |
{
|
|
|
|
|
|
|
188 |
return !is_numeric($value) && !is_bool($value) && empty($value);
|
189 |
}
|
190 |
|
185 |
*/
|
186 |
public static function isEmpty($value)
|
187 |
{
|
188 |
+
if (is_string($value)) {
|
189 |
+
return trim($value) === '';
|
190 |
+
}
|
191 |
return !is_numeric($value) && !is_bool($value) && empty($value);
|
192 |
}
|
193 |
|
plugin/Install.php
CHANGED
@@ -86,6 +86,17 @@ class Install
|
|
86 |
restore_current_blog();
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
/**
|
90 |
* @return void
|
91 |
*/
|
@@ -101,6 +112,9 @@ class Install
|
|
101 |
{
|
102 |
glsr(SqlSchema::class)->createTables();
|
103 |
glsr(SqlSchema::class)->addForeignConstraints();
|
|
|
|
|
|
|
104 |
}
|
105 |
|
106 |
/**
|
@@ -123,17 +137,6 @@ class Install
|
|
123 |
$this->deleteInvalidAssignments();
|
124 |
}
|
125 |
|
126 |
-
/**
|
127 |
-
* @return array
|
128 |
-
*/
|
129 |
-
protected function sites()
|
130 |
-
{
|
131 |
-
return get_sites([
|
132 |
-
'fields' => 'ids',
|
133 |
-
'network_id' => get_current_network_id(),
|
134 |
-
]);
|
135 |
-
}
|
136 |
-
|
137 |
/**
|
138 |
* @return array
|
139 |
*/
|
86 |
restore_current_blog();
|
87 |
}
|
88 |
|
89 |
+
/**
|
90 |
+
* @return array
|
91 |
+
*/
|
92 |
+
public function sites()
|
93 |
+
{
|
94 |
+
return get_sites([
|
95 |
+
'fields' => 'ids',
|
96 |
+
'network_id' => get_current_network_id(),
|
97 |
+
]);
|
98 |
+
}
|
99 |
+
|
100 |
/**
|
101 |
* @return void
|
102 |
*/
|
112 |
{
|
113 |
glsr(SqlSchema::class)->createTables();
|
114 |
glsr(SqlSchema::class)->addForeignConstraints();
|
115 |
+
if (glsr(SqlSchema::class)->tablesExist() && empty(get_option(glsr()->prefix.'db_version'))) {
|
116 |
+
add_option(glsr()->prefix.'db_version', Application::DB_VERSION);
|
117 |
+
}
|
118 |
}
|
119 |
|
120 |
/**
|
137 |
$this->deleteInvalidAssignments();
|
138 |
}
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
/**
|
141 |
* @return array
|
142 |
*/
|
plugin/Modules/Html/Tags/FormFieldsTag.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace GeminiLabs\SiteReviews\Modules\Html\Tags;
|
4 |
|
5 |
use GeminiLabs\SiteReviews\Helpers\Arr;
|
|
|
6 |
use GeminiLabs\SiteReviews\Modules\Honeypot;
|
7 |
use GeminiLabs\SiteReviews\Modules\Html\Attributes;
|
8 |
use GeminiLabs\SiteReviews\Modules\Html\Builder;
|
@@ -58,6 +59,7 @@ class FormFieldsTag extends FormTag
|
|
58 |
'assigned_users' => $this->args->assigned_users,
|
59 |
'excluded' => $this->args->hide,
|
60 |
'form_id' => $this->args->id,
|
|
|
61 |
];
|
62 |
foreach ($hiddenFields as $name => $value) {
|
63 |
$fields[$name] = new Field([
|
3 |
namespace GeminiLabs\SiteReviews\Modules\Html\Tags;
|
4 |
|
5 |
use GeminiLabs\SiteReviews\Helpers\Arr;
|
6 |
+
use GeminiLabs\SiteReviews\Helpers\Cast;
|
7 |
use GeminiLabs\SiteReviews\Modules\Honeypot;
|
8 |
use GeminiLabs\SiteReviews\Modules\Html\Attributes;
|
9 |
use GeminiLabs\SiteReviews\Modules\Html\Builder;
|
59 |
'assigned_users' => $this->args->assigned_users,
|
60 |
'excluded' => $this->args->hide,
|
61 |
'form_id' => $this->args->id,
|
62 |
+
'terms_exist' => Cast::toInt(!in_array('terms', $this->args->hide)),
|
63 |
];
|
64 |
foreach ($hiddenFields as $name => $value) {
|
65 |
$fields[$name] = new Field([
|
plugin/Modules/Migrate.php
CHANGED
@@ -86,7 +86,7 @@ class Migrate
|
|
86 |
if (is_dir($dir)) {
|
87 |
$iterator = new DirectoryIterator($dir);
|
88 |
foreach ($iterator as $fileinfo) {
|
89 |
-
if ($fileinfo->
|
90 |
$migrations[] = str_replace('.php', '', $fileinfo->getFilename());
|
91 |
}
|
92 |
}
|
@@ -147,9 +147,12 @@ class Migrate
|
|
147 |
glsr()->action('migration/start', $migrations);
|
148 |
foreach ($this->pendingMigrations($migrations) as $migration) {
|
149 |
if (class_exists($classname = __NAMESPACE__.'\Migrations\\'.$migration)) {
|
150 |
-
glsr($classname)->run()
|
151 |
-
|
152 |
-
|
|
|
|
|
|
|
153 |
}
|
154 |
}
|
155 |
$this->storeMigrations($migrations);
|
86 |
if (is_dir($dir)) {
|
87 |
$iterator = new DirectoryIterator($dir);
|
88 |
foreach ($iterator as $fileinfo) {
|
89 |
+
if ('file' === $fileinfo->getType()) {
|
90 |
$migrations[] = str_replace('.php', '', $fileinfo->getFilename());
|
91 |
}
|
92 |
}
|
147 |
glsr()->action('migration/start', $migrations);
|
148 |
foreach ($this->pendingMigrations($migrations) as $migration) {
|
149 |
if (class_exists($classname = __NAMESPACE__.'\Migrations\\'.$migration)) {
|
150 |
+
if (glsr($classname)->run()) {
|
151 |
+
$migrations[$migration] = true;
|
152 |
+
glsr_log()->debug("[$migration] has run successfully");
|
153 |
+
continue;
|
154 |
+
}
|
155 |
+
glsr_log()->error("[$migration] was unsuccessful");
|
156 |
}
|
157 |
}
|
158 |
$this->storeMigrations($migrations);
|
plugin/Modules/Migrations/Migrate_3_0_0.php
CHANGED
@@ -81,11 +81,12 @@ class Migrate_3_0_0
|
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
-
* @return
|
85 |
*/
|
86 |
public function run()
|
87 |
{
|
88 |
$this->migrateSettings();
|
|
|
89 |
}
|
90 |
|
91 |
/**
|
@@ -93,7 +94,7 @@ class Migrate_3_0_0
|
|
93 |
*/
|
94 |
protected function getNewSettings()
|
95 |
{
|
96 |
-
return
|
97 |
}
|
98 |
|
99 |
/**
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
+
* @return bool
|
85 |
*/
|
86 |
public function run()
|
87 |
{
|
88 |
$this->migrateSettings();
|
89 |
+
return true;
|
90 |
}
|
91 |
|
92 |
/**
|
94 |
*/
|
95 |
protected function getNewSettings()
|
96 |
{
|
97 |
+
return Arr::flatten(Arr::consolidate(OptionManager::databaseKey(3)));
|
98 |
}
|
99 |
|
100 |
/**
|
plugin/Modules/Migrations/Migrate_4_0_2.php
CHANGED
@@ -62,7 +62,7 @@ class Migrate_4_0_2
|
|
62 |
}
|
63 |
|
64 |
/**
|
65 |
-
* @return
|
66 |
*/
|
67 |
public function run()
|
68 |
{
|
@@ -70,5 +70,6 @@ class Migrate_4_0_2
|
|
70 |
$this->protectMetaKeys();
|
71 |
$this->deleteSessions();
|
72 |
delete_transient(glsr()->id.'_cloudflare_ips');
|
|
|
73 |
}
|
74 |
}
|
62 |
}
|
63 |
|
64 |
/**
|
65 |
+
* @return bool
|
66 |
*/
|
67 |
public function run()
|
68 |
{
|
70 |
$this->protectMetaKeys();
|
71 |
$this->deleteSessions();
|
72 |
delete_transient(glsr()->id.'_cloudflare_ips');
|
73 |
+
return true;
|
74 |
}
|
75 |
}
|
plugin/Modules/Migrations/Migrate_4_4_0.php
CHANGED
@@ -7,10 +7,11 @@ use GeminiLabs\SiteReviews\Role;
|
|
7 |
class Migrate_4_4_0
|
8 |
{
|
9 |
/**
|
10 |
-
* @return
|
11 |
*/
|
12 |
public function run()
|
13 |
{
|
14 |
glsr(Role::class)->resetAll();
|
|
|
15 |
}
|
16 |
}
|
7 |
class Migrate_4_4_0
|
8 |
{
|
9 |
/**
|
10 |
+
* @return bool
|
11 |
*/
|
12 |
public function run()
|
13 |
{
|
14 |
glsr(Role::class)->resetAll();
|
15 |
+
return true;
|
16 |
}
|
17 |
}
|
plugin/Modules/Migrations/Migrate_4_5_0.php
CHANGED
@@ -62,12 +62,13 @@ class Migrate_4_5_0
|
|
62 |
}
|
63 |
|
64 |
/**
|
65 |
-
* @return
|
66 |
*/
|
67 |
public function run()
|
68 |
{
|
69 |
$this->migrateOptions();
|
70 |
$this->migrateSettings();
|
71 |
$this->migrateUserMeta();
|
|
|
72 |
}
|
73 |
}
|
62 |
}
|
63 |
|
64 |
/**
|
65 |
+
* @return bool
|
66 |
*/
|
67 |
public function run()
|
68 |
{
|
69 |
$this->migrateOptions();
|
70 |
$this->migrateSettings();
|
71 |
$this->migrateUserMeta();
|
72 |
+
return true;
|
73 |
}
|
74 |
}
|
plugin/Modules/Migrations/Migrate_5_0_0.php
CHANGED
@@ -51,7 +51,7 @@ class Migrate_5_0_0
|
|
51 |
}
|
52 |
|
53 |
/**
|
54 |
-
* @return
|
55 |
*/
|
56 |
public function run()
|
57 |
{
|
@@ -59,5 +59,6 @@ class Migrate_5_0_0
|
|
59 |
$this->migrateWpOptions();
|
60 |
glsr(MigrateSidebars::class)->run();
|
61 |
glsr(MigrateReviews::class)->run();
|
|
|
62 |
}
|
63 |
}
|
51 |
}
|
52 |
|
53 |
/**
|
54 |
+
* @return bool
|
55 |
*/
|
56 |
public function run()
|
57 |
{
|
59 |
$this->migrateWpOptions();
|
60 |
glsr(MigrateSidebars::class)->run();
|
61 |
glsr(MigrateReviews::class)->run();
|
62 |
+
return true;
|
63 |
}
|
64 |
}
|
plugin/Modules/Migrations/Migrate_5_1_0.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace GeminiLabs\SiteReviews\Modules\Migrations;
|
4 |
-
|
5 |
-
use GeminiLabs\SiteReviews\Database\SqlSchema;
|
6 |
-
use GeminiLabs\SiteReviews\Modules\Console;
|
7 |
-
|
8 |
-
class Migrate_5_1_0
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
* @return void
|
12 |
-
*/
|
13 |
-
public function run()
|
14 |
-
{
|
15 |
-
if (!glsr(SqlSchema::class)->isInnodb('posts')
|
16 |
-
|| !glsr(SqlSchema::class)->isInnodb('terms')
|
17 |
-
|| !glsr(SqlSchema::class)->isInnodb('users')) {
|
18 |
-
glsr(Console::class)->clear(); // clear all of the contraint errors
|
19 |
-
}
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plugin/Modules/Migrations/Migrate_5_2_0.php
CHANGED
@@ -5,10 +5,11 @@ namespace GeminiLabs\SiteReviews\Modules\Migrations;
|
|
5 |
class Migrate_5_2_0
|
6 |
{
|
7 |
/**
|
8 |
-
* @return
|
9 |
*/
|
10 |
public function run()
|
11 |
{
|
12 |
wp_clear_scheduled_hook('site-reviews/schedule/session/purge');
|
|
|
13 |
}
|
14 |
}
|
5 |
class Migrate_5_2_0
|
6 |
{
|
7 |
/**
|
8 |
+
* @return bool
|
9 |
*/
|
10 |
public function run()
|
11 |
{
|
12 |
wp_clear_scheduled_hook('site-reviews/schedule/session/purge');
|
13 |
+
return true;
|
14 |
}
|
15 |
}
|
plugin/Modules/Migrations/Migrate_5_3_0.php
CHANGED
@@ -7,9 +7,29 @@ use GeminiLabs\SiteReviews\Application;
|
|
7 |
class Migrate_5_3_0
|
8 |
{
|
9 |
/**
|
10 |
-
* @return
|
11 |
*/
|
12 |
public function run()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
{
|
14 |
require_once ABSPATH.'/wp-admin/includes/plugin.php';
|
15 |
if (!is_plugin_active_for_network(plugin_basename(glsr()->file))) {
|
@@ -26,15 +46,4 @@ class Migrate_5_3_0
|
|
26 |
restore_current_blog();
|
27 |
}
|
28 |
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
* @return void
|
32 |
-
*/
|
33 |
-
protected function fixDatabaseVersion()
|
34 |
-
{
|
35 |
-
$databaseVersion = get_option(Application::PREFIX.'db_version');
|
36 |
-
if ('5.2' === $databaseVersion) {
|
37 |
-
update_option(Application::PREFIX.'db_version', '1.0');
|
38 |
-
}
|
39 |
-
}
|
40 |
}
|
7 |
class Migrate_5_3_0
|
8 |
{
|
9 |
/**
|
10 |
+
* @return bool
|
11 |
*/
|
12 |
public function run()
|
13 |
+
{
|
14 |
+
$this->migrateDatabase();
|
15 |
+
return true;
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @return void
|
20 |
+
*/
|
21 |
+
protected function fixDatabaseVersion()
|
22 |
+
{
|
23 |
+
$databaseVersion = get_option(glsr()->prefix.'db_version');
|
24 |
+
if ('5.2' === $databaseVersion) {
|
25 |
+
update_option(glsr()->prefix.'db_version', '1.0');
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @return void
|
31 |
+
*/
|
32 |
+
protected function migrateDatabase()
|
33 |
{
|
34 |
require_once ABSPATH.'/wp-admin/includes/plugin.php';
|
35 |
if (!is_plugin_active_for_network(plugin_basename(glsr()->file))) {
|
46 |
restore_current_blog();
|
47 |
}
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
plugin/Modules/Migrations/Migrate_5_6_0.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace GeminiLabs\SiteReviews\Modules\Migrations;
|
4 |
-
|
5 |
-
use GeminiLabs\SiteReviews\Database\CountManager;
|
6 |
-
|
7 |
-
class Migrate_5_6_0
|
8 |
-
{
|
9 |
-
/**
|
10 |
-
* @return void
|
11 |
-
*/
|
12 |
-
public function run()
|
13 |
-
{
|
14 |
-
glsr(CountManager::class)->recalculate();
|
15 |
-
}
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plugin/Modules/Migrations/Migrate_5_9_0.php
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GeminiLabs\SiteReviews\Modules\Migrations;
|
4 |
+
|
5 |
+
use GeminiLabs\SiteReviews\Database;
|
6 |
+
use GeminiLabs\SiteReviews\Database\CountManager;
|
7 |
+
use GeminiLabs\SiteReviews\Database\Query;
|
8 |
+
use GeminiLabs\SiteReviews\Database\SqlSchema;
|
9 |
+
use GeminiLabs\SiteReviews\Install;
|
10 |
+
|
11 |
+
class Migrate_5_9_0
|
12 |
+
{
|
13 |
+
/**
|
14 |
+
* @return bool
|
15 |
+
*/
|
16 |
+
public function migrateDatabase()
|
17 |
+
{
|
18 |
+
$table = glsr(SqlSchema::class)->table('ratings');
|
19 |
+
if ($this->isDatabaseVersionUpdated()) {
|
20 |
+
return true;
|
21 |
+
}
|
22 |
+
glsr(Database::class)->dbQuery(glsr(Query::class)->sql("
|
23 |
+
ALTER TABLE {$table}
|
24 |
+
ADD terms tinyint(1) NOT NULL DEFAULT '1'
|
25 |
+
AFTER url
|
26 |
+
"));
|
27 |
+
if ($this->isDatabaseVersionUpdated()) {
|
28 |
+
return true;
|
29 |
+
}
|
30 |
+
glsr_log()->error(sprintf('Database table [%s] could not be altered, column [terms] not added.', $table));
|
31 |
+
return false;
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @return void
|
36 |
+
*/
|
37 |
+
public function repairDatabase()
|
38 |
+
{
|
39 |
+
require_once ABSPATH.'/wp-admin/includes/plugin.php';
|
40 |
+
if (is_plugin_active_for_network(plugin_basename(glsr()->file))) {
|
41 |
+
foreach (glsr(Install::class)->sites() as $siteId) {
|
42 |
+
switch_to_blog($siteId);
|
43 |
+
$this->install();
|
44 |
+
restore_current_blog();
|
45 |
+
}
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
$this->install();
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @return bool
|
53 |
+
*/
|
54 |
+
public function run()
|
55 |
+
{
|
56 |
+
$this->repairDatabase(); // fix orphaned rows and foreign indexes
|
57 |
+
glsr(CountManager::class)->recalculate();
|
58 |
+
return $this->migrateDatabase();
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @return void
|
63 |
+
*/
|
64 |
+
protected function install()
|
65 |
+
{
|
66 |
+
glsr(SqlSchema::class)->createTables();
|
67 |
+
glsr(SqlSchema::class)->addForeignConstraints();
|
68 |
+
glsr(Database::class)->deleteInvalidPostAssignments();
|
69 |
+
glsr(Database::class)->deleteInvalidTermAssignments();
|
70 |
+
glsr(Database::class)->deleteInvalidUserAssignments();
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @return bool
|
75 |
+
*/
|
76 |
+
protected function isDatabaseVersionUpdated()
|
77 |
+
{
|
78 |
+
$table = glsr(SqlSchema::class)->table('ratings');
|
79 |
+
if (glsr(SqlSchema::class)->columnExists($table, 'terms')) {
|
80 |
+
if (!glsr(Database::class)->version('1.1')) {
|
81 |
+
update_option(glsr()->prefix.'db_version', '1.1');
|
82 |
+
}
|
83 |
+
return true;
|
84 |
+
}
|
85 |
+
return false;
|
86 |
+
}
|
87 |
+
|
88 |
+
}
|
plugin/Modules/Sanitizer.php
CHANGED
@@ -122,6 +122,7 @@ class Sanitizer
|
|
122 |
}
|
123 |
|
124 |
/**
|
|
|
125 |
* @param mixed $value
|
126 |
* @return string
|
127 |
*/
|
@@ -130,6 +131,17 @@ class Sanitizer
|
|
130 |
return Str::snakeCase(sanitize_key($this->sanitizeText($value)));
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
/**
|
134 |
* @param mixed $value
|
135 |
* @return string
|
122 |
}
|
123 |
|
124 |
/**
|
125 |
+
* This allows lowercase alphannumeric, dash, and underscore characters
|
126 |
* @param mixed $value
|
127 |
* @return string
|
128 |
*/
|
131 |
return Str::snakeCase(sanitize_key($this->sanitizeText($value)));
|
132 |
}
|
133 |
|
134 |
+
/**
|
135 |
+
* This allows lowercase alpha and underscore characters
|
136 |
+
* @param mixed $value
|
137 |
+
* @return string
|
138 |
+
*/
|
139 |
+
public function sanitizeName($value)
|
140 |
+
{
|
141 |
+
$value = Str::snakeCase($this->sanitizeText($value));
|
142 |
+
return preg_replace('/[^a-z_]/', '', $value);
|
143 |
+
}
|
144 |
+
|
145 |
/**
|
146 |
* @param mixed $value
|
147 |
* @return string
|
plugin/Review.php
CHANGED
@@ -36,6 +36,7 @@ use GeminiLabs\SiteReviews\Modules\Html\ReviewHtml;
|
|
36 |
* @property int $rating_id
|
37 |
* @property string $response
|
38 |
* @property string $status
|
|
|
39 |
* @property string $title
|
40 |
* @property string $type
|
41 |
* @property string $url
|
36 |
* @property int $rating_id
|
37 |
* @property string $response
|
38 |
* @property string $status
|
39 |
+
* @property bool $terms
|
40 |
* @property string $title
|
41 |
* @property string $type
|
42 |
* @property string $url
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: reviews, ratings, testimonials, woocommerce, product reviews
|
|
5 |
Tested up to: 5.7
|
6 |
Requires at least: 5.5
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 5.
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -15,7 +15,7 @@ Site Reviews allows you to easily receive and display reviews for your website,
|
|
15 |
|
16 |
Site Reviews allows your visitors to submit reviews with a 1-5 star rating on your website, similar to the way you would on TripAdvisor or Yelp. The plugin provides blocks, shortcodes, and widgets, along with full documentation.
|
17 |
|
18 |
-
You can pin your best reviews so that they are always shown first, require approval before new review submissions are published, require visitors to be logged-in in order to write a review, send custom notifications on a new submission, and
|
19 |
|
20 |
__Site Reviews provides full Woocommerce integration__ with the free [Woocommerce Reviews](https://niftyplugins.com/plugins/woocommerce-reviews/) add-on.
|
21 |
|
@@ -58,7 +58,7 @@ __Site Reviews provides full Woocommerce integration__ with the free [Woocommerc
|
|
58 |
|
59 |
### Site Reviews Add-ons
|
60 |
|
61 |
-
Site Reviews provides a ton of absolutely free features, possibly more than any other review plugin! But when those features are not enough, Site Reviews provides additional features
|
62 |
|
63 |
- __[Review Forms](https://niftyplugins.com/plugins/site-reviews-forms/) (premium)__: Create custom review forms with over 20 field types and individual review templates.
|
64 |
- __[Review Filters](https://niftyplugins.com/plugins/site-reviews-filters/) (premium)__: Sort, filter, and search your reviews.
|
@@ -103,36 +103,46 @@ All documentation can be found in the "Help" page of the plugin. If your questio
|
|
103 |
|
104 |
1. The "All Reviews" page.
|
105 |
|
106 |
-
2.
|
107 |
|
108 |
-
3.
|
109 |
|
110 |
-
4.
|
111 |
|
112 |
-
5. Site Reviews
|
113 |
|
114 |
-
6. Site Reviews includes
|
115 |
|
116 |
-
7.
|
117 |
|
118 |
-
8. The "
|
119 |
|
120 |
-
9. The "
|
121 |
|
122 |
-
10. The "
|
123 |
|
124 |
-
11.
|
125 |
|
126 |
-
12.
|
127 |
|
128 |
-
13.
|
129 |
|
130 |
-
14.
|
131 |
|
132 |
-
15.
|
|
|
|
|
133 |
|
134 |
## Changelog
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
= 5.8.5 (2021-04-17) =
|
137 |
|
138 |
- Fixed anonymous reviews from inheriting the author ID of the logged in user after being edited
|
5 |
Tested up to: 5.7
|
6 |
Requires at least: 5.5
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 5.9.0
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
15 |
|
16 |
Site Reviews allows your visitors to submit reviews with a 1-5 star rating on your website, similar to the way you would on TripAdvisor or Yelp. The plugin provides blocks, shortcodes, and widgets, along with full documentation.
|
17 |
|
18 |
+
You can pin your best reviews so that they are always shown first, require approval before new review submissions are published, require visitors to be logged-in in order to write a review, send custom notifications on a new submission, and a whole lot more!
|
19 |
|
20 |
__Site Reviews provides full Woocommerce integration__ with the free [Woocommerce Reviews](https://niftyplugins.com/plugins/woocommerce-reviews/) add-on.
|
21 |
|
58 |
|
59 |
### Site Reviews Add-ons
|
60 |
|
61 |
+
Site Reviews provides a ton of absolutely free features, possibly more than any other review plugin! But when those features are not enough, Site Reviews provides additional features through add-ons. Current add-ons include:
|
62 |
|
63 |
- __[Review Forms](https://niftyplugins.com/plugins/site-reviews-forms/) (premium)__: Create custom review forms with over 20 field types and individual review templates.
|
64 |
- __[Review Filters](https://niftyplugins.com/plugins/site-reviews-filters/) (premium)__: Sort, filter, and search your reviews.
|
103 |
|
104 |
1. The "All Reviews" page.
|
105 |
|
106 |
+
2. Add-ons provide additional functionality to Site Reviews
|
107 |
|
108 |
+
3. The "Edit Review" page.
|
109 |
|
110 |
+
4. Site Reviews has full support for the new Blocks Editor and includes custom blocks for each of the shortcodes.
|
111 |
|
112 |
+
5. If you are still using the Classic page editor, you can use the Site Reviews dropdown button to easily add any of the shortcodes.
|
113 |
|
114 |
+
6. Site Reviews includes three widgets.
|
115 |
|
116 |
+
7. Site Reviews includes a Help page with answers to frequently asked questions and complete documentation for all available shortcode options.
|
117 |
|
118 |
+
8. The "General" settings page.
|
119 |
|
120 |
+
9. The "Reviews" settings page.
|
121 |
|
122 |
+
10. The "Submissions" settings page.
|
123 |
|
124 |
+
11. The "Schema" settings page.
|
125 |
|
126 |
+
12. Easily add a custom translation for any text in the plugin.
|
127 |
|
128 |
+
13. Export/import the plugin settings, and perform various other tasks.
|
129 |
|
130 |
+
14. If you experience any issues with the plugin, the console logger is the first pace to look.
|
131 |
|
132 |
+
15. View information about the configuration of your server, your website, and the Site Reviews plugin.
|
133 |
+
|
134 |
+
16. This is what the Slack notifications look like.
|
135 |
|
136 |
## Changelog
|
137 |
|
138 |
+
= 5.9.0 (2021-04-24) =
|
139 |
+
|
140 |
+
- Added a "Compatibility Issues" section to the Help page to document incompatible plugins along with possible workarounds.
|
141 |
+
- Added a "terms" option to the shortcodes which allow you to only display reviews where the terms field was accepted in the form. All reviews that were submitted before this update will have their terms set as accepted.
|
142 |
+
- Fixed database foreign table constraints
|
143 |
+
- Fixed settings tabs on touch devices
|
144 |
+
- Improved the Tools page
|
145 |
+
|
146 |
= 5.8.5 (2021-04-17) =
|
147 |
|
148 |
- Fixed anonymous reviews from inheriting the author ID of the logged in user after being edited
|
site-reviews.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* Plugin Name: Site Reviews
|
8 |
* Plugin URI: https://wordpress.org/plugins/site-reviews
|
9 |
* Description: Receive and display reviews on your website
|
10 |
-
* Version: 5.
|
11 |
* Author: Paul Ryley
|
12 |
* Author URI: https://geminilabs.io
|
13 |
* License: GPL2
|
@@ -27,6 +27,7 @@ if ((new GL_Plugin_Check_v5(__FILE__))->canProceed()) {
|
|
27 |
require_once __DIR__.'/compatibility.php';
|
28 |
require_once __DIR__.'/deprecated.php';
|
29 |
require_once __DIR__.'/helpers.php';
|
|
|
30 |
$app = GeminiLabs\SiteReviews\Application::load();
|
31 |
$app->make('Provider')->register($app);
|
32 |
register_deactivation_hook(__FILE__, array($app, 'deactivate'));
|
7 |
* Plugin Name: Site Reviews
|
8 |
* Plugin URI: https://wordpress.org/plugins/site-reviews
|
9 |
* Description: Receive and display reviews on your website
|
10 |
+
* Version: 5.9.0
|
11 |
* Author: Paul Ryley
|
12 |
* Author URI: https://geminilabs.io
|
13 |
* License: GPL2
|
27 |
require_once __DIR__.'/compatibility.php';
|
28 |
require_once __DIR__.'/deprecated.php';
|
29 |
require_once __DIR__.'/helpers.php';
|
30 |
+
require_once __DIR__.'/migration.php';
|
31 |
$app = GeminiLabs\SiteReviews\Application::load();
|
32 |
$app->make('Provider')->register($app);
|
33 |
register_deactivation_hook(__FILE__, array($app, 'deactivate'));
|
views/pages/addons/index.php
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
<?php defined('ABSPATH') || die; ?>
|
2 |
|
3 |
<div class="wrap">
|
4 |
-
<h1 class="wp-heading-inline"
|
|
|
|
|
|
|
5 |
<?= $notices; ?>
|
6 |
<div class="glsr-addons">
|
7 |
<?php
|
1 |
<?php defined('ABSPATH') || die; ?>
|
2 |
|
3 |
<div class="wrap">
|
4 |
+
<h1 class="wp-heading-inline">
|
5 |
+
<?= esc_html(get_admin_page_title()); ?>
|
6 |
+
<a href="<?= admin_url('index.php?page='.glsr()->id.'-welcome'); ?>" class="page-title-action"><?= _x('About', 'admin-text', 'site-reviews'); ?></a>
|
7 |
+
</h1>
|
8 |
<?= $notices; ?>
|
9 |
<div class="glsr-addons">
|
10 |
<?php
|
views/pages/documentation/faq/ipaddress-incorrectly-detected.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
<div id="faq-ipaddress-incorrectly-detected" class="inside">
|
9 |
<p>If you are getting identical IP addresses for all your reviews (or if they are "unknown"), then your web server may be behind a CDN, firewall, or reverse proxy.</p>
|
10 |
<p>If this is the case, you will need to provide Site Reviews with the HTTP request header that contains the real visitor IP address. If you are unsure what this means or how to find out which custom header is needed, please contact your hosting provider, server administrator, or the support team of your CDN or firewall service for assistance.</p>
|
11 |
-
<p>Once you know the custom HTTP request header to use, you may add it with the following code snippet and then test it using the <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-general'); ?>"><code>Test IP Address Detection</code></a> tool.</p>
|
12 |
<pre><code class="language-php">/**
|
13 |
* Add a custom HTTP request header to fix IP address detection
|
14 |
* @param \Geminilabs\Vectorface\Whip $whip
|
8 |
<div id="faq-ipaddress-incorrectly-detected" class="inside">
|
9 |
<p>If you are getting identical IP addresses for all your reviews (or if they are "unknown"), then your web server may be behind a CDN, firewall, or reverse proxy.</p>
|
10 |
<p>If this is the case, you will need to provide Site Reviews with the HTTP request header that contains the real visitor IP address. If you are unsure what this means or how to find out which custom header is needed, please contact your hosting provider, server administrator, or the support team of your CDN or firewall service for assistance.</p>
|
11 |
+
<p>Once you know the custom HTTP request header to use, you may add it with the following code snippet and then test it using the <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-general'); ?>" data-expand="#tools-ip-detection"><code>Test IP Address Detection</code></a> tool.</p>
|
12 |
<pre><code class="language-php">/**
|
13 |
* Add a custom HTTP request header to fix IP address detection
|
14 |
* @param \Geminilabs\Vectorface\Whip $whip
|
views/pages/documentation/functions/glsr_create_review.php
CHANGED
@@ -25,6 +25,7 @@
|
|
25 |
* - 'is_pinned' => false,
|
26 |
* - 'name' => '',
|
27 |
* - 'rating' => '',
|
|
|
28 |
* - 'title' => '',
|
29 |
* - 'url' => '',
|
30 |
* @return \GeminiLabs\SiteReviews\Review|false
|
25 |
* - 'is_pinned' => false,
|
26 |
* - 'name' => '',
|
27 |
* - 'rating' => '',
|
28 |
+
* - 'terms' => true,
|
29 |
* - 'title' => '',
|
30 |
* - 'url' => '',
|
31 |
* @return \GeminiLabs\SiteReviews\Review|false
|
views/pages/documentation/shortcodes/site_reviews.php
CHANGED
@@ -25,6 +25,7 @@
|
|
25 |
trailingslashit(__DIR__).'site_reviews/pagination.php',
|
26 |
trailingslashit(__DIR__).'site_reviews/rating.php',
|
27 |
trailingslashit(__DIR__).'site_reviews/schema.php',
|
|
|
28 |
];
|
29 |
$filename = pathinfo(__FILE__, PATHINFO_FILENAME);
|
30 |
$options = glsr()->filterArrayUnique('documentation/shortcodes/'.$filename, $options);
|
25 |
trailingslashit(__DIR__).'site_reviews/pagination.php',
|
26 |
trailingslashit(__DIR__).'site_reviews/rating.php',
|
27 |
trailingslashit(__DIR__).'site_reviews/schema.php',
|
28 |
+
trailingslashit(__DIR__).'site_reviews/terms.php',
|
29 |
];
|
30 |
$filename = pathinfo(__FILE__, PATHINFO_FILENAME);
|
31 |
$options = glsr()->filterArrayUnique('documentation/shortcodes/'.$filename, $options);
|
views/pages/documentation/shortcodes/site_reviews/terms.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<p class="glsr-heading">terms</p>
|
2 |
+
<p>Include the "terms" option to display reviews where the terms were either accepted or not accepted. Accepted value is either <code>true</code> or <code>false</code>.</p>
|
3 |
+
<p>The default terms value is: <code>""</code></p>
|
4 |
+
<div class="shortcode-example">
|
5 |
+
<input type="text" readonly class="code" value='[site_reviews terms="true"]'>
|
6 |
+
<pre><code class="syntax-shortcode"><span class="tag">[site_reviews</span> <span class="attr-name">terms</span>=<span class="attr-value">"true"</span><span class="tag">]</span></code></pre>
|
7 |
+
</div>
|
views/pages/documentation/shortcodes/site_reviews_summary.php
CHANGED
@@ -22,6 +22,7 @@
|
|
22 |
trailingslashit(__DIR__).'site_reviews_summary/labels.php',
|
23 |
trailingslashit(__DIR__).'site_reviews_summary/rating.php',
|
24 |
trailingslashit(__DIR__).'site_reviews_summary/schema.php',
|
|
|
25 |
trailingslashit(__DIR__).'site_reviews_summary/text.php',
|
26 |
];
|
27 |
$filename = pathinfo(__FILE__, PATHINFO_FILENAME);
|
22 |
trailingslashit(__DIR__).'site_reviews_summary/labels.php',
|
23 |
trailingslashit(__DIR__).'site_reviews_summary/rating.php',
|
24 |
trailingslashit(__DIR__).'site_reviews_summary/schema.php',
|
25 |
+
trailingslashit(__DIR__).'site_reviews_summary/terms.php',
|
26 |
trailingslashit(__DIR__).'site_reviews_summary/text.php',
|
27 |
];
|
28 |
$filename = pathinfo(__FILE__, PATHINFO_FILENAME);
|
views/pages/documentation/shortcodes/site_reviews_summary/terms.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<p class="glsr-heading">terms</p>
|
2 |
+
<p>Include the "terms" option to limit reviews to those where the terms were either accepted or not accepted. Accepted value is either <code>true</code> or <code>false</code>.</p>
|
3 |
+
<p>The default terms value is: <code>""</code></p>
|
4 |
+
<div class="shortcode-example">
|
5 |
+
<input type="text" readonly class="code" value='[site_reviews_summary terms="true"]'>
|
6 |
+
<pre><code class="syntax-shortcode"><span class="tag">[site_reviews_summary</span> <span class="attr-name">terms</span>=<span class="attr-value">"true"</span><span class="tag">]</span></code></pre>
|
7 |
+
</div>
|
views/pages/documentation/support.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
$sections = [
|
4 |
trailingslashit(__DIR__).'support/basic-troubleshooting.php',
|
5 |
trailingslashit(__DIR__).'support/common-problems-and-solutions.php',
|
|
|
6 |
trailingslashit(__DIR__).'support/contact-support.php',
|
7 |
trailingslashit(__DIR__).'support/upgrade-guide.php',
|
8 |
];
|
3 |
$sections = [
|
4 |
trailingslashit(__DIR__).'support/basic-troubleshooting.php',
|
5 |
trailingslashit(__DIR__).'support/common-problems-and-solutions.php',
|
6 |
+
trailingslashit(__DIR__).'support/compatibility-issues.php',
|
7 |
trailingslashit(__DIR__).'support/contact-support.php',
|
8 |
trailingslashit(__DIR__).'support/upgrade-guide.php',
|
9 |
];
|
views/pages/documentation/support/common-problems-and-solutions.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
<p>You may be using a caching plugin which is caching the database and preventing Site Reviews from storing the migration status. To fix this, you will need to flush your database cache and/or object cache and then try again.</p>
|
21 |
</li>
|
22 |
<li>
|
23 |
-
<p>You may have 3rd-party reviews that were not imported correctly. You can verify this by looking for reviews on the <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type); ?>">All Reviews</a> page that do not have any stars. Clicking on these reviews will show a read-only editor and a notice alerting you that the review is an, "Unsupported Review Type". To fix this, please delete the invalid reviews and use the provided <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-general'); ?>">Import Third Party Reviews</a> tool to re-import them.</p>
|
24 |
</li>
|
25 |
</ol>
|
26 |
<h3>The review form is not working, the submit button just spins.</h3>
|
20 |
<p>You may be using a caching plugin which is caching the database and preventing Site Reviews from storing the migration status. To fix this, you will need to flush your database cache and/or object cache and then try again.</p>
|
21 |
</li>
|
22 |
<li>
|
23 |
+
<p>You may have 3rd-party reviews that were not imported correctly. You can verify this by looking for reviews on the <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type); ?>">All Reviews</a> page that do not have any stars. Clicking on these reviews will show a read-only editor and a notice alerting you that the review is an, "Unsupported Review Type". To fix this, please delete the invalid reviews and use the provided <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-general'); ?>" data-expand="#tools-import-reviews">Import Third Party Reviews</a> tool to re-import them.</p>
|
24 |
</li>
|
25 |
</ol>
|
26 |
<h3>The review form is not working, the submit button just spins.</h3>
|
views/pages/documentation/support/compatibility-issues.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="glsr-card postbox">
|
2 |
+
<h3 class="glsr-card-heading">
|
3 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="support-compatibility-issues">
|
4 |
+
<span class="title">Compatibility Issues</span>
|
5 |
+
<span class="icon"></span>
|
6 |
+
</button>
|
7 |
+
</h3>
|
8 |
+
<div id="support-compatibility-issues" class="inside">
|
9 |
+
<h3>Custom Content Shortcodes</h3>
|
10 |
+
<p>The <a href="https://wordpress.org/plugins/custom-content-shortcode/">Custom Content Shortcodes</a> plugin provides a [content] shortcode which conflicts with the Site Reviews Gutenberg blocks, and with the shortcodes when they are used with page builder plugins. For a more detailed explaination of this issue, please see this <a href="https://wordpress.org/support/topic/conflict-with-name-attributes-in-form-field/">support forum topic</a>.</p>
|
11 |
+
<p>Here is a workaround to fix the problem:</p>
|
12 |
+
<ol>
|
13 |
+
<li>
|
14 |
+
<p>Go to the <a href="<?= admin_url('options-general.php?page=ccs_reference&tab=settings'); ?>">Custom Content Shortcodes settings</a> page.</p>
|
15 |
+
</li>
|
16 |
+
<li>
|
17 |
+
<p>Disable the <code>[raw] shortcode</code> setting.</p>
|
18 |
+
</li>
|
19 |
+
<li>
|
20 |
+
<p>In the Advanced section, add <code>content</code> to the "Deactivate shortcodes" setting to disable the [content] shortcode.</p>
|
21 |
+
</li>
|
22 |
+
</ol>
|
23 |
+
</div>
|
24 |
+
</div>
|
views/pages/settings/index.php
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
<?php defined('ABSPATH') || die; ?>
|
2 |
|
3 |
<div class="wrap">
|
4 |
-
<h1 class="wp-heading-inline"
|
|
|
|
|
|
|
5 |
<?= $notices; ?>
|
6 |
<nav class="glsr-nav-tab-wrapper nav-tab-wrapper">
|
7 |
<?php foreach ($tabs as $id => $title) : ?>
|
1 |
<?php defined('ABSPATH') || die; ?>
|
2 |
|
3 |
<div class="wrap">
|
4 |
+
<h1 class="wp-heading-inline">
|
5 |
+
<?= esc_html(get_admin_page_title()); ?>
|
6 |
+
<a href="<?= admin_url('index.php?page='.glsr()->id.'-welcome'); ?>" class="page-title-action"><?= _x('About', 'admin-text', 'site-reviews'); ?></a>
|
7 |
+
</h1>
|
8 |
<?= $notices; ?>
|
9 |
<nav class="glsr-nav-tab-wrapper nav-tab-wrapper">
|
10 |
<?php foreach ($tabs as $id => $title) : ?>
|
views/pages/tools/console.php
CHANGED
@@ -4,19 +4,21 @@
|
|
4 |
<form method="post" class="glsr-float-left">
|
5 |
<input type="hidden" name="{{ id }}[_action]" value="download-console">
|
6 |
<?php wp_nonce_field('download-console'); ?>
|
7 |
-
|
|
|
|
|
8 |
</form>
|
9 |
<form method="post" class="glsr-float-left">
|
10 |
<input type="hidden" name="{{ id }}[_action]" value="fetch-console">
|
11 |
<?php wp_nonce_field('fetch-console'); ?>
|
12 |
-
<button type="submit" class="glsr-button button" id="fetch-console">
|
13 |
<span data-loading="<?= esc_attr_x('Reloading...', 'admin-text', 'site-reviews'); ?>"><?= _x('Reload', 'admin-text', 'site-reviews'); ?></span>
|
14 |
</button>
|
15 |
</form>
|
16 |
<form method="post">
|
17 |
<input type="hidden" name="{{ id }}[_action]" value="clear-console">
|
18 |
<?php wp_nonce_field('clear-console'); ?>
|
19 |
-
<button type="submit" class="glsr-button button" id="clear-console">
|
20 |
<span data-loading="<?= esc_attr_x('Clearing...', 'admin-text', 'site-reviews'); ?>"><?= _x('Clear', 'admin-text', 'site-reviews'); ?></span>
|
21 |
</button>
|
22 |
</form>
|
4 |
<form method="post" class="glsr-float-left">
|
5 |
<input type="hidden" name="{{ id }}[_action]" value="download-console">
|
6 |
<?php wp_nonce_field('download-console'); ?>
|
7 |
+
<button type="submit" class="components-button is-primary" id="download-console">
|
8 |
+
<?= _x('Download Console', 'admin-text', 'site-reviews'); ?>
|
9 |
+
</button>
|
10 |
</form>
|
11 |
<form method="post" class="glsr-float-left">
|
12 |
<input type="hidden" name="{{ id }}[_action]" value="fetch-console">
|
13 |
<?php wp_nonce_field('fetch-console'); ?>
|
14 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="fetch-console">
|
15 |
<span data-loading="<?= esc_attr_x('Reloading...', 'admin-text', 'site-reviews'); ?>"><?= _x('Reload', 'admin-text', 'site-reviews'); ?></span>
|
16 |
</button>
|
17 |
</form>
|
18 |
<form method="post">
|
19 |
<input type="hidden" name="{{ id }}[_action]" value="clear-console">
|
20 |
<?php wp_nonce_field('clear-console'); ?>
|
21 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="clear-console">
|
22 |
<span data-loading="<?= esc_attr_x('Clearing...', 'admin-text', 'site-reviews'); ?>"><?= _x('Clear', 'admin-text', 'site-reviews'); ?></span>
|
23 |
</button>
|
24 |
</form>
|
views/pages/tools/general.php
CHANGED
@@ -1,192 +1,17 @@
|
|
1 |
-
<?php defined('ABSPATH') ||
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
)
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
<?php submit_button(_x('Export Settings', 'admin-text', 'site-reviews'), 'secondary'); ?>
|
19 |
-
</form>
|
20 |
-
</div>
|
21 |
-
|
22 |
-
<div class="glsr-card card">
|
23 |
-
<h3><?= _x('Import Plugin Settings', 'admin-text', 'site-reviews'); ?></h3>
|
24 |
-
<p><?= sprintf(
|
25 |
-
_x('Import the Site Reviews settings from a %s file. This file can be obtained by exporting the settings on another site using the export tool below.', 'admin-text', 'site-reviews'),
|
26 |
-
'<code>*.json</code>'
|
27 |
-
); ?></p>
|
28 |
-
<p><?= sprintf(
|
29 |
-
_x('To import your reviews and categories from another website, please use the WordPress %s tool.', 'admin-text', 'site-reviews'),
|
30 |
-
sprintf('<a href="%s">%s</a>', admin_url('import.php'), _x('Import', 'admin-text', 'site-reviews'))
|
31 |
-
); ?></p>
|
32 |
-
<form method="post" enctype="multipart/form-data" onsubmit="submit.disabled = true;">
|
33 |
-
<?php wp_nonce_field('import-settings'); ?>
|
34 |
-
<input type="file" name="import-file" accept="application/json">
|
35 |
-
<input type="hidden" name="{{ id }}[_action]" value="import-settings">
|
36 |
-
<p class="submit">
|
37 |
-
<button type="submit" class="glsr-button button" name="submit" id="import-settings">
|
38 |
-
<span data-loading="<?= esc_attr_x('Importing settings, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Import Settings', 'admin-text', 'site-reviews'); ?></span>
|
39 |
-
</button>
|
40 |
-
</p>
|
41 |
-
</form>
|
42 |
-
</div>
|
43 |
-
|
44 |
-
<div class="glsr-card card">
|
45 |
-
<h3><?= _x('Import Third Party Reviews', 'admin-text', 'site-reviews'); ?></h3>
|
46 |
-
<div class="components-notice is-warning">
|
47 |
-
<p class="components-notice__content"><?= sprintf(
|
48 |
-
_x('Please backup your database before running this tool! You can use the %s plugin to do this.', 'admin-text', 'site-reviews'),
|
49 |
-
'<a href="https://wordpress.org/plugins/updraftplus/">UpdraftPlus</a>'
|
50 |
-
); ?></p>
|
51 |
-
</div>
|
52 |
-
<p><?= sprintf(
|
53 |
-
_x('Here you can import third party reviews from a %s file. The CSV file should include a header row, use a comma as the delimiter, and may contain the following columns:', 'admin-text', 'site-reviews'),
|
54 |
-
'<code>*.CSV</code>'
|
55 |
-
); ?></p>
|
56 |
-
<p>
|
57 |
-
<code>avatar</code> <?= _x('The avatar URL of the reviewer', 'admin-text', 'site-reviews'); ?><br>
|
58 |
-
<code>content</code> <?= sprintf('%s (<span class="required">%s</span>)', _x('The review', 'admin-text', 'site-reviews'), _x('required', 'admin-text', 'site-reviews')); ?><br>
|
59 |
-
<code>date</code> <?= sprintf('%s (<span class="required">%s</span>)', sprintf(_x('The review date as %s or a timestamp', 'admin-text', 'site-reviews'), '<span class="code"><strong>yyyy-mm-dd</strong></span>'), _x('required', 'admin-text', 'site-reviews')); ?><br>
|
60 |
-
<code>email</code> <?= _x('The reviewer\'s email', 'admin-text', 'site-reviews'); ?><br>
|
61 |
-
<code>ip_address</code> <?= _x('The IP address of the reviewer', 'admin-text', 'site-reviews'); ?><br>
|
62 |
-
<code>is_pinned</code> <?= _x('TRUE or FALSE', 'admin-text', 'site-reviews'); ?><br>
|
63 |
-
<code>name</code> <?= _x('The reviewer\'s name', 'admin-text', 'site-reviews'); ?><br>
|
64 |
-
<code>rating</code> <?= sprintf('%s (<span class="required">%s</span>)', sprintf(_x('A number from 0-%d', 'admin-text', 'site-reviews'), glsr()->constant('MAX_RATING', 'GeminiLabs\SiteReviews\Modules\Rating')), _x('required', 'admin-text', 'site-reviews')); ?><br>
|
65 |
-
<code>response</code> <?= _x('The review response', 'admin-text', 'site-reviews'); ?><br>
|
66 |
-
<code>title</code> <?= _x('The title of the review', 'admin-text', 'site-reviews'); ?><br>
|
67 |
-
</p>
|
68 |
-
<p><?= _x('Entries in the CSV file that do not contain required values will be skipped.', 'admin-text', 'site-reviews'); ?></p>
|
69 |
-
<form method="post" enctype="multipart/form-data" onsubmit="submit.disabled = true;">
|
70 |
-
<?php wp_nonce_field('import-reviews'); ?>
|
71 |
-
<input type="file" name="import-file" accept="text/csv">
|
72 |
-
<input type="hidden" name="{{ id }}[_action]" value="import-reviews">
|
73 |
-
<p class="submit">
|
74 |
-
<button type="submit" class="glsr-button button" name="submit" id="import-reviews">
|
75 |
-
<span data-loading="<?= esc_attr_x('Importing reviews, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Import Reviews', 'admin-text', 'site-reviews'); ?></span>
|
76 |
-
</button>
|
77 |
-
</p>
|
78 |
-
</form>
|
79 |
-
</div>
|
80 |
-
|
81 |
-
<div class="glsr-card card">
|
82 |
-
<h3><?= _x('Migrate Plugin', 'admin-text', 'site-reviews'); ?></h3>
|
83 |
-
<div class="components-notice is-info">
|
84 |
-
<p class="components-notice__content"><?= _x('Hold down the ALT/Option key to force-run all previous migrations.', 'admin-text', 'site-reviews'); ?></p>
|
85 |
-
</div>
|
86 |
-
<p><?= _x('Run this tool if your reviews stopped working correctly after upgrading the plugin to the latest version (i.e. read-only reviews, zero-star ratings, missing role capabilities, etc.).', 'admin-text', 'site-reviews'); ?></p>
|
87 |
-
<form method="post">
|
88 |
-
<?php wp_nonce_field('migrate-plugin'); ?>
|
89 |
-
<input type="hidden" name="{{ id }}[_action]" value="migrate-plugin">
|
90 |
-
<input type="hidden" name="{{ id }}[alt]" value="0" data-alt>
|
91 |
-
<p class="submit">
|
92 |
-
<button type="submit" class="glsr-button button" name="migrate-plugin" id="migrate-plugin" data-ajax-click data-ajax-scroll data-remove-notice="migrate">
|
93 |
-
<span data-alt-text="<?= esc_attr_x('Run All Migrations', 'admin-text', 'site-reviews'); ?>" data-loading="<?= esc_attr_x('Migrating, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Run Migration', 'admin-text', 'site-reviews'); ?></span>
|
94 |
-
</button>
|
95 |
-
</p>
|
96 |
-
</form>
|
97 |
-
</div>
|
98 |
-
|
99 |
-
<div class="glsr-card card">
|
100 |
-
<h3><?= _x('Optimise Your Database Tables', 'admin-text', 'site-reviews'); ?></h3>
|
101 |
-
<?php if (!empty($myisam_tables)) { ?>
|
102 |
-
<div class="components-notice is-warning">
|
103 |
-
<p class="components-notice__content"><?= sprintf(
|
104 |
-
_x('Please backup your database before running this tool! You can use the %s plugin to do this.', 'admin-text', 'site-reviews'),
|
105 |
-
'<a href="https://wordpress.org/plugins/updraftplus/">UpdraftPlus</a>'
|
106 |
-
); ?></p>
|
107 |
-
</div>
|
108 |
-
<p><?= _x('The old MyISAM table engine in MySQL was replaced by the InnoDB engine as the default over 10 years ago! If your database tables still use the MyISAM engine, you are missing out on substantial performance and reliability gains that the InnoDB engine provides.', 'admin-text', 'site-reviews'); ?></p>
|
109 |
-
<p><?= _x('Site Reviews makes use of specific InnoDB engine features in order to perform faster database queries. However, some of your database tables (shown below) are still using the old MyISAM engine. If you convert these tables to use the InnoDB engine, it will make Site Reviews perform faster.', 'admin-text', 'site-reviews'); ?></p>
|
110 |
-
<table class="wp-list-table widefat striped" style="margin-bottom:1em;">
|
111 |
-
<thead>
|
112 |
-
<tr>
|
113 |
-
<th scope="col"><strong><?= _x('Table', 'admin-text', 'site-reviews'); ?></strong></th>
|
114 |
-
<th scope="col"><strong><?= _x('Engine', 'admin-text', 'site-reviews'); ?></strong></th>
|
115 |
-
<th scope="col"></th>
|
116 |
-
</tr>
|
117 |
-
</thead>
|
118 |
-
<tbody>
|
119 |
-
<?php foreach ($myisam_tables as $table) { ?>
|
120 |
-
<tr data-ajax-hide>
|
121 |
-
<td style="vertical-align:middle;"><?= $table; ?></td>
|
122 |
-
<td style="vertical-align:middle;">MyISAM</td>
|
123 |
-
<td style="text-align:right;">
|
124 |
-
<form method="post">
|
125 |
-
<?php wp_nonce_field('convert-table-engine'); ?>
|
126 |
-
<input type="hidden" name="{{ id }}[_action]" value="convert-table-engine">
|
127 |
-
<input type="hidden" name="{{ id }}[table]" value="<?= $table; ?>">
|
128 |
-
<button type="submit" class="glsr-button glsr-button components-button is-secondary is-small" name="convert-table-engine" data-ajax-click>
|
129 |
-
<span data-loading="<?= esc_attr_x('Converting, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Convert table engine to InnoDB', 'admin-text', 'site-reviews'); ?></span>
|
130 |
-
</button>
|
131 |
-
</form>
|
132 |
-
</td>
|
133 |
-
</tr>
|
134 |
-
<?php } ?>
|
135 |
-
</tbody>
|
136 |
-
</table>
|
137 |
-
<?php } else { ?>
|
138 |
-
<div class="components-notice is-success" style="margin-bottom:1em;">
|
139 |
-
<p class="components-notice__content"><?= _x('Optimisation is unnecessary because your database tables already use the InnoDB engine!', 'admin-text', 'site-reviews'); ?> ✨</p>
|
140 |
-
</div>
|
141 |
-
<?php } ?>
|
142 |
-
</div>
|
143 |
-
|
144 |
-
<div class="glsr-card card">
|
145 |
-
<h3><?= _x('Reset Assigned Meta Values', 'admin-text', 'site-reviews'); ?></h3>
|
146 |
-
<p><?= _x('Site Reviews stores the individual review count, average rating, and ranking for each assigned post, category, and user. If you suspect that these meta values are incorrect (perhaps you cloned a page that had reviews assigned to it), you may use this tool to recalculate them.', 'admin-text', 'site-reviews'); ?></p>
|
147 |
-
<form method="post">
|
148 |
-
<?php wp_nonce_field('reset-assigned-meta'); ?>
|
149 |
-
<input type="hidden" name="{{ id }}[_action]" value="reset-assigned-meta">
|
150 |
-
<p class="submit">
|
151 |
-
<button type="submit" class="glsr-button button" name="reset-assigned-meta" id="reset-assigned-meta" data-ajax-click data-ajax-scroll>
|
152 |
-
<span data-loading="<?= esc_attr_x('Resetting values, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Reset Meta Values', 'admin-text', 'site-reviews'); ?></span>
|
153 |
-
</button>
|
154 |
-
</p>
|
155 |
-
</form>
|
156 |
-
</div>
|
157 |
-
|
158 |
-
<div class="glsr-card card">
|
159 |
-
<h3><?= _x('Reset Permissions', 'admin-text', 'site-reviews'); ?></h3>
|
160 |
-
<div class="components-notice is-info">
|
161 |
-
<p class="components-notice__content"><?= _x('Hold down the ALT/Option key to perform a "Hard Reset"; this removes all Site Reviews capabilites from your Editor, Author, and Contributor roles before re-adding them.', 'admin-text', 'site-reviews'); ?></p>
|
162 |
-
</div>
|
163 |
-
<p><?= _x('Site Reviews provides custom post_type capabilities that mirror the capabilities of your posts by default. For example, if a user role has permission to edit others posts, then that role will also have permission to edit other users reviews.', 'admin-text', 'site-reviews'); ?></p>
|
164 |
-
<p><?= _x('If you have changed the capabilities of your user roles (Administrator, Editor, Author, and Contributor) and you suspect that Site Reviews is not working correctly due to your changes, you may use this tool to reset the Site Reviews capabilities for your user roles.', 'admin-text', 'site-reviews'); ?></p>
|
165 |
-
<form method="post">
|
166 |
-
<?php wp_nonce_field('reset-permissions'); ?>
|
167 |
-
<input type="hidden" name="{{ id }}[_action]" value="reset-permissions">
|
168 |
-
<input type="hidden" name="{{ id }}[alt]" value="0" data-alt>
|
169 |
-
<p class="submit">
|
170 |
-
<button type="submit" class="glsr-button button" name="reset-permissions" id="reset-permissions" data-ajax-click data-ajax-scroll>
|
171 |
-
<span data-alt-text="<?= esc_attr_x('Hard Reset Permissions', 'admin-text', 'site-reviews'); ?>" data-loading="<?= esc_attr_x('Resetting, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Reset Permissions', 'admin-text', 'site-reviews'); ?></span>
|
172 |
-
</button>
|
173 |
-
</p>
|
174 |
-
</form>
|
175 |
-
</div>
|
176 |
-
|
177 |
-
<?php } ?>
|
178 |
-
|
179 |
-
<div class="glsr-card card">
|
180 |
-
<h3><?= _x('Test IP Address Detection', 'admin-text', 'site-reviews'); ?></h3>
|
181 |
-
<p><?= _x('When reviews are submitted on your website, Site Reviews detects the IP address of the person submitting the review and saves it to the submitted review. This allows you to limit review submissions or to blacklist reviewers based on their IP address. The IP address is also used by Akismet (if you have enabled the integration) to catch spam submissions.', 'admin-text', 'site-reviews'); ?></p>
|
182 |
-
<p><?= _x('If you are getting an "unknown" value for IP addresses in your reviews, you may use this tool to check the visitor IP address detection.', 'admin-text', 'site-reviews'); ?></p>
|
183 |
-
<form method="post">
|
184 |
-
<?php wp_nonce_field('detect-ip-address'); ?>
|
185 |
-
<input type="hidden" name="{{ id }}[_action]" value="detect-ip-address">
|
186 |
-
<p class="submit">
|
187 |
-
<button type="submit" class="glsr-button button" name="detect-ip-address" id="detect-ip-address" data-ajax-click data-ajax-scroll>
|
188 |
-
<span data-loading="<?= esc_attr_x('Testing, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Test Detection', 'admin-text', 'site-reviews'); ?></span>
|
189 |
-
</button>
|
190 |
-
</p>
|
191 |
-
</form>
|
192 |
-
</div>
|
1 |
+
<?php defined('ABSPATH') || die;
|
2 |
+
|
3 |
+
$sections = [
|
4 |
+
trailingslashit(__DIR__).'general/export-plugin-settings.php',
|
5 |
+
trailingslashit(__DIR__).'general/import-plugin-settings.php',
|
6 |
+
trailingslashit(__DIR__).'general/import-reviews.php',
|
7 |
+
trailingslashit(__DIR__).'general/migrate-plugin.php',
|
8 |
+
trailingslashit(__DIR__).'general/optimise-db-tables.php',
|
9 |
+
trailingslashit(__DIR__).'general/reset-assigned-meta.php',
|
10 |
+
trailingslashit(__DIR__).'general/reset-permissions.php',
|
11 |
+
trailingslashit(__DIR__).'general/test-ip-detection.php',
|
12 |
+
];
|
13 |
+
$filename = pathinfo(__FILE__, PATHINFO_FILENAME);
|
14 |
+
$sections = glsr()->filterArrayUnique('tools/'.$filename, $sections);
|
15 |
+
foreach ($sections as $section) {
|
16 |
+
include $section;
|
17 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/pages/tools/general/export-plugin-settings.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-export-plugin-settings">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Export Plugin Settings', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-export-plugin-settings" class="inside">
|
11 |
+
<p><?= sprintf(
|
12 |
+
_x('Export the Site Reviews settings for this site to a %s file. This allows you to easily import the plugin settings into another site.', 'admin-text', 'site-reviews'),
|
13 |
+
'<code>*.json</code>'
|
14 |
+
); ?></p>
|
15 |
+
<p><?= sprintf(
|
16 |
+
_x('To export your reviews and categories, please use the WordPress %s tool.', 'admin-text', 'site-reviews'),
|
17 |
+
sprintf('<a href="%s">%s</a>', admin_url('export.php'), _x('Export', 'admin-text', 'site-reviews'))
|
18 |
+
); ?></p>
|
19 |
+
<form method="post">
|
20 |
+
<?php wp_nonce_field('export-settings'); ?>
|
21 |
+
<input type="hidden" name="{{ id }}[_action]" value="export-settings">
|
22 |
+
<button type="submit" class="components-button is-secondary" id="export-settings">
|
23 |
+
<?= _x('Export Settings', 'admin-text', 'site-reviews'); ?>
|
24 |
+
</button>
|
25 |
+
</form>
|
26 |
+
</div>
|
27 |
+
</div>
|
views/pages/tools/general/import-plugin-settings.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-import-plugin-settings">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Import Plugin Settings', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-import-plugin-settings" class="inside">
|
11 |
+
<p><?= sprintf(
|
12 |
+
_x('Import the Site Reviews settings from a %s file. This file can be obtained by exporting the settings on another site using the export tool below.', 'admin-text', 'site-reviews'),
|
13 |
+
'<code>*.json</code>'
|
14 |
+
); ?></p>
|
15 |
+
<p><?= sprintf(
|
16 |
+
_x('To import your reviews and categories from another website, please use the WordPress %s tool.', 'admin-text', 'site-reviews'),
|
17 |
+
sprintf('<a href="%s">%s</a>', admin_url('import.php'), _x('Import', 'admin-text', 'site-reviews'))
|
18 |
+
); ?></p>
|
19 |
+
<form method="post" enctype="multipart/form-data" onsubmit="submit.disabled = true;">
|
20 |
+
<?php wp_nonce_field('import-settings'); ?>
|
21 |
+
<input type="hidden" name="{{ id }}[_action]" value="import-settings">
|
22 |
+
<p>
|
23 |
+
<input type="file" name="import-file" accept="application/json">
|
24 |
+
</p>
|
25 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="import-settings" data-expand="#tools-import-plugin-settings">
|
26 |
+
<span data-loading="<?= esc_attr_x('Importing settings, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Import Settings', 'admin-text', 'site-reviews'); ?></span>
|
27 |
+
</button>
|
28 |
+
</form>
|
29 |
+
</div>
|
30 |
+
</div>
|
views/pages/tools/general/import-reviews.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-import-reviews">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Import Third Party Reviews', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-import-reviews" class="inside">
|
11 |
+
<div class="components-notice is-warning">
|
12 |
+
<p class="components-notice__content"><?= sprintf(
|
13 |
+
_x('Please backup your database before running this tool! You can use the %s plugin to do this.', 'admin-text', 'site-reviews'),
|
14 |
+
'<a href="https://wordpress.org/plugins/updraftplus/">UpdraftPlus</a>'
|
15 |
+
); ?></p>
|
16 |
+
</div>
|
17 |
+
<p><?= sprintf(
|
18 |
+
_x('Here you can import third party reviews from a %s file. The CSV file should include a header row, use a comma as the delimiter, and may contain the following columns:', 'admin-text', 'site-reviews'),
|
19 |
+
'<code>*.CSV</code>'
|
20 |
+
); ?></p>
|
21 |
+
<p>
|
22 |
+
<code>avatar</code> <?= _x('The avatar URL of the reviewer', 'admin-text', 'site-reviews'); ?><br>
|
23 |
+
<code>content</code> <?= sprintf('%s (<span class="required">%s</span>)', _x('The review', 'admin-text', 'site-reviews'), _x('required', 'admin-text', 'site-reviews')); ?><br>
|
24 |
+
<code>date</code> <?= sprintf('%s (<span class="required">%s</span>)', sprintf(_x('The review date as %s or a timestamp', 'admin-text', 'site-reviews'), '<span class="code"><strong>yyyy-mm-dd</strong></span>'), _x('required', 'admin-text', 'site-reviews')); ?><br>
|
25 |
+
<code>email</code> <?= _x('The reviewer\'s email', 'admin-text', 'site-reviews'); ?><br>
|
26 |
+
<code>ip_address</code> <?= _x('The IP address of the reviewer', 'admin-text', 'site-reviews'); ?><br>
|
27 |
+
<code>is_pinned</code> <?= _x('TRUE or FALSE', 'admin-text', 'site-reviews'); ?><br>
|
28 |
+
<code>name</code> <?= _x('The reviewer\'s name', 'admin-text', 'site-reviews'); ?><br>
|
29 |
+
<code>rating</code> <?= sprintf('%s (<span class="required">%s</span>)', sprintf(_x('A number from 0-%d', 'admin-text', 'site-reviews'), glsr()->constant('MAX_RATING', 'GeminiLabs\SiteReviews\Modules\Rating')), _x('required', 'admin-text', 'site-reviews')); ?><br>
|
30 |
+
<code>response</code> <?= _x('The review response', 'admin-text', 'site-reviews'); ?><br>
|
31 |
+
<code>title</code> <?= _x('The title of the review', 'admin-text', 'site-reviews'); ?><br>
|
32 |
+
</p>
|
33 |
+
<p><?= _x('Entries in the CSV file that do not contain required values will be skipped.', 'admin-text', 'site-reviews'); ?></p>
|
34 |
+
<form method="post" enctype="multipart/form-data" onsubmit="submit.disabled = true;">
|
35 |
+
<?php wp_nonce_field('import-reviews'); ?>
|
36 |
+
<input type="hidden" name="{{ id }}[_action]" value="import-reviews">
|
37 |
+
<p>
|
38 |
+
<input type="file" name="import-file" accept="text/csv">
|
39 |
+
</p>
|
40 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="import-reviews" data-expand="#tools-import-reviews">
|
41 |
+
<span data-loading="<?= esc_attr_x('Importing reviews, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Import Reviews', 'admin-text', 'site-reviews'); ?></span>
|
42 |
+
</button>
|
43 |
+
</form>
|
44 |
+
</div>
|
45 |
+
</div>
|
views/pages/tools/general/migrate-plugin.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-migrate-plugin">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Migrate Plugin', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-migrate-plugin" class="inside">
|
11 |
+
<div class="components-notice is-info">
|
12 |
+
<p class="components-notice__content"><?= _x('Hold down the ALT/Option key to force-run all previous migrations.', 'admin-text', 'site-reviews'); ?></p>
|
13 |
+
</div>
|
14 |
+
<p><?= _x('Run this tool if your reviews stopped working correctly after upgrading the plugin to the latest version (i.e. read-only reviews, zero-star ratings, missing role capabilities, etc.).', 'admin-text', 'site-reviews'); ?></p>
|
15 |
+
<form method="post">
|
16 |
+
<?php wp_nonce_field('migrate-plugin'); ?>
|
17 |
+
<input type="hidden" name="{{ id }}[_action]" value="migrate-plugin">
|
18 |
+
<input type="hidden" name="{{ id }}[alt]" value="0" data-alt>
|
19 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="migrate-plugin" data-ajax-click data-ajax-scroll data-remove-notice="migrate">
|
20 |
+
<span data-alt-text="<?= esc_attr_x('Run All Migrations', 'admin-text', 'site-reviews'); ?>" data-loading="<?= esc_attr_x('Migrating, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Run Migration', 'admin-text', 'site-reviews'); ?></span>
|
21 |
+
</button>
|
22 |
+
</form>
|
23 |
+
</div>
|
24 |
+
</div>
|
views/pages/tools/general/optimise-db-tables.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-optimise-db-tables">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Optimise Your Database Tables', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-optimise-db-tables" class="inside">
|
11 |
+
<?php if (!empty($myisam_tables)) { ?>
|
12 |
+
<div class="components-notice is-warning">
|
13 |
+
<p class="components-notice__content"><?= sprintf(
|
14 |
+
_x('Please backup your database before running this tool! You can use the %s plugin to do this.', 'admin-text', 'site-reviews'),
|
15 |
+
'<a href="https://wordpress.org/plugins/updraftplus/">UpdraftPlus</a>'
|
16 |
+
); ?></p>
|
17 |
+
</div>
|
18 |
+
<p><?= _x('The old MyISAM table engine in MySQL was replaced by the InnoDB engine as the default over 10 years ago! If your database tables still use the MyISAM engine, you are missing out on substantial performance and reliability gains that the InnoDB engine provides.', 'admin-text', 'site-reviews'); ?></p>
|
19 |
+
<p><?= _x('Site Reviews makes use of specific InnoDB engine features in order to perform faster database queries. However, some of your database tables (shown below) are still using the old MyISAM engine. If you convert these tables to use the InnoDB engine, it will make Site Reviews perform faster.', 'admin-text', 'site-reviews'); ?></p>
|
20 |
+
<table class="wp-list-table widefat striped" style="margin-bottom:1em;">
|
21 |
+
<thead>
|
22 |
+
<tr>
|
23 |
+
<th scope="col"><strong><?= _x('Table', 'admin-text', 'site-reviews'); ?></strong></th>
|
24 |
+
<th scope="col"><strong><?= _x('Engine', 'admin-text', 'site-reviews'); ?></strong></th>
|
25 |
+
<th scope="col"></th>
|
26 |
+
</tr>
|
27 |
+
</thead>
|
28 |
+
<tbody>
|
29 |
+
<?php foreach ($myisam_tables as $table) { ?>
|
30 |
+
<tr data-ajax-hide>
|
31 |
+
<td style="vertical-align:middle;"><?= $table; ?></td>
|
32 |
+
<td style="vertical-align:middle;">MyISAM</td>
|
33 |
+
<td style="text-align:right;">
|
34 |
+
<form method="post">
|
35 |
+
<?php wp_nonce_field('convert-table-engine'); ?>
|
36 |
+
<input type="hidden" name="{{ id }}[_action]" value="convert-table-engine">
|
37 |
+
<input type="hidden" name="{{ id }}[table]" value="<?= $table; ?>">
|
38 |
+
<button type="submit" class="glsr-button components-button is-secondary is-small" data-ajax-click>
|
39 |
+
<span data-loading="<?= esc_attr_x('Converting, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Convert table engine to InnoDB', 'admin-text', 'site-reviews'); ?></span>
|
40 |
+
</button>
|
41 |
+
</form>
|
42 |
+
</td>
|
43 |
+
</tr>
|
44 |
+
<?php } ?>
|
45 |
+
</tbody>
|
46 |
+
</table>
|
47 |
+
<?php } else { ?>
|
48 |
+
<div class="components-notice is-success" style="margin-bottom:1em;">
|
49 |
+
<p class="components-notice__content"><?= _x('Optimisation is unnecessary because your database tables already use the InnoDB engine!', 'admin-text', 'site-reviews'); ?> ✨</p>
|
50 |
+
</div>
|
51 |
+
<?php } ?>
|
52 |
+
</div>
|
53 |
+
</div>
|
views/pages/tools/general/reset-assigned-meta.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-reset-assigned-meta">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Reset Assigned Meta Values', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-reset-assigned-meta" class="inside">
|
11 |
+
<p><?= _x('Site Reviews stores the individual review count, average rating, and ranking for each assigned post, category, and user. If you suspect that these meta values are incorrect (perhaps you cloned a page that had reviews assigned to it), you may use this tool to recalculate them.', 'admin-text', 'site-reviews'); ?></p>
|
12 |
+
<form method="post">
|
13 |
+
<?php wp_nonce_field('reset-assigned-meta'); ?>
|
14 |
+
<input type="hidden" name="{{ id }}[_action]" value="reset-assigned-meta">
|
15 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="reset-assigned-meta" data-ajax-click data-ajax-scroll>
|
16 |
+
<span data-loading="<?= esc_attr_x('Resetting values, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Reset Meta Values', 'admin-text', 'site-reviews'); ?></span>
|
17 |
+
</button>
|
18 |
+
</form>
|
19 |
+
</div>
|
20 |
+
</div>
|
views/pages/tools/general/reset-permissions.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php glsr()->hasPermission('settings') || die; ?>
|
2 |
+
|
3 |
+
<div class="glsr-card postbox">
|
4 |
+
<h3 class="glsr-card-heading">
|
5 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-reset-permissions">
|
6 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Reset Permissions', 'admin-text', 'site-reviews'); ?></span>
|
7 |
+
<span class="icon"></span>
|
8 |
+
</button>
|
9 |
+
</h3>
|
10 |
+
<div id="tools-reset-permissions" class="inside">
|
11 |
+
<div class="components-notice is-info">
|
12 |
+
<p class="components-notice__content"><?= _x('Hold down the ALT/Option key to perform a "Hard Reset"; this removes all Site Reviews capabilites from your Editor, Author, and Contributor roles before re-adding them.', 'admin-text', 'site-reviews'); ?></p>
|
13 |
+
</div>
|
14 |
+
<p><?= _x('Site Reviews provides custom post_type capabilities that mirror the capabilities of your posts by default. For example, if a user role has permission to edit others posts, then that role will also have permission to edit other users reviews.', 'admin-text', 'site-reviews'); ?></p>
|
15 |
+
<p><?= _x('If you have changed the capabilities of your user roles (Administrator, Editor, Author, and Contributor) and you suspect that Site Reviews is not working correctly due to your changes, you may use this tool to reset the Site Reviews capabilities for your user roles.', 'admin-text', 'site-reviews'); ?></p>
|
16 |
+
<form method="post">
|
17 |
+
<?php wp_nonce_field('reset-permissions'); ?>
|
18 |
+
<input type="hidden" name="{{ id }}[_action]" value="reset-permissions">
|
19 |
+
<input type="hidden" name="{{ id }}[alt]" value="0" data-alt>
|
20 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="reset-permissions" data-ajax-click data-ajax-scroll>
|
21 |
+
<span data-alt-text="<?= esc_attr_x('Hard Reset Permissions', 'admin-text', 'site-reviews'); ?>" data-loading="<?= esc_attr_x('Resetting, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Reset Permissions', 'admin-text', 'site-reviews'); ?></span>
|
22 |
+
</button>
|
23 |
+
</form>
|
24 |
+
</div>
|
25 |
+
</div>
|
views/pages/tools/general/test-ip-detection.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="glsr-card postbox">
|
2 |
+
<h3 class="glsr-card-heading">
|
3 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="tools-ip-detection">
|
4 |
+
<span class="title dashicons-before dashicons-admin-tools"><?= _x('Test IP Address Detection', 'admin-text', 'site-reviews'); ?></span>
|
5 |
+
<span class="icon"></span>
|
6 |
+
</button>
|
7 |
+
</h3>
|
8 |
+
<div id="tools-ip-detection" class="inside">
|
9 |
+
<p><?= _x('When reviews are submitted on your website, Site Reviews detects the IP address of the person submitting the review and saves it to the submitted review. This allows you to limit review submissions or to blacklist reviewers based on their IP address. The IP address is also used by Akismet (if you have enabled the integration) to catch spam submissions.', 'admin-text', 'site-reviews'); ?></p>
|
10 |
+
<p><?= _x('If you are getting an "unknown" value for IP addresses in your reviews, you may use this tool to check the visitor IP address detection.', 'admin-text', 'site-reviews'); ?></p>
|
11 |
+
<form method="post">
|
12 |
+
<?php wp_nonce_field('detect-ip-address'); ?>
|
13 |
+
<input type="hidden" name="{{ id }}[_action]" value="detect-ip-address">
|
14 |
+
<button type="submit" class="glsr-button components-button is-secondary" id="detect-ip-address" data-ajax-click data-ajax-scroll>
|
15 |
+
<span data-loading="<?= esc_attr_x('Testing, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Test Detection', 'admin-text', 'site-reviews'); ?></span>
|
16 |
+
</button>
|
17 |
+
</form>
|
18 |
+
</div>
|
19 |
+
</div>
|
views/pages/tools/index.php
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
<?php defined('ABSPATH') || die; ?>
|
2 |
|
3 |
<div class="wrap">
|
4 |
-
<h1 class="wp-heading-inline"
|
|
|
|
|
|
|
5 |
<?= $notices; ?>
|
6 |
<nav class="glsr-nav-tab-wrapper nav-tab-wrapper">
|
7 |
<?php foreach ($tabs as $id => $title) : ?>
|
1 |
<?php defined('ABSPATH') || die; ?>
|
2 |
|
3 |
<div class="wrap">
|
4 |
+
<h1 class="wp-heading-inline">
|
5 |
+
<?= esc_html(get_admin_page_title()); ?>
|
6 |
+
<a href="<?= admin_url('index.php?page='.glsr()->id.'-welcome'); ?>" class="page-title-action"><?= _x('About', 'admin-text', 'site-reviews'); ?></a>
|
7 |
+
</h1>
|
8 |
<?= $notices; ?>
|
9 |
<nav class="glsr-nav-tab-wrapper nav-tab-wrapper">
|
10 |
<?php foreach ($tabs as $id => $title) : ?>
|
views/pages/tools/system-info.php
CHANGED
@@ -4,5 +4,7 @@
|
|
4 |
<textarea class="large-text code glsr-code glsr-code-large" name="{{ id }}[system-info]" rows="20" onclick="this.select()" readonly>{{ system }}</textarea>
|
5 |
<input type="hidden" name="{{ id }}[_action]" value="download-system-info">
|
6 |
<?php wp_nonce_field('download-system-info'); ?>
|
7 |
-
|
|
|
|
|
8 |
</form>
|
4 |
<textarea class="large-text code glsr-code glsr-code-large" name="{{ id }}[system-info]" rows="20" onclick="this.select()" readonly>{{ system }}</textarea>
|
5 |
<input type="hidden" name="{{ id }}[_action]" value="download-system-info">
|
6 |
<?php wp_nonce_field('download-system-info'); ?>
|
7 |
+
<button type="submit" class="components-button is-primary" id="download-system-info">
|
8 |
+
<?= _x('Download System Info', 'admin-text', 'site-reviews'); ?>
|
9 |
+
</button>
|
10 |
</form>
|
views/pages/welcome/getting-started.php
CHANGED
@@ -32,7 +32,7 @@
|
|
32 |
<p>Enable avatars to generate images using the WordPress Gravatar service.</p>
|
33 |
</li>
|
34 |
<li class="glsr-column">
|
35 |
-
<h3><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-general'); ?>">Backup/Restore</a></h3>
|
36 |
<p>Backup and restore your plugin settings as needed.</p>
|
37 |
</li>
|
38 |
<li class="glsr-column">
|
32 |
<p>Enable avatars to generate images using the WordPress Gravatar service.</p>
|
33 |
</li>
|
34 |
<li class="glsr-column">
|
35 |
+
<h3><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-general'); ?>" data-expand="#tools-export-plugin-settings">Backup/Restore</a></h3>
|
36 |
<p>Backup and restore your plugin settings as needed.</p>
|
37 |
</li>
|
38 |
<li class="glsr-column">
|
views/pages/welcome/whatsnew.php
CHANGED
@@ -4,6 +4,7 @@
|
|
4 |
<div class="is-fullwidth">
|
5 |
<div class="glsr-flex-row">
|
6 |
<div class="glsr-column">
|
|
|
7 |
<?php include trailingslashit(__DIR__).'whatsnew/v58.php'; ?>
|
8 |
<?php include trailingslashit(__DIR__).'whatsnew/v57.php'; ?>
|
9 |
<?php include trailingslashit(__DIR__).'whatsnew/v56.php'; ?>
|
4 |
<div class="is-fullwidth">
|
5 |
<div class="glsr-flex-row">
|
6 |
<div class="glsr-column">
|
7 |
+
<?php include trailingslashit(__DIR__).'whatsnew/v59.php'; ?>
|
8 |
<?php include trailingslashit(__DIR__).'whatsnew/v58.php'; ?>
|
9 |
<?php include trailingslashit(__DIR__).'whatsnew/v57.php'; ?>
|
10 |
<?php include trailingslashit(__DIR__).'whatsnew/v56.php'; ?>
|
views/pages/welcome/whatsnew/v58.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
<div class="glsr-card postbox is-fullwidth
|
2 |
<h3 class="glsr-card-heading">
|
3 |
-
<button type="button" class="glsr-accordion-trigger" aria-expanded="
|
4 |
<span class="title">Version 5.8</span>
|
5 |
<span class="icon"></span>
|
6 |
</button>
|
1 |
+
<div class="glsr-card postbox is-fullwidth">
|
2 |
<h3 class="glsr-card-heading">
|
3 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="welcome-v580">
|
4 |
<span class="title">Version 5.8</span>
|
5 |
<span class="icon"></span>
|
6 |
</button>
|
views/pages/welcome/whatsnew/v59.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="glsr-card postbox is-fullwidth open">
|
2 |
+
<h3 class="glsr-card-heading">
|
3 |
+
<button type="button" class="glsr-accordion-trigger" aria-expanded="true" aria-controls="welcome-v590">
|
4 |
+
<span class="title">Version 5.9</span>
|
5 |
+
<span class="icon"></span>
|
6 |
+
</button>
|
7 |
+
</h3>
|
8 |
+
<div id="welcome-v590" class="inside">
|
9 |
+
<p><em>Initial Release Date — April 24th, 2021</em></p>
|
10 |
+
<h4>✨ New Features</h4>
|
11 |
+
<ul>
|
12 |
+
<li>Added a "Compatibility Issues" section to the Help page to document incompatible plugins along with possible workarounds.</li>
|
13 |
+
<li>Added a "terms" option to the shortcodes which allow you to only display reviews where the terms field was accepted in the form. All reviews that were submitted before this update will have their terms set as accepted.</li>
|
14 |
+
</ul>
|
15 |
+
<h4>🛠 Tweaks</h4>
|
16 |
+
<ul>
|
17 |
+
<li>Improved the Tools page</li>
|
18 |
+
</ul>
|
19 |
+
<h4>🐞 Bugs Fixed</h4>
|
20 |
+
<ul>
|
21 |
+
<li>Fixed database foreign table constraints</li>
|
22 |
+
<li>Fixed settings tabs on touch devices</li>
|
23 |
+
</ul>
|
24 |
+
</div>
|
25 |
+
</div>
|
views/partials/notices/migrate.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
<p><strong><?= _x('Database Update Required', 'admin-text', 'site-reviews'); ?></strong></p>
|
7 |
<p><?= sprintf(_x('Site Reviews needs to update the database and your reviews to the newest version. If this notice keeps appearing, please read the %s section on the Help page.', 'admin-text', 'site-reviews'), $action); ?></p>
|
8 |
<p>
|
9 |
-
<button type="submit" class="components-button is-secondary
|
10 |
<span data-alt-text="<?= esc_attr_x('Run All Migrations', 'admin-text', 'site-reviews'); ?>" data-loading="<?= esc_attr_x('Updating, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Update Database', 'admin-text', 'site-reviews'); ?></span>
|
11 |
</button>
|
12 |
</p>
|
6 |
<p><strong><?= _x('Database Update Required', 'admin-text', 'site-reviews'); ?></strong></p>
|
7 |
<p><?= sprintf(_x('Site Reviews needs to update the database and your reviews to the newest version. If this notice keeps appearing, please read the %s section on the Help page.', 'admin-text', 'site-reviews'), $action); ?></p>
|
8 |
<p>
|
9 |
+
<button type="submit" class="glsr-button components-button is-secondary" data-ajax-click data-remove-notice="migrate">
|
10 |
<span data-alt-text="<?= esc_attr_x('Run All Migrations', 'admin-text', 'site-reviews'); ?>" data-loading="<?= esc_attr_x('Updating, please wait...', 'admin-text', 'site-reviews'); ?>"><?= _x('Update Database', 'admin-text', 'site-reviews'); ?></span>
|
11 |
</button>
|
12 |
</p>
|