Site Reviews - Version 5.2.0

Version Description

(2020-11-06) =

  • Added Notification Template tags for assigned categories, posts, and users
  • Added Review Assignment setting
  • Changed review assignment in SQL queries to use strict assignments by default (it was previously using loose assignments, use the new "Review Assignment" setting to change this back)
  • Changed the glsr_create_review function to log validation errors to the plugin console
  • Fixed Bulk Editing of reviews that are assigned to post types or users
  • Fixed Multibyte String support
  • Fixed Multisite compatibility
  • Fixed pagination URLs when used on the homepage
  • Fixed rating validation when using a custom maximum rating value
  • Fixed review limits validation for assigned reviews
  • Fixed review migration of invalid 3rd-party reviews (reviews that were previously imported incorrectly)
  • Fixed review name and email fallback values to use those of the logged-in user
  • Fixed the submission date of reviews, it now uses the timezone offset in the WordPress settings
Download this release

Release Info

Developer geminilabs
Plugin Icon 128x128 Site Reviews
Version 5.2.0
Comparing to
See all releases

Code changes from version 5.1.6 to 5.2.0

Files changed (80) hide show
  1. assets/scripts/mce-plugin.js +1 -1
  2. assets/scripts/site-reviews.js +1 -1
  3. autoload.php +7 -2
  4. compatibility.php +0 -11
  5. config/forms/metabox-fields.php +1 -1
  6. config/settings.php +15 -1
  7. helpers.php +2 -1
  8. languages/site-reviews-en_US.mo +0 -0
  9. languages/site-reviews-en_US.po +203 -144
  10. languages/site-reviews.pot +183 -138
  11. plugin/Addons/Addon.php +1 -1
  12. plugin/Addons/Updater.php +3 -2
  13. plugin/Application.php +28 -79
  14. plugin/Commands/CreateReview.php +4 -2
  15. plugin/Commands/RegisterPostType.php +1 -1
  16. plugin/Controllers/AdminController.php +17 -0
  17. plugin/Controllers/Controller.php +2 -2
  18. plugin/Controllers/ListTableColumns/ColumnFilterType.php +2 -2
  19. plugin/Controllers/ListTableColumns/ColumnValueType.php +1 -3
  20. plugin/Controllers/MainController.php +79 -0
  21. plugin/Controllers/MenuController.php +2 -2
  22. plugin/Controllers/MetaboxController.php +1 -1
  23. plugin/Controllers/RestReviewController.php +1 -1
  24. plugin/Controllers/ReviewController.php +78 -21
  25. plugin/Controllers/ToolsController.php +12 -8
  26. plugin/Database.php +61 -13
  27. plugin/Database/NormalizePaginationArgs.php +5 -6
  28. plugin/Database/NormalizeQueryArgs.php +1 -1
  29. plugin/Database/OptionManager.php +2 -2
  30. plugin/Database/ReviewManager.php +0 -1
  31. plugin/Database/Sql.php +1 -2
  32. plugin/Database/SqlSchema.php +211 -113
  33. plugin/Defaults/CreateReviewDefaults.php +2 -2
  34. plugin/Defaults/TemplateTagsDefaults.php +3 -0
  35. plugin/Helpers/Arr.php +3 -3
  36. plugin/Helpers/Url.php +2 -2
  37. plugin/Hooks.php +9 -6
  38. plugin/Install.php +149 -0
  39. plugin/Modules/Avatar.php +2 -2
  40. plugin/Modules/Console.php +1 -0
  41. plugin/Modules/Honeypot.php +1 -0
  42. plugin/Modules/Html/ReviewsHtml.php +1 -2
  43. plugin/Modules/Html/Settings.php +5 -0
  44. plugin/Modules/Migrations/Migrate_5_0_0/MigrateReviews.php +9 -3
  45. plugin/Modules/Migrations/Migrate_5_2_0.php +14 -0
  46. plugin/Modules/Notification.php +33 -0
  47. plugin/Modules/Sanitizer.php +33 -3
  48. plugin/Modules/Schema.php +7 -4
  49. plugin/Modules/Style.php +1 -1
  50. plugin/Modules/System.php +0 -382
  51. plugin/Modules/SystemInfo.php +458 -0
  52. plugin/Modules/Validator/AkismetValidator.php +1 -1
  53. plugin/Modules/Validator/DefaultValidator.php +19 -2
  54. plugin/Modules/Validator/ReviewLimitsValidator.php +1 -10
  55. plugin/Review.php +46 -3
  56. plugin/Role.php +12 -6
  57. plugin/Router.php +1 -1
  58. plugin/Storage.php +12 -0
  59. plugin/Tinymce/TinymceGenerator.php +2 -2
  60. plugin/Widgets/SiteReviewsSummaryWidget.php +2 -2
  61. plugin/Widgets/SiteReviewsWidget.php +2 -2
  62. readme.txt +19 -4
  63. site-reviews.php +1 -2
  64. uninstall.php +129 -48
  65. views/pages/documentation/faq/hide-form-after-submission.php +3 -3
  66. views/pages/documentation/functions/glsr_create_review.php +5 -0
  67. views/pages/documentation/functions/glsr_get_reviews.php +3 -3
  68. views/pages/tools/general.php +6 -2
  69. views/pages/welcome/whatsnew.php +1 -0
  70. views/pages/welcome/whatsnew/v40.php +4 -4
  71. views/pages/welcome/whatsnew/v41.php +4 -4
  72. views/pages/welcome/whatsnew/v42.php +3 -3
  73. views/pages/welcome/whatsnew/v43.php +3 -3
  74. views/pages/welcome/whatsnew/v44.php +3 -3
  75. views/pages/welcome/whatsnew/v45.php +2 -2
  76. views/pages/welcome/whatsnew/v46.php +3 -3
  77. views/pages/welcome/whatsnew/v50.php +1 -1
  78. views/pages/welcome/whatsnew/v51.php +2 -2
  79. views/pages/welcome/whatsnew/v52.php +38 -0
  80. views/partials/notices/addons.php +1 -1
assets/scripts/mce-plugin.js CHANGED
@@ -1 +1 @@
1
- "use strict";window.tinymce.PluginManager.add("glsr_shortcode",function(o){o.addCommand("GLSR_Shortcode",function(){GLSR.shortcode.create(o.id)})});
1
+ !function(o){"use strict";window.tinymce.PluginManager.add("glsr_shortcode",function(o){o.addCommand("GLSR_Shortcode",function(){GLSR.shortcode.create(o.id)})})}();
assets/scripts/site-reviews.js CHANGED
@@ -1,2 +1,2 @@
1
  /*! For license information please see site-reviews.js.LICENSE.txt */
2
- !function(t){var i={};function n(s){if(i[s])return i[s].exports;var e=i[s]={i:s,l:!1,exports:{}};return t[s].call(e.exports,e,e.exports,n),e.l=!0,e.exports}n.m=t,n.c=i,n.d=function(t,i,s){n.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:s})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,i){if(1&i&&(t=n(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var e in t)n.d(s,e,function(i){return t[i]}.bind(null,e));return s},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="/",n(n.s=7)}([,function(t,i){function n(i){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(i)}t.exports=n},function(t,i,n){var s;!function(n,e,h){"use strict";var o=function(t,i){var n={}.toString.call(t);this.selects="[object String]"===n?e.querySelectorAll(t):"[object NodeList]"===n?t:[t],this.destroy=function(){this.widgets.forEach((function(t){t.h()}))},this.rebuild=function(){this.widgets.forEach((function(t){t.u()}))},this.widgets=[];for(var s=0;s<this.selects.length;s++)if("SELECT"===this.selects[s].tagName&&!this.selects[s]["star-rating"]){var h=new r(this.selects[s],i);void 0!==h.direction&&this.widgets.push(h)}},r=function(t,i){this.el=t,this.v=this._({},this.g,i||{},JSON.parse(t.getAttribute("data-options"))),this.S(),this.stars<1||this.stars>this.v.maxStars||this.u()};r.prototype={g:{classname:"gl-star-rating",clearable:!0,initialText:"Select a Rating",maxStars:10,showText:!0},L:function(){this.R(),this.current=this.selected=this.j(),this.F(),this.G(),this.T(),this.O(this.current),this.M("add"),this.el["star-rating"]=!0},k:function(){this.v.showText&&(this.textEl=this.C(this.widgetEl,{class:this.v.classname+"-text"},!0))},G:function(){var t=this.N(),i=this.C(this.el,{class:this.v.classname+"-stars"},!0);for(var n in t){var s=this.D({"data-value":n,"data-text":t[n]});i.innerHTML+=s.outerHTML}this.widgetEl=i,this.k()},I:function(t){(t<0||isNaN(t))&&(t=0),t>this.stars&&(t=this.stars),this.widgetEl.classList.remove("s"+10*this.current),this.widgetEl.classList.add("s"+10*t),this.v.showText&&(this.textEl.textContent=t<1?this.v.initialText:this.widgetEl.childNodes[t-1].dataset.text),this.current=t},D:function(t){var i=e.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},h:function(){this.M("remove");var t=this.el.parentNode;t.parentNode.replaceChild(this.el,t),delete this.el["star-rating"]},q:function(t,i,n,s){s=s||!1,n.forEach(function(n){this.events&&t[i+"EventListener"](n,this.events[n],s)}.bind(this))},_:function(){var t=[].slice.call(arguments),i=t[0],n=t.slice(1);return Object.keys(n).forEach((function(t){for(var s in n[t])n[t].hasOwnProperty(s)&&(i[s]=n[t][s])})),i},V:function(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t={passive:!1}}});n.addEventListener("test",null,i)}catch(t){}return t},A:function(t){var i={},n=t.pageX||t.changedTouches[0].pageX,s=this.widgetEl.offsetWidth;return i.ltr=Math.max(n-this.offsetLeft,1),i.rtl=s-i.ltr,Math.min(Math.ceil(i[this.direction]/Math.round(s/this.stars)),this.stars)},N:function(){for(var t=this.el,i={},n={},s=0;s<t.length;s++)this.H(t[s])||(i[t[s].value]=t[s].text);return Object.keys(i).sort().forEach((function(t){n[t]=i[t]})),n},j:function(){return parseInt(this.el.options[Math.max(this.el.selectedIndex,0)].value)||0},M:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.q(i,t,["reset"]),"add"===t&&this.el.disabled||(this.q(this.el,t,["change","keydown"]),this.q(this.widgetEl,t,["mousedown","mouseleave","mousemove","mouseover","touchend","touchmove","touchstart"],this.V()))},R:function(){this.events={change:this.P.bind(this),keydown:this.B.bind(this),mousedown:this.U.bind(this),mouseleave:this.W.bind(this),mousemove:this.X.bind(this),mouseover:this.J.bind(this),reset:this.Y.bind(this),touchend:this.U.bind(this),touchmove:this.X.bind(this),touchstart:this.J.bind(this)}},C:function(t,i,n){var s=this.D(i);return t.parentNode.insertBefore(s,!0===n?t.nextSibling:t),s},H:function(t){return null===t.getAttribute("value")||""===t.value},P:function(){this.I(this.j())},B:function(t){if(~["ArrowLeft","ArrowRight"].indexOf(t.key)){var i="ArrowLeft"===t.key?-1:1;"rtl"===this.direction&&(i*=-1),this.O(Math.min(Math.max(this.j()+i,0),this.stars)),this.K()}},U:function(t){t.preventDefault();var i=this.A(t);0!==this.current&&parseFloat(this.selected)===i&&this.v.clearable&&(i=0),this.O(i),this.K()},W:function(t){t.preventDefault(),this.I(this.selected)},X:function(t){t.preventDefault(),this.I(this.A(t))},J:function(t){t.preventDefault();var i=this.widgetEl.getBoundingClientRect();this.offsetLeft=i.left+e.body.scrollLeft},Y:function(){var t=this.el.querySelector("[selected]"),i=t?t.value:"";this.el.value=i,this.selected=parseInt(i)||0,this.I(i)},u:function(){this.el.parentNode.classList.contains(this.v.classname)&&this.h(),this.L()},T:function(){var t=this.el.parentNode;this.direction=n.getComputedStyle(t,null).getPropertyValue("direction"),t.classList.add(this.v.classname+"-"+this.direction)},O:function(t){this.el.value=this.selected=t,this.I(t)},S:function(){var t=this.el;this.stars=0;for(var i=0;i<t.length;i++)if(!this.H(t[i])){if(isNaN(parseFloat(t[i].value))||!isFinite(t[i].value))return void(this.stars=0);this.stars++}},K:function(){this.el.dispatchEvent(new Event("change"))},F:function(){this.C(this.el,{class:this.v.classname,"data-star-rating":""}).appendChild(this.el)}},void 0===(s=function(){return o}.apply(i,[]))||(t.exports=s)}(window,document)},,,,,function(t,i,n){n(28),n(59),n(64),n(66),n(68),n(70),n(72),n(74),n(76),n(78),n(80),n(82),n(84),n(86),n(88),n(90),n(92),n(94),n(96),n(98),n(100),n(102),n(104),n(106),n(108),n(110),n(112),n(114),t.exports=n(116)},,,,,,,,,,,,,,,,,,,,,function(t,i,n){"use strict";n.r(i);var s=n(1),e=n.n(s),h=function(){};h.prototype={get:function(t,i,n){this.$(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.Z(n),this.xhr.send()},tt: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},it: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.tt(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.$(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.Z(n),this.xhr.send(this.nt(t))},$:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.it.bind(this,t),this.xhr.onerror=this.tt.bind(this,t)},st:function(t,i,n){return"object"!==e()(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(s){i.hasOwnProperty(s)&&(t=this.st(t,i[s],n?n[s]:s))}.bind(this)),t},nt: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},Z:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var o=h,r=function(t){this.L(t||document)};r.prototype={config:{hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},et:function(t){var i=document.createElement("span"),n=document.createElement("a");n.setAttribute("href","#"),n.setAttribute("data-text",t.getAttribute("data-show-less")),n.innerHTML=t.getAttribute("data-show-more"),n.addEventListener("click",this.ht.bind(this)),i.setAttribute("class",this.config.readMoreClass),i.appendChild(n),t.parentNode.insertBefore(i,t.nextSibling)},ht:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,s=i.getAttribute("data-text");n.classList.toggle(this.config.hiddenClass),n.classList.toggle(this.config.visibleClass),i.setAttribute("data-text",i.innerText),i.innerText=s},L:function(t){for(var i=t.querySelectorAll(this.config.hiddenTextSelector),n=0;n<i.length;n++)this.et(i[n])}};var a=r,u=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.ot()}.bind(this),250))}.bind(this))};u.prototype={h:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},rt:function(){if(-1!==this.id)return this.counter=0,this.at(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.ut.call(this.Form,this.counter)}.bind(this),1e3)},at: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 s=document.querySelector("iframe[name=c-"+i[n]+"]");if(s){this.observer.observe(s.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},ct:function(){this.Form.form.onsubmit=null,this.h(),this.ft()},ft:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this.ft();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.ut.bind(this.Form,this.counter),"expired-callback":this.lt.bind(this),isolated:!0},!0)}.bind(this),250)},lt:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},ut:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.dt(),void this.form.submit();this.ut(t)}};var c=u,f=n(2),l=n.n(f),d=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},v=function(t){return"."+t.trim().split(" ").join(".")},m=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},p={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?m(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?m(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?m(this):void 0!==t&&""!==t},priority:99,halt:!0}},_=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.init()};_.prototype={vt:["required","max","maxlength","min","minlength","pattern"],pt:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.lt();this.fields.length;){var t=this.fields.shift();this._t(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.pt),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(v(t.config.field)).style.display&&t.fields.push(t.wt(i))}))},bt:function(t){t.addEventListener(this.gt(t),this.St.bind(this,t))},Lt:function(t,i,n){[].forEach.call(t,function(t){var s=t.name.replace("data-","");~this.vt.indexOf(s)?this.Rt(i,n,s,t.value):"type"===t.name&&this.Rt(i,n,t.value)}.bind(this))},Rt:function(t,i,n,s){if(p[n]&&(p[n].name=n,t.push(p[n]),s)){var e=s.split(",");e.unshift(null),i[n]=e}},_t:function(t){t.removeEventListener(this.gt(t),this.St.bind(this,t))},lt:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(v(this.config.field));d(this.fields[t].input,this.config.input_error,!1),d(this.fields[t].input,this.config.input_valid,!1),d(i,this.config.field_error,!1),d(i,this.config.field_valid,!1)}},gt:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},wt:function(t){var i={},n=[];return null!==t.offsetParent&&(this.Lt(t.attributes,n,i),this.yt(n),this.bt(t)),t.validation={form:this.form,input:t,params:i,validators:n}},Et:function(t,i){var n=t.input.closest(v(this.config.field));if(d(t.input,this.config.input_error,i),d(t.input,this.config.input_valid,!i),n){d(n,this.config.field_error,i),d(n,this.config.field_valid,!i);var s=n.querySelector(v(this.config.field_message));s.innerHTML=i?t.errors.join("<br>"):"",s.style.display=i?"":"none"}},xt:function(t,i){t.hasOwnProperty("validation")&&this.wt(t),t.validation.errors=i},yt:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},St:function(t){var i=!0,n=this.fields;for(var s in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(s)){var e=n[s];this.jt(e)?this.Et(e,!1):(i=!1,this.Et(e,!0))}return i},jt:function(t){var i=[],n=!0;for(var s in t.validators)if(t.validators.hasOwnProperty(s)){var e=t.validators[s],h=t.params[e.name]?t.params[e.name]:[];if(h[0]=t.input.value,!e.fn.apply(t.input,h)){n=!1;var o=this.strings[e.name];if(i.push(o.replace(/(\%s)/g,h[1])),!0===e.halt)break}}return t.errors=i,n}};var w=_,b=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.Ft.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new c(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.Gt(),this.validation=new w(t)};b.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.Tt()},destroyRecaptcha:function(){this.recaptcha.h()},destroyStarRatings:function(){this.stars&&(this.stars.destroy(),delete this.stars)},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit)},initRecaptcha:function(){this.recaptcha.ct()},initStarRatings:function(){this.destroyStarRatings(),this.stars=new l.a(this.form.querySelectorAll(".glsr-field-rating select"),{clearable:!1,showText:!1})},dt:function(){this.button.setAttribute("disabled","")},ot:function(){this.button.removeAttribute("disabled")},Ot:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.lt(),n&&(this.recaptcha.lt(),this.form.reset()),this.Mt(t.errors),this.kt(t.message,n),this.ot(),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.rt()},Gt: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")},Ft:function(t){if(!this.validation.St())return t.preventDefault(),void this.kt(this.strings.errors,!1);this.Tt(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.ut())},Tt:function(){d(this.form,this.config.form_error,!1),this.kt("",null),this.validation.lt()},Mt:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,s=this.form.querySelector('[name="'+n+'"]');s&&(this.validation.xt(s,t[i]),this.validation.Et(s.validation,"add"))}},kt:function(t,i){var n=this.form.querySelector(v(this.config.form_message));null!==n&&(d(this.form,this.config.form_error,!1===i),d(n,this.config.form_message_failed,!1===i),d(n,this.config.form_message_success,!0===i),n.innerHTML=t)},ut:function(t){GLSR.ajax.isFormDataSupported()?(this.dt(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Ot.bind(this))):this.kt(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 s=0;s<i.length;s++)(n=i[s].querySelector("[type=submit]"))&&((t=new b(i[s],n)).init(),GLSR.forms.push(t))},S=g,L=function(t,i){this.paginationEl=t,this.reviewsEl=i,this.R()};L.prototype={config:{hideClass:"glsr-hide",linkSelector:"a.page-numbers",scrollTime:468},Ct:function(){var t=document.getElementById(this.paginationEl.dataset.id);return t||this.reviewsEl},Ot:function(t,i,n){n?(this.paginationEl.innerHTML=i.pagination,this.reviewsEl.innerHTML=i.reviews,this.Nt(this.reviewsEl),this.paginationEl.classList.remove(this.config.hideClass),this.reviewsEl.classList.remove(this.config.hideClass),this.R(),GLSR.urlparameter&&window.history.pushState(null,"",t),new a(this.reviewsEl),document.dispatchEvent(new CustomEvent("site-reviews/after/pagination",{detail:i}))):window.location=t},R:function(){for(var t=this.paginationEl.querySelectorAll(this.config.linkSelector),i=0;i<t.length;i++)t[i].addEventListener("click",this.ht.bind(this))},ht:function(t){var i=this.Ct();if(i){for(var n={},s=0,e=Object.keys(i.dataset);s<e.length;s++){var h=e[s];n[GLSR.nameprefix+"[atts]["+h+"]"]=i.dataset[h]}n[GLSR.nameprefix+"[_action]"]="fetch-paged-reviews",n[GLSR.nameprefix+"[page]"]=t.currentTarget.dataset.page||"",n[GLSR.nameprefix+"[url]"]=t.currentTarget.href||"",this.paginationEl.classList.add(this.config.hideClass),this.reviewsEl.classList.add(this.config.hideClass),t.preventDefault(),GLSR.ajax.post(n,this.Ot.bind(this,t.currentTarget.href))}},Nt:function(t,i){var n;i=i||16;for(var s=0;s<GLSR.ajaxpagination.length;s++)(n=document.querySelector(GLSR.ajaxpagination[s]))&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(i+=n.clientHeight);var e=t.getBoundingClientRect().top-i;e>0||this.Dt({endY:e,offset:window.pageYOffset,startTime:window.performance.now(),startY:t.scrollTop})},Dt:function(t){var i=(window.performance.now()-t.startTime)/this.config.scrollTime;i=i>1?1:i;var n=.5*(1-Math.cos(Math.PI*i)),s=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+s),s!==t.endY&&window.requestAnimationFrame(this.Dt.bind(this,t))}};var R=function(){this.navs=[];var t=document.querySelectorAll(".glsr-ajax-pagination");t.length&&t.forEach(function(t){var i=t.closest(".glsr[data-id="+t.dataset.id);if(i){var n=i.querySelector(".glsr-reviews");n&&this.navs.push(new L(t,n))}}.bind(this))},y=R;window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new o,window.GLSR.forms=[],document.addEventListener("DOMContentLoaded",(function(){for(var t=document.querySelectorAll(".glsr"),i=0;i<t.length;i++){var n=window.getComputedStyle(t[i],null).getPropertyValue("direction");t[i].classList.add("glsr-"+n)}window.GLSR.Forms=S,new S,new y,new a}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,i){},,,,,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){}]);
1
  /*! For license information please see site-reviews.js.LICENSE.txt */
2
+ !function(t){var i={};function n(s){if(i[s])return i[s].exports;var e=i[s]={i:s,l:!1,exports:{}};return t[s].call(e.exports,e,e.exports,n),e.l=!0,e.exports}n.m=t,n.c=i,n.d=function(t,i,s){n.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:s})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,i){if(1&i&&(t=n(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var e in t)n.d(s,e,function(i){return t[i]}.bind(null,e));return s},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="/",n(n.s=7)}([,function(t,i){function n(i){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(i)}t.exports=n},function(t,i,n){var s;!function(n,e,h){"use strict";var o=function(t,i){var n={}.toString.call(t);this.selects="[object String]"===n?e.querySelectorAll(t):"[object NodeList]"===n?t:[t],this.destroy=function(){this.widgets.forEach((function(t){t.h()}))},this.rebuild=function(){this.widgets.forEach((function(t){t.u()}))},this.widgets=[];for(var s=0;s<this.selects.length;s++)if("SELECT"===this.selects[s].tagName&&!this.selects[s]["star-rating"]){var h=new r(this.selects[s],i);void 0!==h.direction&&this.widgets.push(h)}},r=function(t,i){this.el=t,this.v=this._({},this.g,i||{},JSON.parse(t.getAttribute("data-options"))),this.S(),this.stars<1||this.stars>this.v.maxStars||this.u()};r.prototype={g:{classname:"gl-star-rating",clearable:!0,initialText:"Select a Rating",maxStars:10,showText:!0},L:function(){this.R(),this.current=this.selected=this.j(),this.F(),this.G(),this.T(),this.O(this.current),this.M("add"),this.el["star-rating"]=!0},k:function(){this.v.showText&&(this.textEl=this.C(this.widgetEl,{class:this.v.classname+"-text"},!0))},G:function(){var t=this.N(),i=this.C(this.el,{class:this.v.classname+"-stars"},!0);for(var n in t){var s=this.D({"data-value":n,"data-text":t[n]});i.innerHTML+=s.outerHTML}this.widgetEl=i,this.k()},I:function(t){(t<0||isNaN(t))&&(t=0),t>this.stars&&(t=this.stars),this.widgetEl.classList.remove("s"+10*this.current),this.widgetEl.classList.add("s"+10*t),this.v.showText&&(this.textEl.textContent=t<1?this.v.initialText:this.widgetEl.childNodes[t-1].dataset.text),this.current=t},D:function(t){var i=e.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},h:function(){this.M("remove");var t=this.el.parentNode;t.parentNode.replaceChild(this.el,t),delete this.el["star-rating"]},q:function(t,i,n,s){s=s||!1,n.forEach(function(n){this.events&&t[i+"EventListener"](n,this.events[n],s)}.bind(this))},_:function(){var t=[].slice.call(arguments),i=t[0],n=t.slice(1);return Object.keys(n).forEach((function(t){for(var s in n[t])n[t].hasOwnProperty(s)&&(i[s]=n[t][s])})),i},V:function(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t={passive:!1}}});n.addEventListener("test",null,i)}catch(t){}return t},A:function(t){var i={},n=t.pageX||t.changedTouches[0].pageX,s=this.widgetEl.offsetWidth;return i.ltr=Math.max(n-this.offsetLeft,1),i.rtl=s-i.ltr,Math.min(Math.ceil(i[this.direction]/Math.round(s/this.stars)),this.stars)},N:function(){for(var t=this.el,i={},n={},s=0;s<t.length;s++)this.H(t[s])||(i[t[s].value]=t[s].text);return Object.keys(i).sort().forEach((function(t){n[t]=i[t]})),n},j:function(){return parseInt(this.el.options[Math.max(this.el.selectedIndex,0)].value)||0},M:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.q(i,t,["reset"]),"add"===t&&this.el.disabled||(this.q(this.el,t,["change","keydown"]),this.q(this.widgetEl,t,["mousedown","mouseleave","mousemove","mouseover","touchend","touchmove","touchstart"],this.V()))},R:function(){this.events={change:this.P.bind(this),keydown:this.B.bind(this),mousedown:this.U.bind(this),mouseleave:this.W.bind(this),mousemove:this.X.bind(this),mouseover:this.J.bind(this),reset:this.Y.bind(this),touchend:this.U.bind(this),touchmove:this.X.bind(this),touchstart:this.J.bind(this)}},C:function(t,i,n){var s=this.D(i);return t.parentNode.insertBefore(s,!0===n?t.nextSibling:t),s},H:function(t){return null===t.getAttribute("value")||""===t.value},P:function(){this.I(this.j())},B:function(t){if(~["ArrowLeft","ArrowRight"].indexOf(t.key)){var i="ArrowLeft"===t.key?-1:1;"rtl"===this.direction&&(i*=-1),this.O(Math.min(Math.max(this.j()+i,0),this.stars)),this.K()}},U:function(t){t.preventDefault();var i=this.A(t);0!==this.current&&parseFloat(this.selected)===i&&this.v.clearable&&(i=0),this.O(i),this.K()},W:function(t){t.preventDefault(),this.I(this.selected)},X:function(t){t.preventDefault(),this.I(this.A(t))},J:function(t){t.preventDefault();var i=this.widgetEl.getBoundingClientRect();this.offsetLeft=i.left+e.body.scrollLeft},Y:function(){var t=this.el.querySelector("[selected]"),i=t?t.value:"";this.el.value=i,this.selected=parseInt(i)||0,this.I(i)},u:function(){this.el.parentNode.classList.contains(this.v.classname)&&this.h(),this.L()},T:function(){var t=this.el.parentNode;this.direction=n.getComputedStyle(t,null).getPropertyValue("direction"),t.classList.add(this.v.classname+"-"+this.direction)},O:function(t){this.el.value=this.selected=t,this.I(t)},S:function(){var t=this.el;this.stars=0;for(var i=0;i<t.length;i++)if(!this.H(t[i])){if(isNaN(parseFloat(t[i].value))||!isFinite(t[i].value))return void(this.stars=0);this.stars++}},K:function(){this.el.dispatchEvent(new Event("change"))},F:function(){this.C(this.el,{class:this.v.classname,"data-star-rating":""}).appendChild(this.el)}},void 0===(s=function(){return o}.apply(i,[]))||(t.exports=s)}(window,document)},,,,,function(t,i,n){n(28),n(59),n(64),n(66),n(68),n(70),n(72),n(74),n(76),n(78),n(80),n(82),n(84),n(86),n(88),n(90),n(92),n(94),n(96),n(98),n(100),n(102),n(104),n(106),n(108),n(110),n(112),n(114),t.exports=n(116)},,,,,,,,,,,,,,,,,,,,,function(t,i,n){"use strict";n.r(i);var s=n(1),e=n.n(s),h=function(){};h.prototype={get:function(t,i,n){this.$(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.Z(n),this.xhr.send()},tt: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},it: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.tt(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.$(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.Z(n),this.xhr.send(this.nt(t))},$:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.it.bind(this,t),this.xhr.onerror=this.tt.bind(this,t)},st:function(t,i,n){return"object"!==e()(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(s){i.hasOwnProperty(s)&&(t=this.st(t,i[s],n?n[s]:s))}.bind(this)),t},nt: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},Z:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var o=h,r=function(t){this.L(t||document)};r.prototype={config:{hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},et:function(t){var i=document.createElement("span"),n=document.createElement("a");n.setAttribute("href","#"),n.setAttribute("data-text",t.getAttribute("data-show-less")),n.innerHTML=t.getAttribute("data-show-more"),n.addEventListener("click",this.ht.bind(this)),i.setAttribute("class",this.config.readMoreClass),i.appendChild(n),t.parentNode.insertBefore(i,t.nextSibling)},ht:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,s=i.getAttribute("data-text");n.classList.toggle(this.config.hiddenClass),n.classList.toggle(this.config.visibleClass),i.setAttribute("data-text",i.innerText),i.innerText=s},L:function(t){for(var i=t.querySelectorAll(this.config.hiddenTextSelector),n=0;n<i.length;n++)this.et(i[n])}};var a=r,u=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.ot()}.bind(this),250))}.bind(this))};u.prototype={h:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},rt:function(){if(-1!==this.id)return this.counter=0,this.at(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.ut.call(this.Form,this.counter)}.bind(this),1e3)},at: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 s=document.querySelector("iframe[name=c-"+i[n]+"]");if(s){this.observer.observe(s.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},ct:function(){this.Form.form.onsubmit=null,this.h(),this.ft()},ft:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this.ft();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.ut.bind(this.Form,this.counter),"expired-callback":this.lt.bind(this),isolated:!0},!0)}.bind(this),250)},lt:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},ut:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.dt(),void this.form.submit();this.ut(t)}};var c=u,f=n(2),l=n.n(f),d=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},v=function(t){return"."+t.trim().split(" ").join(".")},m=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},p={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?m(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?m(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?m(this):void 0!==t&&""!==t},priority:99,halt:!0}},_=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.init()};_.prototype={vt:["required","max","maxlength","min","minlength","pattern"],pt:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.lt();this.fields.length;){var t=this.fields.shift();this._t(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.pt),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(v(t.config.field)).style.display&&t.fields.push(t.wt(i))}))},bt:function(t){t.addEventListener(this.gt(t),this.St.bind(this,t))},Lt:function(t,i,n){[].forEach.call(t,function(t){var s=t.name.replace("data-","");~this.vt.indexOf(s)?this.Rt(i,n,s,t.value):"type"===t.name&&this.Rt(i,n,t.value)}.bind(this))},Rt:function(t,i,n,s){if(p[n]&&(p[n].name=n,t.push(p[n]),s)){var e=s.split(",");e.unshift(null),i[n]=e}},_t:function(t){t.removeEventListener(this.gt(t),this.St.bind(this,t))},lt:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(v(this.config.field));d(this.fields[t].input,this.config.input_error,!1),d(this.fields[t].input,this.config.input_valid,!1),d(i,this.config.field_error,!1),d(i,this.config.field_valid,!1)}},gt:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},wt:function(t){var i={},n=[];return null!==t.offsetParent&&(this.Lt(t.attributes,n,i),this.yt(n),this.bt(t)),t.validation={form:this.form,input:t,params:i,validators:n}},Et:function(t,i){var n=t.input.closest(v(this.config.field));if(d(t.input,this.config.input_error,i),d(t.input,this.config.input_valid,!i),n){d(n,this.config.field_error,i),d(n,this.config.field_valid,!i);var s=n.querySelector(v(this.config.field_message));s.innerHTML=i?t.errors.join("<br>"):"",s.style.display=i?"":"none"}},xt:function(t,i){t.hasOwnProperty("validation")&&this.wt(t),t.validation.errors=i},yt:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},St:function(t){var i=!0,n=this.fields;for(var s in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(s)){var e=n[s];this.jt(e)?this.Et(e,!1):(i=!1,this.Et(e,!0))}return i},jt:function(t){var i=[],n=!0;for(var s in t.validators)if(t.validators.hasOwnProperty(s)){var e=t.validators[s],h=t.params[e.name]?t.params[e.name]:[];if(h[0]=t.input.value,!e.fn.apply(t.input,h)){n=!1;var o=this.strings[e.name];if(i.push(o.replace(/(\%s)/g,h[1])),!0===e.halt)break}}return t.errors=i,n}};var w=_,b=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.Ft.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new c(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.Gt(),this.validation=new w(t)};b.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.Tt()},destroyRecaptcha:function(){this.recaptcha.h()},destroyStarRatings:function(){this.stars&&(this.stars.destroy(),delete this.stars)},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit)},initRecaptcha:function(){this.recaptcha.ct()},initStarRatings:function(){this.destroyStarRatings(),this.stars=new l.a(this.form.querySelectorAll(".glsr-field-rating select"),{clearable:!1,showText:!1})},dt:function(){this.button.setAttribute("disabled","")},ot:function(){this.button.removeAttribute("disabled")},Ot:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.lt(),n&&(this.recaptcha.lt(),this.form.reset()),this.Mt(t.errors),this.kt(t.message,n),this.ot(),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.rt()},Gt: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")},Ft:function(t){if(!this.validation.St())return t.preventDefault(),void this.kt(this.strings.errors,!1);this.Tt(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.ut())},Tt:function(){d(this.form,this.config.form_error,!1),this.kt("",null),this.validation.lt()},Mt:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,s=this.form.querySelector('[name="'+n+'"]');s&&(this.validation.xt(s,t[i]),this.validation.Et(s.validation,"add"))}},kt:function(t,i){var n=this.form.querySelector(v(this.config.form_message));null!==n&&(d(this.form,this.config.form_error,!1===i),d(n,this.config.form_message_failed,!1===i),d(n,this.config.form_message_success,!0===i),n.innerHTML=t)},ut:function(t){GLSR.ajax.isFormDataSupported()?(this.dt(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Ot.bind(this))):this.kt(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 s=0;s<i.length;s++)(n=i[s].querySelector("[type=submit]"))&&((t=new b(i[s],n)).init(),GLSR.forms.push(t))},S=g,L=function(t,i){this.paginationEl=t,this.reviewsEl=i,this.R()};L.prototype={config:{hideClass:"glsr-hide",linkSelector:"a.page-numbers",scrollTime:468},Ct:function(){var t=document.getElementById(this.paginationEl.dataset.id);return t||this.reviewsEl},Ot:function(t,i,n){n?(this.paginationEl.innerHTML=i.pagination,this.reviewsEl.innerHTML=i.reviews,this.Nt(this.reviewsEl),this.paginationEl.classList.remove(this.config.hideClass),this.reviewsEl.classList.remove(this.config.hideClass),this.R(),GLSR.urlparameter&&window.history.pushState(null,"",t),new a(this.reviewsEl),document.dispatchEvent(new CustomEvent("site-reviews/after/pagination",{detail:i}))):window.location=t},R:function(){for(var t=this.paginationEl.querySelectorAll(this.config.linkSelector),i=0;i<t.length;i++)t[i].addEventListener("click",this.ht.bind(this))},ht:function(t){var i=this.Ct();if(i){for(var n={},s=0,e=Object.keys(i.dataset);s<e.length;s++){var h=e[s];n[GLSR.nameprefix+"[atts]["+h+"]"]=i.dataset[h]}n[GLSR.nameprefix+"[_action]"]="fetch-paged-reviews",n[GLSR.nameprefix+"[page]"]=t.currentTarget.dataset.page||"",n[GLSR.nameprefix+"[url]"]=t.currentTarget.href||"",this.paginationEl.classList.add(this.config.hideClass),this.reviewsEl.classList.add(this.config.hideClass),t.preventDefault(),GLSR.ajax.post(n,this.Ot.bind(this,t.currentTarget.href))}},Nt:function(t,i){var n;i=i||16;for(var s=0;s<GLSR.ajaxpagination.length;s++)(n=document.querySelector(GLSR.ajaxpagination[s]))&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(i+=n.clientHeight);var e=t.getBoundingClientRect().top-i;e>0||this.Dt({endY:e,offset:window.pageYOffset,startTime:window.performance.now(),startY:t.scrollTop})},Dt:function(t){var i=(window.performance.now()-t.startTime)/this.config.scrollTime;i=i>1?1:i;var n=.5*(1-Math.cos(Math.PI*i)),s=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+s),s!==t.endY&&window.requestAnimationFrame(this.Dt.bind(this,t))}};var R=function(){this.navs=[];var t=document.querySelectorAll(".glsr-ajax-pagination");t.length&&t.forEach(function(t){var i=t.closest(".glsr[data-id="+t.dataset.id);if(i){var n=i.querySelector(".glsr-reviews");n&&this.navs.push(new L(t,n))}}.bind(this))},y=R;window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new o,window.GLSR.forms=[],document.addEventListener("DOMContentLoaded",(function(){for(var t=document.querySelectorAll(".glsr"),i=0;i<t.length;i++){var n=window.getComputedStyle(t[i],null).getPropertyValue("direction");t[i].classList.add("glsr-"+n)}window.GLSR.Forms=S,new S,new y,new a}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,i){},,,,,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){},,function(t,i){}]);
autoload.php CHANGED
@@ -2,12 +2,17 @@
2
 
3
  defined('ABSPATH') || die;
4
 
5
- if (!function_exists('wp_hash')) {
6
- require_once ABSPATH.WPINC.'/pluggable.php';
 
 
 
 
7
  }
8
 
9
  spl_autoload_register(function ($className) {
10
  $classMap = [
 
11
  'WP_Posts_List_Table' => ABSPATH.'wp-admin/includes/class-wp-posts-list-table.php',
12
  ];
13
  if (array_key_exists($className, $classMap) && file_exists($classMap[$className])) {
2
 
3
  defined('ABSPATH') || die;
4
 
5
+ /**
6
+ * Provide a partial, native PHP implementation for the Mbstring extension.
7
+ * @see https://github.com/symfony/polyfill-mbstring
8
+ */
9
+ if (!extension_loaded('mbstring')) {
10
+ require_once __DIR__.'/vendors/symfony/polyfill-mbstring/bootstrap.php';
11
  }
12
 
13
  spl_autoload_register(function ($className) {
14
  $classMap = [
15
+ 'WP_Debug_Data' => ABSPATH.'wp-admin/includes/class-wp-debug-data.php',
16
  'WP_Posts_List_Table' => ABSPATH.'wp-admin/includes/class-wp-posts-list-table.php',
17
  ];
18
  if (array_key_exists($className, $classMap) && file_exists($classMap[$className])) {
compatibility.php CHANGED
@@ -43,17 +43,6 @@ add_action('members_register_caps', function () {
43
  ]);
44
  });
45
 
46
- /**
47
- * Provide a partial, native PHP implementation for the Mbstring extension.
48
- * @return bool
49
- * @see https://github.com/symfony/polyfill-mbstring
50
- */
51
- add_action('plugins_loaded', function () {
52
- if (glsr()->filterBool('support/multibyte', true)) {
53
- require_once __DIR__.'/vendors/symfony/polyfill-mbstring/bootstrap.php';
54
- }
55
- });
56
-
57
  /**
58
  * Exclude the reCAPTCHA script from being defered
59
  * @param array $scriptHandles
43
  ]);
44
  });
45
 
 
 
 
 
 
 
 
 
 
 
 
46
  /**
47
  * Exclude the reCAPTCHA script from being defered
48
  * @param array $scriptHandles
config/forms/metabox-fields.php CHANGED
@@ -7,7 +7,7 @@ return [
7
  ],
8
  'type' => [
9
  'label' => esc_html_x('Type', 'admin-text', 'site-reviews'),
10
- 'options' => glsr()->reviewTypes,
11
  'type' => 'select',
12
  ],
13
  'name' => [
7
  ],
8
  'type' => [
9
  'label' => esc_html_x('Type', 'admin-text', 'site-reviews'),
10
+ 'options' => glsr()->retrieve('review_types'),
11
  'type' => 'select',
12
  ],
13
  'name' => [
config/settings.php CHANGED
@@ -172,6 +172,20 @@ return [
172
  ],
173
  'type' => 'select',
174
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  'settings.reviews.assigned_links' => [
176
  'default' => 'no',
177
  'description' => _x('Display a link to the assigned posts of a review.', 'admin-text', 'site-reviews'),
@@ -433,7 +447,7 @@ return [
433
  ],
434
  'settings.submissions.limit' => [
435
  'default' => '',
436
- 'description' => _x('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'admin-text', 'site-reviews'),
437
  'label' => _x('Limit Reviews', 'admin-text', 'site-reviews'),
438
  'options' => [
439
  '' => _x('No Limit', 'admin-text', 'site-reviews'),
172
  ],
173
  'type' => 'select',
174
  ],
175
+ 'settings.reviews.assignment' => [
176
+ 'default' => 'strict',
177
+ 'description' => sprintf('%s<br>%s<br>%s',
178
+ _x('This setting determines how the assigned options work in the reviews and summary shortcodes and blocks.', 'admin-text', 'site-reviews'),
179
+ _x('"Loose Assignment" means <code>display reviews that are assigned to this OR this</code>.', 'admin-text', 'site-reviews'),
180
+ _x('"Strict Assignment" means <code>display reviews that are assigned to this AND this</code>.', 'admin-text', 'site-reviews')
181
+ ),
182
+ 'label' => _x('Review Assignment', 'admin-text', 'site-reviews'),
183
+ 'options' => [
184
+ 'loose' => _x('Loose Assignment', 'admin-text', 'site-reviews'),
185
+ 'strict' => _x('Strict Assignment', 'admin-text', 'site-reviews'),
186
+ ],
187
+ 'type' => 'select',
188
+ ],
189
  'settings.reviews.assigned_links' => [
190
  'default' => 'no',
191
  'description' => _x('Display a link to the assigned posts of a review.', 'admin-text', 'site-reviews'),
447
  ],
448
  'settings.submissions.limit' => [
449
  'default' => '',
450
+ 'description' => _x('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page and/or category.', 'admin-text', 'site-reviews'),
451
  'label' => _x('Limit Reviews', 'admin-text', 'site-reviews'),
452
  'options' => [
453
  '' => _x('No Limit', 'admin-text', 'site-reviews'),
helpers.php CHANGED
@@ -70,7 +70,8 @@ function glsr($alias = null, array $parameters = [])
70
  */
71
  function glsr_create_review($reviewValues = [])
72
  {
73
- $request = new Request(Arr::consolidate($reviewValues));
 
74
  $command = new CreateReview($request);
75
  return $command->isValid()
76
  ? glsr(ReviewManager::class)->create($command)
70
  */
71
  function glsr_create_review($reviewValues = [])
72
  {
73
+ $values = Arr::removeEmptyValues(Arr::consolidate($reviewValues));
74
+ $request = new Request($values);
75
  $command = new CreateReview($request);
76
  return $command->isValid()
77
  ? glsr(ReviewManager::class)->create($command)
languages/site-reviews-en_US.mo CHANGED
Binary file
languages/site-reviews-en_US.po CHANGED
@@ -30,7 +30,7 @@ msgstr ""
30
  msgid "%s is <strong>deprecated</strong> since version %s! Use %s instead."
31
  msgstr "%s is <strong>deprecated</strong> since version %s! Use %s instead."
32
 
33
- #: config/settings.php:224, plugin/Modules/Html/ReviewsHtml.php:127
34
  msgid "There are no reviews yet. Be the first one to write one."
35
  msgstr "There are no reviews yet. Be the first one to write one."
36
 
@@ -82,11 +82,11 @@ msgstr "This review is based on my own experience and is my genuine opinion."
82
  msgid "Show more"
83
  msgstr "Show more"
84
 
85
- #: plugin/Commands/CreateReview.php:155
86
  msgid "Your review has been submitted!"
87
  msgstr "Your review has been submitted!"
88
 
89
- #: plugin/Commands/CreateReview.php:160
90
  msgid ""
91
  "Your review could not be submitted and the error has been logged. Please "
92
  "notify the site admin."
@@ -126,7 +126,7 @@ msgstr "This field must have between %s and %s characters."
126
  msgid "This field requires a valid e-mail address."
127
  msgstr "This field requires a valid e-mail address."
128
 
129
- #: plugin/Defaults/ValidationStringsDefaults.php:19, plugin/Modules/Validator/DefaultValidator.php:52
130
  msgid "Please fix the submission errors."
131
  msgstr "Please fix the submission errors."
132
 
@@ -208,7 +208,7 @@ msgid_plural "%s years ago"
208
  msgstr[0] "%s year ago"
209
  msgstr[1] "%s years ago"
210
 
211
- #: plugin/Modules/Notification.php:71
212
  msgid "Anonymous"
213
  msgstr "Anonymous"
214
 
@@ -256,7 +256,7 @@ msgstr "The reCAPTCHA failed to load, please refresh the page and try again."
256
  msgid "The reCAPTCHA verification failed, please try again."
257
  msgstr "The reCAPTCHA verification failed, please try again."
258
 
259
- #: plugin/Modules/Validator/ReviewLimitsValidator.php:43
260
  msgid "You have already submitted a review."
261
  msgstr "You have already submitted a review."
262
 
@@ -788,17 +788,59 @@ msgctxt "admin-text"
788
  msgid "Initial with a period and a space"
789
  msgstr "Initial with a period and a space"
790
 
791
- #: config/settings.php:177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
792
  msgctxt "admin-text"
793
  msgid "Display a link to the assigned posts of a review."
794
  msgstr "Display a link to the assigned posts of a review."
795
 
796
- #: config/settings.php:178
797
  msgctxt "admin-text"
798
  msgid "Enable Assigned Links"
799
  msgstr "Enable Assigned Links"
800
 
801
- #: config/settings.php:183
802
  msgctxt "admin-text"
803
  msgid ""
804
  "Display reviewer avatars. These are generated from the email address of the "
@@ -807,52 +849,52 @@ msgstr ""
807
  "Display reviewer avatars. These are generated from the email address of the "
808
  "reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
809
 
810
- #: config/settings.php:184
811
  msgctxt "admin-text"
812
  msgid "Enable Avatars"
813
  msgstr "Enable Avatars"
814
 
815
- #: config/settings.php:192
816
  msgctxt "admin-text"
817
  msgid "Regenerate the avatar whenever a local review is shown?"
818
  msgstr "Regenerate the avatar whenever a local review is shown?"
819
 
820
- #: config/settings.php:193
821
  msgctxt "admin-text"
822
  msgid "Regenerate Avatars"
823
  msgstr "Regenerate Avatars"
824
 
825
- #: config/settings.php:201
826
  msgctxt "admin-text"
827
  msgid "Set the avatar size in pixels."
828
  msgstr "Set the avatar size in pixels."
829
 
830
- #: config/settings.php:202
831
  msgctxt "admin-text"
832
  msgid "Avatar Size"
833
  msgstr "Avatar Size"
834
 
835
- #: config/settings.php:207
836
  msgctxt "admin-text"
837
  msgid "Display an excerpt instead of the full review."
838
  msgstr "Display an excerpt instead of the full review."
839
 
840
- #: config/settings.php:208
841
  msgctxt "admin-text"
842
  msgid "Enable Excerpts"
843
  msgstr "Enable Excerpts"
844
 
845
- #: config/settings.php:216
846
  msgctxt "admin-text"
847
  msgid "Set the excerpt word length."
848
  msgstr "Set the excerpt word length."
849
 
850
- #: config/settings.php:217
851
  msgctxt "admin-text"
852
  msgid "Excerpt Length"
853
  msgstr "Excerpt Length"
854
 
855
- #: config/settings.php:222
856
  msgctxt "admin-text"
857
  msgid ""
858
  "Display the fallback text when there are no reviews to display. This can be "
@@ -863,17 +905,17 @@ msgstr ""
863
  "changed on the %s page. You may also override this by using the "
864
  "\"fallback\" option on the shortcode. The default fallback text is: %s"
865
 
866
- #: config/settings.php:223, plugin/Controllers/MenuController.php:118
867
  msgctxt "admin-text"
868
  msgid "Translations"
869
  msgstr "Translations"
870
 
871
- #: config/settings.php:226
872
  msgctxt "admin-text"
873
  msgid "Enable Fallback Text"
874
  msgstr "Enable Fallback Text"
875
 
876
- #: config/settings.php:232
877
  msgctxt "admin-text"
878
  msgid ""
879
  "Paginated URLs include the %s URL parameter. If you would like to keep the "
@@ -884,273 +926,273 @@ msgstr ""
884
  "pagination links but prevent search engines from indexing them, add the "
885
  "following lines to your %s file instead: %s"
886
 
887
- #: config/settings.php:239
888
  msgctxt "admin-text"
889
  msgid "Enable Paginated URLs"
890
  msgstr "Enable Paginated URLs"
891
 
892
- #: config/settings.php:244, config/settings.php:264, config/settings.php:282, config/settings.php:300, config/settings.php:318, config/settings.php:339, config/settings.php:349, config/settings.php:359, config/settings.php:369, config/settings.php:383, config/settings.php:394, config/settings.php:405, config/settings.php:415
893
  msgctxt "admin-text"
894
  msgid "Custom Field name"
895
  msgstr "Custom Field name"
896
 
897
- #: config/settings.php:245
898
  msgctxt "admin-text"
899
  msgid "Default Schema Type"
900
  msgstr "Default Schema Type"
901
 
902
- #: config/settings.php:247
903
  msgctxt "admin-text"
904
  msgid "Local Business"
905
  msgstr "Local Business"
906
 
907
- #: config/settings.php:248
908
  msgctxt "admin-text"
909
  msgid "Product"
910
  msgstr "Product"
911
 
912
- #: config/settings.php:249
913
  msgctxt "admin-text"
914
  msgid "Custom"
915
  msgstr "Custom"
916
 
917
- #: config/settings.php:258
918
  msgctxt "admin-text"
919
  msgid "View more information on schema types here"
920
  msgstr "View more information on schema types here"
921
 
922
- #: config/settings.php:259
923
  msgctxt "admin-text"
924
  msgid "Custom Schema Type"
925
  msgstr "Custom Schema Type"
926
 
927
- #: config/settings.php:265
928
  msgctxt "admin-text"
929
  msgid "Default Name"
930
  msgstr "Default Name"
931
 
932
- #: config/settings.php:267
933
  msgctxt "admin-text"
934
  msgid "Use the assigned or current page title"
935
  msgstr "Use the assigned or current page title"
936
 
937
- #: config/settings.php:268
938
  msgctxt "admin-text"
939
  msgid "Enter a custom title"
940
  msgstr "Enter a custom title"
941
 
942
- #: config/settings.php:277
943
  msgctxt "admin-text"
944
  msgid "Custom Name"
945
  msgstr "Custom Name"
946
 
947
- #: config/settings.php:283
948
  msgctxt "admin-text"
949
  msgid "Default Description"
950
  msgstr "Default Description"
951
 
952
- #: config/settings.php:285
953
  msgctxt "admin-text"
954
  msgid "Use the assigned or current page excerpt"
955
  msgstr "Use the assigned or current page excerpt"
956
 
957
- #: config/settings.php:286
958
  msgctxt "admin-text"
959
  msgid "Enter a custom description"
960
  msgstr "Enter a custom description"
961
 
962
- #: config/settings.php:295
963
  msgctxt "admin-text"
964
  msgid "Custom Description"
965
  msgstr "Custom Description"
966
 
967
- #: config/settings.php:301
968
  msgctxt "admin-text"
969
  msgid "Default URL"
970
  msgstr "Default URL"
971
 
972
- #: config/settings.php:303
973
  msgctxt "admin-text"
974
  msgid "Use the assigned or current page URL"
975
  msgstr "Use the assigned or current page URL"
976
 
977
- #: config/settings.php:304
978
  msgctxt "admin-text"
979
  msgid "Enter a custom URL"
980
  msgstr "Enter a custom URL"
981
 
982
- #: config/settings.php:313
983
  msgctxt "admin-text"
984
  msgid "Custom URL"
985
  msgstr "Custom URL"
986
 
987
- #: config/settings.php:319
988
  msgctxt "admin-text"
989
  msgid "Default Image"
990
  msgstr "Default Image"
991
 
992
- #: config/settings.php:321
993
  msgctxt "admin-text"
994
  msgid "Use the featured image of the assigned or current page"
995
  msgstr "Use the featured image of the assigned or current page"
996
 
997
- #: config/settings.php:322
998
  msgctxt "admin-text"
999
  msgid "Enter a custom image URL"
1000
  msgstr "Enter a custom image URL"
1001
 
1002
- #: config/settings.php:331
1003
  msgctxt "admin-text"
1004
  msgid "Custom Image URL"
1005
  msgstr "Custom Image URL"
1006
 
1007
- #: config/settings.php:340
1008
  msgctxt "admin-text"
1009
  msgid "Address"
1010
  msgstr "Address"
1011
 
1012
- #: config/settings.php:341
1013
  msgctxt "admin-text"
1014
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
1015
  msgstr "60 29th Street #343, San Francisco, CA 94110, US"
1016
 
1017
- #: config/settings.php:350
1018
  msgctxt "admin-text"
1019
  msgid "Telephone Number"
1020
  msgstr "Telephone Number"
1021
 
1022
- #: config/settings.php:351
1023
  msgctxt "admin-text"
1024
  msgid "+1 (877) 273-3049"
1025
  msgstr "+1 (877) 273-3049"
1026
 
1027
- #: config/settings.php:360
1028
  msgctxt "admin-text"
1029
  msgid "Price Range"
1030
  msgstr "Price Range"
1031
 
1032
- #: config/settings.php:361
1033
  msgctxt "admin-text"
1034
  msgid "$$-$$$"
1035
  msgstr "$$-$$$"
1036
 
1037
- #: config/settings.php:370
1038
  msgctxt "admin-text"
1039
  msgid "Offer Type"
1040
  msgstr "Offer Type"
1041
 
1042
- #: config/settings.php:372
1043
  msgctxt "admin-text"
1044
  msgid "AggregateOffer"
1045
  msgstr "AggregateOffer"
1046
 
1047
- #: config/settings.php:373
1048
  msgctxt "admin-text"
1049
  msgid "Offer"
1050
  msgstr "Offer"
1051
 
1052
- #: config/settings.php:384
1053
  msgctxt "admin-text"
1054
  msgid "Price"
1055
  msgstr "Price"
1056
 
1057
- #: config/settings.php:395
1058
  msgctxt "admin-text"
1059
  msgid "Low Price"
1060
  msgstr "Low Price"
1061
 
1062
- #: config/settings.php:406
1063
  msgctxt "admin-text"
1064
  msgid "High Price"
1065
  msgstr "High Price"
1066
 
1067
- #: config/settings.php:416
1068
  msgctxt "admin-text"
1069
  msgid "Price Currency"
1070
  msgstr "Price Currency"
1071
 
1072
- #: config/settings.php:417
1073
  msgctxt "admin-text"
1074
  msgid "USD"
1075
  msgstr "USD"
1076
 
1077
- #: config/settings.php:422
1078
  msgctxt "admin-text"
1079
  msgid "Choose which fields should be required in the review form."
1080
  msgstr "Choose which fields should be required in the review form."
1081
 
1082
- #: config/settings.php:423
1083
  msgctxt "admin-text"
1084
  msgid "Required Fields"
1085
  msgstr "Required Fields"
1086
 
1087
- #: config/settings.php:425, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
1088
  msgctxt "admin-text"
1089
  msgid "Rating"
1090
  msgstr "Rating"
1091
 
1092
- #: config/settings.php:426, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
1093
  msgctxt "admin-text"
1094
  msgid "Title"
1095
  msgstr "Title"
1096
 
1097
- #: config/settings.php:427, plugin/Defaults/PostTypeLabelDefaults.php:15
1098
  msgctxt "admin-text"
1099
  msgid "Review"
1100
  msgstr "Review"
1101
 
1102
- #: config/settings.php:428, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:128, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
1103
  msgctxt "admin-text"
1104
  msgid "Name"
1105
  msgstr "Name"
1106
 
1107
- #: config/settings.php:429, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:129, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
1108
  msgctxt "admin-text"
1109
  msgid "Email"
1110
  msgstr "Email"
1111
 
1112
- #: config/settings.php:430
1113
  msgctxt "admin-text"
1114
  msgid "Terms"
1115
  msgstr "Terms"
1116
 
1117
- #: config/settings.php:436
1118
  msgctxt "admin-text"
1119
  msgid ""
1120
  "Limits the number of reviews that can be submitted to one-per-person. If "
1121
  "you are assigning reviews, then the limit will be applied to the assigned "
1122
- "page or category."
1123
  msgstr ""
1124
  "Limits the number of reviews that can be submitted to one-per-person. If "
1125
  "you are assigning reviews, then the limit will be applied to the assigned "
1126
- "page or category."
1127
 
1128
- #: config/settings.php:437
1129
  msgctxt "admin-text"
1130
  msgid "Limit Reviews"
1131
  msgstr "Limit Reviews"
1132
 
1133
- #: config/settings.php:439
1134
  msgctxt "admin-text"
1135
  msgid "No Limit"
1136
  msgstr "No Limit"
1137
 
1138
- #: config/settings.php:440
1139
  msgctxt "admin-text"
1140
  msgid "By Email Address"
1141
  msgstr "By Email Address"
1142
 
1143
- #: config/settings.php:441
1144
  msgctxt "admin-text"
1145
  msgid "By IP Address"
1146
  msgstr "By IP Address"
1147
 
1148
- #: config/settings.php:442
1149
  msgctxt "admin-text"
1150
  msgid "By Username (will only work for registered users)"
1151
  msgstr "By Username (will only work for registered users)"
1152
 
1153
- #: config/settings.php:451
1154
  msgctxt "admin-text"
1155
  msgid ""
1156
  "One Email per line. All emails in the whitelist will be excluded from the "
@@ -1159,12 +1201,12 @@ msgstr ""
1159
  "One Email per line. All emails in the whitelist will be excluded from the "
1160
  "review submission limit."
1161
 
1162
- #: config/settings.php:452
1163
  msgctxt "admin-text"
1164
  msgid "Email Whitelist"
1165
  msgstr "Email Whitelist"
1166
 
1167
- #: config/settings.php:461
1168
  msgctxt "admin-text"
1169
  msgid ""
1170
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
@@ -1173,12 +1215,12 @@ msgstr ""
1173
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1174
  "from the review submission limit.."
1175
 
1176
- #: config/settings.php:462
1177
  msgctxt "admin-text"
1178
  msgid "IP Address Whitelist"
1179
  msgstr "IP Address Whitelist"
1180
 
1181
- #: config/settings.php:471
1182
  msgctxt "admin-text"
1183
  msgid ""
1184
  "One Username per line. All registered users with a Username in the "
@@ -1187,12 +1229,12 @@ msgstr ""
1187
  "One Username per line. All registered users with a Username in the "
1188
  "whitelist will be excluded from the review submission limit."
1189
 
1190
- #: config/settings.php:472
1191
  msgctxt "admin-text"
1192
  msgid "Username Whitelist"
1193
  msgstr "Username Whitelist"
1194
 
1195
- #: config/settings.php:478
1196
  msgctxt "admin-text"
1197
  msgid ""
1198
  "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service "
@@ -1205,37 +1247,37 @@ msgstr ""
1205
  "href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign "
1206
  "up</a> for an API key pair for your site."
1207
 
1208
- #: config/settings.php:479
1209
  msgctxt "admin-text"
1210
  msgid "Invisible reCAPTCHA"
1211
  msgstr "Invisible reCAPTCHA"
1212
 
1213
- #: config/settings.php:481
1214
  msgctxt "admin-text"
1215
  msgid "Do not use reCAPTCHA"
1216
  msgstr "Do not use reCAPTCHA"
1217
 
1218
- #: config/settings.php:482
1219
  msgctxt "admin-text"
1220
  msgid "Use reCAPTCHA"
1221
  msgstr "Use reCAPTCHA"
1222
 
1223
- #: config/settings.php:483
1224
  msgctxt "admin-text"
1225
  msgid "Use reCAPTCHA only for guest users"
1226
  msgstr "Use reCAPTCHA only for guest users"
1227
 
1228
- #: config/settings.php:492
1229
  msgctxt "admin-text"
1230
  msgid "Site Key"
1231
  msgstr "Site Key"
1232
 
1233
- #: config/settings.php:500
1234
  msgctxt "admin-text"
1235
  msgid "Site Secret"
1236
  msgstr "Site Secret"
1237
 
1238
- #: config/settings.php:508
1239
  msgctxt "admin-text"
1240
  msgid ""
1241
  "This option may not work consistently if another plugin is loading "
@@ -1244,27 +1286,27 @@ msgstr ""
1244
  "This option may not work consistently if another plugin is loading "
1245
  "reCAPTCHA on the same page as Site Reviews."
1246
 
1247
- #: config/settings.php:509
1248
  msgctxt "admin-text"
1249
  msgid "Badge Position"
1250
  msgstr "Badge Position"
1251
 
1252
- #: config/settings.php:511
1253
  msgctxt "admin-text"
1254
  msgid "Bottom Left"
1255
  msgstr "Bottom Left"
1256
 
1257
- #: config/settings.php:512
1258
  msgctxt "admin-text"
1259
  msgid "Bottom Right"
1260
  msgstr "Bottom Right"
1261
 
1262
- #: config/settings.php:513
1263
  msgctxt "admin-text"
1264
  msgid "Inline"
1265
  msgstr "Inline"
1266
 
1267
- #: config/settings.php:519
1268
  msgctxt "admin-text"
1269
  msgid ""
1270
  "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> "
@@ -1277,12 +1319,12 @@ msgstr ""
1277
  "setting to have any affect, you will need to first install and activate the "
1278
  "Akismet plugin and set up a WordPress.com API key."
1279
 
1280
- #: config/settings.php:520
1281
  msgctxt "admin-text"
1282
  msgid "Enable Akismet Integration"
1283
  msgstr "Enable Akismet Integration"
1284
 
1285
- #: config/settings.php:525
1286
  msgctxt "admin-text"
1287
  msgid ""
1288
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
@@ -1291,27 +1333,27 @@ msgstr ""
1291
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1292
  "can be found in the WordPress Discussion Settings page."
1293
 
1294
- #: config/settings.php:526
1295
  msgctxt "admin-text"
1296
  msgid "Disallowed Comment Keys"
1297
  msgstr "Disallowed Comment Keys"
1298
 
1299
- #: config/settings.php:528
1300
  msgctxt "admin-text"
1301
  msgid "Blacklist"
1302
  msgstr "Blacklist"
1303
 
1304
- #: config/settings.php:530
1305
  msgctxt "admin-text"
1306
  msgid "Use the Site Reviews Blacklist"
1307
  msgstr "Use the Site Reviews Blacklist"
1308
 
1309
- #: config/settings.php:531
1310
  msgctxt "admin-text"
1311
  msgid "Use the WordPress Disallowed Comment Keys"
1312
  msgstr "Use the WordPress Disallowed Comment Keys"
1313
 
1314
- #: config/settings.php:540
1315
  msgctxt "admin-text"
1316
  msgid ""
1317
  "One entry or IP address per line. When a review contains any of these "
@@ -1324,36 +1366,31 @@ msgstr ""
1324
  "rejected. It is case-insensitive and will match partial words, so \"press\" "
1325
  "will match \"WordPress\"."
1326
 
1327
- #: config/settings.php:541
1328
  msgctxt "admin-text"
1329
  msgid "Review Blacklist"
1330
  msgstr "Review Blacklist"
1331
 
1332
- #: config/settings.php:547
1333
  msgctxt "admin-text"
1334
  msgid "Choose the action that should be taken when a review is blacklisted."
1335
  msgstr "Choose the action that should be taken when a review is blacklisted."
1336
 
1337
- #: config/settings.php:548
1338
  msgctxt "admin-text"
1339
  msgid "Blacklist Action"
1340
  msgstr "Blacklist Action"
1341
 
1342
- #: config/settings.php:550
1343
  msgctxt "admin-text"
1344
  msgid "Require approval"
1345
  msgstr "Require approval"
1346
 
1347
- #: config/settings.php:551
1348
  msgctxt "admin-text"
1349
  msgid "Reject submission"
1350
  msgstr "Reject submission"
1351
 
1352
- #: plugin/Application.php:224
1353
- msgctxt "admin-text"
1354
- msgid "Local Review"
1355
- msgstr "Local Review"
1356
-
1357
  #: plugin/Deprecated.php:24
1358
  msgctxt "admin-text"
1359
  msgid ""
@@ -1363,7 +1400,7 @@ msgstr ""
1363
  "The [%s] method has been deprecated and will be soon be removed, please use "
1364
  "the [%s] method instead."
1365
 
1366
- #: plugin/Review.php:264, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
1367
  msgctxt "admin-text"
1368
  msgid "Unknown"
1369
  msgstr "Unknown"
@@ -1433,12 +1470,12 @@ msgctxt "admin-text"
1433
  msgid "Avatar"
1434
  msgstr "Avatar"
1435
 
1436
- #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:47, plugin/Controllers/MenuController.php:50, views/pages/tools/sync.php:23
1437
  msgctxt "admin-text"
1438
  msgid "Settings"
1439
  msgstr "Settings"
1440
 
1441
- #: plugin/Addons/Controller.php:76, plugin/Controllers/AdminController.php:53, plugin/Controllers/MenuController.php:53
1442
  msgctxt "admin-text"
1443
  msgid "Help"
1444
  msgstr "Help"
@@ -1497,29 +1534,29 @@ msgctxt "admin-text"
1497
  msgid "Edit"
1498
  msgstr "Edit"
1499
 
1500
- #: plugin/Controllers/AdminController.php:84
1501
  msgctxt "admin-text"
1502
  msgid "%s Review"
1503
  msgid_plural "%s Reviews"
1504
  msgstr[0] "%s Review"
1505
  msgstr[1] "%s Reviews"
1506
 
1507
- #: plugin/Controllers/AdminController.php:148, plugin/Controllers/MainController.php:70
1508
  msgctxt "admin-text"
1509
  msgid "Recent Reviews"
1510
  msgstr "Recent Reviews"
1511
 
1512
- #: plugin/Controllers/AdminController.php:149, plugin/Controllers/MainController.php:74
1513
  msgctxt "admin-text"
1514
  msgid "Submit a Review"
1515
  msgstr "Submit a Review"
1516
 
1517
- #: plugin/Controllers/AdminController.php:150, plugin/Controllers/MainController.php:78
1518
  msgctxt "admin-text"
1519
  msgid "Summary of Reviews"
1520
  msgstr "Summary of Reviews"
1521
 
1522
- #: plugin/Controllers/AdminController.php:185, plugin/Controllers/AdminController.php:205, plugin/Controllers/AdminController.php:218
1523
  msgctxt "admin-text"
1524
  msgid "Nothing found."
1525
  msgstr "Nothing found."
@@ -1549,17 +1586,22 @@ msgctxt "admin-text"
1549
  msgid "Unapprove"
1550
  msgstr "Unapprove"
1551
 
1552
- #: plugin/Controllers/MainController.php:69
 
 
 
 
 
1553
  msgctxt "admin-text"
1554
  msgid "Site Reviews: Display your recent reviews."
1555
  msgstr "Site Reviews: Display your recent reviews."
1556
 
1557
- #: plugin/Controllers/MainController.php:73
1558
  msgctxt "admin-text"
1559
  msgid "Site Reviews: Display a form to submit reviews."
1560
  msgstr "Site Reviews: Display a form to submit reviews."
1561
 
1562
- #: plugin/Controllers/MainController.php:77
1563
  msgctxt "admin-text"
1564
  msgid "Site Reviews: Display a summary of your reviews."
1565
  msgstr "Site Reviews: Display a summary of your reviews."
@@ -1764,30 +1806,30 @@ msgstr "Console reloaded."
1764
 
1765
  #: plugin/Controllers/ToolsController.php:157
1766
  msgctxt "admin-text"
1767
- msgid "The plugin has been migrated sucessfully."
1768
- msgstr "The plugin has been migrated sucessfully."
1769
 
1770
  #: plugin/Controllers/ToolsController.php:154
1771
  msgctxt "admin-text"
1772
- msgid "All plugin migrations have been run successfully."
1773
- msgstr "All plugin migrations have been run successfully."
1774
 
1775
  #: plugin/Controllers/ToolsController.php:180
1776
  msgctxt "admin-text"
1777
  msgid "The assigned meta values have been reset."
1778
  msgstr "The assigned meta values have been reset."
1779
 
1780
- #: plugin/Controllers/ToolsController.php:202
1781
  msgctxt "admin-text"
1782
  msgid "The permissions have been reset."
1783
  msgstr "The permissions have been reset."
1784
 
1785
- #: plugin/Controllers/ToolsController.php:213
1786
  msgctxt "admin-text"
1787
  msgid "reload the page"
1788
  msgstr "reload the page"
1789
 
1790
- #: plugin/Controllers/ToolsController.php:217
1791
  msgctxt "admin-text"
1792
  msgid "The permissions have been reset, please %s for them to take effect."
1793
  msgstr "The permissions have been reset, please %s for them to take effect."
@@ -1942,6 +1984,21 @@ msgctxt "admin-text"
1942
  msgid "The link to edit/view a review"
1943
  msgstr "The link to edit/view a review"
1944
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1945
  #: plugin/Defaults/UpdatedMessageDefaults.php:15
1946
  msgctxt "admin-text"
1947
  msgid "Review has been approved and published."
@@ -2422,11 +2479,6 @@ msgctxt "admin-text"
2422
  msgid "All types"
2423
  msgstr "All types"
2424
 
2425
- #: plugin/Controllers/ListTableColumns/ColumnValueType.php:17
2426
- msgctxt "admin-text"
2427
- msgid "Unsupported Type"
2428
- msgstr "Unsupported Type"
2429
-
2430
  #: views/pages/addons/index.php:6
2431
  msgctxt "admin-text"
2432
  msgid ""
@@ -2596,22 +2648,27 @@ msgctxt "admin-text"
2596
  msgid "Reset Meta Values"
2597
  msgstr "Reset Meta Values"
2598
 
2599
- #: views/pages/tools/general.php:104
 
 
 
 
 
2600
  msgctxt "admin-text"
2601
  msgid "Resetting, please wait..."
2602
  msgstr "Resetting, please wait..."
2603
 
2604
- #: views/pages/tools/general.php:104
2605
  msgctxt "admin-text"
2606
  msgid "Reset Permissions"
2607
  msgstr "Reset Permissions"
2608
 
2609
- #: views/pages/tools/general.php:121
2610
  msgctxt "admin-text"
2611
  msgid "Testing, please wait..."
2612
  msgstr "Testing, please wait..."
2613
 
2614
- #: views/pages/tools/general.php:121
2615
  msgctxt "admin-text"
2616
  msgid "Test Detection"
2617
  msgstr "Test Detection"
@@ -2768,11 +2825,13 @@ msgstr "Add-ons for Site Reviews are now available!"
2768
  #: views/partials/notices/addons.php:23
2769
  msgctxt "admin-text"
2770
  msgid ""
2771
- "Allow people to submit captioned images with their review, and sort, "
2772
- "filter, and search reviews."
 
2773
  msgstr ""
2774
- "Allow people to submit captioned images with their review, and sort, "
2775
- "filter, and search reviews."
 
2776
 
2777
  #: views/partials/notices/addons.php:26
2778
  msgctxt "admin-text"
@@ -2905,7 +2964,7 @@ msgctxt "View Post (admin-text)"
2905
  msgid "View %s"
2906
  msgstr "View %s"
2907
 
2908
- #: plugin/Modules/Notification.php:141
2909
  msgctxt ""
2910
  "This string differs depending on whether or not the review has been "
2911
  "assigned to a post."
30
  msgid "%s is <strong>deprecated</strong> since version %s! Use %s instead."
31
  msgstr "%s is <strong>deprecated</strong> since version %s! Use %s instead."
32
 
33
+ #: config/settings.php:238, plugin/Modules/Html/ReviewsHtml.php:126
34
  msgid "There are no reviews yet. Be the first one to write one."
35
  msgstr "There are no reviews yet. Be the first one to write one."
36
 
82
  msgid "Show more"
83
  msgstr "Show more"
84
 
85
+ #: plugin/Commands/CreateReview.php:156
86
  msgid "Your review has been submitted!"
87
  msgstr "Your review has been submitted!"
88
 
89
+ #: plugin/Commands/CreateReview.php:161
90
  msgid ""
91
  "Your review could not be submitted and the error has been logged. Please "
92
  "notify the site admin."
126
  msgid "This field requires a valid e-mail address."
127
  msgstr "This field requires a valid e-mail address."
128
 
129
+ #: plugin/Defaults/ValidationStringsDefaults.php:19, plugin/Modules/Validator/DefaultValidator.php:58
130
  msgid "Please fix the submission errors."
131
  msgstr "Please fix the submission errors."
132
 
208
  msgstr[0] "%s year ago"
209
  msgstr[1] "%s years ago"
210
 
211
+ #: plugin/Modules/Notification.php:73
212
  msgid "Anonymous"
213
  msgstr "Anonymous"
214
 
256
  msgid "The reCAPTCHA verification failed, please try again."
257
  msgstr "The reCAPTCHA verification failed, please try again."
258
 
259
+ #: plugin/Modules/Validator/ReviewLimitsValidator.php:34
260
  msgid "You have already submitted a review."
261
  msgstr "You have already submitted a review."
262
 
788
  msgid "Initial with a period and a space"
789
  msgstr "Initial with a period and a space"
790
 
791
+ #: config/settings.php:178
792
+ msgctxt "admin-text"
793
+ msgid ""
794
+ "This setting determines how the assigned options work in the reviews and "
795
+ "summary shortcodes and blocks."
796
+ msgstr ""
797
+ "This setting determines how the assigned options work in the reviews and "
798
+ "summary shortcodes and blocks."
799
+
800
+ #: config/settings.php:179
801
+ msgctxt "admin-text"
802
+ msgid ""
803
+ "\"Loose Assignment\" means <code>display reviews that are assigned to this "
804
+ "OR this</code>."
805
+ msgstr ""
806
+ "\"Loose Assignment\" means <code>display reviews that are assigned to this "
807
+ "OR this</code>."
808
+
809
+ #: config/settings.php:180
810
+ msgctxt "admin-text"
811
+ msgid ""
812
+ "\"Strict Assignment\" means <code>display reviews that are assigned to this "
813
+ "AND this</code>."
814
+ msgstr ""
815
+ "\"Strict Assignment\" means <code>display reviews that are assigned to this "
816
+ "AND this</code>."
817
+
818
+ #: config/settings.php:182
819
+ msgctxt "admin-text"
820
+ msgid "Review Assignment"
821
+ msgstr "Review Assignment"
822
+
823
+ #: config/settings.php:184
824
+ msgctxt "admin-text"
825
+ msgid "Loose Assignment"
826
+ msgstr "Loose Assignment"
827
+
828
+ #: config/settings.php:185
829
+ msgctxt "admin-text"
830
+ msgid "Strict Assignment"
831
+ msgstr "Strict Assignment"
832
+
833
+ #: config/settings.php:191
834
  msgctxt "admin-text"
835
  msgid "Display a link to the assigned posts of a review."
836
  msgstr "Display a link to the assigned posts of a review."
837
 
838
+ #: config/settings.php:192
839
  msgctxt "admin-text"
840
  msgid "Enable Assigned Links"
841
  msgstr "Enable Assigned Links"
842
 
843
+ #: config/settings.php:197
844
  msgctxt "admin-text"
845
  msgid ""
846
  "Display reviewer avatars. These are generated from the email address of the "
849
  "Display reviewer avatars. These are generated from the email address of the "
850
  "reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
851
 
852
+ #: config/settings.php:198
853
  msgctxt "admin-text"
854
  msgid "Enable Avatars"
855
  msgstr "Enable Avatars"
856
 
857
+ #: config/settings.php:206
858
  msgctxt "admin-text"
859
  msgid "Regenerate the avatar whenever a local review is shown?"
860
  msgstr "Regenerate the avatar whenever a local review is shown?"
861
 
862
+ #: config/settings.php:207
863
  msgctxt "admin-text"
864
  msgid "Regenerate Avatars"
865
  msgstr "Regenerate Avatars"
866
 
867
+ #: config/settings.php:215
868
  msgctxt "admin-text"
869
  msgid "Set the avatar size in pixels."
870
  msgstr "Set the avatar size in pixels."
871
 
872
+ #: config/settings.php:216
873
  msgctxt "admin-text"
874
  msgid "Avatar Size"
875
  msgstr "Avatar Size"
876
 
877
+ #: config/settings.php:221
878
  msgctxt "admin-text"
879
  msgid "Display an excerpt instead of the full review."
880
  msgstr "Display an excerpt instead of the full review."
881
 
882
+ #: config/settings.php:222
883
  msgctxt "admin-text"
884
  msgid "Enable Excerpts"
885
  msgstr "Enable Excerpts"
886
 
887
+ #: config/settings.php:230
888
  msgctxt "admin-text"
889
  msgid "Set the excerpt word length."
890
  msgstr "Set the excerpt word length."
891
 
892
+ #: config/settings.php:231
893
  msgctxt "admin-text"
894
  msgid "Excerpt Length"
895
  msgstr "Excerpt Length"
896
 
897
+ #: config/settings.php:236
898
  msgctxt "admin-text"
899
  msgid ""
900
  "Display the fallback text when there are no reviews to display. This can be "
905
  "changed on the %s page. You may also override this by using the "
906
  "\"fallback\" option on the shortcode. The default fallback text is: %s"
907
 
908
+ #: config/settings.php:237, plugin/Controllers/MenuController.php:118
909
  msgctxt "admin-text"
910
  msgid "Translations"
911
  msgstr "Translations"
912
 
913
+ #: config/settings.php:240
914
  msgctxt "admin-text"
915
  msgid "Enable Fallback Text"
916
  msgstr "Enable Fallback Text"
917
 
918
+ #: config/settings.php:246
919
  msgctxt "admin-text"
920
  msgid ""
921
  "Paginated URLs include the %s URL parameter. If you would like to keep the "
926
  "pagination links but prevent search engines from indexing them, add the "
927
  "following lines to your %s file instead: %s"
928
 
929
+ #: config/settings.php:253
930
  msgctxt "admin-text"
931
  msgid "Enable Paginated URLs"
932
  msgstr "Enable Paginated URLs"
933
 
934
+ #: config/settings.php:258, config/settings.php:278, config/settings.php:296, config/settings.php:314, config/settings.php:332, config/settings.php:353, config/settings.php:363, config/settings.php:373, config/settings.php:383, config/settings.php:397, config/settings.php:408, config/settings.php:419, config/settings.php:429
935
  msgctxt "admin-text"
936
  msgid "Custom Field name"
937
  msgstr "Custom Field name"
938
 
939
+ #: config/settings.php:259
940
  msgctxt "admin-text"
941
  msgid "Default Schema Type"
942
  msgstr "Default Schema Type"
943
 
944
+ #: config/settings.php:261
945
  msgctxt "admin-text"
946
  msgid "Local Business"
947
  msgstr "Local Business"
948
 
949
+ #: config/settings.php:262
950
  msgctxt "admin-text"
951
  msgid "Product"
952
  msgstr "Product"
953
 
954
+ #: config/settings.php:263
955
  msgctxt "admin-text"
956
  msgid "Custom"
957
  msgstr "Custom"
958
 
959
+ #: config/settings.php:272
960
  msgctxt "admin-text"
961
  msgid "View more information on schema types here"
962
  msgstr "View more information on schema types here"
963
 
964
+ #: config/settings.php:273
965
  msgctxt "admin-text"
966
  msgid "Custom Schema Type"
967
  msgstr "Custom Schema Type"
968
 
969
+ #: config/settings.php:279
970
  msgctxt "admin-text"
971
  msgid "Default Name"
972
  msgstr "Default Name"
973
 
974
+ #: config/settings.php:281
975
  msgctxt "admin-text"
976
  msgid "Use the assigned or current page title"
977
  msgstr "Use the assigned or current page title"
978
 
979
+ #: config/settings.php:282
980
  msgctxt "admin-text"
981
  msgid "Enter a custom title"
982
  msgstr "Enter a custom title"
983
 
984
+ #: config/settings.php:291
985
  msgctxt "admin-text"
986
  msgid "Custom Name"
987
  msgstr "Custom Name"
988
 
989
+ #: config/settings.php:297
990
  msgctxt "admin-text"
991
  msgid "Default Description"
992
  msgstr "Default Description"
993
 
994
+ #: config/settings.php:299
995
  msgctxt "admin-text"
996
  msgid "Use the assigned or current page excerpt"
997
  msgstr "Use the assigned or current page excerpt"
998
 
999
+ #: config/settings.php:300
1000
  msgctxt "admin-text"
1001
  msgid "Enter a custom description"
1002
  msgstr "Enter a custom description"
1003
 
1004
+ #: config/settings.php:309
1005
  msgctxt "admin-text"
1006
  msgid "Custom Description"
1007
  msgstr "Custom Description"
1008
 
1009
+ #: config/settings.php:315
1010
  msgctxt "admin-text"
1011
  msgid "Default URL"
1012
  msgstr "Default URL"
1013
 
1014
+ #: config/settings.php:317
1015
  msgctxt "admin-text"
1016
  msgid "Use the assigned or current page URL"
1017
  msgstr "Use the assigned or current page URL"
1018
 
1019
+ #: config/settings.php:318
1020
  msgctxt "admin-text"
1021
  msgid "Enter a custom URL"
1022
  msgstr "Enter a custom URL"
1023
 
1024
+ #: config/settings.php:327
1025
  msgctxt "admin-text"
1026
  msgid "Custom URL"
1027
  msgstr "Custom URL"
1028
 
1029
+ #: config/settings.php:333
1030
  msgctxt "admin-text"
1031
  msgid "Default Image"
1032
  msgstr "Default Image"
1033
 
1034
+ #: config/settings.php:335
1035
  msgctxt "admin-text"
1036
  msgid "Use the featured image of the assigned or current page"
1037
  msgstr "Use the featured image of the assigned or current page"
1038
 
1039
+ #: config/settings.php:336
1040
  msgctxt "admin-text"
1041
  msgid "Enter a custom image URL"
1042
  msgstr "Enter a custom image URL"
1043
 
1044
+ #: config/settings.php:345
1045
  msgctxt "admin-text"
1046
  msgid "Custom Image URL"
1047
  msgstr "Custom Image URL"
1048
 
1049
+ #: config/settings.php:354
1050
  msgctxt "admin-text"
1051
  msgid "Address"
1052
  msgstr "Address"
1053
 
1054
+ #: config/settings.php:355
1055
  msgctxt "admin-text"
1056
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
1057
  msgstr "60 29th Street #343, San Francisco, CA 94110, US"
1058
 
1059
+ #: config/settings.php:364
1060
  msgctxt "admin-text"
1061
  msgid "Telephone Number"
1062
  msgstr "Telephone Number"
1063
 
1064
+ #: config/settings.php:365
1065
  msgctxt "admin-text"
1066
  msgid "+1 (877) 273-3049"
1067
  msgstr "+1 (877) 273-3049"
1068
 
1069
+ #: config/settings.php:374
1070
  msgctxt "admin-text"
1071
  msgid "Price Range"
1072
  msgstr "Price Range"
1073
 
1074
+ #: config/settings.php:375
1075
  msgctxt "admin-text"
1076
  msgid "$$-$$$"
1077
  msgstr "$$-$$$"
1078
 
1079
+ #: config/settings.php:384
1080
  msgctxt "admin-text"
1081
  msgid "Offer Type"
1082
  msgstr "Offer Type"
1083
 
1084
+ #: config/settings.php:386
1085
  msgctxt "admin-text"
1086
  msgid "AggregateOffer"
1087
  msgstr "AggregateOffer"
1088
 
1089
+ #: config/settings.php:387
1090
  msgctxt "admin-text"
1091
  msgid "Offer"
1092
  msgstr "Offer"
1093
 
1094
+ #: config/settings.php:398
1095
  msgctxt "admin-text"
1096
  msgid "Price"
1097
  msgstr "Price"
1098
 
1099
+ #: config/settings.php:409
1100
  msgctxt "admin-text"
1101
  msgid "Low Price"
1102
  msgstr "Low Price"
1103
 
1104
+ #: config/settings.php:420
1105
  msgctxt "admin-text"
1106
  msgid "High Price"
1107
  msgstr "High Price"
1108
 
1109
+ #: config/settings.php:430
1110
  msgctxt "admin-text"
1111
  msgid "Price Currency"
1112
  msgstr "Price Currency"
1113
 
1114
+ #: config/settings.php:431
1115
  msgctxt "admin-text"
1116
  msgid "USD"
1117
  msgstr "USD"
1118
 
1119
+ #: config/settings.php:436
1120
  msgctxt "admin-text"
1121
  msgid "Choose which fields should be required in the review form."
1122
  msgstr "Choose which fields should be required in the review form."
1123
 
1124
+ #: config/settings.php:437
1125
  msgctxt "admin-text"
1126
  msgid "Required Fields"
1127
  msgstr "Required Fields"
1128
 
1129
+ #: config/settings.php:439, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
1130
  msgctxt "admin-text"
1131
  msgid "Rating"
1132
  msgstr "Rating"
1133
 
1134
+ #: config/settings.php:440, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
1135
  msgctxt "admin-text"
1136
  msgid "Title"
1137
  msgstr "Title"
1138
 
1139
+ #: config/settings.php:441, plugin/Defaults/PostTypeLabelDefaults.php:15
1140
  msgctxt "admin-text"
1141
  msgid "Review"
1142
  msgstr "Review"
1143
 
1144
+ #: config/settings.php:442, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:128, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
1145
  msgctxt "admin-text"
1146
  msgid "Name"
1147
  msgstr "Name"
1148
 
1149
+ #: config/settings.php:443, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:129, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
1150
  msgctxt "admin-text"
1151
  msgid "Email"
1152
  msgstr "Email"
1153
 
1154
+ #: config/settings.php:444
1155
  msgctxt "admin-text"
1156
  msgid "Terms"
1157
  msgstr "Terms"
1158
 
1159
+ #: config/settings.php:450
1160
  msgctxt "admin-text"
1161
  msgid ""
1162
  "Limits the number of reviews that can be submitted to one-per-person. If "
1163
  "you are assigning reviews, then the limit will be applied to the assigned "
1164
+ "page and/or category."
1165
  msgstr ""
1166
  "Limits the number of reviews that can be submitted to one-per-person. If "
1167
  "you are assigning reviews, then the limit will be applied to the assigned "
1168
+ "page and/or category."
1169
 
1170
+ #: config/settings.php:451
1171
  msgctxt "admin-text"
1172
  msgid "Limit Reviews"
1173
  msgstr "Limit Reviews"
1174
 
1175
+ #: config/settings.php:453
1176
  msgctxt "admin-text"
1177
  msgid "No Limit"
1178
  msgstr "No Limit"
1179
 
1180
+ #: config/settings.php:454
1181
  msgctxt "admin-text"
1182
  msgid "By Email Address"
1183
  msgstr "By Email Address"
1184
 
1185
+ #: config/settings.php:455
1186
  msgctxt "admin-text"
1187
  msgid "By IP Address"
1188
  msgstr "By IP Address"
1189
 
1190
+ #: config/settings.php:456
1191
  msgctxt "admin-text"
1192
  msgid "By Username (will only work for registered users)"
1193
  msgstr "By Username (will only work for registered users)"
1194
 
1195
+ #: config/settings.php:465
1196
  msgctxt "admin-text"
1197
  msgid ""
1198
  "One Email per line. All emails in the whitelist will be excluded from the "
1201
  "One Email per line. All emails in the whitelist will be excluded from the "
1202
  "review submission limit."
1203
 
1204
+ #: config/settings.php:466
1205
  msgctxt "admin-text"
1206
  msgid "Email Whitelist"
1207
  msgstr "Email Whitelist"
1208
 
1209
+ #: config/settings.php:475
1210
  msgctxt "admin-text"
1211
  msgid ""
1212
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1215
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1216
  "from the review submission limit.."
1217
 
1218
+ #: config/settings.php:476
1219
  msgctxt "admin-text"
1220
  msgid "IP Address Whitelist"
1221
  msgstr "IP Address Whitelist"
1222
 
1223
+ #: config/settings.php:485
1224
  msgctxt "admin-text"
1225
  msgid ""
1226
  "One Username per line. All registered users with a Username in the "
1229
  "One Username per line. All registered users with a Username in the "
1230
  "whitelist will be excluded from the review submission limit."
1231
 
1232
+ #: config/settings.php:486
1233
  msgctxt "admin-text"
1234
  msgid "Username Whitelist"
1235
  msgstr "Username Whitelist"
1236
 
1237
+ #: config/settings.php:492
1238
  msgctxt "admin-text"
1239
  msgid ""
1240
  "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service "
1247
  "href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign "
1248
  "up</a> for an API key pair for your site."
1249
 
1250
+ #: config/settings.php:493
1251
  msgctxt "admin-text"
1252
  msgid "Invisible reCAPTCHA"
1253
  msgstr "Invisible reCAPTCHA"
1254
 
1255
+ #: config/settings.php:495
1256
  msgctxt "admin-text"
1257
  msgid "Do not use reCAPTCHA"
1258
  msgstr "Do not use reCAPTCHA"
1259
 
1260
+ #: config/settings.php:496
1261
  msgctxt "admin-text"
1262
  msgid "Use reCAPTCHA"
1263
  msgstr "Use reCAPTCHA"
1264
 
1265
+ #: config/settings.php:497
1266
  msgctxt "admin-text"
1267
  msgid "Use reCAPTCHA only for guest users"
1268
  msgstr "Use reCAPTCHA only for guest users"
1269
 
1270
+ #: config/settings.php:506
1271
  msgctxt "admin-text"
1272
  msgid "Site Key"
1273
  msgstr "Site Key"
1274
 
1275
+ #: config/settings.php:514
1276
  msgctxt "admin-text"
1277
  msgid "Site Secret"
1278
  msgstr "Site Secret"
1279
 
1280
+ #: config/settings.php:522
1281
  msgctxt "admin-text"
1282
  msgid ""
1283
  "This option may not work consistently if another plugin is loading "
1286
  "This option may not work consistently if another plugin is loading "
1287
  "reCAPTCHA on the same page as Site Reviews."
1288
 
1289
+ #: config/settings.php:523
1290
  msgctxt "admin-text"
1291
  msgid "Badge Position"
1292
  msgstr "Badge Position"
1293
 
1294
+ #: config/settings.php:525
1295
  msgctxt "admin-text"
1296
  msgid "Bottom Left"
1297
  msgstr "Bottom Left"
1298
 
1299
+ #: config/settings.php:526
1300
  msgctxt "admin-text"
1301
  msgid "Bottom Right"
1302
  msgstr "Bottom Right"
1303
 
1304
+ #: config/settings.php:527
1305
  msgctxt "admin-text"
1306
  msgid "Inline"
1307
  msgstr "Inline"
1308
 
1309
+ #: config/settings.php:533
1310
  msgctxt "admin-text"
1311
  msgid ""
1312
  "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> "
1319
  "setting to have any affect, you will need to first install and activate the "
1320
  "Akismet plugin and set up a WordPress.com API key."
1321
 
1322
+ #: config/settings.php:534
1323
  msgctxt "admin-text"
1324
  msgid "Enable Akismet Integration"
1325
  msgstr "Enable Akismet Integration"
1326
 
1327
+ #: config/settings.php:539
1328
  msgctxt "admin-text"
1329
  msgid ""
1330
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1333
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1334
  "can be found in the WordPress Discussion Settings page."
1335
 
1336
+ #: config/settings.php:540
1337
  msgctxt "admin-text"
1338
  msgid "Disallowed Comment Keys"
1339
  msgstr "Disallowed Comment Keys"
1340
 
1341
+ #: config/settings.php:542
1342
  msgctxt "admin-text"
1343
  msgid "Blacklist"
1344
  msgstr "Blacklist"
1345
 
1346
+ #: config/settings.php:544
1347
  msgctxt "admin-text"
1348
  msgid "Use the Site Reviews Blacklist"
1349
  msgstr "Use the Site Reviews Blacklist"
1350
 
1351
+ #: config/settings.php:545
1352
  msgctxt "admin-text"
1353
  msgid "Use the WordPress Disallowed Comment Keys"
1354
  msgstr "Use the WordPress Disallowed Comment Keys"
1355
 
1356
+ #: config/settings.php:554
1357
  msgctxt "admin-text"
1358
  msgid ""
1359
  "One entry or IP address per line. When a review contains any of these "
1366
  "rejected. It is case-insensitive and will match partial words, so \"press\" "
1367
  "will match \"WordPress\"."
1368
 
1369
+ #: config/settings.php:555
1370
  msgctxt "admin-text"
1371
  msgid "Review Blacklist"
1372
  msgstr "Review Blacklist"
1373
 
1374
+ #: config/settings.php:561
1375
  msgctxt "admin-text"
1376
  msgid "Choose the action that should be taken when a review is blacklisted."
1377
  msgstr "Choose the action that should be taken when a review is blacklisted."
1378
 
1379
+ #: config/settings.php:562
1380
  msgctxt "admin-text"
1381
  msgid "Blacklist Action"
1382
  msgstr "Blacklist Action"
1383
 
1384
+ #: config/settings.php:564
1385
  msgctxt "admin-text"
1386
  msgid "Require approval"
1387
  msgstr "Require approval"
1388
 
1389
+ #: config/settings.php:565
1390
  msgctxt "admin-text"
1391
  msgid "Reject submission"
1392
  msgstr "Reject submission"
1393
 
 
 
 
 
 
1394
  #: plugin/Deprecated.php:24
1395
  msgctxt "admin-text"
1396
  msgid ""
1400
  "The [%s] method has been deprecated and will be soon be removed, please use "
1401
  "the [%s] method instead."
1402
 
1403
+ #: plugin/Review.php:307, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
1404
  msgctxt "admin-text"
1405
  msgid "Unknown"
1406
  msgstr "Unknown"
1470
  msgid "Avatar"
1471
  msgstr "Avatar"
1472
 
1473
+ #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:48, plugin/Controllers/MenuController.php:50, views/pages/tools/sync.php:23
1474
  msgctxt "admin-text"
1475
  msgid "Settings"
1476
  msgstr "Settings"
1477
 
1478
+ #: plugin/Addons/Controller.php:76, plugin/Controllers/AdminController.php:54, plugin/Controllers/MenuController.php:53
1479
  msgctxt "admin-text"
1480
  msgid "Help"
1481
  msgstr "Help"
1534
  msgid "Edit"
1535
  msgstr "Edit"
1536
 
1537
+ #: plugin/Controllers/AdminController.php:85
1538
  msgctxt "admin-text"
1539
  msgid "%s Review"
1540
  msgid_plural "%s Reviews"
1541
  msgstr[0] "%s Review"
1542
  msgstr[1] "%s Reviews"
1543
 
1544
+ #: plugin/Controllers/AdminController.php:165, plugin/Controllers/MainController.php:149
1545
  msgctxt "admin-text"
1546
  msgid "Recent Reviews"
1547
  msgstr "Recent Reviews"
1548
 
1549
+ #: plugin/Controllers/AdminController.php:166, plugin/Controllers/MainController.php:153
1550
  msgctxt "admin-text"
1551
  msgid "Submit a Review"
1552
  msgstr "Submit a Review"
1553
 
1554
+ #: plugin/Controllers/AdminController.php:167, plugin/Controllers/MainController.php:157
1555
  msgctxt "admin-text"
1556
  msgid "Summary of Reviews"
1557
  msgstr "Summary of Reviews"
1558
 
1559
+ #: plugin/Controllers/AdminController.php:202, plugin/Controllers/AdminController.php:222, plugin/Controllers/AdminController.php:235
1560
  msgctxt "admin-text"
1561
  msgid "Nothing found."
1562
  msgstr "Nothing found."
1586
  msgid "Unapprove"
1587
  msgstr "Unapprove"
1588
 
1589
+ #: plugin/Controllers/MainController.php:105
1590
+ msgctxt "admin-text"
1591
+ msgid "Local Review"
1592
+ msgstr "Local Review"
1593
+
1594
+ #: plugin/Controllers/MainController.php:148
1595
  msgctxt "admin-text"
1596
  msgid "Site Reviews: Display your recent reviews."
1597
  msgstr "Site Reviews: Display your recent reviews."
1598
 
1599
+ #: plugin/Controllers/MainController.php:152
1600
  msgctxt "admin-text"
1601
  msgid "Site Reviews: Display a form to submit reviews."
1602
  msgstr "Site Reviews: Display a form to submit reviews."
1603
 
1604
+ #: plugin/Controllers/MainController.php:156
1605
  msgctxt "admin-text"
1606
  msgid "Site Reviews: Display a summary of your reviews."
1607
  msgstr "Site Reviews: Display a summary of your reviews."
1806
 
1807
  #: plugin/Controllers/ToolsController.php:157
1808
  msgctxt "admin-text"
1809
+ msgid "The plugin has been migrated sucessfully, please reload the page."
1810
+ msgstr "The plugin has been migrated sucessfully, please reload the page."
1811
 
1812
  #: plugin/Controllers/ToolsController.php:154
1813
  msgctxt "admin-text"
1814
+ msgid "All plugin migrations have been run successfully, please reload the page."
1815
+ msgstr "All plugin migrations have been run successfully, please reload the page."
1816
 
1817
  #: plugin/Controllers/ToolsController.php:180
1818
  msgctxt "admin-text"
1819
  msgid "The assigned meta values have been reset."
1820
  msgstr "The assigned meta values have been reset."
1821
 
1822
+ #: plugin/Controllers/ToolsController.php:206
1823
  msgctxt "admin-text"
1824
  msgid "The permissions have been reset."
1825
  msgstr "The permissions have been reset."
1826
 
1827
+ #: plugin/Controllers/ToolsController.php:217
1828
  msgctxt "admin-text"
1829
  msgid "reload the page"
1830
  msgstr "reload the page"
1831
 
1832
+ #: plugin/Controllers/ToolsController.php:221
1833
  msgctxt "admin-text"
1834
  msgid "The permissions have been reset, please %s for them to take effect."
1835
  msgstr "The permissions have been reset, please %s for them to take effect."
1984
  msgid "The link to edit/view a review"
1985
  msgstr "The link to edit/view a review"
1986
 
1987
+ #: plugin/Defaults/TemplateTagsDefaults.php:22
1988
+ msgctxt "admin-text"
1989
+ msgid "The review's assigned page titles"
1990
+ msgstr "The review's assigned page titles"
1991
+
1992
+ #: plugin/Defaults/TemplateTagsDefaults.php:23
1993
+ msgctxt "admin-text"
1994
+ msgid "The review's assigned user display names"
1995
+ msgstr "The review's assigned user display names"
1996
+
1997
+ #: plugin/Defaults/TemplateTagsDefaults.php:24
1998
+ msgctxt "admin-text"
1999
+ msgid "The review's assigned categories"
2000
+ msgstr "The review's assigned categories"
2001
+
2002
  #: plugin/Defaults/UpdatedMessageDefaults.php:15
2003
  msgctxt "admin-text"
2004
  msgid "Review has been approved and published."
2479
  msgid "All types"
2480
  msgstr "All types"
2481
 
 
 
 
 
 
2482
  #: views/pages/addons/index.php:6
2483
  msgctxt "admin-text"
2484
  msgid ""
2648
  msgid "Reset Meta Values"
2649
  msgstr "Reset Meta Values"
2650
 
2651
+ #: views/pages/tools/general.php:108
2652
+ msgctxt "admin-text"
2653
+ msgid "Hard Reset Permissions"
2654
+ msgstr "Hard Reset Permissions"
2655
+
2656
+ #: views/pages/tools/general.php:108
2657
  msgctxt "admin-text"
2658
  msgid "Resetting, please wait..."
2659
  msgstr "Resetting, please wait..."
2660
 
2661
+ #: views/pages/tools/general.php:108
2662
  msgctxt "admin-text"
2663
  msgid "Reset Permissions"
2664
  msgstr "Reset Permissions"
2665
 
2666
+ #: views/pages/tools/general.php:125
2667
  msgctxt "admin-text"
2668
  msgid "Testing, please wait..."
2669
  msgstr "Testing, please wait..."
2670
 
2671
+ #: views/pages/tools/general.php:125
2672
  msgctxt "admin-text"
2673
  msgid "Test Detection"
2674
  msgstr "Test Detection"
2825
  #: views/partials/notices/addons.php:23
2826
  msgctxt "admin-text"
2827
  msgid ""
2828
+ "Allow people to add captioned images to their reviews; provide sorting, "
2829
+ "filtering, and search functionality; and integrate with the Trustalyze "
2830
+ "platform."
2831
  msgstr ""
2832
+ "Allow people to add captioned images to their reviews; provide sorting, "
2833
+ "filtering, and search functionality; and integrate with the Trustalyze "
2834
+ "platform."
2835
 
2836
  #: views/partials/notices/addons.php:26
2837
  msgctxt "admin-text"
2964
  msgid "View %s"
2965
  msgstr "View %s"
2966
 
2967
+ #: plugin/Modules/Notification.php:174
2968
  msgctxt ""
2969
  "This string differs depending on whether or not the review has been "
2970
  "assigned to a post."
languages/site-reviews.pot CHANGED
@@ -443,516 +443,541 @@ msgctxt "admin-text"
443
  msgid "Initial with a period and a space"
444
  msgstr ""
445
 
446
- #: config/settings.php:177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
447
  msgctxt "admin-text"
448
  msgid "Display a link to the assigned posts of a review."
449
  msgstr ""
450
 
451
- #: config/settings.php:178
452
  msgctxt "admin-text"
453
  msgid "Enable Assigned Links"
454
  msgstr ""
455
 
456
- #: config/settings.php:183
457
  msgctxt "admin-text"
458
  msgid "Display reviewer avatars. These are generated from the email address of the reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
459
  msgstr ""
460
 
461
- #: config/settings.php:184
462
  msgctxt "admin-text"
463
  msgid "Enable Avatars"
464
  msgstr ""
465
 
466
- #: config/settings.php:192
467
  msgctxt "admin-text"
468
  msgid "Regenerate the avatar whenever a local review is shown?"
469
  msgstr ""
470
 
471
- #: config/settings.php:193
472
  msgctxt "admin-text"
473
  msgid "Regenerate Avatars"
474
  msgstr ""
475
 
476
- #: config/settings.php:201
477
  msgctxt "admin-text"
478
  msgid "Set the avatar size in pixels."
479
  msgstr ""
480
 
481
- #: config/settings.php:202
482
  msgctxt "admin-text"
483
  msgid "Avatar Size"
484
  msgstr ""
485
 
486
- #: config/settings.php:207
487
  msgctxt "admin-text"
488
  msgid "Display an excerpt instead of the full review."
489
  msgstr ""
490
 
491
- #: config/settings.php:208
492
  msgctxt "admin-text"
493
  msgid "Enable Excerpts"
494
  msgstr ""
495
 
496
- #: config/settings.php:216
497
  msgctxt "admin-text"
498
  msgid "Set the excerpt word length."
499
  msgstr ""
500
 
501
- #: config/settings.php:217
502
  msgctxt "admin-text"
503
  msgid "Excerpt Length"
504
  msgstr ""
505
 
506
- #: config/settings.php:222
507
  msgctxt "admin-text"
508
  msgid "Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the \"fallback\" option on the shortcode. The default fallback text is: %s"
509
  msgstr ""
510
 
511
- #: config/settings.php:223, plugin/Controllers/MenuController.php:118
512
  msgctxt "admin-text"
513
  msgid "Translations"
514
  msgstr ""
515
 
516
- #: config/settings.php:224, plugin/Modules/Html/ReviewsHtml.php:127
517
  msgid "There are no reviews yet. Be the first one to write one."
518
  msgstr ""
519
 
520
- #: config/settings.php:226
521
  msgctxt "admin-text"
522
  msgid "Enable Fallback Text"
523
  msgstr ""
524
 
525
- #: config/settings.php:232
526
  msgctxt "admin-text"
527
  msgid "Paginated URLs include the %s URL parameter. If you would like to keep the pagination links but prevent search engines from indexing them, add the following lines to your %s file instead: %s"
528
  msgstr ""
529
 
530
- #: config/settings.php:239
531
  msgctxt "admin-text"
532
  msgid "Enable Paginated URLs"
533
  msgstr ""
534
 
535
- #: config/settings.php:244, config/settings.php:264, config/settings.php:282, config/settings.php:300, config/settings.php:318, config/settings.php:339, config/settings.php:349, config/settings.php:359, config/settings.php:369, config/settings.php:383, config/settings.php:394, config/settings.php:405, config/settings.php:415
536
  msgctxt "admin-text"
537
  msgid "Custom Field name"
538
  msgstr ""
539
 
540
- #: config/settings.php:245
541
  msgctxt "admin-text"
542
  msgid "Default Schema Type"
543
  msgstr ""
544
 
545
- #: config/settings.php:247
546
  msgctxt "admin-text"
547
  msgid "Local Business"
548
  msgstr ""
549
 
550
- #: config/settings.php:248
551
  msgctxt "admin-text"
552
  msgid "Product"
553
  msgstr ""
554
 
555
- #: config/settings.php:249
556
  msgctxt "admin-text"
557
  msgid "Custom"
558
  msgstr ""
559
 
560
- #: config/settings.php:258
561
  msgctxt "admin-text"
562
  msgid "View more information on schema types here"
563
  msgstr ""
564
 
565
- #: config/settings.php:259
566
  msgctxt "admin-text"
567
  msgid "Custom Schema Type"
568
  msgstr ""
569
 
570
- #: config/settings.php:265
571
  msgctxt "admin-text"
572
  msgid "Default Name"
573
  msgstr ""
574
 
575
- #: config/settings.php:267
576
  msgctxt "admin-text"
577
  msgid "Use the assigned or current page title"
578
  msgstr ""
579
 
580
- #: config/settings.php:268
581
  msgctxt "admin-text"
582
  msgid "Enter a custom title"
583
  msgstr ""
584
 
585
- #: config/settings.php:277
586
  msgctxt "admin-text"
587
  msgid "Custom Name"
588
  msgstr ""
589
 
590
- #: config/settings.php:283
591
  msgctxt "admin-text"
592
  msgid "Default Description"
593
  msgstr ""
594
 
595
- #: config/settings.php:285
596
  msgctxt "admin-text"
597
  msgid "Use the assigned or current page excerpt"
598
  msgstr ""
599
 
600
- #: config/settings.php:286
601
  msgctxt "admin-text"
602
  msgid "Enter a custom description"
603
  msgstr ""
604
 
605
- #: config/settings.php:295
606
  msgctxt "admin-text"
607
  msgid "Custom Description"
608
  msgstr ""
609
 
610
- #: config/settings.php:301
611
  msgctxt "admin-text"
612
  msgid "Default URL"
613
  msgstr ""
614
 
615
- #: config/settings.php:303
616
  msgctxt "admin-text"
617
  msgid "Use the assigned or current page URL"
618
  msgstr ""
619
 
620
- #: config/settings.php:304
621
  msgctxt "admin-text"
622
  msgid "Enter a custom URL"
623
  msgstr ""
624
 
625
- #: config/settings.php:313
626
  msgctxt "admin-text"
627
  msgid "Custom URL"
628
  msgstr ""
629
 
630
- #: config/settings.php:319
631
  msgctxt "admin-text"
632
  msgid "Default Image"
633
  msgstr ""
634
 
635
- #: config/settings.php:321
636
  msgctxt "admin-text"
637
  msgid "Use the featured image of the assigned or current page"
638
  msgstr ""
639
 
640
- #: config/settings.php:322
641
  msgctxt "admin-text"
642
  msgid "Enter a custom image URL"
643
  msgstr ""
644
 
645
- #: config/settings.php:331
646
  msgctxt "admin-text"
647
  msgid "Custom Image URL"
648
  msgstr ""
649
 
650
- #: config/settings.php:340
651
  msgctxt "admin-text"
652
  msgid "Address"
653
  msgstr ""
654
 
655
- #: config/settings.php:341
656
  msgctxt "admin-text"
657
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
658
  msgstr ""
659
 
660
- #: config/settings.php:350
661
  msgctxt "admin-text"
662
  msgid "Telephone Number"
663
  msgstr ""
664
 
665
- #: config/settings.php:351
666
  msgctxt "admin-text"
667
  msgid "+1 (877) 273-3049"
668
  msgstr ""
669
 
670
- #: config/settings.php:360
671
  msgctxt "admin-text"
672
  msgid "Price Range"
673
  msgstr ""
674
 
675
- #: config/settings.php:361
676
  msgctxt "admin-text"
677
  msgid "$$-$$$"
678
  msgstr ""
679
 
680
- #: config/settings.php:370
681
  msgctxt "admin-text"
682
  msgid "Offer Type"
683
  msgstr ""
684
 
685
- #: config/settings.php:372
686
  msgctxt "admin-text"
687
  msgid "AggregateOffer"
688
  msgstr ""
689
 
690
- #: config/settings.php:373
691
  msgctxt "admin-text"
692
  msgid "Offer"
693
  msgstr ""
694
 
695
- #: config/settings.php:384
696
  msgctxt "admin-text"
697
  msgid "Price"
698
  msgstr ""
699
 
700
- #: config/settings.php:395
701
  msgctxt "admin-text"
702
  msgid "Low Price"
703
  msgstr ""
704
 
705
- #: config/settings.php:406
706
  msgctxt "admin-text"
707
  msgid "High Price"
708
  msgstr ""
709
 
710
- #: config/settings.php:416
711
  msgctxt "admin-text"
712
  msgid "Price Currency"
713
  msgstr ""
714
 
715
- #: config/settings.php:417
716
  msgctxt "admin-text"
717
  msgid "USD"
718
  msgstr ""
719
 
720
- #: config/settings.php:422
721
  msgctxt "admin-text"
722
  msgid "Choose which fields should be required in the review form."
723
  msgstr ""
724
 
725
- #: config/settings.php:423
726
  msgctxt "admin-text"
727
  msgid "Required Fields"
728
  msgstr ""
729
 
730
- #: config/settings.php:425, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
731
  msgctxt "admin-text"
732
  msgid "Rating"
733
  msgstr ""
734
 
735
- #: config/settings.php:426, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
736
  msgctxt "admin-text"
737
  msgid "Title"
738
  msgstr ""
739
 
740
- #: config/settings.php:427, plugin/Defaults/PostTypeLabelDefaults.php:15
741
  msgctxt "admin-text"
742
  msgid "Review"
743
  msgstr ""
744
 
745
- #: config/settings.php:428, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:128, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
746
  msgctxt "admin-text"
747
  msgid "Name"
748
  msgstr ""
749
 
750
- #: config/settings.php:429, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:129, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
751
  msgctxt "admin-text"
752
  msgid "Email"
753
  msgstr ""
754
 
755
- #: config/settings.php:430
756
  msgctxt "admin-text"
757
  msgid "Terms"
758
  msgstr ""
759
 
760
- #: config/settings.php:436
761
  msgctxt "admin-text"
762
- msgid "Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category."
763
  msgstr ""
764
 
765
- #: config/settings.php:437
766
  msgctxt "admin-text"
767
  msgid "Limit Reviews"
768
  msgstr ""
769
 
770
- #: config/settings.php:439
771
  msgctxt "admin-text"
772
  msgid "No Limit"
773
  msgstr ""
774
 
775
- #: config/settings.php:440
776
  msgctxt "admin-text"
777
  msgid "By Email Address"
778
  msgstr ""
779
 
780
- #: config/settings.php:441
781
  msgctxt "admin-text"
782
  msgid "By IP Address"
783
  msgstr ""
784
 
785
- #: config/settings.php:442
786
  msgctxt "admin-text"
787
  msgid "By Username (will only work for registered users)"
788
  msgstr ""
789
 
790
- #: config/settings.php:451
791
  msgctxt "admin-text"
792
  msgid "One Email per line. All emails in the whitelist will be excluded from the review submission limit."
793
  msgstr ""
794
 
795
- #: config/settings.php:452
796
  msgctxt "admin-text"
797
  msgid "Email Whitelist"
798
  msgstr ""
799
 
800
- #: config/settings.php:461
801
  msgctxt "admin-text"
802
  msgid "One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit.."
803
  msgstr ""
804
 
805
- #: config/settings.php:462
806
  msgctxt "admin-text"
807
  msgid "IP Address Whitelist"
808
  msgstr ""
809
 
810
- #: config/settings.php:471
811
  msgctxt "admin-text"
812
  msgid "One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit."
813
  msgstr ""
814
 
815
- #: config/settings.php:472
816
  msgctxt "admin-text"
817
  msgid "Username Whitelist"
818
  msgstr ""
819
 
820
- #: config/settings.php:478
821
  msgctxt "admin-text"
822
  msgid "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service from Google. To use it, you will need to <a href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign up</a> for an API key pair for your site."
823
  msgstr ""
824
 
825
- #: config/settings.php:479
826
  msgctxt "admin-text"
827
  msgid "Invisible reCAPTCHA"
828
  msgstr ""
829
 
830
- #: config/settings.php:481
831
  msgctxt "admin-text"
832
  msgid "Do not use reCAPTCHA"
833
  msgstr ""
834
 
835
- #: config/settings.php:482
836
  msgctxt "admin-text"
837
  msgid "Use reCAPTCHA"
838
  msgstr ""
839
 
840
- #: config/settings.php:483
841
  msgctxt "admin-text"
842
  msgid "Use reCAPTCHA only for guest users"
843
  msgstr ""
844
 
845
- #: config/settings.php:492
846
  msgctxt "admin-text"
847
  msgid "Site Key"
848
  msgstr ""
849
 
850
- #: config/settings.php:500
851
  msgctxt "admin-text"
852
  msgid "Site Secret"
853
  msgstr ""
854
 
855
- #: config/settings.php:508
856
  msgctxt "admin-text"
857
  msgid "This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews."
858
  msgstr ""
859
 
860
- #: config/settings.php:509
861
  msgctxt "admin-text"
862
  msgid "Badge Position"
863
  msgstr ""
864
 
865
- #: config/settings.php:511
866
  msgctxt "admin-text"
867
  msgid "Bottom Left"
868
  msgstr ""
869
 
870
- #: config/settings.php:512
871
  msgctxt "admin-text"
872
  msgid "Bottom Right"
873
  msgstr ""
874
 
875
- #: config/settings.php:513
876
  msgctxt "admin-text"
877
  msgid "Inline"
878
  msgstr ""
879
 
880
- #: config/settings.php:519
881
  msgctxt "admin-text"
882
  msgid "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key."
883
  msgstr ""
884
 
885
- #: config/settings.php:520
886
  msgctxt "admin-text"
887
  msgid "Enable Akismet Integration"
888
  msgstr ""
889
 
890
- #: config/settings.php:525
891
  msgctxt "admin-text"
892
  msgid "Choose which Blacklist you would prefer to use for reviews. The %s option can be found in the WordPress Discussion Settings page."
893
  msgstr ""
894
 
895
- #: config/settings.php:526
896
  msgctxt "admin-text"
897
  msgid "Disallowed Comment Keys"
898
  msgstr ""
899
 
900
- #: config/settings.php:528
901
  msgctxt "admin-text"
902
  msgid "Blacklist"
903
  msgstr ""
904
 
905
- #: config/settings.php:530
906
  msgctxt "admin-text"
907
  msgid "Use the Site Reviews Blacklist"
908
  msgstr ""
909
 
910
- #: config/settings.php:531
911
  msgctxt "admin-text"
912
  msgid "Use the WordPress Disallowed Comment Keys"
913
  msgstr ""
914
 
915
- #: config/settings.php:540
916
  msgctxt "admin-text"
917
  msgid "One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so \"press\" will match \"WordPress\"."
918
  msgstr ""
919
 
920
- #: config/settings.php:541
921
  msgctxt "admin-text"
922
  msgid "Review Blacklist"
923
  msgstr ""
924
 
925
- #: config/settings.php:547
926
  msgctxt "admin-text"
927
  msgid "Choose the action that should be taken when a review is blacklisted."
928
  msgstr ""
929
 
930
- #: config/settings.php:548
931
  msgctxt "admin-text"
932
  msgid "Blacklist Action"
933
  msgstr ""
934
 
935
- #: config/settings.php:550
936
  msgctxt "admin-text"
937
  msgid "Require approval"
938
  msgstr ""
939
 
940
- #: config/settings.php:551
941
  msgctxt "admin-text"
942
  msgid "Reject submission"
943
  msgstr ""
944
 
945
- #: plugin/Application.php:224
946
- msgctxt "admin-text"
947
- msgid "Local Review"
948
- msgstr ""
949
-
950
  #: plugin/Deprecated.php:24
951
  msgctxt "admin-text"
952
  msgid "The [%s] method has been deprecated and will be soon be removed, please use the [%s] method instead."
953
  msgstr ""
954
 
955
- #: plugin/Review.php:264, plugin/Controllers/ListTableColumns/ColumnValueAuthorName.php:20
956
  msgctxt "admin-text"
957
  msgid "Unknown"
958
  msgstr ""
@@ -1066,12 +1091,12 @@ msgstr ""
1066
  msgid "This review is based on my own experience and is my genuine opinion."
1067
  msgstr ""
1068
 
1069
- #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:47, plugin/Controllers/MenuController.php:50, views/pages/tools/sync.php:23
1070
  msgctxt "admin-text"
1071
  msgid "Settings"
1072
  msgstr ""
1073
 
1074
- #: plugin/Addons/Controller.php:76, plugin/Controllers/AdminController.php:53, plugin/Controllers/MenuController.php:53
1075
  msgctxt "admin-text"
1076
  msgid "Help"
1077
  msgstr ""
@@ -1085,11 +1110,11 @@ msgstr ""
1085
  msgid "Show more"
1086
  msgstr ""
1087
 
1088
- #: plugin/Commands/CreateReview.php:155
1089
  msgid "Your review has been submitted!"
1090
  msgstr ""
1091
 
1092
- #: plugin/Commands/CreateReview.php:160
1093
  msgid "Your review could not be submitted and the error has been logged. Please notify the site admin."
1094
  msgstr ""
1095
 
@@ -1142,29 +1167,29 @@ msgctxt "admin-text"
1142
  msgid "Edit"
1143
  msgstr ""
1144
 
1145
- #: plugin/Controllers/AdminController.php:84
1146
  msgctxt "admin-text"
1147
  msgid "%s Review"
1148
  msgid_plural "%s Reviews"
1149
  msgstr[0] ""
1150
  msgstr[1] ""
1151
 
1152
- #: plugin/Controllers/AdminController.php:148, plugin/Controllers/MainController.php:70
1153
  msgctxt "admin-text"
1154
  msgid "Recent Reviews"
1155
  msgstr ""
1156
 
1157
- #: plugin/Controllers/AdminController.php:149, plugin/Controllers/MainController.php:74
1158
  msgctxt "admin-text"
1159
  msgid "Submit a Review"
1160
  msgstr ""
1161
 
1162
- #: plugin/Controllers/AdminController.php:150, plugin/Controllers/MainController.php:78
1163
  msgctxt "admin-text"
1164
  msgid "Summary of Reviews"
1165
  msgstr ""
1166
 
1167
- #: plugin/Controllers/AdminController.php:185, plugin/Controllers/AdminController.php:205, plugin/Controllers/AdminController.php:218
1168
  msgctxt "admin-text"
1169
  msgid "Nothing found."
1170
  msgstr ""
@@ -1199,17 +1224,22 @@ msgctxt "Approve the review (admin-text)"
1199
  msgid "%s this review"
1200
  msgstr ""
1201
 
1202
- #: plugin/Controllers/MainController.php:69
 
 
 
 
 
1203
  msgctxt "admin-text"
1204
  msgid "Site Reviews: Display your recent reviews."
1205
  msgstr ""
1206
 
1207
- #: plugin/Controllers/MainController.php:73
1208
  msgctxt "admin-text"
1209
  msgid "Site Reviews: Display a form to submit reviews."
1210
  msgstr ""
1211
 
1212
- #: plugin/Controllers/MainController.php:77
1213
  msgctxt "admin-text"
1214
  msgid "Site Reviews: Display a summary of your reviews."
1215
  msgstr ""
@@ -1406,12 +1436,12 @@ msgstr ""
1406
 
1407
  #: plugin/Controllers/ToolsController.php:157
1408
  msgctxt "admin-text"
1409
- msgid "The plugin has been migrated sucessfully."
1410
  msgstr ""
1411
 
1412
  #: plugin/Controllers/ToolsController.php:154
1413
  msgctxt "admin-text"
1414
- msgid "All plugin migrations have been run successfully."
1415
  msgstr ""
1416
 
1417
  #: plugin/Controllers/ToolsController.php:180
@@ -1419,17 +1449,17 @@ msgctxt "admin-text"
1419
  msgid "The assigned meta values have been reset."
1420
  msgstr ""
1421
 
1422
- #: plugin/Controllers/ToolsController.php:202
1423
  msgctxt "admin-text"
1424
  msgid "The permissions have been reset."
1425
  msgstr ""
1426
 
1427
- #: plugin/Controllers/ToolsController.php:213
1428
  msgctxt "admin-text"
1429
  msgid "reload the page"
1430
  msgstr ""
1431
 
1432
- #: plugin/Controllers/ToolsController.php:217
1433
  msgctxt "admin-text"
1434
  msgid "The permissions have been reset, please %s for them to take effect."
1435
  msgstr ""
@@ -1660,6 +1690,21 @@ msgctxt "admin-text"
1660
  msgid "The link to edit/view a review"
1661
  msgstr ""
1662
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1663
  #: plugin/Defaults/UpdatedMessageDefaults.php:15
1664
  msgctxt "admin-text"
1665
  msgid "Review has been approved and published."
@@ -1736,7 +1781,7 @@ msgstr ""
1736
  msgid "This field requires a valid e-mail address."
1737
  msgstr ""
1738
 
1739
- #: plugin/Defaults/ValidationStringsDefaults.php:19, plugin/Modules/Validator/DefaultValidator.php:52
1740
  msgid "Please fix the submission errors."
1741
  msgstr ""
1742
 
@@ -1824,11 +1869,11 @@ msgid_plural "%s years ago"
1824
  msgstr[0] ""
1825
  msgstr[1] ""
1826
 
1827
- #: plugin/Modules/Notification.php:71
1828
  msgid "Anonymous"
1829
  msgstr ""
1830
 
1831
- #: plugin/Modules/Notification.php:141
1832
  msgctxt "This string differs depending on whether or not the review has been assigned to a post."
1833
  msgid "New %s-star review"
1834
  msgid_plural "New %s-star review of %s"
@@ -2242,11 +2287,6 @@ msgctxt "admin-text"
2242
  msgid "All types"
2243
  msgstr ""
2244
 
2245
- #: plugin/Controllers/ListTableColumns/ColumnValueType.php:17
2246
- msgctxt "admin-text"
2247
- msgid "Unsupported Type"
2248
- msgstr ""
2249
-
2250
  #: plugin/Modules/Validator/AkismetValidator.php:49
2251
  msgid "This review has been flagged as possible spam and cannot be submitted."
2252
  msgstr ""
@@ -2271,7 +2311,7 @@ msgstr ""
2271
  msgid "The reCAPTCHA verification failed, please try again."
2272
  msgstr ""
2273
 
2274
- #: plugin/Modules/Validator/ReviewLimitsValidator.php:43
2275
  msgid "You have already submitted a review."
2276
  msgstr ""
2277
 
@@ -2410,22 +2450,27 @@ msgctxt "admin-text"
2410
  msgid "Reset Meta Values"
2411
  msgstr ""
2412
 
2413
- #: views/pages/tools/general.php:104
 
 
 
 
 
2414
  msgctxt "admin-text"
2415
  msgid "Resetting, please wait..."
2416
  msgstr ""
2417
 
2418
- #: views/pages/tools/general.php:104
2419
  msgctxt "admin-text"
2420
  msgid "Reset Permissions"
2421
  msgstr ""
2422
 
2423
- #: views/pages/tools/general.php:121
2424
  msgctxt "admin-text"
2425
  msgid "Testing, please wait..."
2426
  msgstr ""
2427
 
2428
- #: views/pages/tools/general.php:121
2429
  msgctxt "admin-text"
2430
  msgid "Test Detection"
2431
  msgstr ""
@@ -2577,7 +2622,7 @@ msgstr ""
2577
 
2578
  #: views/partials/notices/addons.php:23
2579
  msgctxt "admin-text"
2580
- msgid "Allow people to submit captioned images with their review, and sort, filter, and search reviews."
2581
  msgstr ""
2582
 
2583
  #: views/partials/notices/addons.php:26
443
  msgid "Initial with a period and a space"
444
  msgstr ""
445
 
446
+ #: config/settings.php:178
447
+ msgctxt "admin-text"
448
+ msgid "This setting determines how the assigned options work in the reviews and summary shortcodes and blocks."
449
+ msgstr ""
450
+
451
+ #: config/settings.php:179
452
+ msgctxt "admin-text"
453
+ msgid "\"Loose Assignment\" means <code>display reviews that are assigned to this OR this</code>."
454
+ msgstr ""
455
+
456
+ #: config/settings.php:180
457
+ msgctxt "admin-text"
458
+ msgid "\"Strict Assignment\" means <code>display reviews that are assigned to this AND this</code>."
459
+ msgstr ""
460
+
461
+ #: config/settings.php:182
462
+ msgctxt "admin-text"
463
+ msgid "Review Assignment"
464
+ msgstr ""
465
+
466
+ #: config/settings.php:184
467
+ msgctxt "admin-text"
468
+ msgid "Loose Assignment"
469
+ msgstr ""
470
+
471
+ #: config/settings.php:185
472
+ msgctxt "admin-text"
473
+ msgid "Strict Assignment"
474
+ msgstr ""
475
+
476
+ #: config/settings.php:191
477
  msgctxt "admin-text"
478
  msgid "Display a link to the assigned posts of a review."
479
  msgstr ""
480
 
481
+ #: config/settings.php:192
482
  msgctxt "admin-text"
483
  msgid "Enable Assigned Links"
484
  msgstr ""
485
 
486
+ #: config/settings.php:197
487
  msgctxt "admin-text"
488
  msgid "Display reviewer avatars. These are generated from the email address of the reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
489
  msgstr ""
490
 
491
+ #: config/settings.php:198
492
  msgctxt "admin-text"
493
  msgid "Enable Avatars"
494
  msgstr ""
495
 
496
+ #: config/settings.php:206
497
  msgctxt "admin-text"
498
  msgid "Regenerate the avatar whenever a local review is shown?"
499
  msgstr ""
500
 
501
+ #: config/settings.php:207
502
  msgctxt "admin-text"
503
  msgid "Regenerate Avatars"
504
  msgstr ""
505
 
506
+ #: config/settings.php:215
507
  msgctxt "admin-text"
508
  msgid "Set the avatar size in pixels."
509
  msgstr ""
510
 
511
+ #: config/settings.php:216
512
  msgctxt "admin-text"
513
  msgid "Avatar Size"
514
  msgstr ""
515
 
516
+ #: config/settings.php:221
517
  msgctxt "admin-text"
518
  msgid "Display an excerpt instead of the full review."
519
  msgstr ""
520
 
521
+ #: config/settings.php:222
522
  msgctxt "admin-text"
523
  msgid "Enable Excerpts"
524
  msgstr ""
525
 
526
+ #: config/settings.php:230
527
  msgctxt "admin-text"
528
  msgid "Set the excerpt word length."
529
  msgstr ""
530
 
531
+ #: config/settings.php:231
532
  msgctxt "admin-text"
533
  msgid "Excerpt Length"
534
  msgstr ""
535
 
536
+ #: config/settings.php:236
537
  msgctxt "admin-text"
538
  msgid "Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the \"fallback\" option on the shortcode. The default fallback text is: %s"
539
  msgstr ""
540
 
541
+ #: config/settings.php:237, plugin/Controllers/MenuController.php:118
542
  msgctxt "admin-text"
543
  msgid "Translations"
544
  msgstr ""
545
 
546
+ #: config/settings.php:238, plugin/Modules/Html/ReviewsHtml.php:126
547
  msgid "There are no reviews yet. Be the first one to write one."
548
  msgstr ""
549
 
550
+ #: config/settings.php:240
551
  msgctxt "admin-text"
552
  msgid "Enable Fallback Text"
553
  msgstr ""
554
 
555
+ #: config/settings.php:246
556
  msgctxt "admin-text"
557
  msgid "Paginated URLs include the %s URL parameter. If you would like to keep the pagination links but prevent search engines from indexing them, add the following lines to your %s file instead: %s"
558
  msgstr ""
559
 
560
+ #: config/settings.php:253
561
  msgctxt "admin-text"
562
  msgid "Enable Paginated URLs"
563
  msgstr ""
564
 
565
+ #: config/settings.php:258, config/settings.php:278, config/settings.php:296, config/settings.php:314, config/settings.php:332, config/settings.php:353, config/settings.php:363, config/settings.php:373, config/settings.php:383, config/settings.php:397, config/settings.php:408, config/settings.php:419, config/settings.php:429
566
  msgctxt "admin-text"
567
  msgid "Custom Field name"
568
  msgstr ""
569
 
570
+ #: config/settings.php:259
571
  msgctxt "admin-text"
572
  msgid "Default Schema Type"
573
  msgstr ""
574
 
575
+ #: config/settings.php:261
576
  msgctxt "admin-text"
577
  msgid "Local Business"
578
  msgstr ""
579
 
580
+ #: config/settings.php:262
581
  msgctxt "admin-text"
582
  msgid "Product"
583
  msgstr ""
584
 
585
+ #: config/settings.php:263
586
  msgctxt "admin-text"
587
  msgid "Custom"
588
  msgstr ""
589
 
590
+ #: config/settings.php:272
591
  msgctxt "admin-text"
592
  msgid "View more information on schema types here"
593
  msgstr ""
594
 
595
+ #: config/settings.php:273
596
  msgctxt "admin-text"
597
  msgid "Custom Schema Type"
598
  msgstr ""
599
 
600
+ #: config/settings.php:279
601
  msgctxt "admin-text"
602
  msgid "Default Name"
603
  msgstr ""
604
 
605
+ #: config/settings.php:281
606
  msgctxt "admin-text"
607
  msgid "Use the assigned or current page title"
608
  msgstr ""
609
 
610
+ #: config/settings.php:282
611
  msgctxt "admin-text"
612
  msgid "Enter a custom title"
613
  msgstr ""
614
 
615
+ #: config/settings.php:291
616
  msgctxt "admin-text"
617
  msgid "Custom Name"
618
  msgstr ""
619
 
620
+ #: config/settings.php:297
621
  msgctxt "admin-text"
622
  msgid "Default Description"
623
  msgstr ""
624
 
625
+ #: config/settings.php:299
626
  msgctxt "admin-text"
627
  msgid "Use the assigned or current page excerpt"
628
  msgstr ""
629
 
630
+ #: config/settings.php:300
631
  msgctxt "admin-text"
632
  msgid "Enter a custom description"
633
  msgstr ""
634
 
635
+ #: config/settings.php:309