WooCommerce Variation Swatches - Version 2.0.7

Version Description

  • 11-08-2022 =

  • Update: Woocommerce 6.8 support

  • Add: Caching header for ajax response

Download this release

Release Info

Developer EmranAhmed
Plugin Icon 128x128 WooCommerce Variation Swatches
Version 2.0.7
Comparing to
See all releases

Code changes from version 2.0.6 to 2.0.7

README.txt CHANGED
@@ -5,7 +5,7 @@ Requires PHP: 7.0
5
  Requires at least: 5.5
6
  Tested up to: 6.0
7
  WC requires at least: 5.5
8
- WC tested up to: 6.7
9
  Stable tag: trunk
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -616,6 +616,11 @@ And your are ready to go.
616
 
617
  == Changelog ==
618
 
 
 
 
 
 
619
  = 2.0.6 - 31-07-2022 =
620
 
621
  * Fix: dependency script updated for product page settings save issue
5
  Requires at least: 5.5
6
  Tested up to: 6.0
7
  WC requires at least: 5.5
8
+ WC tested up to: 6.8
9
  Stable tag: trunk
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
616
 
617
  == Changelog ==
618
 
619
+ = 2.0.7 - 11-08-2022 =
620
+
621
+ * Update: Woocommerce 6.8 support
622
+ * Add: Caching header for ajax response
623
+
624
  = 2.0.6 - 31-07-2022 =
625
 
626
  * Fix: dependency script updated for product page settings save issue
assets/css/admin.css CHANGED
@@ -2,20 +2,18 @@
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 7/31/2022, 4:31:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
9
- color: #FFFFFF;
10
- background-color: #AF2D2B;
11
- border-color: #A62D2B;
12
- -webkit-box-shadow: 0 1px 0 #A72D2B;
13
- box-shadow: 0 1px 0 #A72D2B;
14
- vertical-align: top;
15
  }
16
- .button.button-danger:hover, .button.button-danger:focus, .button.button-danger:active, .button.button-danger.active {
17
- color: #FFFFFF;
18
- background: #C9302C;
 
19
  }
20
 
21
  [data-gwp_dependency]:not(.dependency-show) {
@@ -42,7 +40,7 @@
42
  .wvs-go-pro-action-link > a {
43
  font-weight: bold;
44
  text-transform: capitalize;
45
- color: #9c27b0;
46
  text-shadow: 1px 1px 1px #eee;
47
  }
48
 
@@ -57,11 +55,6 @@
57
  border-radius: 2px;
58
  }
59
 
60
- .woo-variation-swatches-pro_tab.pro-inactive a {
61
- background-color: var(--wc-primary);
62
- color: var(--wc-content-bg);
63
- }
64
-
65
  #woo-variation-swatches-tutorials-wrapper {
66
  background: #fff;
67
  border-radius: 2px;
@@ -184,13 +177,13 @@
184
  border-color: #5D5E61;
185
  }
186
  #woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro {
187
- background-color: #39B54A;
188
- color: #FFFFFF;
189
- border: 1px solid #39B54A;
190
  }
191
  #woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover {
192
- background: #3FC851;
193
- border-color: #3FC851;
194
  }
195
 
196
  .woo-variation-swatches-group-table-list tbody > :nth-child(odd) {
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 8/14/2022, 5:27:03 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
9
+ color: var(--wc-primary-text);
10
+ background-color: var(--wc-red);
11
+ border-color: var(--wc-red);
 
 
 
12
  }
13
+
14
+ .woo_variation_swatches_tab.pro-inactive a {
15
+ color: var(--wc-primary-text);
16
+ background-color: var(--wc-blue);
17
  }
18
 
19
  [data-gwp_dependency]:not(.dependency-show) {
40
  .wvs-go-pro-action-link > a {
41
  font-weight: bold;
42
  text-transform: capitalize;
43
+ color: var(--wc-primary);
44
  text-shadow: 1px 1px 1px #eee;
45
  }
46
 
55
  border-radius: 2px;
56
  }
57
 
 
 
 
 
 
58
  #woo-variation-swatches-tutorials-wrapper {
59
  background: #fff;
60
  border-radius: 2px;
177
  border-color: #5D5E61;
178
  }
179
  #woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro {
180
+ background-color: var(--wc-blue);
181
+ color: var(--wc-content-bg);
182
+ border: 1px solid var(--wc-blue);
183
  }
184
  #woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover {
185
+ background: var(--wc-blue);
186
+ border-color: var(--wc-blue);
187
  }
188
 
189
  .woo-variation-swatches-group-table-list tbody > :nth-child(odd) {
assets/css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .button.button-danger{background-color:#af2d2b;border-color:#a62d2b;-webkit-box-shadow:0 1px 0 #a72d2b;box-shadow:0 1px 0 #a72d2b;color:#fff;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{background:#c9302c;color:#fff}[data-gwp_dependency]:not(.dependency-show){display:none!important}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{display:block;margin:5px 0}.meta-image-field-wrapper .image-preview{display:table-cell;padding-right:10px;width:60px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.wvs-go-pro-action-link>a{color:#9c27b0;font-weight:700;text-shadow:1px 1px 1px #eee;text-transform:capitalize}#wvs-meta-preview{width:30px}.wvs-preview{border:1px solid rgba(0,0,0,.2);border-radius:2px;height:30px;width:30px}.woo-variation-swatches-pro_tab.pro-inactive a{background-color:var(--wc-primary);color:var(--wc-content-bg)}#woo-variation-swatches-tutorials-wrapper{background:#fff;border:1px solid #ddd;border-radius:2px}#woo-variation-swatches-tutorials-wrapper img{width:100%}#woo-variation-swatches-tutorials-wrapper ul{margin:0}#woo-variation-swatches-tutorials-wrapper li{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;overflow:hidden;padding:50px 30px;position:relative}#woo-variation-swatches-tutorials-wrapper li:last-child{border:0}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper,#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;float:left;padding:0 20px}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper{position:relative;width:60%}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper .ribbon{height:75px;left:-5px;margin:1px 22px;overflow:hidden;position:absolute;text-align:right;top:-5px;width:75px;z-index:1}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper .ribbon span{background:#bc0808;-webkit-box-shadow:0 3px 10px -5px #000;box-shadow:0 3px 10px -5px #000;color:#fff;display:block;font-size:10px;font-weight:700;left:-21px;line-height:20px;position:absolute;text-align:center;text-transform:uppercase;top:19px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);width:100px}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper .ribbon span:after{border-color:#8f0808 #8f0808 transparent transparent;border-style:solid;border-width:3px;content:"";position:absolute;right:0;top:100%;z-index:-1}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper{width:40%}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper h3{font-size:1.5em;margin:0 0 20px}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-contents{font-size:15px;line-height:1.5em;margin-bottom:20px}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button{border-radius:3px;-webkit-box-shadow:none;box-shadow:none;font-size:13px;height:40px;line-height:1;padding:13px 20px;text-shadow:none}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo{background-color:#f44336;border:0;color:#fff}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo:hover{background:#c71609}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs{background-color:#36373a;border:0;color:#fff}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs:hover{background:#5d5e61;border-color:#5d5e61}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro{background-color:#39b54a;border:1px solid #39b54a;color:#fff}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover{background:#3fc851;border-color:#3fc851}.woo-variation-swatches-group-table-list tbody>:nth-child(odd){background-color:#f6f7f7}.woo-variation-swatches-group-section-wrapper .woocommerce-BlankState-message:before{content:"\f307";font-family:Dashicons}.woo-variation-swatches-variation-product-options-wrapper .woocommerce-message{margin:10px}.woo-variation-swatches-variation-product-options-wrapper #saved-message{display:none}.woo-variation-swatches-variation-product-options-wrapper h4{-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1em!important;margin:0!important;overflow:hidden;padding:10px 18px}.woo-variation-swatches-variation-product-options-wrapper .woocommerce-help-tip{margin:0 5px!important}.woo-variation-swatches-variation-product-options-wrapper [data-gwpdepends].has-dependent-data.show{display:-webkit-box;display:-ms-flexbox;display:flex}.woo-variation-swatches-variation-product-options-wrapper .product-label-settings{background-color:#fff}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;border-bottom:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:5px}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group .form-label{font-weight:700;line-height:2;margin:5px 10px;vertical-align:middle;width:280px}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group .form-field{line-height:2;margin:5px 10px;vertical-align:middle}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group .form-field .description{display:inline-block;padding:0 10px;vertical-align:middle}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group-inline{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox{-webkit-box-orient:vertical;-webkit-box-direction:normal;border-bottom:none!important;border-radius:0!important;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox>h4{background-color:#fafafa;border-bottom:1px solid #eee;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox>h4 .attribute-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox.open>h4{background-color:#eee}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox .wc-metabox{border:1px solid #eee}.woo-variation-swatches-variation-product-options-wrapper .woo-variation-swatches-attribute-data{background-color:#fff}.woo-variation-swatches-variation-product-options-wrapper .woo-variation-swatches-attribute-data-inner{margin:5px 0;padding:0 5px}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings{margin:15px}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings-pagination{margin:10px 0}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings-pagination .tablenav-pages{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-pack:end;-ms-flex-pack:end;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;justify-content:flex-end;line-height:2;vertical-align:center}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings-pagination .tablenav-pages .displaying-num{padding:0 2px}
1
+ .button.button-danger{background-color:var(--wc-red);border-color:var(--wc-red);color:var(--wc-primary-text)}.woo_variation_swatches_tab.pro-inactive a{background-color:var(--wc-blue);color:var(--wc-primary-text)}[data-gwp_dependency]:not(.dependency-show){display:none!important}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{display:block;margin:5px 0}.meta-image-field-wrapper .image-preview{display:table-cell;padding-right:10px;width:60px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.wvs-go-pro-action-link>a{color:var(--wc-primary);font-weight:700;text-shadow:1px 1px 1px #eee;text-transform:capitalize}#wvs-meta-preview{width:30px}.wvs-preview{border:1px solid rgba(0,0,0,.2);border-radius:2px;height:30px;width:30px}#woo-variation-swatches-tutorials-wrapper{background:#fff;border:1px solid #ddd;border-radius:2px}#woo-variation-swatches-tutorials-wrapper img{width:100%}#woo-variation-swatches-tutorials-wrapper ul{margin:0}#woo-variation-swatches-tutorials-wrapper li{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;overflow:hidden;padding:50px 30px;position:relative}#woo-variation-swatches-tutorials-wrapper li:last-child{border:0}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper,#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;float:left;padding:0 20px}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper{position:relative;width:60%}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper .ribbon{height:75px;left:-5px;margin:1px 22px;overflow:hidden;position:absolute;text-align:right;top:-5px;width:75px;z-index:1}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper .ribbon span{background:#bc0808;-webkit-box-shadow:0 3px 10px -5px #000;box-shadow:0 3px 10px -5px #000;color:#fff;display:block;font-size:10px;font-weight:700;left:-21px;line-height:20px;position:absolute;text-align:center;text-transform:uppercase;top:19px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);width:100px}#woo-variation-swatches-tutorials-wrapper .tutorial-image-wrapper .ribbon span:after{border-color:#8f0808 #8f0808 transparent transparent;border-style:solid;border-width:3px;content:"";position:absolute;right:0;top:100%;z-index:-1}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper{width:40%}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper h3{font-size:1.5em;margin:0 0 20px}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-contents{font-size:15px;line-height:1.5em;margin-bottom:20px}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button{border-radius:3px;-webkit-box-shadow:none;box-shadow:none;font-size:13px;height:40px;line-height:1;padding:13px 20px;text-shadow:none}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button:active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo{background-color:#f44336;border:0;color:#fff}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo:hover{background:#c71609}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs{background-color:#36373a;border:0;color:#fff}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs:hover{background:#5d5e61;border-color:#5d5e61}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro{background-color:var(--wc-blue);border:1px solid var(--wc-blue);color:var(--wc-content-bg)}#woo-variation-swatches-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover{background:var(--wc-blue);border-color:var(--wc-blue)}.woo-variation-swatches-group-table-list tbody>:nth-child(odd){background-color:#f6f7f7}.woo-variation-swatches-group-section-wrapper .woocommerce-BlankState-message:before{content:"\f307";font-family:Dashicons}.woo-variation-swatches-variation-product-options-wrapper .woocommerce-message{margin:10px}.woo-variation-swatches-variation-product-options-wrapper #saved-message{display:none}.woo-variation-swatches-variation-product-options-wrapper h4{-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1em!important;margin:0!important;overflow:hidden;padding:10px 18px}.woo-variation-swatches-variation-product-options-wrapper .woocommerce-help-tip{margin:0 5px!important}.woo-variation-swatches-variation-product-options-wrapper [data-gwpdepends].has-dependent-data.show{display:-webkit-box;display:-ms-flexbox;display:flex}.woo-variation-swatches-variation-product-options-wrapper .product-label-settings{background-color:#fff}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;border-bottom:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:5px}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group .form-label{font-weight:700;line-height:2;margin:5px 10px;vertical-align:middle;width:280px}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group .form-field{line-height:2;margin:5px 10px;vertical-align:middle}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group .form-field .description{display:inline-block;padding:0 10px;vertical-align:middle}.woo-variation-swatches-variation-product-options-wrapper .form-settings-group-inline{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox{-webkit-box-orient:vertical;-webkit-box-direction:normal;border-bottom:none!important;border-radius:0!important;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox>h4{background-color:#fafafa;border-bottom:1px solid #eee;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox>h4 .attribute-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox.open>h4{background-color:#eee}.woo-variation-swatches-variation-product-options-wrapper .wc-metabox .wc-metabox{border:1px solid #eee}.woo-variation-swatches-variation-product-options-wrapper .woo-variation-swatches-attribute-data{background-color:#fff}.woo-variation-swatches-variation-product-options-wrapper .woo-variation-swatches-attribute-data-inner{margin:5px 0;padding:0 5px}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings{margin:15px}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings-pagination{margin:10px 0}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings-pagination .tablenav-pages{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-pack:end;-ms-flex-pack:end;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;justify-content:flex-end;line-height:2;vertical-align:center}.woo-variation-swatches-variation-product-options-wrapper .product-term-label-settings-pagination .tablenav-pages .displaying-num{padding:0 2px}
assets/css/frontend.css CHANGED
@@ -2,7 +2,7 @@
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 7/31/2022, 4:31:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches.wvs-tooltip .radio-variable-item[data-wvstooltip] {
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 8/14/2022, 5:27:03 PM
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches.wvs-tooltip .radio-variable-item[data-wvstooltip] {
assets/js/admin.js CHANGED
@@ -2,7 +2,7 @@
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 7/31/2022, 4:31:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function() { // webpackBootstrap
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 8/14/2022, 5:27:03 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function() { // webpackBootstrap
assets/js/frontend.js CHANGED
@@ -2,7 +2,7 @@
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 7/31/2022, 4:31:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function() { // webpackBootstrap
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 8/14/2022, 5:27:03 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function() { // webpackBootstrap
assets/js/wp-color-picker-alpha.js CHANGED
@@ -2,7 +2,7 @@
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 7/31/2022, 4:31:22 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function() { // webpackBootstrap
2
  * Variation Swatches for WooCommerce
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 8/14/2022, 5:27:03 PM
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function() { // webpackBootstrap
includes/class-woo-variation-swatches-backend.php CHANGED
@@ -31,7 +31,7 @@
31
  require_once dirname( __FILE__ ) . '/getwooplugins/class-getwooplugins-admin-menus.php';
32
 
33
  require_once dirname( __FILE__ ) . '/class-woo-variation-swatches-deactivate-feedback.php';
34
-
35
  }
36
 
37
  protected function hooks() {
@@ -48,13 +48,17 @@
48
  }
49
 
50
  protected function init() {
51
- //$this->admin_menu = GetWooPlugins_Admin_Menus::instance();
52
  $this->get_admin_menu();
53
  $this->get_deactivate_feedback();
54
  $this->get_export_import();
 
55
  }
56
 
57
  // Start
 
 
 
 
58
  public function get_admin_menu() {
59
  return GetWooPlugins_Admin_Menus::instance();
60
  }
@@ -106,7 +110,7 @@
106
 
107
  $name = sprintf( 'attribute_values[%s][]', esc_attr( $i ) );
108
  ?>
109
- <select multiple="multiple" data-placeholder="<?php esc_attr_e( 'Select terms', 'woocommerce' ); ?>" class="multiselect attribute_values wc-enhanced-select" name="<?php echo esc_attr( $name ) ?>">
110
  <?php
111
  $args = array(
112
  'orderby' => ! empty( $attribute_taxonomy->attribute_orderby ) ? $attribute_taxonomy->attribute_orderby : 'name',
@@ -122,9 +126,9 @@
122
  }
123
  ?>
124
  </select>
125
- <button class="button plus select_all_attributes"><?php esc_html_e( 'Select all', 'woocommerce' ); ?></button>
126
- <button class="button minus select_no_attributes"><?php esc_html_e( 'Select none', 'woocommerce' ); ?></button>
127
- <button class="button fr plus add_new_attribute"><?php esc_html_e( 'Add new', 'woocommerce' ); ?></button>
128
 
129
  <?php
130
  }
@@ -171,7 +175,7 @@
171
  public function attribute_types() {
172
 
173
  return array(
174
- 'select' => esc_html__( 'Select', 'woocommerce' ),
175
  'color' => esc_html__( 'Color', 'woo-variation-swatches' ),
176
  'image' => esc_html__( 'Image', 'woo-variation-swatches' ),
177
  'button' => esc_html__( 'Button', 'woo-variation-swatches' ),
@@ -196,7 +200,6 @@
196
  return $attribute_types;
197
  }
198
 
199
-
200
  public function load_settings() {
201
  include_once dirname( __FILE__ ) . '/class-woo-variation-swatches-settings.php';
202
 
31
  require_once dirname( __FILE__ ) . '/getwooplugins/class-getwooplugins-admin-menus.php';
32
 
33
  require_once dirname( __FILE__ ) . '/class-woo-variation-swatches-deactivate-feedback.php';
34
+ require_once dirname( __FILE__ ) . '/class-woo-variation-swatches-product-edit-panel.php';
35
  }
36
 
37
  protected function hooks() {
48
  }
49
 
50
  protected function init() {
 
51
  $this->get_admin_menu();
52
  $this->get_deactivate_feedback();
53
  $this->get_export_import();
54
+ $this->get_edit_panel();
55
  }
56
 
57
  // Start
58
+ public function get_edit_panel() {
59
+ return Woo_Variation_Swatches_Product_Edit_Panel::instance();
60
+ }
61
+
62
  public function get_admin_menu() {
63
  return GetWooPlugins_Admin_Menus::instance();
64
  }
110
 
111
  $name = sprintf( 'attribute_values[%s][]', esc_attr( $i ) );
112
  ?>
113
+ <select multiple="multiple" data-placeholder="<?php esc_attr_e( 'Select terms', 'woo-variation-swatches' ); ?>" class="multiselect attribute_values wc-enhanced-select" name="<?php echo esc_attr( $name ) ?>">
114
  <?php
115
  $args = array(
116
  'orderby' => ! empty( $attribute_taxonomy->attribute_orderby ) ? $attribute_taxonomy->attribute_orderby : 'name',
126
  }
127
  ?>
128
  </select>
129
+ <button class="button plus select_all_attributes"><?php esc_html_e( 'Select all', 'woo-variation-swatches' ); ?></button>
130
+ <button class="button minus select_no_attributes"><?php esc_html_e( 'Select none', 'woo-variation-swatches' ); ?></button>
131
+ <button class="button fr plus add_new_attribute"><?php esc_html_e( 'Add new', 'woo-variation-swatches' ); ?></button>
132
 
133
  <?php
134
  }
175
  public function attribute_types() {
176
 
177
  return array(
178
+ 'select' => esc_html__( 'Select', 'woo-variation-swatches' ),
179
  'color' => esc_html__( 'Color', 'woo-variation-swatches' ),
180
  'image' => esc_html__( 'Image', 'woo-variation-swatches' ),
181
  'button' => esc_html__( 'Button', 'woo-variation-swatches' ),
200
  return $attribute_types;
201
  }
202
 
 
203
  public function load_settings() {
204
  include_once dirname( __FILE__ ) . '/class-woo-variation-swatches-settings.php';
205
 
includes/class-woo-variation-swatches-export-import.php CHANGED
@@ -117,7 +117,7 @@
117
 
118
  public function default_import_column_name( $columns ) {
119
  // potential column name => column slug
120
- $columns[ esc_html__( 'Swatches Attributes', 'woo-variation-gallery' ) ] = $this->column_id;
121
 
122
  return $columns;
123
  }
@@ -239,7 +239,7 @@
239
 
240
  if ( ! wp_attachment_is_image( $id ) ) {
241
  /* translators: %s: image URL */
242
- throw new Exception( sprintf( __( 'Not able to attach "%s".', 'woocommerce' ), $url ), 400 );
243
  }
244
 
245
  // Save attachment source for future reference.
@@ -248,7 +248,7 @@
248
 
249
  if ( ! $id ) {
250
  /* translators: %s: image URL */
251
- throw new Exception( sprintf( __( 'Unable to use image "%s".', 'woocommerce' ), $url ), 400 );
252
  }
253
 
254
  return $id;
117
 
118
  public function default_import_column_name( $columns ) {
119
  // potential column name => column slug
120
+ $columns[ esc_html__( 'Swatches Attributes', 'woo-variation-swatches' ) ] = $this->column_id;
121
 
122
  return $columns;
123
  }
239
 
240
  if ( ! wp_attachment_is_image( $id ) ) {
241
  /* translators: %s: image URL */
242
+ throw new Exception( sprintf( __( 'Not able to attach "%s".', 'woo-variation-swatches' ), $url ), 400 );
243
  }
244
 
245
  // Save attachment source for future reference.
248
 
249
  if ( ! $id ) {
250
  /* translators: %s: image URL */
251
+ throw new Exception( sprintf( __( 'Unable to use image "%s".', 'woo-variation-swatches' ), $url ), 400 );
252
  }
253
 
254
  return $id;
includes/class-woo-variation-swatches-product-edit-panel.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) || exit;
3
+
4
+ if ( ! class_exists( 'Woo_Variation_Swatches_Product_Edit_Panel' ) ) :
5
+ class Woo_Variation_Swatches_Product_Edit_Panel {
6
+ protected static $_instance = null;
7
+
8
+ protected function __construct() {
9
+ $this->hooks();
10
+ do_action( 'woo_variation_swatches_product_edit_panel_loaded', $this );
11
+ }
12
+
13
+ public static function instance() {
14
+ if ( is_null( self::$_instance ) ) {
15
+ self::$_instance = new self();
16
+ }
17
+
18
+ return self::$_instance;
19
+ }
20
+
21
+ protected function hooks() {
22
+ add_filter( 'woocommerce_product_data_tabs', array( $this, 'product_data_tab' ) );
23
+ add_filter( 'woocommerce_product_data_panels', array( $this, 'product_data_panel' ) );
24
+ }
25
+
26
+ public function product_data_tab( $tabs ) {
27
+
28
+ if ( apply_filters( 'woo_variation_swatches_product_data_tab', true ) ) {
29
+
30
+ $tabs[ 'woo_variation_swatches' ] = array(
31
+ 'label' => esc_html__( 'Swatches Settings', 'woo-variation-swatches-pro' ),
32
+ 'target' => 'woo_variation_swatches_variation_product_options',
33
+ 'class' => array( 'show_if_variable', 'variations_tab', 'pro-inactive' ),
34
+ 'priority' => 65,
35
+ );
36
+ }
37
+
38
+ return $tabs;
39
+ }
40
+
41
+ public function product_data_panel() {
42
+ global $post, $wpdb, $product_object;
43
+
44
+ $product_id = $product_object->get_id();
45
+
46
+ if ( ! $product_object->is_type( 'variable' ) ) {
47
+ return;
48
+ }
49
+
50
+ include dirname( __FILE__ ) . '/html-product-settings-panel.php';
51
+ }
52
+ }
53
+
54
+ endif;
includes/class-woo-variation-swatches-product-page.php CHANGED
@@ -38,6 +38,8 @@
38
  add_filter( 'woocommerce_variation_is_active', array( $this, 'disable_out_of_stock_item' ), 10, 2 );
39
  add_filter( 'woocommerce_available_variation', array( $this, 'add_variation_data' ), 10, 3 );
40
  // add_action( 'woocommerce_after_variations_form', array( $this, 'enqueue_script' ) );
 
 
41
  }
42
 
43
  protected function init() {
@@ -46,6 +48,26 @@
46
 
47
  // Start
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  public function add_variation_data( $variation_data, $product, $variation ) {
50
 
51
  if ( woo_variation_swatches()->is_pro() && wc_string_to_bool( woo_variation_swatches()->get_option( 'enable_linkable_variation_url', 'no' ) ) ) {
@@ -634,7 +656,7 @@
634
  'name' => '',
635
  'id' => '',
636
  'class' => '',
637
- 'show_option_none' => esc_html__( 'Choose an option', 'woocommerce' ),
638
  'is_archive' => false
639
  ) );
640
 
@@ -660,7 +682,7 @@
660
  $class = $args[ 'class' ];
661
  $show_option_none = (bool) $args[ 'show_option_none' ];
662
  // $show_option_none = true;
663
- $show_option_none_text = $args[ 'show_option_none' ] ? $args[ 'show_option_none' ] : esc_html__( 'Choose an option', 'woocommerce' ); // We'll do our best to hide the placeholder, but we'll need to show something when resetting options.
664
 
665
  if ( empty( $options ) && ! empty( $product ) && ! empty( $attribute ) ) {
666
  $attributes = $product->get_variation_attributes();
38
  add_filter( 'woocommerce_variation_is_active', array( $this, 'disable_out_of_stock_item' ), 10, 2 );
39
  add_filter( 'woocommerce_available_variation', array( $this, 'add_variation_data' ), 10, 3 );
40
  // add_action( 'woocommerce_after_variations_form', array( $this, 'enqueue_script' ) );
41
+
42
+ add_filter( 'nocache_headers', array( $this, 'cache_ajax_response' ) );
43
  }
44
 
45
  protected function init() {
48
 
49
  // Start
50
 
51
+ public function cache_ajax_response( $headers ) {
52
+ global $wp_query;
53
+ $action = $wp_query->get( 'wc-ajax' ) ? sanitize_text_field( $wp_query->get( 'wc-ajax' ) ) : false;
54
+ $requests = array( 'woo_get_variations', 'woo_get_all_variations' );
55
+ if ( $action && in_array( $action, $requests ) ) {
56
+ // ask the browser to cache this response
57
+
58
+ $expires = HOUR_IN_SECONDS; // 1 hr
59
+ $cache_control = sprintf( 'public, max-age=%d', $expires );
60
+
61
+ $headers[ 'Pragma' ] = 'public'; // public / cache. backwards compatibility with HTTP/1.0 caches
62
+ $headers[ 'Expires' ] = $expires;
63
+ $headers[ 'Cache-Control' ] = $cache_control;
64
+ $headers[ 'X-Variation-Swatches-Ajax-Header-Modified' ] = true;
65
+
66
+ }
67
+
68
+ return $headers;
69
+ }
70
+
71
  public function add_variation_data( $variation_data, $product, $variation ) {
72
 
73
  if ( woo_variation_swatches()->is_pro() && wc_string_to_bool( woo_variation_swatches()->get_option( 'enable_linkable_variation_url', 'no' ) ) ) {
656
  'name' => '',
657
  'id' => '',
658
  'class' => '',
659
+ 'show_option_none' => esc_html__( 'Choose an option', 'woo-variation-swatches' ),
660
  'is_archive' => false
661
  ) );
662
 
682
  $class = $args[ 'class' ];
683
  $show_option_none = (bool) $args[ 'show_option_none' ];
684
  // $show_option_none = true;
685
+ $show_option_none_text = $args[ 'show_option_none' ] ? $args[ 'show_option_none' ] : esc_html__( 'Choose an option', 'woo-variation-swatches' ); // We'll do our best to hide the placeholder, but we'll need to show something when resetting options.
686
 
687
  if ( empty( $options ) && ! empty( $product ) && ! empty( $attribute ) ) {
688
  $attributes = $product->get_variation_attributes();
includes/class-woo-variation-swatches-settings.php CHANGED
@@ -95,10 +95,11 @@
95
  }
96
 
97
  $links = array(
98
- 'button_url' => 'https://getwooplugins.com/plugins/woocommerce-variation-swatches/',
99
- 'button_text' => esc_html__( 'Buy Now', 'woo-variation-swatches' ),
100
- 'link_url' => 'https://getwooplugins.com/documentation/woocommerce-variation-swatches/',
101
- 'link_text' => esc_html__( 'See Documentation', 'woo-variation-swatches' )
 
102
  );
103
 
104
  return $links;
@@ -443,7 +444,7 @@
443
  'id' => 'attribute_image_size',
444
  'type' => 'select',
445
  'title' => esc_html__( 'Attribute image size', 'woo-variation-swatches' ),
446
- 'desc' => has_filter( 'woo_variation_swatches_global_product_attribute_image_size' ) ? __( '<span style="color: red">Attribute image size can be changed by <code>woo_variation_swatches_global_product_attribute_image_size</code> filter hook. So this option will not apply any effect.</span>', 'woo-variation-swatches' ) : __( sprintf( 'Choose attribute image size. <a target="_blank" href="%s">Media Settings</a> or use <strong>Regenerate Thumbnails</strong> plugin', esc_url( admin_url( 'options-media.php' ) ) ), 'woo-variation-swatches' ),
447
  'options' => self::get_all_image_sizes(),
448
  'default' => 'variation_swatches_image_size'
449
  ),
95
  }
96
 
97
  $links = array(
98
+ 'button_url' => 'https://getwooplugins.com/plugins/woocommerce-variation-swatches/',
99
+ 'button_text' => esc_html__( 'Buy Now', 'woo-variation-swatches' ),
100
+ 'button_class' => 'button-danger',
101
+ 'link_url' => 'https://getwooplugins.com/documentation/woocommerce-variation-swatches/',
102
+ 'link_text' => esc_html__( 'See Documentation', 'woo-variation-swatches' )
103
  );
104
 
105
  return $links;
444
  'id' => 'attribute_image_size',
445
  'type' => 'select',
446
  'title' => esc_html__( 'Attribute image size', 'woo-variation-swatches' ),
447
+ 'desc' => has_filter( 'woo_variation_swatches_global_product_attribute_image_size' ) ? __( '<span style="color: red">Attribute image size can be changed by <code>woo_variation_swatches_global_product_attribute_image_size</code> filter hook. So this option will not apply any effect.</span>', 'woo-variation-swatches' ) : sprintf( __( 'Choose attribute image size. <a target="_blank" href="%s">Media Settings</a> or use <strong>Regenerate Thumbnails</strong> plugin', 'woo-variation-swatches' ), esc_url( admin_url( 'options-media.php' ) ) ),
448
  'options' => self::get_all_image_sizes(),
449
  'default' => 'variation_swatches_image_size'
450
  ),
includes/getwooplugins/class-getwooplugins-admin-menus.php CHANGED
@@ -103,6 +103,8 @@
103
 
104
  wp_enqueue_style( 'getwooplugins_settings', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/css/getwooplugins-settings.css', array(), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'css/getwooplugins-settings.css' ) );
105
 
 
 
106
  wp_enqueue_script( 'gwp-form-field-dependency', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/getwooplugins-form-field-dependency.js', array( 'jquery' ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/getwooplugins-form-field-dependency.js' ), true );
107
 
108
  wp_enqueue_script( 'wp-color-picker-alpha', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/wp-color-picker-alpha.js', array(
@@ -110,18 +112,24 @@
110
  'wp-color-picker'
111
  ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/wp-color-picker-alpha.js' ), true );
112
 
113
- wp_enqueue_script( 'getwooplugins_settings', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/getwooplugins-settings.js', array(
 
114
  'jquery',
115
  'underscore',
116
  'backbone',
117
  'wp-util',
118
  'jquery-tiptip',
119
- 'iris',
120
- 'wc-enhanced-select'
121
- ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/getwooplugins-settings.js' ), true );
 
 
 
 
 
122
 
123
  wp_localize_script( 'getwooplugins_settings', 'getwooplugins_settings_params', array(
124
- 'i18n_nav_warning' => esc_html__( 'The changes you made will be lost if you navigate away from this page.', 'woocommerce' ),
125
  ) );
126
  }
127
  }
@@ -149,7 +157,7 @@
149
  }
150
 
151
 
152
- add_menu_page( esc_html__( 'GetWooPlugins Settings', 'woo-variation-gallery' ), esc_html__( 'GetWooPlugins', 'woo-variation-gallery' ), 'edit_theme_options', 'getwooplugins', null, 'dashicons-admin-settings', '45.5' );
153
 
154
  }
155
 
@@ -178,7 +186,7 @@
178
 
179
  global $submenu, $menu;
180
 
181
- $settings_page = add_submenu_page( 'getwooplugins', esc_html__( 'GetWooPlugins Settings', 'woo-variation-gallery' ), esc_html__( 'Home', 'woo-variation-gallery' ), 'manage_options', 'getwooplugins-settings', array(
182
  $this,
183
  'settings_page'
184
  ) );
103
 
104
  wp_enqueue_style( 'getwooplugins_settings', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/css/getwooplugins-settings.css', array(), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'css/getwooplugins-settings.css' ) );
105
 
106
+ wp_enqueue_script( 'jquery-tiptip', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/jquery.tipTip.js', array( 'jquery' ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/jquery.tipTip.js' ), true );
107
+
108
  wp_enqueue_script( 'gwp-form-field-dependency', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/getwooplugins-form-field-dependency.js', array( 'jquery' ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/getwooplugins-form-field-dependency.js' ), true );
109
 
110
  wp_enqueue_script( 'wp-color-picker-alpha', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/wp-color-picker-alpha.js', array(
112
  'wp-color-picker'
113
  ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/wp-color-picker-alpha.js' ), true );
114
 
115
+
116
+ $dep = array(
117
  'jquery',
118
  'underscore',
119
  'backbone',
120
  'wp-util',
121
  'jquery-tiptip',
122
+ 'iris'
123
+ );
124
+
125
+ if ( class_exists( 'WooCommerce' ) ) {
126
+ $dep[] = 'wc-enhanced-select';
127
+ }
128
+
129
+ wp_enqueue_script( 'getwooplugins_settings', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/getwooplugins-settings.js', $dep, filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/getwooplugins-settings.js' ), true );
130
 
131
  wp_localize_script( 'getwooplugins_settings', 'getwooplugins_settings_params', array(
132
+ 'i18n_nav_warning' => esc_html__( 'The changes you made will be lost if you navigate away from this page.', 'woo-variation-swatches' ),
133
  ) );
134
  }
135
  }
157
  }
158
 
159
 
160
+ add_menu_page( esc_html__( 'GetWooPlugins Settings', 'woo-variation-swatches' ), esc_html__( 'GetWooPlugins', 'woo-variation-swatches' ), 'edit_theme_options', 'getwooplugins', null, 'dashicons-admin-settings', '45.5' );
161
 
162
  }
163
 
186
 
187
  global $submenu, $menu;
188
 
189
+ $settings_page = add_submenu_page( 'getwooplugins', esc_html__( 'GetWooPlugins Settings', 'woo-variation-swatches' ), esc_html__( 'Home', 'woo-variation-swatches' ), 'manage_options', 'getwooplugins-settings', array(
190
  $this,
191
  'settings_page'
192
  ) );
includes/getwooplugins/class-getwooplugins-admin-settings.php CHANGED
@@ -62,7 +62,7 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
62
  do_action( 'getwooplugins_update_options', $current_tab );
63
  do_action( 'getwooplugins_update_options' );
64
 
65
- self::add_message( esc_html__( 'Your settings have been saved.', 'woo-variation-gallery' ) );
66
 
67
  do_action( 'getwooplugins_settings_saved' );
68
  }
@@ -192,14 +192,37 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
192
  return str_ireplace(array('[', ']'),array('_', ''),$id);
193
  }
194
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  public static function popup_template_links($value){
196
 
197
  if( $value['is_pro'] ){
198
- return sprintf('<a data-template="%s" class="pro-modal" href="#"></a>', esc_attr(self::normalize_id( $value['id'] )));
199
  }
200
 
201
  if($value['help_preview'] ){
202
- return sprintf('<a data-template="%s" class="help-modal" href="#"></a>', esc_attr(self::normalize_id( $value['id'] )));
 
 
 
 
 
 
203
  }
204
  }
205
 
@@ -276,9 +299,6 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
276
  $description = $field_description['description'];
277
  $tooltip_html = $field_description['tooltip_html'];
278
 
279
- // Dependent field
280
- $require = isset( $value['require'] ) ? "data-gwp_dependency='" . wc_esc_json(wp_json_encode( $value['require'] )) . "'" : '';
281
-
282
  $classes = array();
283
 
284
  if( $value['is_pro'] ){
@@ -347,9 +367,9 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
347
  case 'tel':
348
  $option_value = $value['value'];
349
 
350
- ?><tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
351
  <th scope="row" class="titledesc">
352
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
353
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
354
  </th>
355
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
@@ -392,9 +412,9 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
392
  case 'color':
393
  $option_value = $value['value'];
394
  ?>
395
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
396
  <th scope="row" class="titledesc">
397
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
398
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
399
  </th>
400
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
@@ -416,9 +436,9 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
416
  $option_value = $value['value'];
417
 
418
  ?>
419
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
420
  <th scope="row" class="titledesc">
421
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
422
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
423
  </th>
424
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
@@ -444,9 +464,9 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
444
  case 'multiselect':
445
  $option_value = $value['value'];
446
  ?>
447
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
448
  <th scope="row" class="titledesc">
449
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
450
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
451
  </th>
452
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
@@ -480,9 +500,9 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
480
  case 'radio':
481
  $option_value = $value['value'];
482
  ?>
483
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
484
  <th scope="row" class="titledesc">
485
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
486
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
487
  </th>
488
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
@@ -518,7 +538,7 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
518
  // Checkbox input.
519
  case 'checkbox':
520
  $option_value = $value['value'];
521
- $visibility_class = array();
522
 
523
  if ( ! isset( $value['hide_if_checked'] ) ) {
524
  $value['hide_if_checked'] = false;
@@ -538,9 +558,9 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
538
 
539
  if ( ! isset( $value['checkboxgroup'] ) || 'start' === $value['checkboxgroup'] ) {
540
  ?>
541
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?> class="<?php echo esc_attr( implode( ' ', $visibility_class ) ); ?>">
542
  <th scope="row" class="titledesc">
543
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?><?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
544
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
545
  </th>
546
  <td class="forminp forminp-checkbox">
@@ -568,8 +588,8 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
568
  value="1"
569
  <?php checked( $option_value, 'yes' ); ?>
570
  <?php echo implode( ' ', $custom_attributes ); // WPCS: XSS ok. ?>
571
- /> <?php echo $description; // WPCS: XSS ok. ?>
572
- </label> <?php echo $tooltip_html; // WPCS: XSS ok. ?>
573
  <?php
574
 
575
  if ( ! isset( $value['checkboxgroup'] ) || 'end' === $value['checkboxgroup'] ) {
@@ -604,13 +624,13 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
604
  }
605
 
606
  ?>
607
- <tr class="<?php echo esc_attr($class) ?> single_select_page" <?php echo $require; // WPCS: XSS ok. ?>>
608
  <th scope="row" class="titledesc">
609
- <label><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
610
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
611
  </th>
612
  <td class="forminp">
613
- <?php echo str_replace( ' id=', " data-placeholder='" . esc_attr__( 'Select a page&hellip;', 'woocommerce' ) . "' style='" . $value['css'] . "' class='" . $value['class'] . "' id=", wp_dropdown_pages( $args ) ); // WPCS: XSS ok. ?> <?php echo $description; // WPCS: XSS ok. ?>
614
  </td>
615
  </tr>
616
  <?php
@@ -624,15 +644,15 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
624
  $page = get_post( $option_value );
625
  $option_display_name = sprintf(
626
  /* translators: 1: page name 2: page ID */
627
- __( '%1$s (ID: %2$s)', 'woocommerce' ),
628
  $page->post_title,
629
  $option_value
630
  );
631
  }
632
  ?>
633
- <tr class="<?php echo esc_attr($class) ?> single_select_page" <?php echo $require; // WPCS: XSS ok. ?>>
634
  <th scope="row" class="titledesc">
635
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></label>
636
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
637
  </th>
638
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
@@ -642,17 +662,17 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
642
  style="<?php echo esc_attr( $value['css'] ); ?>"
643
  class="<?php echo esc_attr( $value['class'] ); ?>"
644
  <?php echo implode( ' ', $custom_attributes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
645
- data-placeholder="<?php esc_attr_e( 'Search for a page&hellip;', 'woocommerce' ); ?>"
646
  data-allow_clear="true"
647
- data-exclude="<?php echo wc_esc_json( wp_json_encode( $value['args']['exclude'] ) ); ?>"
648
  >
649
  <option value=""></option>
650
  <?php if ( ! is_null( $page ) ) { ?>
651
  <option value="<?php echo esc_attr( $option_value ); ?>" selected="selected">
652
- <?php echo wp_strip_all_tags( $option_display_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
653
  </option>
654
  <?php } ?>
655
- </select> <?php echo $description; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
656
  </td>
657
  </tr>
658
  <?php
@@ -671,14 +691,14 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
671
  $state = '*';
672
  }
673
  ?>
674
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
675
  <th scope="row" class="titledesc">
676
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
677
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
678
  </th>
679
- <td class="forminp"><select name="<?php echo esc_attr( $value['id'] ); ?>" style="<?php echo esc_attr( $value['css'] ); ?>" data-placeholder="<?php esc_attr_e( 'Choose a country / region&hellip;', 'woocommerce' ); ?>" aria-label="<?php esc_attr_e( 'Country / Region', 'woocommerce' ); ?>" class="wc-enhanced-select">
680
  <?php WC()->countries->country_dropdown_options( $country, $state ); ?>
681
- </select> <?php echo $description; // WPCS: XSS ok. ?>
682
  </td>
683
  </tr>
684
  <?php
@@ -696,13 +716,13 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
696
 
697
  asort( $countries );
698
  ?>
699
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
700
  <th scope="row" class="titledesc">
701
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
702
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
703
  </th>
704
  <td class="forminp">
705
- <select multiple="multiple" name="<?php echo esc_attr( $value['id'] ); ?>[]" style="width:350px" data-placeholder="<?php esc_attr_e( 'Choose countries / regions&hellip;', 'woocommerce' ); ?>" aria-label="<?php esc_attr_e( 'Country / Region', 'woocommerce' ); ?>" class="wc-enhanced-select">
706
  <?php
707
  if ( ! empty( $countries ) ) {
708
  foreach ( $countries as $key => $val ) {
@@ -710,7 +730,7 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
710
  }
711
  }
712
  ?>
713
- </select> <?php echo ( $description ) ? $description : ''; // WPCS: XSS ok. ?> <br /><a class="select_all button" href="#"><?php esc_html_e( 'Select all', 'woocommerce' ); ?></a> <a class="select_none button" href="#"><?php esc_html_e( 'Select none', 'woocommerce' ); ?></a>
714
  </td>
715
  </tr>
716
  <?php
@@ -719,16 +739,16 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
719
  // Days/months/years selector.
720
  case 'relative_date_selector':
721
  $periods = array(
722
- 'days' => __( 'Day(s)', 'woocommerce' ),
723
- 'weeks' => __( 'Week(s)', 'woocommerce' ),
724
- 'months' => __( 'Month(s)', 'woocommerce' ),
725
- 'years' => __( 'Year(s)', 'woocommerce' ),
726
  );
727
  $option_value = wc_parse_relative_date_option( $value['value'] );
728
  ?>
729
- <tr class="<?php echo esc_attr($class) ?>" <?php echo $require; // WPCS: XSS ok. ?>>
730
  <th scope="row" class="titledesc">
731
- <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo $tooltip_html; // WPCS: XSS ok. ?></label>
732
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
733
  </th>
734
  <td class="forminp">
@@ -750,7 +770,7 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
750
  echo '<option value="' . esc_attr( $value ) . '"' . selected( $option_value['unit'], $value, false ) . '>' . esc_html( $label ) . '</option>';
751
  }
752
  ?>
753
- </select> <?php echo ( $description ) ? $description : ''; // WPCS: XSS ok. ?>
754
  </td>
755
  </tr>
756
  <?php
@@ -797,7 +817,8 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
797
  if ( $tooltip_html && in_array( $value['type'], array( 'checkbox' ), true ) ) {
798
  $tooltip_html = '<p class="description">' . $tooltip_html . '</p>';
799
  } elseif ( $tooltip_html ) {
800
- $tooltip_html = wc_help_tip( $tooltip_html );
 
801
  }
802
 
803
  return array(
@@ -856,13 +877,13 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
856
  break;
857
  case 'multiselect':
858
  case 'multi_select_countries':
859
- $value = array_filter( array_map( 'wc_clean', (array) $raw_value ) );
860
  break;
861
  case 'image_width':
862
  $value = array();
863
  if ( isset( $raw_value['width'] ) ) {
864
- $value['width'] = wc_clean( $raw_value['width'] );
865
- $value['height'] = wc_clean( $raw_value['height'] );
866
  $value['crop'] = isset( $raw_value['crop'] ) ? 1 : 0;
867
  } else {
868
  $value['width'] = $option['default']['width'];
@@ -883,7 +904,7 @@ if ( ! class_exists( 'GetWooPlugins_Admin_Settings', false ) ) :
883
  $value = wc_parse_relative_date_option( $raw_value );
884
  break;
885
  default:
886
- $value = wc_clean( $raw_value );
887
  break;
888
  }
889
 
62
  do_action( 'getwooplugins_update_options', $current_tab );
63
  do_action( 'getwooplugins_update_options' );
64
 
65
+ self::add_message( esc_html__( 'Your settings have been saved.', 'woo-variation-swatches' ) );
66
 
67
  do_action( 'getwooplugins_settings_saved' );
68
  }
192
  return str_ireplace(array('[', ']'),array('_', ''),$id);
193
  }
194
 
195
+ /**
196
+ * Escape JSON for use on HTML or attribute text nodes.
197
+ *
198
+ * @param string $json JSON to escape.
199
+ * @param bool $html True if escaping for HTML text node, false for attributes. Determines how quotes are handled.
200
+ *
201
+ * @return string Escaped JSON.
202
+ */
203
+ public static function esc_json( $json, $html = false ) {
204
+ return _wp_specialchars(
205
+ $json,
206
+ $html ? ENT_NOQUOTES : ENT_QUOTES, // Escape quotes in attribute nodes only.
207
+ 'UTF-8', // json_encode() outputs UTF-8 (really just ASCII), not the blog's charset.
208
+ true // Double escape entities: `&amp;` -> `&amp;amp;`.
209
+ );
210
+ }
211
+
212
  public static function popup_template_links($value){
213
 
214
  if( $value['is_pro'] ){
215
+ return sprintf('<a data-template="%s" data-tip="%s" class="getwooplugins-help-tip pro-modal" href="#"></a>', esc_attr(self::normalize_id( $value['id'] )), esc_html__('Check how this feature works', 'woo-variation-swatches'));
216
  }
217
 
218
  if($value['help_preview'] ){
219
+ return sprintf('<a data-template="%s" data-tip="%s" class="getwooplugins-help-tip help-modal" href="#"></a>', esc_attr(self::normalize_id( $value['id'] )), esc_html__('See how this feature works', 'woo-variation-swatches'));
220
+ }
221
+ }
222
+
223
+ public static function dependency_attribute($value){
224
+ if($value && isset( $value['require'] )){
225
+ return sprintf('data-gwp_dependency="%s"', self::esc_json(wp_json_encode( $value['require'] )));
226
  }
227
  }
228
 
299
  $description = $field_description['description'];
300
  $tooltip_html = $field_description['tooltip_html'];
301
 
 
 
 
302
  $classes = array();
303
 
304
  if( $value['is_pro'] ){
367
  case 'tel':
368
  $option_value = $value['value'];
369
 
370
+ ?><tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
371
  <th scope="row" class="titledesc">
372
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post( $tooltip_html); ?></label>
373
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
374
  </th>
375
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
412
  case 'color':
413
  $option_value = $value['value'];
414
  ?>
415
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
416
  <th scope="row" class="titledesc">
417
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); ?></label>
418
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
419
  </th>
420
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
436
  $option_value = $value['value'];
437
 
438
  ?>
439
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
440
  <th scope="row" class="titledesc">
441
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); ?></label>
442
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
443
  </th>
444
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
464
  case 'multiselect':
465
  $option_value = $value['value'];
466
  ?>
467
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
468
  <th scope="row" class="titledesc">
469
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); // WPCS: XSS ok. ?></label>
470
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
471
  </th>
472
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
500
  case 'radio':
501
  $option_value = $value['value'];
502
  ?>
503
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
504
  <th scope="row" class="titledesc">
505
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); // WPCS: XSS ok. ?></label>
506
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
507
  </th>
508
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
538
  // Checkbox input.
539
  case 'checkbox':
540
  $option_value = $value['value'];
541
+ $visibility_class = array($class);
542
 
543
  if ( ! isset( $value['hide_if_checked'] ) ) {
544
  $value['hide_if_checked'] = false;
558
 
559
  if ( ! isset( $value['checkboxgroup'] ) || 'start' === $value['checkboxgroup'] ) {
560
  ?>
561
+ <tr class="<?php echo esc_attr( implode( ' ', $visibility_class ) ); ?>" <?php echo self::dependency_attribute($value); ?>>
562
  <th scope="row" class="titledesc">
563
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?><?php echo wp_kses_post( $tooltip_html); ?></label>
564
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
565
  </th>
566
  <td class="forminp forminp-checkbox">
588
  value="1"
589
  <?php checked( $option_value, 'yes' ); ?>
590
  <?php echo implode( ' ', $custom_attributes ); // WPCS: XSS ok. ?>
591
+ /> <?php echo wp_kses_post($description); ?>
592
+ </label> <?php echo wp_kses_post( $tooltip_html); ?>
593
  <?php
594
 
595
  if ( ! isset( $value['checkboxgroup'] ) || 'end' === $value['checkboxgroup'] ) {
624
  }
625
 
626
  ?>
627
+ <tr class="<?php echo esc_attr($class) ?> single_select_page" <?php echo self::dependency_attribute($value); ?>>
628
  <th scope="row" class="titledesc">
629
+ <label><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); ?></label>
630
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
631
  </th>
632
  <td class="forminp">
633
+ <?php echo str_replace( ' id=', " data-placeholder='" . esc_attr__( 'Select a page&hellip;', 'woo-variation-swatches' ) . "' style='" . esc_attr($value['css']) . "' class='" . esc_attr($value['class']) . "' id=", wp_dropdown_pages( $args ) ); // WPCS: XSS ok. ?> <?php echo wp_kses_post($description); ?>
634
  </td>
635
  </tr>
636
  <?php
644
  $page = get_post( $option_value );
645
  $option_display_name = sprintf(
646
  /* translators: 1: page name 2: page ID */
647
+ __( '%1$s (ID: %2$s)', 'woo-variation-swatches' ),
648
  $page->post_title,
649
  $option_value
650
  );
651
  }
652
  ?>
653
+ <tr class="<?php echo esc_attr($class) ?> single_select_page" <?php echo self::dependency_attribute($value); ?>>
654
  <th scope="row" class="titledesc">
655
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); ?></label>
656
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
657
  </th>
658
  <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
662
  style="<?php echo esc_attr( $value['css'] ); ?>"
663
  class="<?php echo esc_attr( $value['class'] ); ?>"
664
  <?php echo implode( ' ', $custom_attributes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
665
+ data-placeholder="<?php esc_attr_e( 'Search for a page&hellip;', 'woo-variation-swatches' ); ?>"
666
  data-allow_clear="true"
667
+ data-exclude="<?php echo self::esc_json( wp_json_encode( $value['args']['exclude'] ) ); ?>"
668
  >
669
  <option value=""></option>
670
  <?php if ( ! is_null( $page ) ) { ?>
671
  <option value="<?php echo esc_attr( $option_value ); ?>" selected="selected">
672
+ <?php echo wp_strip_all_tags( $option_display_name ); ?>
673
  </option>
674
  <?php } ?>
675
+ </select> <?php echo wp_kses_post($description); ?>
676
  </td>
677
  </tr>
678
  <?php
691
  $state = '*';
692
  }
693
  ?>
694
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
695
  <th scope="row" class="titledesc">
696
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); ?></label>
697
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
698
  </th>
699
+ <td class="forminp"><select name="<?php echo esc_attr( $value['id'] ); ?>" style="<?php echo esc_attr( $value['css'] ); ?>" data-placeholder="<?php esc_attr_e( 'Choose a country / region&hellip;', 'woo-variation-swatches' ); ?>" aria-label="<?php esc_attr_e( 'Country / Region', 'woo-variation-swatches' ); ?>" class="wc-enhanced-select">
700
  <?php WC()->countries->country_dropdown_options( $country, $state ); ?>
701
+ </select> <?php echo wp_kses_post($description); ?>
702
  </td>
703
  </tr>
704
  <?php
716
 
717
  asort( $countries );
718
  ?>
719
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
720
  <th scope="row" class="titledesc">
721
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); // WPCS: XSS ok. ?></label>
722
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
723
  </th>
724
  <td class="forminp">
725
+ <select multiple="multiple" name="<?php echo esc_attr( $value['id'] ); ?>[]" style="width:350px" data-placeholder="<?php esc_attr_e( 'Choose countries / regions&hellip;', 'woo-variation-swatches' ); ?>" aria-label="<?php esc_attr_e( 'Country / Region', 'woo-variation-swatches' ); ?>" class="wc-enhanced-select">
726
  <?php
727
  if ( ! empty( $countries ) ) {
728
  foreach ( $countries as $key => $val ) {
730
  }
731
  }
732
  ?>
733
+ </select> <?php echo wp_kses_post( $description); ?> <br /><a class="select_all button" href="#"><?php esc_html_e( 'Select all', 'woo-variation-swatches' ); ?></a> <a class="select_none button" href="#"><?php esc_html_e( 'Select none', 'woo-variation-swatches' ); ?></a>
734
  </td>
735
  </tr>
736
  <?php
739
  // Days/months/years selector.
740
  case 'relative_date_selector':
741
  $periods = array(
742
+ 'days' => __( 'Day(s)', 'woo-variation-swatches' ),
743
+ 'weeks' => __( 'Week(s)', 'woo-variation-swatches' ),
744
+ 'months' => __( 'Month(s)', 'woo-variation-swatches' ),
745
+ 'years' => __( 'Year(s)', 'woo-variation-swatches' ),
746
  );
747
  $option_value = wc_parse_relative_date_option( $value['value'] );
748
  ?>
749
+ <tr class="<?php echo esc_attr($class) ?>" <?php echo self::dependency_attribute($value); ?>>
750
  <th scope="row" class="titledesc">
751
+ <label for="<?php echo esc_attr( self::normalize_id( $value['id'] ) ); ?>"><?php echo esc_html( $value['title'] ); ?> <?php echo wp_kses_post($tooltip_html); ?></label>
752
  <?php echo self::popup_template_links($value); // WPCS: XSS ok. ?>
753
  </th>
754
  <td class="forminp">
770
  echo '<option value="' . esc_attr( $value ) . '"' . selected( $option_value['unit'], $value, false ) . '>' . esc_html( $label ) . '</option>';
771
  }
772
  ?>
773
+ </select> <?php echo wp_kses_post( $description ); // WPCS: XSS ok. ?>
774
  </td>
775
  </tr>
776
  <?php
817
  if ( $tooltip_html && in_array( $value['type'], array( 'checkbox' ), true ) ) {
818
  $tooltip_html = '<p class="description">' . $tooltip_html . '</p>';
819
  } elseif ( $tooltip_html ) {
820
+ // $tooltip_html = wc_help_tip( $tooltip_html );
821
+ $tooltip_html = sprintf('<span class="getwooplugins-help-tip" data-tip="%s"></span>', esc_attr($tooltip_html));
822
  }
823
 
824
  return array(
877
  break;
878
  case 'multiselect':
879
  case 'multi_select_countries':
880
+ $value = array_filter( array_map( 'sanitize_text_field', (array) $raw_value ) );
881
  break;
882
  case 'image_width':
883
  $value = array();
884
  if ( isset( $raw_value['width'] ) ) {
885
+ $value['width'] = sanitize_text_field( $raw_value['width'] );
886
+ $value['height'] = sanitize_text_field( $raw_value['height'] );
887
  $value['crop'] = isset( $raw_value['crop'] ) ? 1 : 0;
888
  } else {
889
  $value['width'] = $option['default']['width'];
904
  $value = wc_parse_relative_date_option( $raw_value );
905
  break;
906
  default:
907
+ $value = sanitize_text_field( $raw_value );
908
  break;
909
  }
910
 
includes/getwooplugins/class-getwooplugins-plugin-deactivate-feedback.php CHANGED
@@ -1,182 +1,185 @@
1
  <?php
2
-
3
- defined( 'ABSPATH' ) || exit;
4
-
5
- if ( ! class_exists( 'GetWooPlugins_Plugin_Deactivate_Feedback', false ) ) :
6
-
7
- /**
8
- * GetWooPlugins_Plugin_Deactivate_Feedback Class.
9
- */
10
- abstract class GetWooPlugins_Plugin_Deactivate_Feedback {
11
-
12
- public function __construct() {
13
- add_action( 'admin_footer', array( $this, 'dialog' ) );
14
- // add_filter( 'wp_ajax_gwp_deactivate_feedback_by_{PLUGIN_SLUG}', array( $this, 'send' ) );
15
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 20 );
16
- }
17
-
18
- abstract public function slug();
19
-
20
- abstract public function version();
21
-
22
- abstract public function reasons();
23
-
24
- abstract public function options();
25
-
26
- public function enqueue_scripts() {
27
- $screen = get_current_screen();
28
- $screen_id = $screen ? $screen->id : ''; // plugins
29
- if ( 'plugins' === $screen_id ) {
30
-
31
- wp_enqueue_style( 'getwooplugins_settings', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'css/getwooplugins-settings.css', array(), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'css/getwooplugins-settings.css' ) );
32
- wp_enqueue_script( 'getwooplugins_settings', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'js/getwooplugins-settings.js', array(
33
- 'jquery',
34
- 'underscore',
35
- 'backbone',
36
- 'wp-util',
37
- 'jquery-tiptip',
38
- 'iris',
39
- 'wc-enhanced-select'
40
- ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/getwooplugins-settings.js' ), true );
41
-
42
- wp_localize_script( 'getwooplugins_settings', 'getwooplugins_settings_params', array(
43
- 'i18n_nav_warning' => esc_html__( 'The changes you made will be lost if you navigate away from this page.', 'woocommerce' ),
44
- ) );
45
-
46
- wp_add_inline_script( 'getwooplugins_settings', sprintf( 'try{GWPAdminHelper.DeactivatePopup("%s")}catch(e){}', $this->slug() ) );
47
- }
48
- }
49
-
50
- public function dialog() {
51
-
52
- if ( in_array( get_current_screen()->id, array( 'plugins', 'plugins-network' ), true ) ) {
53
-
54
- $deactivate_reasons = $this->reasons();
55
- $slug = $this->slug();
56
- $version = $this->version();
57
-
58
- include dirname( __FILE__ ) . '/html/deactive-feedback-dialog.php';
59
- }
60
- }
61
-
62
- public function send() {
63
-
64
- $api_url = 'https://stats.storepress.com/wp-json/storepress/deactivation';
65
-
66
- $deactivate_reasons = $this->reasons();
67
-
68
- $plugin = sanitize_title( $_POST['plugin'] );
69
- $reason_id = sanitize_title( $_POST['reason_type'] );
70
- $reason_title = $deactivate_reasons[ $reason_id ]['title'];
71
- $reason_text = ( isset( $_POST['reason_text'] ) ? sanitize_text_field( $_POST['reason_text'] ) : '' );
72
- $plugin_version = sanitize_text_field( $_POST['version'] );
73
-
74
- if ( 'temporary_deactivation' === $reason_id ) {
75
- wp_send_json_success( true );
76
-
77
- return;
78
- }
79
-
80
- $theme = array(
81
- 'is_child_theme' => is_child_theme() ? 'yes' : 'no',
82
- 'parent_theme' => $this->get_parent_theme_name(),
83
- 'theme_name' => $this->get_theme_name(),
84
- 'theme_version' => $this->get_theme_version(),
85
- 'theme_uri' => esc_url( wp_get_theme( get_template() )->get( 'ThemeURI' ) ),
86
- 'theme_author' => esc_html( wp_get_theme( get_template() )->get( 'Author' ) ),
87
- 'theme_author_uri' => esc_url( wp_get_theme( get_template() )->get( 'AuthorURI' ) ),
88
- );
89
-
90
- $database_version = wc_get_server_database_version();
91
- $active_plugins = (array) get_option( 'active_plugins', array() );
92
- $plugins = array();
93
-
94
- if ( is_multisite() ) {
95
- $network_activated_plugins = array_keys( get_site_option( 'active_sitewide_plugins', array() ) );
96
- $active_plugins = array_merge( $active_plugins, $network_activated_plugins );
97
- }
98
-
99
- foreach ( $active_plugins as $active_plugin ) {
100
-
101
- if ( in_array( $active_plugin, $this->plugin_ignore_list() ) ) {
102
- continue;
103
- }
104
-
105
- $plugins[ $active_plugin ] = get_plugin_data( WP_PLUGIN_DIR . '/' . $active_plugin, false, false );
106
- }
107
-
108
- $environment = array(
109
- 'is_multisite' => is_multisite() ? 'yes' : 'no',
110
- 'site_url' => esc_url( get_option( 'siteurl' ) ),
111
- 'home_url' => esc_url( get_option( 'home' ) ),
112
- 'php_version' => phpversion(),
113
- 'mysql_version' => $database_version['number'],
114
- 'mysql_version_string' => $database_version['string'],
115
- 'wc_version' => WC()->version,
116
- 'wp_version' => get_bloginfo( 'version' ),
117
- 'server_info' => isset( $_SERVER['SERVER_SOFTWARE'] ) ? wc_clean( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ) : '',
118
- );
119
-
120
- $request_body = array(
121
- 'plugin' => $plugin,
122
- 'version' => $plugin_version,
123
- 'reason_id' => $reason_id,
124
- 'reason_title' => $reason_title,
125
- 'reason_text' => $reason_text,
126
- 'settings' => $this->options(),
127
- 'theme' => $theme,
128
- 'plugins' => $plugins,
129
- 'environment' => $environment
130
- );
131
-
132
- if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
133
- $logger = wc_get_logger();
134
- $context = array( 'source' => $this->slug() );
135
- $logger->info( sprintf( 'Deactivate log: %s', print_r( $request_body, true ) ), $context );
136
- }
137
-
138
- $response = wp_remote_post( esc_url_raw( $api_url ), array(
139
- 'sslverify' => false,
140
- 'timeout' => 30,
141
- 'body' => $request_body
142
- ) );
143
-
144
- if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) === 200 ) {
145
- wp_send_json_success( wp_remote_retrieve_body( $response ) );
146
- } else {
147
- wp_send_json_error( wp_remote_retrieve_response_message( $response ) );
148
- }
149
- }
150
-
151
- public function plugin_ignore_list() {
152
- return array(
153
- 'woo-variation-gallery/woo-variation-gallery.php',
154
- 'woo-variation-gallery-pro/woo-variation-gallery-pro.php',
155
- 'woo-variation-swatches/woo-variation-swatches.php',
156
- 'woo-variation-swatches-pro/woo-variation-swatches-pro.php',
157
- 'woocommerce/woocommerce.php',
158
- );
159
- }
160
-
161
- public function get_theme_name() {
162
- return wp_get_theme()->get( 'Name' );
163
- }
164
-
165
- public function get_theme_version() {
166
- return wp_get_theme()->get( 'Version' );
167
- }
168
-
169
- public function get_parent_theme_dir() {
170
- return strtolower( basename( get_template_directory() ) );
171
- }
172
-
173
- public function get_parent_theme_name() {
174
- return wp_get_theme( get_template() )->get( 'Name' );
175
- }
176
-
177
- public function get_theme_dir() {
178
- return strtolower( basename( get_stylesheet_directory() ) );
179
- }
180
- }
181
-
182
- endif;
 
 
 
1
  <?php
2
+
3
+ defined( 'ABSPATH' ) || exit;
4
+
5
+ if ( ! class_exists( 'GetWooPlugins_Plugin_Deactivate_Feedback', false ) ) :
6
+
7
+ /**
8
+ * GetWooPlugins_Plugin_Deactivate_Feedback Class.
9
+ */
10
+ abstract class GetWooPlugins_Plugin_Deactivate_Feedback {
11
+
12
+ public function __construct() {
13
+ add_action( 'admin_footer', array( $this, 'dialog' ) );
14
+ // add_filter( 'wp_ajax_gwp_deactivate_feedback_by_{PLUGIN_SLUG}', array( $this, 'send' ) );
15
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 20 );
16
+ }
17
+
18
+ abstract public function slug();
19
+
20
+ abstract public function version();
21
+
22
+ abstract public function reasons();
23
+
24
+ abstract public function options();
25
+
26
+ public function enqueue_scripts() {
27
+ $screen = get_current_screen();
28
+ $screen_id = $screen ? $screen->id : ''; // plugins
29
+ if ( 'plugins' === $screen_id ) {
30
+
31
+ wp_enqueue_style( 'getwooplugins_settings', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'css/getwooplugins-settings.css', array('dashicons'), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'css/getwooplugins-settings.css' ) );
32
+
33
+ wp_enqueue_script( 'jquery-tiptip', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/js/jquery.tipTip.js', array( 'jquery' ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/jquery.tipTip.js' ), true );
34
+
35
+ wp_enqueue_script( 'getwooplugins_settings', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'js/getwooplugins-settings.js', array(
36
+ 'jquery',
37
+ 'underscore',
38
+ 'backbone',
39
+ 'wp-util',
40
+ 'jquery-tiptip',
41
+ 'iris',
42
+ 'wc-enhanced-select'
43
+ ), filemtime( trailingslashit( plugin_dir_path( __FILE__ ) ) . 'js/getwooplugins-settings.js' ), true );
44
+
45
+ wp_localize_script( 'getwooplugins_settings', 'getwooplugins_settings_params', array(
46
+ 'i18n_nav_warning' => esc_html__( 'The changes you made will be lost if you navigate away from this page.', 'woo-variation-swatches' ),
47
+ ) );
48
+
49
+ wp_add_inline_script( 'getwooplugins_settings', sprintf( 'try{GWPAdminHelper.DeactivatePopup("%s")}catch(e){}', $this->slug() ) );
50
+ }
51
+ }
52
+
53
+ public function dialog() {
54
+
55
+ if ( in_array( get_current_screen()->id, array( 'plugins', 'plugins-network' ), true ) ) {
56
+
57
+ $deactivate_reasons = $this->reasons();
58
+ $slug = $this->slug();
59
+ $version = $this->version();
60
+
61
+ include dirname( __FILE__ ) . '/html/deactive-feedback-dialog.php';
62
+ }
63
+ }
64
+
65
+ public function send() {
66
+
67
+ $api_url = 'https://stats.storepress.com/wp-json/storepress/deactivation';
68
+
69
+ $deactivate_reasons = $this->reasons();
70
+
71
+ $plugin = sanitize_title( $_POST[ 'plugin' ] );
72
+ $reason_id = sanitize_title( $_POST[ 'reason_type' ] );
73
+ $reason_title = wp_kses_post( $deactivate_reasons[ $reason_id ][ 'title' ] );
74
+ $reason_text = ( isset( $_POST[ 'reason_text' ] ) ? sanitize_text_field( $_POST[ 'reason_text' ] ) : '' );
75
+ $plugin_version = sanitize_text_field( $_POST[ 'version' ] );
76
+
77
+ if ( 'temporary_deactivation' === $reason_id ) {
78
+ wp_send_json_success( true );
79
+
80
+ return;
81
+ }
82
+
83
+ $theme = array(
84
+ 'is_child_theme' => is_child_theme() ? 'yes' : 'no',
85
+ 'parent_theme' => $this->get_parent_theme_name(),
86
+ 'theme_name' => $this->get_theme_name(),
87
+ 'theme_version' => $this->get_theme_version(),
88
+ 'theme_uri' => esc_url( wp_get_theme( get_template() )->get( 'ThemeURI' ) ),
89
+ 'theme_author' => esc_html( wp_get_theme( get_template() )->get( 'Author' ) ),
90
+ 'theme_author_uri' => esc_url( wp_get_theme( get_template() )->get( 'AuthorURI' ) ),
91
+ );
92
+
93
+ $database_version = wc_get_server_database_version();
94
+ $active_plugins = (array) get_option( 'active_plugins', array() );
95
+ $plugins = array();
96
+
97
+ if ( is_multisite() ) {
98
+ $network_activated_plugins = array_keys( get_site_option( 'active_sitewide_plugins', array() ) );
99
+ $active_plugins = array_merge( $active_plugins, $network_activated_plugins );
100
+ }
101
+
102
+ foreach ( $active_plugins as $active_plugin ) {
103
+
104
+ if ( in_array( $active_plugin, $this->plugin_ignore_list() ) ) {
105
+ continue;
106
+ }
107
+
108
+ $plugins[ $active_plugin ] = get_plugin_data( WP_PLUGIN_DIR . '/' . $active_plugin, false, false );
109
+ }
110
+
111
+ $environment = array(
112
+ 'is_multisite' => is_multisite() ? 'yes' : 'no',
113
+ 'site_url' => esc_url( get_option( 'siteurl' ) ),
114
+ 'home_url' => esc_url( get_option( 'home' ) ),
115
+ 'php_version' => phpversion(),
116
+ 'mysql_version' => $database_version[ 'number' ],
117
+ 'mysql_version_string' => $database_version[ 'string' ],
118
+ 'wc_version' => WC()->version,
119
+ 'wp_version' => get_bloginfo( 'version' ),
120
+ 'server_info' => isset( $_SERVER[ 'SERVER_SOFTWARE' ] ) ? wc_clean( wp_unslash( $_SERVER[ 'SERVER_SOFTWARE' ] ) ) : '',
121
+ );
122
+
123
+ $request_body = array(
124
+ 'plugin' => $plugin,
125
+ 'version' => $plugin_version,
126
+ 'reason_id' => $reason_id,
127
+ 'reason_title' => $reason_title,
128
+ 'reason_text' => $reason_text,
129
+ 'settings' => $this->options(),
130
+ 'theme' => $theme,
131
+ 'plugins' => $plugins,
132
+ 'environment' => $environment
133
+ );
134
+
135
+ if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
136
+ $logger = wc_get_logger();
137
+ $context = array( 'source' => $this->slug() );
138
+ $logger->info( sprintf( 'Deactivate log: %s', print_r( $request_body, true ) ), $context );
139
+ }
140
+
141
+ $response = wp_remote_post( esc_url_raw( $api_url ), array(
142
+ 'sslverify' => false,
143
+ 'timeout' => 30,
144
+ 'body' => $request_body
145
+ ) );
146
+
147
+ if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) === 200 ) {
148
+ wp_send_json_success( wp_remote_retrieve_body( $response ) );
149
+ } else {
150
+ wp_send_json_error( wp_remote_retrieve_response_message( $response ) );
151
+ }
152
+ }
153
+
154
+ public function plugin_ignore_list() {
155
+ return array(
156
+ 'woo-variation-gallery/woo-variation-gallery.php',
157
+ 'woo-variation-gallery-pro/woo-variation-gallery-pro.php',
158
+ 'woo-variation-swatches/woo-variation-swatches.php',
159
+ 'woo-variation-swatches-pro/woo-variation-swatches-pro.php',
160
+ 'woocommerce/woocommerce.php',
161
+ );
162
+ }
163
+
164
+ public function get_theme_name() {
165
+ return wp_get_theme()->get( 'Name' );
166
+ }
167
+
168
+ public function get_theme_version() {
169
+ return wp_get_theme()->get( 'Version' );
170
+ }
171
+
172
+ public function get_parent_theme_dir() {
173
+ return strtolower( basename( get_template_directory() ) );
174
+ }
175
+
176
+ public function get_parent_theme_name() {
177
+ return wp_get_theme( get_template() )->get( 'Name' );
178
+ }
179
+
180
+ public function get_theme_dir() {
181
+ return strtolower( basename( get_stylesheet_directory() ) );
182
+ }
183
+ }
184
+
185
+ endif;
includes/getwooplugins/class-getwooplugins-settings-page.php CHANGED
@@ -16,7 +16,6 @@
16
 
17
  abstract public function get_id();
18
 
19
-
20
  abstract public function get_label();
21
 
22
  abstract public function get_title();
@@ -153,8 +152,8 @@
153
  $url = admin_url( 'admin.php?page=getwooplugins-settings&tab=' . $this->get_id() . '&section=' . sanitize_title( $id ) );
154
  $class = ( $current_section === $id ? 'current' : '' );
155
  $separator = ( end( $array_keys ) === $id ? '' : '|' );
156
- $text = esc_html( $label );
157
- echo "<li><a href='$url' class='$class'>$text</a> $separator </li>"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
158
  }
159
 
160
  echo '</ul><br class="clear" />';
@@ -279,9 +278,7 @@
279
  }
280
 
281
  /**
282
- *
283
- *
284
- * $links = array('button_url'=>'', 'button_text'=>'', 'link_url'=>'', 'link_text'=>'');
285
  */
286
 
287
  public function modal_template_id( $template_id ) {
16
 
17
  abstract public function get_id();
18
 
 
19
  abstract public function get_label();
20
 
21
  abstract public function get_title();
152
  $url = admin_url( 'admin.php?page=getwooplugins-settings&tab=' . $this->get_id() . '&section=' . sanitize_title( $id ) );
153
  $class = ( $current_section === $id ? 'current' : '' );
154
  $separator = ( end( $array_keys ) === $id ? '' : '|' );
155
+ $text = $label;
156
+ echo sprintf( '<li><a href="%s" class="%s">%s</a> %s </li>', esc_url( $url ), esc_attr( $class ), esc_html( $text ), esc_html( $separator ) );
157
  }
158
 
159
  echo '</ul><br class="clear" />';
278
  }
279
 
280
  /**
281
+ * $links = array('button_url'=>'', 'button_text'=>'', 'button_class'=>'', 'link_url'=>'', 'link_text'=>'');
 
 
282
  */
283
 
284
  public function modal_template_id( $template_id ) {
includes/getwooplugins/css/getwooplugins-settings.css CHANGED
@@ -7,6 +7,10 @@
7
  margin-bottom : 10px;
8
  }
9
 
 
 
 
 
10
  .getwooplugins-settings-content-wrapper.has-sidebar {
11
  display : flex;
12
  }
@@ -52,11 +56,10 @@
52
  }
53
  }
54
 
55
-
56
  .gwp-go-pro-action-link > a {
57
  font-weight : bold;
58
  text-transform : capitalize;
59
- color : #9C27B0;
60
  text-shadow : 1px 1px 1px #EEEEEE;
61
  }
62
 
@@ -66,15 +69,202 @@
66
  }
67
 
68
  .getwooplugins-admin-form-table {
 
 
 
69
  margin-top : 15px;
70
  background : #FFFFFF;
71
  border-radius : 2px;
72
  box-shadow : 0 0 0 1px rgba(0, 0, 0, 0.07), 0 1px 1px rgba(0, 0, 0, 0.04);
73
  }
74
 
75
- .getwooplugins-admin-form-table .woocommerce-help-tip {
76
- position : relative !important;
77
- margin : -3px 0 0 5px !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  }
79
 
80
  .getwooplugins-admin-form-table tr:nth-child(even) {
@@ -237,7 +427,7 @@
237
  }
238
 
239
 
240
- .getwooplugins-admin-form-table .woocommerce-help-tip::after{
241
  content : "\f348";
242
  /*content : "\f14c";*/
243
  /*content : "\f348";*/
@@ -253,10 +443,12 @@
253
 
254
  .getwooplugins-admin-form-table .is-pro th .pro-modal::after {
255
  content : "\f160";
 
256
  }
257
 
258
  .getwooplugins-admin-form-table .help-preview th .help-modal::after {
259
  content : "\f223";
 
260
  /*content : "\f504";*/
261
  }
262
 
7
  margin-bottom : 10px;
8
  }
9
 
10
+ .getwooplugins-settings-wrapper nav.getwooplugins-nav-tab-wrapper {
11
+ margin : 1.5em 0 1em;
12
+ }
13
+
14
  .getwooplugins-settings-content-wrapper.has-sidebar {
15
  display : flex;
16
  }
56
  }
57
  }
58
 
 
59
  .gwp-go-pro-action-link > a {
60
  font-weight : bold;
61
  text-transform : capitalize;
62
+ color : var(--wc-red);
63
  text-shadow : 1px 1px 1px #EEEEEE;
64
  }
65
 
69
  }
70
 
71
  .getwooplugins-admin-form-table {
72
+ margin : 0;
73
+ position : relative;
74
+ table-layout : fixed;
75
  margin-top : 15px;
76
  background : #FFFFFF;
77
  border-radius : 2px;
78
  box-shadow : 0 0 0 1px rgba(0, 0, 0, 0.07), 0 1px 1px rgba(0, 0, 0, 0.04);
79
  }
80
 
81
+ .getwooplugins-admin-form-table .forminp-radio ul {
82
+ margin : 0
83
+ }
84
+
85
+ .getwooplugins-admin-form-table .forminp-radio ul li {
86
+ line-height : 1.4em
87
+ }
88
+
89
+ .getwooplugins-admin-form-table input[type=email],
90
+ .getwooplugins-admin-form-table input[type=number],
91
+ .getwooplugins-admin-form-table input[type=text] {
92
+ height : auto
93
+ }
94
+
95
+ .getwooplugins-admin-form-table textarea.input-text {
96
+ height : 100%;
97
+ min-width : 150px;
98
+ display : block
99
+ }
100
+
101
+ .getwooplugins-admin-form-table input.regular-input,
102
+ .getwooplugins-admin-form-table input[type=date],
103
+ .getwooplugins-admin-form-table input[type=datetime-local],
104
+ .getwooplugins-admin-form-table input[type=datetime],
105
+ .getwooplugins-admin-form-table input[type=email],
106
+ .getwooplugins-admin-form-table input[type=number],
107
+ .getwooplugins-admin-form-table input[type=password],
108
+ .getwooplugins-admin-form-table input[type=tel],
109
+ .getwooplugins-admin-form-table input[type=text],
110
+ .getwooplugins-admin-form-table input[type=time],
111
+ .getwooplugins-admin-form-table input[type=url],
112
+ .getwooplugins-admin-form-table input[type=week],
113
+ .getwooplugins-admin-form-table textarea {
114
+ width : 400px;
115
+ margin : 0;
116
+ padding : 3px 6px;
117
+ box-sizing : border-box;
118
+ vertical-align : top
119
+ }
120
+
121
+ .getwooplugins-admin-form-table input[type=date],
122
+ .getwooplugins-admin-form-table input[type=datetime-local],
123
+ .getwooplugins-admin-form-table input[type=tel],
124
+ .getwooplugins-admin-form-table input[type=time],
125
+ .getwooplugins-admin-form-table input[type=week] {
126
+ width : 200px
127
+ }
128
+
129
+ .getwooplugins-admin-form-table select {
130
+ width : 400px;
131
+ margin : 0;
132
+ box-sizing : border-box;
133
+ line-height : 32px;
134
+ vertical-align : top
135
+ }
136
+
137
+ .getwooplugins-admin-form-table input[size] {
138
+ width : auto !important
139
+ }
140
+
141
+
142
+ .getwooplugins-admin-form-table textarea.wide-input {
143
+ width : 100%
144
+ }
145
+
146
+ .getwooplugins-admin-form-table .getwooplugins-help-tip {
147
+ padding : 0;
148
+ margin : -3px 0 0 5px !important;
149
+ vertical-align : middle;
150
+ cursor : help;
151
+ line-height : 1
152
+ }
153
+
154
+
155
+ .getwooplugins-help-tip {
156
+ color : #666666;
157
+ display : inline-block;
158
+ font-size : 1.1em;
159
+ font-style : normal;
160
+ height : 16px;
161
+ line-height : 16px;
162
+ position : relative;
163
+ vertical-align : middle;
164
+ width : 16px;
165
+ margin : 0 0 0 5px !important;
166
+ }
167
+
168
+ .getwooplugins-help-tip::after {
169
+ font-family : dashicons;
170
+ speak : never;
171
+ font-weight : 400;
172
+ font-variant : normal;
173
+ text-transform : none;
174
+ line-height : 1;
175
+ -webkit-font-smoothing : antialiased;
176
+ margin : 0;
177
+ text-indent : 0;
178
+ position : absolute;
179
+ top : 0;
180
+ left : 0;
181
+ width : 100%;
182
+ height : 100%;
183
+ text-align : center;
184
+ content : "\f348";
185
+ cursor : help;
186
+ }
187
+
188
+ /***/
189
+
190
+ #tiptip_holder {
191
+ display : none;
192
+ z-index : 8675309;
193
+ position : absolute;
194
+ top : 0;
195
+ left : 0
196
+ }
197
+
198
+ #tiptip_holder.tip_top {
199
+ padding-bottom : 5px
200
+ }
201
+
202
+ #tiptip_holder.tip_top #tiptip_arrow_inner {
203
+ margin-top : -7px;
204
+ margin-left : -6px;
205
+ border-top-color : #333333
206
+ }
207
+
208
+ #tiptip_holder.tip_bottom {
209
+ padding-top : 5px
210
+ }
211
+
212
+ #tiptip_holder.tip_bottom #tiptip_arrow_inner {
213
+ margin-top : -5px;
214
+ margin-left : -6px;
215
+ border-bottom-color : #333333
216
+ }
217
+
218
+ #tiptip_holder.tip_right {
219
+ padding-left : 5px
220
+ }
221
+
222
+ #tiptip_holder.tip_right #tiptip_arrow_inner {
223
+ margin-top : -6px;
224
+ margin-left : -5px;
225
+ border-right-color : #333333
226
+ }
227
+
228
+ #tiptip_holder.tip_left {
229
+ padding-right : 5px
230
+ }
231
+
232
+ #tiptip_holder.tip_left #tiptip_arrow_inner {
233
+ margin-top : -6px;
234
+ margin-left : -7px;
235
+ border-left-color : #333333
236
+ }
237
+
238
+ #tiptip_content, .chart-tooltip, .wc_error_tip {
239
+ color : #FFFFFF;
240
+ font-size : .8em;
241
+ max-width : 150px;
242
+ background : #333333;
243
+ text-align : center;
244
+ border-radius : 3px;
245
+ padding : .618em 1em;
246
+ box-shadow : 0 1px 3px rgba(0, 0, 0, .2)
247
+ }
248
+
249
+ #tiptip_content code, .chart-tooltip code, .wc_error_tip code {
250
+ padding : 1px;
251
+ background : #888888
252
+ }
253
+
254
+ #tiptip_arrow, #tiptip_arrow_inner {
255
+ position : absolute;
256
+ border-color : transparent;
257
+ border-style : solid;
258
+ border-width : 6px;
259
+ height : 0;
260
+ width : 0
261
+ }
262
+
263
+ /***/
264
+
265
+ h2 .getwooplugins-help-tip {
266
+ margin-top : -5px;
267
+ margin-left : .25em
268
  }
269
 
270
  .getwooplugins-admin-form-table tr:nth-child(even) {
427
  }
428
 
429
 
430
+ .getwooplugins-admin-form-table .woocommerce-help-tip::after {
431
  content : "\f348";
432
  /*content : "\f14c";*/
433
  /*content : "\f348";*/
443
 
444
  .getwooplugins-admin-form-table .is-pro th .pro-modal::after {
445
  content : "\f160";
446
+ cursor: pointer;
447
  }
448
 
449
  .getwooplugins-admin-form-table .help-preview th .help-modal::after {
450
  content : "\f223";
451
+ cursor: pointer;
452
  /*content : "\f504";*/
453
  }
454
 
includes/getwooplugins/html/deactive-feedback-dialog.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
- defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
  /**
4
  * @var $slug
5
  * @var $version
6
  * @var $deactivate_reasons
7
  */
8
- $template_id = sprintf( 'tmpl-gwp-deactive-feedback-dialog-%s', esc_attr( $slug ));
9
  ?>
10
 
11
  <script type="text/template" id="<?php echo esc_attr( $template_id ) ?>">
@@ -13,33 +13,33 @@
13
  <div class="gwp-backbone-modal-content">
14
  <section class="gwp-backbone-modal-main" role="main">
15
  <header class="gwp-backbone-modal-header">
16
- <h1><?php esc_html_e( 'QUICK FEEDBACK', 'woo-variation-gallery' ); ?></h1>
17
  <button class="modal-close modal-close-link dashicons dashicons-no-alt">
18
- <span class="screen-reader-text"><?php esc_html_e( 'Close modal panel', 'woo-variation-gallery' ); ?></span>
19
  </button>
20
  </header>
21
  <article>
22
  <div class="gwp-feedback-dialog-form-body">
23
 
24
- <h2><?php esc_html_e( 'May we have a little info about why you are deactivating?', 'woo-variation-gallery' ); ?></h2>
25
 
26
  <form class="feedback-dialog-form" method="post" onsubmit="return false">
27
  <input type="hidden" name="action" value="gwp_deactivate_feedback"/>
28
  <input type="hidden" name="plugin" value="<?php echo esc_attr( $slug ) ?>"/>
29
  <input type="hidden" name="version" value="<?php echo esc_attr( $version ) ?>"/>
30
  <div class="feedback-dialog-form-body">
31
- <?php foreach ( $deactivate_reasons as $reason_key => $reason ) : ?>
32
  <div class="feedback-dialog-input-wrapper">
33
  <input id="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-input" type="radio" name="reason_type" value="<?php echo esc_attr( $reason_key ); ?>"/>
34
- <label for="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-label"><?php echo $reason[ 'title' ]; ?></label>
35
- <?php if ( ! empty( $reason[ 'input_placeholder' ] ) ) : ?>
36
- <input value="<?php echo( isset( $reason[ 'input_value' ] ) ? $reason[ 'input_value' ] : '' ) ?>" class="feedback-text" style="display: none" disabled type="text" name="reason_text" placeholder="<?php echo esc_attr( $reason[ 'input_placeholder' ] ); ?>"/>
37
- <?php endif; ?>
38
- <?php if ( ! empty( $reason[ 'alert' ] ) ) : ?>
39
- <div class="feedback-text feedback-alert"><?php echo $reason[ 'alert' ]; ?></div>
40
- <?php endif; ?>
41
  </div>
42
- <?php endforeach; ?>
43
  </div>
44
  </form>
45
  </div>
@@ -47,11 +47,11 @@
47
  <footer>
48
  <div class="inner">
49
  <div class="gwp-action-button-group">
50
- <button id="send-ajax" class="button button-primary feedback-dialog-form-button-send" data-defaultvalue="<?php esc_html_e( 'Send feedback &amp; Deactivate', 'woo-variation-gallery' ) ?>" data-deactivating="<?php esc_html_e( 'Deactivating...', 'woo-variation-gallery' ) ?>"><?php esc_html_e( 'Send feedback &amp; Deactivate', 'woo-variation-gallery' ) ?></button>
51
  <span class="spinner"></span>
52
  </div>
53
 
54
- <a class="feedback-dialog-form-button-skip" href="{{ data.deactivate_link }}"><?php esc_html_e( 'Skip &amp; Deactivate', 'woo-variation-gallery' ) ?></a>
55
  <div class="clear"></div>
56
  </div>
57
  </footer>
1
  <?php
2
+ defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
  /**
4
  * @var $slug
5
  * @var $version
6
  * @var $deactivate_reasons
7
  */
8
+ $template_id = sprintf( 'tmpl-gwp-deactive-feedback-dialog-%s', esc_attr( $slug ) );
9
  ?>
10
 
11
  <script type="text/template" id="<?php echo esc_attr( $template_id ) ?>">
13
  <div class="gwp-backbone-modal-content">
14
  <section class="gwp-backbone-modal-main" role="main">
15
  <header class="gwp-backbone-modal-header">
16
+ <h1><?php esc_html_e( 'QUICK FEEDBACK', 'woo-variation-swatches' ); ?></h1>
17
  <button class="modal-close modal-close-link dashicons dashicons-no-alt">
18
+ <span class="screen-reader-text"><?php esc_html_e( 'Close modal panel', 'woo-variation-swatches' ); ?></span>
19
  </button>
20
  </header>
21
  <article>
22
  <div class="gwp-feedback-dialog-form-body">
23
 
24
+ <h2><?php esc_html_e( 'May we have a little info about why you are deactivating?', 'woo-variation-swatches' ); ?></h2>
25
 
26
  <form class="feedback-dialog-form" method="post" onsubmit="return false">
27
  <input type="hidden" name="action" value="gwp_deactivate_feedback"/>
28
  <input type="hidden" name="plugin" value="<?php echo esc_attr( $slug ) ?>"/>
29
  <input type="hidden" name="version" value="<?php echo esc_attr( $version ) ?>"/>
30
  <div class="feedback-dialog-form-body">
31
+ <?php foreach ( $deactivate_reasons as $reason_key => $reason ) : ?>
32
  <div class="feedback-dialog-input-wrapper">
33
  <input id="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-input" type="radio" name="reason_type" value="<?php echo esc_attr( $reason_key ); ?>"/>
34
+ <label for="feedback-<?php echo esc_attr( $reason_key ); ?><?php echo esc_attr( $slug ) ?>" class="feedback-dialog-label"><?php echo wp_kses_post( $reason[ 'title' ] ); ?></label>
35
+ <?php if ( ! empty( $reason[ 'input_placeholder' ] ) ) : ?>
36
+ <input value="<?php echo( isset( $reason[ 'input_value' ] ) ? esc_attr( $reason[ 'input_value' ] ) : '' ) ?>" class="feedback-text" style="display: none" disabled type="text" name="reason_text" placeholder="<?php echo esc_attr( $reason[ 'input_placeholder' ] ); ?>"/>
37
+ <?php endif; ?>
38
+ <?php if ( ! empty( $reason[ 'alert' ] ) ) : ?>
39
+ <div class="feedback-text feedback-alert"><?php echo wp_kses_post( $reason[ 'alert' ] ); ?></div>
40
+ <?php endif; ?>
41
  </div>
42
+ <?php endforeach; ?>
43
  </div>
44
  </form>
45
  </div>
47
  <footer>
48
  <div class="inner">
49
  <div class="gwp-action-button-group">
50
+ <button id="send-ajax" class="button button-primary feedback-dialog-form-button-send" data-defaultvalue="<?php esc_html_e( 'Send feedback &amp; Deactivate', 'woo-variation-swatches' ) ?>" data-deactivating="<?php esc_html_e( 'Deactivating...', 'woo-variation-swatches' ) ?>"><?php esc_html_e( 'Send feedback &amp; Deactivate', 'woo-variation-swatches' ) ?></button>
51
  <span class="spinner"></span>
52
  </div>
53
 
54
+ <a class="feedback-dialog-form-button-skip" href="{{ data.deactivate_link }}"><?php esc_html_e( 'Skip &amp; Deactivate', 'woo-variation-swatches' ) ?></a>
55
  <div class="clear"></div>
56
  </div>
57
  </footer>
includes/getwooplugins/html/dialog.php CHANGED
@@ -17,7 +17,7 @@
17
  <header class="gwp-backbone-modal-header">
18
  <h1><?php echo esc_html( $title ); ?></h1>
19
  <button class="modal-close modal-close-link dashicons dashicons-no-alt">
20
- <span class="screen-reader-text"><?php esc_html_e( 'Close modal panel', 'woo-variation-gallery' ); ?></span>
21
  </button>
22
  </header>
23
  <article>
@@ -36,7 +36,7 @@
36
  <div class="inner">
37
  <?php if ( isset( $links[ 'button_url' ] ) && ! empty( $links[ 'button_url' ] ) ): ?>
38
  <div class="gwp-action-button-group">
39
- <a target="_blank" href="<?php echo esc_url( $links[ 'button_url' ] ) ?>" class="button button-primary"><?php echo esc_html( $links[ 'button_text' ] ) ?></a>
40
  </div>
41
  <?php endif; ?>
42
 
17
  <header class="gwp-backbone-modal-header">
18
  <h1><?php echo esc_html( $title ); ?></h1>
19
  <button class="modal-close modal-close-link dashicons dashicons-no-alt">
20
+ <span class="screen-reader-text"><?php esc_html_e( 'Close modal panel', 'woo-variation-swatches' ); ?></span>
21
  </button>
22
  </header>
23
  <article>
36
  <div class="inner">
37
  <?php if ( isset( $links[ 'button_url' ] ) && ! empty( $links[ 'button_url' ] ) ): ?>
38
  <div class="gwp-action-button-group">
39
+ <a target="_blank" href="<?php echo esc_url( $links[ 'button_url' ] ) ?>" class="button <?php echo isset( $links[ 'button_class' ] ) ? esc_attr( $links[ 'button_class' ] ) : 'button-primary' ?>"><?php echo esc_html( $links[ 'button_text' ] ) ?></a>
40
  </div>
41
  <?php endif; ?>
42
 
includes/getwooplugins/html/settings-page.php CHANGED
@@ -16,7 +16,7 @@
16
  $current_tab_label = isset( $tabs[ $current_tab ] ) ? $tabs[ $current_tab ][ 'label' ] : '';
17
  $current_tab_title = isset( $tabs[ $current_tab ] ) ? $tabs[ $current_tab ][ 'title' ] : '';
18
 
19
- // self::add_message( esc_html__( 'Your settings have been saved.', 'woo-variation-gallery' ) );
20
 
21
  if ( empty( $current_section ) ) {
22
 
@@ -96,8 +96,8 @@
96
  <?php if ( $save_button_available ) : ?>
97
  <p class="submit submitbox">
98
 
99
- <button name="save" class="button-primary woocommerce-save-button" type="submit" value="<?php esc_attr_e( 'Save changes', 'woocommerce' ); ?>"><?php esc_html_e( 'Save changes', 'woocommerce' ); ?></button>
100
- <a onclick="return confirm('<?php esc_html_e( 'Are you sure to reset?', 'woo-variation-gallery' ) ?>')" class="submitdelete" href="<?php echo esc_url( $reset_url ) ?>"><?php esc_attr_e( 'Reset all', 'woocommerce' ); ?></a>
101
 
102
  <?php wp_nonce_field( 'getwooplugins-settings' ); ?>
103
  </p>
16
  $current_tab_label = isset( $tabs[ $current_tab ] ) ? $tabs[ $current_tab ][ 'label' ] : '';
17
  $current_tab_title = isset( $tabs[ $current_tab ] ) ? $tabs[ $current_tab ][ 'title' ] : '';
18
 
19
+ // self::add_message( esc_html__( 'Your settings have been saved.', 'woo-variation-swatches' ) );
20
 
21
  if ( empty( $current_section ) ) {
22
 
96
  <?php if ( $save_button_available ) : ?>
97
  <p class="submit submitbox">
98
 
99
+ <button name="save" class="button-primary woocommerce-save-button" type="submit" value="<?php esc_attr_e( 'Save changes', 'woo-variation-swatches' ); ?>"><?php esc_html_e( 'Save changes', 'woo-variation-swatches' ); ?></button>
100
+ <a onclick="return confirm('<?php esc_html_e( 'Are you sure to reset?', 'woo-variation-swatches' ) ?>')" class="submitdelete" href="<?php echo esc_url( $reset_url ) ?>"><?php esc_attr_e( 'Reset all', 'woo-variation-swatches' ); ?></a>
101
 
102
  <?php wp_nonce_field( 'getwooplugins-settings' ); ?>
103
  </p>
includes/getwooplugins/js/getwooplugins-settings.js CHANGED
@@ -277,7 +277,7 @@ const GWPAdminHelper = (($) => {
277
 
278
  $(document.body).on('init_tooltips', function () {
279
 
280
- $('.tips, .help_tip, .woocommerce-help-tip').tipTip({
281
  'attribute' : 'data-tip',
282
  'fadeIn' : 50,
283
  'fadeOut' : 50,
277
 
278
  $(document.body).on('init_tooltips', function () {
279
 
280
+ $('.tips, .help_tip, .woocommerce-help-tip, .getwooplugins-help-tip').tipTip({
281
  'attribute' : 'data-tip',
282
  'fadeIn' : 50,
283
  'fadeOut' : 50,
includes/getwooplugins/js/jquery.tipTip.js ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * TipTip
3
+ * Copyright 2010 Drew Wilson
4
+ * www.drewwilson.com
5
+ * code.drewwilson.com/entry/tiptip-jquery-plugin
6
+ *
7
+ * Version 1.3 - Updated: Mar. 23, 2010
8
+ *
9
+ * This Plug-In will create a custom tooltip to replace the default
10
+ * browser tooltip. It is extremely lightweight and very smart in
11
+ * that it detects the edges of the browser window and will make sure
12
+ * the tooltip stays within the current window size. As a result the
13
+ * tooltip will adjust itself to be displayed above, below, to the left
14
+ * or to the right depending on what is necessary to stay within the
15
+ * browser window. It is completely customizable as well via CSS.
16
+ *
17
+ * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
18
+ * http://www.opensource.org/licenses/mit-license.php
19
+ * http://www.gnu.org/licenses/gpl.html
20
+ */
21
+
22
+ (function($){
23
+ $.fn.tipTip = function(options) {
24
+ var defaults = {
25
+ activation: "hover",
26
+ keepAlive: false,
27
+ maxWidth: "200px",
28
+ edgeOffset: 3,
29
+ defaultPosition: "bottom",
30
+ delay: 400,
31
+ fadeIn: 200,
32
+ fadeOut: 200,
33
+ attribute: "title",
34
+ content: false, // HTML or String to fill TipTIp with
35
+ enter: function(){},
36
+ exit: function(){}
37
+ };
38
+ var opts = $.extend(defaults, options);
39
+
40
+ // Setup tip tip elements and render them to the DOM
41
+ if($("#tiptip_holder").length <= 0){
42
+ var tiptip_holder = $('<div id="tiptip_holder" style="max-width:'+ opts.maxWidth +';"></div>');
43
+ var tiptip_content = $('<div id="tiptip_content"></div>');
44
+ var tiptip_arrow = $('<div id="tiptip_arrow"></div>');
45
+ $("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
46
+ } else {
47
+ var tiptip_holder = $("#tiptip_holder");
48
+ var tiptip_content = $("#tiptip_content");
49
+ var tiptip_arrow = $("#tiptip_arrow");
50
+ }
51
+
52
+ return this.each(function(){
53
+ var org_elem = $(this);
54
+ if(opts.content){
55
+ var org_title = opts.content;
56
+ } else {
57
+ var org_title = org_elem.attr(opts.attribute);
58
+ }
59
+ if(org_title != ""){
60
+ if(!opts.content){
61
+ org_elem.removeAttr(opts.attribute); //remove original Attribute
62
+ }
63
+ var timeout = false;
64
+
65
+ if(opts.activation == "hover"){
66
+ org_elem.on( 'mouseenter', function(){
67
+ active_tiptip();
68
+ } ).on( 'mouseleave', function(){
69
+ if(!opts.keepAlive || !tiptip_holder.is(':hover')){
70
+ deactive_tiptip();
71
+ }
72
+ });
73
+ if(opts.keepAlive){
74
+ tiptip_holder.on( 'mouseenter', function(){} ).on( 'mouseleave', function(){
75
+ deactive_tiptip();
76
+ });
77
+ }
78
+ } else if(opts.activation == "focus"){
79
+ org_elem.on( 'focus', function(){
80
+ active_tiptip();
81
+ }).on( 'blur', function(){
82
+ deactive_tiptip();
83
+ });
84
+ } else if(opts.activation == "click"){
85
+ org_elem.on( 'click', function(){
86
+ active_tiptip();
87
+ return false;
88
+ }).on( 'mouseenter', function(){} ).on( 'mouseleave' ,function(){
89
+ if(!opts.keepAlive){
90
+ deactive_tiptip();
91
+ }
92
+ });
93
+ if(opts.keepAlive){
94
+ tiptip_holder.on( 'mouseenter', function(){} ).on( 'mouseleave', function(){
95
+ deactive_tiptip();
96
+ });
97
+ }
98
+ }
99
+
100
+ function active_tiptip(){
101
+ opts.enter.call(this);
102
+ tiptip_content.html(org_title);
103
+ tiptip_holder.hide().css("margin","0");
104
+ tiptip_holder.removeAttr('class');
105
+ tiptip_arrow.removeAttr("style");
106
+
107
+ var top = parseInt(org_elem.offset()['top']);
108
+ var left = parseInt(org_elem.offset()['left']);
109
+ var org_width = parseInt(org_elem.outerWidth());
110
+ var org_height = parseInt(org_elem.outerHeight());
111
+ var tip_w = tiptip_holder.outerWidth();
112
+ var tip_h = tiptip_holder.outerHeight();
113
+ var w_compare = Math.round((org_width - tip_w) / 2);
114
+ var h_compare = Math.round((org_height - tip_h) / 2);
115
+ var marg_left = Math.round(left + w_compare);
116
+ var marg_top = Math.round(top + org_height + opts.edgeOffset);
117
+ var t_class = "";
118
+ var arrow_top = "";
119
+ var arrow_left = Math.round(tip_w - 12) / 2;
120
+
121
+ if(opts.defaultPosition == "bottom"){
122
+ t_class = "_bottom";
123
+ } else if(opts.defaultPosition == "top"){
124
+ t_class = "_top";
125
+ } else if(opts.defaultPosition == "left"){
126
+ t_class = "_left";
127
+ } else if(opts.defaultPosition == "right"){
128
+ t_class = "_right";
129
+ }
130
+
131
+ var right_compare = (w_compare + left) < parseInt($(window).scrollLeft());
132
+ var left_compare = (tip_w + left) > parseInt($(window).width());
133
+
134
+ if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){
135
+ t_class = "_right";
136
+ arrow_top = Math.round(tip_h - 13) / 2;
137
+ arrow_left = -12;
138
+ marg_left = Math.round(left + org_width + opts.edgeOffset);
139
+ marg_top = Math.round(top + h_compare);
140
+ } else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){
141
+ t_class = "_left";
142
+ arrow_top = Math.round(tip_h - 13) / 2;
143
+ arrow_left = Math.round(tip_w);
144
+ marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
145
+ marg_top = Math.round(top + h_compare);
146
+ }
147
+
148
+ var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop());
149
+ var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;
150
+
151
+ if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){
152
+ if(t_class == "_top" || t_class == "_bottom"){
153
+ t_class = "_top";
154
+ } else {
155
+ t_class = t_class+"_top";
156
+ }
157
+ arrow_top = tip_h;
158
+ marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
159
+ } else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){
160
+ if(t_class == "_top" || t_class == "_bottom"){
161
+ t_class = "_bottom";
162
+ } else {
163
+ t_class = t_class+"_bottom";
164
+ }
165
+ arrow_top = -12;
166
+ marg_top = Math.round(top + org_height + opts.edgeOffset);
167
+ }
168
+
169
+ if(t_class == "_right_top" || t_class == "_left_top"){
170
+ marg_top = marg_top + 5;
171
+ } else if(t_class == "_right_bottom" || t_class == "_left_bottom"){
172
+ marg_top = marg_top - 5;
173
+ }
174
+ if(t_class == "_left_top" || t_class == "_left_bottom"){
175
+ marg_left = marg_left + 5;
176
+ }
177
+ tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"});
178
+ tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class);
179
+
180
+ if (timeout){ clearTimeout(timeout); }
181
+ timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay);
182
+ }
183
+
184
+ function deactive_tiptip(){
185
+ opts.exit.call(this);
186
+ if (timeout){ clearTimeout(timeout); }
187
+ tiptip_holder.fadeOut(opts.fadeOut);
188
+ }
189
+ }
190
+ });
191
+ }
192
+ })(jQuery);
includes/html-product-settings-panel.php ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
+
4
+ /**
5
+ * @var $post
6
+ * @var $wpdb
7
+ * @var $product_object
8
+ * @var $attributes
9
+ * @var $settings
10
+ */
11
+
12
+ // $attributes = $product_object->get_attributes();
13
+ $product_id = $product_object->get_id();
14
+
15
+ $product_swatches_data = array();
16
+ ?>
17
+ <style type="text/css">
18
+ .woo-variation-swatches-variation-product-option-features-wrapper {
19
+ padding : 20px;
20
+ margin : 5px;
21
+ background-color : #eeeeee;
22
+ }
23
+
24
+ .woo-variation-swatches-variation-product-option-features-wrapper li span {
25
+ color : #15ce5c;
26
+ }
27
+
28
+ .woo-variation-swatches-variation-product-option-features-wrapper p, .woo-variation-swatches-variation-product-option-features-wrapper ul {
29
+ padding : 10px 0;
30
+ }
31
+
32
+ .gwp-pro-button span {
33
+ padding-top : 10px;
34
+ }
35
+
36
+ .woo-variation-swatches-variation-product-option-features-wrapper ul {
37
+ display : block;
38
+
39
+ }
40
+
41
+ .woo-variation-swatches-variation-product-option-features-wrapper ul li {
42
+ margin-bottom : 10px;
43
+ }
44
+
45
+ .woo-variation-swatches-variation-product-option-features-wrapper .gwp-pro-features-links {
46
+ margin-left : 20px;
47
+ padding : 5px;
48
+ }
49
+
50
+ </style>
51
+ <div data-product_id="<?php echo esc_attr( $product_id ) ?>" id="woo_variation_swatches_variation_product_options" class="woo-variation-swatches-variation-product-options-wrapper panel wc-metaboxes-wrapper hidden">
52
+
53
+ <div id="woo_variation_swatches_variation_product_options_inner">
54
+ <div id="woo-variation-swatches-variation-product-option-settings-wrapper">
55
+
56
+ <div class="woo-variation-swatches-variation-product-option-features-wrapper">
57
+
58
+ <h3><?php printf( __( 'With the premium version of <a target="_blank" href="%s">Variation Swatches for WooCommerce</a>, you can do:', 'woo-variation-swatches' ), 'https://getwooplugins.com/plugins/woocommerce-variation-swatches/' ); ?></h3>
59
+ <ul>
60
+
61
+ <li>
62
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Individual Product Basis Attribute Variation Swatches Customization', 'woo-variation-swatches' ) ?>
63
+
64
+ <div class="gwp-pro-features-links">
65
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/show-all-swatches-type-in-the-same-variation/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
66
+ <a target="_blank" href="https://www.youtube.com/watch?v=rg1Xg-t29Kc"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
67
+ </div>
68
+ </li>
69
+
70
+ <li>
71
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Show Image, Color, Button Variation Swatches in Same Attribute', 'woo-variation-swatches' ) ?>
72
+ <div class="gwp-pro-features-links">
73
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/product-details/product/polo-ralph-lauren-ph3127-59/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
74
+ <a target="_blank" href="https://www.youtube.com/watch?v=ILf1S2k97es&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24&index=9"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
75
+ </div>
76
+ </li>
77
+
78
+ <li>
79
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Convert Manually Created Attribute Variations Into Color, Image, and Label Swatches', 'woo-variation-swatches' ) ?>
80
+ <div class="gwp-pro-features-links">
81
+ <a target="_blank" href="https://www.youtube.com/watch?v=rg1Xg-t29Kc"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
82
+ </div>
83
+ </li>
84
+
85
+ <li>
86
+ <span class="dashicons dashicons-yes"></span><?php esc_html_e( 'Group based swatches display.', 'woo-variation-swatches' ) ?>
87
+ <div class="gwp-pro-features-links">
88
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/product/nike-air-vapormax-plus-group/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a>
89
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/group-category-swatches"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
90
+ </div>
91
+ </li>
92
+
93
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Convert attribute variations into radio button.', 'woo-variation-swatches' ) ?>
94
+ <div class="gwp-pro-features-links">
95
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/radio-variation-swatches"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
96
+ <a target="_blank" href="https://www.youtube.com/watch?v=XY6GjG3yPUU&list=PLjkiDGg3ul_JB6vcxRYEVlDC1_setGLY0"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
97
+ </div>
98
+ </li>
99
+
100
+ <li>
101
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Show Entire Color, Image, Label And Radio Attributes Swatches In Catalog/ Category / Archive / Store/ Shop Pages', 'woo-variation-swatches' ) ?>
102
+ <div class="gwp-pro-features-links">
103
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
104
+ <a target="_blank" href="https://www.youtube.com/watch?v=1IhEZiGzJHs"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a></div>
105
+ </li>
106
+
107
+ <li>
108
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Show Selected Single Color or Image Or Label Attribute Swatches In Catelog/ Category / Archive / Store / Shop Pages', 'woo-variation-swatches' ) ?>
109
+ <div class="gwp-pro-features-links">
110
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/product-details/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
111
+ <a target="_blank" href="https://www.youtube.com/watch?v=r1DIlBSJI5o&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24&index=8"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
112
+ </div>
113
+ </li>
114
+
115
+ <li>
116
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Change Variation Product Gallery After Selecting Single Attribute Like Amazon Or AliExpress', 'woo-variation-swatches' ) ?>
117
+ <div class="gwp-pro-features-links">
118
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/change-product-image-based-on-select-attribute/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
119
+ <a target="_blank" href="https://www.youtube.com/watch?v=31WR96-9kuQ"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
120
+ </div>
121
+ </li>
122
+
123
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Generate Selected Attribute Variation Link', 'woo-variation-swatches' ) ?>
124
+ <div class="gwp-pro-features-links">
125
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/generate-link-for-selected-variations/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
126
+ <a target="_blank" href="https://www.youtube.com/watch?v=Zw_5ACg0ASA&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
127
+ </div>
128
+ </li>
129
+
130
+ <li>
131
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Option to Select ROUNDED and SQUARED Attribute Variation Swatches Shape In the Same Product.', 'woo-variation-swatches' ) ?>
132
+ <div class="gwp-pro-features-links">
133
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/round-square-shape-swatches"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
134
+ <a target="_blank" href="https://www.youtube.com/watch?v=1yO9DGYCYAA&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24&index=10"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
135
+ </div>
136
+ </li>
137
+
138
+ <li>
139
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Blur Or Hide Or Show Cross Sign For Out of Stock Variation Swatches (Unlimited Variations Without hiding out of stock item from catalog)', 'woo-variation-swatches' ) ?>
140
+ <div class="gwp-pro-features-links">
141
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/cross-out-of-stock-variations-more-than-30-variations/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
142
+ <a target="_blank" href="https://www.youtube.com/watch?v=LGomum3lwHw&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24&index=11"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a></div>
143
+ </li>
144
+
145
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Shop Page Swatches Size Control', 'woo-variation-swatches' ) ?>
146
+ <div class="gwp-pro-features-links">
147
+ <a target="_blank" href="https://www.youtube.com/watch?v=xeT7byUaa7U"><?php esc_html_e( 'Live Preview', 'woo-variation-swatches' ) ?></a></div>
148
+ </li>
149
+
150
+ <li>
151
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Make Selected Attribute Variation Swatches Size Larger Than Other Default Attribute Variations', 'woo-variation-swatches' ) ?>
152
+ <div class="gwp-pro-features-links">
153
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/swatches-size-selected-attribute/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
154
+ <a target="_blank" href="https://www.youtube.com/watch?v=xeT7byUaa7U"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
155
+ </div>
156
+ </li>
157
+
158
+ <li>
159
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Show Custom Text in Variation Tooltip In Product and Shop Page', 'woo-variation-swatches' ) ?>
160
+ <div class="gwp-pro-features-links">
161
+ <a target="_blank" href="https://www.youtube.com/watch?v=bzx_G5Di9kQ&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24&index=12"><?php esc_html_e( 'Live Preview', 'woo-variation-swatches' ) ?></a></div>
162
+ </li>
163
+
164
+ <li>
165
+ <span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Show Custom Image in Variation Swatches Tooltip In Product And Shop Page', 'woo-variation-swatches' ) ?>
166
+ <div class="gwp-pro-features-links">
167
+ <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/image-tooltip/"><?php esc_html_e( 'Live Demo', 'woo-variation-swatches' ) ?></a> |
168
+ <a target="_blank" href="https://www.youtube.com/watch?v=zrOeb2ksOig&list=PLjkiDGg3ul_L-3332EDkmuN_G2ttrJM24&index=13"><?php esc_html_e( 'Video Tutorial', 'woo-variation-swatches' ) ?></a>
169
+ </div>
170
+ </li>
171
+
172
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Archive page swatches positioning.', 'woo-variation-swatches' ) ?></li>
173
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Archive page swatches alignment.', 'woo-variation-swatches' ) ?></li>
174
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Tooltip display setting on archive/shop page.', 'woo-variation-swatches' ) ?></li>
175
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Variation clear button display setting.', 'woo-variation-swatches' ) ?></li>
176
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Customize tooltip text and background color.', 'woo-variation-swatches' ) ?></li>
177
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Customize tooltip image and image size.', 'woo-variation-swatches' ) ?></li>
178
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Customize font size, swatches height and width.', 'woo-variation-swatches' ) ?></li>
179
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Customize swatches colors, background and border sizes.', 'woo-variation-swatches' ) ?></li>
180
+ <li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Automatic updates and exclusive technical support.', 'woo-variation-swatches' ) ?></li>
181
+ </ul>
182
+ <div class="clear"></div>
183
+ <a target="_blank" class="button button-primary button-hero gwp-pro-button" href="<?php echo esc_url( woo_variation_swatches()->get_backend()->get_pro_link() ); ?>"><?php esc_html_e( 'Ok, I need this feature!', 'woo-variation-swatches' ); ?> <span class="dashicons dashicons-external"></span></a>
184
+ </div>
185
+
186
+ </div>
187
+ </div>
188
+ </div>
includes/html-settings-group.php CHANGED
@@ -10,8 +10,8 @@
10
  <h2 class="woocommerce-BlankState-message">
11
  <?php esc_html_e( 'Show your swatches individually or in groups. Split variation swatches into group to make it much more user friendly.', 'woo-variation-swatches' ); ?>
12
  </h2>
13
- <a class="woocommerce-BlankState-cta button-primary button" target="_blank" href="<?php echo esc_url( woo_variation_swatches()->get_backend()->get_pro_link() ) ?>">
14
- <?php esc_html_e( 'Ok, I need this feature', 'woo-variation-swatches' ); ?>
15
  </a>
16
  </div>
17
  </div>
10
  <h2 class="woocommerce-BlankState-message">
11
  <?php esc_html_e( 'Show your swatches individually or in groups. Split variation swatches into group to make it much more user friendly.', 'woo-variation-swatches' ); ?>
12
  </h2>
13
+ <a class="woocommerce-BlankState-cta button-primary button" target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/group-category-swatches/">
14
+ <?php esc_html_e( 'Show me, How it works!', 'woo-variation-swatches' ); ?> <span class="dashicons dashicons-external"></span>
15
  </a>
16
  </div>
17
  </div>
includes/html-settings-sidebar.php CHANGED
@@ -1,19 +1,24 @@
1
  <?php
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
 
3
  ?>
4
 
5
  <div>
6
- <h3><span class="dashicons dashicons-media-document"></span> Documentation</h3>
7
- <p>Get started by spending some time with the
8
- <a target="_blank" href="https://getwooplugins.com/documentation/woocommerce-variation-swatches/">documentation</a>.
9
- Check Official <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/">demo</a>.
10
  </p>
11
  </div>
12
  <div>
13
- <h3><span class="dashicons dashicons-editor-help"></span> Facing issue?</h3>
14
- <p>Stuck with something? Please <a target="_blank" href="https://getwooplugins.com/tickets/">open a ticket.</a>. For emergency case join our live chat.</p>
15
  </div>
16
  <div>
17
- <h3><span class="dashicons dashicons-star-filled"></span> Love Our Plugin?</h3>
18
- <p>Thank you for choosing <strong>Variation Swatches for WooCommerce</strong>. If you have found our plugin useful and makes you smile, please consider giving us a <a target="_blank" href="https://wordpress.org/support/plugin/woo-variation-swatches/reviews/?filter=5">5-star rating on WordPress.org.</a> It will help us to grow.</p>
 
 
 
 
19
  </div>
1
  <?php
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
+ // woo-variation-swatches
4
  ?>
5
 
6
  <div>
7
+ <h3><span class="dashicons dashicons-media-document"></span> <?php esc_html_e( 'Documentation', 'woo-variation-swatches' ); ?></h3>
8
+ <p><?php esc_html_e( 'Get started by spending some time with the', 'woo-variation-swatches' ); ?>
9
+ <a target="_blank" href="https://getwooplugins.com/documentation/woocommerce-variation-swatches/"><?php esc_html_e( 'documentation', 'woo-variation-swatches' ); ?></a>.
10
+ <?php esc_html_e( 'Check Official', 'woo-variation-swatches' ); ?> <a target="_blank" href="https://demo.getwooplugins.com/woocommerce-variation-swatches/"><?php esc_html_e( 'demo', 'woo-variation-swatches' ); ?></a>.
11
  </p>
12
  </div>
13
  <div>
14
+ <h3><span class="dashicons dashicons-editor-help"></span> <?php esc_html_e( 'Facing issue?', 'woo-variation-swatches' ); ?></h3>
15
+ <p><?php esc_html_e( 'Stuck with something?', 'woo-variation-swatches' ); ?> <a target="_blank" href="https://getwooplugins.com/tickets/"><?php esc_html_e( 'Please open a ticket.', 'woo-variation-swatches' ); ?></a>. <?php esc_html_e( 'For emergency case join our live chat.', 'woo-variation-swatches' ); ?></p>
16
  </div>
17
  <div>
18
+ <h3><span class="dashicons dashicons-star-filled"></span> <?php esc_html_e( 'Love Our Plugin?', 'woo-variation-swatches' ); ?></h3>
19
+ <p>
20
+ <?php esc_html_e( 'Thank you for choosing', 'woo-variation-swatches' ); ?>
21
+ <strong><?php esc_html_e( 'Variation Swatches for WooCommerce', 'woo-variation-swatches' ); ?>.</strong>
22
+ <?php esc_html_e( 'If you have found our plugin useful and makes you smile,', 'woo-variation-swatches' ); ?>
23
+ <a target="_blank" href="https://getwooplugins.com/plugins/woocommerce-variation-swatches/"><?php esc_html_e( 'please consider giving us a 5-star rating.', 'woo-variation-swatches' ); ?></a> <?php esc_html_e( 'It will help us to grow.', 'woo-variation-swatches' ); ?></p>
24
  </div>
includes/html-settings-tutorial.php CHANGED
@@ -3,7 +3,7 @@
3
  ?>
4
 
5
  <h2>
6
- <?php esc_html_e( 'How to tutorials', 'woo-variation-gallery' ); ?>
7
  </h2>
8
 
9
  <div id="woo-variation-swatches-tutorials-wrapper">
3
  ?>
4
 
5
  <h2>
6
+ <?php esc_html_e( 'How to tutorials', 'woo-variation-swatches' ); ?>
7
  </h2>
8
 
9
  <div id="woo-variation-swatches-tutorials-wrapper">
languages/woo-variation-swatches.pot CHANGED
@@ -7,7 +7,7 @@ msgstr ""
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Language-Team: Emran Ahmed <emran.bd.08@gmail.com>\n"
10
- "POT-Creation-Date: 2022-07-31 10:31+0000\n"
11
  "X-Poedit-Basepath: ..\n"
12
  "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
13
  "X-Poedit-SearchPath-0: .\n"
@@ -15,87 +15,107 @@ msgstr ""
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
 
18
- #: ../includes/class-woo-variation-swatches-backend.php:76
19
  msgid "View documentation"
20
  msgstr ""
21
 
22
- #: ../includes/class-woo-variation-swatches-backend.php:76
23
  msgid "Documentation"
24
  msgstr ""
25
 
26
- #: ../includes/class-woo-variation-swatches-backend.php:77, ../includes/class-woo-variation-swatches-backend.php:77
27
  msgid "Video Tutorials"
28
  msgstr ""
29
 
30
- #: ../includes/class-woo-variation-swatches-backend.php:78, ../includes/class-woo-variation-swatches-backend.php:78
31
  msgid "Help & Support"
32
  msgstr ""
33
 
34
- #: ../includes/class-woo-variation-swatches-backend.php:86
35
  msgid "View Swatches settings"
36
  msgstr ""
37
 
38
- #: ../includes/class-woo-variation-swatches-backend.php:86
39
  msgid "Settings"
40
  msgstr ""
41
 
42
- #: ../includes/class-woo-variation-swatches-backend.php:91, ../includes/class-woo-variation-swatches-backend.php:91
43
  msgid "Go Pro"
44
  msgstr ""
45
 
46
- #: ../includes/class-woo-variation-swatches-backend.php:157, ../includes/class-woo-variation-swatches-backend.php:245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  msgid "Choose an Image"
48
  msgstr ""
49
 
50
- #: ../includes/class-woo-variation-swatches-backend.php:158
51
  msgid "Add Attribute"
52
  msgstr ""
53
 
54
- #: ../includes/class-woo-variation-swatches-backend.php:159
55
  msgid "Add"
56
  msgstr ""
57
 
58
- #: ../includes/class-woo-variation-swatches-backend.php:160
59
  msgid "Cancel"
60
  msgstr ""
61
 
62
- #: ../includes/class-woo-variation-swatches-backend.php:161
63
  msgid "Use Image"
64
  msgstr ""
65
 
66
- #: ../includes/class-woo-variation-swatches-backend.php:162
67
  msgid "Add Media"
68
  msgstr ""
69
 
70
- #: ../includes/class-woo-variation-swatches-backend.php:166
71
  msgid "Are you sure you want to reset it to default setting?"
72
  msgstr ""
73
 
74
- #: ../includes/class-woo-variation-swatches-backend.php:167
75
  msgid "Please save changed first."
76
  msgstr ""
77
 
78
- #: ../includes/class-woo-variation-swatches-backend.php:175, ../includes/class-woo-variation-swatches-backend.php:235
 
 
 
 
79
  msgid "Color"
80
  msgstr ""
81
 
82
- #: ../includes/class-woo-variation-swatches-backend.php:176, ../includes/class-woo-variation-swatches-backend.php:244
83
  msgid "Image"
84
  msgstr ""
85
 
86
- #: ../includes/class-woo-variation-swatches-backend.php:177
87
  msgid "Button"
88
  msgstr ""
89
 
90
- #: ../includes/class-woo-variation-swatches-backend.php:178
91
  msgid "Radio"
92
  msgstr ""
93
 
94
- #: ../includes/class-woo-variation-swatches-backend.php:186
95
  msgid "Mixed"
96
  msgstr ""
97
 
98
- #: ../includes/class-woo-variation-swatches-backend.php:236
99
  msgid "Choose a color"
100
  msgstr ""
101
 
@@ -167,10 +187,24 @@ msgstr ""
167
  msgid "Please share the reason"
168
  msgstr ""
169
 
170
- #: ../includes/class-woo-variation-swatches-product-page.php:60
 
 
 
 
 
 
 
 
 
 
171
  msgid "%s left"
172
  msgstr ""
173
 
 
 
 
 
174
  #: ../includes/class-woo-variation-swatches-settings.php:25
175
  msgid "Variation Swatches"
176
  msgstr ""
@@ -183,11 +217,11 @@ msgstr ""
183
  msgid "Variation Swatches for WooCommerce Settings"
184
  msgstr ""
185
 
186
- #: ../includes/class-woo-variation-swatches-settings.php:83, ../includes/class-woo-variation-swatches-settings.php:101
187
  msgid "See Documentation"
188
  msgstr ""
189
 
190
- #: ../includes/class-woo-variation-swatches-settings.php:85, ../includes/class-woo-variation-swatches-settings.php:215
191
  msgid "Help &amp; Support"
192
  msgstr ""
193
 
@@ -195,471 +229,475 @@ msgstr ""
195
  msgid "Buy Now"
196
  msgstr ""
197
 
198
- #: ../includes/class-woo-variation-swatches-settings.php:110
199
  msgid "Swatches Shape Style"
200
  msgstr ""
201
 
202
- #: ../includes/class-woo-variation-swatches-settings.php:116
203
  msgid "Swatches Default To Button"
204
  msgstr ""
205
 
206
- #: ../includes/class-woo-variation-swatches-settings.php:122
207
  msgid "Swatches Default To Image"
208
  msgstr ""
209
 
210
- #: ../includes/class-woo-variation-swatches-settings.php:128
211
  msgid "Swatches Clear on Reselect"
212
  msgstr ""
213
 
214
- #: ../includes/class-woo-variation-swatches-settings.php:134
215
  msgid "Swatches Hide Out Of Stock"
216
  msgstr ""
217
 
218
- #: ../includes/class-woo-variation-swatches-settings.php:140
219
  msgid "Swatches Clickable Out Of Stock"
220
  msgstr ""
221
 
222
- #: ../includes/class-woo-variation-swatches-settings.php:146
223
  msgid "Swatches Show variation stock info"
224
  msgstr ""
225
 
226
- #: ../includes/class-woo-variation-swatches-settings.php:152
227
  msgid "Swatches Attribute Display Limit"
228
  msgstr ""
229
 
230
- #: ../includes/class-woo-variation-swatches-settings.php:158
231
  msgid "Swatches Show Product Availability"
232
  msgstr ""
233
 
234
- #: ../includes/class-woo-variation-swatches-settings.php:164
235
  msgid "Swatches Display Position"
236
  msgstr ""
237
 
238
- #: ../includes/class-woo-variation-swatches-settings.php:170
239
  msgid "Swatches Display On Widget"
240
  msgstr ""
241
 
242
- #: ../includes/class-woo-variation-swatches-settings.php:176
243
  msgid "Swatches Show as catalog mode"
244
  msgstr ""
245
 
246
- #: ../includes/class-woo-variation-swatches-settings.php:182, ../includes/class-woo-variation-swatches-settings.php:188, ../includes/class-woo-variation-swatches-settings.php:194
247
  msgid "Swatches Show variation preview"
248
  msgstr ""
249
 
250
- #: ../includes/class-woo-variation-swatches-settings.php:200
251
  msgid "Swatches Disabled Attribute style"
252
  msgstr ""
253
 
254
- #: ../includes/class-woo-variation-swatches-settings.php:206
255
  msgid "Swatches Generate Sharable URL"
256
  msgstr ""
257
 
258
- #: ../includes/class-woo-variation-swatches-settings.php:213
259
  msgid "Get license"
260
  msgstr ""
261
 
262
- #: ../includes/class-woo-variation-swatches-settings.php:219
263
  msgid "Swatches License"
264
  msgstr ""
265
 
266
- #: ../includes/class-woo-variation-swatches-settings.php:225
267
  msgid "Swatches On Archive Page"
268
  msgstr ""
269
 
270
- #: ../includes/class-woo-variation-swatches-settings.php:231
271
  msgid "Swatches Archive Default Selected"
272
  msgstr ""
273
 
274
- #: ../includes/class-woo-variation-swatches-settings.php:238
275
  msgid "Swatches Settings Reset."
276
  msgstr ""
277
 
278
- #: ../includes/class-woo-variation-swatches-settings.php:277, ../includes/getwooplugins/class-getwooplugins-settings-page.php:129
279
  msgid "General"
280
  msgstr ""
281
 
282
- #: ../includes/class-woo-variation-swatches-settings.php:278
283
  msgid "Advanced"
284
  msgstr ""
285
 
286
- #: ../includes/class-woo-variation-swatches-settings.php:279
287
  msgid "Styling"
288
  msgstr ""
289
 
290
- #: ../includes/class-woo-variation-swatches-settings.php:280
291
  msgid "Product Page"
292
  msgstr ""
293
 
294
- #: ../includes/class-woo-variation-swatches-settings.php:281
295
  msgid "Archive / Shop"
296
  msgstr ""
297
 
298
- #: ../includes/class-woo-variation-swatches-settings.php:282
299
  msgid "Special Attributes"
300
  msgstr ""
301
 
302
- #: ../includes/class-woo-variation-swatches-settings.php:283, ../includes/class-woo-variation-swatches-term-meta.php:103
303
  msgid "Group"
304
  msgstr ""
305
 
306
- #: ../includes/class-woo-variation-swatches-settings.php:285
307
  msgid "License"
308
  msgstr ""
309
 
310
- #: ../includes/class-woo-variation-swatches-settings.php:288
311
  msgid "Tutorial"
312
  msgstr ""
313
 
314
- #: ../includes/class-woo-variation-swatches-settings.php:293
315
  msgid "Useful Free Plugins"
316
  msgstr ""
317
 
318
- #: ../includes/class-woo-variation-swatches-settings.php:322
319
  msgid "General options"
320
  msgstr ""
321
 
322
- #: ../includes/class-woo-variation-swatches-settings.php:329
323
  msgid "Enable Stylesheet"
324
  msgstr ""
325
 
326
- #: ../includes/class-woo-variation-swatches-settings.php:330
327
  msgid "Enable default stylesheet"
328
  msgstr ""
329
 
330
- #: ../includes/class-woo-variation-swatches-settings.php:337
331
  msgid "Enable Tooltip"
332
  msgstr ""
333
 
334
- #: ../includes/class-woo-variation-swatches-settings.php:338
335
  msgid "Enable tooltip on each product attribute."
336
  msgstr ""
337
 
338
- #: ../includes/class-woo-variation-swatches-settings.php:345
339
  msgid "Shape Style"
340
  msgstr ""
341
 
342
- #: ../includes/class-woo-variation-swatches-settings.php:347
343
  msgid "This controls which shape style used by default."
344
  msgstr ""
345
 
346
- #: ../includes/class-woo-variation-swatches-settings.php:354
347
  msgid "Rounded Shape"
348
  msgstr ""
349
 
350
- #: ../includes/class-woo-variation-swatches-settings.php:355
351
  msgid "Squared Shape"
352
  msgstr ""
353
 
354
- #: ../includes/class-woo-variation-swatches-settings.php:362
355
  msgid "Dropdowns to Button"
356
  msgstr ""
357
 
358
- #: ../includes/class-woo-variation-swatches-settings.php:363
359
  msgid "Convert default dropdowns to button."
360
  msgstr ""
361
 
362
- #: ../includes/class-woo-variation-swatches-settings.php:372
363
  msgid "Dropdowns to Image"
364
  msgstr ""
365
 
366
- #: ../includes/class-woo-variation-swatches-settings.php:373
367
  msgid "Convert default dropdowns to image type if variation has an image."
368
  msgstr ""
369
 
370
- #: ../includes/class-woo-variation-swatches-settings.php:394
371
  msgid "Advanced options"
372
  msgstr ""
373
 
374
- #: ../includes/class-woo-variation-swatches-settings.php:401
375
  msgid "Clear on Reselect"
376
  msgstr ""
377
 
378
- #: ../includes/class-woo-variation-swatches-settings.php:402
379
  msgid "Clear selected attribute on select again"
380
  msgstr ""
381
 
382
- #: ../includes/class-woo-variation-swatches-settings.php:410
383
  msgid "Disable Out of Stock"
384
  msgstr ""
385
 
386
- #: ../includes/class-woo-variation-swatches-settings.php:411
387
  msgid "Disable Out Of Stock item"
388
  msgstr ""
389
 
390
- #: ../includes/class-woo-variation-swatches-settings.php:420
391
  msgid "Clickable Out Of Stock"
392
  msgstr ""
393
 
394
- #: ../includes/class-woo-variation-swatches-settings.php:421
395
  msgid "Clickable Out Of Stock item"
396
  msgstr ""
397
 
398
- #: ../includes/class-woo-variation-swatches-settings.php:430
399
  msgid "Disabled Attribute style"
400
  msgstr ""
401
 
402
- #: ../includes/class-woo-variation-swatches-settings.php:431
403
  msgid "Disabled / Out Of Stock attribute will be hide / blur / crossed."
404
  msgstr ""
405
 
406
- #: ../includes/class-woo-variation-swatches-settings.php:434
407
  msgid "Blur with cross"
408
  msgstr ""
409
 
410
- #: ../includes/class-woo-variation-swatches-settings.php:435
411
  msgid "Blur without cross"
412
  msgstr ""
413
 
414
- #: ../includes/class-woo-variation-swatches-settings.php:436
415
  msgid "Hide"
416
  msgstr ""
417
 
418
- #: ../includes/class-woo-variation-swatches-settings.php:445
419
  msgid "Attribute image size"
420
  msgstr ""
421
 
422
- #: ../includes/class-woo-variation-swatches-settings.php:446
423
  msgid "<span style=\"color: red\">Attribute image size can be changed by <code>woo_variation_swatches_global_product_attribute_image_size</code> filter hook. So this option will not apply any effect.</span>"
424
  msgstr ""
425
 
426
- #: ../includes/class-woo-variation-swatches-settings.php:468
427
- msgid "Swatches indicator"
428
  msgstr ""
429
 
430
  #: ../includes/class-woo-variation-swatches-settings.php:469
 
 
 
 
431
  msgid "Change swatches indicator color"
432
  msgstr ""
433
 
434
- #: ../includes/class-woo-variation-swatches-settings.php:475
435
  msgid "Tick Color"
436
  msgstr ""
437
 
438
- #: ../includes/class-woo-variation-swatches-settings.php:476
439
  msgid "Swatches Selected tick color. Default is: #ffffff"
440
  msgstr ""
441
 
442
- #: ../includes/class-woo-variation-swatches-settings.php:487
443
  msgid "Cross Color"
444
  msgstr ""
445
 
446
- #: ../includes/class-woo-variation-swatches-settings.php:488
447
  msgid "Swatches cross color. Default is: #ff0000"
448
  msgstr ""
449
 
450
- #: ../includes/class-woo-variation-swatches-settings.php:505
451
  msgid "Product Page Swatches Size"
452
  msgstr ""
453
 
454
- #: ../includes/class-woo-variation-swatches-settings.php:506
455
  msgid "Change swatches style on product page"
456
  msgstr ""
457
 
458
- #: ../includes/class-woo-variation-swatches-settings.php:512
459
  msgid "Width"
460
  msgstr ""
461
 
462
- #: ../includes/class-woo-variation-swatches-settings.php:513
463
  msgid "Single product variation item width. Default is: 30"
464
  msgstr ""
465
 
466
- #: ../includes/class-woo-variation-swatches-settings.php:527
467
  msgid "Height"
468
  msgstr ""
469
 
470
- #: ../includes/class-woo-variation-swatches-settings.php:528
471
  msgid "Single product variation item height. Default is: 30"
472
  msgstr ""
473
 
474
- #: ../includes/class-woo-variation-swatches-settings.php:542
475
  msgid "Font Size"
476
  msgstr ""
477
 
478
- #: ../includes/class-woo-variation-swatches-settings.php:543
479
  msgid "Single product variation item font size. Default is: 16"
480
  msgstr ""
481
 
482
- #: ../includes/class-woo-variation-swatches-settings.php:569
483
  msgid "Single Product Page"
484
  msgstr ""
485
 
486
- #: ../includes/class-woo-variation-swatches-settings.php:570
487
  msgid "Settings for single product page"
488
  msgstr ""
489
 
490
- #: ../includes/class-woo-variation-swatches-settings.php:576
491
  msgid "Show selected attribute"
492
  msgstr ""
493
 
494
- #: ../includes/class-woo-variation-swatches-settings.php:577
495
  msgid "Show selected attribute variation name beside the title"
496
  msgstr ""
497
 
498
- #: ../includes/class-woo-variation-swatches-settings.php:585
499
  msgid "Variation label separator"
500
  msgstr ""
501
 
502
- #: ../includes/class-woo-variation-swatches-settings.php:586
503
  msgid "Variation label separator. Default: %s."
504
  msgstr ""
505
 
506
- #: ../includes/class-woo-variation-swatches-settings.php:597, ../includes/class-woo-variation-swatches-settings.php:665
507
  msgid "Enable Preloader"
508
  msgstr ""
509
 
510
- #: ../includes/class-woo-variation-swatches-settings.php:598
511
  msgid "Enable single product page swatches preloader"
512
  msgstr ""
513
 
514
- #: ../includes/class-woo-variation-swatches-settings.php:606
515
  msgid "Generate variation url"
516
  msgstr ""
517
 
518
- #: ../includes/class-woo-variation-swatches-settings.php:607
519
  msgid "Generate sharable url based on selected variation attributes."
520
  msgstr ""
521
 
522
- #: ../includes/class-woo-variation-swatches-settings.php:615
523
  msgid "Variation stock info"
524
  msgstr ""
525
 
526
- #: ../includes/class-woo-variation-swatches-settings.php:616
527
  msgid "Show variation product stock info"
528
  msgstr ""
529
 
530
- #: ../includes/class-woo-variation-swatches-settings.php:625
531
  msgid "Attribute display limit"
532
  msgstr ""
533
 
534
- #: ../includes/class-woo-variation-swatches-settings.php:626
535
  msgid "Single Product page attribute display limit. Default is 0. Means no limit."
536
  msgstr ""
537
 
538
- #: ../includes/class-woo-variation-swatches-settings.php:649
539
  msgid "Visual Section"
540
  msgstr ""
541
 
542
- #: ../includes/class-woo-variation-swatches-settings.php:650
543
  msgid "Advanced change some visual styles on shop / archive page"
544
  msgstr ""
545
 
546
- #: ../includes/class-woo-variation-swatches-settings.php:656
547
  msgid "Enable Swatches"
548
  msgstr ""
549
 
550
- #: ../includes/class-woo-variation-swatches-settings.php:657
551
  msgid "Show swatches on archive / shop page."
552
  msgstr ""
553
 
554
- #: ../includes/class-woo-variation-swatches-settings.php:666
555
  msgid "Enable archive page swatches preloader"
556
  msgstr ""
557
 
558
- #: ../includes/class-woo-variation-swatches-settings.php:674
559
  msgid "Show Product Availability"
560
  msgstr ""
561
 
562
- #: ../includes/class-woo-variation-swatches-settings.php:675
563
  msgid "Show Product availability stock info"
564
  msgstr ""
565
 
566
- #: ../includes/class-woo-variation-swatches-settings.php:686
567
  msgid "Show default selected"
568
  msgstr ""
569
 
570
- #: ../includes/class-woo-variation-swatches-settings.php:687
571
  msgid "Show default selected attribute swatches on archive / shop page."
572
  msgstr ""
573
 
574
- #: ../includes/class-woo-variation-swatches-settings.php:696
575
  msgid "Display position"
576
  msgstr ""
577
 
578
- #: ../includes/class-woo-variation-swatches-settings.php:697
579
  msgid "Show archive swatches position. <span style=\"color: red\">Note:</span> Some theme remove default woocommerce hooks that why it's may not work as expected. For theme compatibility <a target=\"_blank\" href=\"%s\">please open a ticket</a>."
580
  msgstr ""
581
 
582
- #: ../includes/class-woo-variation-swatches-settings.php:701
583
  msgid "Before add to cart button"
584
  msgstr ""
585
 
586
- #: ../includes/class-woo-variation-swatches-settings.php:702
587
  msgid "After add to cart button"
588
  msgstr ""
589
 
590
- #: ../includes/class-woo-variation-swatches-settings.php:711
591
  msgid "Swatches align"
592
  msgstr ""
593
 
594
- #: ../includes/class-woo-variation-swatches-settings.php:712
595
  msgid "Swatches align on archive page"
596
  msgstr ""
597
 
598
- #: ../includes/class-woo-variation-swatches-settings.php:717
599
  msgid "Left"
600
  msgstr ""
601
 
602
- #: ../includes/class-woo-variation-swatches-settings.php:718
603
  msgid "Center"
604
  msgstr ""
605
 
606
- #: ../includes/class-woo-variation-swatches-settings.php:719
607
  msgid "Right"
608
  msgstr ""
609
 
610
- #: ../includes/class-woo-variation-swatches-settings.php:727
611
  msgid "Show on filter widget"
612
  msgstr ""
613
 
614
- #: ../includes/class-woo-variation-swatches-settings.php:728
615
  msgid "Show variation swatches on filter widget."
616
  msgstr ""
617
 
618
- #: ../includes/class-woo-variation-swatches-settings.php:749
619
  msgid "Catalog mode"
620
  msgstr ""
621
 
622
- #: ../includes/class-woo-variation-swatches-settings.php:750
623
  msgid "Show single attribute as catalog mode on shop / archive pages. Catalog mode only change image based on selected variation."
624
  msgstr ""
625
 
626
- #: ../includes/class-woo-variation-swatches-settings.php:756
627
  msgid "Show Single Attribute"
628
  msgstr ""
629
 
630
- #: ../includes/class-woo-variation-swatches-settings.php:757
631
  msgid "Show Single Attribute taxonomies on archive page"
632
  msgstr ""
633
 
634
- #: ../includes/class-woo-variation-swatches-settings.php:770
635
  msgid "Single Variation Image Preview"
636
  msgstr ""
637
 
638
- #: ../includes/class-woo-variation-swatches-settings.php:771
639
  msgid "Switch variation image when single attribute selected on product page."
640
  msgstr ""
641
 
642
- #: ../includes/class-woo-variation-swatches-settings.php:777
643
  msgid "Variation Image Preview"
644
  msgstr ""
645
 
646
- #: ../includes/class-woo-variation-swatches-settings.php:778
647
  msgid "Show single attribute variation image based on first attribute select on product page."
648
  msgstr ""
649
 
650
- #: ../includes/class-woo-variation-swatches-settings.php:792
651
  msgid "Large Size Attribute Section"
652
  msgstr ""
653
 
654
- #: ../includes/class-woo-variation-swatches-settings.php:793
655
  msgid "Make a attribute taxonomies size large on single product"
656
  msgstr ""
657
 
658
- #: ../includes/class-woo-variation-swatches-settings.php:799
659
  msgid "Show First Attribute In Large Size"
660
  msgstr ""
661
 
662
- #: ../includes/class-woo-variation-swatches-settings.php:800
663
  msgid "Show Attribute taxonomies in large size"
664
  msgstr ""
665
 
@@ -675,6 +713,122 @@ msgstr ""
675
  msgid "\"Variation Swatches for WooCommerce\" Plugin try to load \"%s\" but template \"%s\" was not found."
676
  msgstr ""
677
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
678
  #: ../includes/html-settings-group.php:5
679
  msgid "Swatches Group"
680
  msgstr ""
@@ -684,13 +838,178 @@ msgid "Show your swatches individually or in groups. Split variation swatches in
684
  msgstr ""
685
 
686
  #: ../includes/html-settings-group.php:14
687
- msgid "Ok, I need this feature"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
688
  msgstr ""
689
 
690
  #: ../includes/html-settings-tutorial.php:101, ../includes/html-settings-tutorial.php:137, ../includes/html-settings-tutorial.php:146, ../includes/html-settings-tutorial.php:183, ../includes/html-settings-tutorial.php:192, ../includes/html-settings-tutorial.php:229, ../includes/html-settings-tutorial.php:238, ../includes/html-settings-tutorial.php:275, ../includes/html-settings-tutorial.php:284, ../includes/html-settings-tutorial.php:321, ../includes/html-settings-tutorial.php:330, ../includes/html-settings-tutorial.php:368, ../includes/html-settings-tutorial.php:377, ../includes/html-settings-tutorial.php:440
691
  msgid "PRO"
692
  msgstr ""
693
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
694
  #: ../woo-variation-swatches.php:37
695
  msgid "WooCommerce"
696
  msgstr ""
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Language-Team: Emran Ahmed <emran.bd.08@gmail.com>\n"
10
+ "POT-Creation-Date: 2022-08-14 11:27+0000\n"
11
  "X-Poedit-Basepath: ..\n"
12
  "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
13
  "X-Poedit-SearchPath-0: .\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
 
18
+ #: ../includes/class-woo-variation-swatches-backend.php:80
19
  msgid "View documentation"
20
  msgstr ""
21
 
22
+ #: ../includes/class-woo-variation-swatches-backend.php:80, ../includes/html-settings-sidebar.php:7
23
  msgid "Documentation"
24
  msgstr ""
25
 
26
+ #: ../includes/class-woo-variation-swatches-backend.php:81, ../includes/class-woo-variation-swatches-backend.php:81
27
  msgid "Video Tutorials"
28
  msgstr ""
29
 
30
+ #: ../includes/class-woo-variation-swatches-backend.php:82, ../includes/class-woo-variation-swatches-backend.php:82
31
  msgid "Help & Support"
32
  msgstr ""
33
 
34
+ #: ../includes/class-woo-variation-swatches-backend.php:90
35
  msgid "View Swatches settings"
36
  msgstr ""
37
 
38
+ #: ../includes/class-woo-variation-swatches-backend.php:90
39
  msgid "Settings"
40
  msgstr ""
41
 
42
+ #: ../includes/class-woo-variation-swatches-backend.php:95, ../includes/class-woo-variation-swatches-backend.php:95
43
  msgid "Go Pro"
44
  msgstr ""
45
 
46
+ #: ../includes/class-woo-variation-swatches-backend.php:113
47
+ msgid "Select terms"
48
+ msgstr ""
49
+
50
+ #: ../includes/class-woo-variation-swatches-backend.php:129, ../includes/getwooplugins/class-getwooplugins-admin-settings.php:733
51
+ msgid "Select all"
52
+ msgstr ""
53
+
54
+ #: ../includes/class-woo-variation-swatches-backend.php:130, ../includes/getwooplugins/class-getwooplugins-admin-settings.php:733
55
+ msgid "Select none"
56
+ msgstr ""
57
+
58
+ #: ../includes/class-woo-variation-swatches-backend.php:131
59
+ msgid "Add new"
60
+ msgstr ""
61
+
62
+ #: ../includes/class-woo-variation-swatches-backend.php:161, ../includes/class-woo-variation-swatches-backend.php:248
63
  msgid "Choose an Image"
64
  msgstr ""
65
 
66
+ #: ../includes/class-woo-variation-swatches-backend.php:162
67
  msgid "Add Attribute"
68
  msgstr ""
69
 
70
+ #: ../includes/class-woo-variation-swatches-backend.php:163
71
  msgid "Add"
72
  msgstr ""
73
 
74
+ #: ../includes/class-woo-variation-swatches-backend.php:164
75
  msgid "Cancel"
76
  msgstr ""
77
 
78
+ #: ../includes/class-woo-variation-swatches-backend.php:165
79
  msgid "Use Image"
80
  msgstr ""
81
 
82
+ #: ../includes/class-woo-variation-swatches-backend.php:166
83
  msgid "Add Media"
84
  msgstr ""
85
 
86
+ #: ../includes/class-woo-variation-swatches-backend.php:170
87
  msgid "Are you sure you want to reset it to default setting?"
88
  msgstr ""
89
 
90
+ #: ../includes/class-woo-variation-swatches-backend.php:171
91
  msgid "Please save changed first."
92
  msgstr ""
93
 
94
+ #: ../includes/class-woo-variation-swatches-backend.php:178
95
+ msgid "Select"
96
+ msgstr ""
97
+
98
+ #: ../includes/class-woo-variation-swatches-backend.php:179, ../includes/class-woo-variation-swatches-backend.php:238
99
  msgid "Color"
100
  msgstr ""
101
 
102
+ #: ../includes/class-woo-variation-swatches-backend.php:180, ../includes/class-woo-variation-swatches-backend.php:247
103
  msgid "Image"
104
  msgstr ""
105
 
106
+ #: ../includes/class-woo-variation-swatches-backend.php:181
107
  msgid "Button"
108
  msgstr ""
109
 
110
+ #: ../includes/class-woo-variation-swatches-backend.php:182
111
  msgid "Radio"
112
  msgstr ""
113
 
114
+ #: ../includes/class-woo-variation-swatches-backend.php:190
115
  msgid "Mixed"
116
  msgstr ""
117
 
118
+ #: ../includes/class-woo-variation-swatches-backend.php:239
119
  msgid "Choose a color"
120
  msgstr ""
121
 
187
  msgid "Please share the reason"
188
  msgstr ""
189
 
190
+ #. translators: %s: image URL
191
+ #: ../includes/class-woo-variation-swatches-export-import.php:242
192
+ msgid "Not able to attach \"%s\"."
193
+ msgstr ""
194
+
195
+ #. translators: %s: image URL
196
+ #: ../includes/class-woo-variation-swatches-export-import.php:251
197
+ msgid "Unable to use image \"%s\"."
198
+ msgstr ""
199
+
200
+ #: ../includes/class-woo-variation-swatches-product-page.php:82
201
  msgid "%s left"
202
  msgstr ""
203
 
204
+ #: ../includes/class-woo-variation-swatches-product-page.php:659, ../includes/class-woo-variation-swatches-product-page.php:685
205
+ msgid "Choose an option"
206
+ msgstr ""
207
+
208
  #: ../includes/class-woo-variation-swatches-settings.php:25
209
  msgid "Variation Swatches"
210
  msgstr ""
217
  msgid "Variation Swatches for WooCommerce Settings"
218
  msgstr ""
219
 
220
+ #: ../includes/class-woo-variation-swatches-settings.php:83, ../includes/class-woo-variation-swatches-settings.php:102
221
  msgid "See Documentation"
222
  msgstr ""
223
 
224
+ #: ../includes/class-woo-variation-swatches-settings.php:85, ../includes/class-woo-variation-swatches-settings.php:216
225
  msgid "Help &amp; Support"
226
  msgstr ""
227
 
229
  msgid "Buy Now"
230
  msgstr ""
231
 
232
+ #: ../includes/class-woo-variation-swatches-settings.php:111
233
  msgid "Swatches Shape Style"
234
  msgstr ""
235
 
236
+ #: ../includes/class-woo-variation-swatches-settings.php:117
237
  msgid "Swatches Default To Button"
238
  msgstr ""
239
 
240
+ #: ../includes/class-woo-variation-swatches-settings.php:123
241
  msgid "Swatches Default To Image"
242
  msgstr ""
243
 
244
+ #: ../includes/class-woo-variation-swatches-settings.php:129
245
  msgid "Swatches Clear on Reselect"
246
  msgstr ""
247
 
248
+ #: ../includes/class-woo-variation-swatches-settings.php:135
249
  msgid "Swatches Hide Out Of Stock"
250
  msgstr ""
251
 
252
+ #: ../includes/class-woo-variation-swatches-settings.php:141
253
  msgid "Swatches Clickable Out Of Stock"
254
  msgstr ""
255
 
256
+ #: ../includes/class-woo-variation-swatches-settings.php:147
257
  msgid "Swatches Show variation stock info"
258
  msgstr ""
259
 
260
+ #: ../includes/class-woo-variation-swatches-settings.php:153
261
  msgid "Swatches Attribute Display Limit"
262
  msgstr ""
263
 
264
+ #: ../includes/class-woo-variation-swatches-settings.php:159
265
  msgid "Swatches Show Product Availability"
266
  msgstr ""
267
 
268
+ #: ../includes/class-woo-variation-swatches-settings.php:165
269
  msgid "Swatches Display Position"
270
  msgstr ""
271
 
272
+ #: ../includes/class-woo-variation-swatches-settings.php:171
273
  msgid "Swatches Display On Widget"
274
  msgstr ""
275
 
276
+ #: ../includes/class-woo-variation-swatches-settings.php:177
277
  msgid "Swatches Show as catalog mode"
278
  msgstr ""
279
 
280
+ #: ../includes/class-woo-variation-swatches-settings.php:183, ../includes/class-woo-variation-swatches-settings.php:189, ../includes/class-woo-variation-swatches-settings.php:195
281
  msgid "Swatches Show variation preview"
282
  msgstr ""
283
 
284
+ #: ../includes/class-woo-variation-swatches-settings.php:201
285
  msgid "Swatches Disabled Attribute style"
286
  msgstr ""
287
 
288
+ #: ../includes/class-woo-variation-swatches-settings.php:207
289
  msgid "Swatches Generate Sharable URL"
290
  msgstr ""
291
 
292
+ #: ../includes/class-woo-variation-swatches-settings.php:214
293
  msgid "Get license"
294
  msgstr ""
295
 
296
+ #: ../includes/class-woo-variation-swatches-settings.php:220
297
  msgid "Swatches License"
298
  msgstr ""
299
 
300
+ #: ../includes/class-woo-variation-swatches-settings.php:226
301
  msgid "Swatches On Archive Page"
302
  msgstr ""
303
 
304
+ #: ../includes/class-woo-variation-swatches-settings.php:232
305
  msgid "Swatches Archive Default Selected"
306
  msgstr ""
307
 
308
+ #: ../includes/class-woo-variation-swatches-settings.php:239
309
  msgid "Swatches Settings Reset."
310
  msgstr ""
311
 
312
+ #: ../includes/class-woo-variation-swatches-settings.php:278, ../includes/getwooplugins/class-getwooplugins-settings-page.php:128
313
  msgid "General"
314
  msgstr ""
315
 
316
+ #: ../includes/class-woo-variation-swatches-settings.php:279
317
  msgid "Advanced"
318
  msgstr ""
319
 
320
+ #: ../includes/class-woo-variation-swatches-settings.php:280
321
  msgid "Styling"
322
  msgstr ""
323
 
324
+ #: ../includes/class-woo-variation-swatches-settings.php:281
325
  msgid "Product Page"
326
  msgstr ""
327
 
328
+ #: ../includes/class-woo-variation-swatches-settings.php:282
329
  msgid "Archive / Shop"
330
  msgstr ""
331
 
332
+ #: ../includes/class-woo-variation-swatches-settings.php:283
333
  msgid "Special Attributes"
334
  msgstr ""
335
 
336
+ #: ../includes/class-woo-variation-swatches-settings.php:284, ../includes/class-woo-variation-swatches-term-meta.php:103
337
  msgid "Group"
338
  msgstr ""
339
 
340
+ #: ../includes/class-woo-variation-swatches-settings.php:286
341
  msgid "License"
342
  msgstr ""
343
 
344
+ #: ../includes/class-woo-variation-swatches-settings.php:289
345
  msgid "Tutorial"
346
  msgstr ""
347
 
348
+ #: ../includes/class-woo-variation-swatches-settings.php:294
349
  msgid "Useful Free Plugins"
350
  msgstr ""
351
 
352
+ #: ../includes/class-woo-variation-swatches-settings.php:323
353
  msgid "General options"
354
  msgstr ""
355
 
356
+ #: ../includes/class-woo-variation-swatches-settings.php:330
357
  msgid "Enable Stylesheet"
358
  msgstr ""
359
 
360
+ #: ../includes/class-woo-variation-swatches-settings.php:331
361
  msgid "Enable default stylesheet"
362
  msgstr ""
363
 
364
+ #: ../includes/class-woo-variation-swatches-settings.php:338
365
  msgid "Enable Tooltip"
366
  msgstr ""
367
 
368
+ #: ../includes/class-woo-variation-swatches-settings.php:339
369
  msgid "Enable tooltip on each product attribute."
370
  msgstr ""
371
 
372
+ #: ../includes/class-woo-variation-swatches-settings.php:346
373
  msgid "Shape Style"
374
  msgstr ""
375
 
376
+ #: ../includes/class-woo-variation-swatches-settings.php:348
377
  msgid "This controls which shape style used by default."
378
  msgstr ""
379
 
380
+ #: ../includes/class-woo-variation-swatches-settings.php:355
381
  msgid "Rounded Shape"
382
  msgstr ""
383
 
384
+ #: ../includes/class-woo-variation-swatches-settings.php:356
385
  msgid "Squared Shape"
386
  msgstr ""
387
 
388
+ #: ../includes/class-woo-variation-swatches-settings.php:363
389
  msgid "Dropdowns to Button"
390
  msgstr ""
391
 
392
+ #: ../includes/class-woo-variation-swatches-settings.php:364
393
  msgid "Convert default dropdowns to button."
394
  msgstr ""
395
 
396
+ #: ../includes/class-woo-variation-swatches-settings.php:373
397
  msgid "Dropdowns to Image"
398
  msgstr ""
399
 
400
+ #: ../includes/class-woo-variation-swatches-settings.php:374
401
  msgid "Convert default dropdowns to image type if variation has an image."
402
  msgstr ""
403
 
404
+ #: ../includes/class-woo-variation-swatches-settings.php:395
405
  msgid "Advanced options"
406
  msgstr ""
407
 
408
+ #: ../includes/class-woo-variation-swatches-settings.php:402
409
  msgid "Clear on Reselect"
410
  msgstr ""
411
 
412
+ #: ../includes/class-woo-variation-swatches-settings.php:403
413
  msgid "Clear selected attribute on select again"
414
  msgstr ""
415
 
416
+ #: ../includes/class-woo-variation-swatches-settings.php:411
417
  msgid "Disable Out of Stock"
418
  msgstr ""
419
 
420
+ #: ../includes/class-woo-variation-swatches-settings.php:412
421
  msgid "Disable Out Of Stock item"
422
  msgstr ""
423
 
424
+ #: ../includes/class-woo-variation-swatches-settings.php:421
425
  msgid "Clickable Out Of Stock"
426
  msgstr ""
427
 
428
+ #: ../includes/class-woo-variation-swatches-settings.php:422
429
  msgid "Clickable Out Of Stock item"
430
  msgstr ""
431
 
432
+ #: ../includes/class-woo-variation-swatches-settings.php:431
433
  msgid "Disabled Attribute style"
434
  msgstr ""
435
 
436
+ #: ../includes/class-woo-variation-swatches-settings.php:432
437
  msgid "Disabled / Out Of Stock attribute will be hide / blur / crossed."
438
  msgstr ""
439
 
440
+ #: ../includes/class-woo-variation-swatches-settings.php:435
441
  msgid "Blur with cross"
442
  msgstr ""
443
 
444
+ #: ../includes/class-woo-variation-swatches-settings.php:436
445
  msgid "Blur without cross"
446
  msgstr ""
447
 
448
+ #: ../includes/class-woo-variation-swatches-settings.php:437
449
  msgid "Hide"
450
  msgstr ""
451
 
452
+ #: ../includes/class-woo-variation-swatches-settings.php:446
453
  msgid "Attribute image size"
454
  msgstr ""
455
 
456
+ #: ../includes/class-woo-variation-swatches-settings.php:447
457
  msgid "<span style=\"color: red\">Attribute image size can be changed by <code>woo_variation_swatches_global_product_attribute_image_size</code> filter hook. So this option will not apply any effect.</span>"
458
  msgstr ""
459
 
460
+ #: ../includes/class-woo-variation-swatches-settings.php:447
461
+ msgid "Choose attribute image size. <a target=\"_blank\" href=\"%s\">Media Settings</a> or use <strong>Regenerate Thumbnails</strong> plugin"
462
  msgstr ""
463
 
464
  #: ../includes/class-woo-variation-swatches-settings.php:469
465
+ msgid "Swatches indicator"
466
+ msgstr ""
467
+
468
+ #: ../includes/class-woo-variation-swatches-settings.php:470
469
  msgid "Change swatches indicator color"
470
  msgstr ""
471
 
472
+ #: ../includes/class-woo-variation-swatches-settings.php:476
473
  msgid "Tick Color"
474
  msgstr ""
475
 
476
+ #: ../includes/class-woo-variation-swatches-settings.php:477
477
  msgid "Swatches Selected tick color. Default is: #ffffff"
478
  msgstr ""
479
 
480
+ #: ../includes/class-woo-variation-swatches-settings.php:488
481
  msgid "Cross Color"
482
  msgstr ""
483
 
484
+ #: ../includes/class-woo-variation-swatches-settings.php:489
485
  msgid "Swatches cross color. Default is: #ff0000"
486
  msgstr ""
487
 
488
+ #: ../includes/class-woo-variation-swatches-settings.php:506
489
  msgid "Product Page Swatches Size"
490
  msgstr ""
491
 
492
+ #: ../includes/class-woo-variation-swatches-settings.php:507
493
  msgid "Change swatches style on product page"
494
  msgstr ""
495
 
496
+ #: ../includes/class-woo-variation-swatches-settings.php:513
497
  msgid "Width"
498
  msgstr ""
499
 
500
+ #: ../includes/class-woo-variation-swatches-settings.php:514
501
  msgid "Single product variation item width. Default is: 30"
502
  msgstr ""
503
 
504
+ #: ../includes/class-woo-variation-swatches-settings.php:528
505
  msgid "Height"
506
  msgstr ""
507
 
508
+ #: ../includes/class-woo-variation-swatches-settings.php:529
509
  msgid "Single product variation item height. Default is: 30"
510
  msgstr ""
511
 
512
+ #: ../includes/class-woo-variation-swatches-settings.php:543
513
  msgid "Font Size"
514
  msgstr ""
515
 
516
+ #: ../includes/class-woo-variation-swatches-settings.php:544
517
  msgid "Single product variation item font size. Default is: 16"
518
  msgstr ""
519
 
520
+ #: ../includes/class-woo-variation-swatches-settings.php:570
521
  msgid "Single Product Page"
522
  msgstr ""
523
 
524
+ #: ../includes/class-woo-variation-swatches-settings.php:571
525
  msgid "Settings for single product page"
526
  msgstr ""
527
 
528
+ #: ../includes/class-woo-variation-swatches-settings.php:577
529
  msgid "Show selected attribute"
530
  msgstr ""
531
 
532
+ #: ../includes/class-woo-variation-swatches-settings.php:578
533
  msgid "Show selected attribute variation name beside the title"
534
  msgstr ""
535
 
536
+ #: ../includes/class-woo-variation-swatches-settings.php:586
537
  msgid "Variation label separator"
538
  msgstr ""
539
 
540
+ #: ../includes/class-woo-variation-swatches-settings.php:587
541
  msgid "Variation label separator. Default: %s."
542
  msgstr ""
543
 
544
+ #: ../includes/class-woo-variation-swatches-settings.php:598, ../includes/class-woo-variation-swatches-settings.php:666
545
  msgid "Enable Preloader"
546
  msgstr ""
547
 
548
+ #: ../includes/class-woo-variation-swatches-settings.php:599
549
  msgid "Enable single product page swatches preloader"
550
  msgstr ""
551
 
552
+ #: ../includes/class-woo-variation-swatches-settings.php:607
553
  msgid "Generate variation url"
554
  msgstr ""
555
 
556
+ #: ../includes/class-woo-variation-swatches-settings.php:608
557
  msgid "Generate sharable url based on selected variation attributes."
558
  msgstr ""
559
 
560
+ #: ../includes/class-woo-variation-swatches-settings.php:616
561
  msgid "Variation stock info"
562
  msgstr ""
563
 
564
+ #: ../includes/class-woo-variation-swatches-settings.php:617
565
  msgid "Show variation product stock info"
566
  msgstr ""
567
 
568
+ #: ../includes/class-woo-variation-swatches-settings.php:626
569
  msgid "Attribute display limit"
570
  msgstr ""
571
 
572
+ #: ../includes/class-woo-variation-swatches-settings.php:627
573
  msgid "Single Product page attribute display limit. Default is 0. Means no limit."
574
  msgstr ""
575
 
576
+ #: ../includes/class-woo-variation-swatches-settings.php:650
577
  msgid "Visual Section"
578
  msgstr ""
579
 
580
+ #: ../includes/class-woo-variation-swatches-settings.php:651
581
  msgid "Advanced change some visual styles on shop / archive page"
582
  msgstr ""
583
 
584
+ #: ../includes/class-woo-variation-swatches-settings.php:657
585
  msgid "Enable Swatches"
586
  msgstr ""
587
 
588
+ #: ../includes/class-woo-variation-swatches-settings.php:658
589
  msgid "Show swatches on archive / shop page."
590
  msgstr ""
591
 
592
+ #: ../includes/class-woo-variation-swatches-settings.php:667
593
  msgid "Enable archive page swatches preloader"
594
  msgstr ""
595
 
596
+ #: ../includes/class-woo-variation-swatches-settings.php:675
597
  msgid "Show Product Availability"
598
  msgstr ""
599
 
600
+ #: ../includes/class-woo-variation-swatches-settings.php:676
601
  msgid "Show Product availability stock info"
602
  msgstr ""
603
 
604
+ #: ../includes/class-woo-variation-swatches-settings.php:687
605
  msgid "Show default selected"
606
  msgstr ""
607
 
608
+ #: ../includes/class-woo-variation-swatches-settings.php:688
609
  msgid "Show default selected attribute swatches on archive / shop page."
610
  msgstr ""
611
 
612
+ #: ../includes/class-woo-variation-swatches-settings.php:697
613
  msgid "Display position"
614
  msgstr ""
615
 
616
+ #: ../includes/class-woo-variation-swatches-settings.php:698
617
  msgid "Show archive swatches position. <span style=\"color: red\">Note:</span> Some theme remove default woocommerce hooks that why it's may not work as expected. For theme compatibility <a target=\"_blank\" href=\"%s\">please open a ticket</a>."
618
  msgstr ""
619
 
620
+ #: ../includes/class-woo-variation-swatches-settings.php:702
621
  msgid "Before add to cart button"
622
  msgstr ""
623
 
624
+ #: ../includes/class-woo-variation-swatches-settings.php:703
625
  msgid "After add to cart button"
626
  msgstr ""
627
 
628
+ #: ../includes/class-woo-variation-swatches-settings.php:712
629
  msgid "Swatches align"
630
  msgstr ""
631
 
632
+ #: ../includes/class-woo-variation-swatches-settings.php:713
633
  msgid "Swatches align on archive page"
634
  msgstr ""
635
 
636
+ #: ../includes/class-woo-variation-swatches-settings.php:718
637
  msgid "Left"
638
  msgstr ""
639
 
640
+ #: ../includes/class-woo-variation-swatches-settings.php:719
641
  msgid "Center"
642
  msgstr ""
643
 
644
+ #: ../includes/class-woo-variation-swatches-settings.php:720
645
  msgid "Right"
646
  msgstr ""
647
 
648
+ #: ../includes/class-woo-variation-swatches-settings.php:728
649
  msgid "Show on filter widget"
650
  msgstr ""
651
 
652
+ #: ../includes/class-woo-variation-swatches-settings.php:729
653
  msgid "Show variation swatches on filter widget."
654
  msgstr ""
655
 
656
+ #: ../includes/class-woo-variation-swatches-settings.php:750
657
  msgid "Catalog mode"
658
  msgstr ""
659
 
660
+ #: ../includes/class-woo-variation-swatches-settings.php:751
661
  msgid "Show single attribute as catalog mode on shop / archive pages. Catalog mode only change image based on selected variation."
662
  msgstr ""
663
 
664
+ #: ../includes/class-woo-variation-swatches-settings.php:757
665
  msgid "Show Single Attribute"
666
  msgstr ""
667
 
668
+ #: ../includes/class-woo-variation-swatches-settings.php:758
669
  msgid "Show Single Attribute taxonomies on archive page"
670
  msgstr ""
671
 
672
+ #: ../includes/class-woo-variation-swatches-settings.php:771
673
  msgid "Single Variation Image Preview"
674
  msgstr ""
675
 
676
+ #: ../includes/class-woo-variation-swatches-settings.php:772
677
  msgid "Switch variation image when single attribute selected on product page."
678
  msgstr ""
679
 
680
+ #: ../includes/class-woo-variation-swatches-settings.php:778
681
  msgid "Variation Image Preview"
682
  msgstr ""
683
 
684
+ #: ../includes/class-woo-variation-swatches-settings.php:779
685
  msgid "Show single attribute variation image based on first attribute select on product page."
686
  msgstr ""
687
 
688
+ #: ../includes/class-woo-variation-swatches-settings.php:793
689
  msgid "Large Size Attribute Section"
690
  msgstr ""
691
 
692
+ #: ../includes/class-woo-variation-swatches-settings.php:794
693
  msgid "Make a attribute taxonomies size large on single product"
694
  msgstr ""
695
 
696
+ #: ../includes/class-woo-variation-swatches-settings.php:800
697
  msgid "Show First Attribute In Large Size"
698
  msgstr ""
699
 
700
+ #: ../includes/class-woo-variation-swatches-settings.php:801
701
  msgid "Show Attribute taxonomies in large size"
702
  msgstr ""
703
 
713
  msgid "\"Variation Swatches for WooCommerce\" Plugin try to load \"%s\" but template \"%s\" was not found."
714
  msgstr ""
715
 
716
+ #: ../includes/html-product-settings-panel.php:58
717
+ msgid "With the premium version of <a target=\"_blank\" href=\"%s\">Variation Swatches for WooCommerce</a>, you can do:"
718
+ msgstr ""
719
+
720
+ #: ../includes/html-product-settings-panel.php:62
721
+ msgid "Individual Product Basis Attribute Variation Swatches Customization"
722
+ msgstr ""
723
+
724
+ #: ../includes/html-product-settings-panel.php:65, ../includes/html-product-settings-panel.php:73, ../includes/html-product-settings-panel.php:88, ../includes/html-product-settings-panel.php:95, ../includes/html-product-settings-panel.php:103, ../includes/html-product-settings-panel.php:110, ../includes/html-product-settings-panel.php:118, ../includes/html-product-settings-panel.php:125, ../includes/html-product-settings-panel.php:133, ../includes/html-product-settings-panel.php:141, ../includes/html-product-settings-panel.php:153, ../includes/html-product-settings-panel.php:167
725
+ msgid "Live Demo"
726
+ msgstr ""
727
+
728
+ #: ../includes/html-product-settings-panel.php:66, ../includes/html-product-settings-panel.php:74, ../includes/html-product-settings-panel.php:81, ../includes/html-product-settings-panel.php:89, ../includes/html-product-settings-panel.php:96, ../includes/html-product-settings-panel.php:104, ../includes/html-product-settings-panel.php:111, ../includes/html-product-settings-panel.php:119, ../includes/html-product-settings-panel.php:126, ../includes/html-product-settings-panel.php:134, ../includes/html-product-settings-panel.php:142, ../includes/html-product-settings-panel.php:154, ../includes/html-product-settings-panel.php:168
729
+ msgid "Video Tutorial"
730
+ msgstr ""
731
+
732
+ #: ../includes/html-product-settings-panel.php:71
733
+ msgid "Show Image, Color, Button Variation Swatches in Same Attribute"
734
+ msgstr ""
735
+
736
+ #: ../includes/html-product-settings-panel.php:79
737
+ msgid "Convert Manually Created Attribute Variations Into Color, Image, and Label Swatches"
738
+ msgstr ""
739
+
740
+ #: ../includes/html-product-settings-panel.php:86
741
+ msgid "Group based swatches display."
742
+ msgstr ""
743
+
744
+ #: ../includes/html-product-settings-panel.php:93
745
+ msgid "Convert attribute variations into radio button."
746
+ msgstr ""
747
+
748
+ #: ../includes/html-product-settings-panel.php:101
749
+ msgid "Show Entire Color, Image, Label And Radio Attributes Swatches In Catalog/ Category / Archive / Store/ Shop Pages"
750
+ msgstr ""
751
+
752
+ #: ../includes/html-product-settings-panel.php:108
753
+ msgid "Show Selected Single Color or Image Or Label Attribute Swatches In Catelog/ Category / Archive / Store / Shop Pages"
754
+ msgstr ""
755
+
756
+ #: ../includes/html-product-settings-panel.php:116
757
+ msgid "Change Variation Product Gallery After Selecting Single Attribute Like Amazon Or AliExpress"
758
+ msgstr ""
759
+
760
+ #: ../includes/html-product-settings-panel.php:123
761
+ msgid "Generate Selected Attribute Variation Link"
762
+ msgstr ""
763
+
764
+ #: ../includes/html-product-settings-panel.php:131
765
+ msgid "Option to Select ROUNDED and SQUARED Attribute Variation Swatches Shape In the Same Product."
766
+ msgstr ""
767
+
768
+ #: ../includes/html-product-settings-panel.php:139
769
+ msgid "Blur Or Hide Or Show Cross Sign For Out of Stock Variation Swatches (Unlimited Variations Without hiding out of stock item from catalog)"
770
+ msgstr ""
771
+
772
+ #: ../includes/html-product-settings-panel.php:145
773
+ msgid "Shop Page Swatches Size Control"
774
+ msgstr ""
775
+
776
+ #: ../includes/html-product-settings-panel.php:147, ../includes/html-product-settings-panel.php:161
777
+ msgid "Live Preview"
778
+ msgstr ""
779
+
780
+ #: ../includes/html-product-settings-panel.php:151
781
+ msgid "Make Selected Attribute Variation Swatches Size Larger Than Other Default Attribute Variations"
782
+ msgstr ""
783
+
784
+ #: ../includes/html-product-settings-panel.php:159
785
+ msgid "Show Custom Text in Variation Tooltip In Product and Shop Page"
786
+ msgstr ""
787
+
788
+ #: ../includes/html-product-settings-panel.php:165
789
+ msgid "Show Custom Image in Variation Swatches Tooltip In Product And Shop Page"
790
+ msgstr ""
791
+
792
+ #: ../includes/html-product-settings-panel.php:172
793
+ msgid "Archive page swatches positioning."
794
+ msgstr ""
795
+
796
+ #: ../includes/html-product-settings-panel.php:173
797
+ msgid "Archive page swatches alignment."
798
+ msgstr ""
799
+
800
+ #: ../includes/html-product-settings-panel.php:174
801
+ msgid "Tooltip display setting on archive/shop page."
802
+ msgstr ""
803
+
804
+ #: ../includes/html-product-settings-panel.php:175
805
+ msgid "Variation clear button display setting."
806
+ msgstr ""
807
+
808
+ #: ../includes/html-product-settings-panel.php:176
809
+ msgid "Customize tooltip text and background color."
810
+ msgstr ""
811
+
812
+ #: ../includes/html-product-settings-panel.php:177
813
+ msgid "Customize tooltip image and image size."
814
+ msgstr ""
815
+
816
+ #: ../includes/html-product-settings-panel.php:178
817
+ msgid "Customize font size, swatches height and width."
818
+ msgstr ""
819
+
820
+ #: ../includes/html-product-settings-panel.php:179
821
+ msgid "Customize swatches colors, background and border sizes."
822
+ msgstr ""
823
+
824
+ #: ../includes/html-product-settings-panel.php:180
825
+ msgid "Automatic updates and exclusive technical support."
826
+ msgstr ""
827
+
828
+ #: ../includes/html-product-settings-panel.php:183
829
+ msgid "Ok, I need this feature!"
830
+ msgstr ""
831
+
832
  #: ../includes/html-settings-group.php:5
833
  msgid "Swatches Group"
834
  msgstr ""
838
  msgstr ""
839
 
840
  #: ../includes/html-settings-group.php:14
841
+ msgid "Show me, How it works!"
842
+ msgstr ""
843
+
844
+ #: ../includes/html-settings-sidebar.php:8
845
+ msgid "Get started by spending some time with the"
846
+ msgstr ""
847
+
848
+ #: ../includes/html-settings-sidebar.php:9
849
+ msgid "documentation"
850
+ msgstr ""
851
+
852
+ #: ../includes/html-settings-sidebar.php:10
853
+ msgid "Check Official"
854
+ msgstr ""
855
+
856
+ #: ../includes/html-settings-sidebar.php:10
857
+ msgid "demo"
858
+ msgstr ""
859
+
860
+ #: ../includes/html-settings-sidebar.php:14
861
+ msgid "Facing issue?"
862
+ msgstr ""
863
+
864
+ #: ../includes/html-settings-sidebar.php:15
865
+ msgid "Stuck with something?"
866
+ msgstr ""
867
+
868
+ #: ../includes/html-settings-sidebar.php:15
869
+ msgid "Please open a ticket."
870
+ msgstr ""
871
+
872
+ #: ../includes/html-settings-sidebar.php:15
873
+ msgid "For emergency case join our live chat."
874
+ msgstr ""
875
+
876
+ #: ../includes/html-settings-sidebar.php:18
877
+ msgid "Love Our Plugin?"
878
+ msgstr ""
879
+
880
+ #: ../includes/html-settings-sidebar.php:20
881
+ msgid "Thank you for choosing"
882
+ msgstr ""
883
+
884
+ #: ../includes/html-settings-sidebar.php:21
885
+ msgid "Variation Swatches for WooCommerce"
886
+ msgstr ""
887
+
888
+ #: ../includes/html-settings-sidebar.php:22
889
+ msgid "If you have found our plugin useful and makes you smile,"
890
+ msgstr ""
891
+
892
+ #: ../includes/html-settings-sidebar.php:23
893
+ msgid "please consider giving us a 5-star rating."
894
+ msgstr ""
895
+
896
+ #: ../includes/html-settings-sidebar.php:23
897
+ msgid "It will help us to grow."
898
+ msgstr ""
899
+
900
+ #: ../includes/html-settings-tutorial.php:6
901
+ msgid "How to tutorials"
902
  msgstr ""
903
 
904
  #: ../includes/html-settings-tutorial.php:101, ../includes/html-settings-tutorial.php:137, ../includes/html-settings-tutorial.php:146, ../includes/html-settings-tutorial.php:183, ../includes/html-settings-tutorial.php:192, ../includes/html-settings-tutorial.php:229, ../includes/html-settings-tutorial.php:238, ../includes/html-settings-tutorial.php:275, ../includes/html-settings-tutorial.php:284, ../includes/html-settings-tutorial.php:321, ../includes/html-settings-tutorial.php:330, ../includes/html-settings-tutorial.php:368, ../includes/html-settings-tutorial.php:377, ../includes/html-settings-tutorial.php:440
905
  msgid "PRO"
906
  msgstr ""
907
 
908
+ #: ../includes/getwooplugins/class-getwooplugins-admin-menus.php:132, ../includes/getwooplugins/class-getwooplugins-plugin-deactivate-feedback.php:46
909
+ msgid "The changes you made will be lost if you navigate away from this page."
910
+ msgstr ""
911
+
912
+ #: ../includes/getwooplugins/class-getwooplugins-admin-menus.php:160, ../includes/getwooplugins/class-getwooplugins-admin-menus.php:189
913
+ msgid "GetWooPlugins Settings"
914
+ msgstr ""
915
+
916
+ #: ../includes/getwooplugins/class-getwooplugins-admin-menus.php:160
917
+ msgid "GetWooPlugins"
918
+ msgstr ""
919
+
920
+ #: ../includes/getwooplugins/class-getwooplugins-admin-menus.php:189
921
+ msgid "Home"
922
+ msgstr ""
923
+
924
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:65
925
+ msgid "Your settings have been saved."
926
+ msgstr ""
927
+
928
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:215
929
+ msgid "Check how this feature works"
930
+ msgstr ""
931
+
932
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:219
933
+ msgid "See how this feature works"
934
+ msgstr ""
935
+
936
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:633
937
+ msgid "Select a page&hellip;"
938
+ msgstr ""
939
+
940
+ #. translators: 1: page name 2: page ID
941
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:647
942
+ msgid "%1$s (ID: %2$s)"
943
+ msgstr ""
944
+
945
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:665
946
+ msgid "Search for a page&hellip;"
947
+ msgstr ""
948
+
949
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:699
950
+ msgid "Choose a country / region&hellip;"
951
+ msgstr ""
952
+
953
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:699, ../includes/getwooplugins/class-getwooplugins-admin-settings.php:725
954
+ msgid "Country / Region"
955
+ msgstr ""
956
+
957
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:725
958
+ msgid "Choose countries / regions&hellip;"
959
+ msgstr ""
960
+
961
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:742
962
+ msgid "Day(s)"
963
+ msgstr ""
964
+
965
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:743
966
+ msgid "Week(s)"
967
+ msgstr ""
968
+
969
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:744
970
+ msgid "Month(s)"
971
+ msgstr ""
972
+
973
+ #: ../includes/getwooplugins/class-getwooplugins-admin-settings.php:745
974
+ msgid "Year(s)"
975
+ msgstr ""
976
+
977
+ #: ../includes/getwooplugins/html/deactive-feedback-dialog.php:16
978
+ msgid "QUICK FEEDBACK"
979
+ msgstr ""
980
+
981
+ #: ../includes/getwooplugins/html/deactive-feedback-dialog.php:18, ../includes/getwooplugins/html/dialog.php:20
982
+ msgid "Close modal panel"
983
+ msgstr ""
984
+
985
+ #: ../includes/getwooplugins/html/deactive-feedback-dialog.php:24
986
+ msgid "May we have a little info about why you are deactivating?"
987
+ msgstr ""
988
+
989
+ #: ../includes/getwooplugins/html/deactive-feedback-dialog.php:50, ../includes/getwooplugins/html/deactive-feedback-dialog.php:50
990
+ msgid "Send feedback &amp; Deactivate"
991
+ msgstr ""
992
+
993
+ #: ../includes/getwooplugins/html/deactive-feedback-dialog.php:50
994
+ msgid "Deactivating..."
995
+ msgstr ""
996
+
997
+ #: ../includes/getwooplugins/html/deactive-feedback-dialog.php:54
998
+ msgid "Skip &amp; Deactivate"
999
+ msgstr ""
1000
+
1001
+ #: ../includes/getwooplugins/html/settings-page.php:99, ../includes/getwooplugins/html/settings-page.php:99
1002
+ msgid "Save changes"
1003
+ msgstr ""
1004
+
1005
+ #: ../includes/getwooplugins/html/settings-page.php:100
1006
+ msgid "Are you sure to reset?"
1007
+ msgstr ""
1008
+
1009
+ #: ../includes/getwooplugins/html/settings-page.php:100
1010
+ msgid "Reset all"
1011
+ msgstr ""
1012
+
1013
  #: ../woo-variation-swatches.php:37
1014
  msgid "WooCommerce"
1015
  msgstr ""
woo-variation-swatches.php CHANGED
@@ -4,13 +4,13 @@
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 5.6+
6
  * Author: Emran Ahmed
7
- * Version: 2.0.6
8
  * Domain Path: /languages
9
  * Requires PHP: 7.0
10
  * Requires at least: 5.6
11
  * WC requires at least: 5.6
12
  * Tested up to: 6.0
13
- * WC tested up to: 6.7
14
  * Text Domain: woo-variation-swatches
15
  * Author URI: https://getwooplugins.com/
16
  */
@@ -18,7 +18,7 @@
18
  defined( 'ABSPATH' ) or die( 'Keep Silent' );
19
 
20
  if ( ! defined( 'WOO_VARIATION_SWATCHES_PLUGIN_VERSION' ) ) {
21
- define( 'WOO_VARIATION_SWATCHES_PLUGIN_VERSION', '2.0.6' );
22
  }
23
 
24
  if ( ! defined( 'WOO_VARIATION_SWATCHES_PLUGIN_FILE' ) ) {
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 5.6+
6
  * Author: Emran Ahmed
7
+ * Version: 2.0.7
8
  * Domain Path: /languages
9
  * Requires PHP: 7.0
10
  * Requires at least: 5.6
11
  * WC requires at least: 5.6
12
  * Tested up to: 6.0
13
+ * WC tested up to: 6.8
14
  * Text Domain: woo-variation-swatches
15
  * Author URI: https://getwooplugins.com/
16
  */
18
  defined( 'ABSPATH' ) or die( 'Keep Silent' );
19
 
20
  if ( ! defined( 'WOO_VARIATION_SWATCHES_PLUGIN_VERSION' ) ) {
21
+ define( 'WOO_VARIATION_SWATCHES_PLUGIN_VERSION', '2.0.7' );
22
  }
23
 
24
  if ( ! defined( 'WOO_VARIATION_SWATCHES_PLUGIN_FILE' ) ) {