YITH Essential Kit for WooCommerce #1 - Version 2.0.3

Version Description

  • Update: YITH Plugin Framework
  • Update: Removed YITH EU Vat module (no longer supported, it still works if you have it installed)
  • Update: Plugin activation checks for YITH WooCommercer Request a Quote module
Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH Essential Kit for WooCommerce #1
Version 2.0.3
Comparing to
See all releases

Code changes from version 2.0.2 to 2.0.3

Files changed (37) hide show
  1. README.txt +7 -6
  2. init.php +2 -2
  3. modules.php +1 -9
  4. plugin-fw/assets/css/admin.css +8 -1
  5. plugin-fw/assets/css/metaboxes.css +19 -3
  6. plugin-fw/assets/css/yit-plugin-panel.css +4 -3
  7. plugin-fw/assets/images/yith-icon.svg +1 -0
  8. plugin-fw/assets/js/javascript-md5/md5.min.js +2 -0
  9. plugin-fw/assets/js/multisite-updater.js +6 -2
  10. plugin-fw/assets/js/multisite-updater.min.js +4 -7
  11. plugin-fw/assets/js/yith-gutenberg.js +210 -0
  12. plugin-fw/assets/js/yith-gutenberg.min.js +6 -0
  13. plugin-fw/init.php +2 -2
  14. plugin-fw/languages/yith-plugin-fw-es_ES.mo +0 -0
  15. plugin-fw/languages/yith-plugin-fw-es_ES.po +291 -219
  16. plugin-fw/languages/yith-plugin-fw-it_IT.mo +0 -0
  17. plugin-fw/languages/yith-plugin-fw-it_IT.po +221 -101
  18. plugin-fw/languages/yith-plugin-fw.pot +189 -95
  19. plugin-fw/lib/promo/yith-promo.php +167 -120
  20. plugin-fw/lib/yit-icons.php +4 -2
  21. plugin-fw/lib/yit-plugin-panel-wc.php +7 -2
  22. plugin-fw/lib/yit-plugin-panel.php +7 -3
  23. plugin-fw/lib/yit-plugin-subpanel.php +1 -1
  24. plugin-fw/lib/yit-upgrade.php +67 -42
  25. plugin-fw/lib/yith-dashboard.php +74 -0
  26. plugin-fw/lib/yith-gutenberg.php +333 -0
  27. plugin-fw/licence/assets/css/yit-licence.css +22 -2
  28. plugin-fw/licence/assets/js/yit-licence.js +30 -15
  29. plugin-fw/licence/assets/js/yit-licence.min.js +1 -10
  30. plugin-fw/licence/lib/yit-licence.php +122 -51
  31. plugin-fw/licence/lib/yit-plugin-licence.php +24 -13
  32. plugin-fw/licence/templates/panel/activation/activation-panel.php +10 -5
  33. plugin-fw/templates/fields/textarea-editor.php +2 -2
  34. plugin-fw/templates/metaboxes/tab.php +7 -7
  35. plugin-fw/templates/panel/woocommerce/woocommerce-option-row.php +4 -1
  36. plugin-fw/yit-functions.php +83 -5
  37. plugin-fw/yit-plugin.php +7 -1
README.txt CHANGED
@@ -3,8 +3,8 @@
3
  Contributors: yithemes
4
  Tags: woocommerce,yith woocommerce colors and labels variations,yith woocommerce zoom magnifier,yith woocommerce wishlist,yith woocommerce ajax product filter,yith woocommerce ajax search,yith woocommerce catalog mode,yith woocommerce advanced reviews, yith woocommerce badges management,yith woocommerce cart messages,yith woocommerce review reminder,yith woocommerce quick view,yith woocommerce mailchimp,yith woocommerce stripe,yith woocommerce request a quote,yith woocommerce tab manager,yith woocommerce multi vendor
5
  Requires at least: 3.5.1
6
- Tested up to: 4.9
7
- Stable tag: 2.0.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -86,9 +86,6 @@ Products<br />
86
  * [YITH WooCommerce Order Tracking](https://wordpress.org/plugins/yith-woocommerce-order-tracking)
87
  <br />Add an easy tool to manage order shipping information of your WooCommerce shop and to notified your customers about the shipping.
88
 
89
- * [YITH WooCommerce EU VAT](https://wordpress.org/plugins/yith-woocommerce-eu-vat)
90
- <br />Manage correctly your European customers with their own tax laws about digital goods. It requires WooCommerce to work.
91
-
92
  Multi store and live chat<br />
93
 
94
  * [YITH WooCommerce Multi Vendor](https://wordpress.org/plugins/yith-woocommerce-product-vendors)
@@ -130,7 +127,6 @@ Multi store and live chat<br />
130
  20. YITH WooCommerce Tab Manager plugin let you add custom tabs in single product page
131
  21. YITH WooCommerce Mailchimp integrate MailChimp into your e-commerce shop to manage users' subscription directly from your store. WooCommerce 2.3.x compatible.
132
  22. YITH WooCommerce Waiting List enables registered users to request an email notification when an out-of-stock product comes back into stock.
133
- 23. YITH WooCommerce EU VAT manage correctly your European customers with their own tax laws about digital goods.
134
  24. YITH WooCommerce Product Add-Ons in "Single Product" page
135
 
136
  == Frequently Asked Questions ==
@@ -155,6 +151,11 @@ YITH Essential Kit for WooCommerce #1 will add a new submenu called "YITH Essent
155
 
156
  == Changelog ==
157
 
 
 
 
 
 
158
  = 2.0.2 =
159
  * Update: YITH Plugin Framework
160
  * Update: Language .pot file
3
  Contributors: yithemes
4
  Tags: woocommerce,yith woocommerce colors and labels variations,yith woocommerce zoom magnifier,yith woocommerce wishlist,yith woocommerce ajax product filter,yith woocommerce ajax search,yith woocommerce catalog mode,yith woocommerce advanced reviews, yith woocommerce badges management,yith woocommerce cart messages,yith woocommerce review reminder,yith woocommerce quick view,yith woocommerce mailchimp,yith woocommerce stripe,yith woocommerce request a quote,yith woocommerce tab manager,yith woocommerce multi vendor
5
  Requires at least: 3.5.1
6
+ Tested up to: 5.1
7
+ Stable tag: 2.0.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
86
  * [YITH WooCommerce Order Tracking](https://wordpress.org/plugins/yith-woocommerce-order-tracking)
87
  <br />Add an easy tool to manage order shipping information of your WooCommerce shop and to notified your customers about the shipping.
88
 
 
 
 
89
  Multi store and live chat<br />
90
 
91
  * [YITH WooCommerce Multi Vendor](https://wordpress.org/plugins/yith-woocommerce-product-vendors)
127
  20. YITH WooCommerce Tab Manager plugin let you add custom tabs in single product page
128
  21. YITH WooCommerce Mailchimp integrate MailChimp into your e-commerce shop to manage users' subscription directly from your store. WooCommerce 2.3.x compatible.
129
  22. YITH WooCommerce Waiting List enables registered users to request an email notification when an out-of-stock product comes back into stock.
 
130
  24. YITH WooCommerce Product Add-Ons in "Single Product" page
131
 
132
  == Frequently Asked Questions ==
151
 
152
  == Changelog ==
153
 
154
+ = 2.0.3 =
155
+ * Update: YITH Plugin Framework
156
+ * Update: Removed YITH EU Vat module (no longer supported, it still works if you have it installed)
157
+ * Update: Plugin activation checks for YITH WooCommercer Request a Quote module
158
+
159
  = 2.0.2 =
160
  * Update: YITH Plugin Framework
161
  * Update: Language .pot file
init.php CHANGED
@@ -7,12 +7,12 @@
7
  * Domain Path: /languages/
8
  * Author: YITH
9
  * Author URI: https://yithemes.com/
10
- * Version: 2.0.2
11
  * WC requires at least: 2.5.0
12
  * WC tested up to: 3.5
13
  * @author YITHEMES
14
  * @package YITH Essential Kit for Woocommerce #1
15
- * @version 2.0.2
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
7
  * Domain Path: /languages/
8
  * Author: YITH
9
  * Author URI: https://yithemes.com/
10
+ * Version: 2.0.3
11
  * WC requires at least: 2.5.0
12
  * WC tested up to: 3.5
13
  * @author YITHEMES
14
  * @package YITH Essential Kit for Woocommerce #1
15
+ * @version 2.0.3
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
modules.php CHANGED
@@ -22,7 +22,6 @@ $plugins = array(
22
  'slug' => 'yith-woocommerce-cart-messages',
23
  'free' => 'YITH_YWCM_FREE_INIT',
24
  'premium' => 'YITH_YWCM_INIT',
25
- 'init' => 'yith-cart-messages.php',
26
  'required' => false,
27
  ),
28
  'yith-woocommerce-ajax-navigation' => array(
@@ -44,7 +43,7 @@ $plugins = array(
44
  'name' => 'YITH WooCommerce Request a Quote',
45
  'slug' => 'yith-woocommerce-request-a-quote',
46
  'free' => 'YITH_YWRAQ_FREE_INIT',
47
- 'premium' => 'YITH_YWRAQ_INIT',
48
  'init' => 'yith-woocommerce-request-a-quote.php',
49
  'required' => false,
50
  'recommended' => true
@@ -106,13 +105,6 @@ $plugins = array(
106
  'premium' => 'YLC_INIT',
107
  'required' => false,
108
  ),
109
- 'yith-woocommerce-eu-vat' => array(
110
- 'name' => 'YITH WooCommerce EU VAT',
111
- 'slug' => 'yith-woocommerce-eu-vat',
112
- 'free' => 'YITH_YWEV_FREE_INIT',
113
- 'premium' => 'YITH_YWEV_PREMIUM',
114
- 'required' => false,
115
- ),
116
  'yith-woocommerce-mailchimp' => array(
117
  'name' => 'YITH WooCommerce Mailchimp',
118
  'slug' => 'yith-woocommerce-mailchimp',
22
  'slug' => 'yith-woocommerce-cart-messages',
23
  'free' => 'YITH_YWCM_FREE_INIT',
24
  'premium' => 'YITH_YWCM_INIT',
 
25
  'required' => false,
26
  ),
27
  'yith-woocommerce-ajax-navigation' => array(
43
  'name' => 'YITH WooCommerce Request a Quote',
44
  'slug' => 'yith-woocommerce-request-a-quote',
45
  'free' => 'YITH_YWRAQ_FREE_INIT',
46
+ 'premium' => 'YITH_YWRAQ_PREMIUM',
47
  'init' => 'yith-woocommerce-request-a-quote.php',
48
  'required' => false,
49
  'recommended' => true
105
  'premium' => 'YLC_INIT',
106
  'required' => false,
107
  ),
 
 
 
 
 
 
 
108
  'yith-woocommerce-mailchimp' => array(
109
  'name' => 'YITH WooCommerce Mailchimp',
110
  'slug' => 'yith-woocommerce-mailchimp',
plugin-fw/assets/css/admin.css CHANGED
@@ -34,6 +34,7 @@
34
  }
35
 
36
  .notice-yith{
 
37
  border-left-color: #acc327;
38
  }
39
 
@@ -41,9 +42,15 @@
41
  background-color: #ecf7ed;
42
  }
43
 
 
 
 
 
 
44
  .yith-promo-banner-image{
45
  max-width: 100%;
46
- padding-bottom: 15px;
 
47
  }
48
 
49
  /*-----------------------
34
  }
35
 
36
  .notice-yith{
37
+ margin-left: 0;
38
  border-left-color: #acc327;
39
  }
40
 
42
  background-color: #ecf7ed;
43
  }
44
 
45
+ .yith-promo-banner-image-link{
46
+ display: block;
47
+ margin-bottom: 15px;
48
+ }
49
+
50
  .yith-promo-banner-image{
51
  max-width: 100%;
52
+ margin: 0 auto;
53
+ display: block;
54
  }
55
 
56
  /*-----------------------
plugin-fw/assets/css/metaboxes.css CHANGED
@@ -631,7 +631,23 @@
631
  float : right;
632
  margin-right : 20px;
633
  margin-top : 5px;
634
- z-index: 9999 !important;
635
- position: absolute;
636
- right: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
637
  }
631
  float : right;
632
  margin-right : 20px;
633
  margin-top : 5px;
634
+ z-index : 9999 !important;
635
+ position : absolute;
636
+ right : 0;
637
+ }
638
+
639
+ /*-----------------------
640
+ * Colorpicker - fix issues in combination with third-party themes or plugin (Basel, VC Addons, ...)
641
+ */
642
+ .metaboxes-tab .the-metabox.colorpicker {
643
+ display : block;
644
+ width : auto;
645
+ height : auto;
646
+ overflow : visible;
647
+ top : auto;
648
+ left : auto;
649
+ background : transparent;
650
+ position : static;
651
+ z-index : 1;
652
+ font-family : inherit;
653
  }
plugin-fw/assets/css/yit-plugin-panel.css CHANGED
@@ -7,7 +7,7 @@
7
  * http://www.gnu.org/licenses/gpl-3.0.txt
8
  */
9
  .plugin-option tr {
10
- border-bottom : 1px solid #ccc;
11
  }
12
 
13
  .plugin-option .yit_options,
@@ -18,11 +18,10 @@
18
  .plugin-option .yit-options .option,
19
  .plugin-option .yit_options .option {
20
  width : 600px;
21
- float : left;
22
  }
23
 
24
  .plugin-option .form-table > tbody > tr > td {
25
- padding : 25px 10px;
26
  }
27
 
28
  .ie8 .yit_options select,
@@ -410,6 +409,7 @@
410
 
411
  #wpwrap h2.nav-tab-wrapper, #wpbody-content h2.nav-tab-wrapper {
412
  border-bottom : 1px solid #ccc;
 
413
  }
414
 
415
  /* === YIT FRAMEWORK === */
@@ -422,6 +422,7 @@
422
  /* === Panel Content and Container === */
423
  .yit-admin-panel-container {
424
  position : relative;
 
425
  }
426
 
427
  .yit-admin-panel-content-wrap {
7
  * http://www.gnu.org/licenses/gpl-3.0.txt
8
  */
9
  .plugin-option tr {
10
+ border-bottom : 1px solid #ebebeb;
11
  }
12
 
13
  .plugin-option .yit_options,
18
  .plugin-option .yit-options .option,
19
  .plugin-option .yit_options .option {
20
  width : 600px;
 
21
  }
22
 
23
  .plugin-option .form-table > tbody > tr > td {
24
+ padding : 25px 15px;
25
  }
26
 
27
  .ie8 .yit_options select,
409
 
410
  #wpwrap h2.nav-tab-wrapper, #wpbody-content h2.nav-tab-wrapper {
411
  border-bottom : 1px solid #ccc;
412
+ margin-right: 15px;
413
  }
414
 
415
  /* === YIT FRAMEWORK === */
422
  /* === Panel Content and Container === */
423
  .yit-admin-panel-container {
424
  position : relative;
425
+ margin-right: 15px;
426
  }
427
 
428
  .yit-admin-panel-content-wrap {
plugin-fw/assets/images/yith-icon.svg ADDED
@@ -0,0 +1 @@
 
1
+ <?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 20.5 20.479" width="20.5" height="20.479"><defs><clipPath id="_clipPath_BBRuGaomYLKjPKjOOHpnNdPxBnLPFPyk"><rect width="20.5" height="20.479"/></clipPath></defs><g clip-path="url(#_clipPath_BBRuGaomYLKjPKjOOHpnNdPxBnLPFPyk)"><g><path d=" M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z " fill="rgb(255,255,255)"/></g></g></svg>
plugin-fw/assets/js/javascript-md5/md5.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ !function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<<t|n>>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<<r%32,n[14+(r+64>>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e<n.length;e+=16)i=l,a=g,d=v,h=m,g=f(g=f(g=f(g=f(g=c(g=c(g=c(g=c(g=u(g=u(g=u(g=u(g=o(g=o(g=o(g=o(g,v=o(v,m=o(m,l=o(l,g,v,m,n[e],7,-680876936),g,v,n[e+1],12,-389564586),l,g,n[e+2],17,606105819),m,l,n[e+3],22,-1044525330),v=o(v,m=o(m,l=o(l,g,v,m,n[e+4],7,-176418897),g,v,n[e+5],12,1200080426),l,g,n[e+6],17,-1473231341),m,l,n[e+7],22,-45705983),v=o(v,m=o(m,l=o(l,g,v,m,n[e+8],7,1770035416),g,v,n[e+9],12,-1958414417),l,g,n[e+10],17,-42063),m,l,n[e+11],22,-1990404162),v=o(v,m=o(m,l=o(l,g,v,m,n[e+12],7,1804603682),g,v,n[e+13],12,-40341101),l,g,n[e+14],17,-1502002290),m,l,n[e+15],22,1236535329),v=u(v,m=u(m,l=u(l,g,v,m,n[e+1],5,-165796510),g,v,n[e+6],9,-1069501632),l,g,n[e+11],14,643717713),m,l,n[e],20,-373897302),v=u(v,m=u(m,l=u(l,g,v,m,n[e+5],5,-701558691),g,v,n[e+10],9,38016083),l,g,n[e+15],14,-660478335),m,l,n[e+4],20,-405537848),v=u(v,m=u(m,l=u(l,g,v,m,n[e+9],5,568446438),g,v,n[e+14],9,-1019803690),l,g,n[e+3],14,-187363961),m,l,n[e+8],20,1163531501),v=u(v,m=u(m,l=u(l,g,v,m,n[e+13],5,-1444681467),g,v,n[e+2],9,-51403784),l,g,n[e+7],14,1735328473),m,l,n[e+12],20,-1926607734),v=c(v,m=c(m,l=c(l,g,v,m,n[e+5],4,-378558),g,v,n[e+8],11,-2022574463),l,g,n[e+11],16,1839030562),m,l,n[e+14],23,-35309556),v=c(v,m=c(m,l=c(l,g,v,m,n[e+1],4,-1530992060),g,v,n[e+4],11,1272893353),l,g,n[e+7],16,-155497632),m,l,n[e+10],23,-1094730640),v=c(v,m=c(m,l=c(l,g,v,m,n[e+13],4,681279174),g,v,n[e],11,-358537222),l,g,n[e+3],16,-722521979),m,l,n[e+6],23,76029189),v=c(v,m=c(m,l=c(l,g,v,m,n[e+9],4,-640364487),g,v,n[e+12],11,-421815835),l,g,n[e+15],16,530742520),m,l,n[e+2],23,-995338651),v=f(v,m=f(m,l=f(l,g,v,m,n[e],6,-198630844),g,v,n[e+7],10,1126891415),l,g,n[e+14],15,-1416354905),m,l,n[e+5],21,-57434055),v=f(v,m=f(m,l=f(l,g,v,m,n[e+12],6,1700485571),g,v,n[e+3],10,-1894986606),l,g,n[e+10],15,-1051523),m,l,n[e+1],21,-2054922799),v=f(v,m=f(m,l=f(l,g,v,m,n[e+8],6,1873313359),g,v,n[e+15],10,-30611744),l,g,n[e+6],15,-1560198380),m,l,n[e+13],21,1309151649),v=f(v,m=f(m,l=f(l,g,v,m,n[e+4],6,-145523070),g,v,n[e+11],10,-1120210379),l,g,n[e+2],15,718787259),m,l,n[e+9],21,-343485551),l=t(l,i),g=t(g,a),v=t(v,d),m=t(m,h);return[l,g,v,m]}function a(n){var t,r="",e=32*n.length;for(t=0;t<e;t+=8)r+=String.fromCharCode(n[t>>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t<r.length;t+=1)r[t]=0;var e=8*n.length;for(t=0;t<e;t+=8)r[t>>5]|=(255&n.charCodeAt(t/8))<<t%32;return r}function h(n){return a(i(d(n),8*n.length))}function l(n,t){var r,e,o=d(n),u=[],c=[];for(u[15]=c[15]=void 0,o.length>16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r<n.length;r+=1)t=n.charCodeAt(r),e+="0123456789abcdef".charAt(t>>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}"function"==typeof define&&define.amd?define(function(){return A}):"object"==typeof module&&module.exports?module.exports=A:n.md5=A}(this);
2
+ //# sourceMappingURL=md5.min.js.map
plugin-fw/assets/js/multisite-updater.js CHANGED
@@ -43,7 +43,7 @@
43
  var plugin = registered[ init ];
44
  for ( var headers in plugin ) {
45
 
46
- if ( headers == 'slug' || version_compare( plugin[ headers ].Version, plugin[ headers ].Latest, '>=' ) ) {
47
  continue;
48
  }
49
 
@@ -60,7 +60,7 @@
60
 
61
  var html = '<tr class="plugin-update-tr">' +
62
  '<td colspan="3" class="plugin-update colspanchange">' +
63
- '<div class="update-message">' + localize.strings.new_version.replace( '%plugin_name%', name ) +
64
  '<a class="thickbox open-plugin-details-modal" href="' + localize.details_url[ init ] + '">' + localize.strings.latest.replace( '%latest%', plugin[ headers ].Latest ) + '</a>';
65
 
66
  if ( typeof activated[ init ] == "undefined" ) {
@@ -73,6 +73,10 @@
73
  '. <a href="' + localize.update_url[ init ] + '">' + localize.strings.update_now + '</a>';
74
  }
75
 
 
 
 
 
76
  html = html +
77
  '</div>' +
78
  '</td>' +
43
  var plugin = registered[ init ];
44
  for ( var headers in plugin ) {
45
 
46
+ if ( headers == 'slug' || version_compare( plugin[ headers ].Version, plugin[ headers ].Latest, '=' ) ) {
47
  continue;
48
  }
49
 
60
 
61
  var html = '<tr class="plugin-update-tr">' +
62
  '<td colspan="3" class="plugin-update colspanchange">' +
63
+ '<div class="update-message notice inline notice-warning notice-alt">' + localize.strings.new_version.replace( '%plugin_name%', name ) +
64
  '<a class="thickbox open-plugin-details-modal" href="' + localize.details_url[ init ] + '">' + localize.strings.latest.replace( '%latest%', plugin[ headers ].Latest ) + '</a>';
65
 
66
  if ( typeof activated[ init ] == "undefined" ) {
73
  '. <a href="' + localize.update_url[ init ] + '">' + localize.strings.update_now + '</a>';
74
  }
75
 
76
+ if( version_compare( plugin[ headers ].Version, plugin[ headers ].Latest, '>' ) ){
77
+ html = html + localize.strings.version_issue
78
+ }
79
+
80
  html = html +
81
  '</div>' +
82
  '</td>' +
plugin-fw/assets/js/multisite-updater.min.js CHANGED
@@ -1,7 +1,4 @@
1
- var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,f,b){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var h=a[e];if(f.call(b,h,e,a))return{i:e,v:h}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,f,b){a!=Array.prototype&&a!=Object.prototype&&(a[f]=b.value)};
2
- $jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,f,b,d){if(f){b=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in b||(b[e]={});b=b[e]}a=a[a.length-1];d=b[a];f=f(d);f!=d&&null!=f&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:f})}};
3
- $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
4
- (function(a){function f(a,b,d){this.php_js=this.php_js||{};this.php_js.ENV=this.php_js.ENV||{};var c=0,f=0,g=0,e={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1};c=function(a){a=(""+a).replace(/[_\-+]/g,".");a=a.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,".");return a.length?a.split("."):[-8]};numVersion=function(a){return a?isNaN(a)?e[a]||-7:parseInt(a,10):0};a=c(a);b=c(b);f=Math.max(a.length,b.length);for(c=0;c<f;c++)if(a[c]!=b[c])if(a[c]=numVersion(a[c]),b[c]=numVersion(b[c]),
5
- a[c]<b[c]){g=-1;break}else if(a[c]>b[c]){g=1;break}if(!d)return g;switch(d){case ">":case "gt":return 0<g;case ">=":case "ge":return 0<=g;case "<=":case "le":return 0>=g;case "==":case "=":case "eq":return 0===g;case "<>":case "!=":case "ne":return 0!==g;case "":case "<":case "lt":return 0>g;default:return null}}var b=a("#menu-plugins"),d=b.find(".update-plugins").find(".update-count").text(),e=plugins.registered,h=plugins.activated;if(0==d||""==d)d=0,b.find(".wp-menu-name").append('<span class="update-plugins"><span class="plugin-count"></span></span>');
6
- (function(b,d,e,c){for(var h in b){var g=b[h],k;for(k in g)if("slug"!=k&&!f(g[k].Version,g[k].Latest,">=")){e=parseInt(e)+1;a(".plugin-count").empty().html(e);var m=""+g[k].Name,n='*[data-slug="'+m.replace(/ /g,"-").trim().toLowerCase()+'"]';a(n).addClass("update");var l='<tr class="plugin-update-tr"><td colspan="3" class="plugin-update colspanchange"><div class="update-message">'+c.strings.new_version.replace("%plugin_name%",m)+'<a class="thickbox open-plugin-details-modal" href="'+c.details_url[h]+
7
- '">'+c.strings.latest.replace("%latest%",g[k].Latest)+"</a>";l="undefined"==typeof d[h]?l+" <em>"+c.strings.unavailable+"</em>"+c.strings.activate.replace("%activate_link%",c.licence_activation_url).replace("%plugin_name%",m):l+'. <a href="'+c.update_url[h]+'">'+c.strings.update_now+"</a>";l+="</div></td></tr>";a(l).insertAfter(n)}}})(e,h,d,plugins);a("body").on("click",".yit-changelog-button",function(){a("#TB_window").remove()})})(jQuery);
1
+ (function(f){function n(c,d,f){this.php_js=this.php_js||{};this.php_js.ENV=this.php_js.ENV||{};var a=0,h=0,b=0,e={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1};a=function(a){a=(""+a).replace(/[_\-+]/g,".");a=a.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,".");return a.length?a.split("."):[-8]};numVersion=function(a){return a?isNaN(a)?e[a]||-7:parseInt(a,10):0};c=a(c);d=a(d);h=Math.max(c.length,d.length);for(a=0;a<h;a++)if(c[a]!=d[a])if(c[a]=numVersion(c[a]),d[a]=numVersion(d[a]),
2
+ c[a]<d[a]){b=-1;break}else if(c[a]>d[a]){b=1;break}if(!f)return b;switch(f){case ">":case "gt":return 0<b;case ">=":case "ge":return 0<=b;case "<=":case "le":return 0>=b;case "==":case "=":case "eq":return 0===b;case "<>":case "!=":case "ne":return 0!==b;case "":case "<":case "lt":return 0>b;default:return null}}var l=f("#menu-plugins"),g=l.find(".update-plugins").find(".update-count").text(),p=plugins.registered,q=plugins.activated;if(0==g||""==g)g=0,l.find(".wp-menu-name").append('<span class="update-plugins"><span class="plugin-count"></span></span>');
3
+ (function(c,d,g,a){for(var h in c){var b=c[h],e;for(e in b)if("slug"!=e&&!n(b[e].Version,b[e].Latest,"=")){g=parseInt(g)+1;f(".plugin-count").empty().html(g);var m=""+b[e].Name,l='*[data-slug="'+m.replace(RegExp(" ","g"),"-").trim().toLowerCase()+'"]';f(l).addClass("update");var k='<tr class="plugin-update-tr"><td colspan="3" class="plugin-update colspanchange"><div class="update-message notice inline notice-warning notice-alt">'+a.strings.new_version.replace("%plugin_name%",m)+'<a class="thickbox open-plugin-details-modal" href="'+
4
+ a.details_url[h]+'">'+a.strings.latest.replace("%latest%",b[e].Latest)+"</a>";k="undefined"==typeof d[h]?k+" <em>"+a.strings.unavailable+"</em>"+a.strings.activate.replace("%activate_link%",a.licence_activation_url).replace("%plugin_name%",m):k+'. <a href="'+a.update_url[h]+'">'+a.strings.update_now+"</a>";n(b[e].Version,b[e].Latest,">")&&(k+=a.strings.version_issue);k+="</div></td></tr>";f(k).insertAfter(l)}}})(p,q,g,plugins);f("body").on("click",".yit-changelog-button",function(){f("#TB_window").remove()})})(jQuery);
 
 
 
plugin-fw/assets/js/yith-gutenberg.js ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+ // Get registerBlockType() from wp.blocks in the global scope
3
+ var __ = wp.i18n.__,
4
+ el = wp.element.createElement,
5
+ Fragment = wp.element.Fragment,
6
+ registerBlockType = wp.blocks.registerBlockType,
7
+ RichText = wp.editor.RichText,
8
+ BlockControls = wp.editor.BlockControls,
9
+ InspectorControls = wp.editor.InspectorControls,
10
+ AlignmentToolbar = wp.editor.AlignmentToolbar,
11
+ Components = wp.components,
12
+ RawHTML = wp.element.RawHTML,
13
+ SelectControl = wp.components.SelectControl,
14
+ ToggleControl = wp.components.ToggleControl,
15
+ CheckboxControl = wp.components.CheckboxControl,
16
+ RangeControl = wp.components.RangeControl,
17
+ ColorPicker = wp.components.ColorPicker,
18
+ RadioControl = wp.components.RadioControl,
19
+ TextControl = wp.components.TextControl,
20
+ TextareaControl = wp.components.TextareaControl;
21
+
22
+ const yith_icon = el('svg', {width: 22, height: 22},
23
+ el('path', {d: "M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z"})
24
+ );
25
+
26
+ function create_shortcode(sc_args, props, callback) {
27
+ var gt_block = '',
28
+ gutenberg_preview = '';
29
+
30
+ if (typeof props.callback != 'undefined' && typeof $[props.callback] == 'function') {
31
+ gt_block = $[props.callback](sc_args, props);
32
+ }
33
+
34
+ else {
35
+ var sc_name = props.shortcode_name,
36
+ sc = '[' + sc_name,
37
+ do_shortcode = null;
38
+
39
+
40
+ $.each(sc_args.attributes, function ($v, $k) {
41
+ if ($v != 'className') {
42
+ sc += ' ' + $v + '=';
43
+ var arg = props.attributes[$v],
44
+ remove_quotes = arg.remove_quotes;
45
+
46
+ if( remove_quotes == true ){
47
+ sc += $k;
48
+ }
49
+
50
+ else {
51
+ sc += '"' + $k + '"';
52
+ }
53
+ }
54
+ });
55
+
56
+ sc += ']';
57
+
58
+ var block_id = md5(sc);
59
+
60
+ gutenberg_preview = '<span class="yith_block_' + block_id + '">' + sc + '</span>';
61
+
62
+ if (callback == 'edit' && props.do_shortcode != false) {
63
+ do_shortcode = (function (block_id) {
64
+ var ajax_call_date = null;
65
+ $(document).trigger( 'yith_plugin_fw_gutenberg_before_do_shortcode', [sc, block_id] );
66
+ $.ajax({
67
+ async: true,
68
+ url: yith_gutenberg_ajax.ajaxurl,
69
+ method: 'post',
70
+ data: {action: 'yith_plugin_fw_gutenberg_do_shortcode', shortcode: sc},
71
+ success: function (data) {
72
+ ajax_call_date = data;
73
+ if (ajax_call_date != '') {
74
+ $('.yith_block_' + block_id).html(ajax_call_date);
75
+ $(document).trigger( 'yith_plugin_fw_gutenberg_success_do_shortcode', [sc, block_id, ajax_call_date] );
76
+ }
77
+ }
78
+ });
79
+ $(document).trigger( 'yith_plugin_fw_gutenberg_after_do_shortcode', [sc, block_id, ajax_call_date] );
80
+ return ajax_call_date;
81
+ })(block_id);
82
+ }
83
+
84
+ gt_block = el(RawHTML, null, gutenberg_preview);
85
+ }
86
+
87
+ return gt_block;
88
+ }
89
+
90
+ function onChangeEvent(new_value, attribute_name, args, block_type) {
91
+ var attributes = {};
92
+
93
+ if (block_type == 'colorpicker' || block_type == 'color') {
94
+ new_value = new_value.hex;
95
+ }
96
+
97
+ attributes[attribute_name] = new_value;
98
+ args.setAttributes(attributes);
99
+ return args;
100
+ }
101
+
102
+ $.each(yith_gutenberg, function ($block, $props) {
103
+ registerBlockType("yith/" + $block, {
104
+ title: $props.title,
105
+ description: $props.description,
106
+ category: $props.category,
107
+ attributes: $props.attributes,
108
+ icon: typeof $props.icon != 'undefined' ? $props.icon : yith_icon,
109
+ keywords: $props.keywords,
110
+ edit: function edit(args) {
111
+ var elements = new Array();
112
+
113
+ $.each($props.attributes, function ($attribute_name, $attribute_args) {
114
+ var ComponentControl = null,
115
+ block_type = $attribute_args.blocktype;
116
+ if (typeof block_type != 'undefined') {
117
+ switch (block_type) {
118
+ case 'select':
119
+ ComponentControl = SelectControl;
120
+ break;
121
+
122
+ case 'text':
123
+ ComponentControl = TextControl;
124
+ break;
125
+
126
+ case 'textarea':
127
+ ComponentControl = TextareaControl;
128
+ break;
129
+
130
+ case 'toggle':
131
+ ComponentControl = ToggleControl;
132
+ break;
133
+
134
+ case 'checkbox':
135
+ ComponentControl = CheckboxControl;
136
+ break;
137
+
138
+ case 'number':
139
+ case 'range':
140
+ ComponentControl = RangeControl;
141
+ break;
142
+
143
+ case 'color':
144
+ case 'colorpicker':
145
+ ComponentControl = ColorPicker;
146
+ break;
147
+
148
+ case 'radio':
149
+ ComponentControl = RadioControl;
150
+ break;
151
+ }
152
+
153
+ if (ComponentControl != null) {
154
+ var helpMessageChecked = helpMessageUncheked = '';
155
+ if (typeof $attribute_args.helps != 'undefined' && typeof $attribute_args.helps.checked != 'undefined' && typeof $attribute_args.helps.unchecked != 'undefined') {
156
+ helpMessageChecked = $attribute_args.helps.checked;
157
+ helpMessageUncheked = $attribute_args.helps.unchecked;
158
+ }
159
+
160
+ else if (typeof $attribute_args.help != 'undefined') {
161
+ helpMessageChecked = helpMessageUncheked = $attribute_args.help;
162
+ }
163
+
164
+ elements.push(
165
+ el(
166
+ ComponentControl,
167
+ {
168
+ value: args.attributes[$attribute_name],
169
+ options: $attribute_args.options,
170
+ label: $attribute_args.label,
171
+ checked: args.attributes[$attribute_name],
172
+ selected: args.attributes[$attribute_name],
173
+ help: args.attributes[$attribute_name] ? helpMessageChecked : helpMessageUncheked,
174
+ disableAlpha: $attribute_args.disableAlpha,
175
+ min: $attribute_args.min,
176
+ max: $attribute_args.max,
177
+ multiple: $attribute_args.multiple,
178
+ onChange: function (new_value, attribute_name = $attribute_name) {
179
+ args = onChangeEvent(new_value, attribute_name, args, block_type);
180
+ },
181
+ onChangeComplete: function (new_value, attribute_name = $attribute_name) {
182
+ args = onChangeEvent(new_value, attribute_name, args, block_type);
183
+ },
184
+ },
185
+ )
186
+ );
187
+ }
188
+ }
189
+ });
190
+
191
+ sc = create_shortcode(args, $props, 'edit');
192
+
193
+ return [
194
+ el(
195
+ Fragment,
196
+ null,
197
+ el(
198
+ InspectorControls,
199
+ null,
200
+ elements,
201
+ ),
202
+ sc,
203
+ )];
204
+ },
205
+ save: function save(args) {
206
+ return create_shortcode(args, $props, 'save');
207
+ }
208
+ });
209
+ });
210
+ })(jQuery);
plugin-fw/assets/js/yith-gutenberg.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ (function(f){function k(e,a,d){var g="";g="";if("undefined"!=typeof a.callback&&"function"==typeof f[a.callback])g=f[a.callback](e,a);else{var b="["+a.shortcode_name;f.each(e.attributes,function(c,l){"className"!=c&&(b+=" "+c+"=",b=1==a.attributes[c].remove_quotes?b+l:b+('"'+l+'"'))});b+="]";e=md5(b);g='<span class="yith_block_'+e+'">'+b+"</span>";"edit"==d&&0!=a.do_shortcode&&function(c){var a=null;f(document).trigger("yith_plugin_fw_gutenberg_before_do_shortcode",[b,c]);f.ajax({async:!0,url:yith_gutenberg_ajax.ajaxurl,
2
+ method:"post",data:{action:"yith_plugin_fw_gutenberg_do_shortcode",shortcode:b},success:function(d){a=d;""!=a&&(f(".yith_block_"+c).html(a),f(document).trigger("yith_plugin_fw_gutenberg_success_do_shortcode",[b,c,a]))}});f(document).trigger("yith_plugin_fw_gutenberg_after_do_shortcode",[b,c,a]);return a}(e);g=h(n,null,g)}return g}function m(e,a,d,g){var b={};if("colorpicker"==g||"color"==g)e=e.hex;b[a]=e;d.setAttributes(b);return d}var h=wp.element.createElement,p=wp.element.Fragment,q=wp.blocks.registerBlockType,
3
+ r=wp.editor.InspectorControls,n=wp.element.RawHTML,t=wp.components.SelectControl,u=wp.components.ToggleControl,v=wp.components.CheckboxControl,w=wp.components.RangeControl,x=wp.components.ColorPicker,y=wp.components.RadioControl,z=wp.components.TextControl,A=wp.components.TextareaControl,B=h("svg",{width:22,height:22},h("path",{d:"M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z"}));
4
+ f.each(yith_gutenberg,function(e,a){q("yith/"+e,{title:a.title,description:a.description,category:a.category,attributes:a.attributes,icon:"undefined"!=typeof a.icon?a.icon:B,keywords:a.keywords,edit:function(d){var g=[];f.each(a.attributes,function(a,c){var b=null,e=c.blocktype;if("undefined"!=typeof e){switch(e){case "select":b=t;break;case "text":b=z;break;case "textarea":b=A;break;case "toggle":b=u;break;case "checkbox":b=v;break;case "number":case "range":b=w;break;case "color":case "colorpicker":b=
5
+ x;break;case "radio":b=y}if(null!=b){var f=helpMessageUncheked="";"undefined"!=typeof c.helps&&"undefined"!=typeof c.helps.checked&&"undefined"!=typeof c.helps.unchecked?(f=c.helps.checked,helpMessageUncheked=c.helps.unchecked):"undefined"!=typeof c.help&&(f=helpMessageUncheked=c.help);g.push(h(b,{value:d.attributes[a],options:c.options,label:c.label,checked:d.attributes[a],selected:d.attributes[a],help:d.attributes[a]?f:helpMessageUncheked,disableAlpha:c.disableAlpha,min:c.min,max:c.max,multiple:c.multiple,
6
+ onChange:function(b,c){c=void 0===c?a:c;d=m(b,c,d,e)},onChangeComplete:function(c,b){b=void 0===b?a:b;d=m(c,b,d,e)}}))}}});sc=k(d,a,"edit");return[h(p,null,h(r,null,g),sc)]},save:function(d){return k(d,a,"save")}})})})(jQuery);
plugin-fw/init.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
- * Version: 3.0.30
5
  * Author: YITHEMES
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author Your Inspiration Themes
10
- * @version 3.0.24
11
  */
12
  /**
13
  * This file belongs to the YIT Plugin Framework.
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
+ * Version: 3.1.20
5
  * Author: YITHEMES
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author Your Inspiration Themes
10
+ * @version 3.1.20
11
  */
12
  /**
13
  * This file belongs to the YIT Plugin Framework.
plugin-fw/languages/yith-plugin-fw-es_ES.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-es_ES.po CHANGED
@@ -4,15 +4,15 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
6
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2018-08-02 16:02+0200\n"
8
- "PO-Revision-Date: 2018-08-02 16:02+0200\n"
9
  "Last-Translator: \n"
10
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
11
  "Language: es_ES\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 2.0.8\n"
16
  "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
17
  "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
18
  "esc_html_x:1,2c\n"
@@ -25,7 +25,7 @@ msgstr ""
25
  #: lib/privacy/yit-privacy.php:24
26
  msgctxt "Privacy Policy Guide Title"
27
  msgid "YITH Plugins"
28
- msgstr ""
29
 
30
  #: lib/privacy/yit-privacy.php:59
31
  msgctxt "Privacy Policy Content"
@@ -37,26 +37,33 @@ msgid ""
37
  "We recommend consulting with a lawyer when deciding what information to "
38
  "disclose on your privacy policy."
39
  msgstr ""
 
 
 
 
 
 
 
40
 
41
  #: lib/privacy/yit-privacy.php:63
42
  msgctxt "Privacy Policy Content"
43
  msgid "What we collect and store"
44
- msgstr ""
45
 
46
  #: lib/privacy/yit-privacy.php:66
47
  msgctxt "Privacy Policy Content"
48
  msgid "Who on our team has access"
49
- msgstr ""
50
 
51
  #: lib/privacy/yit-privacy.php:69
52
  msgctxt "Privacy Policy Content"
53
  msgid "What we share with others"
54
- msgstr ""
55
 
56
  #: lib/privacy/yit-privacy.php:72
57
  msgctxt "Privacy Policy Content"
58
  msgid "Payments"
59
- msgstr ""
60
 
61
  #: lib/yit-cpt-unlimited.php:460 lib/yit-cpt-unlimited.php:574
62
  #: lib/yit-cpt-unlimited.php:719 lib/yit-cpt-unlimited.php:1632
@@ -104,7 +111,7 @@ msgstr "No se encontraron %s"
104
  #: lib/yit-cpt-unlimited.php:468 lib/yit-cpt-unlimited.php:582
105
  #, php-format
106
  msgid "No %s found in Trash"
107
- msgstr "No se encontraron %s en la Papelera"
108
 
109
  #: lib/yit-cpt-unlimited.php:625
110
  #, php-format
@@ -127,11 +134,11 @@ msgstr "Todas las categorías"
127
 
128
  #: lib/yit-cpt-unlimited.php:629
129
  msgid "Parent Category"
130
- msgstr "Categoría Madre"
131
 
132
  #: lib/yit-cpt-unlimited.php:630
133
  msgid "Parent Category:"
134
- msgstr "Categoría Madre:"
135
 
136
  #: lib/yit-cpt-unlimited.php:631
137
  msgid "Edit Category"
@@ -169,7 +176,7 @@ msgstr "Ajustes"
169
 
170
  #: lib/yit-cpt-unlimited.php:1051
171
  msgid "Type"
172
- msgstr "Tipos"
173
 
174
  #: lib/yit-cpt-unlimited.php:1052
175
  #, php-format
@@ -195,16 +202,15 @@ msgstr "Etiqueta en singular"
195
  #: lib/yit-cpt-unlimited.php:1065
196
  msgid "Set a label in singular (title of portfolio if empty)"
197
  msgstr ""
198
- "Establecer una etiqueta en singular (título del portafolio si está vacío)"
199
 
200
  #: lib/yit-cpt-unlimited.php:1070
201
  msgid "Label in Plural"
202
- msgstr "Etiqueta en Plural"
203
 
204
  #: lib/yit-cpt-unlimited.php:1071
205
  msgid "Set a label in plural (title of portfolio if empty)"
206
- msgstr ""
207
- "Establecer una etiqueta en plural (título del portafolio si está vacío)"
208
 
209
  #: lib/yit-cpt-unlimited.php:1076
210
  msgid "Taxonomy"
@@ -216,14 +222,14 @@ msgid ""
216
  "Name should be a slug (must not contain capital letters nor spaces) and must "
217
  "not be more than 32 characters long (database structure restriction)."
218
  msgstr ""
219
- "Si quieres usar categorías en el portafolio, establece un nombre para la "
220
  "taxonomía. El nombre debería ser un slug (no debe contener mayúsculas ni "
221
  "espacios) y no debe ser más largo de 32 caracteres (restricción de "
222
  "estructura de base de datos)."
223
 
224
  #: lib/yit-cpt-unlimited.php:1082
225
  msgid "Taxonomy Rewrite"
226
- msgstr "Taxonomía de reescritura"
227
 
228
  #: lib/yit-cpt-unlimited.php:1083
229
  msgid "Set univocal name for each category page URL."
@@ -231,15 +237,15 @@ msgstr "Establecer nombre único para cada página URL de categoría."
231
 
232
  #: lib/yit-cpt-unlimited.php:1088
233
  msgid "Single layout"
234
- msgstr "Diseño Simple"
235
 
236
  #: lib/yit-cpt-unlimited.php:1089
237
  msgid "Layout for single page of this portfolio"
238
- msgstr "Diseño para cada página de este portafolio"
239
 
240
  #: lib/yit-cpt-unlimited.php:1130
241
  msgid "layout settings"
242
- msgstr "Ajustes de diseño"
243
 
244
  #: lib/yit-cpt-unlimited.php:1222 lib/yit-cpt-unlimited.php:1235
245
  msgid "Quick links"
@@ -264,103 +270,97 @@ msgstr "Añadir %s desde imágenes"
264
  msgid "Upload multiple files"
265
  msgstr "Cargar archivos múltiples"
266
 
267
- #: lib/yit-plugin-panel-wc.php:382
268
  msgid "The changes you have made will be lost if you leave this page."
269
- msgstr "Los cambios que has hecho se perderán si sales de esta página."
270
 
271
  #: lib/yit-plugin-panel.php:72
272
  msgid "Plugin Settings"
273
  msgstr "Ajustes del plugin"
274
 
275
- #: lib/yit-plugin-panel.php:330 lib/yit-plugin-panel.php:333
276
  msgid "How to install premium version"
277
  msgstr "Cómo instalar la versión premium"
278
 
279
- #: lib/yit-plugin-panel.php:384 lib/yit-plugin-subpanel.php:155
280
  #: templates/panel/woocommerce/woocommerce-form.php:11
281
  msgid "Save Changes"
282
  msgstr "Guardar cambios"
283
 
284
- #: lib/yit-plugin-panel.php:387 lib/yit-plugin-subpanel.php:158
285
  #: templates/panel/woocommerce/woocommerce-form.php:14
286
  msgid ""
287
  "If you continue with this action, you will reset all options in this page."
288
  msgstr ""
289
  "Si sigues con esta acción, se reiniciarán todas las opciones en esta página."
290
 
291
- #: lib/yit-plugin-panel.php:389 lib/yit-plugin-subpanel.php:160
292
  msgid "Reset to default"
293
- msgstr "Reiniciar a predeterminado"
294
 
295
- #: lib/yit-plugin-panel.php:390 lib/yit-plugin-subpanel.php:161
296
  #: templates/panel/woocommerce/woocommerce-form.php:18
297
  msgid "Are you sure?"
298
  msgstr "¿Estás seguro/a?"
299
 
300
- #: lib/yit-plugin-panel.php:524
301
  msgid ""
302
  "The element you have entered already exists. Please, enter another name."
303
  msgstr ""
304
  "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
305
 
306
- #: lib/yit-plugin-panel.php:525
307
  msgid "Settings saved"
308
  msgstr "Ajustes guardados"
309
 
310
- #: lib/yit-plugin-panel.php:526
311
  msgid "Settings reset"
312
  msgstr "Ajustes reiniciados"
313
 
314
- #: lib/yit-plugin-panel.php:527
315
  msgid "Element deleted correctly."
316
  msgstr "Elemento borrado correctamente."
317
 
318
- #: lib/yit-plugin-panel.php:528 lib/yit-plugin-panel.php:529
319
  msgid "Element updated correctly."
320
  msgstr "Elemento actualizado correctamente."
321
 
322
- #: lib/yit-plugin-panel.php:530
323
  msgid "Database imported correctly."
324
  msgstr "Base de datos importada correctamente."
325
 
326
- #: lib/yit-plugin-panel.php:531
327
  msgid "An error has occurred during import. Please try again."
328
  msgstr ""
329
  "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
330
 
331
- #: lib/yit-plugin-panel.php:532
332
  msgid "The added file is not valid."
333
  msgstr "El archivo añadido no es válido."
334
 
335
- #: lib/yit-plugin-panel.php:533
336
  msgid "Sorry, import is disabled."
337
  msgstr "Lo sentimos, la importación está deshabilitada."
338
 
339
- #: lib/yit-plugin-panel.php:534
340
  msgid "Sorting successful."
341
  msgstr "Clasificación fue realizada con éxito."
342
 
343
  #: lib/yit-pointers.php:70
344
  msgid "Plugins Activated"
345
- msgstr "Plugins Activados"
346
 
347
  #: lib/yit-pointers.php:71
348
- #, fuzzy
349
- #| msgid ""
350
- #| "From now on, you can find all plugin options in YIT Plugin menu.\n"
351
- #| " For each plugin installed, "
352
- #| "customization settings will be available as a new entry in YIT Plugin "
353
- #| "menu."
354
  msgid ""
355
  "From now on, you can find all plugin options in YITH Plugins menu.\n"
356
  " Plugin customization settings will be "
357
  "available as a new entry in YITH Plugins menu."
358
  msgstr ""
359
  "De ahora en adelante, puedes encontrar todas las opciones del plugin en el "
360
- "menú YIT Plugin.\n"
361
  " Para cada plugin instalado, los ajustes "
362
- "de personalización estarán disponibles como una nueva entrada en el menú YIT "
363
- "Plugin."
364
 
365
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
366
  msgid "Discover all our plugins available on:"
@@ -372,20 +372,9 @@ msgstr "y"
372
 
373
  #: lib/yit-pointers.php:84
374
  msgid "Plugins Upgraded"
375
- msgstr "Plugins Actualizados"
376
 
377
  #: lib/yit-pointers.php:85
378
- #, fuzzy
379
- #| msgid ""
380
- #| "From now on, you can find all options of your plugins in YIT Plugin "
381
- #| "menu.\n"
382
- #| " Any time one of our plugins is "
383
- #| "updated, a new entry will be added to this menu.\n"
384
- #| " For example, after the update, plugin "
385
- #| "options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax "
386
- #| "Search, etc.)\n"
387
- #| " will be moved from previous location "
388
- #| "to YIT Plugin tab."
389
  msgid ""
390
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
391
  "menu.\n"
@@ -407,56 +396,73 @@ msgstr ""
407
  " se moverán de su posición anterior a la "
408
  "pestaña YIT Plugin."
409
 
410
- #: lib/yit-upgrade.php:89
411
- #, fuzzy
412
- #| msgid "Unable to contact the remote server, please try again later. Thanks!"
413
  msgid "An unexpected error occurred, please try again later. Thanks!"
414
  msgstr ""
415
- "No fue posible contactar con el servidor remoto, por favor, inténtalo de "
416
- "nuevo más tarde. ¡Gracias!"
417
 
418
- #: lib/yit-upgrade.php:184
419
  msgid "There is a new version of %plugin_name% available."
420
  msgstr "Hay una nueva versión de %plugin_name% disponible."
421
 
422
- #: lib/yit-upgrade.php:185
423
  msgid "View version %latest% details."
424
  msgstr "Ver detalles de la %latest% versión"
425
 
426
- #: lib/yit-upgrade.php:186
427
  msgid "Automatic update is unavailable for this plugin,"
428
  msgstr "Las actualizaciones automáticas no están disponibles para este plugin,"
429
 
430
- #: lib/yit-upgrade.php:187
431
  msgid ""
432
  "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
433
  msgstr ""
434
  "por favor, <a href=\"%activate_link%\">activa</a> tu copia de %plugin_name%."
435
 
436
- #: lib/yit-upgrade.php:188
437
  msgid "Update now."
438
  msgstr "Actualiza ahora."
439
 
440
- #: lib/yit-upgrade.php:288
441
- #, fuzzy
442
- #| msgid "YIThemes Repository"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
  msgid "YITH Repository"
444
- msgstr "Repositorio YIThemes"
445
 
446
- #: lib/yit-upgrade.php:322
447
  msgid "Invalid URL Provided."
448
  msgstr "La URL proporcionada no es válida."
449
 
450
- #: lib/yit-upgrade.php:335
451
  msgid "Could not create Temporary file."
452
  msgstr "No se pudo crear un archivo temporal."
453
 
454
- #: lib/yit-upgrade.php:495
455
- #, fuzzy, php-format
456
- #| msgid ""
457
- #| "There is a new version of %1$s available. <a href=\"%2$s\" class="
458
- #| "\"thickbox yit-changelog-button\" title=\"%3$s\">View version %4$s "
459
- #| "details</a>."
460
  msgid ""
461
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
462
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
@@ -465,13 +471,8 @@ msgstr ""
465
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
466
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>."
467
 
468
- #: lib/yit-upgrade.php:497
469
- #, fuzzy, php-format
470
- #| msgid ""
471
- #| "There is a new version of %1$s available. <a href=\"%2$s\" class="
472
- #| "\"thickbox yit-changelog-button\" title=\"%3$s\">View version %4$s "
473
- #| "details</a>. <em>You have to activate the plugin on a single site of the "
474
- #| "network to benefit from automatic updates.</em>"
475
  msgid ""
476
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
477
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
@@ -480,17 +481,11 @@ msgid ""
480
  msgstr ""
481
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
482
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. "
483
- "<em>Tienes que activar el plugin en un único sitio web desdela red para "
484
  "beneficiarte de las actualizaciones automáticas.</em>"
485
 
486
- #: lib/yit-upgrade.php:499
487
- #, fuzzy, php-format
488
- #| msgid ""
489
- #| "There is a new version of %1$s available. <a href=\"%2$s\" class="
490
- #| "\"thickbox yit-changelog-button\" title=\"%3$s\">View version %4$s "
491
- #| "details</a>. <em>Automatic update is unavailable for this plugin, please "
492
- #| "<a href=\"%5$s\" title=\"License activation\">activate</a> your copy of "
493
- #| "%6s.</em>"
494
  msgid ""
495
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
496
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
@@ -504,12 +499,8 @@ msgstr ""
504
  "por favor <a href=\"%5$s\" title=\"License activation\">activa</a> tu copia "
505
  "de %6s.</em>"
506
 
507
- #: lib/yit-upgrade.php:501
508
- #, fuzzy, php-format
509
- #| msgid ""
510
- #| "There is a new version of %1$s available. <a href=\"%2$s\" class="
511
- #| "\"thickbox yit-changelog-button\" title=\"%3$s\">View version %4$s "
512
- #| "details</a> or <a href=\"%5$s\">update now</a>."
513
  msgid ""
514
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
515
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
@@ -519,104 +510,130 @@ msgstr ""
519
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a> o "
520
  "<a href=\"%5$s\">actualizar ahora</a>."
521
 
522
- #: lib/yit-upgrade.php:574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
523
  msgid "You can't update the plugins for this site."
524
  msgstr "No puedes actualizar los plugins para este sitio web."
525
 
526
- #: lib/yit-upgrade.php:578
527
  msgid ""
528
  "You do not have sufficient permissions to update the plugins for this site."
529
  msgstr ""
530
  "No tienes suficientes permisos para actualizar los plugins para este sitio "
531
  "web."
532
 
533
- #: lib/yit-upgrade.php:585
534
  msgid "Update Plugin"
535
  msgstr "Actualizar Plugin"
536
 
537
- #: licence/lib/yit-licence.php:187
 
 
 
 
 
 
 
 
 
 
 
 
 
538
  #, php-format
539
  msgctxt "%s = field name"
540
- msgid "%s field cannot be empty"
541
- msgstr "%s el campo no puede estar vacío"
542
 
543
- #: licence/lib/yit-licence.php:188
544
  #, php-format
545
- msgid "%s and %s fields cannot be empty"
546
- msgstr "Los campos %s y %s no pueden estar vacíos"
547
 
548
- #: licence/lib/yit-licence.php:189
549
  msgid "Unable to contact the remote server, please try again later. Thanks!"
550
  msgstr ""
551
  "No fue posible contactar con el servidor remoto, por favor, inténtalo de "
552
  "nuevo más tarde. ¡Gracias!"
553
 
554
- #: licence/lib/yit-licence.php:190
555
- #: licence/templates/panel/activation/activation-panel.php:88
556
- #: licence/templates/panel/activation/activation-panel.php:166
557
- #: licence/templates/panel/activation/activation-panel.php:197
558
- msgid "Email"
559
- msgstr "Email"
560
 
561
- #: licence/lib/yit-licence.php:191
562
- #: licence/templates/panel/activation/activation-panel.php:89
563
- #: licence/templates/panel/activation/activation-panel.php:167
564
- #: licence/templates/panel/activation/activation-panel.php:198
565
- msgid "License Key"
566
- msgstr "Clave de Licencia"
567
 
568
- #: licence/lib/yit-licence.php:192
569
  msgid "Are you sure you want to deactivate the license for current site?"
570
  msgstr ""
571
  "¿Estás seguro/a de que quieres desactivar la licencia para el sitio web "
572
  "actual?"
573
 
574
- #: licence/lib/yit-licence.php:678
575
  msgid "Invalid Request"
576
  msgstr "Solicitud inválida"
577
 
578
- #: licence/lib/yit-licence.php:679
579
  msgid "Invalid license key"
580
  msgstr "Clave de solicitud inválida"
581
 
582
- #: licence/lib/yit-licence.php:680
583
  msgid "Software has been deactivated"
584
  msgstr "El software ha sido desactivado"
585
 
586
- #: licence/lib/yit-licence.php:681
587
  msgid "Maximum number of activations exceeded"
588
  msgstr "Se ha excedido el número máximo de solicitudes"
589
 
590
- #: licence/lib/yit-licence.php:682
591
  msgid "Invalid instance ID"
592
  msgstr "Instancia ID inválida"
593
 
594
- #: licence/lib/yit-licence.php:683
595
  msgid "Invalid security key"
596
  msgstr "Clave de seguridad inválida"
597
 
598
- #: licence/lib/yit-licence.php:684
599
  msgid "License key has expired"
600
  msgstr "La clave de licencia ha caducado"
601
 
602
- #: licence/lib/yit-licence.php:685
603
  msgid "License key has been banned"
604
  msgstr "La clave de licencia ha sido bloqueada"
605
 
606
- #: licence/lib/yit-licence.php:686
607
  msgid "Current product is not included in your YITH Club Subscription key"
608
  msgstr ""
609
  "Producto actual no está incluido en la clave de suscripción de Club de YITH"
610
 
611
- #: licence/lib/yit-licence.php:687
612
  msgid "Great"
613
  msgstr "Excelente"
614
 
615
- #: licence/lib/yit-licence.php:687
616
  msgid "License successfully activated"
617
  msgstr "Licencia activada con éxito"
618
 
619
- #: licence/lib/yit-licence.php:688
620
  msgid "License key deactivated for website"
621
  msgstr "Clave de licencia desactivada para nuestro sitio web"
622
 
@@ -626,6 +643,46 @@ msgstr "Clave de licencia desactivada para nuestro sitio web"
626
  msgid "License Activation"
627
  msgstr "Activación de la Licencia"
628
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
629
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
630
  #, php-format
631
  msgid "%s"
@@ -640,18 +697,6 @@ msgstr ""
640
  "tiempo. ¿Dónde la puedo encontrar?"
641
 
642
  #: licence/lib/yit-theme-licence.php:163
643
- #, fuzzy
644
- #| msgid ""
645
- #| "If you have purchased one of our products before 27 January 2015, you can "
646
- #| "benefit from support and updates (the services offered with the license)\n"
647
- #| " until 27 January 2016 and you do not have to purchase "
648
- #| "it again to get a new license key, because, before this date, your "
649
- #| "license used to be activated automatically by our system.\n"
650
- #| " After 27 January 2016, instead, if you want to "
651
- #| "benefit from support and updates you have to buy a new license and "
652
- #| "activate it through the license key you will be\n"
653
- #| " provided with and that you can find in your YIThemes "
654
- #| "account, in section \"My licenses\"."
655
  msgid ""
656
  "If you have purchased one of our products before 27 January 2015, you can "
657
  "benefit from support and updates (the services offered with the license)\n"
@@ -676,108 +721,126 @@ msgstr ""
676
  " se te proporcionará y que podrás encontrar en tu cuenta "
677
  "YIThemes, en la sección \"My licenses\"."
678
 
679
- #: licence/templates/panel/activation/activation-panel.php:23
680
- #, fuzzy
681
- #| msgid "License Activation"
682
  msgid "YITH License Activation"
683
- msgstr "Activación de la Licencia"
684
 
685
  #: licence/templates/panel/activation/activation-panel.php:27
 
 
 
 
686
  msgid ""
687
- "Have you updated your licenses? Have you asked for an extension? Update "
688
- "information concerning your products."
689
- msgstr "¿Has actualizado tus licencias? ¿Has pedido una extensión? Actualiza"
 
 
 
 
690
 
691
- #: licence/templates/panel/activation/activation-panel.php:29
692
- msgid "Update license information"
693
- msgstr "Actualizar la información de la licencia"
694
 
695
- #: licence/templates/panel/activation/activation-panel.php:42
696
  msgid "Product to activate"
697
  msgid_plural "Products to activate"
698
  msgstr[0] "Producto que activar"
699
  msgstr[1] "Productos que activar"
700
 
701
- #: licence/templates/panel/activation/activation-panel.php:61
 
 
 
 
 
 
 
 
702
  msgid "Activate"
703
  msgstr "Activar"
704
 
705
- #: licence/templates/panel/activation/activation-panel.php:80
706
  msgid "Activated"
707
  msgstr "Activado/a"
708
 
709
- #: licence/templates/panel/activation/activation-panel.php:86
710
- #: licence/templates/panel/activation/activation-panel.php:164
711
- #: licence/templates/panel/activation/activation-panel.php:194
712
  msgid "Product Name"
713
  msgstr "Nombre de Producto"
714
 
715
- #: licence/templates/panel/activation/activation-panel.php:92
716
- #: licence/templates/panel/activation/activation-panel.php:201
 
 
 
 
 
 
 
 
 
 
 
 
717
  msgid "Expires"
718
  msgstr "Caduca"
719
 
720
- #: licence/templates/panel/activation/activation-panel.php:95
721
  msgid "Remaining"
722
- msgstr "Queda"
723
 
724
- #: licence/templates/panel/activation/activation-panel.php:97
725
  msgid "Club Subscription"
726
- msgstr "Suscripción a Club"
727
 
728
- #: licence/templates/panel/activation/activation-panel.php:101
729
- msgid "License Actions"
730
- msgstr "Acciones de Licencia"
731
-
732
- #: licence/templates/panel/activation/activation-panel.php:126
733
  #, php-format
734
  msgid "%1s out of %2s"
735
  msgstr "%1s de %2s"
736
 
737
- #: licence/templates/panel/activation/activation-panel.php:142
738
  msgid "Deactivate"
739
  msgstr "Desactivar"
740
 
741
- #: licence/templates/panel/activation/activation-panel.php:147
742
- #: licence/templates/panel/activation/activation-panel.php:204
743
  msgid "Renew"
744
  msgstr "Renovado"
745
 
746
- #: licence/templates/panel/activation/activation-panel.php:160
747
  msgid "Banned"
748
  msgstr "Bloqueado"
749
 
750
- #: licence/templates/panel/activation/activation-panel.php:190
751
  msgid "Expired"
752
  msgstr "Caducado"
753
 
754
- #: licence/templates/panel/activation/activation-panel.php:226
755
  msgid "Order again"
756
  msgstr "Comprar de nuevo"
757
 
758
- #: licence/templates/panel/activation/activation-panel.php:228
759
  msgid "Renew license"
760
  msgstr "Renovar licencia"
761
 
762
  #: templates/fields/ajax-posts.php:57
763
- #, fuzzy
764
- #| msgid "Search %s"
765
  msgid "Search Posts"
766
- msgstr "Buscar %s"
767
 
768
  #: templates/fields/ajax-products.php:16
769
- #, fuzzy
770
- #| msgid "Search for a product"
771
  msgid "Search Product"
772
  msgstr "Buscar un producto"
773
 
774
  #: templates/fields/customtabs.php:28
775
  msgid "Close all"
776
- msgstr "Cerrar todos"
777
 
778
  #: templates/fields/customtabs.php:28
779
  msgid "Expand all"
780
- msgstr "Expandir todos"
781
 
782
  #: templates/fields/customtabs.php:37 templates/fields/customtabs.php:81
783
  msgid "Remove"
@@ -789,7 +852,7 @@ msgstr "Valor"
789
 
790
  #: templates/fields/customtabs.php:53 templates/fields/customtabs.php:95
791
  msgid "Content of the tab. (HTML is supported)"
792
- msgstr "Contenido de la pestaña. (HTML se soporta)"
793
 
794
  #: templates/fields/customtabs.php:65
795
  msgid "Add custom product tab"
@@ -800,10 +863,8 @@ msgid "Do you want to remove the custom tab?"
800
  msgstr "¿Quieres borrar la etiqueta personalizada?"
801
 
802
  #: templates/fields/icons.php:58
803
- #, fuzzy
804
- #| msgid "Reset Defaults"
805
  msgid "Set Default"
806
- msgstr "Ajustes predeterminados"
807
 
808
  #: templates/fields/image-gallery.php:34 templates/fields/image-gallery.php:39
809
  msgid "Delete image"
@@ -811,7 +872,7 @@ msgstr "Borrar imagen"
811
 
812
  #: templates/fields/image-gallery.php:39
813
  msgid "Add Images to Gallery"
814
- msgstr "Añadir imágenes a la Galería"
815
 
816
  #: templates/fields/image-gallery.php:39
817
  msgid "Add to gallery"
@@ -826,14 +887,12 @@ msgid "Delete"
826
  msgstr "Borrar"
827
 
828
  #: templates/fields/select-buttons.php:26
829
- #, fuzzy
830
- #| msgid "Select"
831
  msgid "Select All"
832
- msgstr "Seleciona"
833
 
834
  #: templates/fields/select-buttons.php:33
835
  msgid "Deselect All"
836
- msgstr ""
837
 
838
  #: templates/fields/sidebars.php:22
839
  msgid "Left sidebar"
@@ -886,40 +945,53 @@ msgstr "(Por defecto: <i %s></i> )"
886
  msgid "Reset Defaults"
887
  msgstr "Ajustes predeterminados"
888
 
889
- #: yit-plugin.php:76
890
  msgctxt "Plugin Row Meta"
891
  msgid "Live Demo"
892
- msgstr ""
893
 
894
- #: yit-plugin.php:81
895
  msgctxt "Plugin Row Meta"
896
  msgid "Documentation"
897
- msgstr ""
898
 
899
- #: yit-plugin.php:86
900
  msgctxt "Plugin Row Meta"
901
  msgid "Support"
902
- msgstr ""
903
 
904
- #: yit-plugin.php:91
905
- #, fuzzy
906
- #| msgid "Premium version upgrade"
907
  msgctxt "Plugin Row Meta"
908
  msgid "Premium version"
909
- msgstr "Actualiza a la versión premium"
910
 
911
- #: yit-plugin.php:186
912
- #, fuzzy
913
- #| msgid "Settings"
914
  msgctxt "Action links"
915
  msgid "Settings"
916
  msgstr "Ajustes"
917
 
918
- #: yit-plugin.php:190
919
- #, fuzzy
920
- #| msgid "License Key"
921
  msgid "License"
922
- msgstr "Clave de Licencia"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
923
 
924
  #~ msgid "Hide sidebar"
925
  #~ msgstr "Ocultar barra lateral"
4
  msgstr ""
5
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
6
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2019-02-04 16:04+0100\n"
8
+ "PO-Revision-Date: 2019-02-04 16:05+0100\n"
9
  "Last-Translator: \n"
10
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
11
  "Language: es_ES\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 2.2.1\n"
16
  "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
17
  "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
18
  "esc_html_x:1,2c\n"
25
  #: lib/privacy/yit-privacy.php:24
26
  msgctxt "Privacy Policy Guide Title"
27
  msgid "YITH Plugins"
28
+ msgstr "Plugins de YITH"
29
 
30
  #: lib/privacy/yit-privacy.php:59
31
  msgctxt "Privacy Policy Content"
37
  "We recommend consulting with a lawyer when deciding what information to "
38
  "disclose on your privacy policy."
39
  msgstr ""
40
+ "Este lenguaje de muestra incluye los conceptos básicos sobre qué datos "
41
+ "personales puede estar recolectando, almacenando y compartiendo tu tienda, "
42
+ "así como quién puede tener acceso a esos datos. Dependiendo de qué "
43
+ "configuración esté habilitada y qué complementos adicionales se utilicen, la "
44
+ "información específica compartida por tu tienda variará. Recomendamos "
45
+ "consultar con un abogado cuando decidas qué información divulgar sobre tu "
46
+ "política de privacidad."
47
 
48
  #: lib/privacy/yit-privacy.php:63
49
  msgctxt "Privacy Policy Content"
50
  msgid "What we collect and store"
51
+ msgstr "Qué recopilamos y almacenamos"
52
 
53
  #: lib/privacy/yit-privacy.php:66
54
  msgctxt "Privacy Policy Content"
55
  msgid "Who on our team has access"
56
+ msgstr "Quién en nuestro equipo tiene acceso"
57
 
58
  #: lib/privacy/yit-privacy.php:69
59
  msgctxt "Privacy Policy Content"
60
  msgid "What we share with others"
61
+ msgstr "Qué compartimos con otros"
62
 
63
  #: lib/privacy/yit-privacy.php:72
64
  msgctxt "Privacy Policy Content"
65
  msgid "Payments"
66
+ msgstr "Pagos"
67
 
68
  #: lib/yit-cpt-unlimited.php:460 lib/yit-cpt-unlimited.php:574
69
  #: lib/yit-cpt-unlimited.php:719 lib/yit-cpt-unlimited.php:1632
111
  #: lib/yit-cpt-unlimited.php:468 lib/yit-cpt-unlimited.php:582
112
  #, php-format
113
  msgid "No %s found in Trash"
114
+ msgstr "No se encontraron %s en la papelera"
115
 
116
  #: lib/yit-cpt-unlimited.php:625
117
  #, php-format
134
 
135
  #: lib/yit-cpt-unlimited.php:629
136
  msgid "Parent Category"
137
+ msgstr "Categoría superior"
138
 
139
  #: lib/yit-cpt-unlimited.php:630
140
  msgid "Parent Category:"
141
+ msgstr "Categoría superior:"
142
 
143
  #: lib/yit-cpt-unlimited.php:631
144
  msgid "Edit Category"
176
 
177
  #: lib/yit-cpt-unlimited.php:1051
178
  msgid "Type"
179
+ msgstr "Tipo"
180
 
181
  #: lib/yit-cpt-unlimited.php:1052
182
  #, php-format
202
  #: lib/yit-cpt-unlimited.php:1065
203
  msgid "Set a label in singular (title of portfolio if empty)"
204
  msgstr ""
205
+ "Establecer una etiqueta en singular (título del porfolio si está vacío)"
206
 
207
  #: lib/yit-cpt-unlimited.php:1070
208
  msgid "Label in Plural"
209
+ msgstr "Etiqueta en plural"
210
 
211
  #: lib/yit-cpt-unlimited.php:1071
212
  msgid "Set a label in plural (title of portfolio if empty)"
213
+ msgstr "Establecer una etiqueta en plural (título del porfolio si está vacío)"
 
214
 
215
  #: lib/yit-cpt-unlimited.php:1076
216
  msgid "Taxonomy"
222
  "Name should be a slug (must not contain capital letters nor spaces) and must "
223
  "not be more than 32 characters long (database structure restriction)."
224
  msgstr ""
225
+ "Si quieres usar categorías en el porfolio, establece un nombre para la "
226
  "taxonomía. El nombre debería ser un slug (no debe contener mayúsculas ni "
227
  "espacios) y no debe ser más largo de 32 caracteres (restricción de "
228
  "estructura de base de datos)."
229
 
230
  #: lib/yit-cpt-unlimited.php:1082
231
  msgid "Taxonomy Rewrite"
232
+ msgstr "Rescritura de taxonomía"
233
 
234
  #: lib/yit-cpt-unlimited.php:1083
235
  msgid "Set univocal name for each category page URL."
237
 
238
  #: lib/yit-cpt-unlimited.php:1088
239
  msgid "Single layout"
240
+ msgstr "Diseño simple"
241
 
242
  #: lib/yit-cpt-unlimited.php:1089
243
  msgid "Layout for single page of this portfolio"
244
+ msgstr "Diseño para cada página de este porfolio"
245
 
246
  #: lib/yit-cpt-unlimited.php:1130
247
  msgid "layout settings"
248
+ msgstr "ajustes de diseño"
249
 
250
  #: lib/yit-cpt-unlimited.php:1222 lib/yit-cpt-unlimited.php:1235
251
  msgid "Quick links"
270
  msgid "Upload multiple files"
271
  msgstr "Cargar archivos múltiples"
272
 
273
+ #: lib/yit-plugin-panel-wc.php:384
274
  msgid "The changes you have made will be lost if you leave this page."
275
+ msgstr "Los cambios que has hecho se perderán si abandonas esta página."
276
 
277
  #: lib/yit-plugin-panel.php:72
278
  msgid "Plugin Settings"
279
  msgstr "Ajustes del plugin"
280
 
281
+ #: lib/yit-plugin-panel.php:339 lib/yit-plugin-panel.php:342
282
  msgid "How to install premium version"
283
  msgstr "Cómo instalar la versión premium"
284
 
285
+ #: lib/yit-plugin-panel.php:393 lib/yit-plugin-subpanel.php:156
286
  #: templates/panel/woocommerce/woocommerce-form.php:11
287
  msgid "Save Changes"
288
  msgstr "Guardar cambios"
289
 
290
+ #: lib/yit-plugin-panel.php:396 lib/yit-plugin-subpanel.php:159
291
  #: templates/panel/woocommerce/woocommerce-form.php:14
292
  msgid ""
293
  "If you continue with this action, you will reset all options in this page."
294
  msgstr ""
295
  "Si sigues con esta acción, se reiniciarán todas las opciones en esta página."
296
 
297
+ #: lib/yit-plugin-panel.php:398 lib/yit-plugin-subpanel.php:161
298
  msgid "Reset to default"
299
+ msgstr "Restablecer a predeterminado"
300
 
301
+ #: lib/yit-plugin-panel.php:399 lib/yit-plugin-subpanel.php:162
302
  #: templates/panel/woocommerce/woocommerce-form.php:18
303
  msgid "Are you sure?"
304
  msgstr "¿Estás seguro/a?"
305
 
306
+ #: lib/yit-plugin-panel.php:533
307
  msgid ""
308
  "The element you have entered already exists. Please, enter another name."
309
  msgstr ""
310
  "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
311
 
312
+ #: lib/yit-plugin-panel.php:534
313
  msgid "Settings saved"
314
  msgstr "Ajustes guardados"
315
 
316
+ #: lib/yit-plugin-panel.php:535
317
  msgid "Settings reset"
318
  msgstr "Ajustes reiniciados"
319
 
320
+ #: lib/yit-plugin-panel.php:536
321
  msgid "Element deleted correctly."
322
  msgstr "Elemento borrado correctamente."
323
 
324
+ #: lib/yit-plugin-panel.php:537 lib/yit-plugin-panel.php:538
325
  msgid "Element updated correctly."
326
  msgstr "Elemento actualizado correctamente."
327
 
328
+ #: lib/yit-plugin-panel.php:539
329
  msgid "Database imported correctly."
330
  msgstr "Base de datos importada correctamente."
331
 
332
+ #: lib/yit-plugin-panel.php:540
333
  msgid "An error has occurred during import. Please try again."
334
  msgstr ""
335
  "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
336
 
337
+ #: lib/yit-plugin-panel.php:541
338
  msgid "The added file is not valid."
339
  msgstr "El archivo añadido no es válido."
340
 
341
+ #: lib/yit-plugin-panel.php:542
342
  msgid "Sorry, import is disabled."
343
  msgstr "Lo sentimos, la importación está deshabilitada."
344
 
345
+ #: lib/yit-plugin-panel.php:543
346
  msgid "Sorting successful."
347
  msgstr "Clasificación fue realizada con éxito."
348
 
349
  #: lib/yit-pointers.php:70
350
  msgid "Plugins Activated"
351
+ msgstr "Plugins activados"
352
 
353
  #: lib/yit-pointers.php:71
 
 
 
 
 
 
354
  msgid ""
355
  "From now on, you can find all plugin options in YITH Plugins menu.\n"
356
  " Plugin customization settings will be "
357
  "available as a new entry in YITH Plugins menu."
358
  msgstr ""
359
  "De ahora en adelante, puedes encontrar todas las opciones del plugin en el "
360
+ "menú Plugins de YITH.\n"
361
  " Para cada plugin instalado, los ajustes "
362
+ "de personalización estarán disponibles como una nueva entrada en el menú de "
363
+ "Plugins de YITH."
364
 
365
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
366
  msgid "Discover all our plugins available on:"
372
 
373
  #: lib/yit-pointers.php:84
374
  msgid "Plugins Upgraded"
375
+ msgstr "Plugins actualizados"
376
 
377
  #: lib/yit-pointers.php:85
 
 
 
 
 
 
 
 
 
 
 
378
  msgid ""
379
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
380
  "menu.\n"
396
  " se moverán de su posición anterior a la "
397
  "pestaña YIT Plugin."
398
 
399
+ #: lib/yit-upgrade.php:95
 
 
400
  msgid "An unexpected error occurred, please try again later. Thanks!"
401
  msgstr ""
402
+ "Ha ocurrido un error inesperado, por favor, inténtalo de nuevo más tarde. "
403
+ "¡Gracias!"
404
 
405
+ #: lib/yit-upgrade.php:196
406
  msgid "There is a new version of %plugin_name% available."
407
  msgstr "Hay una nueva versión de %plugin_name% disponible."
408
 
409
+ #: lib/yit-upgrade.php:197
410
  msgid "View version %latest% details."
411
  msgstr "Ver detalles de la %latest% versión"
412
 
413
+ #: lib/yit-upgrade.php:198
414
  msgid "Automatic update is unavailable for this plugin,"
415
  msgstr "Las actualizaciones automáticas no están disponibles para este plugin,"
416
 
417
+ #: lib/yit-upgrade.php:199
418
  msgid ""
419
  "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
420
  msgstr ""
421
  "por favor, <a href=\"%activate_link%\">activa</a> tu copia de %plugin_name%."
422
 
423
+ #: lib/yit-upgrade.php:200
424
  msgid "Update now."
425
  msgstr "Actualiza ahora."
426
 
427
+ #: lib/yit-upgrade.php:201
428
+ msgid ""
429
+ "<br/><b>Please note:</b> You are using a higher version than the latest "
430
+ "available one. </em>Please, make sure you've downloaded the latest version "
431
+ "of <em>%1$s</em> from the only <a href=\"https://yithemes.com\" target="
432
+ "\"_blank\">YITH official website</a>, specifically, from your <a href="
433
+ "\"https://yithemes.com/my-account/recent-downloads/\" target=\"_blank"
434
+ "\">Downloads page</a>. This is the only way to be sure the version you are "
435
+ "using is 100% malware-free."
436
+ msgstr ""
437
+ "<br/><b>Por favor, ten en cuenta:</b> Estás usando una versión superior a la "
438
+ "última disponible. </em>Por favor, asegurate de que has descargado la última "
439
+ "versión de <em>%1$s</em> desde el único <a href=\"https://yithemes.com\" "
440
+ "target=\"_blank\">sitio oficial de YITH</a>, específicamente, desde tu <a "
441
+ "href=\"https://yithemes.com/my-account/recent-downloads/\" target=\"_blank"
442
+ "\">página de Descargas</a>. Esta es la única forma de estar seguro de que la "
443
+ "versión que estás usando es 100% malware-free."
444
+
445
+ #: lib/yit-upgrade.php:303
446
+ msgctxt "[Update Plugin Message: License not enabled]"
447
+ msgid "You have to activate the plugin to benefit from automatic updates."
448
+ msgstr ""
449
+ "Tienes que activar el plugin para beneficiarte de actualizaciones "
450
+ "automáticas."
451
+
452
+ #: lib/yit-upgrade.php:325
453
  msgid "YITH Repository"
454
+ msgstr "Repositorio de YITH"
455
 
456
+ #: lib/yit-upgrade.php:359
457
  msgid "Invalid URL Provided."
458
  msgstr "La URL proporcionada no es válida."
459
 
460
+ #: lib/yit-upgrade.php:372
461
  msgid "Could not create Temporary file."
462
  msgstr "No se pudo crear un archivo temporal."
463
 
464
+ #: lib/yit-upgrade.php:547
465
+ #, php-format
 
 
 
 
466
  msgid ""
467
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
468
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
471
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
472
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>."
473
 
474
+ #: lib/yit-upgrade.php:551
475
+ #, php-format
 
 
 
 
 
476
  msgid ""
477
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
478
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
481
  msgstr ""
482
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
483
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. "
484
+ "<em>Tienes que activar el plugin en un único sitio web desde la red para "
485
  "beneficiarte de las actualizaciones automáticas.</em>"
486
 
487
+ #: lib/yit-upgrade.php:555
488
+ #, php-format
 
 
 
 
 
 
489
  msgid ""
490
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
491
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
499
  "por favor <a href=\"%5$s\" title=\"License activation\">activa</a> tu copia "
500
  "de %6s.</em>"
501
 
502
+ #: lib/yit-upgrade.php:559
503
+ #, php-format
 
 
 
 
504
  msgid ""
505
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
506
  "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
510
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a> o "
511
  "<a href=\"%5$s\">actualizar ahora</a>."
512
 
513
+ #: lib/yit-upgrade.php:563
514
+ #, php-format
515
+ msgid ""
516
+ "<br/><b>Please note:</b> You are using a higher version than the latest "
517
+ "available one. </em>Please, make sure you've downloaded the latest version "
518
+ "of <em>%1$s</em> from the only <a href=\"https://yithemes.com\" target="
519
+ "\"_blank\">YITH official website</a>, specifically, from your <a href="
520
+ "\"https://yithemes.com/my-account/recent-downloads/\" target=\"_blank"
521
+ "\">Downloads page</a>. This is the only way to be sure the version you are "
522
+ "using is 100%% malware-free."
523
+ msgstr ""
524
+ "<br/><b>Por favor, ten en cuenta:</b> Estás usando una versión más alta que "
525
+ "la última disponible. </em>Por favor, asegurate de que has descargado la "
526
+ "última versión de <em>%1$s</em> desde el único<a href=\"https://yithemes.com"
527
+ "\" target=\"_blank\">sitio oficial de YITH</a>, específicamente, desde tu <a "
528
+ "href=\"https://yithemes.com/my-account/recent-downloads/\" target=\"_blank"
529
+ "\">página de Descargas</a>. Esta es la única manera de estar seguro de que "
530
+ "la versión que estás usando es 100%% malware-free."
531
+
532
+ #: lib/yit-upgrade.php:635
533
  msgid "You can't update the plugins for this site."
534
  msgstr "No puedes actualizar los plugins para este sitio web."
535
 
536
+ #: lib/yit-upgrade.php:639
537
  msgid ""
538
  "You do not have sufficient permissions to update the plugins for this site."
539
  msgstr ""
540
  "No tienes suficientes permisos para actualizar los plugins para este sitio "
541
  "web."
542
 
543
+ #: lib/yit-upgrade.php:646
544
  msgid "Update Plugin"
545
  msgstr "Actualizar Plugin"
546
 
547
+ #: lib/yith-dashboard.php:40
548
+ msgid "New YITH products"
549
+ msgstr "Nuevos productos de YITH"
550
+
551
+ #: lib/yith-dashboard.php:41
552
+ msgid "News from the YITH Blog"
553
+ msgstr "Noticias del Blog de YITH"
554
+
555
+ #: lib/yith-gutenberg.php:134
556
+ msgctxt "[gutenberg]: Category Name"
557
+ msgid "YITH"
558
+ msgstr "YITH"
559
+
560
+ #: licence/lib/yit-licence.php:180
561
  #, php-format
562
  msgctxt "%s = field name"
563
+ msgid "Please, insert a valid %s"
564
+ msgstr "Por favor, introduce una %s válida"
565
 
566
+ #: licence/lib/yit-licence.php:181
567
  #, php-format
568
+ msgid "Please, insert a valid %s and a valid %s"
569
+ msgstr "Por favor, inserta una %s válida y una %s válida"
570
 
571
+ #: licence/lib/yit-licence.php:182
572
  msgid "Unable to contact the remote server, please try again later. Thanks!"
573
  msgstr ""
574
  "No fue posible contactar con el servidor remoto, por favor, inténtalo de "
575
  "nuevo más tarde. ¡Gracias!"
576
 
577
+ #: licence/lib/yit-licence.php:183
578
+ msgid "email address"
579
+ msgstr "dirección de correo electrónico"
 
 
 
580
 
581
+ #: licence/lib/yit-licence.php:184
582
+ msgid "license key"
583
+ msgstr "clave de licencia"
 
 
 
584
 
585
+ #: licence/lib/yit-licence.php:185
586
  msgid "Are you sure you want to deactivate the license for current site?"
587
  msgstr ""
588
  "¿Estás seguro/a de que quieres desactivar la licencia para el sitio web "
589
  "actual?"
590
 
591
+ #: licence/lib/yit-licence.php:730
592
  msgid "Invalid Request"
593
  msgstr "Solicitud inválida"
594
 
595
+ #: licence/lib/yit-licence.php:731
596
  msgid "Invalid license key"
597
  msgstr "Clave de solicitud inválida"
598
 
599
+ #: licence/lib/yit-licence.php:732
600
  msgid "Software has been deactivated"
601
  msgstr "El software ha sido desactivado"
602
 
603
+ #: licence/lib/yit-licence.php:733
604
  msgid "Maximum number of activations exceeded"
605
  msgstr "Se ha excedido el número máximo de solicitudes"
606
 
607
+ #: licence/lib/yit-licence.php:734
608
  msgid "Invalid instance ID"
609
  msgstr "Instancia ID inválida"
610
 
611
+ #: licence/lib/yit-licence.php:735
612
  msgid "Invalid security key"
613
  msgstr "Clave de seguridad inválida"
614
 
615
+ #: licence/lib/yit-licence.php:736
616
  msgid "License key has expired"
617
  msgstr "La clave de licencia ha caducado"
618
 
619
+ #: licence/lib/yit-licence.php:737
620
  msgid "License key has been banned"
621
  msgstr "La clave de licencia ha sido bloqueada"
622
 
623
+ #: licence/lib/yit-licence.php:738
624
  msgid "Current product is not included in your YITH Club Subscription key"
625
  msgstr ""
626
  "Producto actual no está incluido en la clave de suscripción de Club de YITH"
627
 
628
+ #: licence/lib/yit-licence.php:739
629
  msgid "Great"
630
  msgstr "Excelente"
631
 
632
+ #: licence/lib/yit-licence.php:739
633
  msgid "License successfully activated"
634
  msgstr "Licencia activada con éxito"
635
 
636
+ #: licence/lib/yit-licence.php:740
637
  msgid "License key deactivated for website"
638
  msgstr "Clave de licencia desactivada para nuestro sitio web"
639
 
643
  msgid "License Activation"
644
  msgstr "Activación de la Licencia"
645
 
646
+ #: licence/lib/yit-plugin-licence.php:142
647
+ msgctxt ""
648
+ "[Part of]: Warning! You didn't set license key for the following products:"
649
+ "[Plugins List] which means you're missing out on updates and support. Enter "
650
+ "your license key, please."
651
+ msgid "Warning!"
652
+ msgstr "¡Atención! "
653
+
654
+ #: licence/lib/yit-plugin-licence.php:142
655
+ msgctxt ""
656
+ "[Part of]: Warning! You didn't set license key for the following products:"
657
+ "[Plugins List] which means you're missing out on updates and support. Enter "
658
+ "your license key, please."
659
+ msgid "You didn't set license key for the following products"
660
+ msgstr "No has establecido la clave de licencia para los siguientes productos"
661
+
662
+ #: licence/lib/yit-plugin-licence.php:145
663
+ msgctxt ""
664
+ "[Part of]: Warning! You didn't set license key for the following products:"
665
+ "[Plugins List] which means you're missing out on updates and support. Enter "
666
+ "your license key, please."
667
+ msgid "which means you're missing out on updates and support"
668
+ msgstr "lo que significa que estás perdiendo actualizaciones y soporte"
669
+
670
+ #: licence/lib/yit-plugin-licence.php:147
671
+ msgctxt ""
672
+ "[Part of]: Warning! You didn't set license key for the following products:"
673
+ "[Plugins List] which means you're missing out on updates and support. Enter "
674
+ "your license key, please."
675
+ msgid "Enter your license key"
676
+ msgstr "Introduce tu clave de licencia"
677
+
678
+ #: licence/lib/yit-plugin-licence.php:148
679
+ msgctxt ""
680
+ "[Part of]: Warning! You didn't set license key for the following products:"
681
+ "[Plugins List] which means you're missing out on updates and support. Enter "
682
+ "your license key, please."
683
+ msgid "please"
684
+ msgstr "por favor"
685
+
686
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
687
  #, php-format
688
  msgid "%s"
697
  "tiempo. ¿Dónde la puedo encontrar?"
698
 
699
  #: licence/lib/yit-theme-licence.php:163
 
 
 
 
 
 
 
 
 
 
 
 
700
  msgid ""
701
  "If you have purchased one of our products before 27 January 2015, you can "
702
  "benefit from support and updates (the services offered with the license)\n"
721
  " se te proporcionará y que podrás encontrar en tu cuenta "
722
  "YIThemes, en la sección \"My licenses\"."
723
 
724
+ #: licence/templates/panel/activation/activation-panel.php:24
 
 
725
  msgid "YITH License Activation"
726
+ msgstr "Activación de licencia de YITH"
727
 
728
  #: licence/templates/panel/activation/activation-panel.php:27
729
+ msgid "License expiry date"
730
+ msgstr "Fecha de vencimiento de la licencia"
731
+
732
+ #: licence/templates/panel/activation/activation-panel.php:30
733
  msgid ""
734
+ "If you have renewed your product license key and the expiry date does not "
735
+ "appear up-to-date, please, click on the button <em>Check Expiry Date</em> "
736
+ "below and it will update."
737
+ msgstr ""
738
+ "Si has renovado la clave de licencia de tu producto y la fecha de "
739
+ "vencimiento no aparece actualizada, por favor, haz clic en el botón "
740
+ "<em>Comprobar fecha de vencimiento</em> debajo y se actualizará."
741
 
742
+ #: licence/templates/panel/activation/activation-panel.php:33
743
+ msgid "Check expiry date"
744
+ msgstr "Comprobar la fecha de vencimiento"
745
 
746
+ #: licence/templates/panel/activation/activation-panel.php:47
747
  msgid "Product to activate"
748
  msgid_plural "Products to activate"
749
  msgstr[0] "Producto que activar"
750
  msgstr[1] "Productos que activar"
751
 
752
+ #: licence/templates/panel/activation/activation-panel.php:50
753
+ msgid "Are you having issues with the license activation?"
754
+ msgstr "¿Estás teniendo problemas con la activación de la licencia?"
755
+
756
+ #: licence/templates/panel/activation/activation-panel.php:50
757
+ msgid "Read this article"
758
+ msgstr "Lee este artículo"
759
+
760
+ #: licence/templates/panel/activation/activation-panel.php:70
761
  msgid "Activate"
762
  msgstr "Activar"
763
 
764
+ #: licence/templates/panel/activation/activation-panel.php:89
765
  msgid "Activated"
766
  msgstr "Activado/a"
767
 
768
+ #: licence/templates/panel/activation/activation-panel.php:95
769
+ #: licence/templates/panel/activation/activation-panel.php:173
770
+ #: licence/templates/panel/activation/activation-panel.php:203
771
  msgid "Product Name"
772
  msgstr "Nombre de Producto"
773
 
774
+ #: licence/templates/panel/activation/activation-panel.php:97
775
+ #: licence/templates/panel/activation/activation-panel.php:175
776
+ #: licence/templates/panel/activation/activation-panel.php:206
777
+ msgid "Email"
778
+ msgstr "Email"
779
+
780
+ #: licence/templates/panel/activation/activation-panel.php:98
781
+ #: licence/templates/panel/activation/activation-panel.php:176
782
+ #: licence/templates/panel/activation/activation-panel.php:207
783
+ msgid "License Key"
784
+ msgstr "Clave de Licencia"
785
+
786
+ #: licence/templates/panel/activation/activation-panel.php:101
787
+ #: licence/templates/panel/activation/activation-panel.php:210
788
  msgid "Expires"
789
  msgstr "Caduca"
790
 
791
+ #: licence/templates/panel/activation/activation-panel.php:104
792
  msgid "Remaining"
793
+ msgstr "Restantes"
794
 
795
+ #: licence/templates/panel/activation/activation-panel.php:106
796
  msgid "Club Subscription"
797
+ msgstr "Suscripción al Club"
798
 
799
+ #: licence/templates/panel/activation/activation-panel.php:135
 
 
 
 
800
  #, php-format
801
  msgid "%1s out of %2s"
802
  msgstr "%1s de %2s"
803
 
804
+ #: licence/templates/panel/activation/activation-panel.php:151
805
  msgid "Deactivate"
806
  msgstr "Desactivar"
807
 
808
+ #: licence/templates/panel/activation/activation-panel.php:156
809
+ #: licence/templates/panel/activation/activation-panel.php:213
810
  msgid "Renew"
811
  msgstr "Renovado"
812
 
813
+ #: licence/templates/panel/activation/activation-panel.php:169
814
  msgid "Banned"
815
  msgstr "Bloqueado"
816
 
817
+ #: licence/templates/panel/activation/activation-panel.php:199
818
  msgid "Expired"
819
  msgstr "Caducado"
820
 
821
+ #: licence/templates/panel/activation/activation-panel.php:235
822
  msgid "Order again"
823
  msgstr "Comprar de nuevo"
824
 
825
+ #: licence/templates/panel/activation/activation-panel.php:237
826
  msgid "Renew license"
827
  msgstr "Renovar licencia"
828
 
829
  #: templates/fields/ajax-posts.php:57
 
 
830
  msgid "Search Posts"
831
+ msgstr "Buscar publicaciones"
832
 
833
  #: templates/fields/ajax-products.php:16
 
 
834
  msgid "Search Product"
835
  msgstr "Buscar un producto"
836
 
837
  #: templates/fields/customtabs.php:28
838
  msgid "Close all"
839
+ msgstr "Cerrar todo"
840
 
841
  #: templates/fields/customtabs.php:28
842
  msgid "Expand all"
843
+ msgstr "Expandir todo"
844
 
845
  #: templates/fields/customtabs.php:37 templates/fields/customtabs.php:81
846
  msgid "Remove"
852
 
853
  #: templates/fields/customtabs.php:53 templates/fields/customtabs.php:95
854
  msgid "Content of the tab. (HTML is supported)"
855
+ msgstr "Contenido de la pestaña. (Compatible con HTML)"
856
 
857
  #: templates/fields/customtabs.php:65
858
  msgid "Add custom product tab"
863
  msgstr "¿Quieres borrar la etiqueta personalizada?"
864
 
865
  #: templates/fields/icons.php:58
 
 
866
  msgid "Set Default"
867
+ msgstr "Establecer por defecto"
868
 
869
  #: templates/fields/image-gallery.php:34 templates/fields/image-gallery.php:39
870
  msgid "Delete image"
872
 
873
  #: templates/fields/image-gallery.php:39
874
  msgid "Add Images to Gallery"
875
+ msgstr "Añadir imágenes a la galería"
876
 
877
  #: templates/fields/image-gallery.php:39
878
  msgid "Add to gallery"
887
  msgstr "Borrar"
888
 
889
  #: templates/fields/select-buttons.php:26
 
 
890
  msgid "Select All"
891
+ msgstr "Seleccionar todo"
892
 
893
  #: templates/fields/select-buttons.php:33
894
  msgid "Deselect All"
895
+ msgstr "Deseleccionar todo"
896
 
897
  #: templates/fields/sidebars.php:22
898
  msgid "Left sidebar"
945
  msgid "Reset Defaults"
946
  msgstr "Ajustes predeterminados"
947
 
948
+ #: yit-plugin.php:83
949
  msgctxt "Plugin Row Meta"
950
  msgid "Live Demo"
951
+ msgstr "Demo en vivo"
952
 
953
+ #: yit-plugin.php:88
954
  msgctxt "Plugin Row Meta"
955
  msgid "Documentation"
956
+ msgstr "Documentación"
957
 
958
+ #: yit-plugin.php:93
959
  msgctxt "Plugin Row Meta"
960
  msgid "Support"
961
+ msgstr "Soporte"
962
 
963
+ #: yit-plugin.php:98
 
 
964
  msgctxt "Plugin Row Meta"
965
  msgid "Premium version"
966
+ msgstr "Versión premium"
967
 
968
+ #: yit-plugin.php:193
 
 
969
  msgctxt "Action links"
970
  msgid "Settings"
971
  msgstr "Ajustes"
972
 
973
+ #: yit-plugin.php:197
 
 
974
  msgid "License"
975
+ msgstr "Licencia"
976
+
977
+ #~ msgid ""
978
+ #~ "Have you updated your licenses? Have you asked for an extension? Update "
979
+ #~ "information concerning your products."
980
+ #~ msgstr ""
981
+ #~ "¿Has actualizado tus licencias? ¿Has pedido una extensión? Actualiza"
982
+
983
+ #~ msgid "Update license information"
984
+ #~ msgstr "Actualizar la información de la licencia"
985
+
986
+ #~ msgid "License Actions"
987
+ #~ msgstr "Acciones de Licencia"
988
+
989
+ #~ msgctxt "%s = field name"
990
+ #~ msgid "%s field cannot be empty"
991
+ #~ msgstr "%s el campo no puede estar vacío"
992
+
993
+ #~ msgid "%s and %s fields cannot be empty"
994
+ #~ msgstr "Los campos %s y %s no pueden estar vacíos"
995
 
996
  #~ msgid "Hide sidebar"
997
  #~ msgstr "Ocultar barra lateral"
plugin-fw/languages/yith-plugin-fw-it_IT.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-it_IT.po CHANGED
@@ -4,15 +4,15 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
6
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2018-10-23 15:44+0200\n"
8
- "PO-Revision-Date: 2018-10-24 13:28+0200\n"
9
  "Last-Translator: \n"
10
  "Language-Team: YIThemes <plugins@yithemes.com>\n"
11
  "Language: it_IT\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 2.0.8\n"
16
  "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
17
  "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
18
  "esc_html_x:1,2c\n"
@@ -277,16 +277,16 @@ msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
277
  msgid "Plugin Settings"
278
  msgstr "Impostazioni plugin"
279
 
280
- #: lib/yit-plugin-panel.php:335 lib/yit-plugin-panel.php:338
281
  msgid "How to install premium version"
282
  msgstr "Come installare la versione premium"
283
 
284
- #: lib/yit-plugin-panel.php:389 lib/yit-plugin-subpanel.php:156
285
  #: templates/panel/woocommerce/woocommerce-form.php:11
286
  msgid "Save Changes"
287
  msgstr "Salva modifiche"
288
 
289
- #: lib/yit-plugin-panel.php:392 lib/yit-plugin-subpanel.php:159
290
  #: templates/panel/woocommerce/woocommerce-form.php:14
291
  msgid ""
292
  "If you continue with this action, you will reset all options in this page."
@@ -294,53 +294,53 @@ msgstr ""
294
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
295
  "reimpostate."
296
 
297
- #: lib/yit-plugin-panel.php:394 lib/yit-plugin-subpanel.php:161
298
  msgid "Reset to default"
299
  msgstr "Ripristina configurazione predefinita"
300
 
301
- #: lib/yit-plugin-panel.php:395 lib/yit-plugin-subpanel.php:162
302
  #: templates/panel/woocommerce/woocommerce-form.php:18
303
  msgid "Are you sure?"
304
  msgstr "Sei sicuro?"
305
 
306
- #: lib/yit-plugin-panel.php:529
307
  msgid ""
308
  "The element you have entered already exists. Please, enter another name."
309
  msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
310
 
311
- #: lib/yit-plugin-panel.php:530
312
  msgid "Settings saved"
313
  msgstr "Impostazioni salvate"
314
 
315
- #: lib/yit-plugin-panel.php:531
316
  msgid "Settings reset"
317
  msgstr "Impostazioni azzerate"
318
 
319
- #: lib/yit-plugin-panel.php:532
320
  msgid "Element deleted correctly."
321
  msgstr "Elemento rimosso correttamente."
322
 
323
- #: lib/yit-plugin-panel.php:533 lib/yit-plugin-panel.php:534
324
  msgid "Element updated correctly."
325
  msgstr "Elemento aggiornato correttamente."
326
 
327
- #: lib/yit-plugin-panel.php:535
328
  msgid "Database imported correctly."
329
  msgstr "Database importato correttamente."
330
 
331
- #: lib/yit-plugin-panel.php:536
332
  msgid "An error has occurred during import. Please try again."
333
  msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
334
 
335
- #: lib/yit-plugin-panel.php:537
336
  msgid "The added file is not valid."
337
  msgstr "Il file aggiunto non è valido."
338
 
339
- #: lib/yit-plugin-panel.php:538
340
  msgid "Sorry, import is disabled."
341
  msgstr "Ci dispiace, l'importazione è disabilitata."
342
 
343
- #: lib/yit-plugin-panel.php:539
344
  msgid "Sorting successful."
345
  msgstr "Ordinamento effettuato con successo."
346
 
@@ -395,42 +395,60 @@ msgstr ""
395
  msgid "An unexpected error occurred, please try again later. Thanks!"
396
  msgstr "Si è verificato un errore inaspettato, riprova più tardi. Grazie!"
397
 
398
- #: lib/yit-upgrade.php:190
399
  msgid "There is a new version of %plugin_name% available."
400
  msgstr "Una nuova versione di %plugin_name% è disponibile."
401
 
402
- #: lib/yit-upgrade.php:191
403
  msgid "View version %latest% details."
404
  msgstr "Visualizza i dettagli della versione %latest%."
405
 
406
- #: lib/yit-upgrade.php:192
407
  msgid "Automatic update is unavailable for this plugin,"
408
  msgstr "L'aggiornamento automatico non è disponibile per questo plugin,"
409
 
410
- #: lib/yit-upgrade.php:193
411
  msgid ""
412
  "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
413
  msgstr ""
414
  "per favore, <a href=\"%activate_link%\">attiva</a> la tua copia di "
415
  "%plugin_name%."
416
 
417
- #: lib/yit-upgrade.php:194
418
  msgid "Update now."
419
  msgstr "Aggiorna adesso."
420
 
421
- #: lib/yit-upgrade.php:295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
422
  msgid "YITH Repository"
423
  msgstr "Repository YITH"
424
 
425
- #: lib/yit-upgrade.php:329
426
  msgid "Invalid URL Provided."
427
  msgstr "L'URL inserito non è valido."
428
 
429
- #: lib/yit-upgrade.php:342
430
  msgid "Could not create Temporary file."
431
  msgstr "Non è stato possibile creare il file temporaneo."
432
 
433
- #: lib/yit-upgrade.php:502
434
  #, php-format
435
  msgid ""
436
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
@@ -441,7 +459,7 @@ msgstr ""
441
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
442
  "%4$s</a>."
443
 
444
- #: lib/yit-upgrade.php:504
445
  #, php-format
446
  msgid ""
447
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
@@ -454,7 +472,7 @@ msgstr ""
454
  "%4$s</a>. <em>Per poter usufruire degli aggiornamenti automatici è "
455
  "necessario attivare il plugin su un solo sito.</em>"
456
 
457
- #: lib/yit-upgrade.php:506
458
  #, php-format
459
  msgid ""
460
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
@@ -469,7 +487,7 @@ msgstr ""
469
  "plugin, per piacere <a href=\"%5$s\" title=\"License activation\">attiva</a> "
470
  "la tua copia di %6s.</em>"
471
 
472
- #: lib/yit-upgrade.php:508
473
  #, php-format
474
  msgid ""
475
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
@@ -480,99 +498,118 @@ msgstr ""
480
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
481
  "%4$s</a> oppure <a href=\"%5$s\">aggiorna adesso</a>."
482
 
483
- #: lib/yit-upgrade.php:581
 
 
 
 
 
 
 
 
 
 
 
 
484
  msgid "You can't update the plugins for this site."
485
  msgstr "Non è possibile aggiornare i plugin per questo sito."
486
 
487
- #: lib/yit-upgrade.php:585
488
  msgid ""
489
  "You do not have sufficient permissions to update the plugins for this site."
490
  msgstr ""
491
  "Non sei in possesso delle autorizzazioni necessarie per aggiornare i plugin "
492
  "in questo sito."
493
 
494
- #: lib/yit-upgrade.php:592
495
  msgid "Update Plugin"
496
  msgstr "Aggiorna plugin"
497
 
498
- #: licence/lib/yit-licence.php:186
 
 
 
 
 
 
 
 
 
 
 
 
 
499
  #, php-format
500
  msgctxt "%s = field name"
501
- msgid "%s field cannot be empty"
502
- msgstr "Il campo %s non può essere vuoto"
503
 
504
- #: licence/lib/yit-licence.php:187
505
  #, php-format
506
- msgid "%s and %s fields cannot be empty"
507
- msgstr "I campi %s e %s non possono essere vuoti"
508
 
509
- #: licence/lib/yit-licence.php:188
510
  msgid "Unable to contact the remote server, please try again later. Thanks!"
511
  msgstr "Impossibile contattare il server remoto, prova più tardi. Grazie!"
512
 
513
- #: licence/lib/yit-licence.php:189
514
- #: licence/templates/panel/activation/activation-panel.php:92
515
- #: licence/templates/panel/activation/activation-panel.php:170
516
- #: licence/templates/panel/activation/activation-panel.php:201
517
- msgid "Email"
518
- msgstr "Email"
519
 
520
- #: licence/lib/yit-licence.php:190
521
- #: licence/templates/panel/activation/activation-panel.php:93
522
- #: licence/templates/panel/activation/activation-panel.php:171
523
- #: licence/templates/panel/activation/activation-panel.php:202
524
- msgid "License Key"
525
- msgstr "Chiave di licenza"
526
 
527
- #: licence/lib/yit-licence.php:191
528
  msgid "Are you sure you want to deactivate the license for current site?"
529
  msgstr "Sei sicuro di voler disattivare la licenza per questo sito?"
530
 
531
- #: licence/lib/yit-licence.php:685
532
  msgid "Invalid Request"
533
  msgstr "Richiesta non valida"
534
 
535
- #: licence/lib/yit-licence.php:686
536
  msgid "Invalid license key"
537
  msgstr "Chiave di licenza non valida"
538
 
539
- #: licence/lib/yit-licence.php:687
540
  msgid "Software has been deactivated"
541
  msgstr "Il software è stato disattivato"
542
 
543
- #: licence/lib/yit-licence.php:688
544
  msgid "Maximum number of activations exceeded"
545
  msgstr "Hai raggiunto il numero massimo di attivazioni"
546
 
547
- #: licence/lib/yit-licence.php:689
548
  msgid "Invalid instance ID"
549
  msgstr "Istanza ID non valida"
550
 
551
- #: licence/lib/yit-licence.php:690
552
  msgid "Invalid security key"
553
  msgstr "Chiave di sicurezza non valida"
554
 
555
- #: licence/lib/yit-licence.php:691
556
  msgid "License key has expired"
557
  msgstr "La chiave di licenza è scaduta"
558
 
559
- #: licence/lib/yit-licence.php:692
560
  msgid "License key has been banned"
561
  msgstr "La chiave di licenza è stata bloccata"
562
 
563
- #: licence/lib/yit-licence.php:693
564
  msgid "Current product is not included in your YITH Club Subscription key"
565
  msgstr "Questo prodotto non è incluso nella tua licenze YITH Club Subscription"
566
 
567
- #: licence/lib/yit-licence.php:694
568
  msgid "Great"
569
  msgstr "Grande!"
570
 
571
- #: licence/lib/yit-licence.php:694
572
  msgid "License successfully activated"
573
  msgstr "Licenza attivata con successo"
574
 
575
- #: licence/lib/yit-licence.php:695
576
  msgid "License key deactivated for website"
577
  msgstr "Chiave di licenza disattivata per il sito web"
578
 
@@ -582,6 +619,48 @@ msgstr "Chiave di licenza disattivata per il sito web"
582
  msgid "License Activation"
583
  msgstr "Attivazione licenza"
584
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
585
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
586
  #, php-format
587
  msgid "%s"
@@ -623,82 +702,103 @@ msgstr ""
623
  msgid "YITH License Activation"
624
  msgstr "Attivazione licenza YITH"
625
 
626
- #: licence/templates/panel/activation/activation-panel.php:28
 
 
 
 
 
 
627
  msgid ""
628
- "Have you updated your licenses? Have you asked for an extension? Update "
629
- "information concerning your products."
 
630
  msgstr ""
631
- "Hai aggiornato la tua licenza? Hai richiesto un'estensione? Aggiorna le "
632
- "informazioni dei tuoi prodotti."
633
 
634
- #: licence/templates/panel/activation/activation-panel.php:30
635
- msgid "Update license information"
636
- msgstr "Aggiorna informazioni licenza"
637
 
638
- #: licence/templates/panel/activation/activation-panel.php:43
639
  msgid "Product to activate"
640
  msgid_plural "Products to activate"
641
  msgstr[0] "Prodotto da attivare"
642
  msgstr[1] "Prodotti da attivare"
643
 
644
- #: licence/templates/panel/activation/activation-panel.php:65
 
 
 
 
 
 
 
 
645
  msgid "Activate"
646
  msgstr "Attiva"
647
 
648
- #: licence/templates/panel/activation/activation-panel.php:84
649
  msgid "Activated"
650
  msgstr "Attivato"
651
 
652
- #: licence/templates/panel/activation/activation-panel.php:90
653
- #: licence/templates/panel/activation/activation-panel.php:168
654
- #: licence/templates/panel/activation/activation-panel.php:198
655
  msgid "Product Name"
656
  msgstr "Nome prodotto"
657
 
658
- #: licence/templates/panel/activation/activation-panel.php:96
659
- #: licence/templates/panel/activation/activation-panel.php:205
 
 
 
 
 
 
 
 
 
 
 
 
660
  msgid "Expires"
661
  msgstr "Scadenza"
662
 
663
- #: licence/templates/panel/activation/activation-panel.php:99
664
  msgid "Remaining"
665
  msgstr "Tempo rimanente"
666
 
667
- #: licence/templates/panel/activation/activation-panel.php:101
668
  msgid "Club Subscription"
669
  msgstr "Club Subscription"
670
 
671
- #: licence/templates/panel/activation/activation-panel.php:105
672
- msgid "License Actions"
673
- msgstr "Azioni licenza"
674
-
675
- #: licence/templates/panel/activation/activation-panel.php:130
676
  #, php-format
677
  msgid "%1s out of %2s"
678
  msgstr "%1s di %2s"
679
 
680
- #: licence/templates/panel/activation/activation-panel.php:146
681
  msgid "Deactivate"
682
  msgstr "Disattiva"
683
 
684
- #: licence/templates/panel/activation/activation-panel.php:151
685
- #: licence/templates/panel/activation/activation-panel.php:208
686
  msgid "Renew"
687
  msgstr "Rinnova"
688
 
689
- #: licence/templates/panel/activation/activation-panel.php:164
690
  msgid "Banned"
691
  msgstr "Bloccato"
692
 
693
- #: licence/templates/panel/activation/activation-panel.php:194
694
  msgid "Expired"
695
  msgstr "Non più valido"
696
 
697
- #: licence/templates/panel/activation/activation-panel.php:230
698
  msgid "Order again"
699
  msgstr "Acquista di nuovo"
700
 
701
- #: licence/templates/panel/activation/activation-panel.php:232
702
  msgid "Renew license"
703
  msgstr "Rinnova la licenza"
704
 
@@ -821,35 +921,55 @@ msgstr "(Default: <i %s></i> )"
821
  msgid "Reset Defaults"
822
  msgstr "Ripristina impostazioni iniziali"
823
 
824
- #: yit-plugin.php:77
825
  msgctxt "Plugin Row Meta"
826
  msgid "Live Demo"
827
  msgstr "Live Demo"
828
 
829
- #: yit-plugin.php:82
830
  msgctxt "Plugin Row Meta"
831
  msgid "Documentation"
832
  msgstr "Documentazione"
833
 
834
- #: yit-plugin.php:87
835
  msgctxt "Plugin Row Meta"
836
  msgid "Support"
837
  msgstr "Assistenza"
838
 
839
- #: yit-plugin.php:92
840
  msgctxt "Plugin Row Meta"
841
  msgid "Premium version"
842
  msgstr "Versione premium"
843
 
844
- #: yit-plugin.php:187
845
  msgctxt "Action links"
846
  msgid "Settings"
847
  msgstr "Impostazioni"
848
 
849
- #: yit-plugin.php:191
850
  msgid "License"
851
  msgstr "Chiave di licenza"
852
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
853
  #~ msgid "Hide sidebar"
854
  #~ msgstr "Nascondi barra laterale"
855
 
4
  msgstr ""
5
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
6
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2019-02-04 16:06+0100\n"
8
+ "PO-Revision-Date: 2019-02-04 16:07+0100\n"
9
  "Last-Translator: \n"
10
  "Language-Team: YIThemes <plugins@yithemes.com>\n"
11
  "Language: it_IT\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 2.2.1\n"
16
  "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
17
  "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
18
  "esc_html_x:1,2c\n"
277
  msgid "Plugin Settings"
278
  msgstr "Impostazioni plugin"
279
 
280
+ #: lib/yit-plugin-panel.php:339 lib/yit-plugin-panel.php:342
281
  msgid "How to install premium version"
282
  msgstr "Come installare la versione premium"
283
 
284
+ #: lib/yit-plugin-panel.php:393 lib/yit-plugin-subpanel.php:156
285
  #: templates/panel/woocommerce/woocommerce-form.php:11
286
  msgid "Save Changes"
287
  msgstr "Salva modifiche"
288
 
289
+ #: lib/yit-plugin-panel.php:396 lib/yit-plugin-subpanel.php:159
290
  #: templates/panel/woocommerce/woocommerce-form.php:14
291
  msgid ""
292
  "If you continue with this action, you will reset all options in this page."
294
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
295
  "reimpostate."
296
 
297
+ #: lib/yit-plugin-panel.php:398 lib/yit-plugin-subpanel.php:161
298
  msgid "Reset to default"
299
  msgstr "Ripristina configurazione predefinita"
300
 
301
+ #: lib/yit-plugin-panel.php:399 lib/yit-plugin-subpanel.php:162
302
  #: templates/panel/woocommerce/woocommerce-form.php:18
303
  msgid "Are you sure?"
304
  msgstr "Sei sicuro?"
305
 
306
+ #: lib/yit-plugin-panel.php:533
307
  msgid ""
308
  "The element you have entered already exists. Please, enter another name."
309
  msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
310
 
311
+ #: lib/yit-plugin-panel.php:534
312
  msgid "Settings saved"
313
  msgstr "Impostazioni salvate"
314
 
315
+ #: lib/yit-plugin-panel.php:535
316
  msgid "Settings reset"
317
  msgstr "Impostazioni azzerate"
318
 
319
+ #: lib/yit-plugin-panel.php:536
320
  msgid "Element deleted correctly."
321
  msgstr "Elemento rimosso correttamente."
322
 
323
+ #: lib/yit-plugin-panel.php:537 lib/yit-plugin-panel.php:538
324
  msgid "Element updated correctly."
325
  msgstr "Elemento aggiornato correttamente."
326
 
327
+ #: lib/yit-plugin-panel.php:539
328
  msgid "Database imported correctly."
329
  msgstr "Database importato correttamente."
330
 
331
+ #: lib/yit-plugin-panel.php:540
332
  msgid "An error has occurred during import. Please try again."
333
  msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
334
 
335
+ #: lib/yit-plugin-panel.php:541
336
  msgid "The added file is not valid."
337
  msgstr "Il file aggiunto non è valido."
338
 
339
+ #: lib/yit-plugin-panel.php:542
340
  msgid "Sorry, import is disabled."
341
  msgstr "Ci dispiace, l'importazione è disabilitata."
342
 
343
+ #: lib/yit-plugin-panel.php:543
344
  msgid "Sorting successful."
345
  msgstr "Ordinamento effettuato con successo."
346
 
395
  msgid "An unexpected error occurred, please try again later. Thanks!"
396
  msgstr "Si è verificato un errore inaspettato, riprova più tardi. Grazie!"
397
 
398
+ #: lib/yit-upgrade.php:196
399
  msgid "There is a new version of %plugin_name% available."
400
  msgstr "Una nuova versione di %plugin_name% è disponibile."
401
 
402
+ #: lib/yit-upgrade.php:197
403
  msgid "View version %latest% details."
404
  msgstr "Visualizza i dettagli della versione %latest%."
405
 
406
+ #: lib/yit-upgrade.php:198
407
  msgid "Automatic update is unavailable for this plugin,"
408
  msgstr "L'aggiornamento automatico non è disponibile per questo plugin,"
409
 
410
+ #: lib/yit-upgrade.php:199
411
  msgid ""
412
  "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
413
  msgstr ""
414
  "per favore, <a href=\"%activate_link%\">attiva</a> la tua copia di "
415
  "%plugin_name%."
416
 
417
+ #: lib/yit-upgrade.php:200
418
  msgid "Update now."
419
  msgstr "Aggiorna adesso."
420
 
421
+ #: lib/yit-upgrade.php:201
422
+ msgid ""
423
+ "<br/><b>Please note:</b> You are using a higher version than the latest "
424
+ "available one. </em>Please, make sure you've downloaded the latest version "
425
+ "of <em>%1$s</em> from the only <a href=\"https://yithemes.com\" target="
426
+ "\"_blank\">YITH official website</a>, specifically, from your <a href="
427
+ "\"https://yithemes.com/my-account/recent-downloads/\" target=\"_blank"
428
+ "\">Downloads page</a>. This is the only way to be sure the version you are "
429
+ "using is 100% malware-free."
430
+ msgstr ""
431
+
432
+ #: lib/yit-upgrade.php:303
433
+ #, fuzzy
434
+ #| msgid "You have to activate the plugin to benefit from automatic updates."
435
+ msgctxt "[Update Plugin Message: License not enabled]"
436
+ msgid "You have to activate the plugin to benefit from automatic updates."
437
+ msgstr "Devi attivare il plugin per usufruire degli update automatici."
438
+
439
+ #: lib/yit-upgrade.php:325
440
  msgid "YITH Repository"
441
  msgstr "Repository YITH"
442
 
443
+ #: lib/yit-upgrade.php:359
444
  msgid "Invalid URL Provided."
445
  msgstr "L'URL inserito non è valido."
446
 
447
+ #: lib/yit-upgrade.php:372
448
  msgid "Could not create Temporary file."
449
  msgstr "Non è stato possibile creare il file temporaneo."
450
 
451
+ #: lib/yit-upgrade.php:547
452
  #, php-format
453
  msgid ""
454
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
459
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
460
  "%4$s</a>."
461
 
462
+ #: lib/yit-upgrade.php:551
463
  #, php-format
464
  msgid ""
465
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
472
  "%4$s</a>. <em>Per poter usufruire degli aggiornamenti automatici è "
473
  "necessario attivare il plugin su un solo sito.</em>"
474
 
475
+ #: lib/yit-upgrade.php:555
476
  #, php-format
477
  msgid ""
478
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
487
  "plugin, per piacere <a href=\"%5$s\" title=\"License activation\">attiva</a> "
488
  "la tua copia di %6s.</em>"
489
 
490
+ #: lib/yit-upgrade.php:559
491
  #, php-format
492
  msgid ""
493
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
498
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
499
  "%4$s</a> oppure <a href=\"%5$s\">aggiorna adesso</a>."
500
 
501
+ #: lib/yit-upgrade.php:563
502
+ #, php-format
503
+ msgid ""
504
+ "<br/><b>Please note:</b> You are using a higher version than the latest "
505
+ "available one. </em>Please, make sure you've downloaded the latest version "
506
+ "of <em>%1$s</em> from the only <a href=\"https://yithemes.com\" target="
507
+ "\"_blank\">YITH official website</a>, specifically, from your <a href="
508
+ "\"https://yithemes.com/my-account/recent-downloads/\" target=\"_blank"
509
+ "\">Downloads page</a>. This is the only way to be sure the version you are "
510
+ "using is 100%% malware-free."
511
+ msgstr ""
512
+
513
+ #: lib/yit-upgrade.php:635
514
  msgid "You can't update the plugins for this site."
515
  msgstr "Non è possibile aggiornare i plugin per questo sito."
516
 
517
+ #: lib/yit-upgrade.php:639
518
  msgid ""
519
  "You do not have sufficient permissions to update the plugins for this site."
520
  msgstr ""
521
  "Non sei in possesso delle autorizzazioni necessarie per aggiornare i plugin "
522
  "in questo sito."
523
 
524
+ #: lib/yit-upgrade.php:646
525
  msgid "Update Plugin"
526
  msgstr "Aggiorna plugin"
527
 
528
+ #: lib/yith-dashboard.php:40
529
+ msgid "New YITH products"
530
+ msgstr ""
531
+
532
+ #: lib/yith-dashboard.php:41
533
+ msgid "News from the YITH Blog"
534
+ msgstr ""
535
+
536
+ #: lib/yith-gutenberg.php:134
537
+ msgctxt "[gutenberg]: Category Name"
538
+ msgid "YITH"
539
+ msgstr ""
540
+
541
+ #: licence/lib/yit-licence.php:180
542
  #, php-format
543
  msgctxt "%s = field name"
544
+ msgid "Please, insert a valid %s"
545
+ msgstr "Per favore, inserisci una %s valida"
546
 
547
+ #: licence/lib/yit-licence.php:181
548
  #, php-format
549
+ msgid "Please, insert a valid %s and a valid %s"
550
+ msgstr "Per favore, inserire una %s valida ed una %s valida"
551
 
552
+ #: licence/lib/yit-licence.php:182
553
  msgid "Unable to contact the remote server, please try again later. Thanks!"
554
  msgstr "Impossibile contattare il server remoto, prova più tardi. Grazie!"
555
 
556
+ #: licence/lib/yit-licence.php:183
557
+ msgid "email address"
558
+ msgstr "email"
 
 
 
559
 
560
+ #: licence/lib/yit-licence.php:184
561
+ msgid "license key"
562
+ msgstr "chiave di licenza"
 
 
 
563
 
564
+ #: licence/lib/yit-licence.php:185
565
  msgid "Are you sure you want to deactivate the license for current site?"
566
  msgstr "Sei sicuro di voler disattivare la licenza per questo sito?"
567
 
568
+ #: licence/lib/yit-licence.php:730
569
  msgid "Invalid Request"
570
  msgstr "Richiesta non valida"
571
 
572
+ #: licence/lib/yit-licence.php:731
573
  msgid "Invalid license key"
574
  msgstr "Chiave di licenza non valida"
575
 
576
+ #: licence/lib/yit-licence.php:732
577
  msgid "Software has been deactivated"
578
  msgstr "Il software è stato disattivato"
579
 
580
+ #: licence/lib/yit-licence.php:733
581
  msgid "Maximum number of activations exceeded"
582
  msgstr "Hai raggiunto il numero massimo di attivazioni"
583
 
584
+ #: licence/lib/yit-licence.php:734
585
  msgid "Invalid instance ID"
586
  msgstr "Istanza ID non valida"
587
 
588
+ #: licence/lib/yit-licence.php:735
589
  msgid "Invalid security key"
590
  msgstr "Chiave di sicurezza non valida"
591
 
592
+ #: licence/lib/yit-licence.php:736
593
  msgid "License key has expired"
594
  msgstr "La chiave di licenza è scaduta"
595
 
596
+ #: licence/lib/yit-licence.php:737
597
  msgid "License key has been banned"
598
  msgstr "La chiave di licenza è stata bloccata"
599
 
600
+ #: licence/lib/yit-licence.php:738
601
  msgid "Current product is not included in your YITH Club Subscription key"
602
  msgstr "Questo prodotto non è incluso nella tua licenze YITH Club Subscription"
603
 
604
+ #: licence/lib/yit-licence.php:739
605
  msgid "Great"
606
  msgstr "Grande!"
607
 
608
+ #: licence/lib/yit-licence.php:739
609
  msgid "License successfully activated"
610
  msgstr "Licenza attivata con successo"
611
 
612
+ #: licence/lib/yit-licence.php:740
613
  msgid "License key deactivated for website"
614
  msgstr "Chiave di licenza disattivata per il sito web"
615
 
619
  msgid "License Activation"
620
  msgstr "Attivazione licenza"
621
 
622
+ #: licence/lib/yit-plugin-licence.php:142
623
+ msgctxt ""
624
+ "[Part of]: Warning! You didn't set license key for the following products:"
625
+ "[Plugins List] which means you're missing out on updates and support. Enter "
626
+ "your license key, please."
627
+ msgid "Warning!"
628
+ msgstr ""
629
+
630
+ #: licence/lib/yit-plugin-licence.php:142
631
+ msgctxt ""
632
+ "[Part of]: Warning! You didn't set license key for the following products:"
633
+ "[Plugins List] which means you're missing out on updates and support. Enter "
634
+ "your license key, please."
635
+ msgid "You didn't set license key for the following products"
636
+ msgstr ""
637
+
638
+ #: licence/lib/yit-plugin-licence.php:145
639
+ msgctxt ""
640
+ "[Part of]: Warning! You didn't set license key for the following products:"
641
+ "[Plugins List] which means you're missing out on updates and support. Enter "
642
+ "your license key, please."
643
+ msgid "which means you're missing out on updates and support"
644
+ msgstr ""
645
+
646
+ #: licence/lib/yit-plugin-licence.php:147
647
+ #, fuzzy
648
+ #| msgid "license key"
649
+ msgctxt ""
650
+ "[Part of]: Warning! You didn't set license key for the following products:"
651
+ "[Plugins List] which means you're missing out on updates and support. Enter "
652
+ "your license key, please."
653
+ msgid "Enter your license key"
654
+ msgstr "chiave di licenza"
655
+
656
+ #: licence/lib/yit-plugin-licence.php:148
657
+ msgctxt ""
658
+ "[Part of]: Warning! You didn't set license key for the following products:"
659
+ "[Plugins List] which means you're missing out on updates and support. Enter "
660
+ "your license key, please."
661
+ msgid "please"
662
+ msgstr ""
663
+
664
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
665
  #, php-format
666
  msgid "%s"
702
  msgid "YITH License Activation"
703
  msgstr "Attivazione licenza YITH"
704
 
705
+ #: licence/templates/panel/activation/activation-panel.php:27
706
+ #, fuzzy
707
+ #| msgid "License key has expired"
708
+ msgid "License expiry date"
709
+ msgstr "La chiave di licenza è scaduta"
710
+
711
+ #: licence/templates/panel/activation/activation-panel.php:30
712
  msgid ""
713
+ "If you have renewed your product license key and the expiry date does not "
714
+ "appear up-to-date, please, click on the button <em>Check Expiry Date</em> "
715
+ "below and it will update."
716
  msgstr ""
 
 
717
 
718
+ #: licence/templates/panel/activation/activation-panel.php:33
719
+ msgid "Check expiry date"
720
+ msgstr ""
721
 
722
+ #: licence/templates/panel/activation/activation-panel.php:47
723
  msgid "Product to activate"
724
  msgid_plural "Products to activate"
725
  msgstr[0] "Prodotto da attivare"
726
  msgstr[1] "Prodotti da attivare"
727
 
728
+ #: licence/templates/panel/activation/activation-panel.php:50
729
+ msgid "Are you having issues with the license activation?"
730
+ msgstr ""
731
+
732
+ #: licence/templates/panel/activation/activation-panel.php:50
733
+ msgid "Read this article"
734
+ msgstr ""
735
+
736
+ #: licence/templates/panel/activation/activation-panel.php:70
737
  msgid "Activate"
738
  msgstr "Attiva"
739
 
740
+ #: licence/templates/panel/activation/activation-panel.php:89
741
  msgid "Activated"
742
  msgstr "Attivato"
743
 
744
+ #: licence/templates/panel/activation/activation-panel.php:95
745
+ #: licence/templates/panel/activation/activation-panel.php:173
746
+ #: licence/templates/panel/activation/activation-panel.php:203
747
  msgid "Product Name"
748
  msgstr "Nome prodotto"
749
 
750
+ #: licence/templates/panel/activation/activation-panel.php:97
751
+ #: licence/templates/panel/activation/activation-panel.php:175
752
+ #: licence/templates/panel/activation/activation-panel.php:206
753
+ msgid "Email"
754
+ msgstr "Email"
755
+
756
+ #: licence/templates/panel/activation/activation-panel.php:98
757
+ #: licence/templates/panel/activation/activation-panel.php:176
758
+ #: licence/templates/panel/activation/activation-panel.php:207
759
+ msgid "License Key"
760
+ msgstr "Chiave di licenza"
761
+
762
+ #: licence/templates/panel/activation/activation-panel.php:101
763
+ #: licence/templates/panel/activation/activation-panel.php:210
764
  msgid "Expires"
765
  msgstr "Scadenza"
766
 
767
+ #: licence/templates/panel/activation/activation-panel.php:104
768
  msgid "Remaining"
769
  msgstr "Tempo rimanente"
770
 
771
+ #: licence/templates/panel/activation/activation-panel.php:106
772
  msgid "Club Subscription"
773
  msgstr "Club Subscription"
774
 
775
+ #: licence/templates/panel/activation/activation-panel.php:135
 
 
 
 
776
  #, php-format
777
  msgid "%1s out of %2s"
778
  msgstr "%1s di %2s"
779
 
780
+ #: licence/templates/panel/activation/activation-panel.php:151
781
  msgid "Deactivate"
782
  msgstr "Disattiva"
783
 
784
+ #: licence/templates/panel/activation/activation-panel.php:156
785
+ #: licence/templates/panel/activation/activation-panel.php:213
786
  msgid "Renew"
787
  msgstr "Rinnova"
788
 
789
+ #: licence/templates/panel/activation/activation-panel.php:169
790
  msgid "Banned"
791
  msgstr "Bloccato"
792
 
793
+ #: licence/templates/panel/activation/activation-panel.php:199
794
  msgid "Expired"
795
  msgstr "Non più valido"
796
 
797
+ #: licence/templates/panel/activation/activation-panel.php:235
798
  msgid "Order again"
799
  msgstr "Acquista di nuovo"
800
 
801
+ #: licence/templates/panel/activation/activation-panel.php:237
802
  msgid "Renew license"
803
  msgstr "Rinnova la licenza"
804
 
921
  msgid "Reset Defaults"
922
  msgstr "Ripristina impostazioni iniziali"
923
 
924
+ #: yit-plugin.php:83
925
  msgctxt "Plugin Row Meta"
926
  msgid "Live Demo"
927
  msgstr "Live Demo"
928
 
929
+ #: yit-plugin.php:88
930
  msgctxt "Plugin Row Meta"
931
  msgid "Documentation"
932
  msgstr "Documentazione"
933
 
934
+ #: yit-plugin.php:93
935
  msgctxt "Plugin Row Meta"
936
  msgid "Support"
937
  msgstr "Assistenza"
938
 
939
+ #: yit-plugin.php:98
940
  msgctxt "Plugin Row Meta"
941
  msgid "Premium version"
942
  msgstr "Versione premium"
943
 
944
+ #: yit-plugin.php:193
945
  msgctxt "Action links"
946
  msgid "Settings"
947
  msgstr "Impostazioni"
948
 
949
+ #: yit-plugin.php:197
950
  msgid "License"
951
  msgstr "Chiave di licenza"
952
 
953
+ #~ msgid ""
954
+ #~ "Have you updated your licenses? Have you asked for an extension? Update "
955
+ #~ "information concerning your products."
956
+ #~ msgstr ""
957
+ #~ "Hai aggiornato la tua licenza? Hai richiesto un'estensione? Aggiorna le "
958
+ #~ "informazioni dei tuoi prodotti."
959
+
960
+ #~ msgid "Update license information"
961
+ #~ msgstr "Aggiorna informazioni licenza"
962
+
963
+ #~ msgid "License Actions"
964
+ #~ msgstr "Azioni licenza"
965
+
966
+ #~ msgctxt "%s = field name"
967
+ #~ msgid "%s field cannot be empty"
968
+ #~ msgstr "Il campo %s non può essere vuoto"
969
+
970
+ #~ msgid "%s and %s fields cannot be empty"
971
+ #~ msgstr "I campi %s e %s non possono essere vuoti"
972
+
973
  #~ msgid "Hide sidebar"
974
  #~ msgstr "Nascondi barra laterale"
975
 
plugin-fw/languages/yith-plugin-fw.pot CHANGED
@@ -5,7 +5,7 @@ msgid ""
5
  msgstr ""
6
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
7
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
8
- "POT-Creation-Date: 2018-08-02 16:02+0200\n"
9
  "PO-Revision-Date: 2015-05-05 10:38+0100\n"
10
  "Last-Translator: \n"
11
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
@@ -13,7 +13,7 @@ msgstr ""
13
  "MIME-Version: 1.0\n"
14
  "Content-Type: text/plain; charset=UTF-8\n"
15
  "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 2.0.8\n"
17
  "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
18
  "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
19
  "esc_html_x:1,2c;_x;_ex\n"
@@ -255,7 +255,7 @@ msgstr ""
255
  msgid "Upload multiple files"
256
  msgstr ""
257
 
258
- #: lib/yit-plugin-panel-wc.php:382
259
  msgid "The changes you have made will be lost if you leave this page."
260
  msgstr ""
261
 
@@ -263,66 +263,66 @@ msgstr ""
263
  msgid "Plugin Settings"
264
  msgstr ""
265
 
266
- #: lib/yit-plugin-panel.php:330 lib/yit-plugin-panel.php:333
267
  msgid "How to install premium version"
268
  msgstr ""
269
 
270
- #: lib/yit-plugin-panel.php:384 lib/yit-plugin-subpanel.php:155
271
  #: templates/panel/woocommerce/woocommerce-form.php:11
272
  msgid "Save Changes"
273
  msgstr ""
274
 
275
- #: lib/yit-plugin-panel.php:387 lib/yit-plugin-subpanel.php:158
276
  #: templates/panel/woocommerce/woocommerce-form.php:14
277
  msgid "If you continue with this action, you will reset all options in this page."
278
  msgstr ""
279
 
280
- #: lib/yit-plugin-panel.php:389 lib/yit-plugin-subpanel.php:160
281
  msgid "Reset to default"
282
  msgstr ""
283
 
284
- #: lib/yit-plugin-panel.php:390 lib/yit-plugin-subpanel.php:161
285
  #: templates/panel/woocommerce/woocommerce-form.php:18
286
  msgid "Are you sure?"
287
  msgstr ""
288
 
289
- #: lib/yit-plugin-panel.php:524
290
  msgid "The element you have entered already exists. Please, enter another name."
291
  msgstr ""
292
 
293
- #: lib/yit-plugin-panel.php:525
294
  msgid "Settings saved"
295
  msgstr ""
296
 
297
- #: lib/yit-plugin-panel.php:526
298
  msgid "Settings reset"
299
  msgstr ""
300
 
301
- #: lib/yit-plugin-panel.php:527
302
  msgid "Element deleted correctly."
303
  msgstr ""
304
 
305
- #: lib/yit-plugin-panel.php:528 lib/yit-plugin-panel.php:529
306
  msgid "Element updated correctly."
307
  msgstr ""
308
 
309
- #: lib/yit-plugin-panel.php:530
310
  msgid "Database imported correctly."
311
  msgstr ""
312
 
313
- #: lib/yit-plugin-panel.php:531
314
  msgid "An error has occurred during import. Please try again."
315
  msgstr ""
316
 
317
- #: lib/yit-plugin-panel.php:532
318
  msgid "The added file is not valid."
319
  msgstr ""
320
 
321
- #: lib/yit-plugin-panel.php:533
322
  msgid "Sorry, import is disabled."
323
  msgstr ""
324
 
325
- #: lib/yit-plugin-panel.php:534
326
  msgid "Sorting successful."
327
  msgstr ""
328
 
@@ -360,43 +360,58 @@ msgid ""
360
  "Plugins tab."
361
  msgstr ""
362
 
363
- #: lib/yit-upgrade.php:89
364
  msgid "An unexpected error occurred, please try again later. Thanks!"
365
  msgstr ""
366
 
367
- #: lib/yit-upgrade.php:184
368
  msgid "There is a new version of %plugin_name% available."
369
  msgstr ""
370
 
371
- #: lib/yit-upgrade.php:185
372
  msgid "View version %latest% details."
373
  msgstr ""
374
 
375
- #: lib/yit-upgrade.php:186
376
  msgid "Automatic update is unavailable for this plugin,"
377
  msgstr ""
378
 
379
- #: lib/yit-upgrade.php:187
380
  msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
381
  msgstr ""
382
 
383
- #: lib/yit-upgrade.php:188
384
  msgid "Update now."
385
  msgstr ""
386
 
387
- #: lib/yit-upgrade.php:288
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  msgid "YITH Repository"
389
  msgstr ""
390
 
391
- #: lib/yit-upgrade.php:322
392
  msgid "Invalid URL Provided."
393
  msgstr ""
394
 
395
- #: lib/yit-upgrade.php:335
396
  msgid "Could not create Temporary file."
397
  msgstr ""
398
 
399
- #: lib/yit-upgrade.php:495
400
  #, php-format
401
  msgid ""
402
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -404,7 +419,7 @@ msgid ""
404
  "details</a>."
405
  msgstr ""
406
 
407
- #: lib/yit-upgrade.php:497
408
  #, php-format
409
  msgid ""
410
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -413,7 +428,7 @@ msgid ""
413
  "to benefit from automatic updates.</em>"
414
  msgstr ""
415
 
416
- #: lib/yit-upgrade.php:499
417
  #, php-format
418
  msgid ""
419
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -422,7 +437,7 @@ msgid ""
422
  "\"%5$s\" title=\"License activation\">activate</a> your copy of %6s.</em>"
423
  msgstr ""
424
 
425
- #: lib/yit-upgrade.php:501
426
  #, php-format
427
  msgid ""
428
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -430,96 +445,114 @@ msgid ""
430
  "details</a> or <a href=\"%5$s\">update now</a>."
431
  msgstr ""
432
 
433
- #: lib/yit-upgrade.php:574
 
 
 
 
 
 
 
 
 
 
 
434
  msgid "You can't update the plugins for this site."
435
  msgstr ""
436
 
437
- #: lib/yit-upgrade.php:578
438
  msgid "You do not have sufficient permissions to update the plugins for this site."
439
  msgstr ""
440
 
441
- #: lib/yit-upgrade.php:585
442
  msgid "Update Plugin"
443
  msgstr ""
444
 
445
- #: licence/lib/yit-licence.php:187
 
 
 
 
 
 
 
 
 
 
 
 
 
446
  #, php-format
447
  msgctxt "%s = field name"
448
- msgid "%s field cannot be empty"
449
  msgstr ""
450
 
451
- #: licence/lib/yit-licence.php:188
452
  #, php-format
453
- msgid "%s and %s fields cannot be empty"
454
  msgstr ""
455
 
456
- #: licence/lib/yit-licence.php:189
457
  msgid "Unable to contact the remote server, please try again later. Thanks!"
458
  msgstr ""
459
 
460
- #: licence/lib/yit-licence.php:190
461
- #: licence/templates/panel/activation/activation-panel.php:88
462
- #: licence/templates/panel/activation/activation-panel.php:166
463
- #: licence/templates/panel/activation/activation-panel.php:197
464
- msgid "Email"
465
  msgstr ""
466
 
467
- #: licence/lib/yit-licence.php:191
468
- #: licence/templates/panel/activation/activation-panel.php:89
469
- #: licence/templates/panel/activation/activation-panel.php:167
470
- #: licence/templates/panel/activation/activation-panel.php:198
471
- msgid "License Key"
472
  msgstr ""
473
 
474
- #: licence/lib/yit-licence.php:192
475
  msgid "Are you sure you want to deactivate the license for current site?"
476
  msgstr ""
477
 
478
- #: licence/lib/yit-licence.php:678
479
  msgid "Invalid Request"
480
  msgstr ""
481
 
482
- #: licence/lib/yit-licence.php:679
483
  msgid "Invalid license key"
484
  msgstr ""
485
 
486
- #: licence/lib/yit-licence.php:680
487
  msgid "Software has been deactivated"
488
  msgstr ""
489
 
490
- #: licence/lib/yit-licence.php:681
491
  msgid "Maximum number of activations exceeded"
492
  msgstr ""
493
 
494
- #: licence/lib/yit-licence.php:682
495
  msgid "Invalid instance ID"
496
  msgstr ""
497
 
498
- #: licence/lib/yit-licence.php:683
499
  msgid "Invalid security key"
500
  msgstr ""
501
 
502
- #: licence/lib/yit-licence.php:684
503
  msgid "License key has expired"
504
  msgstr ""
505
 
506
- #: licence/lib/yit-licence.php:685
507
  msgid "License key has been banned"
508
  msgstr ""
509
 
510
- #: licence/lib/yit-licence.php:686
511
  msgid "Current product is not included in your YITH Club Subscription key"
512
  msgstr ""
513
 
514
- #: licence/lib/yit-licence.php:687
515
  msgid "Great"
516
  msgstr ""
517
 
518
- #: licence/lib/yit-licence.php:687
519
  msgid "License successfully activated"
520
  msgstr ""
521
 
522
- #: licence/lib/yit-licence.php:688
523
  msgid "License key deactivated for website"
524
  msgstr ""
525
 
@@ -529,6 +562,46 @@ msgstr ""
529
  msgid "License Activation"
530
  msgstr ""
531
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
532
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
533
  #, php-format
534
  msgid "%s"
@@ -554,84 +627,105 @@ msgid ""
554
  "section \"My licenses\"."
555
  msgstr ""
556
 
557
- #: licence/templates/panel/activation/activation-panel.php:23
558
  msgid "YITH License Activation"
559
  msgstr ""
560
 
561
  #: licence/templates/panel/activation/activation-panel.php:27
 
 
 
 
562
  msgid ""
563
- "Have you updated your licenses? Have you asked for an extension? Update "
564
- "information concerning your products."
 
565
  msgstr ""
566
 
567
- #: licence/templates/panel/activation/activation-panel.php:29
568
- msgid "Update license information"
569
  msgstr ""
570
 
571
- #: licence/templates/panel/activation/activation-panel.php:42
572
  msgid "Product to activate"
573
  msgid_plural "Products to activate"
574
  msgstr[0] ""
575
  msgstr[1] ""
576
 
577
- #: licence/templates/panel/activation/activation-panel.php:61
 
 
 
 
 
 
 
 
578
  msgid "Activate"
579
  msgstr ""
580
 
581
- #: licence/templates/panel/activation/activation-panel.php:80
582
  msgid "Activated"
583
  msgstr ""
584
 
585
- #: licence/templates/panel/activation/activation-panel.php:86
586
- #: licence/templates/panel/activation/activation-panel.php:164
587
- #: licence/templates/panel/activation/activation-panel.php:194
588
  msgid "Product Name"
589
  msgstr ""
590
 
591
- #: licence/templates/panel/activation/activation-panel.php:92
592
- #: licence/templates/panel/activation/activation-panel.php:201
 
 
 
 
 
 
 
 
 
 
 
 
593
  msgid "Expires"
594
  msgstr ""
595
 
596
- #: licence/templates/panel/activation/activation-panel.php:95
597
  msgid "Remaining"
598
  msgstr ""
599
 
600
- #: licence/templates/panel/activation/activation-panel.php:97
601
  msgid "Club Subscription"
602
  msgstr ""
603
 
604
- #: licence/templates/panel/activation/activation-panel.php:101
605
- msgid "License Actions"
606
- msgstr ""
607
-
608
- #: licence/templates/panel/activation/activation-panel.php:126
609
  #, php-format
610
  msgid "%1s out of %2s"
611
  msgstr ""
612
 
613
- #: licence/templates/panel/activation/activation-panel.php:142
614
  msgid "Deactivate"
615
  msgstr ""
616
 
617
- #: licence/templates/panel/activation/activation-panel.php:147
618
- #: licence/templates/panel/activation/activation-panel.php:204
619
  msgid "Renew"
620
  msgstr ""
621
 
622
- #: licence/templates/panel/activation/activation-panel.php:160
623
  msgid "Banned"
624
  msgstr ""
625
 
626
- #: licence/templates/panel/activation/activation-panel.php:190
627
  msgid "Expired"
628
  msgstr ""
629
 
630
- #: licence/templates/panel/activation/activation-panel.php:226
631
  msgid "Order again"
632
  msgstr ""
633
 
634
- #: licence/templates/panel/activation/activation-panel.php:228
635
  msgid "Renew license"
636
  msgstr ""
637
 
@@ -754,31 +848,31 @@ msgstr ""
754
  msgid "Reset Defaults"
755
  msgstr ""
756
 
757
- #: yit-plugin.php:76
758
  msgctxt "Plugin Row Meta"
759
  msgid "Live Demo"
760
  msgstr ""
761
 
762
- #: yit-plugin.php:81
763
  msgctxt "Plugin Row Meta"
764
  msgid "Documentation"
765
  msgstr ""
766
 
767
- #: yit-plugin.php:86
768
  msgctxt "Plugin Row Meta"
769
  msgid "Support"
770
  msgstr ""
771
 
772
- #: yit-plugin.php:91
773
  msgctxt "Plugin Row Meta"
774
  msgid "Premium version"
775
  msgstr ""
776
 
777
- #: yit-plugin.php:186
778
  msgctxt "Action links"
779
  msgid "Settings"
780
  msgstr ""
781
 
782
- #: yit-plugin.php:190
783
  msgid "License"
784
  msgstr ""
5
  msgstr ""
6
  "Project-Id-Version: YITH Plugin Starter 1.0.0 Plugin FW\n"
7
  "Report-Msgid-Bugs-To: Your Inspiration Themes <plugins@yithemes.com>\n"
8
+ "POT-Creation-Date: 2019-02-04 16:04+0100\n"
9
  "PO-Revision-Date: 2015-05-05 10:38+0100\n"
10
  "Last-Translator: \n"
11
  "Language-Team: Your Inspiration Themes <info@yithemes.com>\n"
13
  "MIME-Version: 1.0\n"
14
  "Content-Type: text/plain; charset=UTF-8\n"
15
  "Content-Transfer-Encoding: 8bit\n"
16
+ "X-Generator: Poedit 2.2.1\n"
17
  "X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
18
  "_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
19
  "esc_html_x:1,2c;_x;_ex\n"
255
  msgid "Upload multiple files"
256
  msgstr ""
257
 
258
+ #: lib/yit-plugin-panel-wc.php:384
259
  msgid "The changes you have made will be lost if you leave this page."
260
  msgstr ""
261
 
263
  msgid "Plugin Settings"
264
  msgstr ""
265
 
266
+ #: lib/yit-plugin-panel.php:339 lib/yit-plugin-panel.php:342
267
  msgid "How to install premium version"
268
  msgstr ""
269
 
270
+ #: lib/yit-plugin-panel.php:393 lib/yit-plugin-subpanel.php:156
271
  #: templates/panel/woocommerce/woocommerce-form.php:11
272
  msgid "Save Changes"
273
  msgstr ""
274
 
275
+ #: lib/yit-plugin-panel.php:396 lib/yit-plugin-subpanel.php:159
276
  #: templates/panel/woocommerce/woocommerce-form.php:14
277
  msgid "If you continue with this action, you will reset all options in this page."
278
  msgstr ""
279
 
280
+ #: lib/yit-plugin-panel.php:398 lib/yit-plugin-subpanel.php:161
281
  msgid "Reset to default"
282
  msgstr ""
283
 
284
+ #: lib/yit-plugin-panel.php:399 lib/yit-plugin-subpanel.php:162
285
  #: templates/panel/woocommerce/woocommerce-form.php:18
286
  msgid "Are you sure?"
287
  msgstr ""
288
 
289
+ #: lib/yit-plugin-panel.php:533
290
  msgid "The element you have entered already exists. Please, enter another name."
291
  msgstr ""
292
 
293
+ #: lib/yit-plugin-panel.php:534
294
  msgid "Settings saved"
295
  msgstr ""
296
 
297
+ #: lib/yit-plugin-panel.php:535
298
  msgid "Settings reset"
299
  msgstr ""
300
 
301
+ #: lib/yit-plugin-panel.php:536
302
  msgid "Element deleted correctly."
303
  msgstr ""
304
 
305
+ #: lib/yit-plugin-panel.php:537 lib/yit-plugin-panel.php:538
306
  msgid "Element updated correctly."
307
  msgstr ""
308
 
309
+ #: lib/yit-plugin-panel.php:539
310
  msgid "Database imported correctly."
311
  msgstr ""
312
 
313
+ #: lib/yit-plugin-panel.php:540
314
  msgid "An error has occurred during import. Please try again."
315
  msgstr ""
316
 
317
+ #: lib/yit-plugin-panel.php:541
318
  msgid "The added file is not valid."
319
  msgstr ""
320
 
321
+ #: lib/yit-plugin-panel.php:542
322
  msgid "Sorry, import is disabled."
323
  msgstr ""
324
 
325
+ #: lib/yit-plugin-panel.php:543
326
  msgid "Sorting successful."
327
  msgstr ""
328
 
360
  "Plugins tab."
361
  msgstr ""
362
 
363
+ #: lib/yit-upgrade.php:95
364
  msgid "An unexpected error occurred, please try again later. Thanks!"
365
  msgstr ""
366
 
367
+ #: lib/yit-upgrade.php:196
368
  msgid "There is a new version of %plugin_name% available."
369
  msgstr ""
370
 
371
+ #: lib/yit-upgrade.php:197
372
  msgid "View version %latest% details."
373
  msgstr ""
374
 
375
+ #: lib/yit-upgrade.php:198
376
  msgid "Automatic update is unavailable for this plugin,"
377
  msgstr ""
378
 
379
+ #: lib/yit-upgrade.php:199
380
  msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
381
  msgstr ""
382
 
383
+ #: lib/yit-upgrade.php:200
384
  msgid "Update now."
385
  msgstr ""
386
 
387
+ #: lib/yit-upgrade.php:201
388
+ msgid ""
389
+ "<br/><b>Please note:</b> You are using a higher version than the latest available "
390
+ "one. </em>Please, make sure you've downloaded the latest version of <em>%1$s</em> "
391
+ "from the only <a href=\"https://yithemes.com\" target=\"_blank\">YITH official "
392
+ "website</a>, specifically, from your <a href=\"https://yithemes.com/my-account/"
393
+ "recent-downloads/\" target=\"_blank\">Downloads page</a>. This is the only way to "
394
+ "be sure the version you are using is 100% malware-free."
395
+ msgstr ""
396
+
397
+ #: lib/yit-upgrade.php:303
398
+ msgctxt "[Update Plugin Message: License not enabled]"
399
+ msgid "You have to activate the plugin to benefit from automatic updates."
400
+ msgstr ""
401
+
402
+ #: lib/yit-upgrade.php:325
403
  msgid "YITH Repository"
404
  msgstr ""
405
 
406
+ #: lib/yit-upgrade.php:359
407
  msgid "Invalid URL Provided."
408
  msgstr ""
409
 
410
+ #: lib/yit-upgrade.php:372
411
  msgid "Could not create Temporary file."
412
  msgstr ""
413
 
414
+ #: lib/yit-upgrade.php:547
415
  #, php-format
416
  msgid ""
417
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
419
  "details</a>."
420
  msgstr ""
421
 
422
+ #: lib/yit-upgrade.php:551
423
  #, php-format
424
  msgid ""
425
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
428
  "to benefit from automatic updates.</em>"
429
  msgstr ""
430
 
431
+ #: lib/yit-upgrade.php:555
432
  #, php-format
433
  msgid ""
434
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
437
  "\"%5$s\" title=\"License activation\">activate</a> your copy of %6s.</em>"
438
  msgstr ""
439
 
440
+ #: lib/yit-upgrade.php:559
441
  #, php-format
442
  msgid ""
443
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
445
  "details</a> or <a href=\"%5$s\">update now</a>."
446
  msgstr ""
447
 
448
+ #: lib/yit-upgrade.php:563
449
+ #, php-format
450
+ msgid ""
451
+ "<br/><b>Please note:</b> You are using a higher version than the latest available "
452
+ "one. </em>Please, make sure you've downloaded the latest version of <em>%1$s</em> "
453
+ "from the only <a href=\"https://yithemes.com\" target=\"_blank\">YITH official "
454
+ "website</a>, specifically, from your <a href=\"https://yithemes.com/my-account/"
455
+ "recent-downloads/\" target=\"_blank\">Downloads page</a>. This is the only way to "
456
+ "be sure the version you are using is 100%% malware-free."
457
+ msgstr ""
458
+
459
+ #: lib/yit-upgrade.php:635
460
  msgid "You can't update the plugins for this site."
461
  msgstr ""
462
 
463
+ #: lib/yit-upgrade.php:639
464
  msgid "You do not have sufficient permissions to update the plugins for this site."
465
  msgstr ""
466
 
467
+ #: lib/yit-upgrade.php:646
468
  msgid "Update Plugin"
469
  msgstr ""
470
 
471
+ #: lib/yith-dashboard.php:40
472
+ msgid "New YITH products"
473
+ msgstr ""
474
+
475
+ #: lib/yith-dashboard.php:41
476
+ msgid "News from the YITH Blog"
477
+ msgstr ""
478
+
479
+ #: lib/yith-gutenberg.php:134
480
+ msgctxt "[gutenberg]: Category Name"
481
+ msgid "YITH"
482
+ msgstr ""
483
+
484
+ #: licence/lib/yit-licence.php:180
485
  #, php-format
486
  msgctxt "%s = field name"
487
+ msgid "Please, insert a valid %s"
488
  msgstr ""
489
 
490
+ #: licence/lib/yit-licence.php:181
491
  #, php-format
492
+ msgid "Please, insert a valid %s and a valid %s"
493
  msgstr ""
494
 
495
+ #: licence/lib/yit-licence.php:182
496
  msgid "Unable to contact the remote server, please try again later. Thanks!"
497
  msgstr ""
498
 
499
+ #: licence/lib/yit-licence.php:183
500
+ msgid "email address"
 
 
 
501
  msgstr ""
502
 
503
+ #: licence/lib/yit-licence.php:184
504
+ msgid "license key"
 
 
 
505
  msgstr ""
506
 
507
+ #: licence/lib/yit-licence.php:185
508
  msgid "Are you sure you want to deactivate the license for current site?"
509
  msgstr ""
510
 
511
+ #: licence/lib/yit-licence.php:730
512
  msgid "Invalid Request"
513
  msgstr ""
514
 
515
+ #: licence/lib/yit-licence.php:731
516
  msgid "Invalid license key"
517
  msgstr ""
518
 
519
+ #: licence/lib/yit-licence.php:732
520
  msgid "Software has been deactivated"
521
  msgstr ""
522
 
523
+ #: licence/lib/yit-licence.php:733
524
  msgid "Maximum number of activations exceeded"
525
  msgstr ""
526
 
527
+ #: licence/lib/yit-licence.php:734
528
  msgid "Invalid instance ID"
529
  msgstr ""
530
 
531
+ #: licence/lib/yit-licence.php:735
532
  msgid "Invalid security key"
533
  msgstr ""
534
 
535
+ #: licence/lib/yit-licence.php:736
536
  msgid "License key has expired"
537
  msgstr ""
538
 
539
+ #: licence/lib/yit-licence.php:737
540
  msgid "License key has been banned"
541
  msgstr ""
542
 
543
+ #: licence/lib/yit-licence.php:738
544
  msgid "Current product is not included in your YITH Club Subscription key"
545
  msgstr ""
546
 
547
+ #: licence/lib/yit-licence.php:739
548
  msgid "Great"
549
  msgstr ""
550
 
551
+ #: licence/lib/yit-licence.php:739
552
  msgid "License successfully activated"
553
  msgstr ""
554
 
555
+ #: licence/lib/yit-licence.php:740
556
  msgid "License key deactivated for website"
557
  msgstr ""
558
 
562
  msgid "License Activation"
563
  msgstr ""
564
 
565
+ #: licence/lib/yit-plugin-licence.php:142
566
+ msgctxt ""
567
+ "[Part of]: Warning! You didn't set license key for the following products:[Plugins "
568
+ "List] which means you're missing out on updates and support. Enter your license "
569
+ "key, please."
570
+ msgid "Warning!"
571
+ msgstr ""
572
+
573
+ #: licence/lib/yit-plugin-licence.php:142
574
+ msgctxt ""
575
+ "[Part of]: Warning! You didn't set license key for the following products:[Plugins "
576
+ "List] which means you're missing out on updates and support. Enter your license "
577
+ "key, please."
578
+ msgid "You didn't set license key for the following products"
579
+ msgstr ""
580
+
581
+ #: licence/lib/yit-plugin-licence.php:145
582
+ msgctxt ""
583
+ "[Part of]: Warning! You didn't set license key for the following products:[Plugins "
584
+ "List] which means you're missing out on updates and support. Enter your license "
585
+ "key, please."
586
+ msgid "which means you're missing out on updates and support"
587
+ msgstr ""
588
+
589
+ #: licence/lib/yit-plugin-licence.php:147
590
+ msgctxt ""
591
+ "[Part of]: Warning! You didn't set license key for the following products:[Plugins "
592
+ "List] which means you're missing out on updates and support. Enter your license "
593
+ "key, please."
594
+ msgid "Enter your license key"
595
+ msgstr ""
596
+
597
+ #: licence/lib/yit-plugin-licence.php:148
598
+ msgctxt ""
599
+ "[Part of]: Warning! You didn't set license key for the following products:[Plugins "
600
+ "List] which means you're missing out on updates and support. Enter your license "
601
+ "key, please."
602
+ msgid "please"
603
+ msgstr ""
604
+
605
  #: licence/lib/yit-theme-licence.php:117 licence/lib/yit-theme-licence.php:118
606
  #, php-format
607
  msgid "%s"
627
  "section \"My licenses\"."
628
  msgstr ""
629
 
630
+ #: licence/templates/panel/activation/activation-panel.php:24
631
  msgid "YITH License Activation"
632
  msgstr ""
633
 
634
  #: licence/templates/panel/activation/activation-panel.php:27
635
+ msgid "License expiry date"
636
+ msgstr ""
637
+
638
+ #: licence/templates/panel/activation/activation-panel.php:30
639
  msgid ""
640
+ "If you have renewed your product license key and the expiry date does not appear "
641
+ "up-to-date, please, click on the button <em>Check Expiry Date</em> below and it "
642
+ "will update."
643
  msgstr ""
644
 
645
+ #: licence/templates/panel/activation/activation-panel.php:33
646
+ msgid "Check expiry date"
647
  msgstr ""
648
 
649
+ #: licence/templates/panel/activation/activation-panel.php:47
650
  msgid "Product to activate"
651
  msgid_plural "Products to activate"
652
  msgstr[0] ""
653
  msgstr[1] ""
654
 
655
+ #: licence/templates/panel/activation/activation-panel.php:50
656
+ msgid "Are you having issues with the license activation?"
657
+ msgstr ""
658
+
659
+ #: licence/templates/panel/activation/activation-panel.php:50
660
+ msgid "Read this article"
661
+ msgstr ""
662
+
663
+ #: licence/templates/panel/activation/activation-panel.php:70
664
  msgid "Activate"
665
  msgstr ""
666
 
667
+ #: licence/templates/panel/activation/activation-panel.php:89
668
  msgid "Activated"
669
  msgstr ""
670
 
671
+ #: licence/templates/panel/activation/activation-panel.php:95
672
+ #: licence/templates/panel/activation/activation-panel.php:173
673
+ #: licence/templates/panel/activation/activation-panel.php:203
674
  msgid "Product Name"
675
  msgstr ""
676
 
677
+ #: licence/templates/panel/activation/activation-panel.php:97
678
+ #: licence/templates/panel/activation/activation-panel.php:175
679
+ #: licence/templates/panel/activation/activation-panel.php:206
680
+ msgid "Email"
681
+ msgstr ""
682
+
683
+ #: licence/templates/panel/activation/activation-panel.php:98
684
+ #: licence/templates/panel/activation/activation-panel.php:176
685
+ #: licence/templates/panel/activation/activation-panel.php:207
686
+ msgid "License Key"
687
+ msgstr ""
688
+
689
+ #: licence/templates/panel/activation/activation-panel.php:101
690
+ #: licence/templates/panel/activation/activation-panel.php:210
691
  msgid "Expires"
692
  msgstr ""
693
 
694
+ #: licence/templates/panel/activation/activation-panel.php:104
695
  msgid "Remaining"
696
  msgstr ""
697
 
698
+ #: licence/templates/panel/activation/activation-panel.php:106
699
  msgid "Club Subscription"
700
  msgstr ""
701
 
702
+ #: licence/templates/panel/activation/activation-panel.php:135
 
 
 
 
703
  #, php-format
704
  msgid "%1s out of %2s"
705
  msgstr ""
706
 
707
+ #: licence/templates/panel/activation/activation-panel.php:151
708
  msgid "Deactivate"
709
  msgstr ""
710
 
711
+ #: licence/templates/panel/activation/activation-panel.php:156
712
+ #: licence/templates/panel/activation/activation-panel.php:213
713
  msgid "Renew"
714
  msgstr ""
715
 
716
+ #: licence/templates/panel/activation/activation-panel.php:169
717
  msgid "Banned"
718
  msgstr ""
719
 
720
+ #: licence/templates/panel/activation/activation-panel.php:199
721
  msgid "Expired"
722
  msgstr ""
723
 
724
+ #: licence/templates/panel/activation/activation-panel.php:235
725
  msgid "Order again"
726
  msgstr ""
727
 
728
+ #: licence/templates/panel/activation/activation-panel.php:237
729
  msgid "Renew license"
730
  msgstr ""
731
 
848
  msgid "Reset Defaults"
849
  msgstr ""
850
 
851
+ #: yit-plugin.php:83
852
  msgctxt "Plugin Row Meta"
853
  msgid "Live Demo"
854
  msgstr ""
855
 
856
+ #: yit-plugin.php:88
857
  msgctxt "Plugin Row Meta"
858
  msgid "Documentation"
859
  msgstr ""
860
 
861
+ #: yit-plugin.php:93
862
  msgctxt "Plugin Row Meta"
863
  msgid "Support"
864
  msgstr ""
865
 
866
+ #: yit-plugin.php:98
867
  msgctxt "Plugin Row Meta"
868
  msgid "Premium version"
869
  msgstr ""
870
 
871
+ #: yit-plugin.php:193
872
  msgctxt "Action links"
873
  msgid "Settings"
874
  msgstr ""
875
 
876
+ #: yit-plugin.php:197
877
  msgid "License"
878
  msgstr ""
plugin-fw/lib/promo/yith-promo.php CHANGED
@@ -8,134 +8,181 @@
8
  * http://www.gnu.org/licenses/gpl-3.0.txt
9
  */
10
 
11
- if( apply_filters( 'yith_plugin_fw_notice', true ) ){
12
- add_action( 'admin_notices', 'yith_plugin_fw_promo_notices', 15 );
13
- add_action( 'admin_enqueue_scripts', 'yith_plugin_fw_notice_dismiss', 20 );
14
-
15
- if( ! function_exists( 'yith_plugin_fw_promo_notices' ) ){
16
- function yith_plugin_fw_promo_notices(){
17
- $base_url = apply_filters( 'yith_plugin_fw_promo_base_url', 'https://update.yithemes.com/promo/' );;
18
- $xml = apply_filters( 'yith_plugin_fw_promo_xml_url', $base_url . 'yith-promo.xml' );
19
- $transient = "yith_promo_message";
20
- $remote_data = get_site_transient( $transient );
21
- $regenerate_promo_transient = isset( $_GET['yith_regenerate_promo_transient'] ) && 'yes' == $_GET['yith_regenerate_promo_transient'] ? $_GET['yith_regenerate_promo_transient'] : '';
22
- $promo_data = false;
23
- $create_transient = false;
24
-
25
- if( false === $remote_data || apply_filters( 'yith_plugin_fw_force_regenerate_promo_transient', false ) || 'yes' == $regenerate_promo_transient ){
26
- $remote_data = wp_remote_get( $xml );
27
- $create_transient = true;
28
- }
29
-
30
- if ( ! is_wp_error( $remote_data ) && isset( $remote_data['response']['code'] ) && '200' == $remote_data['response']['code'] ) {
31
- $promo_data = @simplexml_load_string( $remote_data['body'] );
32
-
33
- if( true === $create_transient ){
34
- $xml_expiry_date = ! empty( $promo_data->expiry_date ) ? $promo_data->expiry_date : '';
35
- //Set Site Transient
36
- set_site_transient( $transient, $remote_data, yith_plugin_fw_get_promo_transient_expiry_date( $xml_expiry_date ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  }
38
 
39
- if ( $promo_data && ! empty( $promo_data->promo ) ) {
40
- $now = strtotime( current_time( 'Y-m-d' ), 1 );
41
- foreach ($promo_data as $promo ){
42
- $start_date = isset( $promo->start_date ) ? $promo->start_date : '';
43
- $end_date = isset( $promo->end_date ) ? $promo->end_date : '';
44
-
45
- if( ! empty( $start_date ) && ! empty( $end_date ) ){
46
- $start_date = strtotime( $start_date );
47
- $end_date = strtotime( $end_date );
48
-
49
- if( $end_date >= $start_date && $now >= $start_date && $now <= $end_date ){
50
- //is valid promo
51
- $title = isset( $promo->title ) ? $promo->title : '';
52
- $description = isset( $promo->description ) ? $promo->description : '';
53
- $url = isset( $promo->link->url ) ? $promo->link->url : '';
54
- $url_label = isset( $promo->link->label ) ? $promo->link->label : '';
55
- $border_color = isset( $promo->style->border_color ) ? $promo->style->border_color : '';
56
- $background_color = isset( $promo->style->background_color ) ? $promo->style->background_color : '';
57
- $promo_id = isset( $promo->promo_id ) ? $promo->promo_id : '';
58
- $banner = isset( $promo->banner ) ? $promo->banner : '';
59
- $style = $link = '';
60
- $show_notice = false;
61
-
62
- if( ! empty( $border_color ) ){
63
- $style .= "border-left-color: {$border_color};";
64
- }
65
-
66
- if( ! empty( $background_color ) ){
67
- $style .= "background-color: {$background_color};";
68
- }
69
-
70
- if( ! empty( $title ) ) {
71
- $promo_id .= $title;
72
- $title = sprintf( '<strong>%s</strong>: ', $title );
73
- $show_notice = true;
74
- }
75
-
76
- if( ! empty( $description ) ) {
77
- $promo_id .= $description;
78
- $description = sprintf( '%s', $description );
79
- $show_notice = true;
80
- }
81
-
82
- if( ! empty( $url ) && ! empty( $url_label )) {
83
- $promo_id .= $url . $url_label;
84
- $link = sprintf( '<a href="%s" target="_blank">%s</a>', $url, $url_label );
85
- $show_notice = true;
86
- }
87
-
88
- if( ! empty( $banner ) ){
89
- $banner = sprintf( '<img src="%s" class="yith-promo-banner-image">', $base_url . $banner );
90
-
91
- if( ! empty( $url ) ){
92
- $banner = sprintf( '<a href="%s" target="_blank">%s</a>', $url, $banner);
93
- }
94
- }
95
-
96
- $unique_promo_id = "yith-notice-" . md5 ( $promo_id );
97
-
98
- if( ! empty( $_COOKIE[ 'hide_' . $unique_promo_id ] ) && 'yes' == $_COOKIE[ 'hide_' . $unique_promo_id ] ){
99
- $show_notice = false;
100
- }
101
-
102
- if ( true === $show_notice ) :
103
- ?>
104
- <div id="<?php echo $unique_promo_id; ?>" class="yith-notice-is-dismissible notice notice-yith notice-alt is-dismissible" style="<?php echo $style; ?>" data-expiry= <?php echo $promo->end_date; ?>>
105
- <p>
106
- <?php if( ! empty( $banner ) ) { printf( '%s', $banner ); } ?>
107
- <?php printf( "%s %s %s", $title, $description, $link ); ?>
108
- </p>
109
- </div>
110
- <?php endif;
111
- }
112
- }
113
- }
114
  }
115
- }
116
- }
117
- }
118
 
119
- if( ! function_exists( 'yith_plugin_fw_notice_dismiss' ) ){
120
- function yith_plugin_fw_notice_dismiss(){
121
- $script_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
122
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
123
- wp_register_script( 'yith-promo', $script_path . '/assets/js/yith-promo' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
124
- wp_enqueue_script( 'yith-promo' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  }
126
  }
 
127
 
128
- if( ! function_exists( 'yith_plugin_fw_get_promo_transient_expiry_date' ) ){
129
- function yith_plugin_fw_get_promo_transient_expiry_date( $expiry_date ) {
130
- $xml_expiry_date = ! empty( $expiry_date ) ? $expiry_date : '+6 hours';
131
- $current = strtotime( current_time( 'Y-m-d H:i:s', 1 ) );
132
- $expiry_date = strtotime( $xml_expiry_date, $current );
 
 
133
 
134
- if( $expiry_date <= $current ){
135
- $expiry_date = strtotime( '+24 hours', $current );
136
- }
 
 
137
 
138
- return $expiry_date;
 
139
  }
140
- }
 
 
141
  }
8
  * http://www.gnu.org/licenses/gpl-3.0.txt
9
  */
10
 
11
+ if( ! function_exists( 'simplexml_load_string' ) ){
12
+ return false;
13
+ }
14
+
15
+ add_action( 'admin_notices', 'yith_plugin_fw_promo_notices', 15 );
16
+ add_action( 'admin_enqueue_scripts', 'yith_plugin_fw_notice_dismiss', 20 );
17
+
18
+ if( ! function_exists( 'yith_plugin_fw_promo_notices' ) ){
19
+ function yith_plugin_fw_promo_notices(){
20
+ $base_url = apply_filters( 'yith_plugin_fw_promo_base_url', 'https://update.yithemes.com/promo/hotlink-ok/' );
21
+ $xml = apply_filters( 'yith_plugin_fw_promo_xml_url', $base_url . 'yith-promo.xml' );
22
+ $transient = "yith_promo_message";
23
+ $remote_data = get_site_transient( $transient );
24
+ $regenerate_promo_transient = isset( $_GET['yith_regenerate_promo_transient'] ) && 'yes' == $_GET['yith_regenerate_promo_transient'] ? $_GET['yith_regenerate_promo_transient'] : '';
25
+ $promo_data = false;
26
+ $create_transient = false;
27
+
28
+ if( false === $remote_data || apply_filters( 'yith_plugin_fw_force_regenerate_promo_transient', false ) || 'yes' == $regenerate_promo_transient ){
29
+ $remote_data = wp_remote_get( $xml );
30
+ $create_transient = true;
31
+ }
32
+
33
+ if ( ! is_wp_error( $remote_data ) && isset( $remote_data['response']['code'] ) && '200' == $remote_data['response']['code'] ) {
34
+ $promo_data = @simplexml_load_string( $remote_data['body'] );
35
+
36
+ if( true === $create_transient ){
37
+ $is_membership_user = false;
38
+ $license = YIT_Plugin_Licence()->get_licence();
39
+ $xml_expiry_date = '';
40
+
41
+ if( is_array( $license ) && apply_filters( 'yith_plugin_fw_check_for_membership_user', true ) ){
42
+ /* === Check is the user have the YITH Club === */
43
+ foreach( $license as $plugin => $data ){
44
+ if( ! empty( $data['is_membership'] ) ){
45
+ $is_membership_user = true;
46
+ $xml_expiry_date = $data['licence_expires'];
47
+ $remote_data = $promo_data = array();
48
+ break;
49
+ }
50
+ }
51
  }
52
 
53
+ if( empty( $is_membership_user ) && ! empty( $promo_data->expiry_date ) ){
54
+ $xml_expiry_date = $promo_data->expiry_date;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
 
 
 
56
 
57
+ //Set Site Transient
58
+ set_site_transient( $transient, $remote_data, yith_plugin_fw_get_promo_transient_expiry_date( $xml_expiry_date ) );
59
+ }
60
+
61
+ if ( $promo_data && ! empty( $promo_data->promo ) ) {
62
+ $now = strtotime( current_time( 'mysql' ) );
63
+
64
+ foreach ($promo_data->promo as $promo ){
65
+ $show_promo = true;
66
+ /* === Check for Special Promo === */
67
+ if ( ! empty( $promo->show_promo_in ) ) {
68
+ $show_promo_in = explode( ',', $promo->show_promo_in );
69
+ $show_promo_in = array_map( 'trim', $show_promo_in );
70
+ if ( ! empty( $show_promo_in ) ) {
71
+ $show_promo = false;
72
+ foreach ( $show_promo_in as $plugin ) {
73
+ if ( defined( $plugin ) ) {
74
+ $plugin_slug = constant( $plugin );
75
+ $plugin_is_activated = ! empty( $license[ $plugin_slug ]['activated'] );
76
+ if ( defined( $plugin ) && ! apply_filters( 'yith_plugin_fw_promo_plugin_is_activated', $plugin_is_activated ) ) {
77
+ $show_promo = true;
78
+ break;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ $start_date = isset( $promo->start_date ) ? $promo->start_date : '';
86
+ $end_date = isset( $promo->end_date ) ? $promo->end_date : '';
87
+
88
+ if( $show_promo && ! empty( $start_date ) && ! empty( $end_date ) ){
89
+ $start_date = strtotime( $start_date );
90
+ $end_date = strtotime( $end_date );
91
+
92
+ if( $end_date >= $start_date && $now >= $start_date && $now <= $end_date ){
93
+ //is valid promo
94
+ $title = isset( $promo->title ) ? $promo->title : '';
95
+ $description = isset( $promo->description ) ? $promo->description : '';
96
+ $url = isset( $promo->link->url ) ? $promo->link->url : '';
97
+ $url_label = isset( $promo->link->label ) ? $promo->link->label : '';
98
+ $image_bg_color = isset( $promo->style->image_bg_color ) ? $promo->style->image_bg_color : '';
99
+ $border_color = isset( $promo->style->border_color ) ? $promo->style->border_color : '';
100
+ $background_color = isset( $promo->style->background_color ) ? $promo->style->background_color : '';
101
+ $promo_id = isset( $promo->promo_id ) ? $promo->promo_id : '';
102
+ $banner = isset( $promo->banner ) ? $promo->banner : '';
103
+ $style = $link = '';
104
+ $show_notice = false;
105
+
106
+ if( ! empty( $border_color ) ){
107
+ $style .= "border-left-color: {$border_color};";
108
+ }
109
+
110
+ if( ! empty( $background_color ) ){
111
+ $style .= "background-color: {$background_color};";
112
+ }
113
+
114
+ if( ! empty( $image_bg_color ) ){
115
+ $image_bg_color = "background-color: {$image_bg_color};";
116
+ }
117
+
118
+ if( ! empty( $title ) ) {
119
+ $promo_id .= $title;
120
+ $title = sprintf( '%s: ', $title );
121
+ $show_notice = true;
122
+ }
123
+
124
+ if( ! empty( $description ) ) {
125
+ $promo_id .= $description;
126
+ $description = sprintf( '%s', $description );
127
+ $show_notice = true;
128
+ }
129
+
130
+ if( ! empty( $url ) && ! empty( $url_label )) {
131
+ $promo_id .= $url . $url_label;
132
+ $link = sprintf( '<a href="%s" target="_blank">%s</a>', $url, $url_label );
133
+ $show_notice = true;
134
+ }
135
+
136
+ if( ! empty( $banner ) ){
137
+ $banner = sprintf( '<img src="%s" class="yith-promo-banner-image">', $base_url . $banner );
138
+
139
+ if( ! empty( $url ) ){
140
+ $banner = sprintf( '<a class="yith-promo-banner-image-link" href="%s" target="_blank" style="%s">%s</a>', $url, $image_bg_color, $banner);
141
+ }
142
+ }
143
+
144
+ $unique_promo_id = "yith-notice-" . md5 ( $promo_id );
145
+
146
+ if( ! empty( $_COOKIE[ 'hide_' . $unique_promo_id ] ) && 'yes' == $_COOKIE[ 'hide_' . $unique_promo_id ] ){
147
+ $show_notice = false;
148
+ }
149
+
150
+ if ( true === $show_notice ) :
151
+ wp_enqueue_script( 'yith-promo' );
152
+ ?>
153
+ <div id="<?php echo $unique_promo_id; ?>" class="yith-notice-is-dismissible notice notice-yith notice-alt is-dismissible" style="<?php echo $style; ?>" data-expiry= <?php echo $promo->end_date; ?>>
154
+ <p>
155
+ <?php if( ! empty( $banner ) ) { printf( '%s', $banner ); } ?>
156
+ <?php printf( "%s %s %s", $title, $description, $link ); ?>
157
+ </p>
158
+ </div>
159
+ <?php endif;
160
+ }
161
+ }
162
+ }
163
+ }
164
  }
165
  }
166
+ }
167
 
168
+ if( ! function_exists( 'yith_plugin_fw_notice_dismiss' ) ){
169
+ function yith_plugin_fw_notice_dismiss(){
170
+ $script_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
171
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
172
+ wp_register_script( 'yith-promo', $script_path . '/assets/js/yith-promo' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
173
+ }
174
+ }
175
 
176
+ if( ! function_exists( 'yith_plugin_fw_get_promo_transient_expiry_date' ) ){
177
+ function yith_plugin_fw_get_promo_transient_expiry_date( $expiry_date ) {
178
+ $xml_expiry_date = ! empty( $expiry_date ) ? $expiry_date : '+24 hours';
179
+ $current = strtotime( current_time( 'Y-m-d H:i:s' ) );
180
+ $expiry_date = strtotime( $xml_expiry_date, $current );
181
 
182
+ if( $expiry_date <= $current ){
183
+ $expiry_date = strtotime( '+24 hours', $current );
184
  }
185
+
186
+ return $expiry_date;
187
+ }
188
  }
plugin-fw/lib/yit-icons.php CHANGED
@@ -1136,8 +1136,10 @@ if ( !class_exists( 'YIT_Icons' ) ) {
1136
 
1137
  }
1138
  }
1139
- function YIT_Icons() {
1140
- return YIT_Icons::get_instance();
 
 
1141
  }
1142
 
1143
  YIT_Icons();
1136
 
1137
  }
1138
  }
1139
+ if( ! function_exists( 'YIT_Icons' ) ){
1140
+ function YIT_Icons() {
1141
+ return YIT_Icons::get_instance();
1142
+ }
1143
  }
1144
 
1145
  YIT_Icons();
plugin-fw/lib/yit-plugin-panel-wc.php CHANGED
@@ -325,7 +325,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
325
  do_action( 'yit_panel_wc_after_update' );
326
 
327
  } elseif ( isset( $_REQUEST[ 'yit-action' ] ) && $_REQUEST[ 'yit-action' ] == 'wc-options-reset'
328
- && isset( $_POST[ 'yith_wc_reset_options_nonce' ] ) && wp_verify_nonce( $_POST[ 'yith_wc_reset_options_nonce' ], 'yith_wc_reset_options_' . $this->settings[ 'page' ] )
329
  ) {
330
 
331
  do_action( 'yit_panel_wc_before_reset' );
@@ -551,7 +551,12 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
551
  $field[ 'id' ] = isset( $field[ 'id' ] ) ? $field[ 'id' ] : '';
552
  $field[ 'name' ] = $field[ 'id' ];
553
  $field[ 'default' ] = isset( $field[ 'default' ] ) ? $field[ 'default' ] : '';
554
- $field[ 'value' ] = WC_Admin_Settings::get_option( $field[ 'id' ], $field[ 'default' ] );
 
 
 
 
 
555
 
556
  require( YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-option-row.php' );
557
  }
325
  do_action( 'yit_panel_wc_after_update' );
326
 
327
  } elseif ( isset( $_REQUEST[ 'yit-action' ] ) && $_REQUEST[ 'yit-action' ] == 'wc-options-reset'
328
+ && isset( $_POST[ 'yith_wc_reset_options_nonce' ] ) && wp_verify_nonce( $_POST[ 'yith_wc_reset_options_nonce' ], 'yith_wc_reset_options_' . $this->settings[ 'page' ] )
329
  ) {
330
 
331
  do_action( 'yit_panel_wc_before_reset' );
551
  $field[ 'id' ] = isset( $field[ 'id' ] ) ? $field[ 'id' ] : '';
552
  $field[ 'name' ] = $field[ 'id' ];
553
  $field[ 'default' ] = isset( $field[ 'default' ] ) ? $field[ 'default' ] : '';
554
+
555
+ $value = apply_filters( 'yith_plugin_fw_wc_panel_pre_field_value', null, $field );
556
+ if ( is_null( $value ) ) {
557
+ $value = WC_Admin_Settings::get_option( $field[ 'id' ], $field[ 'default' ] );
558
+ }
559
+ $field[ 'value' ] = $value;
560
 
561
  require( YIT_CORE_PLUGIN_TEMPLATE_PATH . '/panel/woocommerce/woocommerce-option-row.php' );
562
  }
plugin-fw/lib/yit-plugin-panel.php CHANGED
@@ -158,7 +158,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
158
 
159
  // YITH text must not be translated
160
  if ( !!$show ) {
161
- add_menu_page( 'yith_plugin_panel', 'YITH', $capability, 'yith_plugin_panel', null, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
162
  $admin_page_hooks[ 'yith_plugin_panel' ] = 'yith-plugins'; // prevent issues for backward compatibility
163
  }
164
  }
@@ -328,9 +328,13 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
328
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
329
  */
330
  public function add_premium_version_upgrade_to_menu() {
331
- global $submenu;
 
 
 
332
 
333
- if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu[ 'yith_plugin_panel' ] ) && !isset( $submenu[ 'yith_plugin_panel' ][ 'how_to' ] ) ) ) {
 
334
  $submenu[ 'yith_plugin_panel' ][ 'how_to' ] = array(
335
  sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
336
  'install_plugins',
158
 
159
  // YITH text must not be translated
160
  if ( !!$show ) {
161
+ add_menu_page( 'yith_plugin_panel', 'YITH', $capability, 'yith_plugin_panel', null, yith_plugin_fw_get_default_logo(), $position );
162
  $admin_page_hooks[ 'yith_plugin_panel' ] = 'yith-plugins'; // prevent issues for backward compatibility
163
  }
164
  }
328
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
329
  */
330
  public function add_premium_version_upgrade_to_menu() {
331
+ /* === Add the How To menu item only if the customer haven't a premium version enabled === */
332
+ if ( function_exists( 'YIT_Plugin_Licence' ) && !!YIT_Plugin_Licence()->get_products() ) {
333
+ return;
334
+ }
335
 
336
+ global $submenu;
337
+ if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu[ 'yith_plugin_panel' ] ) ) ) {
338
  $submenu[ 'yith_plugin_panel' ][ 'how_to' ] = array(
339
  sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
340
  'install_plugins',
plugin-fw/lib/yit-plugin-subpanel.php CHANGED
@@ -88,7 +88,7 @@ if ( !class_exists( 'YIT_Plugin_SubPanel' ) ) {
88
  */
89
  public function add_setting_page() {
90
  global $admin_page_hooks;
91
- $logo = YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png';
92
 
93
  $admin_logo = function_exists( 'yit_get_option' ) ? yit_get_option( 'admin-logo-menu' ) : '';
94
 
88
  */
89
  public function add_setting_page() {
90
  global $admin_page_hooks;
91
+ $logo = yith_plugin_fw_get_default_logo();
92
 
93
  $admin_logo = function_exists( 'yit_get_option' ) ? yit_get_option( 'admin-logo-menu' ) : '';
94
 
plugin-fw/lib/yit-upgrade.php CHANGED
@@ -183,16 +183,22 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
183
  *
184
  * @since 1.0
185
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
 
186
  */
187
  public function multisite_updater_script() {
188
- $update_url = $changelogs = $details_url = array();
189
- $strings = array(
190
- 'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
191
- 'latest' => __( 'View version %latest% details.', 'yith-plugin-fw' ),
192
- 'unavailable' => __( 'Automatic update is unavailable for this plugin,', 'yith-plugin-fw' ),
193
- 'activate' => __( 'please <a href="%activate_link%">activate</a> your copy of %plugin_name%.', 'yith-plugin-fw' ),
194
- 'update_now' => __( 'Update now.', 'yith-plugin-fw' )
195
 
 
 
 
 
 
 
 
 
196
  );
197
 
198
  foreach ( $this->_plugins as $init => $info ) {
@@ -209,14 +215,17 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
209
  'strings' => $strings,
210
  );
211
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
212
- yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
 
 
 
213
 
214
  wp_localize_script( 'yit-multisite-updater', 'plugins', $localize_script_args );
215
  }
216
 
217
  public function admin_enqueue_scripts() {
218
  global $pagenow;
219
- if ( 'plugins.php' === $pagenow ) {
220
  wp_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
221
  }
222
  }
@@ -236,6 +245,11 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
236
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
237
  */
238
  public function upgrader_pre_download( $reply, $package, $upgrader ) {
 
 
 
 
 
239
  $plugin = false;
240
  $is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
241
  $is_bulk_ajax = $upgrader->skin instanceof WP_Ajax_Upgrader_Skin;
@@ -286,7 +300,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
286
  $product_id = $plugin_info['product_id'];
287
 
288
  if( empty( $licence[ $product_id ] ) ){
289
- return new WP_Error( 'license_not_valid', __( 'You have to activate the plugin to benefit from automatic updates.', '[Update Plugin Message: License not enabled]', 'yith-plugin-fw' ) );
290
  }
291
 
292
  $args = array(
@@ -315,7 +329,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
315
  /**
316
  * Regenerate update_plugins transient
317
  */
318
- $this->force_regenerate_update_transient();
319
 
320
  if ( is_wp_error( $download_file ) ) {
321
  return new WP_Error( 'download_failed', $upgrader->strings['download_failed'], $download_file->get_error_message() );
@@ -325,7 +339,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
325
  }
326
 
327
  /**
328
- * Retrive the temp filename
329
  *
330
  * @param string $url The package url
331
  * @param string $body The post data fields
@@ -411,6 +425,7 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
411
  * @since 1.0
412
  * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
413
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
 
414
  */
415
  public function force_regenerate_update_transient() {
416
  delete_site_transient( 'update_plugins' );
@@ -442,8 +457,10 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
442
  $plugin_remote_info = @simplexml_load_string( $remote_xml['body'] );
443
 
444
  if ( $plugin_remote_info ) {
 
 
445
 
446
- if ( version_compare( $plugin_remote_info->latest, $plugin['info']['Version'], '>' ) && ! isset( $transient->response[ $init ] ) ) {
447
 
448
  $package = YIT_Plugin_Licence()->check( $init ) ? $this->_package_url : null;
449
 
@@ -517,42 +534,51 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
517
  */
518
  $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );
519
 
520
- if ( is_network_admin() || ! is_multisite() || true ) {
521
- global $wp_version;
522
- $is_wp_4_6 = version_compare( $wp_version, '4.6', '>=' );
523
 
524
- echo '<tr class="plugin-update-tr' . ( is_plugin_active( $init ) ? ' active' : '' ) . '"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">';
525
 
526
- echo '<div class="update-message' . ( $is_wp_4_6 ? ' notice inline notice-warning notice-alt' : '' ) . '">';
527
 
528
- echo( $is_wp_4_6 ? '<p>' : '' );
529
 
530
- if ( ! current_user_can( 'update_plugins' ) ) {
531
- printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a>.', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version );
532
- } elseif ( is_plugin_active_for_network( $init ) ) {
533
- printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a>. <em>You have to activate the plugin on a single site of the network to benefit from automatic updates.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version );
534
- } elseif ( empty( $r->package ) ) {
535
- printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin, please <a href="%5$s" title="License activation">activate</a> your copy of %6s.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, YIT_Plugin_Licence()->get_licence_activation_page_url(), $this->_plugins[ $init ]['info']['Name'] );
536
- } else {
537
- printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $init, 'upgrade-plugin_' . $init ) );
538
- }
539
 
540
- echo( $is_wp_4_6 ? '</p>' : '' );
 
 
541
 
542
- /**
543
- * Fires at the end of the update message container in each
544
- * row of the themes list table.
545
- *
546
- * The dynamic portion of the hook name, `$theme_key`, refers to
547
- * the theme slug as found in the WordPress.org themes repository.
548
- *
549
- * @since Wordpress 3.1.0
550
- * }
551
- */
552
- do_action( "in_theme_update_message-{$init}", $this->_plugins[ $init ], $r->changelog, $changelog_id );
553
 
554
- echo '</div></td></tr>';
 
555
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
556
  }
557
 
558
  /**
@@ -571,7 +597,6 @@ if ( ! class_exists( 'YIT_Upgrade' ) ) {
571
  foreach ( $this->_plugins as $init => $plugin ) {
572
  remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
573
  add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
574
- //add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
575
  }
576
  }
577
 
183
  *
184
  * @since 1.0
185
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
186
+ * @return bool
187
  */
188
  public function multisite_updater_script() {
189
+ /* === If class YIT_Plugin_Licence doesn't exists, no YITH plugins enabled === */
190
+ if( ! function_exists( 'YIT_Plugin_Licence' ) ){
191
+ return false;
192
+ }
 
 
 
193
 
194
+ $update_url = $changelogs = $details_url = array();
195
+ $strings = array(
196
+ 'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
197
+ 'latest' => __( 'View version %latest% details.', 'yith-plugin-fw' ),
198
+ 'unavailable' => __( 'Automatic update is unavailable for this plugin,', 'yith-plugin-fw' ),
199
+ 'activate' => __( 'please <a href="%activate_link%">activate</a> your copy of %plugin_name%.', 'yith-plugin-fw' ),
200
+ 'update_now' => __( 'Update now.', 'yith-plugin-fw' ),
201
+ 'version_issue' => __( '<br/><b>Please note:</b> You are using a higher version than the latest available one. </em>Please, make sure you\'ve downloaded the latest version of <em>%1$s</em> from the only <a href="https://yithemes.com" target="_blank">YITH official website</a>, specifically, from your <a href="https://yithemes.com/my-account/recent-downloads/" target="_blank">Downloads page</a>. This is the only way to be sure the version you are using is 100% malware-free.', 'yith-plugin-fw' ),
202
  );
203
 
204
  foreach ( $this->_plugins as $init => $info ) {
215
  'strings' => $strings,
216
  );
217
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
218
+
219
+ if( defined( 'YIT_CORE_PLUGIN_URL' ) ){
220
+ yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
221
+ }
222
 
223
  wp_localize_script( 'yit-multisite-updater', 'plugins', $localize_script_args );
224
  }
225
 
226
  public function admin_enqueue_scripts() {
227
  global $pagenow;
228
+ if ( 'plugins.php' === $pagenow && defined( 'YIT_CORE_PLUGIN_URL' ) ) {
229
  wp_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
230
  }
231
  }
245
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
246
  */
247
  public function upgrader_pre_download( $reply, $package, $upgrader ) {
248
+ /* === If class YIT_Plugin_Licence doesn't exists, no YITH plugins enabled === */
249
+ if( ! function_exists( 'YIT_Plugin_Licence' ) ){
250
+ return $reply;
251
+ }
252
+
253
  $plugin = false;
254
  $is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
255
  $is_bulk_ajax = $upgrader->skin instanceof WP_Ajax_Upgrader_Skin;
300
  $product_id = $plugin_info['product_id'];
301
 
302
  if( empty( $licence[ $product_id ] ) ){
303
+ return new WP_Error( 'license_not_valid', _x( 'You have to activate the plugin to benefit from automatic updates.', '[Update Plugin Message: License not enabled]', 'yith-plugin-fw' ) );
304
  }
305
 
306
  $args = array(
329
  /**
330
  * Regenerate update_plugins transient
331
  */
332
+ yith_plugin_fw_force_regenerate_plugin_update_transient();
333
 
334
  if ( is_wp_error( $download_file ) ) {
335
  return new WP_Error( 'download_failed', $upgrader->strings['download_failed'], $download_file->get_error_message() );
339
  }
340
 
341
  /**
342
+ * Retrieve the temp filename
343
  *
344
  * @param string $url The package url
345
  * @param string $body The post data fields
425
  * @since 1.0
426
  * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
427
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
428
+ * @deprecated From version 3.1.12
429
  */
430
  public function force_regenerate_update_transient() {
431
  delete_site_transient( 'update_plugins' );
457
  $plugin_remote_info = @simplexml_load_string( $remote_xml['body'] );
458
 
459
  if ( $plugin_remote_info ) {
460
+ $wrong_current_version_check = version_compare( $plugin['info']['Version'], $plugin_remote_info->latest, '>' );
461
+ $update_available = version_compare( $plugin_remote_info->latest, $plugin['info']['Version'], '>' );
462
 
463
+ if ( ( $update_available || $wrong_current_version_check ) && ! isset( $transient->response[ $init ] ) ) {
464
 
465
  $package = YIT_Plugin_Licence()->check( $init ) ? $this->_package_url : null;
466
 
534
  */
535
  $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );
536
 
537
+ global $wp_version;
538
+ $is_wp_4_6 = version_compare( $wp_version, '4.6', '>=' );
 
539
 
540
+ echo '<tr class="plugin-update-tr active' . ( is_plugin_active( $init ) ? ' active' : '' ) . '"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">';
541
 
542
+ echo '<div class="update-message' . ( $is_wp_4_6 ? ' notice inline notice-warning notice-alt' : '' ) . '">';
543
 
544
+ echo( $is_wp_4_6 ? '<p>' : '' );
545
 
546
+ if ( ! current_user_can( 'update_plugins' ) ) {
547
+ printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a>.', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version );
548
+ }
549
+
550
+ elseif ( is_plugin_active_for_network( $init ) ) {
551
+ printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a>. <em>You have to activate the plugin on a single site of the network to benefit from automatic updates.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version );
552
+ }
 
 
553
 
554
+ elseif ( empty( $r->package ) ) {
555
+ printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin, please <a href="%5$s" title="License activation">activate</a> your copy of %6s.</em>', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, YIT_Plugin_Licence()->get_licence_activation_page_url(), $this->_plugins[ $init ]['info']['Name'] );
556
+ }
557
 
558
+ else {
559
+ printf( __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox yit-changelog-button open-plugin-details-modal" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $init, 'upgrade-plugin_' . $init ) );
560
+ }
 
 
 
 
 
 
 
 
561
 
562
+ if( version_compare( $this->_plugins[ $init ]['info']['Version'] , $r->new_version, '>' ) ){
563
+ printf( __( '<br/><b>Please note:</b> You are using a higher version than the latest available one. </em>Please, make sure you\'ve downloaded the latest version of <em>%1$s</em> from the only <a href="https://yithemes.com" target="_blank">YITH official website</a>, specifically, from your <a href="https://yithemes.com/my-account/recent-downloads/" target="_blank">Downloads page</a>. This is the only way to be sure the version you are using is 100%% malware-free.', 'yith-plugin-fw' ), $this->_plugins[ $init ]['info']['Name'], esc_url( $details_url ), esc_attr( $this->_plugins[ $init ]['info']['Name'] ), $r->new_version, YIT_Plugin_Licence()->get_licence_activation_page_url(), $this->_plugins[ $init ]['info']['Name'] );
564
  }
565
+
566
+
567
+ echo( $is_wp_4_6 ? '</p>' : '' );
568
+
569
+ /**
570
+ * Fires at the end of the update message container in each
571
+ * row of the themes list table.
572
+ *
573
+ * The dynamic portion of the hook name, `$theme_key`, refers to
574
+ * the theme slug as found in the WordPress.org themes repository.
575
+ *
576
+ * @since Wordpress 3.1.0
577
+ * }
578
+ */
579
+ do_action( "in_theme_update_message-{$init}", $this->_plugins[ $init ], $r->changelog, $changelog_id );
580
+
581
+ echo '</div></td></tr>';
582
  }
583
 
584
  /**
597
  foreach ( $this->_plugins as $init => $plugin ) {
598
  remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
599
  add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
 
600
  }
601
  }
602
 
plugin-fw/lib/yith-dashboard.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * YITH
4
+ *
5
+ * @package WordPress
6
+ * @subpackage YITH
7
+ * @author YITH <plugins@yithemes.com>
8
+ *
9
+ * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
10
+ * that is bundled with this package in the file LICENSE.txt.
11
+ * It is also available through the world-wide-web at this URL:
12
+ * http://www.gnu.org/licenses/gpl-3.0.txt
13
+ */
14
+
15
+ if( ! class_exists( 'YITH_Dashboard' ) ){
16
+ /**
17
+ * Wordpress Admin Dashboard Management
18
+ *
19
+ * @since 1.0.0
20
+ */
21
+ class YITH_Dashboard {
22
+ /**
23
+ * Products URL
24
+ *
25
+ * @var string
26
+ * @access protected
27
+ * @since 1.0.0
28
+ */
29
+ static protected $_products_feed = 'https://yithemes.com/feed/?post_type=product';
30
+ static protected $_blog_feed = 'https://yithemes.com/feed/';
31
+
32
+ /**
33
+ * Dashboard widget setup
34
+ *
35
+ * @return void
36
+ * @since 1.0.0
37
+ * @access public
38
+ */
39
+ public static function dashboard_widget_setup() {
40
+ wp_add_dashboard_widget( 'yith_dashboard_products_news', __( 'New YITH products' , 'yith-plugin-fw' ), 'YITH_Dashboard::dashboard_products_news' );
41
+ wp_add_dashboard_widget( 'yith_dashboard_blog_news', __( 'News from the YITH Blog' , 'yith-plugin-fw' ), 'YITH_Dashboard::dashboard_blog_news' );
42
+ }
43
+
44
+
45
+ /**
46
+ * Product news Widget
47
+ *
48
+ * @return void
49
+ * @since 1.0.0
50
+ * @access public
51
+ */
52
+ public static function dashboard_products_news() {
53
+ $args = array( 'show_author' => 0, 'show_date' => 1, 'show_summary' => 1, 'items'=> 3 );
54
+ wp_widget_rss_output( static::$_products_feed, $args );
55
+ }
56
+
57
+
58
+ /**
59
+ * Blog news Widget
60
+ *
61
+ * @return void
62
+ * @since 1.0.0
63
+ * @access public
64
+ */
65
+ public static function dashboard_blog_news() {
66
+ $args = array( 'show_author' => 0, 'show_date' => 1, 'show_summary' => 1, 'items'=> 3 );
67
+ wp_widget_rss_output( static::$_blog_feed, $args );
68
+ }
69
+ }
70
+ if( apply_filters( 'yith_plugin_fw_show_dashboard_widgets', true ) ){
71
+ add_action( 'wp_dashboard_setup', 'YITH_Dashboard::dashboard_widget_setup' );
72
+ }
73
+ }
74
+
plugin-fw/lib/yith-gutenberg.php ADDED
@@ -0,0 +1,333 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Framework.
4
+ *
5
+ * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
6
+ * that is bundled with this package in the file LICENSE.txt.
7
+ * It is also available through the world-wide-web at this URL:
8
+ * http://www.gnu.org/licenses/gpl-3.0.txt
9
+ */
10
+
11
+ /**
12
+ * Text Domain: yith-plugin-fw
13
+ */
14
+
15
+ if ( ! defined( 'ABSPATH' ) ) {
16
+ exit;
17
+ } // Exit if accessed directly
18
+
19
+ if( ! class_exists( 'YITH_Gutenberg' ) ){
20
+
21
+ class YITH_Gutenberg{
22
+ /**
23
+ * @var array Registered blocks
24
+ */
25
+ private $_registered_blocks = array();
26
+
27
+ /**
28
+ * @var array Blocks to register
29
+ */
30
+ private $_to_register_blocks = array();
31
+
32
+ /**
33
+ * @var array Blocks args
34
+ */
35
+ private $_blocks_args = array();
36
+
37
+ /**
38
+ * @var string Block category slug
39
+ */
40
+ private $_category_slug = 'yith-blocks';
41
+
42
+ /**
43
+ * @var YIT_Upgrade The main instance
44
+ */
45
+ protected static $_instance;
46
+
47
+ /**
48
+ * Main plugin Instance
49
+ *
50
+ * @static
51
+ * @return object Main instance
52
+ *
53
+ * @since 1.0
54
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
55
+ */
56
+ public static function instance() {
57
+ if ( is_null( self::$_instance ) ) {
58
+ self::$_instance = new self();
59
+ }
60
+
61
+ return self::$_instance;
62
+ }
63
+
64
+ /**
65
+ * YITH_Gutenberg constructor.
66
+ */
67
+ private function __construct() {
68
+ add_action( 'init', array( $this, 'register_blocks' ), 30 );
69
+ add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ) );
70
+ add_action( 'wp_ajax_yith_plugin_fw_gutenberg_do_shortcode', array( $this, 'do_shortcode' ) );
71
+ add_action( 'wc_ajax_yith_plugin_fw_gutenberg_do_shortcode', array( $this, 'do_shortcode' ) );
72
+ }
73
+
74
+ /**
75
+ * Enqueue scripts for gutenberg
76
+ */
77
+ public function enqueue_block_editor_assets() {
78
+ $ajax_url = function_exists( 'WC' ) ? add_query_arg( 'wc-ajax', 'yith_plugin_fw_gutenberg_do_shortcode', trailingslashit( site_url() ) ) : admin_url( 'admin-ajax.php' );
79
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
80
+ $deps = apply_filters( 'yith_plugin_fw_gutenberg_script_deps', array(
81
+ 'wp-blocks',
82
+ 'wp-element',
83
+ 'yith-js-md5'
84
+ ) );
85
+ wp_register_script( 'yith-js-md5', YIT_CORE_PLUGIN_URL . '/assets/js/javascript-md5/md5.min.js', array(), '2.10.0', true );
86
+ wp_enqueue_script( 'yith-gutenberg', YIT_CORE_PLUGIN_URL . '/assets/js/yith-gutenberg' . $suffix . '.js', $deps, yith_plugin_fw_get_version(), true );
87
+ wp_localize_script( 'yith-gutenberg', 'yith_gutenberg', $this->_blocks_args );
88
+ wp_localize_script( 'yith-gutenberg', 'yith_gutenberg_ajax', array( 'ajaxurl' => $ajax_url ) );
89
+ }
90
+
91
+ /**
92
+ * Add blocks to gutenberg editor
93
+ *
94
+ * @return void
95
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
96
+ */
97
+ public function register_blocks(){
98
+ $block_args = array();
99
+ foreach ( $this->_to_register_blocks as $block => $args ){
100
+ if( isset( $args['style'] ) ){
101
+ $block_args['style'] = $args['style'];
102
+ }
103
+
104
+ if( isset( $args['script'] ) ){
105
+ $block_args['script'] = $args['script'];
106
+ }
107
+
108
+ if( register_block_type( "yith/{$block}", $block_args ) ){
109
+ $this->_registered_blocks[] = $block;
110
+ }
111
+ }
112
+
113
+ if( ! empty( $this->_registered_blocks ) ){
114
+ add_filter( 'block_categories', array( $this, 'block_category' ), 10, 2 );
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Add block category
120
+ *
121
+ * @param $categories array block categories array
122
+ * @param $post WP_Post current post
123
+ *
124
+ * @return array block categories
125
+ *
126
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
127
+ */
128
+ public function block_category( $categories, $post ){
129
+ return array_merge(
130
+ $categories,
131
+ array(
132
+ array(
133
+ 'slug' => 'yith-blocks',
134
+ 'title' => _x( 'YITH', '[gutenberg]: Category Name', 'yith-plugin-fw' ),
135
+ ),
136
+ )
137
+ );
138
+ }
139
+
140
+ /**
141
+ * Add new blocks to Gutenberg
142
+ *
143
+ * @param $blocks string|array new blocks
144
+ * @return bool true if add a new blocks, false otherwise
145
+ *
146
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
147
+ */
148
+ public function add_blocks( $blocks ){
149
+ $added = false;
150
+ if( ! empty( $blocks ) ){
151
+ $added = true;
152
+ if( is_array( $blocks ) ){
153
+ $this->_to_register_blocks = array_merge( $this->_to_register_blocks, $blocks );
154
+ }
155
+
156
+ else {
157
+ $this->_to_register_blocks[] = $blocks;
158
+ }
159
+ }
160
+
161
+ return $added;
162
+ }
163
+
164
+ /**
165
+ * Return an array with the registered blocks
166
+ *
167
+ * @return array
168
+ */
169
+ public function get_registered_blocks(){
170
+ return $this->_registered_blocks;
171
+ }
172
+
173
+ /**
174
+ * Return an array with the blocks to register
175
+ *
176
+ * @return array
177
+ */
178
+ public function get_to_register_blocks(){
179
+ return $this->_to_register_blocks;
180
+ }
181
+
182
+ /**
183
+ * Return an array with the block(s) arguments
184
+ *
185
+ * @return array
186
+ */
187
+ public function get_block_args( $block = 'all' ){
188
+ if( 'all' == $block ){
189
+ return $this->_blocks_args;
190
+ }
191
+
192
+ elseif( isset( $this->_blocks_args[ $block ] ) ){
193
+ return $this->_blocks_args[ $block ];
194
+ }
195
+
196
+ return false;
197
+ }
198
+
199
+ /**
200
+ * @return string Default block cateogyr slug
201
+ */
202
+ public function get_default_blocks_category_slug(){
203
+ return $this->_category_slug;
204
+ }
205
+
206
+ /**
207
+ * Set the block arguments
208
+ *
209
+ * @param $args array The block argument
210
+ */
211
+ public function set_block_args( $args ){
212
+ foreach( $args as $block => $block_args ){
213
+
214
+ /* === Add Default Keywords === */
215
+ $default_keywords = array( 'yith' );
216
+ if( ! empty( $block_args['shortcode_name'] ) ){
217
+ $default_keywords[] = $block_args['shortcode_name'];
218
+ }
219
+
220
+ $args[ $block ]['keywords'] = ! empty( $args[ $block ]['keywords'] ) ? array_merge( $args[ $block ]['keywords'], $default_keywords ) : $default_keywords;
221
+
222
+ if( count( $args[ $block ]['keywords'] ) > 3 ){
223
+ $args[ $block ]['keywords'] = array_slice($args[ $block ]['keywords'], 0, 3);
224
+ }
225
+
226
+ if( empty( $block_args['category'] ) ){
227
+ //Add YITH block category
228
+ $args[ $block ]['category'] = $this->get_default_blocks_category_slug();
229
+ }
230
+
231
+ if( isset( $block_args['attributes'] ) ){
232
+ foreach( $block_args['attributes'] as $attr_name => $attributes ){
233
+ // Set the do_shortcode args
234
+ if( ! empty( $attributes['do_shortcode'] ) ){
235
+ $args[ $block ]['attributes'][ $attr_name ] = true;
236
+ }
237
+
238
+ if( ! empty( $attributes['options'] ) && is_array( $attributes['options'] ) ){
239
+ $options = array();
240
+ foreach( $attributes['options'] AS $v => $l ){
241
+ //Prepare options array for react component
242
+ $options[] = array(
243
+ 'label' => $l,
244
+ 'value' => $v,
245
+ );
246
+ }
247
+ $args[ $block ]['attributes'][ $attr_name ]['options'] = $options;
248
+ }
249
+
250
+ if( empty( $attributes['remove_quotes'] ) ){
251
+ $args[ $block ]['attributes'][ $attr_name ]['remove_quotes'] = false;
252
+ }
253
+
254
+ /* === Special Requirements for Block Type === */
255
+ if( ! empty( $attributes['type'] ) ) {
256
+ $args[ $block ]['attributes'][ $attr_name ]['blocktype'] = $attributes['type'];
257
+ $args[ $block ]['attributes'][ $attr_name ]['type'] = 'string';
258
+
259
+ switch( $attributes['type'] ){
260
+ case 'select':
261
+ //Add default value for multiple
262
+ if( ! isset( $attributes['multiple'] ) ) {
263
+ $args[ $block ]['attributes'][ $attr_name ]['multiple'] = false;
264
+ }
265
+
266
+ if( ! empty( $attributes['multiple'] ) ){
267
+ $args[ $block ]['attributes'][ $attr_name ]['type'] = 'array';
268
+ }
269
+ break;
270
+
271
+ case 'color':
272
+ case 'colorpicker':
273
+ if( ! isset( $attributes['disableAlpha'] ) ){
274
+ //Disable alpha gradient for color picker
275
+ $args[ $block ]['attributes'][ $attr_name ]['disableAlpha'] = true;
276
+ }
277
+ break;
278
+
279
+ case 'number':
280
+ $args[ $block ]['attributes'][ $attr_name ]['type'] = 'integer';
281
+ break;
282
+
283
+ case 'toggle':
284
+ case 'checkbox':
285
+ $args[ $block ]['attributes'][ $attr_name ]['type'] = 'boolean';
286
+ break;
287
+ }
288
+ }
289
+ }
290
+ }
291
+ }
292
+
293
+ $this->_blocks_args = array_merge( $this->_blocks_args, $args );
294
+ }
295
+
296
+ /**
297
+ * Get a do_shortcode in ajax call to show block preview
298
+ *
299
+ * @param $args array The block argument
300
+ */
301
+ public function do_shortcode(){
302
+ $current_action = current_action();
303
+ $sc = ! empty( $_POST['shortcode'] ) ? $_POST['shortcode'] : '';
304
+
305
+ if( ! apply_filters( 'yith_plugin_fw_gutenberg_skip_shortcode_sanitize', false ) ){
306
+ $sc = sanitize_text_field( stripslashes( $sc ) );
307
+ }
308
+
309
+ do_action( 'yith_plugin_fw_gutenberg_before_do_shortcode', $sc, $current_action );
310
+ echo do_shortcode( apply_filters( 'yith_plugin_fw_gutenberg_shortcode', $sc, $current_action ) );
311
+ do_action( 'yith_plugin_fw_gutenberg_after_do_shortcode', $sc, $current_action );
312
+
313
+ if( is_ajax() ){
314
+ die();
315
+ }
316
+ }
317
+ }
318
+ }
319
+
320
+ if ( ! function_exists( 'YITH_Gutenberg' ) ) {
321
+ /**
322
+ * Main instance of plugin
323
+ *
324
+ * @return YITH_Gutenberg
325
+ * @since 1.0
326
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
327
+ */
328
+ function YITH_Gutenberg() {
329
+ return YITH_Gutenberg::instance();
330
+ }
331
+ }
332
+
333
+ YITH_Gutenberg();
plugin-fw/licence/assets/css/yit-licence.css CHANGED
@@ -134,13 +134,17 @@
134
  }
135
 
136
  .yit-container.product-licence-activation .licence-check-section{
137
- margin-bottom: 60px;
 
 
 
 
138
  }
139
 
140
  .yit-container.product-licence-activation span.licence-label {
141
  font-weight: 500;
142
  color: #606060;
143
- margin-bottom: 30px;
144
  }
145
 
146
  .yit-container.product-licence-activation .button-licence {
@@ -214,6 +218,11 @@
214
  border-right: 1px solid #dcdcdc;
215
  }
216
 
 
 
 
 
 
217
  .yit-container.product-licence-activation table td:last-child,
218
  .yit-container.product-licence-activation table th:last-child {
219
  border-right: 0;
@@ -354,12 +363,23 @@
354
  margin-left: 0;
355
  visibility: hidden;
356
  min-height: 38px;
 
357
  }
358
 
359
  #yith-licence-notice.visible {
360
  visibility: visible;
361
  }
362
 
 
 
 
 
 
 
 
 
 
 
363
  /* === Responsive === */
364
 
365
  @media (max-width: 767px) {
134
  }
135
 
136
  .yit-container.product-licence-activation .licence-check-section{
137
+ margin-bottom: 20px;
138
+ margin-top: 20px;
139
+ background-color: #ffffff;
140
+ padding: 10px;
141
+ max-width: 670px;
142
  }
143
 
144
  .yit-container.product-licence-activation span.licence-label {
145
  font-weight: 500;
146
  color: #606060;
147
+ margin-bottom: 20px;
148
  }
149
 
150
  .yit-container.product-licence-activation .button-licence {
218
  border-right: 1px solid #dcdcdc;
219
  }
220
 
221
+ .yit-container.product-licence-activation table:not(.to-active-table) th{
222
+ color: #808a97;
223
+ font-weight: bold;
224
+ }
225
+
226
  .yit-container.product-licence-activation table td:last-child,
227
  .yit-container.product-licence-activation table th:last-child {
228
  border-right: 0;
363
  margin-left: 0;
364
  visibility: hidden;
365
  min-height: 38px;
366
+ max-width: 660px;
367
  }
368
 
369
  #yith-licence-notice.visible {
370
  visibility: visible;
371
  }
372
 
373
+ #yith-licence-issue-how-to{
374
+ margin: 20px 10px 20px 0;
375
+ font-weight: 500;
376
+ color: #606060;
377
+ }
378
+
379
+ #yith-licence-actions span.dashicons{
380
+ line-height: 60px;
381
+ }
382
+
383
  /* === Responsive === */
384
 
385
  @media (max-width: 767px) {
plugin-fw/licence/assets/js/yit-licence.js CHANGED
@@ -30,7 +30,12 @@
30
  error_fields = new Array(),
31
  product_row = form.find( '.product-row' ),
32
  licence_activation = $( '.licence-activation' ),
33
- spinner = $( '#products-to-active' ).find( '.spinner' );
 
 
 
 
 
34
 
35
  /* Init Input Fields */
36
  message.empty();
@@ -41,10 +46,18 @@
41
  spinner.addClass( 'show' );
42
  t.add( licence_activation ).prop( "disabled", true ).addClass( 'clicked' );
43
 
44
- if ( '' === email_val ) {
45
  error = true;
46
- error_fields[ error_fields.length ] = licence_message.email;
47
  email.addClass( 'require' );
 
 
 
 
 
 
 
 
 
48
  }
49
 
50
  if ( '' === licence_key_val ) {
@@ -157,23 +170,25 @@
157
  },
158
  success: function ( response ) {
159
  message.css( 'maxWidth', activated_table.width() );
160
- if ( false == response.activated && typeof response.error == 'undefined' ) {
161
- $( '.product-licence-activation' ).empty().replaceWith( response.template );
162
- licence_api();
163
- }
164
-
165
- if ( false == response.activated && typeof response.error != 'undefined' ) {
166
- message.find( 'p.yith-licence-notice-message' ).html( response.error );
167
  message.removeClass( 'notice-success' ).addClass( 'notice-error visible' );
168
  t.add( renew ).add( deactive ).add( renew ).prop( "disabled", false ).removeClass( 'clicked' );
169
  $( '#activated-products' ).find( '.spinner' ).removeClass( 'show' );
170
  }
171
 
172
- else if ( false == response ) {
173
- message.find( 'p.yith-licence-notice-message' ).html( licence_message.server );
174
- message.removeClass( 'notice-success' ).addClass( 'notice-error visible' );
175
- t.add( renew ).add( deactive ).add( renew ).prop( "disabled", false ).removeClass( 'clicked' );
176
- $( '#activated-products' ).find( '.spinner' ).removeClass( 'show' );
 
 
 
 
 
 
 
177
  }
178
  }
179
  } );
30
  error_fields = new Array(),
31
  product_row = form.find( '.product-row' ),
32
  licence_activation = $( '.licence-activation' ),
33
+ spinner = $( '#products-to-active' ).find( '.spinner' ),
34
+ is_mail = function( val ){
35
+ /* https://stackoverflow.com/questions/2855865/jquery-validate-e-mail-address-regex */
36
+ var re = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
37
+ return re.test( val );
38
+ };
39
 
40
  /* Init Input Fields */
41
  message.empty();
46
  spinner.addClass( 'show' );
47
  t.add( licence_activation ).prop( "disabled", true ).addClass( 'clicked' );
48
 
49
+ if ( '' === email_val || ! is_mail( email_val ) ) {
50
  error = true;
 
51
  email.addClass( 'require' );
52
+
53
+ if( '' === email_val ){
54
+ error_fields[ error_fields.length ] = licence_message.email;
55
+ }
56
+
57
+ else {
58
+ error_fields[ error_fields.length ] = licence_message.email;
59
+ }
60
+
61
  }
62
 
63
  if ( '' === licence_key_val ) {
170
  },
171
  success: function ( response ) {
172
  message.css( 'maxWidth', activated_table.width() );
173
+ if ( false == response ) {
174
+ message.find( 'p.yith-licence-notice-message' ).html( licence_message.server );
 
 
 
 
 
175
  message.removeClass( 'notice-success' ).addClass( 'notice-error visible' );
176
  t.add( renew ).add( deactive ).add( renew ).prop( "disabled", false ).removeClass( 'clicked' );
177
  $( '#activated-products' ).find( '.spinner' ).removeClass( 'show' );
178
  }
179
 
180
+ else {
181
+ if ( false == response.activated ) {
182
+ $( '.product-licence-activation' ).empty().replaceWith( response.template );
183
+ licence_api();
184
+ }
185
+
186
+ if ( typeof response.error != 'undefined' ) {
187
+ message.find( 'p.yith-licence-notice-message' ).html( response.error );
188
+ message.removeClass( 'notice-success' ).addClass( 'notice-error visible' );
189
+ t.add( renew ).add( deactive ).add( renew ).prop( "disabled", false ).removeClass( 'clicked' );
190
+ $( '#activated-products' ).find( '.spinner' ).removeClass( 'show' );
191
+ }
192
  }
193
  }
194
  } );
plugin-fw/licence/assets/js/yit-licence.min.js CHANGED
@@ -1,10 +1 @@
1
- var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,d,b){a instanceof String&&(a=String(a));for(var e=a.length,f=0;f<e;f++){var k=a[f];if(d.call(b,k,f,a))return{i:f,v:k}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,b){a!=Array.prototype&&a!=Object.prototype&&(a[d]=b.value)};
2
- $jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,d,b,e){if(d){b=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var f=a[e];f in b||(b[f]={});b=b[f]}a=a[a.length-1];e=b[a];d=d(e);d!=e&&null!=d&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:d})}};
3
- $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
4
- (function(a){var d=function(b){b.on("click",function(g,c){g.preventDefault();var b=a(this);g=b.data("formid");c=a("#"+g);var d=c.serialize(),e=a(c).find(".message"),h=a(c).find(".message-wrapper"),k=c.find(".user-email"),l=c.find(".licence-key"),m=c.find(".user-email").val(),t=c.find(".licence-key").val(),n=!1;g=[];var p=c.find(".product-row"),q=a(".licence-activation"),r=a("#products-to-active").find(".spinner");e.empty();h.removeClass("visible");k.removeClass("require");l.removeClass("require");
5
- p.removeClass("error");r.addClass("show");b.add(q).prop("disabled",!0).addClass("clicked");""===m&&(n=!0,g[g.length]=licence_message.email,k.addClass("require"));""===t&&(n=!0,g[g.length]=licence_message.license_key,l.addClass("require"));if(!1===n)jQuery.ajax({type:"POST",url:ajaxurl,data:d,success:function(c){r.removeClass("show");b.add(q).prop("disabled",!1).removeClass("clicked");!0===c.activated?(a(".product-licence-activation").empty().replaceWith(c.template),f()):(!1!==c&&"undefined"!==typeof c.error?
6
- e.text(c.error):e.text(licence_message.server),h.addClass("visible"),p.addClass("error"));"undefined"!==typeof c.debug&&console.log(c.debug)}});else{if(1==g.length)e.text(licence_message.error.replace("%field%",g[0]));else{c=licence_message.errors;for(d=0;d<g.length;d++)c=c.replace("%field_"+(d+1)+"%",g[d]),h.addClass("visible");e.text(c)}h.addClass("visible");p.addClass("error");r.removeClass("show");b.add(q).prop("disabled",!1).removeClass("clicked")}})},b=function(b){b.on("click",function(b){b.preventDefault();
7
- b=a(this);var c=a("#licence-check-update"),d=c.serialize();b.prop("disabled",!0).addClass("clicked");c.find("div.spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:d,success:function(c){a(".product-licence-activation").empty().replaceWith(c.template);f()}})})},e=function(b){b.on("click",function(b){b.preventDefault();if(1==(1==script_info.is_debug?!0:confirm(licence_message.are_you_sure))){var c=a(this);b=c.data("licence-key");var d=c.data("licence-email"),e=c.data("product-init"),
8
- g=c.data("action"),h=a(".licence-renew"),k=a(".licence-deactive"),l=a("#yith-licence-notice"),m=a(".activated-table");c.add(h).add(k).prop("disabled",!0).addClass("clicked");a("#activated-products").find(".spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:{action:g,licence_key:b,email:d,product_init:e},success:function(b){l.css("maxWidth",m.width());0==b.activated&&"undefined"==typeof b.error&&(a(".product-licence-activation").empty().replaceWith(b.template),f());0==b.activated&&
9
- "undefined"!=typeof b.error?(l.find("p.yith-licence-notice-message").html(b.error),l.removeClass("notice-success").addClass("notice-error visible"),c.add(h).add(k).add(h).prop("disabled",!1).removeClass("clicked"),a("#activated-products").find(".spinner").removeClass("show")):0==b&&(l.find("p.yith-licence-notice-message").html(licence_message.server),l.removeClass("notice-success").addClass("notice-error visible"),c.add(h).add(k).add(h).prop("disabled",!1).removeClass("clicked"),a("#activated-products").find(".spinner").removeClass("show"))}})}})},
10
- f=function(){var f=a(".licence-activation"),g=a(".licence-check"),c=a(".licence-deactive");d(f);b(g);e(c)};f();a("body").on("click",".yit-changelog-button",function(b){a("#TB_window").remove()})})(jQuery);
1
+ !function(e){var a=function(){var i=e(".licence-activation"),s=e(".licence-check"),d=e(".licence-deactive");i.on("click",function(i,s){i.preventDefault();var d,c=e(this),r=c.data("formid"),l=e("#"+r),u=l.serialize(),F=e(l).find(".message"),t=e(l).find(".message-wrapper"),n=l.find(".user-email"),o=l.find(".licence-key"),p=l.find(".user-email").val(),v=l.find(".licence-key").val(),C=!1,x=new Array,m=l.find(".product-row"),D=e(".licence-activation"),f=e("#products-to-active").find(".spinner");if(F.empty(),t.removeClass("visible"),n.removeClass("require"),o.removeClass("require"),m.removeClass("error"),f.addClass("show"),c.add(D).prop("disabled",!0).addClass("clicked"),""!==p&&(d=p,new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(d))||(C=!0,n.addClass("require"),x[x.length]=licence_message.email),""===v&&(C=!0,x[x.length]=licence_message.license_key,o.addClass("require")),!1===C)jQuery.ajax({type:"POST",url:ajaxurl,data:u,success:function(i){f.removeClass("show"),c.add(D).prop("disabled",!1).removeClass("clicked"),!0===i.activated?(e(".product-licence-activation").empty().replaceWith(i.template),a()):!1!==i&&void 0!==i.error?(F.text(i.error),t.addClass("visible"),m.addClass("error")):(F.text(licence_message.server),t.addClass("visible"),m.addClass("error")),void 0!==i.debug&&console.log(i.debug)}});else{if(1==x.length)F.text(licence_message.error.replace("%field%",x[0])),t.addClass("visible"),m.addClass("error");else{for(var h=licence_message.errors,b=0;b<x.length;b++)h=h.replace("%field_"+(b+1)+"%",x[b]),t.addClass("visible");F.text(h),t.addClass("visible"),m.addClass("error")}f.removeClass("show"),c.add(D).prop("disabled",!1).removeClass("clicked")}}),s.on("click",function(i){i.preventDefault();var s=e(this),d=e("#licence-check-update"),c=d.serialize();s.prop("disabled",!0).addClass("clicked"),d.find("div.spinner").addClass("show"),jQuery.ajax({type:"POST",url:ajaxurl,data:c,success:function(i){e(".product-licence-activation").empty().replaceWith(i.template),a()}})}),d.on("click",function(i){if(i.preventDefault(),1==(1==script_info.is_debug||confirm(licence_message.are_you_sure))){var s=e(this),d=s.data("licence-key"),c=s.data("licence-email"),r=s.data("product-init"),l=s.data("action"),u=e(".licence-renew"),F=e(".licence-deactive"),t=e("#yith-licence-notice"),n=e(".activated-table");s.add(u).add(F).prop("disabled",!0).addClass("clicked"),e("#activated-products").find(".spinner").addClass("show"),jQuery.ajax({type:"POST",url:ajaxurl,data:{action:l,licence_key:d,email:c,product_init:r},success:function(i){t.css("maxWidth",n.width()),0==i?(t.find("p.yith-licence-notice-message").html(licence_message.server),t.removeClass("notice-success").addClass("notice-error visible"),s.add(u).add(F).add(u).prop("disabled",!1).removeClass("clicked"),e("#activated-products").find(".spinner").removeClass("show")):(0==i.activated&&(e(".product-licence-activation").empty().replaceWith(i.template),a()),void 0!==i.error&&(t.find("p.yith-licence-notice-message").html(i.error),t.removeClass("notice-success").addClass("notice-error visible"),s.add(u).add(F).add(u).prop("disabled",!1).removeClass("clicked"),e("#activated-products").find(".spinner").removeClass("show")))}})}})};a(),e("body").on("click",".yit-changelog-button",function(a){e("#TB_window").remove()})}(jQuery);
 
 
 
 
 
 
 
 
 
plugin-fw/licence/lib/yit-licence.php CHANGED
@@ -87,15 +87,9 @@ if ( !class_exists( 'YIT_Licence' ) ) {
87
  //show extra info and renew button in debug mode
88
  $this->show_extra_info = $this->show_renew_button = true;
89
  } else {
90
- $this->show_extra_info = defined( 'YIT_SHOW_EXTRA_LICENCE_INFO' ) && YIT_SHOW_EXTRA_LICENCE_INFO;
91
  $this->show_renew_button = !( defined( 'YIT_HIDE_LICENCE_RENEW_BUTTON' ) && YIT_HIDE_LICENCE_RENEW_BUTTON );
92
  }
93
-
94
- /* Update Licence Information */
95
- //@TODO: Removed for performance
96
- // add_action( 'core_upgrade_preamble', array( $this, 'check_all' ) );
97
- // add_action( 'wp_maybe_auto_update', array( $this, 'check_all' ) );
98
-
99
  }
100
 
101
  /**
@@ -183,11 +177,11 @@ if ( !class_exists( 'YIT_Licence' ) ) {
183
 
184
  /* Localize Scripts */
185
  wp_localize_script( 'yit-licence', 'licence_message', array(
186
- 'error' => sprintf( _x( '%s field cannot be empty', '%s = field name', 'yith-plugin-fw' ), '%field%' ), // sprintf must be used to avoid errors with '%field%' string in translation in .po file
187
- 'errors' => sprintf( __( '%s and %s fields cannot be empty', 'yith-plugin-fw' ), '%field_1%', '%field_2%' ),
188
  'server' => __( 'Unable to contact the remote server, please try again later. Thanks!', 'yith-plugin-fw' ),
189
- 'email' => __( 'Email', 'yith-plugin-fw' ),
190
- 'license_key' => __( 'License Key', 'yith-plugin-fw' ),
191
  'are_you_sure' => __( 'Are you sure you want to deactivate the license for current site?', 'yith-plugin-fw' )
192
  )
193
  );
@@ -258,7 +252,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
258
  update_option( $this->_licence_option, $options );
259
 
260
  /* === Update Plugin Licence Information === */
261
- YIT_Upgrade()->force_regenerate_update_transient();
262
 
263
  /* === Licence Activation Template === */
264
  $body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
@@ -309,32 +303,84 @@ if ( !class_exists( 'YIT_Licence' ) ) {
309
  $body = is_object( $body ) ? get_object_vars( $body ) : false;
310
  }
311
 
312
- if ( $body && is_array( $body ) && isset( $body[ 'activated' ] ) && !$body[ 'activated' ] && !isset( $body[ 'error' ] ) ) {
313
-
314
- $option[ $product[ 'product_id' ] ] = array(
315
- 'activated' => false,
316
- 'email' => urldecode( $args[ 'email' ] ),
317
- 'licence_key' => $args[ 'licence_key' ],
318
- 'licence_expires' => $body[ 'licence_expires' ],
319
- 'message' => $body[ 'message' ],
320
- 'activation_limit' => $body[ 'activation_limit' ],
321
- 'activation_remaining' => $body[ 'activation_remaining' ],
322
- 'is_membership' => isset( $body[ 'is_membership' ] ) ? $body[ 'is_membership' ] : false,
323
- );
324
-
325
- /* === Check for other plugins activation === */
326
- $options = $this->get_licence();
327
- $options[ $product[ 'product_id' ] ] = $option[ $product[ 'product_id' ] ];
328
-
329
- update_option( $this->_licence_option, $options );
330
-
331
- /* === Update Plugin Licence Information === */
332
- YIT_Upgrade()->force_regenerate_update_transient();
333
-
334
- /* === Licence Activation Template === */
335
- $body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 'deactivated', array( 'instance' => $body[ 'instance' ] ) ) );
336
- } else {
337
- $body[ 'error' ] = $this->get_response_code_message( $body[ 'code' ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
  }
339
 
340
  wp_send_json( $body );
@@ -346,13 +392,15 @@ if ( !class_exists( 'YIT_Licence' ) ) {
346
  * Send a request to API server to check if plugins is activated
347
  *
348
  * @param string|The plugin init slug $plugin_init
 
 
349
  *
350
  * @return bool | true if activated, false otherwise
351
  *
352
  * @since 1.0
353
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
354
  */
355
- public function check( $product_init, $regenerate_transient = true ) {
356
 
357
  $status = false;
358
  $body = false;
@@ -360,10 +408,14 @@ if ( !class_exists( 'YIT_Licence' ) ) {
360
  $licence = $this->get_licence();
361
  $product_id = $product[ 'product_id' ];
362
 
363
- if ( !isset( $licence[ $product_id ] ) ) {
364
  return false;
365
  }
366
 
 
 
 
 
367
  $args = array(
368
  'email' => urlencode( $licence[ $product_id ][ 'email' ] ),
369
  'licence_key' => $licence[ $product_id ][ 'licence_key' ],
@@ -376,13 +428,13 @@ if ( !class_exists( 'YIT_Licence' ) ) {
376
  $timeout = apply_filters( 'yith_plugin_fw_licence_timeout', 30, __FUNCTION__ );
377
  $response = wp_remote_get( $api_uri, array( 'timeout' => $timeout ) );
378
 
379
- if ( !is_wp_error( $response ) ) {
380
  $body = json_decode( $response[ 'body' ] );
381
  $body = is_object( $body ) ? get_object_vars( $body ) : false;
382
  }
383
 
384
- if ( $body && is_array( $body ) && isset( $body[ 'success' ] ) ) {
385
- if ( $body[ 'success' ] ) {
386
 
387
  /**
388
  * Code 200 -> Licence key is valid
@@ -390,6 +442,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
390
  $licence[ $product_id ][ 'status_code' ] = '200';
391
  $licence[ $product_id ][ 'activated' ] = $body[ 'activated' ];
392
  $licence[ $product_id ][ 'licence_expires' ] = $body[ 'licence_expires' ];
 
393
  $licence[ $product_id ][ 'activation_remaining' ] = $body[ 'activation_remaining' ];
394
  $licence[ $product_id ][ 'activation_limit' ] = $body[ 'activation_limit' ];
395
  $licence[ $product_id ][ 'is_membership' ] = isset( $body[ 'is_membership' ] ) ? $body[ 'is_membership' ] : false;
@@ -417,6 +470,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
417
 
418
  case '101':
419
  case '102':
 
420
  unset( $licence[ $product_id ] );
421
  break;
422
 
@@ -425,14 +479,12 @@ if ( !class_exists( 'YIT_Licence' ) ) {
425
  $licence[ $product_id ][ 'message' ] = $body[ 'error' ];
426
  $licence[ $product_id ][ 'status_code' ] = $body[ 'code' ];
427
  $licence[ $product_id ][ 'licence_expires' ] = $body[ 'licence_expires' ];
428
- //$licence[ $product_id ]['is_membership'] = isset( $body['is_membership'] ) ? $body['is_membership'] : false;
429
  break;
430
 
431
  case '107':
432
  $licence[ $product_id ][ 'activated' ] = false;
433
  $licence[ $product_id ][ 'message' ] = $body[ 'error' ];
434
  $licence[ $product_id ][ 'status_code' ] = $body[ 'code' ];
435
- //$licence[ $product_id ]['is_membership'] = isset( $body['is_membership'] ) ? $body['is_membership'] : false;
436
  break;
437
  }
438
  }
@@ -442,13 +494,30 @@ if ( !class_exists( 'YIT_Licence' ) ) {
442
 
443
  /* === Update Plugin Licence Information === */
444
  if ( $regenerate_transient ) {
445
- YIT_Upgrade()->force_regenerate_update_transient();
446
  }
447
  }
448
 
449
  return $status;
450
  }
451
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
452
  /**
453
  * Check for licence update
454
  *
@@ -457,10 +526,12 @@ if ( !class_exists( 'YIT_Licence' ) ) {
457
  *
458
  * @use YIT_Theme_Licence->check()
459
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
 
 
460
  */
461
- public function check_all() {
462
  foreach ( $this->_products as $init => $info ) {
463
- $this->check( $init );
464
  }
465
  }
466
 
@@ -477,10 +548,10 @@ if ( !class_exists( 'YIT_Licence' ) ) {
477
  */
478
  public function update_licence_information() {
479
  /* Check licence information for alla products */
480
- $this->check_all();
481
 
482
  /* === Regenerate Update Plugins Transient === */
483
- YIT_Upgrade()->force_regenerate_update_transient();
484
 
485
  do_action( 'yit_licence_after_check' );
486
 
@@ -692,7 +763,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
692
  '107' => __( 'License key has been banned', 'yith-plugin-fw' ),
693
  '108' => __( 'Current product is not included in your YITH Club Subscription key', 'yith-plugin-fw' ),
694
  '200' => sprintf( '<strong>%s</strong>! %s', __( 'Great', 'yith-plugin-fw' ), __( 'License successfully activated', 'yith-plugin-fw' ) ),
695
- 'deactivated' => sprintf( '%s <strong>%s</strong>', __( 'License key deactivated for website', 'woocommerce-software-add-on' ), isset( $instance ) ? $instance : '' )
696
  );
697
 
698
  return isset( $messages[ $code ] ) ? $messages[ $code ] : false;
87
  //show extra info and renew button in debug mode
88
  $this->show_extra_info = $this->show_renew_button = true;
89
  } else {
90
+ $this->show_extra_info = ( defined( 'YIT_SHOW_EXTRA_LICENCE_INFO' ) && YIT_SHOW_EXTRA_LICENCE_INFO ) || ( ! empty( $_GET['yith_show_extra_license_info'] ) && 'yes' == $_GET['yith_show_extra_license_info'] );
91
  $this->show_renew_button = !( defined( 'YIT_HIDE_LICENCE_RENEW_BUTTON' ) && YIT_HIDE_LICENCE_RENEW_BUTTON );
92
  }
 
 
 
 
 
 
93
  }
94
 
95
  /**
177
 
178
  /* Localize Scripts */
179
  wp_localize_script( 'yit-licence', 'licence_message', array(
180
+ 'error' => sprintf( _x( 'Please, insert a valid %s', '%s = field name', 'yith-plugin-fw' ), '%field%' ), // sprintf must be used to avoid errors with '%field%' string in translation in .po file
181
+ 'errors' => sprintf( __( 'Please, insert a valid %s and a valid %s', 'yith-plugin-fw' ), '%field_1%', '%field_2%' ),
182
  'server' => __( 'Unable to contact the remote server, please try again later. Thanks!', 'yith-plugin-fw' ),
183
+ 'email' => __( 'email address', 'yith-plugin-fw' ),
184
+ 'license_key' => __( 'license key', 'yith-plugin-fw' ),
185
  'are_you_sure' => __( 'Are you sure you want to deactivate the license for current site?', 'yith-plugin-fw' )
186
  )
187
  );
252
  update_option( $this->_licence_option, $options );
253
 
254
  /* === Update Plugin Licence Information === */
255
+ yith_plugin_fw_force_regenerate_plugin_update_transient();
256
 
257
  /* === Licence Activation Template === */
258
  $body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
303
  $body = is_object( $body ) ? get_object_vars( $body ) : false;
304
  }
305
 
306
+ if ( $body && is_array( $body ) ) {
307
+ /* === Get License === */
308
+ $options = $this->get_licence();
309
+ if( isset( $body[ 'activated' ] ) && ! $body[ 'activated' ] && ! isset( $body[ 'error' ] ) ){
310
+ $option[ $product[ 'product_id' ] ] = array(
311
+ 'activated' => false,
312
+ 'email' => urldecode( $args[ 'email' ] ),
313
+ 'licence_key' => $args[ 'licence_key' ],
314
+ 'licence_expires' => $body[ 'licence_expires' ],
315
+ 'message' => $body[ 'message' ],
316
+ 'activation_limit' => $body[ 'activation_limit' ],
317
+ 'activation_remaining' => $body[ 'activation_remaining' ],
318
+ 'is_membership' => isset( $body[ 'is_membership' ] ) ? $body[ 'is_membership' ] : false,
319
+ );
320
+
321
+ /* === Check for other plugins activation === */
322
+ $options[ $product[ 'product_id' ] ] = $option[ $product[ 'product_id' ] ];
323
+
324
+ /* === Update Plugin Licence Information === */
325
+ yith_plugin_fw_force_regenerate_plugin_update_transient();
326
+
327
+ update_option( $this->_licence_option, $options );
328
+
329
+ /* === Licence Activation Template === */
330
+ $body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 'deactivated', array( 'instance' => $body[ 'instance' ] ) ) );
331
+ }
332
+
333
+ else {
334
+ $body[ 'error' ] = $this->get_response_code_message( $body[ 'code' ] );
335
+
336
+ switch ( $body[ 'code' ] ) {
337
+
338
+ /**
339
+ * Error Code List:
340
+ *
341
+ * 100 -> Invalid Request
342
+ * 101 -> Invalid licence key
343
+ * 102 -> Software has been deactivate
344
+ * 103 -> Exceeded maximum number of activations
345
+ * 104 -> Invalid instance ID
346
+ * 105 -> Invalid security key
347
+ * 106 -> Licence key has expired
348
+ * 107 -> Licence key has be banned
349
+ *
350
+ * Only code 101, 106 and 107 have effect on DB during activation
351
+ * All error code have effect on DB during deactivation
352
+ *
353
+ */
354
+
355
+ case '101':
356
+ case '102':
357
+ case '104':
358
+ unset( $options[ $product[ 'product_id' ] ] );
359
+ break;
360
+
361
+ case '106':
362
+ $options[ $product[ 'product_id' ] ][ 'activated' ] = false;
363
+ $options[ $product[ 'product_id' ] ][ 'message' ] = $body[ 'error' ];
364
+ $options[ $product[ 'product_id' ] ][ 'status_code' ] = $body[ 'code' ];
365
+ $options[ $product[ 'product_id' ] ][ 'licence_expires' ] = $body[ 'licence_expires' ];
366
+ break;
367
+
368
+ case '107':
369
+ $options[ $product[ 'product_id' ] ][ 'activated' ] = false;
370
+ $options[ $product[ 'product_id' ] ][ 'message' ] = $body[ 'error' ];
371
+ $options[ $product[ 'product_id' ] ][ 'status_code' ] = $body[ 'code' ];
372
+ break;
373
+ }
374
+
375
+ update_option( $this->_licence_option, $options );
376
+
377
+ /* === Licence Activation Template === */
378
+ $deactivate_message = $this->get_response_code_message( 'deactivated' );
379
+ $error_code_message = $this->get_response_code_message( $body['code'] );
380
+ $message = sprintf( "<strong>%s</strong>: %s", $deactivate_message, $error_code_message );
381
+ $body['template'] = $this->show_activation_panel( $message );
382
+ $body['activated'] = false;
383
+ }
384
  }
385
 
386
  wp_send_json( $body );
392
  * Send a request to API server to check if plugins is activated
393
  *
394
  * @param string|The plugin init slug $plugin_init
395
+ * @param boolean $regenerate_transient
396
+ * @param boolean $force_check
397
  *
398
  * @return bool | true if activated, false otherwise
399
  *
400
  * @since 1.0
401
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
402
  */
403
+ public function check( $product_init, $regenerate_transient = true, $force_check = false ) {
404
 
405
  $status = false;
406
  $body = false;
408
  $licence = $this->get_licence();
409
  $product_id = $product[ 'product_id' ];
410
 
411
+ if ( ! isset( $licence[ $product_id ] ) ) {
412
  return false;
413
  }
414
 
415
+ if( ! $force_check && ! $this->is_check_needed( $licence[ $product_id ] ) ) {
416
+ return true;
417
+ }
418
+
419
  $args = array(
420
  'email' => urlencode( $licence[ $product_id ][ 'email' ] ),
421
  'licence_key' => $licence[ $product_id ][ 'licence_key' ],
428
  $timeout = apply_filters( 'yith_plugin_fw_licence_timeout', 30, __FUNCTION__ );
429
  $response = wp_remote_get( $api_uri, array( 'timeout' => $timeout ) );
430
 
431
+ if ( ! is_wp_error( $response ) ) {
432
  $body = json_decode( $response[ 'body' ] );
433
  $body = is_object( $body ) ? get_object_vars( $body ) : false;
434
  }
435
 
436
+ if ( $body && is_array( $body ) ) {
437
+ if ( isset( $body[ 'success' ] ) && $body[ 'success' ] == true ) {
438
 
439
  /**
440
  * Code 200 -> Licence key is valid
442
  $licence[ $product_id ][ 'status_code' ] = '200';
443
  $licence[ $product_id ][ 'activated' ] = $body[ 'activated' ];
444
  $licence[ $product_id ][ 'licence_expires' ] = $body[ 'licence_expires' ];
445
+ $licence[ $product_id ][ 'licence_next_check' ] = time() + ( 12 * HOUR_IN_SECONDS );
446
  $licence[ $product_id ][ 'activation_remaining' ] = $body[ 'activation_remaining' ];
447
  $licence[ $product_id ][ 'activation_limit' ] = $body[ 'activation_limit' ];
448
  $licence[ $product_id ][ 'is_membership' ] = isset( $body[ 'is_membership' ] ) ? $body[ 'is_membership' ] : false;
470
 
471
  case '101':
472
  case '102':
473
+ case '104':
474
  unset( $licence[ $product_id ] );
475
  break;
476
 
479
  $licence[ $product_id ][ 'message' ] = $body[ 'error' ];
480
  $licence[ $product_id ][ 'status_code' ] = $body[ 'code' ];
481
  $licence[ $product_id ][ 'licence_expires' ] = $body[ 'licence_expires' ];
 
482
  break;
483
 
484
  case '107':
485
  $licence[ $product_id ][ 'activated' ] = false;
486
  $licence[ $product_id ][ 'message' ] = $body[ 'error' ];
487
  $licence[ $product_id ][ 'status_code' ] = $body[ 'code' ];
 
488
  break;
489
  }
490
  }
494
 
495
  /* === Update Plugin Licence Information === */
496
  if ( $regenerate_transient ) {
497
+ yith_plugin_fw_force_regenerate_plugin_update_transient();
498
  }
499
  }
500
 
501
  return $status;
502
  }
503
 
504
+ /**
505
+ * Check if given licence needs to be checked
506
+ *
507
+ * @since 3.1.18
508
+ * @author Francesco Licandro
509
+ * @param array $licence The licence to check
510
+ * @return boolean
511
+ */
512
+ public function is_check_needed( $licence ){
513
+ if( empty( $licence['licence_expires'] ) || $licence['licence_expires'] < time()
514
+ || empty( $licence['licence_next_check'] ) || $licence['licence_next_check'] < time() ){
515
+ return true;
516
+ }
517
+
518
+ return false;
519
+ }
520
+
521
  /**
522
  * Check for licence update
523
  *
526
  *
527
  * @use YIT_Theme_Licence->check()
528
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
529
+ * @param boolean $regenerate_transient
530
+ * @param boolean $force_check
531
  */
532
+ public function check_all( $regenerate_transient = true, $force_check = false ) {
533
  foreach ( $this->_products as $init => $info ) {
534
+ $this->check( $init, $regenerate_transient, $force_check );
535
  }
536
  }
537
 
548
  */
549
  public function update_licence_information() {
550
  /* Check licence information for alla products */
551
+ $this->check_all( false, true );
552
 
553
  /* === Regenerate Update Plugins Transient === */
554
+ yith_plugin_fw_force_regenerate_plugin_update_transient();
555
 
556
  do_action( 'yit_licence_after_check' );
557
 
763
  '107' => __( 'License key has been banned', 'yith-plugin-fw' ),
764
  '108' => __( 'Current product is not included in your YITH Club Subscription key', 'yith-plugin-fw' ),
765
  '200' => sprintf( '<strong>%s</strong>! %s', __( 'Great', 'yith-plugin-fw' ), __( 'License successfully activated', 'yith-plugin-fw' ) ),
766
+ 'deactivated' => sprintf( '%s <strong>%s</strong>', __( 'License key deactivated for website', 'yith-plugin-fw' ), isset( $instance ) ? $instance : '' )
767
  );
768
 
769
  return isset( $messages[ $code ] ) ? $messages[ $code ] : false;
plugin-fw/licence/lib/yit-plugin-licence.php CHANGED
@@ -74,16 +74,25 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
74
  add_action( "wp_ajax_yith_activate-{$this->_product_type}", array( $this, 'activate' ) );
75
  add_action( "wp_ajax_yith_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
76
  add_action( "wp_ajax_yith_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
77
- add_action( 'yit_licence_after_check', array( $this, 'licence_after_check' ) );
78
 
79
  /** @since 3.0.0 */
80
- add_action( 'admin_notices', function () {
81
- $this->activate_license_notice();
82
- }, 15 );
 
 
 
 
 
 
83
  }
84
 
85
  private function _show_activate_license_notice() {
86
- $show_license_notice = current_user_can( 'update_plugins' ) && ( !isset( $_GET[ 'page' ] ) || 'yith_plugins_activation' !== $_GET[ 'page' ] );
 
 
 
87
  global $wp_filter;
88
 
89
  if ( isset( $wp_filter[ 'yith_plugin_fw_show_activate_license_notice' ] ) ) {
@@ -129,9 +138,16 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
129
  $activation_url = self::get_license_activation_url();
130
  ?>
131
  <div class="notice notice-error">
132
- <p><strong>Warning!</strong> You didn't set license key for the following products:
 
133
  <?php echo $product_list ?>
134
- which means you're missing out on updates and support. <a href='<?php echo $activation_url ?>'>Enter your license key</a>, please.</p>
 
 
 
 
 
 
135
  </div>
136
  <?php
137
  }
@@ -139,11 +155,6 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
139
  }
140
  }
141
 
142
- public function licence_after_check() {
143
- /* === Regenerate Update Plugins Transient === */
144
- YIT_Upgrade()->force_regenerate_update_transient();
145
- }
146
-
147
  /**
148
  * Main plugin Instance
149
  *
@@ -221,7 +232,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
221
  /**
222
  * Main instance of plugin
223
  *
224
- * @return object
225
  * @since 1.0
226
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
227
  */
74
  add_action( "wp_ajax_yith_activate-{$this->_product_type}", array( $this, 'activate' ) );
75
  add_action( "wp_ajax_yith_deactivate-{$this->_product_type}", array( $this, 'deactivate' ) );
76
  add_action( "wp_ajax_yith_update_licence_information-{$this->_product_type}", array( $this, 'update_licence_information' ) );
77
+ add_action( 'yit_licence_after_check', 'yith_plugin_fw_force_regenerate_plugin_update_transient' );
78
 
79
  /** @since 3.0.0 */
80
+ if( version_compare( PHP_VERSION, '7.0', '>=' ) ) {
81
+ add_action( 'admin_notices', function () {
82
+ $this->activate_license_notice();
83
+ }, 15 );
84
+ }
85
+
86
+ else {
87
+ add_action( 'admin_notices', array( $this, 'activate_license_notice' ), 15 );
88
+ }
89
  }
90
 
91
  private function _show_activate_license_notice() {
92
+ $current_screen = function_exists( 'get_current_screen' ) ? get_current_screen() : false;
93
+ $show_license_notice = current_user_can( 'update_plugins' ) &&
94
+ ( !isset( $_GET[ 'page' ] ) || 'yith_plugins_activation' !== $_GET[ 'page' ] ) &&
95
+ !( $current_screen && method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() );
96
  global $wp_filter;
97
 
98
  if ( isset( $wp_filter[ 'yith_plugin_fw_show_activate_license_notice' ] ) ) {
138
  $activation_url = self::get_license_activation_url();
139
  ?>
140
  <div class="notice notice-error">
141
+ <p>
142
+ <?php printf( '<strong>%s</strong> %s:', _x( 'Warning!', "[Part of]: Warning! You didn't set license key for the following products:[Plugins List] which means you're missing out on updates and support. Enter your license key, please.", 'yith-plugin-fw' ), _x( "You didn't set license key for the following products", "[Part of]: Warning! You didn't set license key for the following products:[Plugins List] which means you're missing out on updates and support. Enter your license key, please.",'yith-plugin-fw' ) ); ?><strong></strong>
143
  <?php echo $product_list ?>
144
+ <?php printf( "%s. <a href='%s'>%s</a>, %s",
145
+ _x( "which means you're missing out on updates and support", "[Part of]: Warning! You didn't set license key for the following products:[Plugins List] which means you're missing out on updates and support. Enter your license key, please.", 'yith-plugin-fw' ),
146
+ $activation_url,
147
+ _x( 'Enter your license key', "[Part of]: Warning! You didn't set license key for the following products:[Plugins List] which means you're missing out on updates and support. Enter your license key, please.", 'yith-plugin-fw' ),
148
+ _x( 'please', "[Part of]: Warning! You didn't set license key for the following products:[Plugins List] which means you're missing out on updates and support. Enter your license key, please.", 'yith-plugin-fw' )
149
+ ); ?>
150
+ </p>
151
  </div>
152
  <?php
153
  }
155
  }
156
  }
157
 
 
 
 
 
 
158
  /**
159
  * Main plugin Instance
160
  *
232
  /**
233
  * Main instance of plugin
234
  *
235
+ * @return YIT_Plugin_Licence object of license class
236
  * @since 1.0
237
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
238
  */
plugin-fw/licence/templates/panel/activation/activation-panel.php CHANGED
@@ -22,15 +22,19 @@ $debug = isset( $_REQUEST[ 'yith-license-debug' ] ) ? $_
22
 
23
  <div class="yit-container product-licence-activation">
24
  <h2><?php _e( 'YITH License Activation', 'yith-plugin-fw' ) ?></h2>
25
-
26
  <div class="licence-check-section">
 
27
  <form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
28
- <span class="licence-label" style="display: block;"><?php _e( 'Have you updated your licenses? Have you asked for an extension? Update information concerning your products.', 'yith-plugin-fw' ); ?></span>
 
 
29
  <input type="hidden" name="action" value="yith_update_licence_information-<?php echo $this->get_product_type(); ?>"/>
30
- <input type="submit" name="submit" value="<?php _e( 'Update license information', 'yith-plugin-fw' ) ?>" class="button-licence licence-check"/>
31
  <div class="spinner"></div>
32
  </form>
33
  </div>
 
34
 
35
  <div id="yith-licence-notice" class="<?php echo $notice_class ?>">
36
  <p class="yith-licence-notice-message"><?php echo $notice ?></p>
@@ -43,6 +47,7 @@ $debug = isset( $_REQUEST[ 'yith-license-debug' ] ) ? $_
43
  <?php echo _n( 'Product to activate', 'Products to activate', $to_activate_check, 'yith-plugin-fw' ) ?>
44
  <span class="spinner"></span>
45
  </h3>
 
46
  <div class="to-active-wrapper">
47
  <?php foreach ( $to_active_products as $init => $info ) : ?>
48
  <form class="to-active-form" method="post" id="<?php echo $info[ 'product_id' ] ?>" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
@@ -56,7 +61,7 @@ $debug = isset( $_REQUEST[ 'yith-license-debug' ] ) ? $_
56
  <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
57
  </td>
58
  <td>
59
- <input type="email" name="email" placeholder="Your email on yithemes.com" value="" class="user-email"/>
60
  </td>
61
  <td>
62
  <input type="text" name="licence_key" placeholder="License Key" value="" class="licence-key"/>
@@ -102,7 +107,7 @@ $debug = isset( $_REQUEST[ 'yith-license-debug' ] ) ? $_
102
  <?php endif; ?>
103
  <?php endif; ?>
104
 
105
- <th><?php _e( 'License Actions', 'yith-plugin-fw' ) ?></th>
106
  </tr>
107
  </thead>
108
  <tbody>
22
 
23
  <div class="yit-container product-licence-activation">
24
  <h2><?php _e( 'YITH License Activation', 'yith-plugin-fw' ) ?></h2>
25
+ <?php if ( !empty( $activated_products ) ) : ?>
26
  <div class="licence-check-section">
27
+ <h3><?php _e( 'License expiry date', 'yith-plugin-fw' ); ?></h3>
28
  <form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
29
+ <span class="licence-label" style="display: block;">
30
+ <?php _e( 'If you have renewed your product license key and the expiry date does not appear up-to-date, please, click on the button <em>Check Expiry Date</em> below and it will update.', 'yith-plugin-fw' ); ?>
31
+ </span>
32
  <input type="hidden" name="action" value="yith_update_licence_information-<?php echo $this->get_product_type(); ?>"/>
33
+ <input type="submit" name="submit" value="<?php _e( 'Check expiry date', 'yith-plugin-fw' ) ?>" class="button-licence licence-check"/>
34
  <div class="spinner"></div>
35
  </form>
36
  </div>
37
+ <?php endif; ?>
38
 
39
  <div id="yith-licence-notice" class="<?php echo $notice_class ?>">
40
  <p class="yith-licence-notice-message"><?php echo $notice ?></p>
47
  <?php echo _n( 'Product to activate', 'Products to activate', $to_activate_check, 'yith-plugin-fw' ) ?>
48
  <span class="spinner"></span>
49
  </h3>
50
+ <p id="yith-licence-issue-how-to"><?php printf( '%s <a href="%s" target="_blank">%s</a>.', __( 'Are you having issues with the license activation?', 'yith-plugin-fw' ), '//support.yithemes.com/hc/en-us/articles/360012568594-License-activation-issues', __( 'Read this article', '[Part of]: Are you having issues with the license activation? Read this article', 'yith-plugin-fw' ) )?></p>
51
  <div class="to-active-wrapper">
52
  <?php foreach ( $to_active_products as $init => $info ) : ?>
53
  <form class="to-active-form" method="post" id="<?php echo $info[ 'product_id' ] ?>" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
61
  <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
62
  </td>
63
  <td>
64
+ <input type="text" name="email" placeholder="Your email on yithemes.com" value="" class="user-email"/>
65
  </td>
66
  <td>
67
  <input type="text" name="licence_key" placeholder="License Key" value="" class="licence-key"/>
107
  <?php endif; ?>
108
  <?php endif; ?>
109
 
110
+ <th id="yith-licence-actions"><span class="dashicons dashicons-admin-generic"></span></th>
111
  </tr>
112
  </thead>
113
  <tbody>
plugin-fw/templates/fields/textarea-editor.php CHANGED
@@ -18,7 +18,7 @@ if ( !function_exists( 'wp_editor' ) ) :
18
  else:
19
  extract( $field );
20
 
21
- $editor_args = array(
22
  'wpautop' => true, // use wpautop?
23
  'media_buttons' => true, // show insert/upload button(s)
24
  'textarea_name' => $name, // set the textarea name to something different, square brackets [] can be used here
@@ -30,7 +30,7 @@ else:
30
  'dfw' => false, // replace the default fullscreen with DFW (needs specific DOM elements and css)
31
  'tinymce' => true, // load TinyMCE, can be used to pass settings directly to TinyMCE using an array()
32
  'quicktags' => true // load Quicktags, can be used to pass settings directly to Quicktags using an array()
33
- );
34
  ?>
35
  <div class="editor" <?php echo $custom_attributes ?>
36
  <?php if ( isset( $data ) ) echo yith_plugin_fw_html_data_to_string( $data ); ?>><?php wp_editor( $value, $id, $editor_args ); ?></div>
18
  else:
19
  extract( $field );
20
 
21
+ $editor_args = wp_parse_args( $field, array(
22
  'wpautop' => true, // use wpautop?
23
  'media_buttons' => true, // show insert/upload button(s)
24
  'textarea_name' => $name, // set the textarea name to something different, square brackets [] can be used here
30
  'dfw' => false, // replace the default fullscreen with DFW (needs specific DOM elements and css)
31
  'tinymce' => true, // load TinyMCE, can be used to pass settings directly to TinyMCE using an array()
32
  'quicktags' => true // load Quicktags, can be used to pass settings directly to Quicktags using an array()
33
+ ) );
34
  ?>
35
  <div class="editor" <?php echo $custom_attributes ?>
36
  <?php if ( isset( $data ) ) echo yith_plugin_fw_html_data_to_string( $data ); ?>><?php wp_editor( $value, $id, $editor_args ); ?></div>
plugin-fw/templates/metaboxes/tab.php CHANGED
@@ -20,11 +20,11 @@ do_action( 'yit_before_metaboxes_tab' ) ?>
20
  <ul class="metaboxes-tabs clearfix"<?php if ( count( $tabs ) <= 1 ) : ?> style="display:none;"<?php endif; ?>>
21
  <?php
22
  $i = 0;
23
- foreach ( $tabs as $tab ) :
24
  if ( !isset( $tab[ 'fields' ] ) || empty( $tab[ 'fields' ] ) ) {
25
  continue;
26
  }
27
- $anchor_id = 'yith-plugin-fw-metabox-tab-' . urldecode( sanitize_title( $tab[ 'label' ] ) ) . '-anchor';
28
 
29
  // parse deps for the tab visibility
30
  if ( isset( $tab[ 'deps' ] ) ) {
@@ -38,30 +38,30 @@ do_action( 'yit_before_metaboxes_tab' ) ?>
38
  }
39
  ?>
40
  <li id="<?php echo $anchor_id ?>" <?php if ( !$i ) : ?>class="tabs"<?php endif ?> <?php echo yith_field_deps_data( $tab ); ?>>
41
- <a href="#<?php echo urldecode( sanitize_title( $tab[ 'label' ] ) ) ?>"><?php echo $tab[ 'label' ] ?></a></li><?php
42
  $i++;
43
  endforeach;
44
  ?>
45
  </ul>
46
  <?php do_action( 'yit_after_metaboxes_labels' ) ?>
47
  <?php if ( isset( $tab[ 'label' ] ) ) : ?>
48
- <?php do_action( 'yit_before_metabox_option_' . urldecode( sanitize_title( $tab[ 'label' ] ) ) ); ?>
49
  <?php endif ?>
50
 
51
  <?php
52
  // Use nonce for verification
53
  wp_nonce_field( 'metaboxes-fields-nonce', 'yit_metaboxes_nonce' );
54
  ?>
55
- <?php foreach ( $tabs as $tab ) :
56
 
57
  ?>
58
- <div class="tabs-panel" id="<?php echo urldecode( sanitize_title( $tab[ 'label' ] ) ) ?>">
59
  <?php
60
  if ( !isset( $tab[ 'fields' ] ) ) {
61
  continue;
62
  }
63
 
64
- $tab[ 'fields' ] = apply_filters( 'yit_metabox_' . sanitize_title( $tab[ 'label' ] ) . '_tab_fields', $tab[ 'fields' ] );
65
 
66
  foreach ( $tab[ 'fields' ] as $id_tab => $field ) :
67
  $field_name = $field[ 'name' ];
20
  <ul class="metaboxes-tabs clearfix"<?php if ( count( $tabs ) <= 1 ) : ?> style="display:none;"<?php endif; ?>>
21
  <?php
22
  $i = 0;
23
+ foreach ( $tabs as $key=>$tab ) :
24
  if ( !isset( $tab[ 'fields' ] ) || empty( $tab[ 'fields' ] ) ) {
25
  continue;
26
  }
27
+ $anchor_id = 'yith-plugin-fw-metabox-tab-' . urldecode( $key ) . '-anchor';
28
 
29
  // parse deps for the tab visibility
30
  if ( isset( $tab[ 'deps' ] ) ) {
38
  }
39
  ?>
40
  <li id="<?php echo $anchor_id ?>" <?php if ( !$i ) : ?>class="tabs"<?php endif ?> <?php echo yith_field_deps_data( $tab ); ?>>
41
+ <a href="#<?php echo urldecode( $key ) ?>"><?php echo $tab[ 'label' ] ?></a></li><?php
42
  $i++;
43
  endforeach;
44
  ?>
45
  </ul>
46
  <?php do_action( 'yit_after_metaboxes_labels' ) ?>
47
  <?php if ( isset( $tab[ 'label' ] ) ) : ?>
48
+ <?php do_action( 'yit_before_metabox_option_' . urldecode( $key ) ); ?>
49
  <?php endif ?>
50
 
51
  <?php
52
  // Use nonce for verification
53
  wp_nonce_field( 'metaboxes-fields-nonce', 'yit_metaboxes_nonce' );
54
  ?>
55
+ <?php foreach ( $tabs as $key=> $tab ) :
56
 
57
  ?>
58
+ <div class="tabs-panel" id="<?php echo urldecode( $key ) ?>">
59
  <?php
60
  if ( !isset( $tab[ 'fields' ] ) ) {
61
  continue;
62
  }
63
 
64
+ $tab[ 'fields' ] = apply_filters( 'yit_metabox_' . $key . '_tab_fields', $tab[ 'fields' ] );
65
 
66
  foreach ( $tab[ 'fields' ] as $id_tab => $field ) :
67
  $field_name = $field[ 'name' ];
plugin-fw/templates/panel/woocommerce/woocommerce-option-row.php CHANGED
@@ -13,8 +13,11 @@ $field = wp_parse_args( $field, $default_field );
13
  $display_row = !in_array( $field[ 'type' ], array( 'hidden', 'html', 'sep', 'simple-text', 'title' ) );
14
  $display_row = isset( $field[ 'yith-display-row' ] ) ? !!$field[ 'yith-display-row' ] : $display_row;
15
 
 
 
 
16
  ?>
17
- <tr valign="top" class="yith-plugin-fw-panel-wc-row <?php echo $field[ 'type' ] ?>" <?php echo yith_field_deps_data( $field ) ?>>
18
  <?php if ( $display_row ) : ?>
19
  <th scope="row" class="titledesc">
20
  <label for="<?php echo esc_attr( $field[ 'id' ] ); ?>"><?php echo esc_html( $field[ 'title' ] ); ?></label>
13
  $display_row = !in_array( $field[ 'type' ], array( 'hidden', 'html', 'sep', 'simple-text', 'title' ) );
14
  $display_row = isset( $field[ 'yith-display-row' ] ) ? !!$field[ 'yith-display-row' ] : $display_row;
15
 
16
+ $extra_row_classes = apply_filters( 'yith_plugin_fw_panel_wc_extra_row_classes', array(), $field );
17
+ $extra_row_classes = is_array( $extra_row_classes ) ? implode( ' ', $extra_row_classes ) : '';
18
+
19
  ?>
20
+ <tr valign="top" class="yith-plugin-fw-panel-wc-row <?php echo $field[ 'type' ] ?> <?php echo $extra_row_classes ?>" <?php echo yith_field_deps_data( $field ) ?>>
21
  <?php if ( $display_row ) : ?>
22
  <th scope="row" class="titledesc">
23
  <label for="<?php echo esc_attr( $field[ 'id' ] ); ?>"><?php echo esc_html( $field[ 'title' ] ); ?></label>
plugin-fw/yit-functions.php CHANGED
@@ -401,7 +401,6 @@ if ( !function_exists( 'yit_string' ) ) {
401
  }
402
  }
403
 
404
-
405
  if ( !function_exists( 'yit_pagination' ) ) {
406
  /**
407
  * Print pagination
@@ -598,7 +597,6 @@ if ( !function_exists( 'yit_get_excluded_categories' ) ) {
598
  }
599
  }
600
 
601
-
602
  if ( !function_exists( 'yit_add_extra_theme_headers' ) ) {
603
  add_filter( 'extra_theme_headers', 'yit_add_extra_theme_headers' );
604
 
@@ -891,7 +889,6 @@ if ( !function_exists( 'yit_wpml_object_id' ) ) {
891
 
892
  }
893
 
894
-
895
  if ( !function_exists( 'yith_get_formatted_price' ) ) {
896
  /**
897
  * Format the price with a currency symbol.
@@ -1062,6 +1059,7 @@ if ( !function_exists( 'yith_plugin_fw_html_data_to_string' ) ) {
1062
  return $html_data;
1063
  }
1064
  }
 
1065
  if ( !function_exists( 'yith_plugin_fw_get_icon' ) ) {
1066
  function yith_plugin_fw_get_icon( $icon = '', $args = array() ) {
1067
  return YIT_Icons()->get_icon( $icon, $args );
@@ -1070,11 +1068,10 @@ if ( !function_exists( 'yith_plugin_fw_get_icon' ) ) {
1070
 
1071
  if ( !function_exists( 'yith_plugin_fw_is_true' ) ) {
1072
  function yith_plugin_fw_is_true( $value ) {
1073
- return true === $value || 1 === $value || '1' === $value || 'yes' === $value;
1074
  }
1075
  }
1076
 
1077
-
1078
  if ( !function_exists( 'yith_plugin_fw_enqueue_enhanced_select' ) ) {
1079
  function yith_plugin_fw_enqueue_enhanced_select() {
1080
  wp_enqueue_script( 'yith-enhanced-select' );
@@ -1160,4 +1157,85 @@ if ( !function_exists( 'yith_plugin_fw_is_panel' ) ) {
1160
 
1161
  return $screen instanceof WP_Screen && strpos( $screen->id, $panel_screen_id ) !== false;
1162
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1163
  }
401
  }
402
  }
403
 
 
404
  if ( !function_exists( 'yit_pagination' ) ) {
405
  /**
406
  * Print pagination
597
  }
598
  }
599
 
 
600
  if ( !function_exists( 'yit_add_extra_theme_headers' ) ) {
601
  add_filter( 'extra_theme_headers', 'yit_add_extra_theme_headers' );
602
 
889
 
890
  }
891
 
 
892
  if ( !function_exists( 'yith_get_formatted_price' ) ) {
893
  /**
894
  * Format the price with a currency symbol.
1059
  return $html_data;
1060
  }
1061
  }
1062
+
1063
  if ( !function_exists( 'yith_plugin_fw_get_icon' ) ) {
1064
  function yith_plugin_fw_get_icon( $icon = '', $args = array() ) {
1065
  return YIT_Icons()->get_icon( $icon, $args );
1068
 
1069
  if ( !function_exists( 'yith_plugin_fw_is_true' ) ) {
1070
  function yith_plugin_fw_is_true( $value ) {
1071
+ return true === $value || 1 === $value || '1' === $value || 'yes' === $value || 'true' === $value;
1072
  }
1073
  }
1074
 
 
1075
  if ( !function_exists( 'yith_plugin_fw_enqueue_enhanced_select' ) ) {
1076
  function yith_plugin_fw_enqueue_enhanced_select() {
1077
  wp_enqueue_script( 'yith-enhanced-select' );
1157
 
1158
  return $screen instanceof WP_Screen && strpos( $screen->id, $panel_screen_id ) !== false;
1159
  }
1160
+ }
1161
+
1162
+ if( ! function_exists( 'yith_plugin_fw_force_regenerate_plugin_update_transient' ) ){
1163
+ /**
1164
+ * Delete the update plugins transient
1165
+ *
1166
+ * @return void
1167
+ *
1168
+ * @since 1.0
1169
+ * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
1170
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
1171
+ */
1172
+ function yith_plugin_fw_force_regenerate_plugin_update_transient() {
1173
+ delete_site_transient( 'update_plugins' );
1174
+ }
1175
+ }
1176
+
1177
+ /* === Gutenberg Support === */
1178
+
1179
+ if( ! function_exists( 'yith_plugin_fw_is_gutenberg_enabled' ) ){
1180
+ function yith_plugin_fw_is_gutenberg_enabled(){
1181
+ return function_exists( 'YITH_Gutenberg' );
1182
+ }
1183
+ }
1184
+
1185
+ if( ! function_exists( 'yith_plugin_fw_gutenberg_add_blocks' ) ){
1186
+ /**
1187
+ * Add new blocks to Gutenberg
1188
+ *
1189
+ * @param $blocks string|array new blocks
1190
+ * @return bool true if add a new blocks, false otherwise
1191
+ *
1192
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
1193
+ */
1194
+ function yith_plugin_fw_gutenberg_add_blocks( $blocks ){
1195
+ $added = false;
1196
+ if( yith_plugin_fw_is_gutenberg_enabled() ) {
1197
+ // ADD Blocks
1198
+ $added = YITH_Gutenberg()->add_blocks( $blocks );
1199
+
1200
+ //ADD Blocks arguments
1201
+ if( $added ){
1202
+ YITH_Gutenberg()->set_block_args( $blocks );
1203
+ }
1204
+ }
1205
+
1206
+ return $added;
1207
+ }
1208
+ }
1209
+
1210
+ if( ! function_exists( 'yith_plugin_fw_gutenberg_get_registered_blocks' ) ){
1211
+ /**
1212
+ * Return an array with the registered blocks
1213
+ *
1214
+ * @return array
1215
+ */
1216
+ function yith_plugin_fw_gutenberg_get_registered_blocks(){
1217
+ return yith_plugin_fw_is_gutenberg_enabled() ? YITH_Gutenberg()->get_registered_blocks() : array();
1218
+ }
1219
+ }
1220
+
1221
+ if( ! function_exists( 'yith_plugin_fw_gutenberg_get_to_register_blocks' ) ){
1222
+ /**
1223
+ * Return an array with the blocks to register
1224
+ *
1225
+ * @return array
1226
+ */
1227
+ function yith_plugin_fw_gutenberg_get_to_register_blocks(){
1228
+ return yith_plugin_fw_is_gutenberg_enabled() ? YITH_Gutenberg()->get_to_register_blocks() : array();
1229
+ }
1230
+ }
1231
+
1232
+ if( ! function_exists( 'yith_plugin_fw_get_default_logo' ) ){
1233
+ /**
1234
+ * Get the default SVG logo
1235
+ *
1236
+ * @return string default logo image url
1237
+ */
1238
+ function yith_plugin_fw_get_default_logo(){
1239
+ return YIT_CORE_PLUGIN_URL . '/assets/images/yith-icon.svg';
1240
+ }
1241
  }
plugin-fw/yit-plugin.php CHANGED
@@ -37,9 +37,15 @@ include_once( 'lib/yit-pointers.php');
37
  include_once( 'lib/yit-icons.php');
38
  include_once( 'lib/yit-assets.php');
39
  include_once( 'lib/yit-debug.php');
 
40
  include_once( 'lib/privacy/yit-privacy.php' );
41
  include_once( 'lib/privacy/yit-privacy-plugin-abstract.php' );
42
- include_once ( 'lib/promo/yith-promo.php' );
 
 
 
 
 
43
 
44
  // load from theme folder...
45
  load_textdomain( 'yith-plugin-fw', get_template_directory() . '/core/plugin-fw/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' )
37
  include_once( 'lib/yit-icons.php');
38
  include_once( 'lib/yit-assets.php');
39
  include_once( 'lib/yit-debug.php');
40
+ include_once( 'lib/yith-dashboard.php' );
41
  include_once( 'lib/privacy/yit-privacy.php' );
42
  include_once( 'lib/privacy/yit-privacy-plugin-abstract.php' );
43
+ include_once( 'lib/promo/yith-promo.php' );
44
+
45
+ /* === Gutenberg Support === */
46
+ if( class_exists( 'WP_Block_Type_Registry' ) ){
47
+ include_once( 'lib/yith-gutenberg.php' );
48
+ }
49
 
50
  // load from theme folder...
51
  load_textdomain( 'yith-plugin-fw', get_template_directory() . '/core/plugin-fw/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' )