diff --git a/CHANGELOG.txt b/CHANGELOG.txt index af3f52fc..709a6035 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,4 +1,9 @@ == Changelog == += 6.12.26 - Jan 30, 2024 = +- Improved compatibility with the WPML plugin. Fixed an issue where translation loading for the `sitepress-multilingual-cs` domain was triggered too early on some ecommerce sites. +- Fixed an issue where refreshing a product page would sometimes redirect users to the main storefront page. +- Internal improvements and optimizations. + = 6.12.25 - Jan 16, 2024 = - Improved display of storefront element animation. - High resource consumption caused by inefficient queries has been fixed. diff --git a/composer.json b/composer.json index 9a0eda3e..bb78876b 100644 --- a/composer.json +++ b/composer.json @@ -4,6 +4,13 @@ }, "require-dev": { "phpunit/phpunit": "^8", - "yoast/phpunit-polyfills": "^2.0" + "yoast/phpunit-polyfills": "^2.0", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7", + "phpcompatibility/phpcompatibility-wp": "*" + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } } -} +} \ No newline at end of file diff --git a/css/gutenberg/blocks.editor.build.css b/css/gutenberg/blocks.editor.build.css index 03d0377b..53a242d4 100644 --- a/css/gutenberg/blocks.editor.build.css +++ b/css/gutenberg/blocks.editor.build.css @@ -1,4 +1,4 @@ -.components-toolbar__control.components-button:not(:disabled).is-pressed>svg rect{fill:white}.components-toolbar div:first-child .components-button.components-button.ecwid-toolbar-icon{padding-left:6px}.components-toolbar div:last-child .components-button.components-button.ecwid-toolbar-icon{padding-right:6px}.components-toolbar div>.components-button.components-button.ecwid-toolbar-icon{padding:0}.block-editor-block-icon.has-colors svg.ec-store-icon-color{color:#0087cd}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#f8f9f9;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ecwid-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ecwid-block .ecwid-block-header{font-weight:600;margin-bottom:1em}.ecwid-block .ecwid-block-header svg{max-height:20px;margin-right:1ch}.ecwid-block .ecwid-store-block-icon,.ecwid-block .ecwid-product-block-icon{margin-right:10px}.ecwid-block .ecwid-block-image{height:90px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ecwid-block .ecwid-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-block .ecwid-block-title{margin-top:11px;margin-bottom:1em}.ecwid-block .ecwid-block-button{font-weight:400}.ecwid-selected-product{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif}.ecwid-selected-product>div{display:table-cell}.ecwid-selected-product .ecwid-selected-product-image img{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-selected-product .ecwid-selected-product-image{padding-right:25px;vertical-align:top}.ecwid-selected-product .ecwid-selected-product-details{vertical-align:middle}.ecwid-selected-product .ecwid-selected-product-name{font-size:20px;font-weight:600;margin-bottom:0.5em}.ecwid-selected-product .ecwid-selected-product-sku{font-size:16px;margin-bottom:1em}.media-frame-content.has-selected-product form,.media-frame-content.has-selected-product .products,.media-frame-content.has-selected-product .tablenav{display:none}#ecwid-product-popup-content .media-frame-content.ecwid-selected-product{padding-left:20px;padding-top:40px}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ec-store-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#ffffff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ec-store-block-product{background:none;display:inline-block}.ec-store-block-product svg{margin:auto}.ec-store-product-title{font-weight:600;font-size:14px;color:#555;margin-top:5px}.ec-store-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:1em;line-height:24px}.ec-store-block .ec-store-block-header svg{max-height:24px;margin-right:1ch}.ec-store-block .ec-store-block-subheader{font-size:16px;font-weight:bold;line-height:24px;letter-spacing:-.1px;margin:16px 0 0}.ec-store-block .ec-store-block-subheader:first-child{margin-top:0}.ec-store-block .ec-store-store-block-icon,.ec-store-block .ec-store-product-block-icon{margin-right:10px}.ec-store-block .ec-store-block-image{max-height:149px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ec-store-block .ec-store-block-image img{width:auto;max-height:149px;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);-o-object-fit:cover;object-fit:cover}.ec-store-block-product .ec-store-block-image,.ec-store-block-product .ec-store-block-product-preview{height:180px;min-width:180px}.ec-store-block-product .ec-store-block-product-preview{border:1px solid rgba(145,151,162,0.25)}.ec-store-block-minicart{min-height:180px;min-width:180px;display:inline-block;background:none;position:relative}.ec-store-block-minicart .image{background:url("../../images/gutenberg/minicart-widget-preview.png") 50% 50% no-repeat;background-size:50%;position:absolute;left:0;top:0;right:0;bottom:0}.ec-store-block .ec-store-block-title{margin-top:11px;margin-bottom:1em}.ec-store-block .ec-store-block-button{font-weight:400;margin-top:11px}.ec-store-block>.ec-store-products{display:block}.ec-store-products .ec-store-product-block{width:130px;margin:15px;display:inline-block}.ec-store-products .ec-store-product-block .ec-store-product{width:130px;height:130px;background-size:100% 100%}.ec-store-products .ec-store-product-block .ec-store-stub-sample{width:130px;height:40px;margin:0;background:url("../../images/gutenberg/stub-sample.png") no-repeat;background-position:center}.ec-store-products .ec-store-product-block.ec-store-product-filter{vertical-align:top}.ec-store-products .ec-store-product-block.ec-store-product-filter .ec-store-stub-sample{height:130px;background:url("../../images/gutenberg/stub-filter.png") no-repeat;background-size:contain}.ec-store-product1{background:url("../../images/gutenberg/store1.png")}.ec-store-product2{background:url("../../images/gutenberg/store2.png")}.ec-store-product3{background:url("../../images/gutenberg/store3.png")}.ec-store-product4{background:url("../../images/gutenberg/store4.png")}.ec-store-product5{background:url("../../images/gutenberg/store5.png")}.ec-store-product6{background:url("../../images/gutenberg/store6.png")}.ec-store-product-y_sneaker{background:url("../../images/gutenberg/y_sneaker.png")}.ec-store-product-y_shirt{background:url("../../images/gutenberg/y_shirt.png")}.ec-store-product-y_watch{background:url("../../images/gutenberg/y_watch.png")}.ec-store-product-y_bag{background:url("../../images/gutenberg/y_bag.png")}.ec-store-product-y_hat{background:url("../../images/gutenberg/y_hat.png")}.ec-store-product-g_sneaker{background:url("../../images/gutenberg/g_sneaker.png")}.ec-store-product-g_shirt{background:url("../../images/gutenberg/g_shirt.png")}.ec-store-product-g_watch{background:url("../../images/gutenberg/g_watch.png")}.ec-store-product-g_bag{background:url("../../images/gutenberg/g_bag.png")}.ec-store-product-g_hat{background:url("../../images/gutenberg/g_hat.png")}.ec-store-product-p_sneaker{background:url("../../images/gutenberg/p_sneaker.png")}.ec-store-product-p_shirt{background:url("../../images/gutenberg/p_shirt.png")}.ec-store-product-b_hat{background:url("../../images/gutenberg/b_hat.png")}.ec-store-product-b_watch{background:url("../../images/gutenberg/b_watch.png")}.ec-store-product-m_sneaker{background:url("../../images/gutenberg/m_sneaker.png")}.ec-store-category-shirt{background:url("../../images/gutenberg/categories1.png")}.ec-store-category-sneaker{background:url("../../images/gutenberg/categories2.png")}.ec-store-category-bag{background:url("../../images/gutenberg/categories4.png")}.ec-store-category-hat{background:url("../../images/gutenberg/categories3.png")}.ec-store-category-watch{background:url("../../images/gutenberg/categories5.png")}.ec-store-category-glasses{background:url("../../images/gutenberg/categories6.png")}.ec-store-color-picker .component-color-indicator{vertical-align:text-bottom;margin-left:0.5rem;margin-bottom:-0.2rem}.ec-store-color-picker .components-color-palette{margin-top:.6rem}.ec-store-color-picker select{margin:6px 0 10px}.ec-store-inspector-subheader-row{margin-bottom:20px}.ec-store-inspector-row{-ms-flex-pack:justify;justify-content:space-between;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin:15px 0}.ec-store-inspector-row label,.ec-store-inspector-row button{display:block}.ec-store-inspector-subheader{color:#191e23;font-weight:600;cursor:default}.ec-store-inspector-select{max-width:100%}.ec-store-control-select{width:100%}.ec-store-inspector-button-group{display:block}.ec-store-generic-block>div{display:block}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:24px;line-height:24px;display:-ms-flexbox;display:flex;color:#979797}.ec-store-block .ec-store-block-header svg{max-height:20px;margin-right:.5ch;fill:#979797}.ec-store-generic-block,.ec-store-block-categories{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);box-shadow:0 2px 4px 0 rgba(0,0,0,0.2)}.ec-store-inspector-radio .components-radio-control__option,.ec-store-inspector-radio .components-radio-control__option input,.ec-store-inspector-radio .components-radio-control__option label{display:-ms-flexbox;display:flex;min-width:20px}.ec-store-inspector-radio .components-base-control__field>label{margin-bottom:12px}.ec-store-inspector-radio .components-radio-control__option label{margin-top:-2px}.ec-store-inspector-radio__title{font-weight:600}.ec-store-categories{background-size:contain}.ec-store-categories-category1{background:url("../../images/gutenberg/categories1.png")}.ec-store-categories-category2{background:url("../../images/gutenberg/categories2.png")}.ec-store-categories-category3{background:url("../../images/gutenberg/categories3.png")}.ec-store-categories-category4{background:url("../../images/gutenberg/categories4.png")}.block-editor-inserter__preview-container .ec-store-products>div,.block-editor-inserter__preview-container .ec-store-category-products>div{margin:5px}.block-editor-inserter__panel-header .ec-store-icon{width:18px;height:18px;margin-bottom:1px}.wp-block[data-type="ecwid/store-block"]{max-width:95% !important}.wp-block[data-type="ecwid/store-block"] .ec-store-with-stub{max-width:610px;margin:0 auto}.wp-block[data-type="ecwid/store-block"] #ec-store-preview{min-height:150px !important}.wp-block[data-type="ecwid/store-block"] #ec-store-search-preview,.wp-block[data-type="ecwid/store-block"] #ec-store-categories-preview{margin-bottom:1.25em} +.components-toolbar__control.components-button:not(:disabled).is-pressed>svg rect{fill:white}.components-toolbar div:first-child .components-button.components-button.ecwid-toolbar-icon{padding-left:6px}.components-toolbar div:last-child .components-button.components-button.ecwid-toolbar-icon{padding-right:6px}.components-toolbar div>.components-button.components-button.ecwid-toolbar-icon{padding:0}.block-editor-block-icon.has-colors svg.ec-store-icon-color{color:#0087cd}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#f8f9f9;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ecwid-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ecwid-block .ecwid-block-header{font-weight:600;margin-bottom:1em}.ecwid-block .ecwid-block-header svg{max-height:20px;margin-right:1ch}.ecwid-block .ecwid-store-block-icon,.ecwid-block .ecwid-product-block-icon{margin-right:10px}.ecwid-block .ecwid-block-image{height:90px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ecwid-block .ecwid-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-block .ecwid-block-title{margin-top:11px;margin-bottom:1em}.ecwid-block .ecwid-block-button{font-weight:400}.ecwid-selected-product{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif}.ecwid-selected-product>div{display:table-cell}.ecwid-selected-product .ecwid-selected-product-image img{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-selected-product .ecwid-selected-product-image{padding-right:25px;vertical-align:top}.ecwid-selected-product .ecwid-selected-product-details{vertical-align:middle}.ecwid-selected-product .ecwid-selected-product-name{font-size:20px;font-weight:600;margin-bottom:0.5em}.ecwid-selected-product .ecwid-selected-product-sku{font-size:16px;margin-bottom:1em}.media-frame-content.has-selected-product form,.media-frame-content.has-selected-product .products,.media-frame-content.has-selected-product .tablenav{display:none}#ecwid-product-popup-content .media-frame-content.ecwid-selected-product{padding-left:20px;padding-top:40px}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ec-store-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#ffffff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ec-store-block-product{background:none;display:inline-block}.ec-store-block-product svg{margin:auto}.ec-store-product-title{font-weight:600;font-size:14px;color:#555;margin-top:5px}.ec-store-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:1em;line-height:24px}.ec-store-block .ec-store-block-header svg{max-height:24px;margin-right:1ch}.ec-store-block .ec-store-block-subheader{font-size:16px;font-weight:bold;line-height:24px;letter-spacing:-.1px;margin:16px 0 0}.ec-store-block .ec-store-block-subheader:first-child{margin-top:0}.ec-store-block .ec-store-store-block-icon,.ec-store-block .ec-store-product-block-icon{margin-right:10px}.ec-store-block .ec-store-block-image{max-height:149px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ec-store-block .ec-store-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);-o-object-fit:cover;object-fit:cover}.ec-store-block-product .ec-store-block-image,.ec-store-block-product .ec-store-block-product-preview{height:180px;min-width:180px}.ec-store-block-product .ec-store-block-product-preview{border:1px solid rgba(145,151,162,0.25)}.ec-store-block-minicart{min-height:180px;min-width:180px;display:inline-block;background:none;position:relative}.ec-store-block-minicart .image{background:url("../../images/gutenberg/minicart-widget-preview.png") 50% 50% no-repeat;background-size:50%;position:absolute;left:0;top:0;right:0;bottom:0}.ec-store-block .ec-store-block-title{margin-top:11px;margin-bottom:1em}.ec-store-block .ec-store-block-button{font-weight:400;margin-top:11px}.ec-store-block>.ec-store-products{display:block}.ec-store-products .ec-store-product-block{width:130px;margin:15px;display:inline-block}.ec-store-products .ec-store-product-block .ec-store-product{width:130px;height:130px;background-size:100% 100%}.ec-store-products .ec-store-product-block .ec-store-stub-sample{width:130px;height:40px;margin:0;background:url("../../images/gutenberg/stub-sample.png") no-repeat;background-position:center}.ec-store-products .ec-store-product-block.ec-store-product-filter{vertical-align:top}.ec-store-products .ec-store-product-block.ec-store-product-filter .ec-store-stub-sample{height:130px;background:url("../../images/gutenberg/stub-filter.png") no-repeat;background-size:contain}.ec-store-product1{background:url("../../images/gutenberg/store1.png")}.ec-store-product2{background:url("../../images/gutenberg/store2.png")}.ec-store-product3{background:url("../../images/gutenberg/store3.png")}.ec-store-product4{background:url("../../images/gutenberg/store4.png")}.ec-store-product5{background:url("../../images/gutenberg/store5.png")}.ec-store-product6{background:url("../../images/gutenberg/store6.png")}.ec-store-product-y_sneaker{background:url("../../images/gutenberg/y_sneaker.png")}.ec-store-product-y_shirt{background:url("../../images/gutenberg/y_shirt.png")}.ec-store-product-y_watch{background:url("../../images/gutenberg/y_watch.png")}.ec-store-product-y_bag{background:url("../../images/gutenberg/y_bag.png")}.ec-store-product-y_hat{background:url("../../images/gutenberg/y_hat.png")}.ec-store-product-g_sneaker{background:url("../../images/gutenberg/g_sneaker.png")}.ec-store-product-g_shirt{background:url("../../images/gutenberg/g_shirt.png")}.ec-store-product-g_watch{background:url("../../images/gutenberg/g_watch.png")}.ec-store-product-g_bag{background:url("../../images/gutenberg/g_bag.png")}.ec-store-product-g_hat{background:url("../../images/gutenberg/g_hat.png")}.ec-store-product-p_sneaker{background:url("../../images/gutenberg/p_sneaker.png")}.ec-store-product-p_shirt{background:url("../../images/gutenberg/p_shirt.png")}.ec-store-product-b_hat{background:url("../../images/gutenberg/b_hat.png")}.ec-store-product-b_watch{background:url("../../images/gutenberg/b_watch.png")}.ec-store-product-m_sneaker{background:url("../../images/gutenberg/m_sneaker.png")}.ec-store-category-shirt{background:url("../../images/gutenberg/categories1.png")}.ec-store-category-sneaker{background:url("../../images/gutenberg/categories2.png")}.ec-store-category-bag{background:url("../../images/gutenberg/categories4.png")}.ec-store-category-hat{background:url("../../images/gutenberg/categories3.png")}.ec-store-category-watch{background:url("../../images/gutenberg/categories5.png")}.ec-store-category-glasses{background:url("../../images/gutenberg/categories6.png")}.ec-store-color-picker .component-color-indicator{vertical-align:text-bottom;margin-left:0.5rem;margin-bottom:-0.2rem}.ec-store-color-picker .components-color-palette{margin-top:.6rem}.ec-store-color-picker select{margin:6px 0 10px}.ec-store-inspector-subheader-row{margin-bottom:20px}.ec-store-inspector-row{-ms-flex-pack:justify;justify-content:space-between;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin:15px 0}.ec-store-inspector-row label,.ec-store-inspector-row button{display:block}.ec-store-inspector-subheader{color:#191e23;font-weight:600;cursor:default}.ec-store-inspector-select{max-width:100%}.ec-store-control-select{width:100%}.ec-store-inspector-button-group{display:block}.ec-store-generic-block>div{display:block}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:24px;line-height:24px;display:-ms-flexbox;display:flex;color:#979797}.ec-store-block .ec-store-block-header svg{max-height:20px;margin-right:.5ch;fill:#979797}.ec-store-generic-block,.ec-store-block-categories{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);box-shadow:0 2px 4px 0 rgba(0,0,0,0.2)}.ec-store-inspector-radio .components-radio-control__option,.ec-store-inspector-radio .components-radio-control__option input,.ec-store-inspector-radio .components-radio-control__option label{display:-ms-flexbox;display:flex;min-width:16px;min-width:16px}.ec-store-inspector-radio .components-base-control__field>label{margin-bottom:12px}.ec-store-inspector-radio .components-radio-control__option label{margin-top:-2px}.ec-store-inspector-radio__title{font-weight:600}.ec-store-categories{background-size:contain}.ec-store-categories-category1{background:url("../../images/gutenberg/categories1.png")}.ec-store-categories-category2{background:url("../../images/gutenberg/categories2.png")}.ec-store-categories-category3{background:url("../../images/gutenberg/categories3.png")}.ec-store-categories-category4{background:url("../../images/gutenberg/categories4.png")}.block-editor-inserter__preview-container .ec-store-products>div,.block-editor-inserter__preview-container .ec-store-category-products>div{margin:5px}.block-editor-inserter__panel-header .ec-store-icon{width:18px;height:18px;margin-bottom:1px}.wp-block[data-type="ecwid/store-block"]{max-width:95% !important}.wp-block[data-type="ecwid/store-block"] .ec-store-with-stub{max-width:610px;margin:0 auto}.wp-block[data-type="ecwid/store-block"] #ec-store-preview{min-height:150px !important}.wp-block[data-type="ecwid/store-block"] #ec-store-search-preview,.wp-block[data-type="ecwid/store-block"] #ec-store-categories-preview{margin-bottom:1.25em} .wp-block-cgb-block-my-block2{background:#bada55;border:0.2rem solid #292929;color:#292929;margin:0 auto;max-width:740px;padding:2rem}.ec-store-products .ec-store-product-block.ec-store-product-block-small{width:149px}.ec-store-products .ec-store-product-block.ec-store-product-block-small .ec-store-product{width:149px;height:149px}.ec-store-products .ec-store-product-block.ec-store-product-block-small .ec-store-stub-sample{width:149px} .ec-store-block-cart-page .ec-store-block-buynow-preview{max-width:90%;margin:0 auto} .ec-store-block-search{min-width:334px;min-height:40px;display:inline-block;background:none;position:relative}.ec-store-block-search .image{background:url("../../images/gutenberg/search-preview.png") 50% 50% no-repeat;background-size:334px 40px;position:absolute;left:0;top:0;right:0;bottom:0} diff --git a/ecwid-shopping-cart.php b/ecwid-shopping-cart.php index 5164dab1..032daafd 100644 --- a/ecwid-shopping-cart.php +++ b/ecwid-shopping-cart.php @@ -5,7 +5,7 @@ Description: Ecwid by Lightspeed is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up. Text Domain: ecwid-shopping-cart Author: Ecwid Ecommerce -Version: 6.12.25 +Version: 6.12.26 Author URI: https://ecwid.to/ecwid-site License: GPLv2 or later */ @@ -72,18 +72,14 @@ } else { add_shortcode( 'ecwid_script', 'ecwid_script_shortcode' ); - add_action( 'init', 'ecwid_backward_compatibility' ); add_action( 'init', 'ecwid_check_api_cache' ); add_action( 'template_redirect', 'ecwid_404_on_broken_escaped_fragment' ); // ecwid_apply_theme - why not init? add_action( 'template_redirect', 'ecwid_apply_theme' ); - add_action( 'wp', 'ecwid_seo_ultimate_compatibility', 0 ); add_action( 'wp', 'ecwid_remove_default_canonical' ); - add_filter( 'wp', 'ecwid_seo_compatibility_init', 0 ); - add_action( 'wp_head', 'ecwid_seo_compatibility_restore', 1000 ); add_action( 'wp_head', 'ecwid_print_inline_js_config' ); add_action( 'wp_head', 'ecwid_product_browser_url_in_head' ); @@ -610,21 +606,6 @@ function ecwid_is_store_closed() return false; } -function ecwid_backward_compatibility() { - - // Backward compatibility with 1.1.2 and earlier - if (isset($_GET['ecwid_product_id']) || isset($_GET['ecwid_category_id'])) { - - if (isset($_GET['ecwid_product_id'])) - $redirect = ecwid_get_product_url(intval($_GET['ecwid_product_id'])); - elseif (isset($_GET['ecwid_category_id'])) - $redirect = ecwid_get_category_url(intval($_GET['ecwid_category_id'])); - - wp_safe_redirect($redirect, 301); - exit(); - } -} - function ecwid_build_sitemap( $callback, $page_num = 1 ) { if ( ! Ecwid_Api_V3::is_available() || ! ecwid_is_store_page_available() ) { return; @@ -640,23 +621,8 @@ function ecwid_build_sitemap( $callback, $page_num = 1 ) { } } -function ecwid_minifier_compatibility() -{ - if ( !function_exists( 'get_plugins' ) ) { require_once ( ABSPATH . 'wp-admin/includes/plugin.php' ); } - - $plugins = get_plugins(); - $wp_minify_plugin = 'wp-minify/wp-minify.php'; - if (array_key_exists($wp_minify_plugin, $plugins) && is_plugin_active($wp_minify_plugin)) { - global $wp_minify; - - if (is_object($wp_minify) && array_key_exists('default_exclude', get_object_vars($wp_minify)) && is_array($wp_minify->default_exclude)) { - $wp_minify->default_exclude[] = Ecwid_Config::get_scriptjs_domain() . '/script.js'; - } - } -} - function ecwid_check_version() { - $plugin_data = get_plugin_data( __FILE__ ); + $plugin_data = get_plugin_data( __FILE__, false, false ); $current_version = $plugin_data['Version']; $stored_version = get_option( 'ecwid_plugin_version', null ); @@ -669,15 +635,12 @@ function ecwid_check_version() { $upgrade = $stored_version && version_compare( $current_version, $stored_version ) > 0; if ( $fresh_install ) { - do_action( 'ecwid_plugin_installed', $current_version ); add_option( 'ecwid_plugin_version', $current_version ); // Called in Ecwid_Seo_Links->on_fresh_install do_action( 'ecwid_on_fresh_install' ); - } elseif ( $upgrade ) { - do_action( 'ecwid_plugin_upgraded', array( 'old' => $stored_version, 'new' => $current_version ) ); update_option( 'ecwid_plugin_version', $current_version ); @@ -828,20 +791,6 @@ function ecwid_log_error( $message ) { update_option( 'ecwid_error_log', json_encode( $errors ) ); } -function ecwid_override_option( $name, $new_value = null ) { - static $overridden = array(); - - if ( ! array_key_exists( $name, $overridden ) ) { - $overridden[ $name ] = get_option( $name ); - } - - if ( ! is_null( $new_value ) ) { - update_option( $name, $new_value ); - } else { - update_option( $name, $overridden[ $name ] ); - } -} - function ecwid_tinymce_init( $in ) { if ( ! empty( $in['extended_valid_elements'] ) ) { $in['extended_valid_elements'] .= ','; @@ -854,65 +803,12 @@ function ecwid_tinymce_init( $in ) { return $in; } -function ecwid_seo_ultimate_compatibility() { - global $seo_ultimate; - - if ( ! $seo_ultimate ) { - return; - } - if ( ! Ecwid_Store_Page::is_store_page() ) { - return; - } - - if ( isset( $_GET['_escaped_fragment_'] ) || ( Ecwid_Seo_Links::is_enabled() && Ecwid_Seo_Links::is_product_browser_url() ) ) { - remove_action( 'template_redirect', array( $seo_ultimate->modules['titles'], 'before_header' ), 0 ); - remove_action( 'wp_head', array( $seo_ultimate->modules['titles'], 'after_header' ), 1000 ); - remove_action( 'su_head', array( $seo_ultimate->modules['meta-descriptions'], 'head_tag_output' ) ); - remove_action( 'su_head', array( $seo_ultimate->modules['canonical'], 'link_rel_canonical_tag' ) ); - remove_action( 'su_head', array( $seo_ultimate->modules['canonical'], 'http_link_rel_canonical' ) ); - } -} - function ecwid_remove_default_canonical() { if ( Ecwid_Store_Page::is_store_page() ) { remove_action( 'wp_head', 'rel_canonical' ); } } -function ecwid_seo_compatibility_init( $title ) { - if ( ! array_key_exists( '_escaped_fragment_', $_GET ) || ! Ecwid_Store_Page::is_store_page() ) { - return $title; - } - - // Platinum SEO Pack - // Canonical - ecwid_override_option( 'psp_canonical', false ); - // Title - ecwid_override_option( 'aiosp_rewrite_titles', false ); - - add_action( 'amt_basic_metadata_head', 'ecwid_amt_remove_description' ); - return $title; -} - -function ecwid_amt_remove_description( $params ) { - foreach ( $params as $key => $value ) { - if ( preg_match( '/meta name="description"/', $value ) ) { - unset( $params[ $key ] ); - } - } - - return $params; -} - -function ecwid_seo_compatibility_restore() { - if ( ! array_key_exists( '_escaped_fragment_', $_GET ) || ! Ecwid_Store_Page::is_store_page() ) { - return; - } - - ecwid_override_option( 'psp_canonical' ); - ecwid_override_option( 'aiosp_rewrite_titles' ); -} - function ecwid_check_api_cache() { EcwidPlatform::cache_log_record( 'init', array() ); @@ -1271,33 +1167,6 @@ function _ecwid_get_seo_title() { return $ecwid_seo_title; } -add_filter( 'oembed_endpoint_url', 'ecwid_oembed_url', 10, 3 ); - -function ecwid_oembed_url( $url, $permalink, $format ) { - - if (! Ecwid_Seo_Links::is_product_browser_url() ) { - return $url; - } - - $params = Ecwid_Seo_Links::maybe_extract_html_catalog_params(); - - if ( $params['mode'] == 'product' ){ - $product = Ecwid_Product::get_by_id( $params['id'] ); - $permalink = $product->link; - } else if ( $params['mode'] == 'category' ) { - $category = Ecwid_Category::get_by_id( $params['id'] ); - $permalink = $category->link; - } - - $url = add_query_arg( array( - 'url' => rawurlencode( $permalink ), - 'format' => ( 'json' !== $format ) ? $format : false, - ), $url ); - - return $url; -} - - function ecwid_add_credits($powered_by) { if (!ecwid_is_paid_account()) { @@ -1702,7 +1571,7 @@ function ecwid_store_deactivate() { $ecwid_page_id = get_option("ecwid_store_page_id"); $_tmp_page = null; if (!empty($ecwid_page_id) and ($ecwid_page_id > 0)) { - $_tmp_page = get_page($ecwid_page_id); + $_tmp_page = get_post($ecwid_page_id); if ($_tmp_page !== null) { $my_post = array(); $my_post['ID'] = $ecwid_page_id; @@ -2215,7 +2084,8 @@ function ecwid_create_store( $params = array() ) { do_action( 'ecwid_authorization_success' ); - update_option( 'ecwid_oauth_scope', 'read_profile ' . Ecwid_OAuth::SCOPE_READ_CATALOG . ' create_catalog update_catalog allow_sso create_customers public_storefront' ); + $scopes = implode( ' ', Ecwid_OAuth::get_scopes_for_store_creation() ); + update_option( 'ecwid_oauth_scope', $scopes ); } return $result; @@ -2635,7 +2505,6 @@ function ecwid_sync_products_sse() { } function ecwid_format_date( $unixtime ) { - return date_i18n( get_option('date_format') . ' ' . get_option('time_format'), $unixtime + get_option('gmt_offset') * 60 * 60 ); } @@ -2715,86 +2584,11 @@ function ecwid_sync_products_no_sse() { } } -add_action('admin_post_ecwid_tick', 'ecwid_tick'); - -function ecwid_tick() { - - var_dump(ini_get('max_execution_time')); - set_time_limit(12345); - var_dump(ini_get('max_execution_time')); - error_log('tick'); - header("Content-Type: text/event-stream\n\n"); - for ($i = 0; $i < 30; $i++) { - echo "data: $i \n\n"; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped - flush(); - sleep(2); - //usleep(2000); - } - die(); -} - - -function ecwid_dashboard_widget_function() { - if (!is_ssl()) { - require_once ECWID_PLUGIN_DIR . 'templates/wp-dashboard-widget.php'; - } -} - -function ecwid_add_dashboard_widgets() { - if ( current_user_can( Ecwid_Admin::get_capability() ) ) { - wp_add_dashboard_widget( 'ecwid_dashboard_widget', __( 'Recommendations for Your Online Store', 'ecwid-shopping-cart' ), 'ecwid_dashboard_widget_function' ); - } -} - -function ecwid_get_store_page_url() -{ - static $link = null; - - if (is_null($link)) { - $link = get_permalink( Ecwid_Store_Page::get_current_store_page_id() ); - } - - return $link; -} - function ecwid_is_store_page_available() { return Ecwid_Store_Page::get_current_store_page_id() != false; } -function ecwid_get_product_url($product) -{ - return ecwid_get_entity_url($product, 'p'); -} - -function ecwid_get_category_url($category) -{ - return ecwid_get_entity_url($category, 'c'); -} - -function ecwid_get_entity_url($entity, $type) { - - if ( Ecwid_Store_page::is_store_page() ) { - $link = get_permalink(); - } else { - $link = Ecwid_Store_Page::get_store_url(); - } - - if ( is_object( $entity ) ) { - // If a newer object is passed, fall back to default hash url - $entity = $entity->id; - } - - if (is_numeric($entity)) { - return $link . '#!/' . $type . '/' . $entity; - } elseif (is_array($entity) && isset($entity['url'])) { - $link .= substr($entity['url'], strpos($entity['url'], '#')); - } - - return $link; - -} - function ecwid_get_product_browser_url_script() { if ( get_option('ecwid_disable_pb_url' ) ) { @@ -2822,27 +2616,6 @@ function ecwid_get_product_browser_url_script() } -function ecwid_check_for_remote_connection_errors() -{ - global $ecwid_oauth; - - $results = array(); - $results['https_post_error'] = wp_remote_post( - $ecwid_oauth->get_test_post_url(), - array('timeout' => 20) - ); - - foreach ($results as $type => $value) { - if (is_wp_error($value)) { - $results[$type] = $value->get_error_message(); - } else { - unset($results[$type]); - } - } - - return $results; -} - function ecwid_is_sso_enabled() { global $ecwid_oauth; diff --git a/includes/class-ec-store-oembed.php b/includes/class-ec-store-oembed.php index 27d532ce..e6ec286b 100644 --- a/includes/class-ec-store-oembed.php +++ b/includes/class-ec-store-oembed.php @@ -95,6 +95,34 @@ public static function get_content() { return $result; } + + public static function ecwid_oembed_url( $url, $permalink, $format ) { + + if ( ! Ecwid_Seo_Links::is_product_browser_url() ) { + return $url; + } + + $params = Ecwid_Seo_Links::maybe_extract_html_catalog_params(); + + if ( $params['mode'] == 'product' ) { + $product = Ecwid_Product::get_by_id( $params['id'] ); + $permalink = $product->link; + } elseif ( $params['mode'] == 'category' ) { + $category = Ecwid_Category::get_by_id( $params['id'] ); + $permalink = $category->link; + } + + $url = add_query_arg( + array( + 'url' => rawurlencode( $permalink ), + 'format' => ( 'json' !== $format ) ? $format : false, + ), + $url + ); + + return $url; + } } add_filter( 'embed_content', 'Ec_Store_Oembed::print_content', 10, 1 ); +add_filter( 'oembed_endpoint_url', 'Ec_Store_Oembed::ecwid_oembed_url', 10, 3 ); diff --git a/includes/class-ecwid-admin.php b/includes/class-ecwid-admin.php index 5411ecae..9334eeff 100644 --- a/includes/class-ecwid-admin.php +++ b/includes/class-ecwid-admin.php @@ -75,7 +75,6 @@ public function build_menu() { global $ecwid_oauth; if ( ! $is_newbie && Ecwid_Api_V3::is_available() && ! self::disable_dashboard() ) { - if ( ! self::are_auto_menus_enabled() ) { add_submenu_page( self::ADMIN_SLUG, @@ -153,7 +152,6 @@ public function build_menu() { }//end if if ( ! $is_newbie && ! Ecwid_Api_V3::is_available() || ecwid_is_demo_store() || isset( $_GET['reconnect'] ) || self::disable_dashboard() ) { - if ( current_user_can( 'edit_pages' ) ) { add_submenu_page( self::ADMIN_SLUG, @@ -188,9 +186,9 @@ public function build_menu() { ); } - add_submenu_page( '', 'Ecwid debug', '', 'manage_options', 'ec_debug', 'ecwid_debug_do_page' ); - add_submenu_page( '', 'Ecwid get mobile app', '', 'manage_options', 'ec-admin-mobile', 'ecwid_admin_mobile_do_page' ); - add_submenu_page( '', 'Ecwid params', '', 'manage_options', 'ec-params', 'ecwid_params_do_page' ); + add_submenu_page( 'ec-admin', 'Ecwid debug', '', 'manage_options', 'ec_debug', 'ecwid_debug_do_page' ); + add_submenu_page( 'ec-admin', 'Ecwid get mobile app', '', 'manage_options', 'ec-admin-mobile', 'ecwid_admin_mobile_do_page' ); + add_submenu_page( 'ec-admin', 'Ecwid params', '', 'manage_options', 'ec-params', 'ecwid_params_do_page' ); if ( ! Ecwid_Config::is_wl() ) { add_submenu_page( @@ -347,7 +345,6 @@ protected function _get_menus() { } foreach ( $menu as $item ) { - $menu_item = array(); if ( $item['type'] == 'menuItem' && $item['path'] == 'payments' ) { @@ -380,7 +377,6 @@ protected function _get_menus() { if ( isset( $item['items'] ) ) { foreach ( $item['items'] as $item2 ) { - if ( $item2['title'] == 'Website' ) { $item2['title'] = __( 'Instant site', 'ecwid-shopping-cart' ); } diff --git a/includes/class-ecwid-oauth.php b/includes/class-ecwid-oauth.php index 1b2b25ce..61b6c8d3 100644 --- a/includes/class-ecwid-oauth.php +++ b/includes/class-ecwid-oauth.php @@ -9,9 +9,10 @@ class Ecwid_OAuth { const OPTION_JUST_CONNECTED = 'ecwid_just_connected'; - const SCOPE_READ_CATALOG = 'read_catalog'; - const SCOPE_READ_STORE_PROFILE = 'read_store_profile'; - const SCOPE_UPDATE_STORE_PROFILE = 'update_store_profile'; + const SCOPE_READ_CATALOG = 'read_catalog'; + const SCOPE_READ_STORE_PROFILE = 'read_store_profile'; + const SCOPE_UPDATE_STORE_PROFILE = 'update_store_profile'; + const SCOPE_READ_STOREFRONT_WIDGET_PAGES = 'read_storefront_widget_pages'; protected $state; @@ -216,6 +217,7 @@ public function has_scope( $scope ) { self::SCOPE_READ_STORE_PROFILE, self::SCOPE_UPDATE_STORE_PROFILE, self::SCOPE_READ_CATALOG, + self::SCOPE_READ_STOREFRONT_WIDGET_PAGES, ) ); } @@ -224,11 +226,17 @@ public function has_scope( $scope ) { return in_array( $scope, explode( ' ', $stored_scope ) ); } + public static function get_scopes_for_store_creation() { + $instance = new self(); + return $instance->_get_default_scopes_array(); + } + protected function _get_default_scopes_array() { $defaults = array( self::SCOPE_READ_STORE_PROFILE, self::SCOPE_UPDATE_STORE_PROFILE, self::SCOPE_READ_CATALOG, + self::SCOPE_READ_STOREFRONT_WIDGET_PAGES, 'allow_sso', 'create_customers', 'public_storefront', diff --git a/includes/class-ecwid-seo-links.php b/includes/class-ecwid-seo-links.php index 453d8cdf..b825a2b1 100644 --- a/includes/class-ecwid-seo-links.php +++ b/includes/class-ecwid-seo-links.php @@ -224,14 +224,12 @@ public function add_js_config( $config ) { $url = esc_js( get_permalink( $page_id ) ); } - if ( parse_url( $url, PHP_URL_SCHEME ) == 'https' && parse_url( $url, PHP_URL_PORT ) == '443' ) { - $url = str_replace( ':443', '', $url ); - } + $url_relative = wp_make_link_relative( $url ); $result = self::get_js_config_storefront_urls(); $result .= " - window.ec.config.baseUrl = '$url'; + window.ec.config.baseUrl = '$url_relative'; window.ec.storefront = window.ec.storefront || {}; window.ec.storefront.sharing_button_link = 'DIRECT_PAGE_URL';"; @@ -344,7 +342,8 @@ public function build_rewrite_rules( $rules ) { $all_base_urls = $this->_build_all_base_urls(); foreach ( $all_base_urls as $page_id => $links ) { - $patterns = self::get_seo_links_patterns(); + $page_rules = array(); + $patterns = self::get_seo_links_patterns(); $post = get_post( $page_id ); @@ -379,9 +378,18 @@ public function build_rewrite_rules( $rules ) { $query .= '&post_type=' . $post->post_type; } - $additional_rules[ $link . '/' . $pattern . '.*' ] = $query; + // $additional_rules[ $link . '/' . $pattern . '.*' ] = $query; + $page_rules[ $link . '/' . $pattern . '.*' ] = $query; } }//end foreach + + // subpages will be placed higher in the rule list than parent pages + $is_subpage = ! empty( $post->post_parent ); + if ( $is_subpage ) { + $additional_rules = array_merge( $page_rules, $additional_rules ); + } else { + $additional_rules = array_merge( $additional_rules, $page_rules ); + } }//end foreach if ( self::is_store_on_home_page() ) { diff --git a/includes/class-ecwid-static-page.php b/includes/class-ecwid-static-page.php index 5d8110c1..2a9de12f 100644 --- a/includes/class-ecwid-static-page.php +++ b/includes/class-ecwid-static-page.php @@ -157,6 +157,13 @@ protected static function maybe_fetch_data() { } } + if ( ! empty( $params['default_category_id'] ) ) { + $endpoint_params = array( + 'mode' => 'category', + 'id' => $params['default_category_id'], + ); + } + $url = self::get_endpoint_url( $endpoint_params ); foreach ( $params as $name => $value ) { diff --git a/includes/gutenberg/class-ecwid-gutenberg-block-store.php b/includes/gutenberg/class-ecwid-gutenberg-block-store.php index 1dd0d673..4ff38041 100644 --- a/includes/gutenberg/class-ecwid-gutenberg-block-store.php +++ b/includes/gutenberg/class-ecwid-gutenberg-block-store.php @@ -108,8 +108,8 @@ public function render_callback( $params ) { $layout = $attributes['product_details_layout']['default']; } - $applicableLayouts = array( 'TWO_COLUMNS_SIDEBAR_ON_THE_LEFT', 'TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT' ); - if ( in_array( $layout, $applicableLayouts ) ) { + $applicable_layouts = array( 'TWO_COLUMNS_SIDEBAR_ON_THE_LEFT', 'TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT' ); + if ( in_array( $layout, $applicable_layouts ) ) { if ( $layout == 'TWO_COLUMNS_SIDEBAR_ON_THE_LEFT' ) { $name = 'product_details_two_columns_with_left_sidebar_show_product_description_on_sidebar'; } elseif ( $layout == 'TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT' ) { @@ -236,7 +236,9 @@ public function get_attributes_for_editor() { if ( $api->is_available() && $api->get_store_profile() ) { $settings = $api->get_store_profile()->designSettings; - } else { + } + + if ( empty( $settings ) ) { $settings = new stdClass(); } diff --git a/includes/importer/class-ecwid-import-page.php b/includes/importer/class-ecwid-import-page.php index 54406aea..adaa5c13 100644 --- a/includes/importer/class-ecwid-import-page.php +++ b/includes/importer/class-ecwid-import-page.php @@ -10,7 +10,6 @@ class Ecwid_Import_Page { const AJAX_ACTION_CHECK_IMPORT = 'ec-store-check-import'; const AJAX_ACTION_DO_WOO_IMPORT = 'ec-store-do-woo-import'; const ACTION_GET_WOO_IMPORT_LOG = 'ec-store-get-woo-import-log'; - const AJAX_ACTION_SEND_ERROR_TO_LOGS = 'ec-store-send-error-to-logs'; const PARAM_FROM_IMPORT_ONBOARDING = 'from-woo-import-message'; @@ -23,8 +22,6 @@ public function init_actions() { add_action( 'wp_ajax_' . self::AJAX_ACTION_DO_WOO_IMPORT, array( $this, 'do_woo_import' ) ); add_action( 'current_screen', array( $this, 'do_reconnect' ) ); add_action( 'admin_post_' . self::ACTION_GET_WOO_IMPORT_LOG, array( $this, 'get_woo_import_log' ) ); - - add_action( 'wp_ajax_' . self::AJAX_ACTION_SEND_ERROR_TO_LOGS, array( $this, 'send_error_to_logs' ) ); } public function process_woo_onboarding_redirect() { @@ -68,7 +65,6 @@ public function enqueue_scripts() { array( 'check_token_action' => self::AJAX_ACTION_CHECK_IMPORT, 'do_woo_import_action' => self::AJAX_ACTION_DO_WOO_IMPORT, - 'send_error_to_logs' => self::AJAX_ACTION_SEND_ERROR_TO_LOGS, '_ajax_nonce' => wp_create_nonce( self::AJAX_ACTION_DO_WOO_IMPORT ), ) ); @@ -111,7 +107,7 @@ public function is_ajax_request() { public function do_woo_import() { check_ajax_referer( self::AJAX_ACTION_DO_WOO_IMPORT ); - if( ! $this->is_ajax_request() ) { + if ( ! $this->is_ajax_request() ) { die(); } @@ -133,21 +129,6 @@ public function do_woo_import() { die(); } - public function send_error_to_logs() { - check_ajax_referer( self::AJAX_ACTION_DO_WOO_IMPORT ); - - if ( ! current_user_can( 'manage_options' ) ) { - die(); - } - - $importer = new Ecwid_Importer(); - $result = $importer->send_import_error_to_logs(); - - echo json_encode( $result ); - - die(); - } - protected function _get_billing_page_url() { return 'admin.php?page=' . Ecwid_Admin::ADMIN_SLUG . '&ec-page=billing'; } diff --git a/includes/importer/class-ecwid-importer.php b/includes/importer/class-ecwid-importer.php index ebaf2a5e..4c322fb2 100644 --- a/includes/importer/class-ecwid-importer.php +++ b/includes/importer/class-ecwid-importer.php @@ -1,5 +1,5 @@ _get_current_task(); $task_data = $this->_tasks[ $current_task ]; if ( ! isset( $status['plan_limit'] ) - || ! is_array( $status['plan_limit'] ) - || ! array_key_exists( $task_data['type'], $status['plan_limit'] ) + || ! is_array( $status['plan_limit'] ) + || ! array_key_exists( $task_data['type'], $status['plan_limit'] ) ) { - $task = Ecwid_Importer_Task::load_task( $task_data['type'] ); $result = $task->execute( $this, $task_data ); if ( ! is_array( $result ) ) { - $current_task++; + ++$current_task; if ( $current_task >= count( $this->_tasks ) ) { break; @@ -90,7 +89,6 @@ public function tick() { $this->_set_tasks( $this->_tasks ); if ( $start + self::TICK_LENGTH <= time() ) { - $progress['status'] = 'in_progress'; break; } @@ -174,7 +172,7 @@ public function tick() { $progress['plan_limit_hit'][] = $task_data['type']; }//end if - $current_task++; + ++$current_task; if ( $current_task >= count( $this->_tasks ) ) { break; @@ -188,7 +186,6 @@ public function tick() { $this->_set_tasks( $this->_tasks ); if ( $start + self::TICK_LENGTH <= time() ) { - $progress['status'] = 'in_progress'; break; } @@ -273,7 +270,6 @@ public function execute_batch() { $result = $api->create_batch( $batch ); if ( ! is_wp_error( $result ) && $result['response']['code'] == '200' ) { - $data = json_decode( $result['body'] ); $ticket = $data->ticket; @@ -298,13 +294,6 @@ public function send_import_mark_to_log() { return $api->get_store_update_stats( $params ); } - public function send_import_error_to_logs() { - $api = new Ecwid_Api_V3(); - $params = array( 'wp_import_woo_fail' => get_ecwid_store_id() ); - - return $api->get_store_update_stats( $params ); - } - public static function is_localhost() { if ( get_option( self::OPTIONS_SEPARATE_IMAGE_LOADING, false ) ) { @@ -334,9 +323,9 @@ public function append_task( $task ) { public function append_child( $task ) { $ind = $this->_get_current_task(); $this_task = $this->_tasks[ $ind ]; - $ind++; + ++$ind; while ( isset( $this->_tasks[ $ind ] ) && ( $this->_tasks[ $ind ]['type'] == $task['type'] || $this->_tasks[ $ind ]['type'] == $this_task['type'] ) ) { - $ind++; + ++$ind; } return $this->append_after( $task, $ind - 1 ); } @@ -349,9 +338,9 @@ public function append_after_type( $task ) { $ind = $this->_get_current_task(); $type = $this->_tasks[ $ind ]; - $ind++; + ++$ind; while ( $this->_tasks[ $ind ]['type'] == $type && isset( $this->_tasks[ $ind ] ) ) { - $ind++; + ++$ind; } return $this->append_after( $task, $ind ); @@ -362,7 +351,7 @@ public function has_begun() { } public function proceed() { - $this->_load_tasks(); + $this->_load_tasks(); $this->_get_current_task(); return $this->tick(); @@ -481,7 +470,7 @@ protected static function _get_woo_categories( $args ) { } public static function count_woo_categories() { - $all_categories = self::_get_woo_categories( array( 'count' => true ) ); + $all_categories = self::_get_woo_categories( array( 'count' => true ) ); $count = count( $all_categories ); @@ -489,7 +478,7 @@ public static function count_woo_categories() { $children_of_default = self::_get_woo_categories( array( 'parent' => get_option( 'default_product_cat' ) ) ); if ( count( $default ) > 0 && count( $children_of_default ) == 0 ) { - $count--; + --$count; } return $count; @@ -501,7 +490,7 @@ public static function count_woo_products() { } public static function count_ecwid_products() { - $api = new Ecwid_Api_V3(); + $api = new Ecwid_Api_V3(); $max = 100; $ecwid_products = $api->get_products( array( 'limit' => $max ) ); @@ -554,7 +543,6 @@ public function gather_categories( $parent = 0 ) { $result = array(); foreach ( $product_categories as $category ) { - $children = $this->gather_categories( $category->term_id ); if ( $category->term_id != get_option( 'default_product_cat' ) || count( $children ) > 0 ) { diff --git a/includes/integrations/class-ecwid-integration-wpml.php b/includes/integrations/class-ecwid-integration-wpml.php index 054cf73c..c89d68ec 100644 --- a/includes/integrations/class-ecwid-integration-wpml.php +++ b/includes/integrations/class-ecwid-integration-wpml.php @@ -3,7 +3,7 @@ class Ecwid_Integration_WPML { public function __construct() { - $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/sitepress-multilingual-cms/sitepress.php' ); + $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/sitepress-multilingual-cms/sitepress.php', false, false ); $ver = $plugin_data['Version']; if ( version_compare( $ver, '3.2', '>=' ) ) { @@ -25,7 +25,6 @@ public function filter_ecwid_menu_items( $posts ) { $lang = apply_filters( 'wpml_current_language', null ); foreach ( $posts as $key => $post ) { - if ( ! empty( $post->ecwid_name_translated->{$lang} ) ) { $posts[ $key ]->title = $post->ecwid_name_translated->{$lang}; } @@ -101,7 +100,6 @@ public function filter_hreflangs_html( $hreflang ) { public function add_inline_js_config( $js ) { if ( is_array( $this->hreflang_items ) ) { - if ( Ecwid_Store_Page::is_store_page() ) { $js .= Ecwid_Seo_Links::get_js_config_storefront_urls() . PHP_EOL; $js .= 'window.ec.config.storefrontUrls.enableHreflangTags = true;' . PHP_EOL; @@ -120,7 +118,6 @@ public function mod_relative_permalink( $default_link, $item_id ) { } if ( $sitepress->get_setting( 'language_negotiation_type' ) == WPML_LANGUAGE_NEGOTIATION_TYPE_DIRECTORY ) { - $translation_details = apply_filters( 'wpml_element_language_details', null, diff --git a/includes/themes/class-ecwid-theme-boundless.php b/includes/themes/class-ecwid-theme-boundless.php index 685bf2ba..8a5f7e6d 100644 --- a/includes/themes/class-ecwid-theme-boundless.php +++ b/includes/themes/class-ecwid-theme-boundless.php @@ -20,7 +20,7 @@ public function has_product_browser( $value, $content, $post_id ) { $meta = get_post_meta( get_the_ID(), '_witty_builder_data' ); if ( is_array( $meta ) ) { - $meta = implode( $meta, ',' ); + $meta = implode( ',', $meta ); // not exactly the intended usage, but quite simple and still works // $meta is a serialized array that has the actual content diff --git a/includes/themes/class-ecwid-theme-envision.php b/includes/themes/class-ecwid-theme-envision.php index 875182ec..8e737bfb 100644 --- a/includes/themes/class-ecwid-theme-envision.php +++ b/includes/themes/class-ecwid-theme-envision.php @@ -17,7 +17,7 @@ public function has_product_browser( $value, $content, $post_id ) { return $value; } - $meta = implode( get_post_meta( get_the_ID(), 'env_composer' ), ',' ); + $meta = implode( ',', get_post_meta( get_the_ID(), 'env_composer' ) ); // not exactly the intended usage, but quite simple and still works // $meta is a serialized array that has the actual content diff --git a/js/gutenberg/blocks.build.js b/js/gutenberg/blocks.build.js index 33186502..a1ea0673 100644 --- a/js/gutenberg/blocks.build.js +++ b/js/gutenberg/blocks.build.js @@ -1 +1 @@ -!function(e){function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,r){"use strict";function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"a",function(){return a});var n,c,a={ecwid:wp.element.createElement("svg",{class:"ec-store-icon",version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 215 215","enable-background":"new 0 0 215 215"},wp.element.createElement("g",{fill:"#0087cd"},wp.element.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M160.68,163.34c-3.67,0-6.65,2.98-6.65,6.66c0,3.68,2.98,6.66,6.65,6.66 c3.68,0,6.66-2.98,6.66-6.66C167.34,166.32,164.36,163.34,160.68,163.34z"}),wp.element.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M53.46,162.51c-3.67,0-6.65,2.98-6.65,6.66c0,3.68,2.98,6.66,6.65,6.66 c3.68,0,6.66-2.98,6.66-6.66C60.12,165.49,57.14,162.51,53.46,162.51z"}),wp.element.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M166.12,0H48.88C21.89,0,0,21.89,0,48.89v117.23c0,27,21.89,48.88,48.88,48.88 h117.24c27,0,48.88-21.88,48.88-48.88V48.88C215,21.89,193.11,0,166.12,0z M134.43,57.85c5.36,0,9.7,4.34,9.7,9.7 c0,5.36-4.34,9.7-9.7,9.7c-5.36,0-9.7-4.34-9.7-9.7C124.73,62.19,129.07,57.85,134.43,57.85z M134.43,85.25 c5.36,0,9.7,4.34,9.7,9.7s-4.34,9.7-9.7,9.7c-5.36,0-9.7-4.34-9.7-9.7S129.07,85.25,134.43,85.25z M107.09,57.85 c5.36,0,9.7,4.34,9.7,9.7c0,5.36-4.34,9.7-9.7,9.7c-5.36,0-9.7-4.34-9.7-9.7C97.39,62.19,101.73,57.85,107.09,57.85z M107.09,85.25 c5.36,0,9.7,4.34,9.7,9.7s-4.34,9.7-9.7,9.7c-5.36,0-9.7-4.34-9.7-9.7S101.73,85.25,107.09,85.25z M79.75,57.85 c5.36,0,9.7,4.34,9.7,9.7c0,5.36-4.34,9.7-9.7,9.7c-5.36,0-9.7-4.34-9.7-9.7C70.05,62.19,74.39,57.85,79.75,57.85z M79.75,85.25 c5.36,0,9.7,4.34,9.7,9.7s-4.34,9.7-9.7,9.7c-5.36,0-9.7-4.34-9.7-9.7S74.39,85.25,79.75,85.25z M53.46,187.72 c-10.24,0-18.55-8.31-18.55-18.55c0-10.25,8.31-18.56,18.55-18.56c10.25,0,18.56,8.31,18.56,18.56 C72.03,179.41,63.71,187.72,53.46,187.72z M160.68,188.55c-10.24,0-18.55-8.31-18.55-18.55c0-10.25,8.31-18.56,18.55-18.56 c10.25,0,18.56,8.31,18.56,18.56C179.24,180.24,170.93,188.55,160.68,188.55z M193.27,37.66l-19.18,71.44 c-5.12,19.07-21.28,31.04-41.03,31.04h-12.65c-4.18,0-10.23-2.26-12.74-4.62c-0.42-0.39-1.08-0.39-1.5,0 c-2.51,2.36-8.56,4.62-12.74,4.62h-13.9c-19.12,0-33.61-10.9-39.41-29.12L23.81,59.86c-0.32-1.02-0.15-2.1,0.49-2.97 c0.63-0.86,1.6-1.36,2.69-1.36l3.12,0.01c7.52,0.03,14.11,4.86,16.38,12.02l11.98,37.62c3.24,10.19,13.61,17.04,24.3,17.04 l4.65-0.01c4.8,0,8.18-2.46,10.22-4.66c1.06-1.15,2.54-1.82,4.11-1.82l10.44,0.01c1.48,0,2.92,0.59,3.91,1.68 c1.98,2.17,5.49,4.79,10.33,4.79l4.43,0.01c11.04,0,21.75-7.45,24.62-18.11l15.53-57.84c2.03-7.53,8.88-12.78,16.67-12.78l2.74,0 c0.26,0,0.52,0.04,0.76,0.14C192.93,34.37,193.7,36.08,193.27,37.66z"}))),store:wp.element.createElement("svg",{class:"ec-store-icon-color",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},wp.element.createElement("g",{fill:"none","fill-rule":"evenodd",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"2",transform:"translate(0 3)"},wp.element.createElement("path",{d:"M20 7L20 17C20 18.1045695 19.1045695 19 18 19L4 19C2.8954305 19 2 18.1045695 2 17L2 7 2 7M1 0L21 0 21.5808632 3.48517907C21.8145004 4.88700236 20.8935617 6.22128765 19.5 6.5L18.9764235 6.60471529C17.7961226 6.84077548 16.5971903 6.29508301 16 5.25L16 5.25 16 5.25 15.7442084 5.69763529C15.2840087 6.50298484 14.4275622 7 13.5 7 12.5724378 7 11.7159913 6.50298484 11.2557916 5.69763529L11 5.25 11 5.25 10.7442084 5.69763529C10.2840087 6.50298484 9.42756224 7 8.5 7 7.57243776 7 6.71599134 6.50298484 6.25579159 5.69763529L6 5.25 6 5.25C5.40280971 6.29508301 4.20387741 6.84077548 3.02357646 6.60471529L2.5 6.5C1.10643827 6.22128765.185499607 4.88700236.419136822 3.48517907L1 0 1 0z"}),wp.element.createElement("polygon",{points:"7 11 15 11 15 19 7 19"}))),product:wp.element.createElement("svg",{class:"ec-store-icon-color",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},wp.element.createElement("g",{fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"},wp.element.createElement("path",{stroke:"currentColor","stroke-width":"2",d:"M5.5638852,7 L18.4361148,7 C19.3276335,7 19.6509198,7.09282561 19.9768457,7.2671327 C20.3027716,7.4414398 20.5585602,7.69722837 20.7328673,8.0231543 C20.9071744,8.34908022 21,8.67236646 21,9.5638852 L21,20.4361148 C21,21.3276335 20.9071744,21.6509198 20.7328673,21.9768457 C20.5585602,22.3027716 20.3027716,22.5585602 19.9768457,22.7328673 C19.6509198,22.9071744 19.3276335,23 18.4361148,23 L5.5638852,23 C4.67236646,23 4.34908022,22.9071744 4.0231543,22.7328673 C3.69722837,22.5585602 3.4414398,22.3027716 3.2671327,21.9768457 C3.09282561,21.6509198 3,21.3276335 3,20.4361148 L3,9.5638852 C3,8.67236646 3.09282561,8.34908022 3.2671327,8.0231543 C3.4414398,7.69722837 3.69722837,7.4414398 4.0231543,7.2671327 C4.34908022,7.09282561 4.67236646,7 5.5638852,7 Z"}),wp.element.createElement("path",{stroke:"currentColor","stroke-width":"2",d:"M8,10 L8,6 C8,3.790861 9.790861,2 12,2 C14.209139,2 16,3.790861 16,6 L16,10 L16,10"}))),aspect169:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"9",y:"14",width:"22",height:"12",rx:"2"}))),aspect916:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"}," ",wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"14",y:"9",width:"12",height:"22",rx:"2"}))),aspect11:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"12",y:"12",width:"16",height:"16",rx:"2"}))),aspect34:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"12",y:"10",width:"16",height:"20",rx:"2"}))),aspect43:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"10",y:"12",width:"20",height:"16",rx:"2"}))),textalignleft:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"16",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"19",width:"13",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"22",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textaligncenter:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"16",y:"16",width:"8",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"14",y:"19",width:"12",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"16",y:"22",width:"8",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textalignright:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"16",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"14",y:"19",width:"13",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"22",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textalignjustify:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",zoomAndPan:"1.5",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"16",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"19",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"22",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),productLayout3Columns:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",transform:"translate(13.000000, 19.500000) rotate(-270.000000) translate(-13.000000, -19.500000) ",x:"3.5",y:"16.5",width:"19",height:"6",rx:"1"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"10",width:"5",height:"19"}),wp.element.createElement("rect",{fill:"#000000",x:"25",y:"10",width:"5",height:"8"}),wp.element.createElement("rect",{fill:"#000000",x:"25",y:"19",width:"5",height:"10"}))),productLayout2ColumnsLeft:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"17",y:"10",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{fill:"#000000",x:"10",y:"10",width:"5",height:"5"}),wp.element.createElement("rect",{fill:"#000000",x:"10",y:"17",width:"5",height:"12"}))),productLayout2ColumnsRight:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(10.000000, 10.000000)",fill:"#000000"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"12"})))),productLayout2ColumnsBottom:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(10.000000, 10.000000)",fill:"#000000"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"12",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"12"}),wp.element.createElement("rect",{x:"0",y:"14",width:"20",height:"5"})))),galleryLayoutHorizontal:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(20.000000, 20.500000) rotate(-180.000000) translate(-20.000000, -20.500000) translate(10.000000, 11.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"6"}),wp.element.createElement("rect",{x:"15",y:"14",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"6"})))),galleryLayoutVertical:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(19.500000, 20.000000) rotate(-270.000000) translate(-19.500000, -20.000000) translate(9.500000, 10.500000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"-1.13686838e-13",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"-1.13686838e-13",width:"5",height:"6"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"13",width:"5",height:"6"})))),galleryLayoutFeed:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(20.500000, 12.500000) rotate(-270.000000) translate(-20.500000, -12.500000) translate(14.000000, 3.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"})),wp.element.createElement("g",{transform:"translate(20.500000, 27.500000) rotate(-270.000000) translate(-20.500000, -27.500000) translate(14.000000, 18.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"})))),cart:wp.element.createElement("svg",(n={class:"ec-store-icon-color"},o(n,"class","ec-store-icon-color"),o(n,"width","24px"),o(n,"height","24px"),o(n,"viewBox","0 0 24 24"),o(n,"version","1.1"),n),wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-352.000000, -415.000000)"},wp.element.createElement("g",{id:"cart-icon",transform:"translate(352.000000, 415.000000)"},wp.element.createElement("path",{d:"M4.5269723,4 L2,4 C1.44771525,4 1,3.55228475 1,3 C1,2.44771525 1.44771525,2 2,2 L5.33333333,2 C5.80393835,2 6.21086155,2.32812702 6.31061146,2.788039 L7.22413999,7 L21,7 C21.6640252,7 22.143636,7.63527258 21.9617572,8.27390353 L19.968471,15.272927 C19.8460922,15.7026358 19.4535094,15.9990234 19.0067139,15.9990234 L7.93579102,15.9990234 C7.465186,15.9990234 7.0582628,15.6708964 6.95851289,15.2109844 L4.5269723,4 Z M7.65791824,9 L8.74215205,13.9990234 L18.2517453,13.9990234 L19.6754416,9 L7.65791824,9 Z",id:"Path-3","fill-rule":"nonzero"}),wp.element.createElement("circle",{id:"Oval-2",cx:"9",cy:"20",r:"2"}),wp.element.createElement("circle",{id:"Oval-2",cx:"18",cy:"20",r:"2"}))))),search:wp.element.createElement("svg",{class:"ec-store-icon-color",xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18"},wp.element.createElement("g",{fill:"none","fill-rule":"evenodd",stroke:"currentColor","stroke-linecap":"round","stroke-width":"2",transform:"translate(1.667 1.667)"},wp.element.createElement("line",{x1:"10.667",x2:"14.667",y1:"10.667",y2:"14.667"}),wp.element.createElement("circle",{cx:"6",cy:"6",r:"6","stroke-linejoin":"round"}))),categories:wp.element.createElement("svg",(c={class:"ec-store-icon-color"},o(c,"class","ec-store-icon-color"),o(c,"width","24px"),o(c,"height","24px"),o(c,"viewBox","0 0 24 24"),o(c,"version","1.1"),c),wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-234.000000, -416.000000)"},wp.element.createElement("g",{id:"categories-icon",transform:"translate(234.000000, 416.000000)"},wp.element.createElement("polygon",{id:"Triangle",points:"3 2 5.5 7 0.5 7"}),wp.element.createElement("polygon",{id:"Line","fill-rule":"nonzero",points:"8 6 8 4 23 4 23 6"}),wp.element.createElement("polygon",{id:"Line","fill-rule":"nonzero",points:"8 13 8 11 23 11 23 13"}),wp.element.createElement("polygon",{id:"Line","fill-rule":"nonzero",points:"8 20 8 18 23 18 23 20"}),wp.element.createElement("rect",{id:"Rectangle",stroke:"currentColor","stroke-width":"2",fill:"#FFFFFF",x:"2",y:"11",width:"2",height:"2"}),wp.element.createElement("rect",{id:"Rectangle",stroke:"currentColor","stroke-width":"2",fill:"#FFFFFF",x:"2",y:"18",width:"2",height:"2",rx:"1"}))))),category:wp.element.createElement("svg",{class:"ec-store-icon-color",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},wp.element.createElement("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4.5638852 2L7.4361148 2C8.32763354 2 8.65091978 2.09282561 8.9768457 2.2671327 9.30277163 2.4414398 9.5585602 2.69722837 9.7328673 3.0231543 9.90717439 3.34908022 10 3.67236646 10 4.5638852L10 7.4361148C10 8.32763354 9.90717439 8.65091978 9.7328673 8.9768457 9.5585602 9.30277163 9.30277163 9.5585602 8.9768457 9.7328673 8.65091978 9.90717439 8.32763354 10 7.4361148 10L4.5638852 10C3.67236646 10 3.34908022 9.90717439 3.0231543 9.7328673 2.69722837 9.5585602 2.4414398 9.30277163 2.2671327 8.9768457 2.09282561 8.65091978 2 8.32763354 2 7.4361148L2 4.5638852C2 3.67236646 2.09282561 3.34908022 2.2671327 3.0231543 2.4414398 2.69722837 2.69722837 2.4414398 3.0231543 2.2671327 3.34908022 2.09282561 3.67236646 2 4.5638852 2zM4.5638852 14L7.4361148 14C8.32763354 14 8.65091978 14.0928256 8.9768457 14.2671327 9.30277163 14.4414398 9.5585602 14.6972284 9.7328673 15.0231543 9.90717439 15.3490802 10 15.6723665 10 16.5638852L10 19.4361148C10 20.3276335 9.90717439 20.6509198 9.7328673 20.9768457 9.5585602 21.3027716 9.30277163 21.5585602 8.9768457 21.7328673 8.65091978 21.9071744 8.32763354 22 7.4361148 22L4.5638852 22C3.67236646 22 3.34908022 21.9071744 3.0231543 21.7328673 2.69722837 21.5585602 2.4414398 21.3027716 2.2671327 20.9768457 2.09282561 20.6509198 2 20.3276335 2 19.4361148L2 16.5638852C2 15.6723665 2.09282561 15.3490802 2.2671327 15.0231543 2.4414398 14.6972284 2.69722837 14.4414398 3.0231543 14.2671327 3.34908022 14.0928256 3.67236646 14 4.5638852 14zM16.5638852 2L19.4361148 2C20.3276335 2 20.6509198 2.09282561 20.9768457 2.2671327 21.3027716 2.4414398 21.5585602 2.69722837 21.7328673 3.0231543 21.9071744 3.34908022 22 3.67236646 22 4.5638852L22 7.4361148C22 8.32763354 21.9071744 8.65091978 21.7328673 8.9768457 21.5585602 9.30277163 21.3027716 9.5585602 20.9768457 9.7328673 20.6509198 9.90717439 20.3276335 10 19.4361148 10L16.5638852 10C15.6723665 10 15.3490802 9.90717439 15.0231543 9.7328673 14.6972284 9.5585602 14.4414398 9.30277163 14.2671327 8.9768457 14.0928256 8.65091978 14 8.32763354 14 7.4361148L14 4.5638852C14 3.67236646 14.0928256 3.34908022 14.2671327 3.0231543 14.4414398 2.69722837 14.6972284 2.4414398 15.0231543 2.2671327 15.3490802 2.09282561 15.6723665 2 16.5638852 2zM16.5638852 14L19.4361148 14C20.3276335 14 20.6509198 14.0928256 20.9768457 14.2671327 21.3027716 14.4414398 21.5585602 14.6972284 21.7328673 15.0231543 21.9071744 15.3490802 22 15.6723665 22 16.5638852L22 19.4361148C22 20.3276335 21.9071744 20.6509198 21.7328673 20.9768457 21.5585602 21.3027716 21.3027716 21.5585602 20.9768457 21.7328673 20.6509198 21.9071744 20.3276335 22 19.4361148 22L16.5638852 22C15.6723665 22 15.3490802 21.9071744 15.0231543 21.7328673 14.6972284 21.5585602 14.4414398 21.3027716 14.2671327 20.9768457 14.0928256 20.6509198 14 20.3276335 14 19.4361148L14 16.5638852C14 15.6723665 14.0928256 15.3490802 14.2671327 15.0231543 14.4414398 14.6972284 14.6972284 14.4414398 15.0231543 14.2671327 15.3490802 14.0928256 15.6723665 14 16.5638852 14z"})),button:wp.element.createElement("svg",{class:"ec-store-icon-color",width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-345.000000, -280.000000)","fill-rule":"nonzero"},wp.element.createElement("g",{id:"button-icon",transform:"translate(345.000000, 280.000000)"},wp.element.createElement("path",{d:"M4,8 L4,16 L20,16 L20,8 L4,8 Z M4,6 L20,6 C21.1045695,6 22,6.8954305 22,8 L22,16 C22,17.1045695 21.1045695,18 20,18 L4,18 C2.8954305,18 2,17.1045695 2,16 L2,8 C2,6.8954305 2.8954305,6 4,6 Z",id:"Rectangle-5"}),wp.element.createElement("path",{d:"M13.8320367,9.8101295 C14.2137832,9.41102047 14.8467917,9.3969454 15.2459008,9.77869195 C15.6450098,10.1604385 15.6590849,10.793447 15.2773383,11.192556 L12.2122748,14.3970238 C11.8300377,14.7966458 11.1960253,14.8101668 10.7970986,14.427204 L9.5128579,13.1943549 C9.11444327,12.8118837 9.10151859,12.1788506 9.48398981,11.780436 C9.86646103,11.3820214 10.4994941,11.3690967 10.8979087,11.7515679 L11.4594438,12.290632 L13.8320367,9.8101295 Z",id:"Line-6"}))))),productPreview:wp.element.createElement("svg",{width:"72px",height:"72px",viewBox:"0 0 72 72",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets",transform:"translate(-625.000000, -811.000000)",fill:"#AAAAAA"},wp.element.createElement("g",{id:"Group-2",transform:"translate(571.000000, 756.000000)"},wp.element.createElement("g",{id:"product-preview",transform:"translate(54.000000, 55.000000)"},wp.element.createElement("path",{d:"M6,25 L6,69 L66,69 L66,25 L6,25 Z M4,23 L68,23 L68,71 L4,71 L4,23 Z",id:"Rectangle-2-Copy-2","fill-rule":"nonzero"}),wp.element.createElement("path",{d:"M36.5,23.5 L65.836706,23.5 L67.2237665,22.8226349 L55.0328393,7.34740904 L39.8812213,0.895706316 L40.7501329,7.5 L17.0403124,7.5 L5.04031242,22.5 L6.32093727,22.5 L17.5209373,8.5 L36.5,8.5 L36.5,23.5 Z M42.9573255,16.6099474 L41.1011835,2.50206036 L54.4056315,8.16722056 L66.5284549,23.5566573 L42.9573255,16.6099474 Z",id:"Combined-Shape",stroke:"#AAAAAA"}),wp.element.createElement("path",{d:"M29.8056641,41.53125 C29.9375,38.2060547 32.2080078,35.6865234 36.4560547,35.6865234 C40.3232422,35.6865234 42.9306641,37.9863281 42.9306641,41.1210938 C42.9306641,43.3916016 41.7880859,44.9882812 39.8544922,46.1455078 C37.9648438,47.2587891 37.4228516,48.0351562 37.4228516,49.5439453 L37.4228516,50.4375 L34.390625,50.4375 L34.3759766,49.265625 C34.3027344,47.2001953 35.1962891,45.8818359 37.203125,44.6806641 C38.9755859,43.6113281 39.6054688,42.7617188 39.6054688,41.2529297 C39.6054688,39.5976562 38.3017578,38.3818359 36.2949219,38.3818359 C34.2734375,38.3818359 32.9697266,39.5976562 32.8378906,41.53125 L29.8056641,41.53125 Z M35.9287109,57.2197266 C34.859375,57.2197266 34.0097656,56.3994141 34.0097656,55.3300781 C34.0097656,54.2607422 34.859375,53.4404297 35.9287109,53.4404297 C37.0273438,53.4404297 37.8623047,54.2607422 37.8623047,55.3300781 C37.8623047,56.3994141 37.0273438,57.2197266 35.9287109,57.2197266 Z",id:"?"})))))),filters:wp.element.createElement("svg",{class:"ec-store-icon-color",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},wp.element.createElement("g",{fill:"none","fill-rule":"evenodd","stroke-linecap":"round"},wp.element.createElement("line",{x1:"2",x2:"22",y1:"7",y2:"7",stroke:"currentColor","stroke-width":"2"}),wp.element.createElement("line",{x1:"6",x2:"18",y1:"13",y2:"13",stroke:"currentColor","stroke-width":"2"}),wp.element.createElement("line",{x1:"11",x2:"13",y1:"19",y2:"19",stroke:"currentColor","stroke-width":"2"}))),cartPage:wp.element.createElement("svg",{class:"ec-store-icon-color",width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-470.000000, -500.000000)"},wp.element.createElement("g",{id:"cart-icon",transform:"translate(470.000000, 500.000000)"},wp.element.createElement("g",{id:"Group-6",transform:"translate(2.000000, 3.000000)"},wp.element.createElement("path",{d:"M2.5269723,1 L0,1 C-0.55228475,1 -1,0.55228475 -1,-1.11022302e-16 C-1,-0.55228475 -0.55228475,-1 0,-1 L3.33333333,-1 C3.80393835,-1 4.21086155,-0.671872981 4.31061146,-0.211960997 L6.74215205,10.9990234 L16.2517453,10.9990234 L17.6754416,6 L17.0067139,6 C16.4544291,6 16.0067139,5.55228475 16.0067139,5 C16.0067139,4.44771525 16.4544291,4 17.0067139,4 L19,4 C19.6640252,4 20.143636,4.63527258 19.9617572,5.27390353 L17.968471,12.272927 C17.8460922,12.7026358 17.4535094,12.9990234 17.0067139,12.9990234 L5.93579102,12.9990234 C5.465186,12.9990234 5.0582628,12.6708964 4.95851289,12.2109844 L2.5269723,1 Z",id:"Path-3","fill-rule":"nonzero"}),wp.element.createElement("path",{d:"M13.6266547,1.30878828 C14.0084012,0.909679249 14.6414097,0.895604177 15.0405188,1.27735072 C15.4396278,1.65909727 15.4537029,2.29210579 15.0719563,2.69121482 L11.0068929,6.89568259 C10.6246557,7.29530459 9.99064332,7.30882561 9.59171662,6.92586281 L7.61584318,5.00113813 C7.21742856,4.61866691 7.20450388,3.98563386 7.5869751,3.58721924 C7.96944632,3.18880462 8.60247937,3.17587994 9.00089399,3.55835116 L10.2540618,4.78929076 L13.6266547,1.30878828 Z",id:"Line-6","fill-rule":"nonzero"}),wp.element.createElement("circle",{id:"Oval-2",cx:"7",cy:"17",r:"2"}),wp.element.createElement("circle",{id:"Oval-2",cx:"16",cy:"17",r:"2"})))))),latestProducts:wp.element.createElement("svg",{class:"ec-store-icon-color",width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-470.000000, -416.000000)","fill-rule":"nonzero"},wp.element.createElement("g",{transform:"translate(470.000000, 416.000000)"},wp.element.createElement("path",{d:"M5,17 L5,20 L9,20 L9,17 L5,17 Z M3,15 L11,15 L11,22 L3,22 L3,15 Z",id:"Rectangle-2"}),wp.element.createElement("path",{d:"M5,8 L5,11 L9,11 L9,8 L5,8 Z M3,6 L11,6 L11,13 L3,13 L3,6 Z",id:"Rectangle-2-Copy"}),wp.element.createElement("path",{d:"M15,17 L15,20 L19,20 L19,17 L15,17 Z M13,15 L21,15 L21,22 L13,22 L13,15 Z",id:"Rectangle-2"}),wp.element.createElement("path",{d:"M15,8 L15,11 L19,11 L19,8 L15,8 Z M13,6 L21,6 L21,13 L13,13 L13,6 Z",id:"Rectangle-2-Copy-3"})))))}},function(e,t,r){"use strict";function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=t.attributes,n=function(e,t,n,c){return wp.element.createElement(b,{label:n},wp.element.createElement(h,{className:"ec-store-inspector-button-group"},c.map(function(n){return wp.element.createElement(_,{isPrimary:r[t]===n.value,onClick:function(){return e.setAttributes(o({},t,n.value))}},n.title)})))},c=function(e,t,r){return wp.element.createElement(f,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(o({},t,!e.attributes[t]))}})},a=function(e,t,r,n){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){};return wp.element.createElement(b,{label:r},wp.element.createElement("select",{className:"ec-store-control-select",onChange:function(r){e.setAttributes(o({},t,r.target.value)),c()}},n.map(function(r){return wp.element.createElement("option",{value:r.value,selected:e.attributes[t]==r.value},r.title)})))},l=function(e,t,r){return wp.element.createElement(b,{label:r},wp.element.createElement("input",{type:"text",value:e.attributes[t],onChange:function(r){e.setAttributes(o({},t,r.target.value))}}))},i=function(e,t,r,n){return wp.element.createElement(b,{label:r},wp.element.createElement(E,{controls:n.map(function(r){return{icon:p.a[r.icon],title:r.title,isActive:e.attributes[t]===r.value,className:"ecwid-toolbar-icon",onClick:function(){return e.setAttributes(o({},t,r.value))}}})}))},s=function(t,r,n,c){var l="DEFAULT_CATEGORY_ID"==t.attributes[r],i=e.default_category_id,s=null!=document.querySelector("[name=editor-canvas]"),p=window;s&&(p=document.querySelector("[name=editor-canvas]").contentWindow);var d=function(e){"undefined"!=typeof p.Ecwid&&"FILTERS_PAGE"!=e&&(null!=p.document.getElementById("ec-store-preview")&&(p.document.getElementById("ec-store-preview").innerHTML=""),setTimeout(function(){p.ecwid_onBodyDone()},300))},m="";i.values&&i.values.length>1&&(m=a(t,i.name,i.title,i.values,d));var u=c.map(function(e){return{value:e.value,label:wp.element.createElement("div",null,wp.element.createElement("span",{className:"ec-store-inspector-radio__title"},e.title),wp.element.createElement("p",null,e.description),"DEFAULT_CATEGORY_ID"==e.value&&l&&[m])}});return wp.element.createElement(b,null,wp.element.createElement(v,{label:n,className:"ec-store-inspector-radio",options:u,selected:t.attributes[r],onChange:function(e){t.setAttributes(o({},r,e)),d(e)}}))};return{buttonGroup:function(r){var o=e[r];return"undefined"==typeof t.attributes[r]&&(t.attributes[r]=o.default),n(t,o.name,o.title,o.values)},toggle:function(r){var o=e[r];return"undefined"==typeof t.attributes[r]&&(t.attributes[r]=o.default),c(t,o.name,o.title)},select:function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=e[r];return"undefined"==typeof t.attributes[r]&&(t.attributes[r]=n.default),a(t,n.name,o||n.title,n.values)},textbox:function(r){var o=e[r];return builtTextbox(t,o.name,o.title)},toolbar:function(r){var o=e[r];return"undefined"==typeof t.attributes[r]&&(t.attributes[r]=o.default),i(t,o.name,o.title,o.values)},color:function(r){return wp.element.createElement(d.a,{props:t,name:r,title:e[r].title})},defaultCategoryId:function(r){var o=e[r];return o.values&&o.values.length>1?("undefined"==typeof t.attributes[r]&&(t.attributes[r]=o.default),a(t,o.name,o.title,o.values)):l(t,o.name,o.title)},radioButtonWithDescription:function(r){var o=e[r];return"undefined"==typeof t.attributes[r]&&(t.attributes[r]=o.default),s(t,o.name,o.title,o.values)}}}function c(e){return wp.element.createElement("div",{className:"ec-store-inspector-subheader-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},e))}function a(e,t,r){for(var o=t.props,n=r.split(" "),c=o.clientId,a="#ec-store-block-"+c,l=jQuery(e).find(a).data("ec-store-block-stored-properties"),i=!1,s={},p=0;p1&&void 0!==arguments[1]?arguments[1]:{};e.isProductPage||"undefined"!=typeof s.Ecwid&&s.Ecwid.openPage&&s.Ecwid.openPage(t,r)},v=function(){history.replaceState(null,null," ")};switch(r.storefront_view){case"EXPAND_CATEGORIES":s.ec.storefront.enable_catalog_on_one_page=!0,v();break;case"SHOW_ROOT_CATEGORIES":s.ec.storefront.show_root_categories=!1,v();break;case"FILTERS_PAGE":f("search");break;case"DEFAULT_CATEGORY_ID":case"COLLAPSE_CATEGORIES":default:s.ec.storefront.enable_catalog_on_one_page=!1,v()}var k=function(t){if(null!=t){"undefined"!=typeof s.Ecwid&&s.Ecwid.refreshConfig&&s.Ecwid.refreshConfig(),"undefined"!=typeof s.Ecwid&&s.Ecwid.destroy&&s.Ecwid.destroy(),s.ecwid_script_defer=!0,s.ecwid_dynamic_widgets=!0,s._xnext_initialization_scripts=[],localStorage.setItem("ec_disabled_apps","all");var n=!1,c=s.document.getElementById("ec-store-search-preview"),a=c&&c.childNodes&&c.childNodes.length>0;if(e.attributes.show_search&&!a&&s._xnext_initialization_scripts.push({widgetType:"SearchWidget",id:"ec-store-search-preview",arg:""}),e.attributes.show_categories&&s._xnext_initialization_scripts.push({widgetType:"CategoriesV2",id:"ec-store-categories-preview",arg:["id=ec-store-categories-preview"]}),s._xnext_initialization_scripts.push({widgetType:"ProductBrowser",id:"ec-store-preview",arg:[p]}),s.document.getElementById("ec-store-script"))"undefined"!=typeof s.Ecwid&&(b!=o&&(E(o),s.ecwid_onBodyDone()),g&&(s.document.getElementById("ec-store-preview").innerHTML="",s.ecwid_onBodyDone()));else{var l=s.document.createElement("script");l.type="text/javascript",l.id="ec-store-script",l.src=EcwidGutenbergParams.scriptJsUrl,t.innerHTML="",t.appendChild(l),l.addEventListener("load",function(){if("undefined"!=typeof s.Ecwid){s.ecwid_loader("ec-store-preview");s.document.getElementsByClassName("ec-cart-widget").length>0&&s.Ecwid.init(),s.needLoadEcwidAsync||void 0===u(s.Ecwid._onComplete)||s.Ecwid._onComplete(),s.Ecwid.OnAPILoaded.add(function(){"FILTERS_PAGE"!=r.storefront_view||n||(f("search"),n=!0)}),E(o)}})}}},C=[{label:__("Set up your store","ecwid-shopping-cart"),url:"admin.php?page=ec-store",variant:"primary"}];return wp.element.createElement("div",{className:d,"data-ec-store-widget":"productbrowser","data-ec-store-id":o,"data-ec-store-args":p,"data-ec-store-with-search":c,"data-ec-store-with-categories":n,id:i},e.attributes.show_search&&wp.element.createElement("div",{id:"ec-store-search-preview"}),e.attributes.show_categories&&wp.element.createElement("div",{id:"ec-store-categories-preview"}),wp.element.createElement("div",{id:"ec-store-preview"}),wp.element.createElement("div",{ref:k}),e.showDemoButton&&wp.element.createElement(y,{status:"info",isDismissible:!1,actions:C},wp.element.createElement("div",{style:{margin:"0 0 12px 12px"}},__("This is a demo store. Create your store to see your store products here.","ecwid-shopping-cart"))))}return wp.element.createElement("div",{className:d,"data-ec-store-widget":"productbrowser","data-ec-store-id":o,"data-ec-store-args":p,"data-ec-store-with-search":c,"data-ec-store-with-categories":n,id:i},wp.element.createElement("div",{className:"ec-store-block-header"},e.icon,e.title),wp.element.createElement("div",{className:"ec-store-block-content"},e.children),e.showDemoButton&&wp.element.createElement("div",null,wp.element.createElement("a",{className:"button button-primary",href:"admin.php?page=ec-store"},__("Set up your store","ecwid-shopping-cart"))))}function i(e){var t=EcwidGutenbergParams.imagesUrl+e.src,r="";return""!=e.className&&(r=e.className),wp.element.createElement("img",{src:t,className:r})}function s(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return wp.element.createElement("div",{className:e},wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block ec-store-product-filter"},wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_shirt"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-b_watch"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"}),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_hat"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))))};switch(e.state){case"EXPAND_CATEGORIES":return function(){return wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-block-subheader"},__("Category #1","ecwid-shopping-cart")),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_shirt"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_watch"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))),wp.element.createElement("div",{className:"ec-store-block-subheader"},__("Category #2","ecwid-shopping-cart")),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_shirt"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_watch"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))))}();case"SHOW_ROOT_CATEGORIES":return function(){return wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-block-subheader"},__("Featured Products","ecwid-shopping-cart")),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-m_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-p_shirt"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_hat"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-b_watch"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_bag"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-p_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))))}();case"DEFAULT_CATEGORY_ID":return function(){return wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-block-subheader"},__("Category #1","ecwid-shopping-cart")),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_shirt"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_watch"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_bag"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_hat"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-y_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))))}();case"FILTERS_PAGE":return t();case"SEARCH_FILTERS_PAGE":return t("ec-store-block-filters-page");default:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return""!=e&&(e=wp.element.createElement("h5",null,e)),wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-block-subheader"},__("Categories","ecwid-shopping-cart")),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-category-sneaker"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-category-bag"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-category-shirt"}))),wp.element.createElement("div",{className:"ec-store-block-subheader"},__("Featured Products","ecwid-shopping-cart")),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-g_sneaker"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-p_shirt"}),wp.element.createElement("div",{className:"ec-store-stub-sample"})),wp.element.createElement("div",{className:"ec-store-product-block"},wp.element.createElement("div",{className:"ec-store-product ec-store-product-b_hat"}),wp.element.createElement("div",{className:"ec-store-stub-sample"}))))}()}}r.d(t,"a",function(){return n}),r.d(t,"c",function(){return c}),r.d(t,"b",function(){return i}),r.d(t,"d",function(){return l}),r.d(t,"e",function(){return s});var p=r(0),d=r(7),m=r(2),u=(r.n(m),"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}),w=function(){function e(e,t){var r=[],_n=!0,o=!1,n=void 0;try{for(var c,a=e[Symbol.iterator]();!(_n=(c=a.next()).done)&&(r.push(c.value),!t||r.length!==t);_n=!0);}catch(e){o=!0,n=e}finally{try{!_n&&a.return&&a.return()}finally{if(o)throw n}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),g=wp.components,h=g.ButtonGroup,_=g.Button,b=g.BaseControl,E=g.ToolbarGroup,f=g.ToggleControl,v=g.RadioControl,y=g.Notice,__=wp.i18n.__},function(e,t){e.exports=wp.element},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(0);r(4),r(8),r(11),r(14),r(17),r(20),r(23),r(26),r(29),r(32);wp.blocks.updateCategory("ec-store",{icon:o.a.ecwid})},function(e,t,r){"use strict";var o=r(5),n=(r.n(o),r(6)),c=(r.n(n),r(0)),a=r(1),l=r(2),i=(r.n(l),function(){function e(e,t){var r=[],_n=!0,o=!1,n=void 0;try{for(var c,a=e[Symbol.iterator]();!(_n=(c=a.next()).done)&&(r.push(c.value),!t||r.length!==t);_n=!0);}catch(e){o=!0,n=e}finally{try{!_n&&a.return&&a.return()}finally{if(o)throw n}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()),s=wp.i18n,__=s.__,p=(s._x,wp.blocks.registerBlockType),d=wp.blockEditor.InspectorControls,m=wp.components,u=m.PanelBody,w=m.BaseControl,g=m.Modal,h=m.Button,_=EcwidGutenbergParams.blockParams["ecwid/store-block"];p("ecwid/store-block",{title:__("Store Home Page","ecwid-shopping-cart"),icon:c.a.store,category:"ec-store",attributes:_.attributes,description:__("Add storefront (product listing)","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1,inserter:!EcwidGutenbergParams.isWidgetsScreen},example:{},edit:function(e){function t(e,t){return wp.element.createElement(w,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}if(Object.keys(e.attributes).length<=1)for(var r in _.attributes)_.attributes.hasOwnProperty(r)&&(e.attributes[r]=_.attributes[r].default);var o=e.attributes;e.setAttributes({widgets:""});var n=t("",__('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201cSettings \u2192 What\u2019s New\u201d).',"ecwid-shopping-cart")),s=t(__("Display cart icon","ecwid-shopping-cart"),_.customizeMinicartText),p=(t("",__('To improve the look and feel of your product page and manage its appearance here, please enable the \u201cNext-gen look and feel of the product page on the storefront\u201d option in your store dashboard (\u201cSettings \u2192 What\u2019s New\u201d).',"ecwid-shopping-cart")),_.isNewProductList),m=_.isNewDetailsPage,b=_.isEnabledProductSubtitles,E=_.isLivePreviewEnabled,f=_.attributes.default_category_id&&_.attributes.default_category_id.values&&_.attributes.default_category_id.values.length>0,v=f&&"DEFAULT_CATEGORY_ID"==o.storefront_view;o.show_description_under_image?("TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"==o.product_details_layout&&e.setAttributes({product_details_two_columns_with_left_sidebar_show_product_description_on_sidebar:!o.show_description_under_image}),"TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"==o.product_details_layout&&e.setAttributes({product_details_two_columns_with_right_sidebar_show_product_description_on_sidebar:!o.show_description_under_image})):e.setAttributes({product_details_two_columns_with_left_sidebar_show_product_description_on_sidebar:"",product_details_two_columns_with_right_sidebar_show_product_description_on_sidebar:""}),v||e.setAttributes({default_category_id:""}),f||e.setAttributes({storefront_view:"COLLAPSE_CATEGORIES"});var y=Object(a.a)(_.attributes,e),k=Object(l.useState)(!1),C=i(k,2),N=C[0],x=C[1],L=Object(l.useRef)([]),P=function(e){var t=L.current.length;null!==e&&(L.current[t]=e)},A=window;(function(){return null!=document.querySelector("[name=editor-canvas]")})()&&(A=function(){return document.querySelector("[name=editor-canvas]").contentWindow}());var S=function(e){E&&e&&(x(!1),L.current.map(function(e){e.classList.contains("is-opened")&&(e.querySelector("button").click(),e.classList.contains("ec-store-panelbody-product-details")&&("FILTERS_PAGE"==o.storefront_view?A.Ecwid.openPage("search"):A.Ecwid.openPage("category")))}))},T=function(e){E&&e&&(x(!0),S(e),A.Ecwid.openPage("product",{id:_.randomProductId}))},O=Object(l.useState)(!1),B=i(O,2),G=B[0],I=B[1],M=function(){return I(!0)},D=function(){return I(!1)};return"undefined"!=typeof A.Ecwid&&(A.Ecwid.OnPageLoaded.add(function(e){"PRODUCT"==e.type&&(_.randomProductId=e.productId)}),A.Ecwid.OnPageSwitch.add(function(e){if("PRODUCT"!=e.type&&"CATEGORY"!=e.type&&"SEARCH"!=e.type)return M(),!1})),[wp.element.createElement("div",null,wp.element.createElement(a.d,{props:e,attributes:o,icon:c.a.store,title:__("Store Home Page","ecwid-shopping-cart"),showDemoButton:_.isDemoStore,isLivePreviewEnabled:E,blockParams:_,isProductPage:N},wp.element.createElement(a.e,{state:o.storefront_view})),G&&wp.element.createElement(g,{title:"Edit Mode",onRequestClose:D},wp.element.createElement("p",null,__("The transition to this page is disabled in the editor, on a real storefront it works as it should.","ecwid-shopping-cart")),wp.element.createElement(h,{variant:"secondary",onClick:D},__("Continue Editing Page","ecwid-shopping-cart")))),wp.element.createElement(d,null,f&&wp.element.createElement(u,{title:__("Category List Appearance","ecwid-shopping-cart"),initialOpen:!1,ref:P,onToggle:S},p&&[y.select("product_list_category_title_behavior"),"SHOW_TEXT_ONLY"!==o.product_list_category_title_behavior&&[y.buttonGroup("product_list_category_image_size"),y.toolbar("product_list_category_image_aspect_ratio")]],!p&&n),wp.element.createElement(u,{title:__("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1,ref:P,onToggle:S},p&&[y.toggle("product_list_show_product_images"),o.product_list_show_product_images&&[y.buttonGroup("product_list_image_size"),y.toolbar("product_list_image_aspect_ratio")],y.toolbar("product_list_product_info_layout"),y.select("product_list_title_behavior"),b&&y.select("product_list_subtitles_behavior"),y.select("product_list_price_behavior"),y.select("product_list_sku_behavior"),y.select("product_list_buybutton_behavior"),y.toggle("product_list_show_additional_image_on_hover"),y.toggle("product_list_show_frame")],!p&&n),wp.element.createElement(u,{title:__("Product Page Appearance","ecwid-shopping-cart"),initialOpen:!1,ref:P,onToggle:T,className:"ec-store-panelbody-product-details"},m&&[y.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===o.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===o.product_details_layout)&&y.toggle("show_description_under_image"),y.toolbar("product_details_gallery_layout"),Object(a.c)(__("Product sidebar content","ecwid-shopping-cart")),y.toggle("product_details_show_product_name"),b&&y.toggle("product_details_show_subtitle"),y.toggle("product_details_show_breadcrumbs"),y.toggle("product_details_show_product_sku"),y.toggle("product_details_show_product_price"),y.toggle("product_details_show_qty"),y.toggle("product_details_show_weight"),y.toggle("product_details_show_number_of_items_in_stock"),y.toggle("product_details_show_in_stock_label"),y.toggle("product_details_show_wholesale_prices"),y.toggle("product_details_show_share_buttons"),y.toggle("product_details_show_navigation_arrows"),y.toggle("product_details_show_product_photo_zoom")],!m&&n),f&&wp.element.createElement(u,{title:__("Store Front Page","ecwid-shopping-cart"),initialOpen:!1,ref:P,onToggle:S},y.radioButtonWithDescription("storefront_view",E)),wp.element.createElement(u,{title:__("Store Navigation","ecwid-shopping-cart"),initialOpen:!1,ref:P,onToggle:S},f&&y.toggle("show_categories"),y.toggle("show_search"),y.toggle("show_breadcrumbs"),p&&y.toggle("show_footer_menu"),y.toggle("show_signin_link"),y.toggle("product_list_show_sort_viewas_options"),s),wp.element.createElement(u,{title:__("Color settings","ecwid-shopping-cart"),initialOpen:!1,ref:P,onToggle:S},y.color("chameleon_color_button"),y.color("chameleon_color_foreground"),y.color("chameleon_color_price"),y.color("chameleon_color_link"),y.color("chameleon_color_background")))]},save:function(e){var t=["productbrowser"];e.attributes.show_categories&&(t[t.length]="categories"),e.attributes.show_search&&(t[t.length]="search");var r={widgets:t.join(" "),default_category_id:"undefined"!==typeof e.attributes.default_category_id?e.attributes.default_category_id:""};return new wp.shortcode({tag:_.shortcodeName,attrs:r,type:"single"}).string()},deprecated:[{attributes:{widgets:{type:"string"},categories_per_row:{type:"integer"},grid:{type:"string"},list:{type:"integer"},table:{type:"integer"},default_category_id:{type:"integer"},default_product_id:{type:"integer"},category_view:{type:"string"},search_view:{type:"string"},minicart_layout:{type:"string"}},save:function(e){return null}},{attributes:{widgets:{type:"string",default:"productbrowser"},default_category_id:{type:"integer",default:0}},migrate:function(e){return{widgets:e.widgets,default_category_id:e.default_category_id}},save:function(e){for(var t={},r=["widgets","default_category_id"],o=0;o