Orbit Fox by ThemeIsle - Version 2.10.13

Version Description

Download this release

Release Info

Developer themeisle
Plugin Icon 128x128 Orbit Fox by ThemeIsle
Version 2.10.13
Comparing to
See all releases

Code changes from version 2.10.12 to 2.10.13

Files changed (33) hide show
  1. CHANGELOG.md +5 -0
  2. core/includes/class-orbit-fox.php +1 -1
  3. dashboard/build/dashboard.asset.php +1 -1
  4. dashboard/build/dashboard.js +1 -1
  5. dashboard/src/components/ModuleSettings.js +1 -1
  6. languages/themeisle-companion.pot +29 -29
  7. obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-clients-bar-section.php +3 -1
  8. obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php +33 -8
  9. obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php +5 -0
  10. obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php +5 -0
  11. readme.md +8 -0
  12. readme.txt +8 -0
  13. themeisle-companion.php +1 -1
  14. vendor/autoload.php +1 -1
  15. vendor/clue/stream-filter/CHANGELOG.md +11 -0
  16. vendor/clue/stream-filter/README.md +37 -34
  17. vendor/clue/stream-filter/src/CallbackFilter.php +6 -0
  18. vendor/clue/stream-filter/src/functions.php +14 -14
  19. vendor/codeinwp/themeisle-sdk/CHANGELOG.md +8 -0
  20. vendor/codeinwp/themeisle-sdk/load.php +1 -1
  21. vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php +4 -0
  22. vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php +17 -1
  23. vendor/codeinwp/themeisle-sdk/src/Product.php +9 -0
  24. vendor/composer/InstalledVersions.php +7 -7
  25. vendor/composer/autoload_classmap.php +1 -0
  26. vendor/composer/autoload_real.php +7 -7
  27. vendor/composer/autoload_static.php +5 -4
  28. vendor/composer/installed.json +22 -22
  29. vendor/composer/installed.php +31 -31
  30. vendor/guzzlehttp/psr7/CHANGELOG.md +20 -2
  31. vendor/guzzlehttp/psr7/README.md +22 -2
  32. vendor/guzzlehttp/psr7/src/MessageTrait.php +61 -5
  33. vendor/guzzlehttp/psr7/src/UriComparator.php +55 -0
CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  ##### [Version 2.10.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.11...v2.10.12) (2022-05-27)
2
 
3
  - [Fix] Accessibility issue on social links.
1
+ ##### [Version 2.10.13](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.12...v2.10.13) (2022-07-01)
2
+
3
+ - [Fix] Add the "srcset" property for Hestia's free sections
4
+ - [Fix] Missing desktop position option from the social sharing module
5
+
6
  ##### [Version 2.10.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.11...v2.10.12) (2022-05-27)
7
 
8
  - [Fix] Accessibility issue on social links.
core/includes/class-orbit-fox.php CHANGED
@@ -69,7 +69,7 @@ class Orbit_Fox {
69
 
70
  $this->plugin_name = 'orbit-fox';
71
 
72
- $this->version = '2.10.12';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
69
 
70
  $this->plugin_name = 'orbit-fox';
71
 
72
+ $this->version = '2.10.13';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
dashboard/build/dashboard.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'e303a8ec088d6705788c6965ab8901af');
1
+ <?php return array('dependencies' => array('lodash', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '408703dfb3200fde2b47582f202fd193');
dashboard/build/dashboard.js CHANGED
@@ -1 +1 @@
1
- (window.webpackJsonp_themeisle_companion=window.webpackJsonp_themeisle_companion||[]).push([[1],{6:function(e,t,n){}}]),function(e){function t(t){for(var a,o,l=t[0],r=t[1],i=t[2],m=0,d=[];m<l.length;m++)o=l[m],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&d.push(c[o][0]),c[o]=0;for(a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);for(u&&u(t);d.length;)d.shift()();return s.push.apply(s,i||[]),n()}function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],a=!0,l=1;l<n.length;l++){var r=n[l];0!==c[r]&&(a=!1)}a&&(s.splice(t--,1),e=o(o.s=n[0]))}return e}var a={},c={0:0},s=[];function o(t){if(a[t])return a[t].exports;var n=a[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=a,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)o.d(n,a,function(t){return e[t]}.bind(null,a));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="";var l=window.webpackJsonp_themeisle_companion=window.webpackJsonp_themeisle_companion||[],r=l.push.bind(l);l.push=t,l=l.slice();for(var i=0;i<l.length;i++)t(l[i]);var u=r;s.push([7,1]),n()}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.wp.i18n},function(e,t){e.exports=window.wp.components},function(e,t,n){var a;!function(){"use strict";var n={}.hasOwnProperty;function c(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var s=typeof a;if("string"===s||"number"===s)e.push(a);else if(Array.isArray(a)){if(a.length){var o=c.apply(null,a);o&&e.push(o)}}else if("object"===s)if(a.toString===Object.prototype.toString)for(var l in a)n.call(a,l)&&a[l]&&e.push(l);else e.push(a.toString())}}return e.join(" ")}e.exports?(c.default=c,e.exports=c):void 0===(a=function(){return c}.apply(t,[]))||(e.exports=a)}()},function(e,t,n){"use strict";var a=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==a)return a;throw new Error("unable to locate global object")}();e.exports=t=a.fetch,a.fetch&&(t.default=a.fetch.bind(a)),t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response},function(e,t){e.exports=window.lodash},,function(e,t,n){"use strict";n.r(t);var a=n(0);n(6);const c=Object(a.createContext)(),s=Object(a.createContext)(),o=Object(a.createContext)();var l=n(4),r=n.n(l);const i=async(e,t=!1,n={},a=!1,c="POST")=>{const s={method:c,headers:{Accept:"application/json","Content-Type":a?"application/x-www-form-urlencoded":"application/json","x-wp-nonce":obfxDash.nonce}};return"POST"===c&&(s.body=a?n:JSON.stringify(n)),await r()(e,s).then(e=>t?e:e.json())};var u=n(3),m=n.n(u),d=n(5),b=n(2),p=n(1);const{options:O,root:j,setSettingsRoute:h}=obfxDash;var f=({slug:e})=>{const{modulesData:t,setModulesData:n}=Object(a.useContext)(c),{setToast:s}=Object(a.useContext)(o),[l,r]=Object(a.useState)(!1),[u,f]=Object(a.useState)(!1),v=t.module_settings[e]||{},[g,E]=Object(a.useState)({...v}),_=Object(a.createElement)(b.Dashicon,{size:18,icon:"update",className:"is-loading"}),y=(e,t)=>{const n=g;n[e]=t,E({...n})};return Object(a.createElement)("div",{className:m()(["module-settings",l?"open":"closed"])},Object(a.createElement)("button",{"aria-expanded":l,className:"accordion-header",onClick:()=>r(!l)},Object(a.createElement)("div",{className:"accordion-title"}," Settings "),Object(a.createElement)(b.Dashicon,{icon:l?"arrow-up-alt2":"arrow-down-alt2"})),l&&Object(a.createElement)("div",{className:m()(["accordion-content",u?"loading":""])},(()=>{const t=[];for(let n=0;n<O[e].length;n++){let c=O[e][n];if(c.title&&c.label&&t.push(Object(a.createElement)("p",{className:"title"}," ",c.title," ")),c.hasOwnProperty("before_wrap")){const o=[],l="1"===g[c.id]||!g[c.id]&&"1"===c.default;for(;o.push(P(c,g,y,s)),!c.hasOwnProperty("after_wrap");)c=O[e][++n];const r=m()(["settings-row",l&&"active"]);t.push(Object(a.createElement)("div",{className:r}," ",o," "))}else if("checkbox"!==c.type)t.push(P(c,g,y,s));else{const o=[];for(;"checkbox"===c.type;)o.push(P(c,g,y,s)),c=O[e][++n];t.push(Object(a.createElement)("div",{className:"checkboxes-row"}," ",o," "))}}return t})(),Object(a.createElement)("div",{className:"buttons-container"},Object(a.createElement)(b.Button,{isSecondary:!0,className:"obfx-button",onClick:()=>r(!1)},Object(p.__)("Close","themeisle-companion")),Object(a.createElement)(b.Button,{isPrimary:!0,disabled:Object(d.isEqual)(g,v),className:"obfx-button",onClick:()=>{f(!0),i(j+h,!1,{slug:e,value:g}).then(a=>{if("success"!==a.type)return E({...v}),f(!1),void s(Object(p.__)("Could not update options. Please try again.","themeisle-companion"));t.module_settings[e]={...g},n({...t}),f(!1),s(Object(p.__)("Options updated successfully.","themeisle-companion"))})}},u?_:Object(p.__)("Save","themeisle-companion")))))};const{root:v,toggleStateRoute:g,options:E}=obfxDash;var _=({slug:e,details:t})=>{const n=t.refresh_after_enabled,s=t.active_default,[l,r]=Object(a.useState)(!1),{modulesData:u,setModulesData:d}=Object(a.useContext)(c),{setToast:O}=Object(a.useContext)(o),j=u.module_status,h=j[e]&&void 0!==j[e].active?j[e].active:s,_=m()("module-card",{active:h});return Object(a.createElement)("div",{className:_},Object(a.createElement)("div",{className:"module-card-header"},Object(a.createElement)("h3",{className:"title"},t.name),Object(a.createElement)("div",{className:"toggle-wrap"},l&&Object(a.createElement)(b.Dashicon,{size:18,icon:"update",className:"is-loading"}),Object(a.createElement)(b.ToggleControl,{checked:h,onChange:a=>{r(!0),i(v+g,!1,{slug:e,value:a}).then(c=>{((a,c)=>{if("success"!==a.type)return r(!1),void O(Object(p.__)("Could not activate module. Please try again.","themeisle-companion"));n&&window.location.reload(),j[e]||(j[e]={}),j[e].active=c,d(u),r(!1),O((c?Object(p.__)("Module activated","themeisle-companion"):Object(p.__)("Module deactivated","themeisle-companion"))+` (${t.name})`)})(c,a)})}}))),Object(a.createElement)("div",{className:"module-card-content"},(e=>{const t=[];if(e.indexOf("neve-pro-notice")>=0)return Object(a.createElement)("p",{className:"description",dangerouslySetInnerHTML:{__html:e}});for(;e.indexOf("<a")>=0;){const n=e.indexOf("<a"),c=e.indexOf("</a>");t.push(e.slice(0,n));const s=e.indexOf('href="')+'href="'.length,o=e.indexOf('"',s),l=e.slice(s,o),r=e.slice(e.indexOf(">",n)+1,c);t.push(Object(a.renderToString)(Object(a.createElement)(b.ExternalLink,{href:l},r))),e=e.slice(c+"</a>".length)}return t.push(e),Object(a.createElement)("p",{className:"description",dangerouslySetInnerHTML:{__html:t.join(" ")}})})(t.description)),h&&E[e].length>0&&Object(a.createElement)(f,{slug:e}))};const{modules:y,data:w}=obfxDash;var x=()=>{const[e,t]=Object(a.useState)(""===w?{module_status:{},module_settings:{}}:{...w});return e.module_settings||t({...e,module_settings:{}}),e.module_status||t({...e,module_status:{}}),Object(a.createElement)(c.Provider,{value:{modulesData:e,setModulesData:t}},Object(a.createElement)("div",{className:"modules-container"},Object.entries(y).map(([e,t])=>Object(a.createElement)(_,{slug:e,details:t,key:e}))))};var N=({slug:e,data:t})=>{const{banner:n,name:c,description:l,version:r,author:u,url:d,premium:O}=t,{pluginsData:j,setPluginsData:h}=Object(a.useContext)(s),{setToast:f}=Object(a.useContext)(o),[v,g]=Object(a.useState)(!1),E=j[e].action,_=t=>{j[e].action=t,h(j)},y=Object(p.__)("Something went wrong. Please try again.","themeisle-companion"),w={install:{static:Object(p.__)("Install","themeisle-companion"),progress:Object(p.__)("Installing","themeisle-companion")},activate:{static:Object(p.__)("Activate","themeisle-companion"),progress:Object(p.__)("Activating","themeisle-companion")},deactivate:{static:Object(p.__)("Deactivate","themeisle-companion"),progress:Object(p.__)("Deactivating","themeisle-companion")},external:Object(p.__)("See more details","themeisle-companion")};return Object(a.createElement)("div",{className:m()(["card","plugin",e])},Object(a.createElement)("div",{className:"card-header"},Object(a.createElement)("img",{src:n,alt:Object(p.__)("Banner Image","name")}),O&&Object(a.createElement)("span",{className:"premium-label"},Object(p.__)("Premium","themeisle-companion"))),Object(a.createElement)("div",{className:"card-body"},Object(a.createElement)("h3",{className:"card-title"},c),Object(a.createElement)("p",{className:"card-description"},l)),Object(a.createElement)("div",{className:"card-footer"},Object(a.createElement)("div",{className:"plugin-data"},r&&Object(a.createElement)("span",{className:"version"},"v",r),u&&Object(a.createElement)("span",{className:"author"},u)),"external"!==E&&Object(a.createElement)(b.Button,{className:"plugin-action",isPrimary:["install","activate"].includes(E),isSecondary:"deactivate"===E,disabled:v,onClick:()=>{var n;g(!0),"install"!==E?(n=t[E],!0,i(n,!0,{},"GET")).then(e=>{if(!e.ok)return g(!1),void f(y);_("activate"===E?"deactivate":"activate"),g(!1)}):(e=>new Promise(t=>{wp.updates.ajax("install-plugin",{slug:e,success:()=>{t({success:!0})},error:()=>{t({success:!1})}})}))(e).then(e=>{if(!e.success)return g(!1),void f(y);_("activate"),g(!1)})}},!v&&w[E].static,v&&Object(a.createElement)("span",{style:{display:"flex",alignItems:"center"}},Object(a.createElement)(b.Dashicon,{icon:"update"}),w[E].progress+"...")),"external"===E&&Object(a.createElement)(b.ExternalLink,{href:d},w[E])))},S=()=>{const{plugins:e}=obfxDash,[t,n]=Object(a.useState)(e);return e?Object(a.createElement)(s.Provider,{value:{pluginsData:t,setPluginsData:n}},Object(a.createElement)("div",{className:"plugins-grid"},Object.keys(e).map(t=>Object(a.createElement)(N,{key:t,slug:t,data:e[t]})))):null};const C={modules:{label:Object(p.__)("Available Modules","themeisle-companion"),render:()=>Object(a.createElement)(x,null)},plugins:{label:Object(p.__)("Recommended Plugins","themeisle-companion"),render:()=>Object(a.createElement)(S,null)}},k=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value},P=(e,t,n,c)=>{const s=void 0!==t[e.id]?t[e.id]:e.default;switch(e.type){case"checkbox":return Object(a.createElement)(b.CheckboxControl,{label:e.label,checked:"1"===s,onChange:t=>n(e.id,t?"1":"0")});case"radio":return Object(a.createElement)(b.RadioControl,{label:e.title,options:e.options.map((e,t)=>({label:e,value:t})),selected:parseInt(s),onChange:t=>n(e.id,t)});case"toggle":return Object(a.createElement)(b.ToggleControl,{label:Object(a.createElement)("div",{dangerouslySetInnerHTML:{__html:e.label}}),checked:"1"===s,onChange:t=>n(e.id,t?"1":"0")});case"select":return Object(a.createElement)("div",{className:"select-wrap"},Object(a.createElement)(b.SelectControl,{label:e.title,value:s,options:Object.entries(e.options).map(([e,t])=>({value:e,label:t})),onChange:t=>n(e.id,t)}));case"text":return Object(a.createElement)(b.TextControl,{label:e.title,value:k(s),onChange:t=>n(e.id,t)});case"link":const t="analytics_accounts_unregister"===e.id;return Object(a.createElement)("div",{className:"select-wrap"},Object(a.createElement)(b.Button,{isPrimary:!t,isDestructive:t,href:e.url?e.url:null,onClick:t&&(()=>{((e,t)=>{var n;(n=e,"deactivate=unregister",i(n,!1,"deactivate=unregister",!0)).then(e=>{!1!==e?window.location.reload():t(Object(p.__)("Could not unregister the site. Please try again.","themeisle-companion"))})})(e.unregisterURL,c)})},Object(a.createElement)("div",{dangerouslySetInnerHTML:{__html:e.text}})))}};var T=({activeTab:e,setActiveTab:t})=>Object(a.createElement)("header",null,Object(a.createElement)("div",{className:"container"},Object(a.createElement)("div",{className:"top"},Object(a.createElement)("img",{src:obfxDash.path+"assets/orbit-fox.png",alt:"logo"}),Object(a.createElement)("h1",null,"Orbit Fox")),Object(a.createElement)("nav",{className:"navigation"},Object.keys(C).map((n,c)=>Object(a.createElement)("li",{key:"tab"+c,className:n===e?"active":""},Object(a.createElement)("a",{href:"#"+n,onClick:()=>t(n)},C[n].label)))))),D=()=>{const{toast:e,setToast:t}=Object(a.useContext)(o);Object(a.useEffect)(()=>{setTimeout(()=>{t(null)},3e3)},[]);const n={opacity:null===e?0:1};return Object(a.createElement)("div",{style:n},Object(a.createElement)(b.Snackbar,{className:"dash-notice"},e))},M=()=>{const e=(()=>{let e=window.location.hash;return"string"!=typeof window.location.hash?null:(e=e.substring(1),Object.keys(C).includes(e)?e:null)})(),[t,n]=Object(a.useState)(e||"modules"),[c,s]=Object(a.useState)();return Object(a.createElement)(o.Provider,{value:{toast:c,setToast:s}},Object(a.createElement)(T,{activeTab:t,setActiveTab:n}),Object(a.createElement)("div",{className:"container"},C[t].render()),c&&Object(a.createElement)(D,null))};Object(a.render)(Object(a.createElement)(()=>Object(a.createElement)(M,null),null),document.getElementById("obfx-dash"))}]);
1
+ (window.webpackJsonp_themeisle_companion=window.webpackJsonp_themeisle_companion||[]).push([[1],{6:function(e,t,n){}}]),function(e){function t(t){for(var a,o,l=t[0],r=t[1],i=t[2],m=0,d=[];m<l.length;m++)o=l[m],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&d.push(c[o][0]),c[o]=0;for(a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);for(u&&u(t);d.length;)d.shift()();return s.push.apply(s,i||[]),n()}function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],a=!0,l=1;l<n.length;l++){var r=n[l];0!==c[r]&&(a=!1)}a&&(s.splice(t--,1),e=o(o.s=n[0]))}return e}var a={},c={0:0},s=[];function o(t){if(a[t])return a[t].exports;var n=a[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=a,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)o.d(n,a,function(t){return e[t]}.bind(null,a));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="";var l=window.webpackJsonp_themeisle_companion=window.webpackJsonp_themeisle_companion||[],r=l.push.bind(l);l.push=t,l=l.slice();for(var i=0;i<l.length;i++)t(l[i]);var u=r;s.push([7,1]),n()}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.wp.i18n},function(e,t){e.exports=window.wp.components},function(e,t,n){var a;!function(){"use strict";var n={}.hasOwnProperty;function c(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var s=typeof a;if("string"===s||"number"===s)e.push(a);else if(Array.isArray(a)){if(a.length){var o=c.apply(null,a);o&&e.push(o)}}else if("object"===s)if(a.toString===Object.prototype.toString)for(var l in a)n.call(a,l)&&a[l]&&e.push(l);else e.push(a.toString())}}return e.join(" ")}e.exports?(c.default=c,e.exports=c):void 0===(a=function(){return c}.apply(t,[]))||(e.exports=a)}()},function(e,t,n){"use strict";var a=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==a)return a;throw new Error("unable to locate global object")}();e.exports=t=a.fetch,a.fetch&&(t.default=a.fetch.bind(a)),t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response},function(e,t){e.exports=window.lodash},,function(e,t,n){"use strict";n.r(t);var a=n(0);n(6);const c=Object(a.createContext)(),s=Object(a.createContext)(),o=Object(a.createContext)();var l=n(4),r=n.n(l);const i=async(e,t=!1,n={},a=!1,c="POST")=>{const s={method:c,headers:{Accept:"application/json","Content-Type":a?"application/x-www-form-urlencoded":"application/json","x-wp-nonce":obfxDash.nonce}};return"POST"===c&&(s.body=a?n:JSON.stringify(n)),await r()(e,s).then(e=>t?e:e.json())};var u=n(3),m=n.n(u),d=n(5),b=n(2),p=n(1);const{options:O,root:j,setSettingsRoute:h}=obfxDash;var f=({slug:e})=>{const{modulesData:t,setModulesData:n}=Object(a.useContext)(c),{setToast:s}=Object(a.useContext)(o),[l,r]=Object(a.useState)(!1),[u,f]=Object(a.useState)(!1),v=t.module_settings[e]||{},[g,E]=Object(a.useState)({...v}),_=Object(a.createElement)(b.Dashicon,{size:18,icon:"update",className:"is-loading"}),y=(e,t)=>{const n=g;n[e]=t,E({...n})};return Object(a.createElement)("div",{className:m()(["module-settings",l?"open":"closed"])},Object(a.createElement)("button",{"aria-expanded":l,className:"accordion-header",onClick:()=>r(!l)},Object(a.createElement)("div",{className:"accordion-title"}," Settings "),Object(a.createElement)(b.Dashicon,{icon:l?"arrow-up-alt2":"arrow-down-alt2"})),l&&Object(a.createElement)("div",{className:m()(["accordion-content",u?"loading":""])},(()=>{const t=[];for(let n=0;n<O[e].length;n++){let c=O[e][n];if(c.title&&c.label&&t.push(Object(a.createElement)("p",{className:"title"}," ",c.title," ")),c.hasOwnProperty("before_wrap")){const o=[],l="1"===g[c.id]||!g[c.id]&&"1"===c.default;for(;o.push(P(c,g,y,s)),!c.hasOwnProperty("after_wrap");)c=O[e][++n];const r=m()(["settings-row",l&&"active"]);t.push(Object(a.createElement)("div",{className:r}," ",o," "))}else if("checkbox"!==c.type)t.push(P(c,g,y,s));else{const o=[];for(;"checkbox"===c.type;)o.push(P(c,g,y,s)),c=O[e][++n];t.push(Object(a.createElement)("div",{className:"checkboxes-row"}," ",o," ")),n--}}return t})(),Object(a.createElement)("div",{className:"buttons-container"},Object(a.createElement)(b.Button,{isSecondary:!0,className:"obfx-button",onClick:()=>r(!1)},Object(p.__)("Close","themeisle-companion")),Object(a.createElement)(b.Button,{isPrimary:!0,disabled:Object(d.isEqual)(g,v),className:"obfx-button",onClick:()=>{f(!0),i(j+h,!1,{slug:e,value:g}).then(a=>{if("success"!==a.type)return E({...v}),f(!1),void s(Object(p.__)("Could not update options. Please try again.","themeisle-companion"));t.module_settings[e]={...g},n({...t}),f(!1),s(Object(p.__)("Options updated successfully.","themeisle-companion"))})}},u?_:Object(p.__)("Save","themeisle-companion")))))};const{root:v,toggleStateRoute:g,options:E}=obfxDash;var _=({slug:e,details:t})=>{const n=t.refresh_after_enabled,s=t.active_default,[l,r]=Object(a.useState)(!1),{modulesData:u,setModulesData:d}=Object(a.useContext)(c),{setToast:O}=Object(a.useContext)(o),j=u.module_status,h=j[e]&&void 0!==j[e].active?j[e].active:s,_=m()("module-card",{active:h});return Object(a.createElement)("div",{className:_},Object(a.createElement)("div",{className:"module-card-header"},Object(a.createElement)("h3",{className:"title"},t.name),Object(a.createElement)("div",{className:"toggle-wrap"},l&&Object(a.createElement)(b.Dashicon,{size:18,icon:"update",className:"is-loading"}),Object(a.createElement)(b.ToggleControl,{checked:h,onChange:a=>{r(!0),i(v+g,!1,{slug:e,value:a}).then(c=>{((a,c)=>{if("success"!==a.type)return r(!1),void O(Object(p.__)("Could not activate module. Please try again.","themeisle-companion"));n&&window.location.reload(),j[e]||(j[e]={}),j[e].active=c,d(u),r(!1),O((c?Object(p.__)("Module activated","themeisle-companion"):Object(p.__)("Module deactivated","themeisle-companion"))+` (${t.name})`)})(c,a)})}}))),Object(a.createElement)("div",{className:"module-card-content"},(e=>{const t=[];if(e.indexOf("neve-pro-notice")>=0)return Object(a.createElement)("p",{className:"description",dangerouslySetInnerHTML:{__html:e}});for(;e.indexOf("<a")>=0;){const n=e.indexOf("<a"),c=e.indexOf("</a>");t.push(e.slice(0,n));const s=e.indexOf('href="')+'href="'.length,o=e.indexOf('"',s),l=e.slice(s,o),r=e.slice(e.indexOf(">",n)+1,c);t.push(Object(a.renderToString)(Object(a.createElement)(b.ExternalLink,{href:l},r))),e=e.slice(c+"</a>".length)}return t.push(e),Object(a.createElement)("p",{className:"description",dangerouslySetInnerHTML:{__html:t.join(" ")}})})(t.description)),h&&E[e].length>0&&Object(a.createElement)(f,{slug:e}))};const{modules:y,data:w}=obfxDash;var x=()=>{const[e,t]=Object(a.useState)(""===w?{module_status:{},module_settings:{}}:{...w});return e.module_settings||t({...e,module_settings:{}}),e.module_status||t({...e,module_status:{}}),Object(a.createElement)(c.Provider,{value:{modulesData:e,setModulesData:t}},Object(a.createElement)("div",{className:"modules-container"},Object.entries(y).map(([e,t])=>Object(a.createElement)(_,{slug:e,details:t,key:e}))))};var N=({slug:e,data:t})=>{const{banner:n,name:c,description:l,version:r,author:u,url:d,premium:O}=t,{pluginsData:j,setPluginsData:h}=Object(a.useContext)(s),{setToast:f}=Object(a.useContext)(o),[v,g]=Object(a.useState)(!1),E=j[e].action,_=t=>{j[e].action=t,h(j)},y=Object(p.__)("Something went wrong. Please try again.","themeisle-companion"),w={install:{static:Object(p.__)("Install","themeisle-companion"),progress:Object(p.__)("Installing","themeisle-companion")},activate:{static:Object(p.__)("Activate","themeisle-companion"),progress:Object(p.__)("Activating","themeisle-companion")},deactivate:{static:Object(p.__)("Deactivate","themeisle-companion"),progress:Object(p.__)("Deactivating","themeisle-companion")},external:Object(p.__)("See more details","themeisle-companion")};return Object(a.createElement)("div",{className:m()(["card","plugin",e])},Object(a.createElement)("div",{className:"card-header"},Object(a.createElement)("img",{src:n,alt:Object(p.__)("Banner Image","name")}),O&&Object(a.createElement)("span",{className:"premium-label"},Object(p.__)("Premium","themeisle-companion"))),Object(a.createElement)("div",{className:"card-body"},Object(a.createElement)("h3",{className:"card-title"},c),Object(a.createElement)("p",{className:"card-description"},l)),Object(a.createElement)("div",{className:"card-footer"},Object(a.createElement)("div",{className:"plugin-data"},r&&Object(a.createElement)("span",{className:"version"},"v",r),u&&Object(a.createElement)("span",{className:"author"},u)),"external"!==E&&Object(a.createElement)(b.Button,{className:"plugin-action",isPrimary:["install","activate"].includes(E),isSecondary:"deactivate"===E,disabled:v,onClick:()=>{var n;g(!0),"install"!==E?(n=t[E],!0,i(n,!0,{},"GET")).then(e=>{if(!e.ok)return g(!1),void f(y);_("activate"===E?"deactivate":"activate"),g(!1)}):(e=>new Promise(t=>{wp.updates.ajax("install-plugin",{slug:e,success:()=>{t({success:!0})},error:()=>{t({success:!1})}})}))(e).then(e=>{if(!e.success)return g(!1),void f(y);_("activate"),g(!1)})}},!v&&w[E].static,v&&Object(a.createElement)("span",{style:{display:"flex",alignItems:"center"}},Object(a.createElement)(b.Dashicon,{icon:"update"}),w[E].progress+"...")),"external"===E&&Object(a.createElement)(b.ExternalLink,{href:d},w[E])))},S=()=>{const{plugins:e}=obfxDash,[t,n]=Object(a.useState)(e);return e?Object(a.createElement)(s.Provider,{value:{pluginsData:t,setPluginsData:n}},Object(a.createElement)("div",{className:"plugins-grid"},Object.keys(e).map(t=>Object(a.createElement)(N,{key:t,slug:t,data:e[t]})))):null};const C={modules:{label:Object(p.__)("Available Modules","themeisle-companion"),render:()=>Object(a.createElement)(x,null)},plugins:{label:Object(p.__)("Recommended Plugins","themeisle-companion"),render:()=>Object(a.createElement)(S,null)}},k=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value},P=(e,t,n,c)=>{const s=void 0!==t[e.id]?t[e.id]:e.default;switch(e.type){case"checkbox":return Object(a.createElement)(b.CheckboxControl,{label:e.label,checked:"1"===s,onChange:t=>n(e.id,t?"1":"0")});case"radio":return Object(a.createElement)(b.RadioControl,{label:e.title,options:e.options.map((e,t)=>({label:e,value:t})),selected:parseInt(s),onChange:t=>n(e.id,t)});case"toggle":return Object(a.createElement)(b.ToggleControl,{label:Object(a.createElement)("div",{dangerouslySetInnerHTML:{__html:e.label}}),checked:"1"===s,onChange:t=>n(e.id,t?"1":"0")});case"select":return Object(a.createElement)("div",{className:"select-wrap"},Object(a.createElement)(b.SelectControl,{label:e.title,value:s,options:Object.entries(e.options).map(([e,t])=>({value:e,label:t})),onChange:t=>n(e.id,t)}));case"text":return Object(a.createElement)(b.TextControl,{label:e.title,value:k(s),onChange:t=>n(e.id,t)});case"link":const t="analytics_accounts_unregister"===e.id;return Object(a.createElement)("div",{className:"select-wrap"},Object(a.createElement)(b.Button,{isPrimary:!t,isDestructive:t,href:e.url?e.url:null,onClick:t&&(()=>{((e,t)=>{var n;(n=e,"deactivate=unregister",i(n,!1,"deactivate=unregister",!0)).then(e=>{!1!==e?window.location.reload():t(Object(p.__)("Could not unregister the site. Please try again.","themeisle-companion"))})})(e.unregisterURL,c)})},Object(a.createElement)("div",{dangerouslySetInnerHTML:{__html:e.text}})))}};var T=({activeTab:e,setActiveTab:t})=>Object(a.createElement)("header",null,Object(a.createElement)("div",{className:"container"},Object(a.createElement)("div",{className:"top"},Object(a.createElement)("img",{src:obfxDash.path+"assets/orbit-fox.png",alt:"logo"}),Object(a.createElement)("h1",null,"Orbit Fox")),Object(a.createElement)("nav",{className:"navigation"},Object.keys(C).map((n,c)=>Object(a.createElement)("li",{key:"tab"+c,className:n===e?"active":""},Object(a.createElement)("a",{href:"#"+n,onClick:()=>t(n)},C[n].label)))))),D=()=>{const{toast:e,setToast:t}=Object(a.useContext)(o);Object(a.useEffect)(()=>{setTimeout(()=>{t(null)},3e3)},[]);const n={opacity:null===e?0:1};return Object(a.createElement)("div",{style:n},Object(a.createElement)(b.Snackbar,{className:"dash-notice"},e))},M=()=>{const e=(()=>{let e=window.location.hash;return"string"!=typeof window.location.hash?null:(e=e.substring(1),Object.keys(C).includes(e)?e:null)})(),[t,n]=Object(a.useState)(e||"modules"),[c,s]=Object(a.useState)();return Object(a.createElement)(o.Provider,{value:{toast:c,setToast:s}},Object(a.createElement)(T,{activeTab:t,setActiveTab:n}),Object(a.createElement)("div",{className:"container"},C[t].render()),c&&Object(a.createElement)(D,null))};Object(a.render)(Object(a.createElement)(()=>Object(a.createElement)(M,null),null),document.getElementById("obfx-dash"))}]);
dashboard/src/components/ModuleSettings.js CHANGED
@@ -64,7 +64,6 @@ const ModuleSettings = ({ slug }) => {
64
 
65
  const getContent = () => {
66
  const content = [];
67
-
68
  for (let i = 0; i < options[slug].length; i++) {
69
  let element = options[slug][i];
70
  if (element.title && element.label) {
@@ -102,6 +101,7 @@ const ModuleSettings = ({ slug }) => {
102
  element = options[slug][++i];
103
  }
104
  content.push(<div className="checkboxes-row"> {row} </div>);
 
105
  continue;
106
  }
107
 
64
 
65
  const getContent = () => {
66
  const content = [];
 
67
  for (let i = 0; i < options[slug].length; i++) {
68
  let element = options[slug][i];
69
  if (element.title && element.label) {
101
  element = options[slug][++i];
102
  }
103
  content.push(<div className="checkboxes-row"> {row} </div>);
104
+ i--;
105
  continue;
106
  }
107
 
languages/themeisle-companion.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Orbit Fox Companion 2.10.12\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://github.com/Codeinwp/themeisle-companion/issues\n"
8
- "POT-Creation-Date: 2022-05-27 14:33:32+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
@@ -1368,9 +1368,9 @@ msgstr ""
1368
  #: obfx_modules/companion-legacy/inc/hestia/inc/customizer.php:38
1369
  #: obfx_modules/companion-legacy/inc/hestia/inc/customizer.php:51
1370
  #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:29
1371
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:200
1372
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:207
1373
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:214
1374
  #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:32
1375
  #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:29
1376
  msgid ""
@@ -1519,113 +1519,113 @@ msgstr ""
1519
  msgid "Testimonial"
1520
  msgstr ""
1521
 
1522
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:199
1523
  msgid "Responsive"
1524
  msgstr ""
1525
 
1526
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:206
1527
  msgid "Quality"
1528
  msgstr ""
1529
 
1530
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:213
1531
  msgid "Support"
1532
  msgstr ""
1533
 
1534
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:263
1535
  msgid "Desmond Purpleson"
1536
  msgstr ""
1537
 
1538
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:264
1539
  msgid "CEO"
1540
  msgstr ""
1541
 
1542
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:265
1543
  msgid ""
1544
  "Locavore pinterest chambray affogato art party, forage coloring book "
1545
  "typewriter. Bitters cold selfies, retro celiac sartorial mustache."
1546
  msgstr ""
1547
 
1548
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:294
1549
  msgid "Parsley Pepperspray"
1550
  msgstr ""
1551
 
1552
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:295
1553
  msgid "Marketing Specialist"
1554
  msgstr ""
1555
 
1556
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:296
1557
  msgid ""
1558
  "Craft beer salvia celiac mlkshk. Pinterest celiac tumblr, portland salvia "
1559
  "skateboard cliche thundercats. Tattooed chia austin hell."
1560
  msgstr ""
1561
 
1562
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:325
1563
  msgid "Desmond Eagle"
1564
  msgstr ""
1565
 
1566
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:326
1567
  msgid "Graphic Designer"
1568
  msgstr ""
1569
 
1570
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:327
1571
  msgid ""
1572
  "Pok pok direct trade godard street art, poutine fam typewriter food truck "
1573
  "narwhal kombucha wolf cardigan butcher whatever pickled you."
1574
  msgstr ""
1575
 
1576
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:356
1577
  msgid "Ruby Von Rails"
1578
  msgstr ""
1579
 
1580
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:357
1581
  msgid "Lead Developer"
1582
  msgstr ""
1583
 
1584
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:358
1585
  msgid ""
1586
  "Small batch vexillologist 90's blue bottle stumptown bespoke. Pok pok tilde "
1587
  "fixie chartreuse, VHS gluten-free selfies wolf hot."
1588
  msgstr ""
1589
 
1590
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:226
1591
  msgid "Inverness McKenzie"
1592
  msgstr ""
1593
 
1594
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:227
1595
  msgid "Business Owner"
1596
  msgstr ""
1597
 
1598
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:228
1599
  msgid ""
1600
  "\"We have no regrets! After using your product my business skyrocketed! I "
1601
  "made back the purchase price in just 48 hours! I couldn't have asked for "
1602
  "more than this.\""
1603
  msgstr ""
1604
 
1605
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:233
1606
  msgid "Hanson Deck"
1607
  msgstr ""
1608
 
1609
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:234
1610
  msgid "Independent Artist"
1611
  msgstr ""
1612
 
1613
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:235
1614
  msgid ""
1615
  "\"Your company is truly upstanding and is behind its product 100 percent. "
1616
  "Hestia is worth much more than I paid. I like Hestia more each day because "
1617
  "it makes easier.\""
1618
  msgstr ""
1619
 
1620
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:240
1621
  msgid "Natalya Undergrowth"
1622
  msgstr ""
1623
 
1624
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:241
1625
  msgid "Freelancer"
1626
  msgstr ""
1627
 
1628
- #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:242
1629
  msgid ""
1630
  "\"Thank you for making it painless, pleasant and most of all hassle free! I "
1631
  "am so pleased with this product. Dude, your stuff is great! I will refer "
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Orbit Fox Companion 2.10.13\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://github.com/Codeinwp/themeisle-companion/issues\n"
8
+ "POT-Creation-Date: 2022-07-01 08:26:45+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
1368
  #: obfx_modules/companion-legacy/inc/hestia/inc/customizer.php:38
1369
  #: obfx_modules/companion-legacy/inc/hestia/inc/customizer.php:51
1370
  #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:29
1371
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:225
1372
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:232
1373
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:239
1374
  #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:32
1375
  #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:29
1376
  msgid ""
1519
  msgid "Testimonial"
1520
  msgstr ""
1521
 
1522
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:224
1523
  msgid "Responsive"
1524
  msgstr ""
1525
 
1526
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:231
1527
  msgid "Quality"
1528
  msgstr ""
1529
 
1530
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php:238
1531
  msgid "Support"
1532
  msgstr ""
1533
 
1534
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:268
1535
  msgid "Desmond Purpleson"
1536
  msgstr ""
1537
 
1538
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:269
1539
  msgid "CEO"
1540
  msgstr ""
1541
 
1542
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:270
1543
  msgid ""
1544
  "Locavore pinterest chambray affogato art party, forage coloring book "
1545
  "typewriter. Bitters cold selfies, retro celiac sartorial mustache."
1546
  msgstr ""
1547
 
1548
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:299
1549
  msgid "Parsley Pepperspray"
1550
  msgstr ""
1551
 
1552
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:300
1553
  msgid "Marketing Specialist"
1554
  msgstr ""
1555
 
1556
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:301
1557
  msgid ""
1558
  "Craft beer salvia celiac mlkshk. Pinterest celiac tumblr, portland salvia "
1559
  "skateboard cliche thundercats. Tattooed chia austin hell."
1560
  msgstr ""
1561
 
1562
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:330
1563
  msgid "Desmond Eagle"
1564
  msgstr ""
1565
 
1566
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:331
1567
  msgid "Graphic Designer"
1568
  msgstr ""
1569
 
1570
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:332
1571
  msgid ""
1572
  "Pok pok direct trade godard street art, poutine fam typewriter food truck "
1573
  "narwhal kombucha wolf cardigan butcher whatever pickled you."
1574
  msgstr ""
1575
 
1576
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:361
1577
  msgid "Ruby Von Rails"
1578
  msgstr ""
1579
 
1580
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:362
1581
  msgid "Lead Developer"
1582
  msgstr ""
1583
 
1584
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php:363
1585
  msgid ""
1586
  "Small batch vexillologist 90's blue bottle stumptown bespoke. Pok pok tilde "
1587
  "fixie chartreuse, VHS gluten-free selfies wolf hot."
1588
  msgstr ""
1589
 
1590
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:231
1591
  msgid "Inverness McKenzie"
1592
  msgstr ""
1593
 
1594
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:232
1595
  msgid "Business Owner"
1596
  msgstr ""
1597
 
1598
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:233
1599
  msgid ""
1600
  "\"We have no regrets! After using your product my business skyrocketed! I "
1601
  "made back the purchase price in just 48 hours! I couldn't have asked for "
1602
  "more than this.\""
1603
  msgstr ""
1604
 
1605
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:238
1606
  msgid "Hanson Deck"
1607
  msgstr ""
1608
 
1609
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:239
1610
  msgid "Independent Artist"
1611
  msgstr ""
1612
 
1613
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:240
1614
  msgid ""
1615
  "\"Your company is truly upstanding and is behind its product 100 percent. "
1616
  "Hestia is worth much more than I paid. I like Hestia more each day because "
1617
  "it makes easier.\""
1618
  msgstr ""
1619
 
1620
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:245
1621
  msgid "Natalya Undergrowth"
1622
  msgstr ""
1623
 
1624
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:246
1625
  msgid "Freelancer"
1626
  msgstr ""
1627
 
1628
+ #: obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php:247
1629
  msgid ""
1630
  "\"Thank you for making it painless, pleasant and most of all hassle free! I "
1631
  "am so pleased with this product. Dude, your stuff is great! I will refer "
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-clients-bar-section.php CHANGED
@@ -66,8 +66,10 @@ if ( ! function_exists( 'hestia_clients_bar' ) ) :
66
 
67
  $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
68
  $alt_text = '';
 
69
  if ( ! empty( $image_id ) ) {
70
  $alt_text = 'alt="' . get_post_meta( $image_id, '_wp_attachment_image_alt', true ) . '"';
 
71
  }
72
 
73
  if ( ! empty( $image ) ) {
@@ -80,7 +82,7 @@ if ( ! function_exists( 'hestia_clients_bar' ) ) :
80
  $link_html .= '>';
81
  echo wp_kses_post( $link_html );
82
  }
83
- echo '<img src="' . esc_url( $image ) . '" ' . wp_kses_post( $alt_text ) . '>';
84
  if ( ! empty( $link ) ) {
85
  echo '</a>';
86
  }
66
 
67
  $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
68
  $alt_text = '';
69
+ $srcset = '';
70
  if ( ! empty( $image_id ) ) {
71
  $alt_text = 'alt="' . get_post_meta( $image_id, '_wp_attachment_image_alt', true ) . '"';
72
+ $srcset = 'srcset="' . wp_get_attachment_image_srcset( $image_id, 'full' ) . '"';
73
  }
74
 
75
  if ( ! empty( $image ) ) {
82
  $link_html .= '>';
83
  echo wp_kses_post( $link_html );
84
  }
85
+ echo '<img src="' . esc_url( $image ) . '" ' . wp_kses_post( $alt_text ) . ' ' . wp_kses_post( $srcset ) . '>';
86
  if ( ! empty( $link ) ) {
87
  echo '</a>';
88
  }
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php CHANGED
@@ -142,14 +142,39 @@ function hestia_features_content( $hestia_features_content, $is_callback = false
142
 
143
  switch ( $choice ) {
144
  case 'customizer_repeater_image':
145
- if ( ! empty( $image ) ) {
146
- ?>
147
- <div class="card card-plain">
148
- <img src="<?php echo esc_url( $image ); ?>"/>
149
- </div>
150
- <?php
151
- }
152
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
  case 'customizer_repeater_icon':
154
  if ( ! empty( $icon ) ) { ?>
155
  <div class="icon" <?php echo ( ! empty( $color ) ? 'style="color:' . $color . '"' : '' ); ?>>
142
 
143
  switch ( $choice ) {
144
  case 'customizer_repeater_image':
145
+ if ( ! empty( $image ) ) {
146
+ /**
147
+ * Alternative text for the Features box image
148
+ * It first checks for the Alt Text option of the attachment
149
+ * If that field is empty, uses the Title of the Testimonial box as alt text
150
+ */
151
+ $alt_image = '';
152
+ $srcset = '';
153
+ $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
154
+ if ( ! empty( $image_id ) && $image_id !== 0 ) {
155
+ $alt_image = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
156
+ $srcset = wp_get_attachment_image_srcset( $image_id, 'full' );
157
+ }
158
+ if ( empty( $alt_image ) ) {
159
+ if ( ! empty( $title ) ) {
160
+ $alt_image = $title;
161
+ }
162
+ }
163
+ echo '<div class="card card-plain">';
164
+ echo '<img src="' . esc_url( $image ) . '" ';
165
+ if ( ! empty( $alt_image ) ) {
166
+ echo ' alt="' . esc_attr( $alt_image ) . '" ';
167
+ }
168
+ if ( ! empty( $srcset ) ) {
169
+ echo ' srcset="' . esc_attr( $srcset ) . '" ';
170
+ }
171
+ if ( ! empty( $title ) ) {
172
+ echo ' title="' . esc_attr( $title ) . '" ';
173
+ }
174
+ echo '/>';
175
+ echo '</div>';
176
+ }
177
+ break;
178
  case 'customizer_repeater_icon':
179
  if ( ! empty( $icon ) ) { ?>
180
  <div class="icon" <?php echo ( ! empty( $color ) ? 'style="color:' . $color . '"' : '' ); ?>>
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php CHANGED
@@ -172,9 +172,11 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
172
  * If that field is empty, uses the Title of the Testimonial box as alt text
173
  */
174
  $alt_image = $title;
 
175
  $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
176
  if ( ! empty( $image_id ) && $image_id !== 0 ) {
177
  $alt_image = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
 
178
  }
179
 
180
  echo $link_markup_open;
@@ -183,6 +185,9 @@ function hestia_team_content( $hestia_team_content, $is_callback = false ) {
183
  if ( ! empty( $alt_image ) ) {
184
  echo ' alt="' . esc_attr( $alt_image ) . '" ';
185
  }
 
 
 
186
  if ( ! empty( $title ) ) {
187
  echo ' title="' . esc_attr( $title ) . '" ';
188
  }
172
  * If that field is empty, uses the Title of the Testimonial box as alt text
173
  */
174
  $alt_image = $title;
175
+ $srcset = '';
176
  $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
177
  if ( ! empty( $image_id ) && $image_id !== 0 ) {
178
  $alt_image = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
179
+ $srcset = wp_get_attachment_image_srcset( $image_id, 'full' );
180
  }
181
 
182
  echo $link_markup_open;
185
  if ( ! empty( $alt_image ) ) {
186
  echo ' alt="' . esc_attr( $alt_image ) . '" ';
187
  }
188
+ if ( ! empty( $srcset ) ) {
189
+ echo ' srcset="' . esc_attr( $srcset ) . '" ';
190
+ }
191
  if ( ! empty( $title ) ) {
192
  echo ' title="' . esc_attr( $title ) . '" ';
193
  }
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php CHANGED
@@ -148,9 +148,11 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
148
  * If that field is empty, uses the Title of the Testimonial box as alt text
149
  */
150
  $alt_image = '';
 
151
  $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
152
  if ( ! empty( $image_id ) && $image_id !== 0 ) {
153
  $alt_image = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
 
154
  }
155
  if ( empty( $alt_image ) ) {
156
  if ( ! empty( $title ) ) {
@@ -173,6 +175,9 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
173
  if ( ! empty( $alt_image ) ) {
174
  echo ' alt="' . esc_attr( $alt_image ) . '" ';
175
  }
 
 
 
176
  if ( ! empty( $title ) ) {
177
  echo ' title="' . esc_attr( $title ) . '" ';
178
  }
148
  * If that field is empty, uses the Title of the Testimonial box as alt text
149
  */
150
  $alt_image = '';
151
+ $srcset = '';
152
  $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
153
  if ( ! empty( $image_id ) && $image_id !== 0 ) {
154
  $alt_image = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
155
+ $srcset = wp_get_attachment_image_srcset( $image_id, 'full' );
156
  }
157
  if ( empty( $alt_image ) ) {
158
  if ( ! empty( $title ) ) {
175
  if ( ! empty( $alt_image ) ) {
176
  echo ' alt="' . esc_attr( $alt_image ) . '" ';
177
  }
178
+ if ( ! empty( $srcset ) ) {
179
+ echo ' srcset="' . esc_attr( $srcset ) . '" ';
180
+ }
181
  if ( ! empty( $title ) ) {
182
  echo ' title="' . esc_attr( $title ) . '" ';
183
  }
readme.md CHANGED
@@ -107,6 +107,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
107
 
108
  ## Changelog ##
109
 
 
 
 
 
 
 
 
 
110
  ##### [Version 2.10.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.11...v2.10.12) (2022-05-27)
111
 
112
  - [Fix] Accessibility issue on social links.
107
 
108
  ## Changelog ##
109
 
110
+ ##### [Version 2.10.13](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.12...v2.10.13) (2022-07-01)
111
+
112
+ - [Fix] Add the srcset property for Hestia's free sections
113
+ - [Fix] Missing desktop position option from the social sharing module
114
+
115
+
116
+
117
+
118
  ##### [Version 2.10.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.11...v2.10.12) (2022-05-27)
119
 
120
  - [Fix] Accessibility issue on social links.
readme.txt CHANGED
@@ -107,6 +107,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
107
 
108
  == Changelog ==
109
 
 
 
 
 
 
 
 
 
110
  ##### [Version 2.10.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.11...v2.10.12) (2022-05-27)
111
 
112
  - [Fix] Accessibility issue on social links.
107
 
108
  == Changelog ==
109
 
110
+ ##### [Version 2.10.13](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.12...v2.10.13) (2022-07-01)
111
+
112
+ - [Fix] Add the srcset property for Hestia's free sections
113
+ - [Fix] Missing desktop position option from the social sharing module
114
+
115
+
116
+
117
+
118
  ##### [Version 2.10.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.10.11...v2.10.12) (2022-05-27)
119
 
120
  - [Fix] Accessibility issue on social links.
themeisle-companion.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: Orbit Fox Companion
16
  * Plugin URI: https://orbitfox.com/
17
  * Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
18
- * Version: 2.10.12
19
  * Author: Themeisle
20
  * Author URI: https://orbitfox.com/
21
  * License: GPL-2.0+
15
  * Plugin Name: Orbit Fox Companion
16
  * Plugin URI: https://orbitfox.com/
17
  * Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
18
+ * Version: 2.10.13
19
  * Author: Themeisle
20
  * Author URI: https://orbitfox.com/
21
  * License: GPL-2.0+
vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInit5907d177bb5d198f878741ba5670ee08::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInite6107ea29bd7bab1ef19c8448bdefd7c::getLoader();
vendor/clue/stream-filter/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
  # Changelog
2
 
 
 
 
 
 
 
 
 
 
 
 
3
  ## 1.5.0 (2020-10-02)
4
 
5
  * Feature: Improve performance by using global imports.
1
  # Changelog
2
 
3
+ ## 1.6.0 (2022-02-21)
4
+
5
+ * Feature: Support PHP 8.1 release.
6
+ (#45 by @clue)
7
+
8
+ * Improve documentation to use fully-qualified function names.
9
+ (#43 by @SimonFrings and #42 by @PaulRotmann)
10
+
11
+ * Improve test suite and use GitHub actions for continuous integration (CI).
12
+ (#39 and #40 by @SimonFrings)
13
+
14
  ## 1.5.0 (2020-10-02)
15
 
16
  * Feature: Improve performance by using global imports.
vendor/clue/stream-filter/README.md CHANGED
@@ -1,4 +1,7 @@
1
- # clue/stream-filter [![Build Status](https://travis-ci.org/clue/php-stream-filter.svg?branch=master)](https://travis-ci.org/clue/php-stream-filter)
 
 
 
2
 
3
  A simple and modern approach to stream filtering in PHP
4
 
@@ -7,10 +10,10 @@ A simple and modern approach to stream filtering in PHP
7
  * [Why?](#why)
8
  * [Support us](#support-us)
9
  * [Usage](#usage)
10
- * [append()](#append)
11
- * [prepend()](#prepend)
12
- * [fun()](#fun)
13
- * [remove()](#remove)
14
  * [Install](#install)
15
  * [Tests](#tests)
16
  * [License](#license)
@@ -55,26 +58,26 @@ Let's take these projects to the next level together! 🚀
55
  This lightweight library consists only of a few simple functions.
56
  All functions reside under the `Clue\StreamFilter` namespace.
57
 
58
- The below examples assume you use an import statement similar to this:
59
 
60
  ```php
61
- use Clue\StreamFilter as Filter;
62
-
63
- Filter\append(…);
64
  ```
65
 
66
- Alternatively, you can also refer to them with their fully-qualified name:
67
 
68
  ```php
69
- \Clue\StreamFilter\append(…);
 
 
70
  ```
71
 
72
- As of PHP 5.6+ you can also import each required function into your code like this:
73
 
74
  ```php
75
- use function Clue\StreamFilter\append;
76
 
77
- append(…);
78
  ```
79
 
80
  ### append()
@@ -97,7 +100,7 @@ The `$callback` should be a valid callable function which accepts
97
  an individual chunk of data and should return the updated chunk:
98
 
99
  ```php
100
- $filter = Filter\append($stream, function ($chunk) {
101
  // will be called each time you read or write a $chunk to/from the stream
102
  return $chunk;
103
  });
@@ -106,7 +109,7 @@ $filter = Filter\append($stream, function ($chunk) {
106
  As such, you can also use native PHP functions or any other `callable`:
107
 
108
  ```php
109
- Filter\append($stream, 'strtoupper');
110
 
111
  // will write "HELLO" to the underlying stream
112
  fwrite($stream, 'hello');
@@ -116,7 +119,7 @@ If the `$callback` accepts invocation without parameters,
116
  then this signature will be invoked once ending (flushing) the filter:
117
 
118
  ```php
119
- Filter\append($stream, function ($chunk = null) {
120
  if ($chunk === null) {
121
  // will be called once ending the filter
122
  return 'end';
@@ -136,7 +139,7 @@ In order to play nice with PHP's stream handling,
136
  the `Exception` will be transformed to a PHP warning instead:
137
 
138
  ```php
139
- Filter\append($stream, function ($chunk) {
140
  throw new \RuntimeException('Unexpected chunk');
141
  });
142
 
@@ -148,12 +151,12 @@ The optional `$read_write` parameter can be used to only invoke the `$callback`
148
  when either writing to the stream or only when reading from the stream:
149
 
150
  ```php
151
- Filter\append($stream, function ($chunk) {
152
  // will be called each time you write to the stream
153
  return $chunk;
154
  }, STREAM_FILTER_WRITE);
155
 
156
- Filter\append($stream, function ($chunk) {
157
  // will be called each time you read from the stream
158
  return $chunk;
159
  }, STREAM_FILTER_READ);
@@ -183,7 +186,7 @@ This function prepends a filter to the start of this list.
183
  If the given filter can not be added, it throws an `Exception`.
184
 
185
  ```php
186
- $filter = Filter\prepend($stream, function ($chunk) {
187
  // will be called each time you read or write a $chunk to/from the stream
188
  return $chunk;
189
  });
@@ -205,7 +208,7 @@ Using `fun()` makes accessing these as easy as passing an input string to filter
205
  and getting the filtered output string.
206
 
207
  ```php
208
- $fun = Filter\fun('string.rot13');
209
 
210
  assert('grfg' === $fun('test'));
211
  assert('test' === $fun($fun('test'));
@@ -218,7 +221,7 @@ or parameters as Zend PHP.
218
  Accessing an unknown filter function will result in a `RuntimeException`:
219
 
220
  ```php
221
- Filter\fun('unknown'); // throws RuntimeException
222
  ```
223
 
224
  Some filters may accept or require additional filter parameters – most
@@ -231,7 +234,7 @@ Please refer to the individual filter definition for more details.
231
  For example, the `string.strip_tags` filter can be invoked like this:
232
 
233
  ```php
234
- $fun = Filter\fun('string.strip_tags', '<a><b>');
235
 
236
  $ret = $fun('<b>h<br>i</b>');
237
  assert('<b>hi</b>' === $ret);
@@ -245,7 +248,7 @@ may use internal buffers and may emit a final data chunk on close.
245
  The filter function can be closed by invoking without any arguments:
246
 
247
  ```php
248
- $fun = Filter\fun('zlib.deflate');
249
 
250
  $ret = $fun('hello') . $fun('world') . $fun();
251
  assert('helloworld' === gzinflate($ret));
@@ -255,7 +258,7 @@ The filter function must not be used anymore after it has been closed.
255
  Doing so will result in a `RuntimeException`:
256
 
257
  ```php
258
- $fun = Filter\fun('string.rot13');
259
  $fun();
260
 
261
  $fun('test'); // throws RuntimeException
@@ -274,36 +277,36 @@ The `remove(resource<stream filter> $filter): bool` function can be used to
274
  remove a filter previously added via [`append()`](#append) or [`prepend()`](#prepend).
275
 
276
  ```php
277
- $filter = Filter\append($stream, function () {
278
  // …
279
  });
280
- Filter\remove($filter);
281
  ```
282
 
283
  ## Install
284
 
285
- The recommended way to install this library is [through Composer](https://getcomposer.org).
286
  [New to Composer?](https://getcomposer.org/doc/00-intro.md)
287
 
288
  This project follows [SemVer](https://semver.org/).
289
  This will install the latest supported version:
290
 
291
  ```bash
292
- $ composer require clue/stream-filter:^1.5
293
  ```
294
 
295
  See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades.
296
 
297
  This project aims to run on any platform and thus does not require any PHP
298
- extensions and supports running on legacy PHP 5.3 through current PHP 7+ and
299
  HHVM.
300
- It's *highly recommended to use PHP 7+* for this project.
301
  Older PHP versions may suffer from a number of inconsistencies documented above.
302
 
303
  ## Tests
304
 
305
  To run the test suite, you first need to clone this repo and then install all
306
- dependencies [through Composer](https://getcomposer.org):
307
 
308
  ```bash
309
  $ composer install
@@ -312,7 +315,7 @@ $ composer install
312
  To run the test suite, go to the project root and run:
313
 
314
  ```bash
315
- $ php vendor/bin/phpunit
316
  ```
317
 
318
  ## License
1
+ # clue/stream-filter
2
+
3
+ [![CI status](https://github.com/clue/stream-filter/workflows/CI/badge.svg)](https://github.com/clue/stream-filter/actions)
4
+ [![installs on Packagist](https://img.shields.io/packagist/dt/clue/stream-filter?color=blue&label=installs%20on%20Packagist)](https://packagist.org/packages/clue/stream-filter)
5
 
6
  A simple and modern approach to stream filtering in PHP
7
 
10
  * [Why?](#why)
11
  * [Support us](#support-us)
12
  * [Usage](#usage)
13
+ * [append()](#append)
14
+ * [prepend()](#prepend)
15
+ * [fun()](#fun)
16
+ * [remove()](#remove)
17
  * [Install](#install)
18
  * [Tests](#tests)
19
  * [License](#license)
58
  This lightweight library consists only of a few simple functions.
59
  All functions reside under the `Clue\StreamFilter` namespace.
60
 
61
+ The below examples refer to all functions with their fully-qualified names like this:
62
 
63
  ```php
64
+ Clue\StreamFilter\append(…);
 
 
65
  ```
66
 
67
+ As of PHP 5.6+ you can also import each required function into your code like this:
68
 
69
  ```php
70
+ use function Clue\StreamFilter\append;
71
+
72
+ append(…);
73
  ```
74
 
75
+ Alternatively, you can also use an import statement similar to this:
76
 
77
  ```php
78
+ use Clue\StreamFilter as Filter;
79
 
80
+ Filter\append(…);
81
  ```
82
 
83
  ### append()
100
  an individual chunk of data and should return the updated chunk:
101
 
102
  ```php
103
+ $filter = Clue\StreamFilter\append($stream, function ($chunk) {
104
  // will be called each time you read or write a $chunk to/from the stream
105
  return $chunk;
106
  });
109
  As such, you can also use native PHP functions or any other `callable`:
110
 
111
  ```php
112
+ Clue\StreamFilter\append($stream, 'strtoupper');
113
 
114
  // will write "HELLO" to the underlying stream
115
  fwrite($stream, 'hello');
119
  then this signature will be invoked once ending (flushing) the filter:
120
 
121
  ```php
122
+ Clue\StreamFilter\append($stream, function ($chunk = null) {
123
  if ($chunk === null) {
124
  // will be called once ending the filter
125
  return 'end';
139
  the `Exception` will be transformed to a PHP warning instead:
140
 
141
  ```php
142
+ Clue\StreamFilter\append($stream, function ($chunk) {
143
  throw new \RuntimeException('Unexpected chunk');
144
  });
145
 
151
  when either writing to the stream or only when reading from the stream:
152
 
153
  ```php
154
+ Clue\StreamFilter\append($stream, function ($chunk) {
155
  // will be called each time you write to the stream
156
  return $chunk;
157
  }, STREAM_FILTER_WRITE);
158
 
159
+ Clue\StreamFilter\append($stream, function ($chunk) {
160
  // will be called each time you read from the stream
161
  return $chunk;
162
  }, STREAM_FILTER_READ);
186
  If the given filter can not be added, it throws an `Exception`.
187
 
188
  ```php
189
+ $filter = Clue\StreamFilter\prepend($stream, function ($chunk) {
190
  // will be called each time you read or write a $chunk to/from the stream
191
  return $chunk;
192
  });
208
  and getting the filtered output string.
209
 
210
  ```php
211
+ $fun = Clue\StreamFilter\fun('string.rot13');
212
 
213
  assert('grfg' === $fun('test'));
214
  assert('test' === $fun($fun('test'));
221
  Accessing an unknown filter function will result in a `RuntimeException`:
222
 
223
  ```php
224
+ Clue\StreamFilter\fun('unknown'); // throws RuntimeException
225
  ```
226
 
227
  Some filters may accept or require additional filter parameters – most
234
  For example, the `string.strip_tags` filter can be invoked like this:
235
 
236
  ```php
237
+ $fun = Clue\StreamFilter\fun('string.strip_tags', '<a><b>');
238
 
239
  $ret = $fun('<b>h<br>i</b>');
240
  assert('<b>hi</b>' === $ret);
248
  The filter function can be closed by invoking without any arguments:
249
 
250
  ```php
251
+ $fun = Clue\StreamFilter\fun('zlib.deflate');
252
 
253
  $ret = $fun('hello') . $fun('world') . $fun();
254
  assert('helloworld' === gzinflate($ret));
258
  Doing so will result in a `RuntimeException`:
259
 
260
  ```php
261
+ $fun = Clue\StreamFilter\fun('string.rot13');
262
  $fun();
263
 
264
  $fun('test'); // throws RuntimeException
277
  remove a filter previously added via [`append()`](#append) or [`prepend()`](#prepend).
278
 
279
  ```php
280
+ $filter = Clue\StreamFilter\append($stream, function () {
281
  // …
282
  });
283
+ Clue\StreamFilter\remove($filter);
284
  ```
285
 
286
  ## Install
287
 
288
+ The recommended way to install this library is [through Composer](https://getcomposer.org/).
289
  [New to Composer?](https://getcomposer.org/doc/00-intro.md)
290
 
291
  This project follows [SemVer](https://semver.org/).
292
  This will install the latest supported version:
293
 
294
  ```bash
295
+ $ composer require clue/stream-filter:^1.6
296
  ```
297
 
298
  See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades.
299
 
300
  This project aims to run on any platform and thus does not require any PHP
301
+ extensions and supports running on legacy PHP 5.3 through current PHP 8+ and
302
  HHVM.
303
+ It's *highly recommended to use the latest supported PHP version* for this project.
304
  Older PHP versions may suffer from a number of inconsistencies documented above.
305
 
306
  ## Tests
307
 
308
  To run the test suite, you first need to clone this repo and then install all
309
+ dependencies [through Composer](https://getcomposer.org/):
310
 
311
  ```bash
312
  $ composer install
315
  To run the test suite, go to the project root and run:
316
 
317
  ```bash
318
+ $ vendor/bin/phpunit
319
  ```
320
 
321
  ## License
vendor/clue/stream-filter/src/CallbackFilter.php CHANGED
@@ -13,6 +13,8 @@ class CallbackFilter extends \php_user_filter
13
  private $closed = true;
14
  private $supportsClose = false;
15
 
 
 
16
  public function onCreate()
17
  {
18
  $this->closed = false;
@@ -29,6 +31,8 @@ class CallbackFilter extends \php_user_filter
29
  return true;
30
  }
31
 
 
 
32
  public function onClose()
33
  {
34
  $this->closed = true;
@@ -49,6 +53,8 @@ class CallbackFilter extends \php_user_filter
49
  $this->callback = null;
50
  }
51
 
 
 
52
  public function filter($in, $out, &$consumed, $closing)
53
  {
54
  // concatenate whole buffer from input brigade
13
  private $closed = true;
14
  private $supportsClose = false;
15
 
16
+ /** @return bool */
17
+ #[\ReturnTypeWillChange]
18
  public function onCreate()
19
  {
20
  $this->closed = false;
31
  return true;
32
  }
33
 
34
+ /** @return void */
35
+ #[\ReturnTypeWillChange]
36
  public function onClose()
37
  {
38
  $this->closed = true;
53
  $this->callback = null;
54
  }
55
 
56
+ /** @return int */
57
+ #[\ReturnTypeWillChange]
58
  public function filter($in, $out, &$consumed, $closing)
59
  {
60
  // concatenate whole buffer from input brigade
vendor/clue/stream-filter/src/functions.php CHANGED
@@ -20,7 +20,7 @@ namespace Clue\StreamFilter;
20
  * an individual chunk of data and should return the updated chunk:
21
  *
22
  * ```php
23
- * $filter = Filter\append($stream, function ($chunk) {
24
  * // will be called each time you read or write a $chunk to/from the stream
25
  * return $chunk;
26
  * });
@@ -29,7 +29,7 @@ namespace Clue\StreamFilter;
29
  * As such, you can also use native PHP functions or any other `callable`:
30
  *
31
  * ```php
32
- * Filter\append($stream, 'strtoupper');
33
  *
34
  * // will write "HELLO" to the underlying stream
35
  * fwrite($stream, 'hello');
@@ -39,7 +39,7 @@ namespace Clue\StreamFilter;
39
  * then this signature will be invoked once ending (flushing) the filter:
40
  *
41
  * ```php
42
- * Filter\append($stream, function ($chunk = null) {
43
  * if ($chunk === null) {
44
  * // will be called once ending the filter
45
  * return 'end';
@@ -59,7 +59,7 @@ namespace Clue\StreamFilter;
59
  * the `Exception` will be transformed to a PHP warning instead:
60
  *
61
  * ```php
62
- * Filter\append($stream, function ($chunk) {
63
  * throw new \RuntimeException('Unexpected chunk');
64
  * });
65
  *
@@ -71,12 +71,12 @@ namespace Clue\StreamFilter;
71
  * when either writing to the stream or only when reading from the stream:
72
  *
73
  * ```php
74
- * Filter\append($stream, function ($chunk) {
75
  * // will be called each time you write to the stream
76
  * return $chunk;
77
  * }, STREAM_FILTER_WRITE);
78
  *
79
- * Filter\append($stream, function ($chunk) {
80
  * // will be called each time you read from the stream
81
  * return $chunk;
82
  * }, STREAM_FILTER_READ);
@@ -126,7 +126,7 @@ function append($stream, $callback, $read_write = STREAM_FILTER_ALL)
126
  * If the given filter can not be added, it throws an `Exception`.
127
  *
128
  * ```php
129
- * $filter = Filter\prepend($stream, function ($chunk) {
130
  * // will be called each time you read or write a $chunk to/from the stream
131
  * return $chunk;
132
  * });
@@ -168,7 +168,7 @@ function prepend($stream, $callback, $read_write = STREAM_FILTER_ALL)
168
  * and getting the filtered output string.
169
  *
170
  * ```php
171
- * $fun = Filter\fun('string.rot13');
172
  *
173
  * assert('grfg' === $fun('test'));
174
  * assert('test' === $fun($fun('test'));
@@ -181,7 +181,7 @@ function prepend($stream, $callback, $read_write = STREAM_FILTER_ALL)
181
  * Accessing an unknown filter function will result in a `RuntimeException`:
182
  *
183
  * ```php
184
- * Filter\fun('unknown'); // throws RuntimeException
185
  * ```
186
  *
187
  * Some filters may accept or require additional filter parameters – most
@@ -194,7 +194,7 @@ function prepend($stream, $callback, $read_write = STREAM_FILTER_ALL)
194
  * For example, the `string.strip_tags` filter can be invoked like this:
195
  *
196
  * ```php
197
- * $fun = Filter\fun('string.strip_tags', '<a><b>');
198
  *
199
  * $ret = $fun('<b>h<br>i</b>');
200
  * assert('<b>hi</b>' === $ret);
@@ -208,7 +208,7 @@ function prepend($stream, $callback, $read_write = STREAM_FILTER_ALL)
208
  * The filter function can be closed by invoking without any arguments:
209
  *
210
  * ```php
211
- * $fun = Filter\fun('zlib.deflate');
212
  *
213
  * $ret = $fun('hello') . $fun('world') . $fun();
214
  * assert('helloworld' === gzinflate($ret));
@@ -218,7 +218,7 @@ function prepend($stream, $callback, $read_write = STREAM_FILTER_ALL)
218
  * Doing so will result in a `RuntimeException`:
219
  *
220
  * ```php
221
- * $fun = Filter\fun('string.rot13');
222
  * $fun();
223
  *
224
  * $fun('test'); // throws RuntimeException
@@ -288,10 +288,10 @@ function fun($filter, $parameters = null)
288
  * Remove a filter previously added via `append()` or `prepend()`.
289
  *
290
  * ```php
291
- * $filter = Filter\append($stream, function () {
292
  * // …
293
  * });
294
- * Filter\remove($filter);
295
  * ```
296
  *
297
  * @param resource $filter
20
  * an individual chunk of data and should return the updated chunk:
21
  *
22
  * ```php
23
+ * $filter = Clue\StreamFilter\append($stream, function ($chunk) {
24
  * // will be called each time you read or write a $chunk to/from the stream
25
  * return $chunk;
26
  * });
29
  * As such, you can also use native PHP functions or any other `callable`:
30
  *
31
  * ```php
32
+ * Clue\StreamFilter\append($stream, 'strtoupper');
33
  *
34
  * // will write "HELLO" to the underlying stream
35
  * fwrite($stream, 'hello');
39
  * then this signature will be invoked once ending (flushing) the filter:
40
  *
41
  * ```php
42
+ * Clue\StreamFilter\append($stream, function ($chunk = null) {
43
  * if ($chunk === null) {
44
  * // will be called once ending the filter
45
  * return 'end';
59
  * the `Exception` will be transformed to a PHP warning instead:
60
  *
61
  * ```php
62
+ * Clue\StreamFilter\append($stream, function ($chunk) {
63
  * throw new \RuntimeException('Unexpected chunk');
64
  * });
65
  *
71
  * when either writing to the stream or only when reading from the stream:
72
  *
73
  * ```php
74
+ * Clue\StreamFilter\append($stream, function ($chunk) {
75
  * // will be called each time you write to the stream
76
  * return $chunk;
77
  * }, STREAM_FILTER_WRITE);
78
  *
79
+ * Clue\StreamFilter\append($stream, function ($chunk) {
80
  * // will be called each time you read from the stream
81
  * return $chunk;
82
  * }, STREAM_FILTER_READ);
126
  * If the given filter can not be added, it throws an `Exception`.
127
  *
128
  * ```php
129
+ * $filter = Clue\StreamFilter\prepend($stream, function ($chunk) {
130
  * // will be called each time you read or write a $chunk to/from the stream
131
  * return $chunk;
132
  * });
168
  * and getting the filtered output string.
169
  *
170
  * ```php
171
+ * $fun = Clue\StreamFilter\fun('string.rot13');
172
  *
173
  * assert('grfg' === $fun('test'));
174
  * assert('test' === $fun($fun('test'));
181
  * Accessing an unknown filter function will result in a `RuntimeException`:
182
  *
183
  * ```php
184
+ * Clue\StreamFilter\fun('unknown'); // throws RuntimeException
185
  * ```
186
  *
187
  * Some filters may accept or require additional filter parameters – most
194
  * For example, the `string.strip_tags` filter can be invoked like this:
195
  *
196
  * ```php
197
+ * $fun = Clue\StreamFilter\fun('string.strip_tags', '<a><b>');
198
  *
199
  * $ret = $fun('<b>h<br>i</b>');
200
  * assert('<b>hi</b>' === $ret);
208
  * The filter function can be closed by invoking without any arguments:
209
  *
210
  * ```php
211
+ * $fun = Clue\StreamFilter\fun('zlib.deflate');
212
  *
213
  * $ret = $fun('hello') . $fun('world') . $fun();
214
  * assert('helloworld' === gzinflate($ret));
218
  * Doing so will result in a `RuntimeException`:
219
  *
220
  * ```php
221
+ * $fun = Clue\StreamFilter\fun('string.rot13');
222
  * $fun();
223
  *
224
  * $fun('test'); // throws RuntimeException
288
  * Remove a filter previously added via `append()` or `prepend()`.
289
  *
290
  * ```php
291
+ * $filter = Clue\StreamFilter\append($stream, function () {
292
  * // …
293
  * });
294
+ * Clue\StreamFilter\remove($filter);
295
  * ```
296
  *
297
  * @param resource $filter
vendor/codeinwp/themeisle-sdk/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
 
 
 
 
 
 
 
 
1
  ##### [Version 3.2.24](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.23...v3.2.24) (2022-02-09)
2
 
3
  Fix edge case issue on dismiss
1
+ ##### [Version 3.2.26](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.25...v3.2.26) (2022-05-12)
2
+
3
+ - [Fix] Solve rollback sometimes not available
4
+
5
+ ##### [Version 3.2.25](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.24...v3.2.25) (2022-03-28)
6
+
7
+ - Force update request after rollback
8
+
9
  ##### [Version 3.2.24](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.23...v3.2.24) (2022-02-09)
10
 
11
  Fix edge case issue on dismiss
vendor/codeinwp/themeisle-sdk/load.php CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  return;
15
  }
16
  // Current SDK version and path.
17
- $themeisle_sdk_version = '3.2.24';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
14
  return;
15
  }
16
  // Current SDK version and path.
17
+ $themeisle_sdk_version = '3.2.26';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php CHANGED
@@ -522,6 +522,10 @@ class Licenser extends Abstract_Module {
522
  return new \WP_Error( 'themeisle-license-invalid', 'ERROR: Invalid license provided.' );
523
  }
524
 
 
 
 
 
525
  return true;
526
  }
527
 
522
  return new \WP_Error( 'themeisle-license-invalid', 'ERROR: Invalid license provided.' );
523
  }
524
 
525
+ // Remove the versions transient upon activation so that newer version for rollback can be acquired.
526
+ $versions_cache = $this->product->get_cache_key();
527
+ delete_transient( $versions_cache );
528
+
529
  return true;
530
  }
531
 
vendor/codeinwp/themeisle-sdk/src/Modules/Rollback.php CHANGED
@@ -98,7 +98,7 @@ class Rollback extends Abstract_Module {
98
  */
99
  private function get_api_versions() {
100
 
101
- $cache_key = $this->product->get_key() . '_' . preg_replace( '/[^0-9a-zA-Z ]/m', '', $this->product->get_version() ) . 'versions';
102
  $cache_versions = get_transient( $cache_key );
103
  if ( false === $cache_versions ) {
104
  $versions = $this->get_remote_versions();
@@ -374,11 +374,27 @@ class Rollback extends Abstract_Module {
374
  );
375
  }
376
 
 
 
 
 
 
 
 
 
 
 
 
 
377
  /**
378
  * Set the rollback hook. Strangely, this does not work if placed in the ThemeIsle_SDK_Rollback class, so it is being called from there instead.
379
  */
380
  public function add_hooks() {
381
  add_action( 'admin_post_' . $this->product->get_key() . '_rollback', array( $this, 'start_rollback' ) );
382
  add_action( 'admin_footer', array( $this, 'add_footer' ) );
 
 
 
 
383
  }
384
  }
98
  */
99
  private function get_api_versions() {
100
 
101
+ $cache_key = $this->product->get_cache_key();
102
  $cache_versions = get_transient( $cache_key );
103
  if ( false === $cache_versions ) {
104
  $versions = $this->get_remote_versions();
374
  );
375
  }
376
 
377
+ /**
378
+ * Fires after the option has been updated.
379
+ *
380
+ * @param mixed $old_value The old option value.
381
+ * @param mixed $value The new option value.
382
+ * @param string $option Option name.
383
+ */
384
+ public function update_active_plugins_action( $old_value, $value, $option ) {
385
+ delete_site_transient( 'update_plugins' );
386
+ wp_cache_delete( 'plugins', 'plugins' );
387
+ }
388
+
389
  /**
390
  * Set the rollback hook. Strangely, this does not work if placed in the ThemeIsle_SDK_Rollback class, so it is being called from there instead.
391
  */
392
  public function add_hooks() {
393
  add_action( 'admin_post_' . $this->product->get_key() . '_rollback', array( $this, 'start_rollback' ) );
394
  add_action( 'admin_footer', array( $this, 'add_footer' ) );
395
+
396
+ // This hook will be invoked after the plugin activation.
397
+ // We use this to force an update of the cache so that Update is present immediate after a rollback.
398
+ add_action( 'update_option_active_plugins', array( $this, 'update_active_plugins_action' ), 10, 3 );
399
  }
400
  }
vendor/codeinwp/themeisle-sdk/src/Product.php CHANGED
@@ -322,6 +322,15 @@ class Product {
322
  return $name;
323
  }
324
 
 
 
 
 
 
 
 
 
 
325
  /**
326
  * Getter for product name.
327
  *
322
  return $name;
323
  }
324
 
325
+ /**
326
+ * Return the product version cache key.
327
+ *
328
+ * @return string The product version cache key.
329
+ */
330
+ public function get_cache_key() {
331
+ return $this->get_key() . '_' . preg_replace( '/[^0-9a-zA-Z ]/m', '', $this->get_version() ) . 'versions';
332
+ }
333
+
334
  /**
335
  * Getter for product name.
336
  *
vendor/composer/InstalledVersions.php CHANGED
@@ -28,7 +28,7 @@ class InstalledVersions
28
  {
29
  /**
30
  * @var mixed[]|null
31
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
32
  */
33
  private static $installed;
34
 
@@ -39,7 +39,7 @@ class InstalledVersions
39
 
40
  /**
41
  * @var array[]
42
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
@@ -243,7 +243,7 @@ class InstalledVersions
243
 
244
  /**
245
  * @return array
246
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
247
  */
248
  public static function getRootPackage()
249
  {
@@ -257,7 +257,7 @@ class InstalledVersions
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
261
  */
262
  public static function getRawData()
263
  {
@@ -280,7 +280,7 @@ class InstalledVersions
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
284
  */
285
  public static function getAllRawData()
286
  {
@@ -303,7 +303,7 @@ class InstalledVersions
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
307
  */
308
  public static function reload($data)
309
  {
@@ -313,7 +313,7 @@ class InstalledVersions
313
 
314
  /**
315
  * @return array[]
316
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
317
  */
318
  private static function getInstalled()
319
  {
28
  {
29
  /**
30
  * @var mixed[]|null
31
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
32
  */
33
  private static $installed;
34
 
39
 
40
  /**
41
  * @var array[]
42
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
243
 
244
  /**
245
  * @return array
246
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
247
  */
248
  public static function getRootPackage()
249
  {
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
261
  */
262
  public static function getRawData()
263
  {
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
284
  */
285
  public static function getAllRawData()
286
  {
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
307
  */
308
  public static function reload($data)
309
  {
313
 
314
  /**
315
  * @return array[]
316
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
317
  */
318
  private static function getInstalled()
319
  {
vendor/composer/autoload_classmap.php CHANGED
@@ -33,6 +33,7 @@ return array(
33
  'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
34
  'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
35
  'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
 
36
  'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
37
  'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
38
  'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php',
33
  'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
34
  'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
35
  'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
36
+ 'GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php',
37
  'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
38
  'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
39
  'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit5907d177bb5d198f878741ba5670ee08
6
  {
7
  private static $loader;
8
 
@@ -24,18 +24,18 @@ class ComposerAutoloaderInit5907d177bb5d198f878741ba5670ee08
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit5907d177bb5d198f878741ba5670ee08', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit5907d177bb5d198f878741ba5670ee08', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInit5907d177bb5d198f878741ba5670ee08::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
36
- $includeFiles = \Composer\Autoload\ComposerStaticInit5907d177bb5d198f878741ba5670ee08::$files;
37
  foreach ($includeFiles as $fileIdentifier => $file) {
38
- composerRequire5907d177bb5d198f878741ba5670ee08($fileIdentifier, $file);
39
  }
40
 
41
  return $loader;
@@ -47,7 +47,7 @@ class ComposerAutoloaderInit5907d177bb5d198f878741ba5670ee08
47
  * @param string $file
48
  * @return void
49
  */
50
- function composerRequire5907d177bb5d198f878741ba5670ee08($fileIdentifier, $file)
51
  {
52
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
53
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInite6107ea29bd7bab1ef19c8448bdefd7c
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInite6107ea29bd7bab1ef19c8448bdefd7c', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInite6107ea29bd7bab1ef19c8448bdefd7c', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInite6107ea29bd7bab1ef19c8448bdefd7c::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
36
+ $includeFiles = \Composer\Autoload\ComposerStaticInite6107ea29bd7bab1ef19c8448bdefd7c::$files;
37
  foreach ($includeFiles as $fileIdentifier => $file) {
38
+ composerRequiree6107ea29bd7bab1ef19c8448bdefd7c($fileIdentifier, $file);
39
  }
40
 
41
  return $loader;
47
  * @param string $file
48
  * @return void
49
  */
50
+ function composerRequiree6107ea29bd7bab1ef19c8448bdefd7c($fileIdentifier, $file)
51
  {
52
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
53
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit5907d177bb5d198f878741ba5670ee08
8
  {
9
  public static $files = array (
10
  '9c67151ae59aff4788964ce8eb2a0f43' => __DIR__ . '/..' . '/clue/stream-filter/src/functions_include.php',
@@ -126,6 +126,7 @@ class ComposerStaticInit5907d177bb5d198f878741ba5670ee08
126
  'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
127
  'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
128
  'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
 
129
  'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
130
  'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
131
  'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php',
@@ -268,9 +269,9 @@ class ComposerStaticInit5907d177bb5d198f878741ba5670ee08
268
  public static function getInitializer(ClassLoader $loader)
269
  {
270
  return \Closure::bind(function () use ($loader) {
271
- $loader->prefixLengthsPsr4 = ComposerStaticInit5907d177bb5d198f878741ba5670ee08::$prefixLengthsPsr4;
272
- $loader->prefixDirsPsr4 = ComposerStaticInit5907d177bb5d198f878741ba5670ee08::$prefixDirsPsr4;
273
- $loader->classMap = ComposerStaticInit5907d177bb5d198f878741ba5670ee08::$classMap;
274
 
275
  }, null, ClassLoader::class);
276
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInite6107ea29bd7bab1ef19c8448bdefd7c
8
  {
9
  public static $files = array (
10
  '9c67151ae59aff4788964ce8eb2a0f43' => __DIR__ . '/..' . '/clue/stream-filter/src/functions_include.php',
126
  'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
127
  'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
128
  'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
129
+ 'GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php',
130
  'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
131
  'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
132
  'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php',
269
  public static function getInitializer(ClassLoader $loader)
270
  {
271
  return \Closure::bind(function () use ($loader) {
272
+ $loader->prefixLengthsPsr4 = ComposerStaticInite6107ea29bd7bab1ef19c8448bdefd7c::$prefixLengthsPsr4;
273
+ $loader->prefixDirsPsr4 = ComposerStaticInite6107ea29bd7bab1ef19c8448bdefd7c::$prefixDirsPsr4;
274
+ $loader->classMap = ComposerStaticInite6107ea29bd7bab1ef19c8448bdefd7c::$classMap;
275
 
276
  }, null, ClassLoader::class);
277
  }
vendor/composer/installed.json CHANGED
@@ -2,17 +2,17 @@
2
  "packages": [
3
  {
4
  "name": "clue/stream-filter",
5
- "version": "v1.5.0",
6
- "version_normalized": "1.5.0.0",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/clue/stream-filter.git",
10
- "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320"
11
  },
12
  "dist": {
13
  "type": "zip",
14
- "url": "https://api.github.com/repos/clue/stream-filter/zipball/aeb7d8ea49c7963d3b581378955dbf5bc49aa320",
15
- "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320",
16
  "shasum": ""
17
  },
18
  "require": {
@@ -21,7 +21,7 @@
21
  "require-dev": {
22
  "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
23
  },
24
- "time": "2020-10-02T12:38:20+00:00",
25
  "type": "library",
26
  "installation-source": "dist",
27
  "autoload": {
@@ -55,7 +55,7 @@
55
  ],
56
  "support": {
57
  "issues": "https://github.com/clue/stream-filter/issues",
58
- "source": "https://github.com/clue/stream-filter/tree/v1.5.0"
59
  },
60
  "funding": [
61
  {
@@ -259,23 +259,23 @@
259
  },
260
  {
261
  "name": "codeinwp/themeisle-sdk",
262
- "version": "3.2.24",
263
- "version_normalized": "3.2.24.0",
264
  "source": {
265
  "type": "git",
266
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
267
- "reference": "e5c171e33120fdf8ce6dd3a7bddad984583023f0"
268
  },
269
  "dist": {
270
  "type": "zip",
271
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/e5c171e33120fdf8ce6dd3a7bddad984583023f0",
272
- "reference": "e5c171e33120fdf8ce6dd3a7bddad984583023f0",
273
  "shasum": ""
274
  },
275
  "require-dev": {
276
  "codeinwp/phpcs-ruleset": "dev-main"
277
  },
278
- "time": "2022-02-09T21:11:37+00:00",
279
  "type": "library",
280
  "installation-source": "dist",
281
  "notification-url": "https://packagist.org/downloads/",
@@ -296,23 +296,23 @@
296
  ],
297
  "support": {
298
  "issues": "https://github.com/Codeinwp/themeisle-sdk/issues",
299
- "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.2.24"
300
  },
301
  "install-path": "../codeinwp/themeisle-sdk"
302
  },
303
  {
304
  "name": "guzzlehttp/psr7",
305
- "version": "1.8.3",
306
- "version_normalized": "1.8.3.0",
307
  "source": {
308
  "type": "git",
309
  "url": "https://github.com/guzzle/psr7.git",
310
- "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85"
311
  },
312
  "dist": {
313
  "type": "zip",
314
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
315
- "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
316
  "shasum": ""
317
  },
318
  "require": {
@@ -330,11 +330,11 @@
330
  "suggest": {
331
  "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
332
  },
333
- "time": "2021-10-05T13:56:00+00:00",
334
  "type": "library",
335
  "extra": {
336
  "branch-alias": {
337
- "dev-master": "1.7-dev"
338
  }
339
  },
340
  "installation-source": "dist",
@@ -395,7 +395,7 @@
395
  ],
396
  "support": {
397
  "issues": "https://github.com/guzzle/psr7/issues",
398
- "source": "https://github.com/guzzle/psr7/tree/1.8.3"
399
  },
400
  "funding": [
401
  {
2
  "packages": [
3
  {
4
  "name": "clue/stream-filter",
5
+ "version": "v1.6.0",
6
+ "version_normalized": "1.6.0.0",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/clue/stream-filter.git",
10
+ "reference": "d6169430c7731d8509da7aecd0af756a5747b78e"
11
  },
12
  "dist": {
13
  "type": "zip",
14
+ "url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e",
15
+ "reference": "d6169430c7731d8509da7aecd0af756a5747b78e",
16
  "shasum": ""
17
  },
18
  "require": {
21
  "require-dev": {
22
  "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
23
  },
24
+ "time": "2022-02-21T13:15:14+00:00",
25
  "type": "library",
26
  "installation-source": "dist",
27
  "autoload": {
55
  ],
56
  "support": {
57
  "issues": "https://github.com/clue/stream-filter/issues",
58
+ "source": "https://github.com/clue/stream-filter/tree/v1.6.0"
59
  },
60
  "funding": [
61
  {
259
  },
260
  {
261
  "name": "codeinwp/themeisle-sdk",
262
+ "version": "3.2.26",
263
+ "version_normalized": "3.2.26.0",
264
  "source": {
265
  "type": "git",
266
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
267
+ "reference": "a4451041bb97a325c7bb8e86a5584adf4636650e"
268
  },
269
  "dist": {
270
  "type": "zip",
271
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/a4451041bb97a325c7bb8e86a5584adf4636650e",
272
+ "reference": "a4451041bb97a325c7bb8e86a5584adf4636650e",
273
  "shasum": ""
274
  },
275
  "require-dev": {
276
  "codeinwp/phpcs-ruleset": "dev-main"
277
  },
278
+ "time": "2022-05-12T11:55:06+00:00",
279
  "type": "library",
280
  "installation-source": "dist",
281
  "notification-url": "https://packagist.org/downloads/",
296
  ],
297
  "support": {
298
  "issues": "https://github.com/Codeinwp/themeisle-sdk/issues",
299
+ "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.2.26"
300
  },
301
  "install-path": "../codeinwp/themeisle-sdk"
302
  },
303
  {
304
  "name": "guzzlehttp/psr7",
305
+ "version": "1.9.0",
306
+ "version_normalized": "1.9.0.0",
307
  "source": {
308
  "type": "git",
309
  "url": "https://github.com/guzzle/psr7.git",
310
+ "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318"
311
  },
312
  "dist": {
313
  "type": "zip",
314
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318",
315
+ "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318",
316
  "shasum": ""
317
  },
318
  "require": {
330
  "suggest": {
331
  "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
332
  },
333
+ "time": "2022-06-20T21:43:03+00:00",
334
  "type": "library",
335
  "extra": {
336
  "branch-alias": {
337
+ "dev-master": "1.9-dev"
338
  }
339
  },
340
  "installation-source": "dist",
395
  ],
396
  "support": {
397
  "issues": "https://github.com/guzzle/psr7/issues",
398
+ "source": "https://github.com/guzzle/psr7/tree/1.9.0"
399
  },
400
  "funding": [
401
  {
vendor/composer/installed.php CHANGED
@@ -1,109 +1,109 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'v2.10.12',
4
- 'version' => '2.10.12.0',
 
 
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '408262b9cd669c1c22dc51a28ba4f0800b176c95',
9
- 'name' => 'codeinwp/themeisle-companion',
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'clue/stream-filter' => array(
14
- 'pretty_version' => 'v1.5.0',
15
- 'version' => '1.5.0.0',
 
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../clue/stream-filter',
18
  'aliases' => array(),
19
- 'reference' => 'aeb7d8ea49c7963d3b581378955dbf5bc49aa320',
20
  'dev_requirement' => false,
21
  ),
22
  'codeinwp/elementor-extra-widgets' => array(
23
  'pretty_version' => 'dev-master',
24
  'version' => 'dev-master',
 
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../codeinwp/elementor-extra-widgets',
27
  'aliases' => array(
28
  0 => '9999999-dev',
29
  ),
30
- 'reference' => 'c6121466d107952821d35bec364983a88fbddab5',
31
  'dev_requirement' => false,
32
  ),
33
  'codeinwp/full-width-page-templates' => array(
34
  'pretty_version' => 'dev-master',
35
  'version' => 'dev-master',
 
36
  'type' => 'library',
37
  'install_path' => __DIR__ . '/../codeinwp/full-width-page-templates',
38
  'aliases' => array(
39
  0 => '9999999-dev',
40
  ),
41
- 'reference' => 'ac15bbb1295d39baf28978c7d9c04fed21ea3429',
42
  'dev_requirement' => false,
43
  ),
44
  'codeinwp/gutenberg-blocks' => array(
45
  'pretty_version' => '1.6.9',
46
  'version' => '1.6.9.0',
 
47
  'type' => 'library',
48
  'install_path' => __DIR__ . '/../codeinwp/gutenberg-blocks',
49
  'aliases' => array(),
50
- 'reference' => 'c58fc700fe616d8b4f6029c109a869257d6daeed',
51
  'dev_requirement' => false,
52
  ),
53
  'codeinwp/themeisle-companion' => array(
54
- 'pretty_version' => 'v2.10.12',
55
- 'version' => '2.10.12.0',
 
56
  'type' => 'wordpress-plugin',
57
  'install_path' => __DIR__ . '/../../',
58
  'aliases' => array(),
59
- 'reference' => '408262b9cd669c1c22dc51a28ba4f0800b176c95',
60
  'dev_requirement' => false,
61
  ),
62
  'codeinwp/themeisle-content-forms' => array(
63
  'pretty_version' => 'dev-master',
64
  'version' => 'dev-master',
 
65
  'type' => 'library',
66
  'install_path' => __DIR__ . '/../codeinwp/themeisle-content-forms',
67
  'aliases' => array(
68
  0 => '9999999-dev',
69
  ),
70
- 'reference' => '73f9d5696603b0aa2e25b9c035e4abfaf5bd2d68',
71
  'dev_requirement' => false,
72
  ),
73
  'codeinwp/themeisle-sdk' => array(
74
- 'pretty_version' => '3.2.24',
75
- 'version' => '3.2.24.0',
 
76
  'type' => 'library',
77
  'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk',
78
  'aliases' => array(),
79
- 'reference' => 'e5c171e33120fdf8ce6dd3a7bddad984583023f0',
80
  'dev_requirement' => false,
81
  ),
82
  'guzzlehttp/psr7' => array(
83
- 'pretty_version' => '1.8.3',
84
- 'version' => '1.8.3.0',
 
85
  'type' => 'library',
86
  'install_path' => __DIR__ . '/../guzzlehttp/psr7',
87
  'aliases' => array(),
88
- 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85',
89
  'dev_requirement' => false,
90
  ),
91
  'mailerlite/mailerlite-api-v2-php-sdk' => array(
92
  'pretty_version' => '0.2.3',
93
  'version' => '0.2.3.0',
 
94
  'type' => 'library',
95
  'install_path' => __DIR__ . '/../mailerlite/mailerlite-api-v2-php-sdk',
96
  'aliases' => array(),
97
- 'reference' => '2bae0aac12c4588bc0197d2e2dde5a55429b9e44',
98
  'dev_requirement' => false,
99
  ),
100
  'masterminds/html5' => array(
101
  'pretty_version' => '2.7.5',
102
  'version' => '2.7.5.0',
 
103
  'type' => 'library',
104
  'install_path' => __DIR__ . '/../masterminds/html5',
105
  'aliases' => array(),
106
- 'reference' => 'f640ac1bdddff06ea333a920c95bbad8872429ab',
107
  'dev_requirement' => false,
108
  ),
109
  'php-http/async-client-implementation' => array(
@@ -121,46 +121,46 @@
121
  'php-http/curl-client' => array(
122
  'pretty_version' => 'v1.7.1',
123
  'version' => '1.7.1.0',
 
124
  'type' => 'library',
125
  'install_path' => __DIR__ . '/../php-http/curl-client',
126
  'aliases' => array(),
127
- 'reference' => '6341a93d00e5d953fc868a3928b5167e6513f2b6',
128
  'dev_requirement' => false,
129
  ),
130
  'php-http/discovery' => array(
131
  'pretty_version' => '1.6.1',
132
  'version' => '1.6.1.0',
 
133
  'type' => 'library',
134
  'install_path' => __DIR__ . '/../php-http/discovery',
135
  'aliases' => array(),
136
- 'reference' => '684855f2c2e9d0a61868b8f8d6bd0295c8a4b651',
137
  'dev_requirement' => false,
138
  ),
139
  'php-http/httplug' => array(
140
  'pretty_version' => 'v1.1.0',
141
  'version' => '1.1.0.0',
 
142
  'type' => 'library',
143
  'install_path' => __DIR__ . '/../php-http/httplug',
144
  'aliases' => array(),
145
- 'reference' => '1c6381726c18579c4ca2ef1ec1498fdae8bdf018',
146
  'dev_requirement' => false,
147
  ),
148
  'php-http/message' => array(
149
  'pretty_version' => '1.7.2',
150
  'version' => '1.7.2.0',
 
151
  'type' => 'library',
152
  'install_path' => __DIR__ . '/../php-http/message',
153
  'aliases' => array(),
154
- 'reference' => 'b159ffe570dffd335e22ef0b91a946eacb182fa1',
155
  'dev_requirement' => false,
156
  ),
157
  'php-http/message-factory' => array(
158
  'pretty_version' => 'v1.0.2',
159
  'version' => '1.0.2.0',
 
160
  'type' => 'library',
161
  'install_path' => __DIR__ . '/../php-http/message-factory',
162
  'aliases' => array(),
163
- 'reference' => 'a478cb11f66a6ac48d8954216cfed9aa06a501a1',
164
  'dev_requirement' => false,
165
  ),
166
  'php-http/message-factory-implementation' => array(
@@ -172,19 +172,19 @@
172
  'php-http/promise' => array(
173
  'pretty_version' => 'v1.0.0',
174
  'version' => '1.0.0.0',
 
175
  'type' => 'library',
176
  'install_path' => __DIR__ . '/../php-http/promise',
177
  'aliases' => array(),
178
- 'reference' => 'dc494cdc9d7160b9a09bd5573272195242ce7980',
179
  'dev_requirement' => false,
180
  ),
181
  'psr/http-message' => array(
182
  'pretty_version' => '1.0.1',
183
  'version' => '1.0.1.0',
 
184
  'type' => 'library',
185
  'install_path' => __DIR__ . '/../psr/http-message',
186
  'aliases' => array(),
187
- 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363',
188
  'dev_requirement' => false,
189
  ),
190
  'psr/http-message-implementation' => array(
@@ -196,19 +196,19 @@
196
  'ralouphie/getallheaders' => array(
197
  'pretty_version' => '3.0.3',
198
  'version' => '3.0.3.0',
 
199
  'type' => 'library',
200
  'install_path' => __DIR__ . '/../ralouphie/getallheaders',
201
  'aliases' => array(),
202
- 'reference' => '120b605dfeb996808c31b6477290a714d356e822',
203
  'dev_requirement' => false,
204
  ),
205
  'tubalmartin/cssmin' => array(
206
  'pretty_version' => 'v4.1.1',
207
  'version' => '4.1.1.0',
 
208
  'type' => 'library',
209
  'install_path' => __DIR__ . '/../tubalmartin/cssmin',
210
  'aliases' => array(),
211
- 'reference' => '3cbf557f4079d83a06f9c3ff9b957c022d7805cf',
212
  'dev_requirement' => false,
213
  ),
214
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'name' => 'codeinwp/themeisle-companion',
4
+ 'pretty_version' => 'v2.10.13',
5
+ 'version' => '2.10.13.0',
6
+ 'reference' => '65ba04d8e6877a168952a474f43c3d010ce74b48',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
 
 
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'clue/stream-filter' => array(
14
+ 'pretty_version' => 'v1.6.0',
15
+ 'version' => '1.6.0.0',
16
+ 'reference' => 'd6169430c7731d8509da7aecd0af756a5747b78e',
17
  'type' => 'library',
18
  'install_path' => __DIR__ . '/../clue/stream-filter',
19
  'aliases' => array(),
 
20
  'dev_requirement' => false,
21
  ),
22
  'codeinwp/elementor-extra-widgets' => array(
23
  'pretty_version' => 'dev-master',
24
  'version' => 'dev-master',
25
+ 'reference' => 'c6121466d107952821d35bec364983a88fbddab5',
26
  'type' => 'library',
27
  'install_path' => __DIR__ . '/../codeinwp/elementor-extra-widgets',
28
  'aliases' => array(
29
  0 => '9999999-dev',
30
  ),
 
31
  'dev_requirement' => false,
32
  ),
33
  'codeinwp/full-width-page-templates' => array(
34
  'pretty_version' => 'dev-master',
35
  'version' => 'dev-master',
36
+ 'reference' => 'ac15bbb1295d39baf28978c7d9c04fed21ea3429',
37
  'type' => 'library',
38
  'install_path' => __DIR__ . '/../codeinwp/full-width-page-templates',
39
  'aliases' => array(
40
  0 => '9999999-dev',
41
  ),
 
42
  'dev_requirement' => false,
43
  ),
44
  'codeinwp/gutenberg-blocks' => array(
45
  'pretty_version' => '1.6.9',
46
  'version' => '1.6.9.0',
47
+ 'reference' => 'c58fc700fe616d8b4f6029c109a869257d6daeed',
48
  'type' => 'library',
49
  'install_path' => __DIR__ . '/../codeinwp/gutenberg-blocks',
50
  'aliases' => array(),
 
51
  'dev_requirement' => false,
52
  ),
53
  'codeinwp/themeisle-companion' => array(
54
+ 'pretty_version' => 'v2.10.13',
55
+ 'version' => '2.10.13.0',
56
+ 'reference' => '65ba04d8e6877a168952a474f43c3d010ce74b48',
57
  'type' => 'wordpress-plugin',
58
  'install_path' => __DIR__ . '/../../',
59
  'aliases' => array(),
 
60
  'dev_requirement' => false,
61
  ),
62
  'codeinwp/themeisle-content-forms' => array(
63
  'pretty_version' => 'dev-master',
64
  'version' => 'dev-master',
65
+ 'reference' => '73f9d5696603b0aa2e25b9c035e4abfaf5bd2d68',
66
  'type' => 'library',
67
  'install_path' => __DIR__ . '/../codeinwp/themeisle-content-forms',
68
  'aliases' => array(
69
  0 => '9999999-dev',
70
  ),
 
71
  'dev_requirement' => false,
72
  ),
73
  'codeinwp/themeisle-sdk' => array(
74
+ 'pretty_version' => '3.2.26',
75
+ 'version' => '3.2.26.0',
76
+ 'reference' => 'a4451041bb97a325c7bb8e86a5584adf4636650e',
77
  'type' => 'library',
78
  'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk',
79
  'aliases' => array(),
 
80
  'dev_requirement' => false,
81
  ),
82
  'guzzlehttp/psr7' => array(
83
+ 'pretty_version' => '1.9.0',
84
+ 'version' => '1.9.0.0',
85
+ 'reference' => 'e98e3e6d4f86621a9b75f623996e6bbdeb4b9318',
86
  'type' => 'library',
87
  'install_path' => __DIR__ . '/../guzzlehttp/psr7',
88
  'aliases' => array(),
 
89
  'dev_requirement' => false,
90
  ),
91
  'mailerlite/mailerlite-api-v2-php-sdk' => array(
92
  'pretty_version' => '0.2.3',
93
  'version' => '0.2.3.0',
94
+ 'reference' => '2bae0aac12c4588bc0197d2e2dde5a55429b9e44',
95
  'type' => 'library',
96
  'install_path' => __DIR__ . '/../mailerlite/mailerlite-api-v2-php-sdk',
97
  'aliases' => array(),
 
98
  'dev_requirement' => false,
99
  ),
100
  'masterminds/html5' => array(
101
  'pretty_version' => '2.7.5',
102
  'version' => '2.7.5.0',
103
+ 'reference' => 'f640ac1bdddff06ea333a920c95bbad8872429ab',
104
  'type' => 'library',
105
  'install_path' => __DIR__ . '/../masterminds/html5',
106
  'aliases' => array(),
 
107
  'dev_requirement' => false,
108
  ),
109
  'php-http/async-client-implementation' => array(
121
  'php-http/curl-client' => array(
122
  'pretty_version' => 'v1.7.1',
123
  'version' => '1.7.1.0',
124
+ 'reference' => '6341a93d00e5d953fc868a3928b5167e6513f2b6',
125
  'type' => 'library',
126
  'install_path' => __DIR__ . '/../php-http/curl-client',
127
  'aliases' => array(),
 
128
  'dev_requirement' => false,
129
  ),
130
  'php-http/discovery' => array(
131
  'pretty_version' => '1.6.1',
132
  'version' => '1.6.1.0',
133
+ 'reference' => '684855f2c2e9d0a61868b8f8d6bd0295c8a4b651',
134
  'type' => 'library',
135
  'install_path' => __DIR__ . '/../php-http/discovery',
136
  'aliases' => array(),
 
137
  'dev_requirement' => false,
138
  ),
139
  'php-http/httplug' => array(
140
  'pretty_version' => 'v1.1.0',
141
  'version' => '1.1.0.0',
142
+ 'reference' => '1c6381726c18579c4ca2ef1ec1498fdae8bdf018',
143
  'type' => 'library',
144
  'install_path' => __DIR__ . '/../php-http/httplug',
145
  'aliases' => array(),
 
146
  'dev_requirement' => false,
147
  ),
148
  'php-http/message' => array(
149
  'pretty_version' => '1.7.2',
150
  'version' => '1.7.2.0',
151
+ 'reference' => 'b159ffe570dffd335e22ef0b91a946eacb182fa1',
152
  'type' => 'library',
153
  'install_path' => __DIR__ . '/../php-http/message',
154
  'aliases' => array(),
 
155
  'dev_requirement' => false,
156
  ),
157
  'php-http/message-factory' => array(
158
  'pretty_version' => 'v1.0.2',
159
  'version' => '1.0.2.0',
160
+ 'reference' => 'a478cb11f66a6ac48d8954216cfed9aa06a501a1',
161
  'type' => 'library',
162
  'install_path' => __DIR__ . '/../php-http/message-factory',
163
  'aliases' => array(),
 
164
  'dev_requirement' => false,
165
  ),
166
  'php-http/message-factory-implementation' => array(
172
  'php-http/promise' => array(
173
  'pretty_version' => 'v1.0.0',
174
  'version' => '1.0.0.0',
175
+ 'reference' => 'dc494cdc9d7160b9a09bd5573272195242ce7980',
176
  'type' => 'library',
177
  'install_path' => __DIR__ . '/../php-http/promise',
178
  'aliases' => array(),
 
179
  'dev_requirement' => false,
180
  ),
181
  'psr/http-message' => array(
182
  'pretty_version' => '1.0.1',
183
  'version' => '1.0.1.0',
184
+ 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363',
185
  'type' => 'library',
186
  'install_path' => __DIR__ . '/../psr/http-message',
187
  'aliases' => array(),
 
188
  'dev_requirement' => false,
189
  ),
190
  'psr/http-message-implementation' => array(
196
  'ralouphie/getallheaders' => array(
197
  'pretty_version' => '3.0.3',
198
  'version' => '3.0.3.0',
199
+ 'reference' => '120b605dfeb996808c31b6477290a714d356e822',
200
  'type' => 'library',
201
  'install_path' => __DIR__ . '/../ralouphie/getallheaders',
202
  'aliases' => array(),
 
203
  'dev_requirement' => false,
204
  ),
205
  'tubalmartin/cssmin' => array(
206
  'pretty_version' => 'v4.1.1',
207
  'version' => '4.1.1.0',
208
+ 'reference' => '3cbf557f4079d83a06f9c3ff9b957c022d7805cf',
209
  'type' => 'library',
210
  'install_path' => __DIR__ . '/../tubalmartin/cssmin',
211
  'aliases' => array(),
 
212
  'dev_requirement' => false,
213
  ),
214
  ),
vendor/guzzlehttp/psr7/CHANGELOG.md CHANGED
@@ -3,12 +3,30 @@
3
 
4
  All notable changes to this project will be documented in this file.
5
 
6
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
7
- and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
8
 
9
 
10
  ## Unreleased
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  ## 1.8.3 - 2021-10-05
13
 
14
  ### Fixed
3
 
4
  All notable changes to this project will be documented in this file.
5
 
6
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
7
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
 
9
 
10
  ## Unreleased
11
 
12
+ ## 1.9.0 - 2022-06-20
13
+
14
+ ### Added
15
+
16
+ - Added `UriComparator::isCrossOrigin` method
17
+
18
+ ## 1.8.5 - 2022-03-20
19
+
20
+ ### Fixed
21
+
22
+ - Correct header value validation
23
+
24
+ ## 1.8.4 - 2022-03-20
25
+
26
+ ### Fixed
27
+
28
+ - Validate header values properly
29
+
30
  ## 1.8.3 - 2021-10-05
31
 
32
  ### Fixed
vendor/guzzlehttp/psr7/README.md CHANGED
@@ -1,6 +1,6 @@
1
  # PSR-7 Message Implementation
2
 
3
- This repository contains a full [PSR-7](http://www.php-fig.org/psr/psr-7/)
4
  message implementation, several stream decorators, and some helpful
5
  functionality like query string parsing.
6
 
@@ -659,7 +659,7 @@ manually but instead is used indirectly via `Psr\Http\Message\UriInterface::__to
659
 
660
  `public static function fromParts(array $parts): UriInterface`
661
 
662
- Creates a URI from a hash of [`parse_url`](http://php.net/manual/en/function.parse-url.php) components.
663
 
664
 
665
  ### `GuzzleHttp\Psr7\Uri::withQueryValue`
@@ -684,6 +684,16 @@ associative array of key => value.
684
  Creates a new URI with a specific query string value removed. Any existing query string values that exactly match the
685
  provided key are removed.
686
 
 
 
 
 
 
 
 
 
 
 
687
  ## Reference Resolution
688
 
689
  `GuzzleHttp\Psr7\UriResolver` provides methods to resolve a URI reference in the context of a base URI according
@@ -809,14 +819,24 @@ This of course assumes they will be resolved against the same base URI. If this
809
  equivalence or difference of relative references does not mean anything.
810
 
811
 
 
 
 
 
 
 
 
 
812
  ## Security
813
 
814
  If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/psr7/security/policy) for more information.
815
 
 
816
  ## License
817
 
818
  Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
819
 
 
820
  ## For Enterprise
821
 
822
  Available as part of the Tidelift Subscription
1
  # PSR-7 Message Implementation
2
 
3
+ This repository contains a full [PSR-7](https://www.php-fig.org/psr/psr-7/)
4
  message implementation, several stream decorators, and some helpful
5
  functionality like query string parsing.
6
 
659
 
660
  `public static function fromParts(array $parts): UriInterface`
661
 
662
+ Creates a URI from a hash of [`parse_url`](https://www.php.net/manual/en/function.parse-url.php) components.
663
 
664
 
665
  ### `GuzzleHttp\Psr7\Uri::withQueryValue`
684
  Creates a new URI with a specific query string value removed. Any existing query string values that exactly match the
685
  provided key are removed.
686
 
687
+ ## Cross-Origin Detection
688
+
689
+ `GuzzleHttp\Psr7\UriComparator` provides methods to determine if a modified URL should be considered cross-origin.
690
+
691
+ ### `GuzzleHttp\Psr7\UriComparator::isCrossOrigin`
692
+
693
+ `public static function isCrossOrigin(UriInterface $original, UriInterface $modified): bool`
694
+
695
+ Determines if a modified URL should be considered cross-origin with respect to an original URL.
696
+
697
  ## Reference Resolution
698
 
699
  `GuzzleHttp\Psr7\UriResolver` provides methods to resolve a URI reference in the context of a base URI according
819
  equivalence or difference of relative references does not mean anything.
820
 
821
 
822
+ ## Version Guidance
823
+
824
+ | Version | Status | PHP Version |
825
+ |---------|----------------|------------------|
826
+ | 1.x | Security fixes | >=5.4,<8.1 |
827
+ | 2.x | Latest | ^7.2.5 \|\| ^8.0 |
828
+
829
+
830
  ## Security
831
 
832
  If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/psr7/security/policy) for more information.
833
 
834
+
835
  ## License
836
 
837
  Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
838
 
839
+
840
  ## For Enterprise
841
 
842
  Available as part of the Tidelift Subscription
vendor/guzzlehttp/psr7/src/MessageTrait.php CHANGED
@@ -157,17 +157,22 @@ trait MessageTrait
157
  }
158
  }
159
 
 
 
 
 
 
160
  private function normalizeHeaderValue($value)
161
  {
162
  if (!is_array($value)) {
163
- return $this->trimHeaderValues([$value]);
164
  }
165
 
166
  if (count($value) === 0) {
167
  throw new \InvalidArgumentException('Header value can not be an empty array.');
168
  }
169
 
170
- return $this->trimHeaderValues($value);
171
  }
172
 
173
  /**
@@ -178,13 +183,13 @@ trait MessageTrait
178
  * header-field = field-name ":" OWS field-value OWS
179
  * OWS = *( SP / HTAB )
180
  *
181
- * @param string[] $values Header values
182
  *
183
  * @return string[] Trimmed header values
184
  *
185
  * @see https://tools.ietf.org/html/rfc7230#section-3.2.4
186
  */
187
- private function trimHeaderValues(array $values)
188
  {
189
  return array_map(function ($value) {
190
  if (!is_scalar($value) && null !== $value) {
@@ -194,10 +199,20 @@ trait MessageTrait
194
  ));
195
  }
196
 
197
- return trim((string) $value, " \t");
 
 
 
198
  }, array_values($values));
199
  }
200
 
 
 
 
 
 
 
 
201
  private function assertHeader($header)
202
  {
203
  if (!is_string($header)) {
@@ -210,5 +225,46 @@ trait MessageTrait
210
  if ($header === '') {
211
  throw new \InvalidArgumentException('Header name can not be empty.');
212
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  }
214
  }
157
  }
158
  }
159
 
160
+ /**
161
+ * @param mixed $value
162
+ *
163
+ * @return string[]
164
+ */
165
  private function normalizeHeaderValue($value)
166
  {
167
  if (!is_array($value)) {
168
+ return $this->trimAndValidateHeaderValues([$value]);
169
  }
170
 
171
  if (count($value) === 0) {
172
  throw new \InvalidArgumentException('Header value can not be an empty array.');
173
  }
174
 
175
+ return $this->trimAndValidateHeaderValues($value);
176
  }
177
 
178
  /**
183
  * header-field = field-name ":" OWS field-value OWS
184
  * OWS = *( SP / HTAB )
185
  *
186
+ * @param mixed[] $values Header values
187
  *
188
  * @return string[] Trimmed header values
189
  *
190
  * @see https://tools.ietf.org/html/rfc7230#section-3.2.4
191
  */
192
+ private function trimAndValidateHeaderValues(array $values)
193
  {
194
  return array_map(function ($value) {
195
  if (!is_scalar($value) && null !== $value) {
199
  ));
200
  }
201
 
202
+ $trimmed = trim((string) $value, " \t");
203
+ $this->assertValue($trimmed);
204
+
205
+ return $trimmed;
206
  }, array_values($values));
207
  }
208
 
209
+ /**
210
+ * @see https://tools.ietf.org/html/rfc7230#section-3.2
211
+ *
212
+ * @param mixed $header
213
+ *
214
+ * @return void
215
+ */
216
  private function assertHeader($header)
217
  {
218
  if (!is_string($header)) {
225
  if ($header === '') {
226
  throw new \InvalidArgumentException('Header name can not be empty.');
227
  }
228
+
229
+ if (! preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/', $header)) {
230
+ throw new \InvalidArgumentException(
231
+ sprintf(
232
+ '"%s" is not valid header name',
233
+ $header
234
+ )
235
+ );
236
+ }
237
+ }
238
+
239
+ /**
240
+ * @param string $value
241
+ *
242
+ * @return void
243
+ *
244
+ * @see https://tools.ietf.org/html/rfc7230#section-3.2
245
+ *
246
+ * field-value = *( field-content / obs-fold )
247
+ * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
248
+ * field-vchar = VCHAR / obs-text
249
+ * VCHAR = %x21-7E
250
+ * obs-text = %x80-FF
251
+ * obs-fold = CRLF 1*( SP / HTAB )
252
+ */
253
+ private function assertValue($value)
254
+ {
255
+ // The regular expression intentionally does not support the obs-fold production, because as
256
+ // per RFC 7230#3.2.4:
257
+ //
258
+ // A sender MUST NOT generate a message that includes
259
+ // line folding (i.e., that has any field-value that contains a match to
260
+ // the obs-fold rule) unless the message is intended for packaging
261
+ // within the message/http media type.
262
+ //
263
+ // Clients must not send a request with line folding and a server sending folded headers is
264
+ // likely very rare. Line folding is a fairly obscure feature of HTTP/1.1 and thus not accepting
265
+ // folding is not likely to break any legitimate use case.
266
+ if (! preg_match('/^[\x20\x09\x21-\x7E\x80-\xFF]*$/', $value)) {
267
+ throw new \InvalidArgumentException(sprintf('"%s" is not valid header value', $value));
268
+ }
269
  }
270
  }
vendor/guzzlehttp/psr7/src/UriComparator.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GuzzleHttp\Psr7;
4
+
5
+ use Psr\Http\Message\UriInterface;
6
+
7
+ /**
8
+ * Provides methods to determine if a modified URL should be considered cross-origin.
9
+ *
10
+ * @author Graham Campbell
11
+ */
12
+ final class UriComparator
13
+ {
14
+ /**
15
+ * Determines if a modified URL should be considered cross-origin with
16
+ * respect to an original URL.
17
+ *
18
+ * @return bool
19
+ */
20
+ public static function isCrossOrigin(UriInterface $original, UriInterface $modified)
21
+ {
22
+ if (\strcasecmp($original->getHost(), $modified->getHost()) !== 0) {
23
+ return true;
24
+ }
25
+
26
+ if ($original->getScheme() !== $modified->getScheme()) {
27
+ return true;
28
+ }
29
+
30
+ if (self::computePort($original) !== self::computePort($modified)) {
31
+ return true;
32
+ }
33
+
34
+ return false;
35
+ }
36
+
37
+ /**
38
+ * @return int
39
+ */
40
+ private static function computePort(UriInterface $uri)
41
+ {
42
+ $port = $uri->getPort();
43
+
44
+ if (null !== $port) {
45
+ return $port;
46
+ }
47
+
48
+ return 'https' === $uri->getScheme() ? 443 : 80;
49
+ }
50
+
51
+ private function __construct()
52
+ {
53
+ // cannot be instantiated
54
+ }
55
+ }