YITH WooCommerce Zoom Magnifier - Version 1.3.5

Version Description

Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH WooCommerce Zoom Magnifier
Version 1.3.5
Comparing to
See all releases

Code changes from version 1.3.4 to 1.3.5

Files changed (54) hide show
  1. README.txt +9 -1
  2. init.php +8 -10
  3. lib/class.yith-woocommerce-zoom-magnifier.php +52 -0
  4. lib/class.yith-ywzm-plugin-fw-loader.php +0 -56
  5. plugin-fw/assets/css/admin.css +13 -0
  6. plugin-fw/assets/css/metaboxes.css +3 -0
  7. plugin-fw/assets/css/yith-fields.css +38 -0
  8. plugin-fw/assets/css/yith-select2-no-wc.css +741 -0
  9. plugin-fw/assets/js/jquery.colorbox.min.js +33 -24
  10. plugin-fw/assets/js/metabox.min.js +7 -4
  11. plugin-fw/assets/js/yit-cpt-unlimited.min.js +2 -2
  12. plugin-fw/assets/js/yit-wp-pointer.min.js +6 -3
  13. plugin-fw/assets/js/yith-enhanced-select-wc-2.6.min.js +5 -5
  14. plugin-fw/assets/js/yith-enhanced-select.min.js +8 -5
  15. plugin-fw/assets/js/yith-fields.js +27 -13
  16. plugin-fw/assets/js/yith-fields.min.js +11 -11
  17. plugin-fw/assets/js/yith-promo.js +20 -0
  18. plugin-fw/assets/js/yith-promo.min.js +1 -0
  19. plugin-fw/init.php +3 -3
  20. plugin-fw/languages/yith-plugin-fw-es_ES.mo +0 -0
  21. plugin-fw/languages/yith-plugin-fw-es_ES.po +466 -421
  22. plugin-fw/languages/yith-plugin-fw-it_IT.mo +0 -0
  23. plugin-fw/languages/yith-plugin-fw-it_IT.po +439 -461
  24. plugin-fw/languages/yith-plugin-fw.pot +167 -354
  25. plugin-fw/lib/promo/yith-promo.php +141 -0
  26. plugin-fw/lib/yit-ajax.php +3 -3
  27. plugin-fw/lib/yit-assets.php +12 -8
  28. plugin-fw/lib/yit-cpt-unlimited.php +1 -1
  29. plugin-fw/lib/yit-debug.php +2 -3
  30. plugin-fw/lib/yit-icons.php +1 -1
  31. plugin-fw/lib/yit-metabox.php +1 -1
  32. plugin-fw/lib/yit-plugin-panel-wc.php +10 -8
  33. plugin-fw/lib/yit-plugin-panel.php +22 -17
  34. plugin-fw/lib/yit-plugin-subpanel.php +7 -6
  35. plugin-fw/lib/yit-pointers.php +4 -4
  36. plugin-fw/lib/yit-upgrade.php +643 -594
  37. plugin-fw/lib/yit-video.php +1 -1
  38. plugin-fw/licence/assets/js/yit-licence.js +145 -141
  39. plugin-fw/licence/assets/js/yit-licence.min.js +10 -7
  40. plugin-fw/licence/lib/yit-licence.php +16 -9
  41. plugin-fw/licence/lib/yit-plugin-licence.php +44 -9
  42. plugin-fw/licence/lib/yit-theme-licence.php +2 -2
  43. plugin-fw/licence/templates/panel/activation/activation-panel.php +149 -145
  44. plugin-fw/templates/fields/ajax-posts.php +1 -2
  45. plugin-fw/templates/fields/ajax-terms.php +1 -2
  46. plugin-fw/templates/fields/resources/select2-wc-2.6.php +31 -0
  47. plugin-fw/templates/fields/resources/select2.php +43 -0
  48. plugin-fw/templates/fields/select-images.php +52 -0
  49. plugin-fw/templates/metaboxes/types/icon-list.php +1 -1
  50. plugin-fw/templates/panel/panel-field-container.php +1 -1
  51. plugin-fw/templates/panel/woocommerce/woocommerce-upload.php +1 -1
  52. plugin-fw/yit-functions.php +95 -7
  53. plugin-fw/yit-plugin.php +149 -0
  54. templates/single-product/product-thumbnails-magnifier.php +4 -0
README.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
4
  Tags: zoom, magnifier, slider, carousel, woocommerce
5
  Requires at least: 4.0
6
  Tested up to: 4.9.4
7
- Stable tag: 1.3.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Documentation: https://docs.yithemes.com/yith-woocommerce-zoom-magnifier/
@@ -52,6 +52,14 @@ YITH WooCommerce Zoom Magnifier will add a new tab called "Zoom Magnifier" in "Y
52
 
53
  == Changelog ==
54
 
 
 
 
 
 
 
 
 
55
  = Version 1.3.4 - Released: June 26, 2018 =
56
 
57
  * Fix: click thumbnails and zoom them
4
  Tags: zoom, magnifier, slider, carousel, woocommerce
5
  Requires at least: 4.0
6
  Tested up to: 4.9.4
7
+ Stable tag: 1.3.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
  Documentation: https://docs.yithemes.com/yith-woocommerce-zoom-magnifier/
52
 
53
  == Changelog ==
54
 
55
+ = Version 1.3.5 - Released: Oct 23, 2018 =
56
+
57
+ * New: Support to WooCommerce 3.5.0
58
+ * Update: plugin framework
59
+ * Update: plugin description
60
+ * Update: plugin links
61
+ * Dev: extra class if featured audio plugin is enabled
62
+
63
  = Version 1.3.4 - Released: June 26, 2018 =
64
 
65
  * Fix: click thumbnails and zoom them
init.php CHANGED
@@ -2,19 +2,16 @@
2
  /**
3
  * Plugin Name: YITH WooCommerce Zoom Magnifier
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-zoom-magnifier/
5
- * Description: YITH WooCommerce Zoom Magnifier enables you to add a zoom effect to product images and a thumbnail slider for the product image gallery.
6
- * Version: 1.3.4
7
- * Author: YITHEMES
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-zoom-magnifier
10
  * Domain Path: /languages/
11
  * WC requires at least: 3.0.0
12
- * WC tested up to: 3.4.x
13
- *
14
- * @author Your Inspiration Themes
15
- * @package YITH WooCommerce Magnifier
16
- * @version 1.3.4
17
- */
18
  /* Copyright 2013-2018 Your Inspiration Themes (email : plugins@yithemes.com)
19
 
20
  This program is free software; you can redistribute it and/or modify
@@ -80,7 +77,8 @@ if ( ! function_exists ( 'yith_plugin_registration_hook' ) ) {
80
  register_activation_hook ( __FILE__, 'yith_plugin_registration_hook' );
81
 
82
  defined ( 'YITH_YWZM_FREE_INIT' ) || define ( 'YITH_YWZM_FREE_INIT', plugin_basename ( __FILE__ ) );
83
- defined ( 'YITH_YWZM_VERSION' ) || define ( 'YITH_YWZM_VERSION', '1.3.4' );
 
84
  defined ( 'YITH_YWZM_FILE' ) || define ( 'YITH_YWZM_FILE', __FILE__ );
85
  defined ( 'YITH_YWZM_DIR' ) || define ( 'YITH_YWZM_DIR', plugin_dir_path ( __FILE__ ) );
86
  defined ( 'YITH_YWZM_URL' ) || define ( 'YITH_YWZM_URL', plugins_url ( '/', __FILE__ ) );
2
  /**
3
  * Plugin Name: YITH WooCommerce Zoom Magnifier
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-zoom-magnifier/
5
+ * Description: <code><strong>YITH WooCommerce Zoom Magnifier</strong></code> allows you to add a zoom effect to product images and a thumbnail slider for the product image gallery. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
+ * Version: 1.3.5
7
+ * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-zoom-magnifier
10
  * Domain Path: /languages/
11
  * WC requires at least: 3.0.0
12
+ * WC tested up to: 3.5.0
13
+ **/
14
+
 
 
 
15
  /* Copyright 2013-2018 Your Inspiration Themes (email : plugins@yithemes.com)
16
 
17
  This program is free software; you can redistribute it and/or modify
77
  register_activation_hook ( __FILE__, 'yith_plugin_registration_hook' );
78
 
79
  defined ( 'YITH_YWZM_FREE_INIT' ) || define ( 'YITH_YWZM_FREE_INIT', plugin_basename ( __FILE__ ) );
80
+ defined ( 'YITH_YWZM_SLUG' ) || define ( 'YITH_YWZM_SLUG', 'yith-woocommerce-zoom-magnifier' );
81
+ defined ( 'YITH_YWZM_VERSION' ) || define ( 'YITH_YWZM_VERSION', '1.3.5' );
82
  defined ( 'YITH_YWZM_FILE' ) || define ( 'YITH_YWZM_FILE', __FILE__ );
83
  defined ( 'YITH_YWZM_DIR' ) || define ( 'YITH_YWZM_DIR', plugin_dir_path ( __FILE__ ) );
84
  defined ( 'YITH_YWZM_URL' ) || define ( 'YITH_YWZM_URL', plugins_url ( '/', __FILE__ ) );
lib/class.yith-woocommerce-zoom-magnifier.php CHANGED
@@ -28,6 +28,21 @@ if ( ! class_exists( 'YITH_WooCommerce_Zoom_Magnifier' ) ) {
28
  */
29
  public $obj = null;
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  /**
32
  * Constructor
33
  *
@@ -90,7 +105,15 @@ if ( ! class_exists( 'YITH_WooCommerce_Zoom_Magnifier' ) ) {
90
  * @since 1.0.0
91
  */
92
  public function init() {
 
93
  $this->_image_sizes();
 
 
 
 
 
 
 
94
  }
95
 
96
 
@@ -111,5 +134,34 @@ if ( ! class_exists( 'YITH_WooCommerce_Zoom_Magnifier' ) ) {
111
 
112
  add_image_size( 'shop_magnifier', $width, $height, $crop );
113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  }
115
  }
28
  */
29
  public $obj = null;
30
 
31
+ /**
32
+ * @var string Premium version landing link
33
+ */
34
+ protected $_premium_landing = 'http://yithemes.com/themes/plugins/yith-woocommerce-zoom-magnifier/';
35
+
36
+ /**
37
+ * @var string Plugin official documentation
38
+ */
39
+ protected $_official_documentation = 'https://docs.yithemes.com/yith-woocommerce-zoom-magnifier/';
40
+
41
+ /**
42
+ * @var string Plugin panel page
43
+ */
44
+ protected $_panel_page = 'yith_woocommerce_zoom-magnifier_panel';
45
+
46
  /**
47
  * Constructor
48
  *
105
  * @since 1.0.0
106
  */
107
  public function init() {
108
+
109
  $this->_image_sizes();
110
+
111
+ /* === Show Plugin Information === */
112
+
113
+ add_filter( 'plugin_action_links_' . plugin_basename( YITH_YWZM_DIR . '/' . basename( YITH_YWZM_FILE ) ), array( $this, 'action_links' ) );
114
+
115
+ add_filter( 'yith_show_plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 5 );
116
+
117
  }
118
 
119
 
134
 
135
  add_image_size( 'shop_magnifier', $width, $height, $crop );
136
  }
137
+
138
+ /**
139
+ * Action links
140
+ *
141
+ *
142
+ * @return void
143
+ * @since 1.3.5
144
+ * @author Daniel Sanchez <daniel.sanchez@yithemes.com>
145
+ */
146
+ public function action_links( $links ) {
147
+ $links = yith_add_action_links( $links, $this->_panel_page, false );
148
+ return $links;
149
+ }
150
+ /**
151
+ * Plugin Row Meta
152
+ *
153
+ *
154
+ * @return void
155
+ * @since 1.3.5
156
+ * @author Daniel Sanchez <daniel.sanchez@yithemes.com>
157
+ */
158
+ public function plugin_row_meta( $new_row_meta_args, $plugin_meta, $plugin_file, $plugin_data, $status, $init_file = 'YITH_YWZM_FREE_INIT' ) {
159
+ if ( defined( $init_file ) && constant( $init_file ) == $plugin_file ) {
160
+ $new_row_meta_args['slug'] = YITH_YWZM_SLUG;
161
+ }
162
+
163
+ return $new_row_meta_args;
164
+ }
165
+
166
  }
167
  }
lib/class.yith-ywzm-plugin-fw-loader.php CHANGED
@@ -68,14 +68,6 @@ if ( ! class_exists( 'YITH_YWZM_Plugin_FW_Loader' ) ) {
68
 
69
  add_action( 'plugins_loaded', array( $this, 'plugin_fw_loader' ), 15 );
70
 
71
- //Add action links
72
- add_filter( 'plugin_action_links_' . plugin_basename( YITH_YWZM_DIR . '/' . basename( YITH_YWZM_FILE ) ), array(
73
- $this,
74
- 'action_links'
75
- ) );
76
-
77
- add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 4 );
78
-
79
  // Add stylesheets and scripts files
80
  add_action( 'admin_menu', array( $this, 'register_panel' ), 5 );
81
 
@@ -175,54 +167,6 @@ if ( ! class_exists( 'YITH_YWZM_Plugin_FW_Loader' ) ) {
175
  }
176
  }
177
 
178
- /**
179
- * Action Links
180
- *
181
- * add the action links to plugin admin page
182
- *
183
- * @param $links | links plugin array
184
- *
185
- * @return mixed Array
186
- * @since 1.0
187
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
188
- * @return mixed
189
- * @use plugin_action_links_{$plugin_file_name}
190
- */
191
- public function action_links( $links ) {
192
- $links[] = '<a href="' . admin_url( "admin.php?page={$this->_panel_page}" ) . '">' . __( 'Settings', 'yith-woocommerce-zoom-magnifier' ) . '</a>';
193
-
194
- if ( defined( 'YITH_YWZM_FREE_INIT' ) ) {
195
- $links[] = '<a href="' . $this->_premium_landing . '" target="_blank">' . __( 'Premium Version', 'yith-woocommerce-zoom-magnifier' ) . '</a>';
196
- }
197
-
198
- return $links;
199
- }
200
-
201
- /**
202
- * plugin_row_meta
203
- *
204
- * add the action links to plugin admin page
205
- *
206
- * @param $plugin_meta
207
- * @param $plugin_file
208
- * @param $plugin_data
209
- * @param $status
210
- *
211
- * @return Array
212
- * @since 1.0
213
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
214
- * @use plugin_row_meta
215
- */
216
- public function plugin_row_meta( $plugin_meta, $plugin_file, $plugin_data, $status ) {
217
- if ( ( defined( 'YITH_YWZM_INIT' ) && ( YITH_YWZM_INIT == $plugin_file ) ) ||
218
- ( defined( 'YITH_YWZM_FREE_INIT' ) && ( YITH_YWZM_FREE_INIT == $plugin_file ) )
219
- ) {
220
- $plugin_meta[] = '<a href="' . $this->_official_documentation . '" target="_blank">' . __( 'Plugin Documentation', 'yith-woocommerce-zoom-magnifier' ) . '</a>';
221
- }
222
-
223
- return $plugin_meta;
224
- }
225
-
226
  public function register_pointer() {
227
  if ( ! class_exists( 'YIT_Pointers' ) ) {
228
  include_once( 'plugin-fw/lib/yit-pointers.php' );
68
 
69
  add_action( 'plugins_loaded', array( $this, 'plugin_fw_loader' ), 15 );
70
 
 
 
 
 
 
 
 
 
71
  // Add stylesheets and scripts files
72
  add_action( 'admin_menu', array( $this, 'register_panel' ), 5 );
73
 
167
  }
168
  }
169
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  public function register_pointer() {
171
  if ( ! class_exists( 'YIT_Pointers' ) ) {
172
  include_once( 'plugin-fw/lib/yit-pointers.php' );
plugin-fw/assets/css/admin.css CHANGED
@@ -33,6 +33,19 @@
33
  line-height : 1.5em;
34
  }
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  /*-----------------------
37
  YITH Plugins Columns
38
  ------------------------*/
33
  line-height : 1.5em;
34
  }
35
 
36
+ .notice-yith{
37
+ border-left-color: #acc327;
38
+ }
39
+
40
+ .notice-yith.notice-alt{
41
+ background-color: #ecf7ed;
42
+ }
43
+
44
+ .yith-promo-banner-image{
45
+ max-width: 100%;
46
+ padding-bottom: 15px;
47
+ }
48
+
49
  /*-----------------------
50
  YITH Plugins Columns
51
  ------------------------*/
plugin-fw/assets/css/metaboxes.css CHANGED
@@ -631,4 +631,7 @@
631
  float : right;
632
  margin-right : 20px;
633
  margin-top : 5px;
 
 
 
634
  }
631
  float : right;
632
  margin-right : 20px;
633
  margin-top : 5px;
634
+ z-index: 9999 !important;
635
+ position: absolute;
636
+ right: 0;
637
  }
plugin-fw/assets/css/yith-fields.css CHANGED
@@ -361,4 +361,42 @@ ul.yit-icons-manager-list li.active {
361
  /* ------- Buttons ------- */
362
  .yith-plugin-fw-buttons-field-wrapper {
363
  margin-top : 7px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
  }
361
  /* ------- Buttons ------- */
362
  .yith-plugin-fw-buttons-field-wrapper {
363
  margin-top : 7px;
364
+ }
365
+
366
+ /* ------- Select Images ------- */
367
+ .yith-plugin-fw-select-images__list {
368
+ margin : 0;
369
+ display : flex;
370
+ flex-wrap : wrap;
371
+ }
372
+
373
+ .yith-plugin-fw-select-images__item {
374
+ width : calc(20% - 10px);
375
+ min-width : 150px;
376
+ margin : 0 10px 10px 0;
377
+ padding : 10px;
378
+ box-sizing : border-box;
379
+ cursor : pointer;
380
+ transition : all .3s;
381
+ border : 2px solid #eee;
382
+ display : flex;
383
+ flex-direction : column;
384
+ justify-content : space-between;
385
+ }
386
+
387
+ .yith-plugin-fw-select-images__item:hover,
388
+ .yith-plugin-fw-select-images__item.yith-plugin-fw-select-images__item--selected {
389
+ border-color : #07bcce;
390
+ }
391
+
392
+ .yith-plugin-fw-select-images__item__label {
393
+ text-align : center;
394
+ font-weight : 600;
395
+ margin-bottom : 10px;
396
+ }
397
+
398
+ .yith-plugin-fw-select-images__item img {
399
+ display : block;
400
+ max-width : 100%;
401
+ margin : 0 auto;
402
  }
plugin-fw/assets/css/yith-select2-no-wc.css ADDED
@@ -0,0 +1,741 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .select2-container {
2
+ -webkit-box-sizing : border-box;
3
+ box-sizing : border-box;
4
+ display : inline-block;
5
+ margin : 0;
6
+ position : relative;
7
+ vertical-align : middle
8
+ }
9
+
10
+ .select2-container .select2-selection--single {
11
+ -webkit-box-sizing : border-box;
12
+ box-sizing : border-box;
13
+ cursor : pointer;
14
+ display : block;
15
+ height : 28px;
16
+ margin : 0 0 -4px;
17
+ -moz-user-select : none;
18
+ -ms-user-select : none;
19
+ user-select : none;
20
+ -webkit-user-select : none
21
+ }
22
+
23
+ .select2-container .select2-selection--single .select2-selection__rendered {
24
+ display : block;
25
+ padding-left : 8px;
26
+ padding-right : 20px;
27
+ overflow : hidden;
28
+ text-overflow : ellipsis;
29
+ white-space : nowrap
30
+ }
31
+
32
+ .select2-container .select2-selection--single .select2-selection__clear {
33
+ position : relative
34
+ }
35
+
36
+ .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
37
+ padding-right : 8px;
38
+ padding-left : 20px
39
+ }
40
+
41
+ .select2-container .select2-selection--multiple {
42
+ -webkit-box-sizing : border-box;
43
+ box-sizing : border-box;
44
+ cursor : pointer;
45
+ display : block;
46
+ min-height : 32px;
47
+ -moz-user-select : none;
48
+ -ms-user-select : none;
49
+ user-select : none;
50
+ -webkit-user-select : none
51
+ }
52
+
53
+ .select2-container .select2-selection--multiple .select2-selection__rendered {
54
+ display : inline-block;
55
+ overflow : hidden;
56
+ padding-left : 8px;
57
+ text-overflow : ellipsis;
58
+ white-space : nowrap
59
+ }
60
+
61
+ .select2-container .select2-search--inline {
62
+ float : left;
63
+ padding : 0
64
+ }
65
+
66
+ .select2-container .select2-search--inline .select2-search__field {
67
+ -webkit-box-sizing : border-box;
68
+ box-sizing : border-box;
69
+ border : none;
70
+ font-size : 100%;
71
+ margin : 0;
72
+ padding : 0
73
+ }
74
+
75
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
76
+ -webkit-appearance : none
77
+ }
78
+
79
+ .select2-dropdown {
80
+ background-color : #fff;
81
+ border : 1px solid #aaa;
82
+ border-radius : 4px;
83
+ -webkit-box-sizing : border-box;
84
+ box-sizing : border-box;
85
+ display : block;
86
+ position : absolute;
87
+ left : -100000px;
88
+ width : 100%;
89
+ z-index : 1051
90
+ }
91
+
92
+ .select2-results {
93
+ display : block
94
+ }
95
+
96
+ .select2-results__options {
97
+ list-style : none;
98
+ margin : 0;
99
+ padding : 0
100
+ }
101
+
102
+ .select2-results__option {
103
+ padding : 6px;
104
+ -moz-user-select : none;
105
+ -ms-user-select : none;
106
+ user-select : none;
107
+ -webkit-user-select : none
108
+ }
109
+
110
+ .select2-results__option[aria-selected], .select2-results__option[data-selected] {
111
+ cursor : pointer
112
+ }
113
+
114
+ .select2-container--open .select2-dropdown {
115
+ left : 0
116
+ }
117
+
118
+ .select2-container--open .select2-dropdown--above {
119
+ border-bottom : none;
120
+ border-bottom-left-radius : 0;
121
+ border-bottom-right-radius : 0
122
+ }
123
+
124
+ .select2-container--open .select2-dropdown--below {
125
+ border-top : none;
126
+ border-top-left-radius : 0;
127
+ border-top-right-radius : 0
128
+ }
129
+
130
+ .select2-search--dropdown {
131
+ display : block;
132
+ padding : 4px
133
+ }
134
+
135
+ .select2-search--dropdown .select2-search__field {
136
+ padding : 4px;
137
+ width : 100%;
138
+ -webkit-box-sizing : border-box;
139
+ box-sizing : border-box
140
+ }
141
+
142
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
143
+ -webkit-appearance : none
144
+ }
145
+
146
+ .select2-search--dropdown.select2-search--hide {
147
+ display : none
148
+ }
149
+
150
+ .select2-close-mask {
151
+ border : 0;
152
+ margin : 0;
153
+ padding : 0;
154
+ display : block;
155
+ position : fixed;
156
+ left : 0;
157
+ top : 0;
158
+ min-height : 100%;
159
+ min-width : 100%;
160
+ height : auto;
161
+ width : auto;
162
+ opacity : 0;
163
+ z-index : 99;
164
+ background-color : #fff
165
+ }
166
+
167
+ .select2-hidden-accessible {
168
+ border : 0 !important;
169
+ clip : rect(0 0 0 0) !important;
170
+ height : 1px !important;
171
+ margin : -1px !important;
172
+ overflow : hidden !important;
173
+ padding : 0 !important;
174
+ position : absolute !important;
175
+ width : 1px !important
176
+ }
177
+
178
+ .select2-container--default .select2-selection--single {
179
+ background-color : #fff;
180
+ border : 1px solid #aaa;
181
+ border-radius : 4px
182
+ }
183
+
184
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
185
+ color : #444;
186
+ line-height : 28px
187
+ }
188
+
189
+ .select2-container--default .select2-selection--single .select2-selection__clear {
190
+ cursor : pointer;
191
+ float : right;
192
+ font-weight : 700
193
+ }
194
+
195
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
196
+ color : #999
197
+ }
198
+
199
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
200
+ height : 26px;
201
+ position : absolute;
202
+ top : 1px;
203
+ right : 1px;
204
+ width : 20px
205
+ }
206
+
207
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
208
+ border-color : #888 transparent transparent transparent;
209
+ border-style : solid;
210
+ border-width : 5px 4px 0 4px;
211
+ height : 0;
212
+ left : 50%;
213
+ margin-left : -4px;
214
+ margin-top : -2px;
215
+ position : absolute;
216
+ top : 50%;
217
+ width : 0
218
+ }
219
+
220
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
221
+ float : left
222
+ }
223
+
224
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
225
+ left : 1px;
226
+ right : auto
227
+ }
228
+
229
+ .select2-container--default.select2-container--disabled .select2-selection--single {
230
+ background-color : #eee;
231
+ cursor : default
232
+ }
233
+
234
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
235
+ display : none
236
+ }
237
+
238
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
239
+ border-color : transparent transparent #888 transparent;
240
+ border-width : 0 4px 5px 4px
241
+ }
242
+
243
+ .select2-container--default .select2-selection--multiple {
244
+ background-color : #fff;
245
+ border : 1px solid #aaa;
246
+ cursor : text;
247
+ }
248
+
249
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered {
250
+ -webkit-box-sizing : border-box;
251
+ box-sizing : border-box;
252
+ list-style : none;
253
+ margin : 0;
254
+ padding : 0 5px;
255
+ width : 100%
256
+ }
257
+
258
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
259
+ list-style : none;
260
+ margin : 5px 5px 0 0
261
+ }
262
+
263
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered li:before {
264
+ content : '';
265
+ display : none
266
+ }
267
+
268
+ .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
269
+ color : #999;
270
+ margin-top : 5px;
271
+ float : left
272
+ }
273
+
274
+ .select2-container--default .select2-selection--multiple .select2-selection__clear {
275
+ cursor : pointer;
276
+ float : right;
277
+ font-weight : 700;
278
+ margin-top : 5px;
279
+ margin-right : 10px
280
+ }
281
+
282
+ .select2-container--default .select2-selection--multiple .select2-selection__choice {
283
+ background-color : #e4e4e4;
284
+ border : 1px solid #aaa;
285
+ border-radius : 4px;
286
+ cursor : default;
287
+ float : left;
288
+ margin-right : 5px;
289
+ margin-top : 5px;
290
+ padding : 0 5px
291
+ }
292
+
293
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
294
+ color : #999;
295
+ cursor : pointer;
296
+ display : inline-block;
297
+ font-weight : 700;
298
+ margin-right : 2px
299
+ }
300
+
301
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
302
+ color : #333
303
+ }
304
+
305
+ .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline, .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder {
306
+ float : right
307
+ }
308
+
309
+ .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
310
+ margin-left : 5px;
311
+ margin-right : auto
312
+ }
313
+
314
+ .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
315
+ margin-left : 2px;
316
+ margin-right : auto
317
+ }
318
+
319
+ .select2-container--default.select2-container--focus .select2-selection--multiple {
320
+ border : solid #000 1px;
321
+ outline : 0
322
+ }
323
+
324
+ .select2-container--default.select2-container--disabled .select2-selection--multiple {
325
+ background-color : #eee;
326
+ cursor : default
327
+ }
328
+
329
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
330
+ display : none
331
+ }
332
+
333
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple, .select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
334
+ border-top-left-radius : 0;
335
+ border-top-right-radius : 0
336
+ }
337
+
338
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple, .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
339
+ border-bottom-left-radius : 0;
340
+ border-bottom-right-radius : 0
341
+ }
342
+
343
+ .select2-container--default .select2-search--dropdown .select2-search__field {
344
+ border : 1px solid #aaa
345
+ }
346
+
347
+ .select2-container--default .select2-search--inline .select2-search__field {
348
+ background : 0 0;
349
+ border : none;
350
+ outline : 0;
351
+ -webkit-box-shadow : none;
352
+ box-shadow : none;
353
+ -webkit-appearance : textfield
354
+ }
355
+
356
+ .select2-container--default .select2-results > .select2-results__options {
357
+ max-height : 200px;
358
+ overflow-y : auto
359
+ }
360
+
361
+ .select2-container--default .select2-results__option[role=group] {
362
+ padding : 0
363
+ }
364
+
365
+ .select2-container--default .select2-results__option[aria-disabled=true] {
366
+ color : #999
367
+ }
368
+
369
+ .select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[data-selected=true] {
370
+ background-color : #ddd
371
+ }
372
+
373
+ .select2-container--default .select2-results__option .select2-results__option {
374
+ padding-left : 1em
375
+ }
376
+
377
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
378
+ padding-left : 0
379
+ }
380
+
381
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
382
+ margin-left : -1em;
383
+ padding-left : 2em
384
+ }
385
+
386
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
387
+ margin-left : -2em;
388
+ padding-left : 3em
389
+ }
390
+
391
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
392
+ margin-left : -3em;
393
+ padding-left : 4em
394
+ }
395
+
396
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
397
+ margin-left : -4em;
398
+ padding-left : 5em
399
+ }
400
+
401
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
402
+ margin-left : -5em;
403
+ padding-left : 6em
404
+ }
405
+
406
+ .select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
407
+ background-color : #0073aa;
408
+ color : #fff
409
+ }
410
+
411
+ .select2-container--default .select2-results__group {
412
+ cursor : default;
413
+ display : block;
414
+ padding : 6px
415
+ }
416
+
417
+ .select2-container--classic .select2-selection--single {
418
+ background-color : #f7f7f7;
419
+ border : 1px solid #aaa;
420
+ border-radius : 4px;
421
+ outline : 0;
422
+ background-image : -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#eee));
423
+ background-image : -webkit-linear-gradient(top, #fff 50%, #eee 100%);
424
+ background-image : linear-gradient(to bottom, #fff 50%, #eee 100%);
425
+ background-repeat : repeat-x
426
+ }
427
+
428
+ .select2-container--classic .select2-selection--single:focus {
429
+ border : 1px solid #0073aa
430
+ }
431
+
432
+ .select2-container--classic .select2-selection--single .select2-selection__rendered {
433
+ color : #444;
434
+ line-height : 28px
435
+ }
436
+
437
+ .select2-container--classic .select2-selection--single .select2-selection__clear {
438
+ cursor : pointer;
439
+ float : right;
440
+ font-weight : 700;
441
+ margin-right : 10px
442
+ }
443
+
444
+ .select2-container--classic .select2-selection--single .select2-selection__placeholder {
445
+ color : #999
446
+ }
447
+
448
+ .select2-container--classic .select2-selection--single .select2-selection__arrow {
449
+ background-color : #ddd;
450
+ border : none;
451
+ border-left : 1px solid #aaa;
452
+ border-top-right-radius : 4px;
453
+ border-bottom-right-radius : 4px;
454
+ height : 26px;
455
+ position : absolute;
456
+ top : 1px;
457
+ right : 1px;
458
+ width : 20px;
459
+ background-image : -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#ccc));
460
+ background-image : -webkit-linear-gradient(top, #eee 50%, #ccc 100%);
461
+ background-image : linear-gradient(to bottom, #eee 50%, #ccc 100%);
462
+ background-repeat : repeat-x
463
+ }
464
+
465
+ .select2-container--classic .select2-selection--single .select2-selection__arrow b {
466
+ border-color : #888 transparent transparent transparent;
467
+ border-style : solid;
468
+ border-width : 5px 4px 0 4px;
469
+ height : 0;
470
+ left : 50%;
471
+ margin-left : -4px;
472
+ margin-top : -2px;
473
+ position : absolute;
474
+ top : 50%;
475
+ width : 0
476
+ }
477
+
478
+ .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
479
+ float : left
480
+ }
481
+
482
+ .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
483
+ border : none;
484
+ border-right : 1px solid #aaa;
485
+ border-radius : 0;
486
+ border-top-left-radius : 4px;
487
+ border-bottom-left-radius : 4px;
488
+ left : 1px;
489
+ right : auto
490
+ }
491
+
492
+ .select2-container--classic.select2-container--open .select2-selection--single {
493
+ border : 1px solid #0073aa
494
+ }
495
+
496
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
497
+ background : 0 0;
498
+ border : none
499
+ }
500
+
501
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
502
+ border-color : transparent transparent #888 transparent;
503
+ border-width : 0 4px 5px 4px
504
+ }
505
+
506
+ .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
507
+ border-top : none;
508
+ border-top-left-radius : 0;
509
+ border-top-right-radius : 0;
510
+ background-image : -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eee));
511
+ background-image : -webkit-linear-gradient(top, #fff 0, #eee 50%);
512
+ background-image : linear-gradient(to bottom, #fff 0, #eee 50%);
513
+ background-repeat : repeat-x
514
+ }
515
+
516
+ .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
517
+ border-bottom : none;
518
+ border-bottom-left-radius : 0;
519
+ border-bottom-right-radius : 0;
520
+ background-image : -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(white));
521
+ background-image : -webkit-linear-gradient(top, #eee 50%, #fff 100%);
522
+ background-image : linear-gradient(to bottom, #eee 50%, #fff 100%);
523
+ background-repeat : repeat-x
524
+ }
525
+
526
+ .select2-container--classic .select2-selection--multiple {
527
+ background-color : #fff;
528
+ border : 1px solid #aaa;
529
+ border-radius : 4px;
530
+ cursor : text;
531
+ outline : 0
532
+ }
533
+
534
+ .select2-container--classic .select2-selection--multiple:focus {
535
+ border : 1px solid #0073aa
536
+ }
537
+
538
+ .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
539
+ list-style : none;
540
+ margin : 0;
541
+ padding : 0 5px
542
+ }
543
+
544
+ .select2-container--classic .select2-selection--multiple .select2-selection__clear {
545
+ display : none
546
+ }
547
+
548
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice {
549
+ background-color : #e4e4e4;
550
+ border : 1px solid #aaa;
551
+ border-radius : 4px;
552
+ cursor : default;
553
+ float : left;
554
+ margin-right : 5px;
555
+ margin-top : 5px;
556
+ padding : 0 5px
557
+ }
558
+
559
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
560
+ color : #888;
561
+ cursor : pointer;
562
+ display : inline-block;
563
+ font-weight : 700;
564
+ margin-right : 2px
565
+ }
566
+
567
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
568
+ color : #555
569
+ }
570
+
571
+ .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
572
+ float : right
573
+ }
574
+
575
+ .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
576
+ margin-left : 5px;
577
+ margin-right : auto
578
+ }
579
+
580
+ .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
581
+ margin-left : 2px;
582
+ margin-right : auto
583
+ }
584
+
585
+ .select2-container--classic.select2-container--open .select2-selection--multiple {
586
+ border : 1px solid #0073aa
587
+ }
588
+
589
+ .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
590
+ border-top : none;
591
+ border-top-left-radius : 0;
592
+ border-top-right-radius : 0
593
+ }
594
+
595
+ .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
596
+ border-bottom : none;
597
+ border-bottom-left-radius : 0;
598
+ border-bottom-right-radius : 0
599
+ }
600
+
601
+ .select2-container--classic .select2-search--dropdown .select2-search__field {
602
+ border : 1px solid #aaa;
603
+ outline : 0
604
+ }
605
+
606
+ .select2-container--classic .select2-search--inline .select2-search__field {
607
+ outline : 0;
608
+ -webkit-box-shadow : none;
609
+ box-shadow : none
610
+ }
611
+
612
+ .select2-container--classic .select2-dropdown {
613
+ background-color : #fff;
614
+ border : 1px solid transparent
615
+ }
616
+
617
+ .select2-container--classic .select2-dropdown--above {
618
+ border-bottom : none
619
+ }
620
+
621
+ .select2-container--classic .select2-dropdown--below {
622
+ border-top : none
623
+ }
624
+
625
+ .select2-container--classic .select2-results > .select2-results__options {
626
+ max-height : 200px;
627
+ overflow-y : auto
628
+ }
629
+
630
+ .select2-container--classic .select2-results__option[role=group] {
631
+ padding : 0
632
+ }
633
+
634
+ .select2-container--classic .select2-results__option[aria-disabled=true] {
635
+ color : grey
636
+ }
637
+
638
+ .select2-container--classic .select2-results__option--highlighted[aria-selected], .select2-container--classic .select2-results__option--highlighted[data-selected] {
639
+ background-color : #3875d7;
640
+ color : #fff
641
+ }
642
+
643
+ .select2-container--classic .select2-results__group {
644
+ cursor : default;
645
+ display : block;
646
+ padding : 6px
647
+ }
648
+
649
+ .select2-container--classic.select2-container--open .select2-dropdown {
650
+ border-color : #0073aa
651
+ }
652
+
653
+
654
+ .select2-drop, .select2-dropdown {
655
+ z-index : 999999 !important
656
+ }
657
+
658
+ .select2-results {
659
+ line-height : 1.5em
660
+ }
661
+
662
+ .select2-results .select2-results__group, .select2-results .select2-results__option {
663
+ margin : 0;
664
+ padding : 8px
665
+ }
666
+
667
+ .select2-results .description {
668
+ display : block;
669
+ color : #999;
670
+ padding-top : 4px
671
+ }
672
+
673
+ .select2-dropdown {
674
+ border-color : #ddd
675
+ }
676
+
677
+ .select2-dropdown--below {
678
+ -webkit-box-shadow : 0 1px 1px rgba(0, 0, 0, .1);
679
+ box-shadow : 0 1px 1px rgba(0, 0, 0, .1)
680
+ }
681
+
682
+ .select2-dropdown--above {
683
+ -webkit-box-shadow : 0 -1px 1px rgba(0, 0, 0, .1);
684
+ box-shadow : 0 -1px 1px rgba(0, 0, 0, .1)
685
+ }
686
+
687
+ .select2-container .select2-selection__rendered.ui-sortable li {
688
+ cursor : move
689
+ }
690
+
691
+ .select2-container .select2-selection {
692
+ border-color : #ddd
693
+ }
694
+
695
+ .select2-container .select2-search__field {
696
+ min-width : 150px
697
+ }
698
+
699
+ .select2-container .select2-selection--single {
700
+ height : 32px
701
+ }
702
+
703
+ .select2-container .select2-selection--single .select2-selection__rendered {
704
+ line-height : 32px;
705
+ padding-right : 24px
706
+ }
707
+
708
+ .select2-container .select2-selection--single .select2-selection__arrow {
709
+ right : 3px;
710
+ height : 30px
711
+ }
712
+
713
+ .select2-container .select2-selection--multiple {
714
+ min-height : 28px;
715
+ border-radius : 0;
716
+ line-height : 1.5
717
+ }
718
+
719
+ .select2-container .select2-selection--multiple li {
720
+ margin : 0
721
+ }
722
+
723
+ .select2-container .select2-selection--multiple .select2-selection__choice {
724
+ padding : 2px 6px
725
+ }
726
+
727
+ .select2-container .select2-selection--multiple .select2-selection__choice .description {
728
+ display : none
729
+ }
730
+
731
+ .select2-container .select2-selection__clear {
732
+ color : #999;
733
+ margin-top : -1px
734
+ }
735
+
736
+ .select2-container .select2-search--inline .select2-search__field {
737
+ font-family : inherit;
738
+ font-size : inherit;
739
+ font-weight : inherit;
740
+ padding : 3px 0
741
+ }
plugin-fw/assets/js/jquery.colorbox.min.js CHANGED
@@ -1,24 +1,33 @@
1
- (function(c,p,A){function g(a,d,F){a=p.createElement(a);d&&(a.id="cbox"+d);F&&(a.style.cssText=F);return c(a)}function R(){return A.innerHeight?A.innerHeight:c(A).height()}function M(a,d){d!==Object(d)&&(d={});this.cache={};this.el=a;this.value=function(a){var b;void 0===this.cache[a]&&(b=c(this.el).attr("data-cbox-"+a),void 0!==b?this.cache[a]=b:void 0!==d[a]?this.cache[a]=d[a]:void 0!==S[a]&&(this.cache[a]=S[a]));return this.cache[a]};this.get=function(a){a=this.value(a);return c.isFunction(a)?
2
- a.call(this.el,this):a}}function N(a){var d=k.length;a=(m+a)%d;return 0>a?d+a:a}function n(a,d){return Math.round((/%/.test(a)?("x"===d?w.width():R())/100:1)*parseInt(a,10))}function da(a,d){return a.get("photo")||a.get("photoRegex").test(d)}function ea(a,d){return a.get("retinaUrl")&&1<A.devicePixelRatio?d.replace(a.get("photoRegex"),a.get("retinaSuffix")):d}function fa(a){"contains"in f[0]&&!f[0].contains(a.target)&&a.target!==q[0]&&(a.stopPropagation(),f.focus())}function G(a){G.str!==a&&(f.add(q).removeClass(G.str).addClass(a),
3
- G.str=a)}function ja(b){m=0;b&&!1!==b&&"nofollow"!==b?(k=c(".cboxElement").filter(function(){var a=c.data(this,"colorbox");return(new M(this,a)).get("rel")===b}),m=k.index(a.el),-1===m&&(k=k.add(a.el),m=k.length-1)):k=c(a.el)}function C(a){c(p).trigger(a);r.triggerHandler(a)}function O(b){var d;if(!H){d=c(b).data("colorbox");a=new M(b,d);ja(a.get("rel"));if(!x){x=I=!0;G(a.get("className"));f.css({visibility:"hidden",display:"block",opacity:""});h=g("div","LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden");
4
- u.css({width:"",height:""}).append(h);t=T.height()+U.height()+u.outerHeight(!0)-u.height();v=V.width()+W.width()+u.outerWidth(!0)-u.width();y=h.outerHeight(!0);z=h.outerWidth(!0);b=n(a.get("initialWidth"),"x");d=n(a.get("initialHeight"),"y");var F=a.get("maxWidth"),B=a.get("maxHeight");a.w=Math.max((!1!==F?Math.min(b,n(F,"x")):b)-z-v,0);a.h=Math.max((!1!==B?Math.min(d,n(B,"y")):d)-y-t,0);h.css({width:"",height:a.h});l.position();C("cbox_open");a.get("onOpen");X.add(Y).hide();f.focus();a.get("trapFocus")&&
5
- p.addEventListener&&(p.addEventListener("focus",fa,!0),r.one("cbox_closed",function(){p.removeEventListener("focus",fa,!0)}));if(a.get("returnFocus"))r.one("cbox_closed",function(){c(a.el).focus()})}b=parseFloat(a.get("opacity"));q.css({opacity:b===b?b:"",cursor:a.get("overlayClose")?"pointer":"",visibility:"visible"}).show();a.get("closeButton")?P.html(a.get("close")).appendTo(u):P.appendTo("<div/>");ka()}}function ga(){f||(Z=!1,w=c(A),f=g("div").attr({id:"colorbox","class":!1===c.support.opacity?
6
- "cboxIE":"",role:"dialog",tabindex:"-1"}).hide(),q=g("div","Overlay").hide(),Q=c([g("div","LoadingOverlay")[0],g("div","LoadingGraphic")[0]]),D=g("div","Wrapper"),u=g("div","Content").append(Y=g("div","Title"),aa=g("div","Current"),J=c('<button type="button"/>').attr({id:"cboxPrevious"}),K=c('<button type="button"/>').attr({id:"cboxNext"}),E=g("button","Slideshow"),Q),P=c('<button type="button"/>').attr({id:"cboxClose"}),D.append(g("div").append(g("div","TopLeft"),T=g("div","TopCenter"),g("div","TopRight")),
7
- g("div",!1,"clear:left").append(V=g("div","MiddleLeft"),u,W=g("div","MiddleRight")),g("div",!1,"clear:left").append(g("div","BottomLeft"),U=g("div","BottomCenter"),g("div","BottomRight"))).find("div div").css({"float":"left"}),L=g("div",!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),X=K.add(J).add(aa).add(E));p.body&&!f.parent().length&&c(p.body).append(q,f.append(D,L))}function la(){function b(a){1<a.which||a.shiftKey||a.altKey||a.metaKey||a.ctrlKey||(a.preventDefault(),
8
- O(this))}if(f){if(!Z)if(Z=!0,K.click(function(){l.next()}),J.click(function(){l.prev()}),P.click(function(){l.close()}),q.click(function(){a.get("overlayClose")&&l.close()}),c(p).bind("keydown.cbox",function(b){var c=b.keyCode;x&&a.get("escKey")&&27===c&&(b.preventDefault(),l.close());x&&a.get("arrowKey")&&k[1]&&!b.altKey&&(37===c?(b.preventDefault(),J.click()):39===c&&(b.preventDefault(),K.click()))}),c.isFunction(c.fn.on))c(p).on("click.cbox",".cboxElement",b);else c(".cboxElement").live("click.cbox",
9
- b);return!0}return!1}function ka(){var b,d,f=l.prep,B,h=++ba;I=!0;e=!1;C("cbox_purge");C("cbox_load");a.get("onLoad");a.h=a.get("height")?n(a.get("height"),"y")-y-t:a.get("innerHeight")&&n(a.get("innerHeight"),"y");a.w=a.get("width")?n(a.get("width"),"x")-z-v:a.get("innerWidth")&&n(a.get("innerWidth"),"x");a.mw=a.w;a.mh=a.h;a.get("maxWidth")&&(a.mw=n(a.get("maxWidth"),"x")-z-v,a.mw=a.w&&a.w<a.mw?a.w:a.mw);a.get("maxHeight")&&(a.mh=n(a.get("maxHeight"),"y")-y-t,a.mh=a.h&&a.h<a.mh?a.h:a.mh);b=a.get("href");
10
- ha=setTimeout(function(){Q.show()},100);if(a.get("inline")){var ca=c(b);B=c("<div>").hide().insertBefore(ca);r.one("cbox_purge",function(){B.replaceWith(ca)});f(ca)}else a.get("iframe")?f(" "):a.get("html")?f(a.get("html")):da(a,b)?(b=ea(a,b),e=a.get("createImg"),c(e).addClass("cboxPhoto").bind("error.cbox",function(){f(g("div","Error").html(a.get("imgError")))}).one("load",function(){h===ba&&setTimeout(function(){var b;a.get("retinaImage")&&1<A.devicePixelRatio&&(e.height/=A.devicePixelRatio,e.width/=
11
- A.devicePixelRatio);a.get("scalePhotos")&&(d=function(){e.height-=e.height*b;e.width-=e.width*b},a.mw&&e.width>a.mw&&(b=(e.width-a.mw)/e.width,d()),a.mh&&e.height>a.mh&&(b=(e.height-a.mh)/e.height,d()));a.h&&(e.style.marginTop=Math.max(a.mh-e.height,0)/2+"px");k[1]&&(a.get("loop")||k[m+1])&&(e.style.cursor="pointer",c(e).bind("click.cbox",function(){l.next()}));e.style.width=e.width+"px";e.style.height=e.height+"px";f(e)},1)}),e.src=b):b&&L.load(b,a.get("data"),function(b,d){h===ba&&f("error"===d?
12
- g("div","Error").html(a.get("xhrError")):c(this).contents())})}var S={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,
13
- slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return c(this).attr("href")},
14
- title:function(){return this.title},createImg:function(){var a=new Image,d=c(this).data("cbox-img-attrs");"object"===typeof d&&c.each(d,function(c,d){a[c]=d});return a},createIframe:function(){var a=p.createElement("iframe"),d=c(this).data("cbox-iframe-attrs");"object"===typeof d&&c.each(d,function(c,d){a[c]=d});"frameBorder"in a&&(a.frameBorder=0);"allowTransparency"in a&&(a.allowTransparency="true");a.name=(new Date).getTime();a.allowFullscreen=!0;return a}},q,f,D,u,T,V,W,U,k,w,h,L,Q,Y,aa,E,K,J,
15
- P,X,r=c("<a/>"),a,t,v,y,z,m,e,x,I,H,ha,l,ba=0,ia={},Z,ma=function(){function b(){clearTimeout(n)}function c(){if(a.get("loop")||k[m+1])b(),n=setTimeout(l.next,a.get("slideshowSpeed"))}function e(){E.html(a.get("slideshowStop")).unbind("click.cbox").one("click.cbox",B);r.bind("cbox_complete",c).bind("cbox_load",b);f.removeClass("cboxSlideshow_off").addClass("cboxSlideshow_on")}function B(){b();r.unbind("cbox_complete",c).unbind("cbox_load",b);E.html(a.get("slideshowStart")).unbind("click.cbox").one("click.cbox",
16
- function(){l.next();e()});f.removeClass("cboxSlideshow_on").addClass("cboxSlideshow_off")}function g(){h=!1;E.hide();b();r.unbind("cbox_complete",c).unbind("cbox_load",b);f.removeClass("cboxSlideshow_off cboxSlideshow_on")}var h,n;return function(){h?a.get("slideshow")||(r.unbind("cbox_cleanup",g),g()):a.get("slideshow")&&k[1]&&(h=!0,r.one("cbox_cleanup",g),a.get("slideshowAuto")?e():B(),E.show())}}();c.colorbox||(c(ga),l=c.fn.colorbox=c.colorbox=function(a,d){var f,e=this;a=a||{};c.isFunction(e)&&
17
- (e=c("<a/>"),a.open=!0);if(!e[0])return e;ga();la()&&(d&&(a.onComplete=d),e.each(function(){var d=c.data(this,"colorbox")||{};c.data(this,"colorbox",c.extend(d,a))}).addClass("cboxElement"),f=new M(e[0],a),f.get("open")&&O(e[0]));return e},l.position=function(b,d){function e(){T[0].style.width=U[0].style.width=u[0].style.width=parseInt(f[0].style.width,10)-v+"px";u[0].style.height=V[0].style.height=W[0].style.height=parseInt(f[0].style.height,10)-t+"px"}var g,h=0,k=0,m=f.offset(),p,r;w.unbind("resize.cbox");
18
- f.css({top:-9E4,left:-9E4});p=w.scrollTop();r=w.scrollLeft();a.get("fixed")?(m.top-=p,m.left-=r,f.css({position:"fixed"})):(h=p,k=r,f.css({position:"absolute"}));k=!1!==a.get("right")?k+Math.max(w.width()-a.w-z-v-n(a.get("right"),"x"),0):!1!==a.get("left")?k+n(a.get("left"),"x"):k+Math.round(Math.max(w.width()-a.w-z-v,0)/2);h=!1!==a.get("bottom")?h+Math.max(R()-a.h-y-t-n(a.get("bottom"),"y"),0):!1!==a.get("top")?h+n(a.get("top"),"y"):h+Math.round(Math.max(R()-a.h-y-t,0)/2);f.css({top:m.top,left:m.left,
19
- visibility:"visible"});D[0].style.width=D[0].style.height="9999px";g={width:a.w+z+v,height:a.h+y+t,top:h,left:k};if(b){var q=0;c.each(g,function(a){g[a]!==ia[a]&&(q=b)});b=q}ia=g;b||f.css(g);f.dequeue().animate(g,{duration:b||0,complete:function(){e();I=!1;D[0].style.width=a.w+z+v+"px";D[0].style.height=a.h+y+t+"px";a.get("reposition")&&setTimeout(function(){w.bind("resize.cbox",l.position)},1);c.isFunction(d)&&d()},step:e})},l.resize=function(b){var c;x&&(b=b||{},b.width&&(a.w=n(b.width,"x")-z-v),
20
- b.innerWidth&&(a.w=n(b.innerWidth,"x")),h.css({width:a.w}),b.height&&(a.h=n(b.height,"y")-y-t),b.innerHeight&&(a.h=n(b.innerHeight,"y")),b.innerHeight||b.height||(c=h.scrollTop(),h.css({height:"auto"}),a.h=h.height()),h.css({height:a.h}),c&&h.scrollTop(c),l.position("none"===a.get("transition")?0:a.get("speed")))},l.prep=function(b){function d(){a.w=a.w||h.width();a.w=a.mw&&a.mw<a.w?a.mw:a.w;return a.w}function n(){a.h=a.h||h.height();a.h=a.mh&&a.mh<a.h?a.mh:a.h;return a.h}if(x){var q,t="none"===
21
- a.get("transition")?0:a.get("speed");h.remove();h=g("div","LoadedContent").append(b);h.hide().appendTo(L.show()).css({width:d(),overflow:a.get("scrolling")?"auto":"hidden"}).css({height:n()}).prependTo(u);L.hide();c(e).css({"float":"none"});G(a.get("className"));q=function(){function b(){!1===c.support.opacity&&f[0].style.removeAttribute("filter")}var d=k.length,e,g;x&&(g=function(){clearTimeout(ha);Q.hide();C("cbox_complete");a.get("onComplete")},Y.html(a.get("title")).show(),h.show(),1<d?("string"===
22
- typeof a.get("current")&&aa.html(a.get("current").replace("{current}",m+1).replace("{total}",d)).show(),K[a.get("loop")||m<d-1?"show":"hide"]().html(a.get("next")),J[a.get("loop")||m?"show":"hide"]().html(a.get("previous")),ma(),a.get("preloading")&&c.each([N(-1),N(1)],function(){var a,b=k[this];a=new M(b,c.data(b,"colorbox"));(b=a.get("href"))&&da(a,b)&&(b=ea(a,b),a=p.createElement("img"),a.src=b)})):X.hide(),a.get("iframe")?(e=a.get("createIframe"),a.get("scrolling")||(e.scrolling="no"),c(e).attr({src:a.get("href"),
23
- "class":"cboxIframe"}).one("load",g).appendTo(h),r.one("cbox_purge",function(){e.src="//about:blank"}),a.get("fastIframe")&&c(e).trigger("load")):g(),"fade"===a.get("transition")?f.fadeTo(t,1,b):b())};"fade"===a.get("transition")?f.fadeTo(t,0,function(){l.position(0,q)}):l.position(t,q)}},l.next=function(){!I&&k[1]&&(a.get("loop")||k[m+1])&&(m=N(1),O(k[m]))},l.prev=function(){!I&&k[1]&&(a.get("loop")||m)&&(m=N(-1),O(k[m]))},l.close=function(){x&&!H&&(H=!0,x=!1,C("cbox_cleanup"),a.get("onCleanup"),
24
- w.unbind(".cbox"),q.fadeTo(a.get("fadeOut")||0,0),f.stop().fadeTo(a.get("fadeOut")||0,0,function(){f.hide();q.hide();C("cbox_purge");h.remove();setTimeout(function(){H=!1;C("cbox_closed");a.get("onClosed")},1)}))},l.remove=function(){f&&(f.stop(),c.colorbox.close(),f.stop(!1,!0).remove(),q.remove(),H=!1,f=null,c(".cboxElement").removeData("colorbox").removeClass("cboxElement"),c(p).unbind("click.cbox").unbind("keydown.cbox"))},l.element=function(){return c(a.el)},l.settings=S)})(jQuery,document,window);
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Colorbox 1.6.3
3
+ license: MIT
4
+ http://www.jacklmoore.com/colorbox
5
+ */
6
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(b,h,g){b instanceof String&&(b=String(b));for(var d=b.length,r=0;r<d;r++){var C=b[r];if(h.call(g,C,r,b))return{i:r,v:C}}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(b,h,g){b!=Array.prototype&&b!=Object.prototype&&(b[h]=g.value)};
7
+ $jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,h,g,d){if(h){g=$jscomp.global;b=b.split(".");for(d=0;d<b.length-1;d++){var r=b[d];r in g||(g[r]={});g=g[r]}b=b[b.length-1];d=g[b];h=h(d);h!=d&&null!=h&&$jscomp.defineProperty(g,b,{configurable:!0,writable:!0,value:h})}};
8
+ $jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,g){return $jscomp.findInternal(this,b,g).v}},"es6","es3");
9
+ (function(b,h,g){function d(a,f,H){a=h.createElement(a);f&&(a.id="cbox"+f);H&&(a.style.cssText=H);return b(a)}function r(){return g.innerHeight?g.innerHeight:b(g).height()}function C(a,f){f!==Object(f)&&(f={});this.cache={};this.el=a;this.value=function(a){if(void 0===this.cache[a]){var c=b(this.el).attr("data-cbox-"+a);void 0!==c?this.cache[a]=c:void 0!==f[a]?this.cache[a]=f[a]:void 0!==S[a]&&(this.cache[a]=S[a])}return this.cache[a]};this.get=function(a){a=this.value(a);return b.isFunction(a)?a.call(this.el,
10
+ this):a}}function O(a){var c=n.length;a=(p+a)%c;return 0>a?c+a:a}function q(a,b){return Math.round((/%/.test(a)?("x"===b?x.width():r())/100:1)*parseInt(a,10))}function ca(a,b){return a.get("photo")||a.get("photoRegex").test(b)}function da(a,b){return a.get("retinaUrl")&&1<g.devicePixelRatio?b.replace(a.get("photoRegex"),a.get("retinaSuffix")):b}function ea(a){"contains"in k[0]&&!k[0].contains(a.target)&&a.target!==y[0]&&(a.stopPropagation(),k.focus())}function I(a){I.str!==a&&(k.add(y).removeClass(I.str).addClass(a),
11
+ I.str=a)}function ja(c){p=0;c&&!1!==c&&"nofollow"!==c?(n=b(".cboxElement").filter(function(){var a=b.data(this,"colorbox");return(new C(this,a)).get("rel")===c}),p=n.index(a.el),-1===p&&(n=n.add(a.el),p=n.length-1)):n=b(a.el)}function E(a){b(h).trigger(a);t.triggerHandler(a)}function P(c){if(!J){var f=b(c).data("colorbox");a=new C(c,f);ja(a.get("rel"));if(!z){z=K=!0;I(a.get("className"));k.css({visibility:"hidden",display:"block",opacity:""});l=d("div","LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden");
12
+ u.css({width:"",height:""}).append(l);v=T.height()+U.height()+u.outerHeight(!0)-u.height();w=V.width()+W.width()+u.outerWidth(!0)-u.width();A=l.outerHeight(!0);B=l.outerWidth(!0);c=q(a.get("initialWidth"),"x");f=q(a.get("initialHeight"),"y");var H=a.get("maxWidth"),e=a.get("maxHeight");a.w=Math.max((!1!==H?Math.min(c,q(H,"x")):c)-B-w,0);a.h=Math.max((!1!==e?Math.min(f,q(e,"y")):f)-A-v,0);l.css({width:"",height:a.h});m.position();E("cbox_open");a.get("onOpen");X.add(Y).hide();k.focus();a.get("trapFocus")&&
13
+ h.addEventListener&&(h.addEventListener("focus",ea,!0),t.one("cbox_closed",function(){h.removeEventListener("focus",ea,!0)}));if(a.get("returnFocus"))t.one("cbox_closed",function(){b(a.el).focus()})}c=parseFloat(a.get("opacity"));y.css({opacity:c===c?c:"",cursor:a.get("overlayClose")?"pointer":"",visibility:"visible"}).show();a.get("closeButton")?Q.html(a.get("close")).appendTo(u):Q.appendTo("<div/>");ka()}}function fa(){k||(Z=!1,x=b(g),k=d("div").attr({id:"colorbox","class":!1===b.support.opacity?
14
+ "cboxIE":"",role:"dialog",tabindex:"-1"}).hide(),y=d("div","Overlay").hide(),R=b([d("div","LoadingOverlay")[0],d("div","LoadingGraphic")[0]]),F=d("div","Wrapper"),u=d("div","Content").append(Y=d("div","Title"),aa=d("div","Current"),L=b('<button type="button"/>').attr({id:"cboxPrevious"}),M=b('<button type="button"/>').attr({id:"cboxNext"}),G=d("button","Slideshow"),R),Q=b('<button type="button"/>').attr({id:"cboxClose"}),F.append(d("div").append(d("div","TopLeft"),T=d("div","TopCenter"),d("div","TopRight")),
15
+ d("div",!1,"clear:left").append(V=d("div","MiddleLeft"),u,W=d("div","MiddleRight")),d("div",!1,"clear:left").append(d("div","BottomLeft"),U=d("div","BottomCenter"),d("div","BottomRight"))).find("div div").css({"float":"left"}),N=d("div",!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),X=M.add(L).add(aa).add(G));h.body&&!k.parent().length&&b(h.body).append(y,k.append(F,N))}function la(){function c(a){1<a.which||a.shiftKey||a.altKey||a.metaKey||a.ctrlKey||(a.preventDefault(),
16
+ P(this))}if(k){if(!Z)if(Z=!0,M.click(function(){m.next()}),L.click(function(){m.prev()}),Q.click(function(){m.close()}),y.click(function(){a.get("overlayClose")&&m.close()}),b(h).bind("keydown.cbox",function(b){var c=b.keyCode;z&&a.get("escKey")&&27===c&&(b.preventDefault(),m.close());z&&a.get("arrowKey")&&n[1]&&!b.altKey&&(37===c?(b.preventDefault(),L.click()):39===c&&(b.preventDefault(),M.click()))}),b.isFunction(b.fn.on))b(h).on("click.cbox",".cboxElement",c);else b(".cboxElement").live("click.cbox",
17
+ c);return!0}return!1}function ka(){var c,f=m.prep,k=++ba;K=!0;e=!1;E("cbox_purge");E("cbox_load");a.get("onLoad");a.h=a.get("height")?q(a.get("height"),"y")-A-v:a.get("innerHeight")&&q(a.get("innerHeight"),"y");a.w=a.get("width")?q(a.get("width"),"x")-B-w:a.get("innerWidth")&&q(a.get("innerWidth"),"x");a.mw=a.w;a.mh=a.h;a.get("maxWidth")&&(a.mw=q(a.get("maxWidth"),"x")-B-w,a.mw=a.w&&a.w<a.mw?a.w:a.mw);a.get("maxHeight")&&(a.mh=q(a.get("maxHeight"),"y")-A-v,a.mh=a.h&&a.h<a.mh?a.h:a.mh);var D=a.get("href");
18
+ ha=setTimeout(function(){R.show()},100);if(a.get("inline")){var h=b(D);var l=b("<div>").hide().insertBefore(h);t.one("cbox_purge",function(){l.replaceWith(h)});f(h)}else a.get("iframe")?f(" "):a.get("html")?f(a.get("html")):ca(a,D)?(D=da(a,D),e=a.get("createImg"),b(e).addClass("cboxPhoto").bind("error.cbox",function(){f(d("div","Error").html(a.get("imgError")))}).one("load",function(){k===ba&&setTimeout(function(){a.get("retinaImage")&&1<g.devicePixelRatio&&(e.height/=g.devicePixelRatio,e.width/=
19
+ g.devicePixelRatio);if(a.get("scalePhotos")){c=function(){e.height-=e.height*d;e.width-=e.width*d};if(a.mw&&e.width>a.mw){var d=(e.width-a.mw)/e.width;c()}a.mh&&e.height>a.mh&&(d=(e.height-a.mh)/e.height,c())}a.h&&(e.style.marginTop=Math.max(a.mh-e.height,0)/2+"px");n[1]&&(a.get("loop")||n[p+1])&&(e.style.cursor="pointer",b(e).bind("click.cbox",function(){m.next()}));e.style.width=e.width+"px";e.style.height=e.height+"px";f(e)},1)}),e.src=D):D&&N.load(D,a.get("data"),function(c,e){k===ba&&f("error"===
20
+ e?d("div","Error").html(a.get("xhrError")):b(this).contents())})}var S={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,
21
+ slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return b(this).attr("href")},
22
+ title:function(){return this.title},createImg:function(){var a=new Image,f=b(this).data("cbox-img-attrs");"object"===typeof f&&b.each(f,function(b,c){a[b]=c});return a},createIframe:function(){var a=h.createElement("iframe"),f=b(this).data("cbox-iframe-attrs");"object"===typeof f&&b.each(f,function(b,c){a[b]=c});"frameBorder"in a&&(a.frameBorder=0);"allowTransparency"in a&&(a.allowTransparency="true");a.name=(new Date).getTime();a.allowFullscreen=!0;return a}},y,k,F,u,T,V,W,U,n,x,l,N,R,Y,aa,G,M,L,
23
+ Q,X,t=b("<a/>"),a,v,w,A,B,p,e,z,K,J,ha,ba=0,ia={},Z,ma=function(){function b(){clearTimeout(l)}function f(){if(a.get("loop")||n[p+1])b(),l=setTimeout(m.next,a.get("slideshowSpeed"))}function d(){G.html(a.get("slideshowStop")).unbind("click.cbox").one("click.cbox",e);t.bind("cbox_complete",f).bind("cbox_load",b);k.removeClass("cboxSlideshow_off").addClass("cboxSlideshow_on")}function e(){b();t.unbind("cbox_complete",f).unbind("cbox_load",b);G.html(a.get("slideshowStart")).unbind("click.cbox").one("click.cbox",
24
+ function(){m.next();d()});k.removeClass("cboxSlideshow_on").addClass("cboxSlideshow_off")}function h(){g=!1;G.hide();b();t.unbind("cbox_complete",f).unbind("cbox_load",b);k.removeClass("cboxSlideshow_off cboxSlideshow_on")}var g,l;return function(){g?a.get("slideshow")||(t.unbind("cbox_cleanup",h),h()):a.get("slideshow")&&n[1]&&(g=!0,t.one("cbox_cleanup",h),a.get("slideshowAuto")?d():e(),G.show())}}();if(!b.colorbox){b(fa);var m=b.fn.colorbox=b.colorbox=function(a,f){var c=this;a=a||{};b.isFunction(c)&&
25
+ (c=b("<a/>"),a.open=!0);if(!c[0])return c;fa();la()&&(f&&(a.onComplete=f),c.each(function(){var c=b.data(this,"colorbox")||{};b.data(this,"colorbox",b.extend(c,a))}).addClass("cboxElement"),f=new C(c[0],a),f.get("open")&&P(c[0]));return c};m.position=function(c,f){function d(){T[0].style.width=U[0].style.width=u[0].style.width=parseInt(k[0].style.width,10)-w+"px";u[0].style.height=V[0].style.height=W[0].style.height=parseInt(k[0].style.height,10)-v+"px"}var e=0,h=0,g=k.offset();x.unbind("resize.cbox");
26
+ k.css({top:-9E4,left:-9E4});var l=x.scrollTop();var n=x.scrollLeft();a.get("fixed")?(g.top-=l,g.left-=n,k.css({position:"fixed"})):(e=l,h=n,k.css({position:"absolute"}));h=!1!==a.get("right")?h+Math.max(x.width()-a.w-B-w-q(a.get("right"),"x"),0):!1!==a.get("left")?h+q(a.get("left"),"x"):h+Math.round(Math.max(x.width()-a.w-B-w,0)/2);e=!1!==a.get("bottom")?e+Math.max(r()-a.h-A-v-q(a.get("bottom"),"y"),0):!1!==a.get("top")?e+q(a.get("top"),"y"):e+Math.round(Math.max(r()-a.h-A-v,0)/2);k.css({top:g.top,
27
+ left:g.left,visibility:"visible"});F[0].style.width=F[0].style.height="9999px";var p={width:a.w+B+w,height:a.h+A+v,top:e,left:h};if(c){var t=0;b.each(p,function(a){p[a]!==ia[a]&&(t=c)});c=t}ia=p;c||k.css(p);k.dequeue().animate(p,{duration:c||0,complete:function(){d();K=!1;F[0].style.width=a.w+B+w+"px";F[0].style.height=a.h+A+v+"px";a.get("reposition")&&setTimeout(function(){x.bind("resize.cbox",m.position)},1);b.isFunction(f)&&f()},step:d})};m.resize=function(b){if(z){b=b||{};b.width&&(a.w=q(b.width,
28
+ "x")-B-w);b.innerWidth&&(a.w=q(b.innerWidth,"x"));l.css({width:a.w});b.height&&(a.h=q(b.height,"y")-A-v);b.innerHeight&&(a.h=q(b.innerHeight,"y"));if(!b.innerHeight&&!b.height){var c=l.scrollTop();l.css({height:"auto"});a.h=l.height()}l.css({height:a.h});c&&l.scrollTop(c);m.position("none"===a.get("transition")?0:a.get("speed"))}};m.prep=function(c){if(z){var f="none"===a.get("transition")?0:a.get("speed");l.remove();l=d("div","LoadedContent").append(c);l.hide().appendTo(N.show()).css({width:function(){a.w=
29
+ a.w||l.width();a.w=a.mw&&a.mw<a.w?a.mw:a.w;return a.w}(),overflow:a.get("scrolling")?"auto":"hidden"}).css({height:function(){a.h=a.h||l.height();a.h=a.mh&&a.mh<a.h?a.mh:a.h;return a.h}()}).prependTo(u);N.hide();b(e).css({"float":"none"});I(a.get("className"));var g=function(){function c(){!1===b.support.opacity&&k[0].style.removeAttribute("filter")}var d=n.length;if(z){var e=function(){clearTimeout(ha);R.hide();E("cbox_complete");a.get("onComplete")};Y.html(a.get("title")).show();l.show();1<d?("string"===
30
+ typeof a.get("current")&&aa.html(a.get("current").replace("{current}",p+1).replace("{total}",d)).show(),M[a.get("loop")||p<d-1?"show":"hide"]().html(a.get("next")),L[a.get("loop")||p?"show":"hide"]().html(a.get("previous")),ma(),a.get("preloading")&&b.each([O(-1),O(1)],function(){var a=n[this];var c=new C(a,b.data(a,"colorbox"));(a=c.get("href"))&&ca(c,a)&&(a=da(c,a),c=h.createElement("img"),c.src=a)})):X.hide();if(a.get("iframe")){var g=a.get("createIframe");a.get("scrolling")||(g.scrolling="no");
31
+ b(g).attr({src:a.get("href"),"class":"cboxIframe"}).one("load",e).appendTo(l);t.one("cbox_purge",function(){g.src="//about:blank"});a.get("fastIframe")&&b(g).trigger("load")}else e();"fade"===a.get("transition")?k.fadeTo(f,1,c):c()}};"fade"===a.get("transition")?k.fadeTo(f,0,function(){m.position(0,g)}):m.position(f,g)}};m.next=function(){!K&&n[1]&&(a.get("loop")||n[p+1])&&(p=O(1),P(n[p]))};m.prev=function(){!K&&n[1]&&(a.get("loop")||p)&&(p=O(-1),P(n[p]))};m.close=function(){z&&!J&&(J=!0,z=!1,E("cbox_cleanup"),
32
+ a.get("onCleanup"),x.unbind(".cbox"),y.fadeTo(a.get("fadeOut")||0,0),k.stop().fadeTo(a.get("fadeOut")||0,0,function(){k.hide();y.hide();E("cbox_purge");l.remove();setTimeout(function(){J=!1;E("cbox_closed");a.get("onClosed")},1)}))};m.remove=function(){k&&(k.stop(),b.colorbox.close(),k.stop(!1,!0).remove(),y.remove(),J=!1,k=null,b(".cboxElement").removeData("colorbox").removeClass("cboxElement"),b(h).unbind("click.cbox").unbind("keydown.cbox"))};m.element=function(){return b(a.el)};m.settings=S}})(jQuery,
33
+ document,window);
plugin-fw/assets/js/metabox.min.js CHANGED
@@ -1,4 +1,7 @@
1
- (function(a){function h(b,c,d,e){var f=!0;if("string"==typeof c){":radio"==c.substr(0,6)&&(c+=":checked");var g=a(c).val();"checkbox"==a(c).attr("type")&&(g=a(c).is(":checked")?"yes":"no");d=d.split(",");for(c=0;c<d.length;c++)if(g!=d[c])f=!1;else{f=!0;break}}d=a(b);b=a(b+"-container").parent();e=e.split("-");for(var h in e)if(g=e[h],f)switch(g){case "disable":b.removeClass("yith-disabled");d.attr("disabled",!1);break;case "hideme":d.show();break;default:b.show()}else switch(g){case "disable":b.addClass("yith-disabled");
2
- d.attr("disabled",!0);break;case "hideme":d.hide();break;default:b.hide()}}a(".metaboxes-tab").each(function(){a(".tabs-panel",this).hide();var b=wpCookies.get("active_metabox_tab"),b=null==b?a("ul.metaboxes-tabs li:first-child a",this).attr("href"):"#"+b;a(b).show();a(".metaboxes-tabs a",this).click(function(b){if(a(this).parent().hasClass("tabs"))b.preventDefault();else return b=a(this).attr("href"),a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a(this).closest(".metaboxes-tab").find(".tabs-panel").hide(),
3
- a(b).show(),!1})});var k=a("#_active_page_options-container").parent().html();a("#_active_page_options-container").parent().remove();a(k).insertAfter("#yit-post-setting .handlediv");a(k).insertAfter("#yit-page-setting .handlediv");a("#_active_page_options-container").on("click",function(){a("#_active_page_options").is(":checked")?a("#yit-page-setting .inside .metaboxes-tab, #yit-post-setting .inside .metaboxes-tab").css({opacity:1,"pointer-events":"auto"}):a("#yit-page-setting .inside .metaboxes-tab, #yit-post-setting .inside .metaboxes-tab").css({opacity:.5,
4
- "pointer-events":"none"})}).click();a(".metaboxes-tab [data-dep-target]").each(function(){var b=a(this),c="#"+b.data("dep-target"),d="#"+b.data("dep-id"),e=b.data("dep-value"),f=b.data("dep-type");h(c,d,e.toString(),f);a(d).on("change",function(){h(c,d,e.toString(),f)}).change()})})(jQuery);
 
 
 
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,e,c){a instanceof String&&(a=String(a));for(var b=a.length,d=0;d<b;d++){var f=a[d];if(e.call(c,f,d,a))return{i:d,v:f}}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,e,c){a!=Array.prototype&&a!=Object.prototype&&(a[e]=c.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,e,c,b){if(e){c=$jscomp.global;a=a.split(".");for(b=0;b<a.length-1;b++){var d=a[b];d in c||(c[d]={});c=c[d]}a=a[a.length-1];b=c[a];e=e(b);e!=b&&null!=e&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:e})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
4
+ (function(a){function e(b,d,c,e){var f=!0;if("string"==typeof d){":radio"==d.substr(0,6)&&(d+=":checked");var g=a(d).val();"checkbox"==a(d).attr("type")&&(g=a(d).is(":checked")?"yes":"no");c=c.split(",");for(d=0;d<c.length;d++)if(g!=c[d])f=!1;else{f=!0;break}}c=a(b);b=a(b+"-container").parent();e=e.split("-");for(var h in e)if(g=e[h],f)switch(g){case "disable":b.removeClass("yith-disabled");c.attr("disabled",!1);break;case "hideme":c.show();break;default:b.show()}else switch(g){case "disable":b.addClass("yith-disabled");
5
+ c.attr("disabled",!0);break;case "hideme":c.hide();break;default:b.hide()}}a(".metaboxes-tab").each(function(){a(".tabs-panel",this).hide();var b=wpCookies.get("active_metabox_tab");b=null==b?a("ul.metaboxes-tabs li:first-child a",this).attr("href"):"#"+b;a(b).show();a(".metaboxes-tabs a",this).click(function(b){if(a(this).parent().hasClass("tabs"))b.preventDefault();else return b=a(this).attr("href"),a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a(this).closest(".metaboxes-tab").find(".tabs-panel").hide(),
6
+ a(b).show(),!1})});var c=a("#_active_page_options-container").parent().html();a("#_active_page_options-container").parent().remove();a(c).insertAfter("#yit-post-setting .handlediv");a(c).insertAfter("#yit-page-setting .handlediv");a("#_active_page_options-container").on("click",function(){a("#_active_page_options").is(":checked")?a("#yit-page-setting .inside .metaboxes-tab, #yit-post-setting .inside .metaboxes-tab").css({opacity:1,"pointer-events":"auto"}):a("#yit-page-setting .inside .metaboxes-tab, #yit-post-setting .inside .metaboxes-tab").css({opacity:.5,
7
+ "pointer-events":"none"})}).click();a(".metaboxes-tab [data-dep-target]").each(function(){var b=a(this),c="#"+b.data("dep-target"),f="#"+b.data("dep-id"),h=b.data("dep-value"),k=b.data("dep-type");e(c,f,h.toString(),k);a(f).on("change",function(){e(c,f,h.toString(),k)}).change()})})(jQuery);
plugin-fw/assets/js/yit-cpt-unlimited.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(c){c(".wrap h1, .wrap h2").on("click","a.multi-uploader",function(f){f.preventDefault();var a,b=c(this),d=!1;b.next("span.spinner").css("display","inline-block");a||(a=wp.media.frames.file_frame=wp.media({title:b.data("uploader_title"),button:{text:b.data("uploader_button_text")},library:{type:"image"},multiple:!0}),a.on("select",function(){var e=[];a.state().get("selection").map(function(a){a=a.toJSON();e.push({id:a.id,url:a.url,title:a.title})});c.post(ajaxurl,{images:e,post_type:typenow,action:"yit_cptu_multiuploader"},
2
- function(a){location.reload()});b.next("span.spinner").css("display","inline-block");d=!0}),a.on("close",function(){d||b.next("span.spinner").hide()}));a.open()})})(jQuery);
1
+ (function(d){d(".wrap h1, .wrap h2").on("click","a.multi-uploader",function(g){g.preventDefault();var b=d(this),e=!1;b.next("span.spinner").css("display","inline-block");if(!c){var c=wp.media.frames.file_frame=wp.media({title:b.data("uploader_title"),button:{text:b.data("uploader_button_text")},library:{type:"image"},multiple:!0});c.on("select",function(){var f=[];c.state().get("selection").map(function(a){a=a.toJSON();f.push({id:a.id,url:a.url,title:a.title})});d.post(ajaxurl,{images:f,post_type:typenow,
2
+ action:"yit_cptu_multiuploader"},function(a){location.reload()});b.next("span.spinner").css("display","inline-block");e=!0});c.on("close",function(){e||b.next("span.spinner").hide()})}c.open()})})(jQuery);
plugin-fw/assets/js/yit-wp-pointer.min.js CHANGED
@@ -1,3 +1,6 @@
1
- jQuery(document).ready(function(b){var c=custom_pointer.pointers[0],d=c.options,a=b(c.target),e=c.pointer_id;b(a).find(".wp-submenu li a").each(function(){var f=b(this),h=f.attr("href"),h=h.replace("admin.php?page=","");if(h==e){var k=f.add(a),g=a.find(c.target.replace("#","."));a.toggleClass("wp-no-current-submenu wp-menu-open wp-has-current-submenu");f.pointer({pointerClass:"yit-wp-pointer",content:d.content,position:d.position,open:function(){k.toggleClass("yit-pointer-selected-row");g.addClass("yit-pointer")},
2
- close:function(){a.toggleClass("wp-no-current-submenu wp-menu-open wp-has-current-submenu");k.toggleClass("yit-pointer-selected-row");g.removeClass("yit-pointer");b.ajax({type:"POST",url:ajaxurl,data:{action:"dismiss-wp-pointer",pointer:e},success:function(a){}})}}).pointer("open")}else if("yith_default_pointer"==e){var k=f.add(a),g=a.find(c.target.replace("#",".")),l=b(c.target);l.addClass("wp-has-current-submenu");g.pointer({pointerClass:"yit-wp-pointer",content:d.content,position:d.position,open:function(){l.addClass("yit-pointer-selected-row")},
3
- close:function(){l.removeClass("yit-pointer-selected-row wp-has-current-submenu");b.ajax({type:"POST",url:ajaxurl,data:{action:"dismiss-wp-pointer",pointer:e},success:function(a){}})}}).pointer("open")}})});
 
 
 
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,c,b){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(c.call(b,f,e,a))return{i:e,v:f}}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,c,b){a!=Array.prototype&&a!=Object.prototype&&(a[c]=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,c,b,d){if(c){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];c=c(d);c!=d&&null!=c&&$jscomp.defineProperty(b,a,{configurable:!0,writable:!0,value:c})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,b){return $jscomp.findInternal(this,a,b).v}},"es6","es3");
4
+ jQuery(document).ready(function(a){var c=custom_pointer.pointers[0],b=c.options,d=a(c.target),e=c.pointer_id;a(d).find(".wp-submenu li a").each(function(){var f=a(this),h=f.attr("href");h=h.replace("admin.php?page=","");if(h==e){var k=f.add(d),g=d.find(c.target.replace("#","."));d.toggleClass("wp-no-current-submenu wp-menu-open wp-has-current-submenu");f.pointer({pointerClass:"yit-wp-pointer",content:b.content,position:b.position,open:function(){k.toggleClass("yit-pointer-selected-row");g.addClass("yit-pointer")},
5
+ close:function(){d.toggleClass("wp-no-current-submenu wp-menu-open wp-has-current-submenu");k.toggleClass("yit-pointer-selected-row");g.removeClass("yit-pointer");a.ajax({type:"POST",url:ajaxurl,data:{action:"dismiss-wp-pointer",pointer:e},success:function(a){}})}}).pointer("open")}else if("yith_default_pointer"==e){k=f.add(d);g=d.find(c.target.replace("#","."));var l=a(c.target);l.addClass("wp-has-current-submenu");g.pointer({pointerClass:"yit-wp-pointer",content:b.content,position:b.position,open:function(){l.addClass("yit-pointer-selected-row")},
6
+ close:function(){l.removeClass("yit-pointer-selected-row wp-has-current-submenu");a.ajax({type:"POST",url:ajaxurl,data:{action:"dismiss-wp-pointer",pointer:e},success:function(a){}})}}).pointer("open")}})});
plugin-fw/assets/js/yith-enhanced-select-wc-2.6.min.js CHANGED
@@ -1,5 +1,5 @@
1
- jQuery(document).ready(function(a){a(document.body).on("yith-framework-enhanced-select-init",function(){a(":input.yith-post-search").filter(":not(.enhanced)").each(function(){var d=a.extend({action:"yith_plugin_fw_json_search_posts",security:yith_framework_enhanced_select_params.search_posts_nonce,post_type:"post"},a(this).data()),c={allowClear:a(this).data("allow_clear")?!0:!1,placeholder:a(this).data("placeholder"),minimumInputLength:a(this).data("minimum_input_length")?a(this).data("minimum_input_length"):
2
- "3",escapeMarkup:function(b){return b},ajax:{url:yith_framework_enhanced_select_params.ajax_url,dataType:"json",quietMillis:250,data:function(b){d.term=b;return d},results:function(b){var c=[];b&&a.each(b,function(b,a){c.push({id:b,text:a})});return{results:c}},cache:!0}};!0===a(this).data("multiple")?(c.multiple=!0,c.initSelection=function(b,c){var f=a.parseJSON(b.attr("data-selected")),e=[];a(b.val().split(",")).each(function(b,a){e.push({id:a,text:f[a]})});return c(e)},c.formatSelection=function(b){return'<div class="selected-option" data-id="'+
3
- b.id+'">'+b.text+"</div>"}):(c.multiple=!1,c.initSelection=function(b,a){var c={id:b.val(),text:b.attr("data-selected")};return a(c)});a(this).select2(c).addClass("enhanced")});a(":input.yith-term-search").filter(":not(.enhanced)").each(function(){var d=a.extend({action:"yith_plugin_fw_json_search_terms",security:yith_framework_enhanced_select_params.search_terms_nonce,taxonomy:"category"},a(this).data()),c={allowClear:a(this).data("allow_clear")?!0:!1,placeholder:a(this).data("placeholder"),minimumInputLength:a(this).data("minimum_input_length")?
4
- a(this).data("minimum_input_length"):"3",escapeMarkup:function(b){return b},ajax:{url:yith_framework_enhanced_select_params.ajax_url,dataType:"json",quietMillis:250,data:function(b){d.term=b;return d},results:function(b){var c=[];b&&a.each(b,function(b,a){c.push({id:b,text:a})});return{results:c}},cache:!0}};!0===a(this).data("multiple")?(c.multiple=!0,c.initSelection=function(b,c){var d=a.parseJSON(b.attr("data-selected")),e=[];a(b.val().split(",")).each(function(b,a){e.push({id:a,text:d[a]})});
5
- return c(e)},c.formatSelection=function(a){return'<div class="selected-option" data-id="'+a.id+'">'+a.text+"</div>"}):(c.multiple=!1,c.initSelection=function(a,c){var d={id:a.val(),text:a.attr("data-selected")};return c(d)});a(this).select2(c).addClass("enhanced")})}).trigger("yith-framework-enhanced-select-init")});
1
+ jQuery(document).ready(function(b){b(document.body).on("yith-framework-enhanced-select-init",function(){b(":input.yith-post-search").filter(":not(.enhanced)").each(function(){var d=b.extend({action:"yith_plugin_fw_json_search_posts",security:yith_framework_enhanced_select_params.search_posts_nonce,post_type:"post"},b(this).data()),c={allowClear:b(this).data("allow_clear")?!0:!1,placeholder:b(this).data("placeholder"),minimumInputLength:b(this).data("minimum_input_length")?b(this).data("minimum_input_length"):
2
+ "3",escapeMarkup:function(a){return a},ajax:{url:yith_framework_enhanced_select_params.ajax_url,dataType:"json",quietMillis:250,data:function(a){d.term=a;return d},results:function(a){var c=[];a&&b.each(a,function(a,b){c.push({id:a,text:b})});return{results:c}},cache:!0}};!0===b(this).data("multiple")?(c.multiple=!0,c.initSelection=function(a,c){var f=b.parseJSON(a.attr("data-selected")),e=[];b(a.val().split(",")).each(function(a,b){e.push({id:b,text:f[b]})});return c(e)},c.formatSelection=function(a){return'<div class="selected-option" data-id="'+
3
+ a.id+'">'+a.text+"</div>"}):(c.multiple=!1,c.initSelection=function(a,b){a={id:a.val(),text:a.attr("data-selected")};return b(a)});b(this).select2(c).addClass("enhanced")});b(":input.yith-term-search").filter(":not(.enhanced)").each(function(){var d=b.extend({action:"yith_plugin_fw_json_search_terms",security:yith_framework_enhanced_select_params.search_terms_nonce,taxonomy:"category"},b(this).data()),c={allowClear:b(this).data("allow_clear")?!0:!1,placeholder:b(this).data("placeholder"),minimumInputLength:b(this).data("minimum_input_length")?
4
+ b(this).data("minimum_input_length"):"3",escapeMarkup:function(a){return a},ajax:{url:yith_framework_enhanced_select_params.ajax_url,dataType:"json",quietMillis:250,data:function(a){d.term=a;return d},results:function(a){var c=[];a&&b.each(a,function(a,b){c.push({id:a,text:b})});return{results:c}},cache:!0}};!0===b(this).data("multiple")?(c.multiple=!0,c.initSelection=function(a,c){var d=b.parseJSON(a.attr("data-selected")),e=[];b(a.val().split(",")).each(function(a,b){e.push({id:b,text:d[b]})});
5
+ return c(e)},c.formatSelection=function(a){return'<div class="selected-option" data-id="'+a.id+'">'+a.text+"</div>"}):(c.multiple=!1,c.initSelection=function(a,b){a={id:a.val(),text:a.attr("data-selected")};return b(a)});b(this).select2(c).addClass("enhanced")})}).trigger("yith-framework-enhanced-select-init")});
plugin-fw/assets/js/yith-enhanced-select.min.js CHANGED
@@ -1,5 +1,8 @@
1
- jQuery(document).ready(function(a){a(document.body).on("yith-framework-enhanced-select-init",function(){a(".yith-post-search").filter(":not(.enhanced)").each(function(){var e=a.extend({action:"yith_plugin_fw_json_search_posts",security:yith_framework_enhanced_select_params.search_posts_nonce,post_type:"post"},a(this).data()),f={allowClear:a(this).data("allow_clear")?!0:!1,placeholder:a(this).data("placeholder"),minimumInputLength:a(this).data("minimum_input_length")?a(this).data("minimum_input_length"):
2
- "3",escapeMarkup:function(a){return a},ajax:{url:ajaxurl,dataType:"json",quietMillis:250,data:function(b){return a.extend({term:b.term},e)},processResults:function(b){var c=[];b&&a.each(b,function(a,b){c.push({id:a,text:b})});return{results:c}},cache:!0}};a(this).select2(f).addClass("enhanced");if(a(this).data("sortable")){var c=a(this),d=a(this).next(".select2-container").find("ul.select2-selection__rendered");d.sortable({placeholder:"ui-state-highlight select2-selection__choice",forcePlaceholderSize:!0,
3
- items:"li:not(.select2-search__field)",tolerance:"pointer",stop:function(){a(d.find(".select2-selection__choice").get().reverse()).each(function(){var b=a(this).data("data").id,b=c.find('option[value="'+b+'"]')[0];c.prepend(b)})}})}});a(".yith-term-search").filter(":not(.enhanced)").each(function(){var e=a.extend({action:"yith_plugin_fw_json_search_terms",security:yith_framework_enhanced_select_params.search_terms_nonce,taxonomy:"category"},a(this).data()),f={allowClear:a(this).data("allow_clear")?
4
- !0:!1,placeholder:a(this).data("placeholder"),minimumInputLength:a(this).data("minimum_input_length")?a(this).data("minimum_input_length"):"3",escapeMarkup:function(a){return a},ajax:{url:ajaxurl,dataType:"json",quietMillis:250,data:function(b){return a.extend({term:b.term},e)},processResults:function(b){var c=[];b&&a.each(b,function(a,b){c.push({id:a,text:b})});return{results:c}},cache:!0}};a(this).select2(f).addClass("enhanced");if(a(this).data("sortable")){var c=a(this),d=a(this).next(".select2-container").find("ul.select2-selection__rendered");
5
- d.sortable({placeholder:"ui-state-highlight select2-selection__choice",forcePlaceholderSize:!0,items:"li:not(.select2-search__field)",tolerance:"pointer",stop:function(){a(d.find(".select2-selection__choice").get().reverse()).each(function(){var b=a(this).data("data").id,b=c.find('option[value="'+b+'"]')[0];c.prepend(b)})}})}})}).trigger("yith-framework-enhanced-select-init")});
 
 
 
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,f,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var b=a[e];if(f.call(c,b,e,a))return{i:e,v:b}}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,c){a!=Array.prototype&&a!=Object.prototype&&(a[f]=c.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,c,d){if(f){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];f=f(d);f!=d&&null!=f&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:f})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
4
+ jQuery(document).ready(function(a){a(document.body).on("yith-framework-enhanced-select-init",function(){a(".yith-post-search").filter(":not(.enhanced)").each(function(){var f=a.extend({action:"yith_plugin_fw_json_search_posts",security:yith_framework_enhanced_select_params.search_posts_nonce,post_type:"post"},a(this).data()),c={allowClear:a(this).data("allow_clear")?!0:!1,placeholder:a(this).data("placeholder"),minimumInputLength:a(this).data("minimum_input_length")?a(this).data("minimum_input_length"):
5
+ "3",escapeMarkup:function(a){return a},ajax:{url:ajaxurl,dataType:"json",quietMillis:250,data:function(b){return a.extend({term:b.term},f)},processResults:function(b){var c=[];b&&a.each(b,function(a,b){c.push({id:a,text:b})});return{results:c}},cache:!0}};a(this).select2(c).addClass("enhanced");if(a(this).data("sortable")){var d=a(this),e=a(this).next(".select2-container").find("ul.select2-selection__rendered");e.sortable({placeholder:"ui-state-highlight select2-selection__choice",forcePlaceholderSize:!0,
6
+ items:"li:not(.select2-search__field)",tolerance:"pointer",stop:function(){a(e.find(".select2-selection__choice").get().reverse()).each(function(){var b=a(this).data("data").id;b=d.find('option[value="'+b+'"]')[0];d.prepend(b)})}})}});a(".yith-term-search").filter(":not(.enhanced)").each(function(){var f=a.extend({action:"yith_plugin_fw_json_search_terms",security:yith_framework_enhanced_select_params.search_terms_nonce,taxonomy:"category"},a(this).data()),c={allowClear:a(this).data("allow_clear")?
7
+ !0:!1,placeholder:a(this).data("placeholder"),minimumInputLength:a(this).data("minimum_input_length")?a(this).data("minimum_input_length"):"3",escapeMarkup:function(a){return a},ajax:{url:ajaxurl,dataType:"json",quietMillis:250,data:function(b){return a.extend({term:b.term},f)},processResults:function(b){var c=[];b&&a.each(b,function(a,b){c.push({id:a,text:b})});return{results:c}},cache:!0}};a(this).select2(c).addClass("enhanced");if(a(this).data("sortable")){var d=a(this),e=a(this).next(".select2-container").find("ul.select2-selection__rendered");
8
+ e.sortable({placeholder:"ui-state-highlight select2-selection__choice",forcePlaceholderSize:!0,items:"li:not(.select2-search__field)",tolerance:"pointer",stop:function(){a(e.find(".select2-selection__choice").get().reverse()).each(function(){var b=a(this).data("data").id;b=d.find('option[value="'+b+'"]')[0];d.prepend(b)})}})}})}).trigger("yith-framework-enhanced-select-init")});
plugin-fw/assets/js/yith-fields.js CHANGED
@@ -74,12 +74,12 @@ jQuery( function ( $ ) {
74
  var custom_uploader_states = [
75
  // Main states.
76
  new wp.media.controller.Library( {
77
- library : wp.media.query(),
78
- multiple : false,
79
- title : 'Choose Image',
80
- priority : 20,
81
- filterable: 'uploaded'
82
- } )
83
  ];
84
 
85
  // Create the media frame.
@@ -145,10 +145,10 @@ jQuery( function ( $ ) {
145
  },
146
  states: [
147
  new wp.media.controller.Library( {
148
- title : $t.data( 'choose' ),
149
- filterable: 'all',
150
- multiple : true
151
- } )
152
  ]
153
  } );
154
 
@@ -193,7 +193,7 @@ jQuery( function ( $ ) {
193
 
194
  $t.find( 'li.image' ).css( 'cursor', 'default' ).each( function () {
195
  var attachment_id = $( this ).attr( 'data-attachment_id' );
196
- attachment_ids = attachment_ids + attachment_id + ',';
197
  } );
198
 
199
  $t.closest( '.image-gallery' ).find( '.image_gallery_ids' ).val( attachment_ids );
@@ -212,7 +212,7 @@ jQuery( function ( $ ) {
212
 
213
  $gallery.find( 'li.image' ).css( 'cursor', 'default' ).each( function () {
214
  var attachment_id = $( this ).attr( 'data-attachment_id' );
215
- attachment_ids = attachment_ids + attachment_id + ',';
216
  } );
217
 
218
  $image_gallery_ids.val( attachment_ids );
@@ -283,7 +283,7 @@ jQuery( function ( $ ) {
283
  range: 'min',
284
  step : step,
285
 
286
- create: function() {
287
  $( this ).find( '.ui-slider-handle' ).text( $( this ).slider( "value" ) );
288
  },
289
 
@@ -347,4 +347,18 @@ jQuery( function ( $ ) {
347
  } );
348
  } );
349
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
350
  } );
74
  var custom_uploader_states = [
75
  // Main states.
76
  new wp.media.controller.Library( {
77
+ library : wp.media.query(),
78
+ multiple : false,
79
+ title : 'Choose Image',
80
+ priority : 20,
81
+ filterable: 'uploaded'
82
+ } )
83
  ];
84
 
85
  // Create the media frame.
145
  },
146
  states: [
147
  new wp.media.controller.Library( {
148
+ title : $t.data( 'choose' ),
149
+ filterable: 'all',
150
+ multiple : true
151
+ } )
152
  ]
153
  } );
154
 
193
 
194
  $t.find( 'li.image' ).css( 'cursor', 'default' ).each( function () {
195
  var attachment_id = $( this ).attr( 'data-attachment_id' );
196
+ attachment_ids = attachment_ids + attachment_id + ',';
197
  } );
198
 
199
  $t.closest( '.image-gallery' ).find( '.image_gallery_ids' ).val( attachment_ids );
212
 
213
  $gallery.find( 'li.image' ).css( 'cursor', 'default' ).each( function () {
214
  var attachment_id = $( this ).attr( 'data-attachment_id' );
215
+ attachment_ids = attachment_ids + attachment_id + ',';
216
  } );
217
 
218
  $image_gallery_ids.val( attachment_ids );
283
  range: 'min',
284
  step : step,
285
 
286
+ create: function () {
287
  $( this ).find( '.ui-slider-handle' ).text( $( this ).slider( "value" ) );
288
  },
289
 
347
  } );
348
  } );
349
 
350
+ /** Select Images */
351
+ $( document ).on( 'click', '.yith-plugin-fw-select-images__item', function () {
352
+ var item = $( this ),
353
+ key = item.data( 'key' ),
354
+ wrapper = item.closest( '.yith-plugin-fw-select-images__wrapper' ),
355
+ items = wrapper.find( '.yith-plugin-fw-select-images__item' ),
356
+ select = wrapper.find( 'select' ).first();
357
+
358
+ if ( select.length ) {
359
+ select.val( key );
360
+ items.removeClass( 'yith-plugin-fw-select-images__item--selected' );
361
+ item.addClass( 'yith-plugin-fw-select-images__item--selected' );
362
+ }
363
+ } );
364
  } );
plugin-fw/assets/js/yith-fields.min.js CHANGED
@@ -1,15 +1,15 @@
1
- var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,g,e){a instanceof String&&(a=String(a));for(var d=a.length,h=0;h<d;h++){var l=a[h];if(g.call(e,l,h,a))return{i:h,v:l}}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,g,e){a!=Array.prototype&&a!=Object.prototype&&(a[g]=e.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,g,e,d){if(g){e=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var h=a[d];h in e||(e[h]={});e=e[h]}a=a[a.length-1];d=e[a];g=g(d);g!=d&&null!=g&&$jscomp.defineProperty(e,a,{configurable:!0,writable:!0,value:g})}};
3
- $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6","es3");
4
- jQuery(function(a){var g=a(".yith-plugin-fw-datepicker"),e=a(".yith-plugin-fw-colorpicker"),d=a(".yith-plugin-fw-upload-img-url"),h=a(".add_media"),l=a(".yith-plugin-fw .image-gallery ul.slides-wrapper"),m=a(".yith-plugin-fw-onoff-container span"),n=a(".yith-plugin-fw-sidebar-layout"),p=a(".yith-plugin-fw .yith-plugin-fw-slider-container .ui-slider-horizontal"),q=a(".codemirror"),r=a(".yit-icons-manager-wrapper");g.each(function(){var b=a(this).data();a(this).datepicker(b)});e.wpColorPicker({clear:function(){var b=
5
- a(this);b.val(b.data("default-color"));b.change()}});e.each(function(){var b=a(this).data("variations-label");a(this).parent().parent().find("a.wp-color-result").attr("title",b)});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&(d.change(function(){var b=a(this).val(),c=a(this).parent().find(".yith-plugin-fw-upload-img-preview").first();1>c.length&&(c=a(this).parent().parent().find(".yith-plugin-fw-upload-img-preview").first());/(http|ftp|https):\/\/[a-zA-Z0-9@?^=%&amp;:/~+#-_.]*.(gif|jpg|jpeg|png|ico)/.test(b)?
6
  c.html('<img src="'+b+'" style="max-width:100px; max-height:100px;" />'):c.html("")}).trigger("change"),a(document).on("click",".yith-plugin-fw-upload-button",function(b){b.preventDefault();var c=a(this).attr("id").replace(/-button$/,"");if(!f){b=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})];var f=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,
7
- states:b});f.on("select",function(){var b=f.state().get("selection").first().toJSON();a("#"+c).val(b.url);a("#"+c+"-yith-attachment-id")&&a("#"+c+"-yith-attachment-id").val(b.id);d.trigger("change")})}f.open()}),a(document).on("click",".yith-plugin-fw-upload-button-reset",function(b){var c=a(this);b=c.attr("id");c=c.attr("id").replace(/-button-reset$/,"");b=a("#"+b).data("default");a("#"+c).val(b);d.trigger("change")}));h.on("click",function(){});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&
8
- (a(document).on("click",".yith-plugin-fw .image-gallery-button",function(b){var c=a(this);b=c.closest(".image-gallery");var f=b.find(".image_gallery_ids"),k=f.val(),e=b.find("ul.slides-wrapper"),d=wp.media.frames.image_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]});d.on("select",function(){d.state().get("selection").map(function(a){a=a.toJSON();a.id&&(k=k?k+","+a.id:a.id,e.append('<li class="image" data-attachment_id="'+
9
- a.id+'"><img src="'+a.sizes.thumbnail.url+'"/><ul class="actions"><li><a href="#" class="delete" title="'+c.data("delete")+'">x</a></li></ul></li>'))});f.val(k)});d.open()}),l.each(function(){var b=a(this);b.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(c,f){var k="";b.find("li.image").css("cursor",
10
  "default").each(function(){var b=a(this).attr("data-attachment_id");k=k+b+","});b.closest(".image-gallery").find(".image_gallery_ids").val(k)}})}),l.on("click","a.delete",function(){var b=a(this).closest(".image-gallery"),c=a(this).closest(".image-gallery ul.slides-wrapper");b=b.find(".image_gallery_ids");var f="";a(this).closest("li.image").remove();c.find("li.image").css("cursor","default").each(function(){var b=a(this).attr("data-attachment_id");f=f+b+","});b.val(f)}));m.on("click",function(){var b=
11
  a(this).prev("input");b.prop("checked")?b.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):b.prop("checked",!0).attr("value","yes").addClass("onoffchecked");b.change()});n.each(function(){a(this).find("img").on("click",function(){var b=a(this).closest(".yith-plugin-fw-sidebar-layout"),c=b.find(".yith-plugin-fw-sidebar-layout-sidebar-left-container");b=b.find(".yith-plugin-fw-sidebar-layout-sidebar-right-container");var f=a(this).data("type");a(this).parent().children(":radio").attr("checked",
12
- !1);a(this).prev(":radio").attr("checked",!0);if("undefined"!=typeof f)switch(f){case "left":c.show();b.hide();break;case "right":b.show();c.hide();break;case "double":c.show();b.show();break;default:c.hide(),b.hide()}})});p.each(function(){var b=a(this).data("val"),c=a(this).data("min"),f=a(this).data("max"),e=a(this).data("step"),d=a(this).data("labels");a(this).slider({value:b,min:c,max:f,range:"min",step:e,create:function(){a(this).find(".ui-slider-handle").text(a(this).slider("value"))},slide:function(b,
13
  c){a(this).find("input").val(c.value);a(this).find(".ui-slider-handle").text(c.value);a(this).siblings(".feedback").find("strong").text(c.value+d)}})});q.each(function(b,c){b=CodeMirror.fromTextArea(c,{lineNumbers:1,mode:"javascript",showCursorWhenSelecting:!0});a(c).data("codemirrorInstance",b)});a(document).on("click",".yith-plugin-fw-select-all",function(){a("#"+a(this).data("select-id")).find("option").prop("selected",!0).trigger("change")});a(document).on("click",".yith-plugin-fw-deselect-all",
14
- function(){a("#"+a(this).data("select-id")).find("option").prop("selected",!1).trigger("change")});r.each(function(){var b=a(this),c=b.find(".yit-icons-manager-icon-preview").first(),e=b.find(".yit-icons-manager-icon-text");b.on("click",".yit-icons-manager-list li",function(d){d=a(d.target).closest("li");var f=d.data("font"),g=d.data("icon"),h=d.data("key"),k=d.data("name");c.attr("data-font",f);c.attr("data-icon",g);c.attr("data-key",h);c.attr("data-name",k);e.val(f+":"+k);b.find(".yit-icons-manager-list li").removeClass("active");
15
- d.addClass("active")});b.on("click",".yit-icons-manager-action-set-default",function(){b.find(".yit-icons-manager-list li.default").trigger("click")})})});
1
+ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,g,d){a instanceof String&&(a=String(a));for(var e=a.length,h=0;h<e;h++){var l=a[h];if(g.call(d,l,h,a))return{i:h,v:l}}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,g,d){a!=Array.prototype&&a!=Object.prototype&&(a[g]=d.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,g,d,e){if(g){d=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var h=a[e];h in d||(d[h]={});d=d[h]}a=a[a.length-1];e=d[a];g=g(e);g!=e&&null!=g&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:g})}};
3
+ $jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,d){return $jscomp.findInternal(this,a,d).v}},"es6","es3");
4
+ jQuery(function(a){var g=a(".yith-plugin-fw-datepicker"),d=a(".yith-plugin-fw-colorpicker"),e=a(".yith-plugin-fw-upload-img-url"),h=a(".add_media"),l=a(".yith-plugin-fw .image-gallery ul.slides-wrapper"),m=a(".yith-plugin-fw-onoff-container span"),n=a(".yith-plugin-fw-sidebar-layout"),p=a(".yith-plugin-fw .yith-plugin-fw-slider-container .ui-slider-horizontal"),q=a(".codemirror"),r=a(".yit-icons-manager-wrapper");g.each(function(){var b=a(this).data();a(this).datepicker(b)});d.wpColorPicker({clear:function(){var b=
5
+ a(this);b.val(b.data("default-color"));b.change()}});d.each(function(){var b=a(this).data("variations-label");a(this).parent().parent().find("a.wp-color-result").attr("title",b)});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&(e.change(function(){var b=a(this).val(),c=a(this).parent().find(".yith-plugin-fw-upload-img-preview").first();1>c.length&&(c=a(this).parent().parent().find(".yith-plugin-fw-upload-img-preview").first());/(http|ftp|https):\/\/[a-zA-Z0-9@?^=%&amp;:/~+#-_.]*.(gif|jpg|jpeg|png|ico)/.test(b)?
6
  c.html('<img src="'+b+'" style="max-width:100px; max-height:100px;" />'):c.html("")}).trigger("change"),a(document).on("click",".yith-plugin-fw-upload-button",function(b){b.preventDefault();var c=a(this).attr("id").replace(/-button$/,"");if(!f){b=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})];var f=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,
7
+ states:b});f.on("select",function(){var b=f.state().get("selection").first().toJSON();a("#"+c).val(b.url);a("#"+c+"-yith-attachment-id")&&a("#"+c+"-yith-attachment-id").val(b.id);e.trigger("change")})}f.open()}),a(document).on("click",".yith-plugin-fw-upload-button-reset",function(b){var c=a(this);b=c.attr("id");c=c.attr("id").replace(/-button-reset$/,"");b=a("#"+b).data("default");a("#"+c).val(b);e.trigger("change")}));h.on("click",function(){});"undefined"!==typeof wp&&"undefined"!==typeof wp.media&&
8
+ (a(document).on("click",".yith-plugin-fw .image-gallery-button",function(b){var c=a(this);b=c.closest(".image-gallery");var f=b.find(".image_gallery_ids"),k=f.val(),d=b.find("ul.slides-wrapper"),e=wp.media.frames.image_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]});e.on("select",function(){e.state().get("selection").map(function(a){a=a.toJSON();a.id&&(k=k?k+","+a.id:a.id,d.append('<li class="image" data-attachment_id="'+
9
+ a.id+'"><img src="'+a.sizes.thumbnail.url+'"/><ul class="actions"><li><a href="#" class="delete" title="'+c.data("delete")+'">x</a></li></ul></li>'))});f.val(k)});e.open()}),l.each(function(){var b=a(this);b.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(c,f){var k="";b.find("li.image").css("cursor",
10
  "default").each(function(){var b=a(this).attr("data-attachment_id");k=k+b+","});b.closest(".image-gallery").find(".image_gallery_ids").val(k)}})}),l.on("click","a.delete",function(){var b=a(this).closest(".image-gallery"),c=a(this).closest(".image-gallery ul.slides-wrapper");b=b.find(".image_gallery_ids");var f="";a(this).closest("li.image").remove();c.find("li.image").css("cursor","default").each(function(){var b=a(this).attr("data-attachment_id");f=f+b+","});b.val(f)}));m.on("click",function(){var b=
11
  a(this).prev("input");b.prop("checked")?b.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):b.prop("checked",!0).attr("value","yes").addClass("onoffchecked");b.change()});n.each(function(){a(this).find("img").on("click",function(){var b=a(this).closest(".yith-plugin-fw-sidebar-layout"),c=b.find(".yith-plugin-fw-sidebar-layout-sidebar-left-container");b=b.find(".yith-plugin-fw-sidebar-layout-sidebar-right-container");var f=a(this).data("type");a(this).parent().children(":radio").attr("checked",
12
+ !1);a(this).prev(":radio").attr("checked",!0);if("undefined"!=typeof f)switch(f){case "left":c.show();b.hide();break;case "right":b.show();c.hide();break;case "double":c.show();b.show();break;default:c.hide(),b.hide()}})});p.each(function(){var b=a(this).data("val"),c=a(this).data("min"),f=a(this).data("max"),k=a(this).data("step"),d=a(this).data("labels");a(this).slider({value:b,min:c,max:f,range:"min",step:k,create:function(){a(this).find(".ui-slider-handle").text(a(this).slider("value"))},slide:function(b,
13
  c){a(this).find("input").val(c.value);a(this).find(".ui-slider-handle").text(c.value);a(this).siblings(".feedback").find("strong").text(c.value+d)}})});q.each(function(b,c){b=CodeMirror.fromTextArea(c,{lineNumbers:1,mode:"javascript",showCursorWhenSelecting:!0});a(c).data("codemirrorInstance",b)});a(document).on("click",".yith-plugin-fw-select-all",function(){a("#"+a(this).data("select-id")).find("option").prop("selected",!0).trigger("change")});a(document).on("click",".yith-plugin-fw-deselect-all",
14
+ function(){a("#"+a(this).data("select-id")).find("option").prop("selected",!1).trigger("change")});r.each(function(){var b=a(this),c=b.find(".yit-icons-manager-icon-preview").first(),f=b.find(".yit-icons-manager-icon-text");b.on("click",".yit-icons-manager-list li",function(d){d=a(d.target).closest("li");var e=d.data("font"),g=d.data("icon"),k=d.data("key"),h=d.data("name");c.attr("data-font",e);c.attr("data-icon",g);c.attr("data-key",k);c.attr("data-name",h);f.val(e+":"+h);b.find(".yit-icons-manager-list li").removeClass("active");
15
+ d.addClass("active")});b.on("click",".yit-icons-manager-action-set-default",function(){b.find(".yit-icons-manager-list li.default").trigger("click")})});a(document).on("click",".yith-plugin-fw-select-images__item",function(){var b=a(this),c=b.data("key"),d=b.closest(".yith-plugin-fw-select-images__wrapper"),e=d.find(".yith-plugin-fw-select-images__item");d=d.find("select").first();d.length&&(d.val(c),e.removeClass("yith-plugin-fw-select-images__item--selected"),b.addClass("yith-plugin-fw-select-images__item--selected"))})});
plugin-fw/assets/js/yith-promo.js ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+ $(document).on('click', '.notice-dismiss', function () {
3
+ var t = $(this),
4
+ promo_wrapper = t.parent('div.yith-notice-is-dismissible'),
5
+ promo_id = promo_wrapper.attr('id');
6
+
7
+ if (typeof promo_id != 'undefined') {
8
+ var cname = 'hide_' + promo_id,
9
+ cvalue = 'yes',
10
+ expiry = promo_wrapper.data('expiry'),
11
+ expiry_date = new Date(expiry);
12
+
13
+ expiry_date.setUTCHours( 23 );
14
+ expiry_date.setUTCMinutes( 59 );
15
+ expiry_date.setUTCSeconds( 59 );
16
+
17
+ document.cookie = cname + "=" + cvalue + ";" + 'expires=' + expiry_date.toUTCString() + ";path=/";
18
+ }
19
+ });
20
+ })(jQuery);
plugin-fw/assets/js/yith-promo.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(c){c(document).on("click",".notice-dismiss",function(){var a=c(this).parent("div.yith-notice-is-dismissible"),b=a.attr("id");"undefined"!=typeof b&&(b="hide_"+b,a=a.data("expiry"),a=new Date(a),a.setUTCHours(23),a.setUTCMinutes(59),a.setUTCSeconds(59),document.cookie=b+"=yes;expires="+a.toUTCString()+";path=/")})})(jQuery);
plugin-fw/init.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
- * Version: 3.0.16
5
- * Author: Yithemes
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author Your Inspiration Themes
10
- * @version 3.0.16
11
  */
12
  /**
13
  * This file belongs to the YIT Plugin Framework.
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
+ * Version: 3.0.28
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.
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: 2016-07-06 15:18+0200\n"
8
- "PO-Revision-Date: 2016-07-06 15:19+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 1.8.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"
@@ -22,6 +22,42 @@ msgstr ""
22
  "X-Textdomain-Support: yes\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  #: lib/yit-cpt-unlimited.php:460 lib/yit-cpt-unlimited.php:574
26
  #: lib/yit-cpt-unlimited.php:719 lib/yit-cpt-unlimited.php:1632
27
  #, php-format
@@ -81,7 +117,7 @@ msgctxt "taxonomy singular name"
81
  msgid "Category"
82
  msgstr "Categoría"
83
 
84
- #: lib/yit-cpt-unlimited.php:627
85
  msgid "Search Categories"
86
  msgstr "Buscar Categorías"
87
 
@@ -127,7 +163,7 @@ msgid "%s Settings"
127
  msgstr "%s Ajustes"
128
 
129
  #: lib/yit-cpt-unlimited.php:1048 lib/yit-cpt-unlimited.php:1196
130
- #: lib/yit-cpt-unlimited.php:1202 lib/yit-plugin-panel.php:74
131
  msgid "Settings"
132
  msgstr "Ajustes"
133
 
@@ -214,8 +250,8 @@ msgstr "Enlaces rápidos"
214
  msgid "Show frontend of the %s"
215
  msgstr "Mostrar parte delantera de %s"
216
 
217
- #: lib/yit-cpt-unlimited.php:1482 templates/metaboxes/types/customtabs.php:46
218
- #: templates/metaboxes/types/customtabs.php:90
219
  msgid "Name"
220
  msgstr "Nombre"
221
 
@@ -228,106 +264,97 @@ msgstr "Añadir %s desde imágenes"
228
  msgid "Upload multiple files"
229
  msgstr "Cargar archivos múltiples"
230
 
231
- #: lib/yit-plugin-panel-sidebar.php:421 templates/panel/sidebar/sidebar.php:3
232
- msgid "Hide sidebar"
233
- msgstr "Ocultar barra lateral"
234
-
235
- #: lib/yit-plugin-panel-sidebar.php:422 templates/panel/sidebar/sidebar.php:3
236
- msgid "Show sidebar"
237
- msgstr "Mostrar barra lateral"
238
-
239
- #: lib/yit-plugin-panel-wc.php:374
240
  msgid "The changes you have made will be lost if you leave this page."
241
  msgstr "Los cambios que has hecho se perderán si sales de esta página."
242
 
243
- #: lib/yit-plugin-panel.php:73
244
  msgid "Plugin Settings"
245
  msgstr "Ajustes del plugin"
246
 
247
- #: lib/yit-plugin-panel.php:297 lib/yit-plugin-panel.php:300
248
  msgid "How to install premium version"
249
  msgstr "Cómo instalar la versión premium"
250
 
251
- #: lib/yit-plugin-panel.php:352 lib/yit-plugin-subpanel.php:146
252
  #: templates/panel/woocommerce/woocommerce-form.php:11
253
  msgid "Save Changes"
254
  msgstr "Guardar cambios"
255
 
256
- #: lib/yit-plugin-panel.php:355
257
  #: templates/panel/woocommerce/woocommerce-form.php:14
258
  msgid ""
259
  "If you continue with this action, you will reset all options in this page."
260
  msgstr ""
261
  "Si sigues con esta acción, se reiniciarán todas las opciones en esta página."
262
 
263
- #: lib/yit-plugin-panel.php:357 lib/yit-plugin-subpanel.php:151
264
  msgid "Reset to default"
265
  msgstr "Reiniciar a predeterminado"
266
 
267
- #: lib/yit-plugin-panel.php:357 lib/yit-plugin-subpanel.php:151
268
  #: templates/panel/woocommerce/woocommerce-form.php:18
269
  msgid "Are you sure?"
270
  msgstr "¿Estás seguro/a?"
271
 
272
- #: lib/yit-plugin-panel.php:553
273
  msgid ""
274
  "The element you have entered already exists. Please, enter another name."
275
  msgstr ""
276
  "El elemento que has introducido ya existe. Por favor, introduce otro nombre."
277
 
278
- #: lib/yit-plugin-panel.php:554
279
  msgid "Settings saved"
280
  msgstr "Ajustes guardados"
281
 
282
- #: lib/yit-plugin-panel.php:555
283
  msgid "Settings reset"
284
  msgstr "Ajustes reiniciados"
285
 
286
- #: lib/yit-plugin-panel.php:556
287
  msgid "Element deleted correctly."
288
  msgstr "Elemento borrado correctamente."
289
 
290
- #: lib/yit-plugin-panel.php:557 lib/yit-plugin-panel.php:558
291
  msgid "Element updated correctly."
292
  msgstr "Elemento actualizado correctamente."
293
 
294
- #: lib/yit-plugin-panel.php:559
295
  msgid "Database imported correctly."
296
  msgstr "Base de datos importada correctamente."
297
 
298
- #: lib/yit-plugin-panel.php:560
299
  msgid "An error has occurred during import. Please try again."
300
  msgstr ""
301
  "Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
302
 
303
- #: lib/yit-plugin-panel.php:561
304
  msgid "The added file is not valid."
305
  msgstr "El archivo añadido no es válido."
306
 
307
- #: lib/yit-plugin-panel.php:562
308
  msgid "Sorry, import is disabled."
309
  msgstr "Lo sentimos, la importación está deshabilitada."
310
 
311
- #: lib/yit-plugin-panel.php:563
312
  msgid "Sorting successful."
313
  msgstr "Clasificación fue realizada con éxito."
314
 
315
- #: lib/yit-plugin-subpanel.php:149
316
- msgid ""
317
- "If you continue with this action, you will reset all the options in this "
318
- "page."
319
- msgstr ""
320
- "Si continúas con esta acción, reiniciarás todas las opciones de esta página."
321
-
322
  #: lib/yit-pointers.php:70
323
  msgid "Plugins Activated"
324
  msgstr "Plugins Activados"
325
 
326
  #: lib/yit-pointers.php:71
 
 
 
 
 
 
327
  msgid ""
328
- "From now on, you can find all plugin options in YIT Plugin menu.\n"
329
- " For each plugin installed, "
330
- "customization settings will be available as a new entry in YIT Plugin menu."
331
  msgstr ""
332
  "De ahora en adelante, puedes encontrar todas las opciones del plugin en el "
333
  "menú YIT Plugin.\n"
@@ -348,15 +375,27 @@ msgid "Plugins Upgraded"
348
  msgstr "Plugins Actualizados"
349
 
350
  #: lib/yit-pointers.php:85
 
 
 
 
 
 
 
 
 
 
 
351
  msgid ""
352
- "From now on, you can find all options of your plugins in YIT Plugin menu.\n"
353
- " Any time one of our plugins is updated, "
 
354
  "a new entry will be added to this menu.\n"
355
  " For example, after the update, plugin "
356
  "options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax "
357
  "Search, etc.)\n"
358
  " will be moved from previous location to "
359
- "YIT Plugin tab."
360
  msgstr ""
361
  "De ahora en adelante, puedes encontrar todas las opciones de tus plugins en "
362
  "el menú YIT Plugin.\n"
@@ -368,69 +407,96 @@ msgstr ""
368
  " se moverán de su posición anterior a la "
369
  "pestaña YIT Plugin."
370
 
371
- #: lib/yit-upgrade.php:135
 
 
 
 
 
 
 
 
372
  msgid "There is a new version of %plugin_name% available."
373
  msgstr "Hay una nueva versión de %plugin_name% disponible."
374
 
375
- #: lib/yit-upgrade.php:136
376
  msgid "View version %latest% details."
377
  msgstr "Ver detalles de la %latest% versión"
378
 
379
- #: lib/yit-upgrade.php:137
380
  msgid "Automatic update is unavailable for this plugin,"
381
  msgstr "Las actualizaciones automáticas no están disponibles para este plugin,"
382
 
383
- #: lib/yit-upgrade.php:138
384
  msgid ""
385
  "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
386
  msgstr ""
387
  "por favor, <a href=\"%activate_link%\">activa</a> tu copia de %plugin_name%."
388
 
389
- #: lib/yit-upgrade.php:139
390
  msgid "Update now."
391
  msgstr "Actualiza ahora."
392
 
393
- #: lib/yit-upgrade.php:240
394
- msgid "YIThemes Repository"
 
 
395
  msgstr "Repositorio YIThemes"
396
 
397
- #: lib/yit-upgrade.php:274
398
  msgid "Invalid URL Provided."
399
  msgstr "La URL proporcionada no es válida."
400
 
401
- #: lib/yit-upgrade.php:287
402
  msgid "Could not create Temporary file."
403
  msgstr "No se pudo crear un archivo temporal."
404
 
405
- #: lib/yit-upgrade.php:439
406
- #, php-format
 
 
 
 
407
  msgid ""
408
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
409
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a>."
 
410
  msgstr ""
411
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
412
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>."
413
 
414
- #: lib/yit-upgrade.php:441
415
- #, php-format
 
 
 
 
 
416
  msgid ""
417
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
418
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>You "
419
- "have to activate the plugin on a single site of the network to benefit from "
420
- "automatic updates.</em>"
421
  msgstr ""
422
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
423
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. "
424
  "<em>Tienes que activar el plugin en un único sitio web desdela red para "
425
  "beneficiarte de las actualizaciones automáticas.</em>"
426
 
427
- #: lib/yit-upgrade.php:443
428
- #, php-format
 
 
 
 
 
 
429
  msgid ""
430
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
431
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a>. "
432
- "<em>Automatic update is unavailable for this plugin, please <a href=\"%5$s\" "
433
- "title=\"License activation\">activate</a> your copy of %6s.</em>"
 
434
  msgstr ""
435
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
436
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. "
@@ -438,117 +504,119 @@ msgstr ""
438
  "por favor <a href=\"%5$s\" title=\"License activation\">activa</a> tu copia "
439
  "de %6s.</em>"
440
 
441
- #: lib/yit-upgrade.php:445
442
- #, php-format
 
 
 
 
443
  msgid ""
444
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
445
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a> or <a "
446
- "href=\"%5$s\">update now</a>."
447
  msgstr ""
448
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
449
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a> o "
450
  "<a href=\"%5$s\">actualizar ahora</a>."
451
 
452
- #: lib/yit-upgrade.php:517
453
  msgid "You can't update the plugins for this site."
454
  msgstr "No puedes actualizar los plugins para este sitio web."
455
 
456
- #: lib/yit-upgrade.php:521
457
  msgid ""
458
  "You do not have sufficient permissions to update the plugins for this site."
459
  msgstr ""
460
  "No tienes suficientes permisos para actualizar los plugins para este sitio "
461
  "web."
462
 
463
- #: lib/yit-upgrade.php:528
464
  msgid "Update Plugin"
465
  msgstr "Actualizar Plugin"
466
 
467
- #: licence/lib/yit-licence.php:182
468
  #, php-format
469
  msgctxt "%s = field name"
470
  msgid "%s field cannot be empty"
471
  msgstr "%s el campo no puede estar vacío"
472
 
473
- #: licence/lib/yit-licence.php:183
474
  #, php-format
475
  msgid "%s and %s fields cannot be empty"
476
  msgstr "Los campos %s y %s no pueden estar vacíos"
477
 
478
- #: licence/lib/yit-licence.php:184
479
  msgid "Unable to contact the remote server, please try again later. Thanks!"
480
  msgstr ""
481
  "No fue posible contactar con el servidor remoto, por favor, inténtalo de "
482
  "nuevo más tarde. ¡Gracias!"
483
 
484
- #: licence/lib/yit-licence.php:185
485
  #: licence/templates/panel/activation/activation-panel.php:88
486
  #: licence/templates/panel/activation/activation-panel.php:166
487
  #: licence/templates/panel/activation/activation-panel.php:197
488
- #: templates/metaboxes/types/contactform.php:148
489
- #: templates/metaboxes/types/contactform.php:340
490
  msgid "Email"
491
  msgstr "Email"
492
 
493
- #: licence/lib/yit-licence.php:186
494
  #: licence/templates/panel/activation/activation-panel.php:89
495
  #: licence/templates/panel/activation/activation-panel.php:167
496
  #: licence/templates/panel/activation/activation-panel.php:198
497
  msgid "License Key"
498
  msgstr "Clave de Licencia"
499
 
500
- #: licence/lib/yit-licence.php:187
501
  msgid "Are you sure you want to deactivate the license for current site?"
502
  msgstr ""
503
  "¿Estás seguro/a de que quieres desactivar la licencia para el sitio web "
504
  "actual?"
505
 
506
- #: licence/lib/yit-licence.php:667
507
  msgid "Invalid Request"
508
  msgstr "Solicitud inválida"
509
 
510
- #: licence/lib/yit-licence.php:668
511
  msgid "Invalid license key"
512
  msgstr "Clave de solicitud inválida"
513
 
514
- #: licence/lib/yit-licence.php:669
515
  msgid "Software has been deactivated"
516
  msgstr "El software ha sido desactivado"
517
 
518
- #: licence/lib/yit-licence.php:670
519
  msgid "Maximum number of activations exceeded"
520
  msgstr "Se ha excedido el número máximo de solicitudes"
521
 
522
- #: licence/lib/yit-licence.php:671
523
  msgid "Invalid instance ID"
524
  msgstr "Instancia ID inválida"
525
 
526
- #: licence/lib/yit-licence.php:672
527
  msgid "Invalid security key"
528
  msgstr "Clave de seguridad inválida"
529
 
530
- #: licence/lib/yit-licence.php:673
531
  msgid "License key has expired"
532
  msgstr "La clave de licencia ha caducado"
533
 
534
- #: licence/lib/yit-licence.php:674
535
  msgid "License key has been banned"
536
  msgstr "La clave de licencia ha sido bloqueada"
537
 
538
- #: licence/lib/yit-licence.php:675
539
  msgid "Current product is not included in your YITH Club Subscription key"
540
  msgstr ""
541
  "Producto actual no está incluido en la clave de suscripción de Club de YITH"
542
 
543
- #: licence/lib/yit-licence.php:676
544
  msgid "Great"
545
  msgstr "Excelente"
546
 
547
- #: licence/lib/yit-licence.php:676
548
  msgid "License successfully activated"
549
  msgstr "Licencia activada con éxito"
550
 
551
- #: licence/lib/yit-licence.php:677
552
  msgid "License key deactivated for website"
553
  msgstr "Clave de licencia desactivada para nuestro sitio web"
554
 
@@ -572,6 +640,18 @@ msgstr ""
572
  "tiempo. ¿Dónde la puedo encontrar?"
573
 
574
  #: licence/lib/yit-theme-licence.php:163
 
 
 
 
 
 
 
 
 
 
 
 
575
  msgid ""
576
  "If you have purchased one of our products before 27 January 2015, you can "
577
  "benefit from support and updates (the services offered with the license)\n"
@@ -581,7 +661,7 @@ msgid ""
581
  " After 27 January 2016, instead, if you want to benefit "
582
  "from support and updates you have to buy a new license and activate it "
583
  "through the license key you will be\n"
584
- " provided with and that you can find in your YIThemes "
585
  "account, in section \"My licenses\"."
586
  msgstr ""
587
  "Si has comprado uno de nuestros productos antes del 27 de enero de 2015, "
@@ -597,8 +677,10 @@ msgstr ""
597
  "YIThemes, en la sección \"My licenses\"."
598
 
599
  #: licence/templates/panel/activation/activation-panel.php:23
600
- msgid "Yithemes License Activation"
601
- msgstr "Licencia de Activación Yithemes"
 
 
602
 
603
  #: licence/templates/panel/activation/activation-panel.php:27
604
  msgid ""
@@ -677,399 +759,362 @@ msgstr "Comprar de nuevo"
677
  msgid "Renew license"
678
  msgstr "Renovar licencia"
679
 
680
- #: templates/metaboxes/types/ajax-products.php:23
681
- msgid "Search for a product"
 
 
 
 
 
 
 
 
682
  msgstr "Buscar un producto"
683
 
684
- #: templates/metaboxes/types/categories.php:36
685
- msgid "No categories."
686
- msgstr "Ninguna categoría."
687
 
688
- #: templates/metaboxes/types/categories.php:42
689
- msgid "+ Add New Category"
690
- msgstr "+ Añadir Nueva Categoría"
691
 
692
- #: templates/metaboxes/types/categories.php:46
693
- msgid "Add"
694
- msgstr "Añadir"
695
 
696
- #: templates/metaboxes/types/contactform.php:7
697
- msgid "Text Input"
698
- msgstr "Text Input"
699
 
700
- #: templates/metaboxes/types/contactform.php:8
701
- msgid "Checkbox"
702
- msgstr "Casilla"
703
 
704
- #: templates/metaboxes/types/contactform.php:9
705
- msgid "Select"
706
- msgstr "Seleciona"
707
 
708
- #: templates/metaboxes/types/contactform.php:10
709
- msgid "Textarea"
710
- msgstr "Área de texto"
711
 
712
- #: templates/metaboxes/types/contactform.php:11
713
- msgid "Radio Input"
714
- msgstr "Radio Input"
 
 
715
 
716
- #: templates/metaboxes/types/contactform.php:12
717
- msgid "Password Field"
718
- msgstr "Campo de contraseña"
719
 
720
- #: templates/metaboxes/types/contactform.php:13
721
- msgid "File Upload"
722
- msgstr "Carga de archivo"
 
 
 
 
 
 
 
 
723
 
724
- #: templates/metaboxes/types/contactform.php:47
725
- msgid "Theme Icon"
726
- msgstr "Icono del tema"
727
 
728
- #: templates/metaboxes/types/contactform.php:48
729
- msgid "Custom Icon"
730
- msgstr "Icono Personalizado"
 
 
731
 
732
- #: templates/metaboxes/types/contactform.php:49
733
- #: templates/metaboxes/types/responsivesliders.php:24
734
- msgid "None"
735
- msgstr "Ninguno"
736
 
737
- #: templates/metaboxes/types/contactform.php:60
738
- msgid "Add field"
739
- msgstr "Añadir campo"
740
 
741
- #: templates/metaboxes/types/contactform.php:69
742
- #: templates/metaboxes/types/contactform.php:261
743
- #: templates/metaboxes/types/customtabs.php:37
744
- #: templates/metaboxes/types/customtabs.php:82
745
- msgid "Remove"
746
- msgstr "Borrar"
747
 
748
- #: templates/metaboxes/types/contactform.php:70
749
- #: templates/metaboxes/types/contactform.php:262
750
- msgid "Click to toggle"
751
- msgstr "Haz click para alternar"
752
 
753
- #: templates/metaboxes/types/contactform.php:77
754
- #: templates/metaboxes/types/contactform.php:269
755
- msgid "Field Title"
756
- msgstr "Campo de título"
757
 
758
- #: templates/metaboxes/types/contactform.php:81
759
- #: templates/metaboxes/types/contactform.php:273
760
- msgid "Insert the title for the field."
761
- msgstr "Inserta el título del campo."
762
 
763
- #: templates/metaboxes/types/contactform.php:86
764
- #: templates/metaboxes/types/contactform.php:278
765
- msgid "Data Name"
766
- msgstr "Nombre del dato."
767
 
768
- #: templates/metaboxes/types/contactform.php:90
769
- #: templates/metaboxes/types/contactform.php:282
770
- msgid ""
771
- "REQUIRED: Field identification name to be entered into email body. "
772
- "<strong>Note:</strong>Use only lowercase characters and underscores."
773
- msgstr ""
774
- "OBLIGATORIO: El nombre del campo de identificación debe introducirse en el "
775
- "cuerpo del email. <strong> Nota: </strong> Usa sólo minúsculas y guiones "
776
- "bajos."
777
-
778
- #: templates/metaboxes/types/contactform.php:95
779
- #: templates/metaboxes/types/contactform.php:287
780
- msgid "Field Type"
781
- msgstr "Tipo de campo"
782
-
783
- #: templates/metaboxes/types/contactform.php:103
784
- #: templates/metaboxes/types/contactform.php:295
785
- msgid "Select the type for this field."
786
- msgstr "Selecciona el tipo para este campo."
787
-
788
- #: templates/metaboxes/types/contactform.php:108
789
- #: templates/metaboxes/types/contactform.php:300
790
- msgid "Checked"
791
- msgstr "Campo seleccionado"
792
-
793
- #: templates/metaboxes/types/contactform.php:112
794
- #: templates/metaboxes/types/contactform.php:304
795
- msgid "Select this option if you want this field appears as already checked."
796
- msgstr ""
797
- "Selecciona esta opción si quieres que este campo aparezca como ya marcado."
798
-
799
- #: templates/metaboxes/types/contactform.php:117
800
- #: templates/metaboxes/types/contactform.php:309
801
- msgid "Add options "
802
- msgstr "Añadir opciones"
803
-
804
- #: templates/metaboxes/types/contactform.php:118
805
- #: templates/metaboxes/types/contactform.php:310
806
- msgid "Add option"
807
- msgstr "Añadir opción"
808
-
809
- #: templates/metaboxes/types/contactform.php:121
810
- #: templates/metaboxes/types/contactform.php:313
811
- #: templates/metaboxes/types/contactform.php:436
812
- msgid "Selected"
813
- msgstr "Selecionado"
814
-
815
- #: templates/metaboxes/types/contactform.php:124
816
- #: templates/metaboxes/types/contactform.php:316
817
- #: templates/metaboxes/types/contactform.php:436
818
- msgid "Delete option"
819
- msgstr "Borrar opción"
820
-
821
- #: templates/metaboxes/types/contactform.php:130
822
- #: templates/metaboxes/types/contactform.php:322
823
- msgid "Error Message"
824
- msgstr "Mensaje de error"
825
-
826
- #: templates/metaboxes/types/contactform.php:134
827
- #: templates/metaboxes/types/contactform.php:326
828
- msgid "Insert the error message for validation."
829
- msgstr "Inserta el mensaje de error para la validación."
830
-
831
- #: templates/metaboxes/types/contactform.php:139
832
- #: templates/metaboxes/types/contactform.php:331
833
- msgid "Required"
834
- msgstr "Campo obligatorio"
835
-
836
- #: templates/metaboxes/types/contactform.php:143
837
- #: templates/metaboxes/types/contactform.php:335
838
- msgid "Select this option if it must be required."
839
- msgstr "Selecciona esta opción si este campo debe ser obligatorio."
840
-
841
- #: templates/metaboxes/types/contactform.php:152
842
- #: templates/metaboxes/types/contactform.php:344
843
- msgid "Select this option if the email must be valid."
844
- msgstr "Selecciona esta opción si el email debe ser válido."
845
-
846
- #: templates/metaboxes/types/contactform.php:157
847
- #: templates/metaboxes/types/contactform.php:349
848
- msgid "Reply To"
849
- msgstr "Responder a"
850
-
851
- #: templates/metaboxes/types/contactform.php:161
852
- #: templates/metaboxes/types/contactform.php:353
853
- msgid "Select this if it is the email you can reply to."
854
- msgstr "Selecciona si este es el email al que puedes responder."
855
-
856
- #: templates/metaboxes/types/contactform.php:166
857
- #: templates/metaboxes/types/contactform.php:358
858
- msgid "Class"
859
- msgstr "Clase"
860
-
861
- #: templates/metaboxes/types/contactform.php:170
862
- #: templates/metaboxes/types/contactform.php:362
863
- msgid ""
864
- "Insert additional class(es) (separated by commas) for more personalization."
865
- msgstr ""
866
- "Inserta clase(s) adicionales (separados por comas) para más personalización."
867
-
868
- #: templates/metaboxes/types/contactform.php:175
869
- #: templates/metaboxes/types/contactform.php:367
870
- msgid "Icon"
871
- msgstr "Icono"
872
-
873
- #: templates/metaboxes/types/contactform.php:203
874
- #: templates/metaboxes/types/contactform.php:391
875
- #: templates/metaboxes/types/icon-list.php:69
876
- #: templates/metaboxes/types/select-icon.php:33
877
- #: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
878
  #: templates/panel/woocommerce/woocommerce-upload.php:40
879
  msgid "Upload"
880
  msgstr "Actualiza"
881
 
882
- #: templates/metaboxes/types/contactform.php:209
883
- #: templates/metaboxes/types/contactform.php:397
884
- #: templates/metaboxes/types/icon-list.php:75
885
- #: templates/metaboxes/types/select-icon.php:39
 
886
  msgid "Image preview"
887
  msgstr "Previsualización de imagen"
888
 
889
- #: templates/metaboxes/types/contactform.php:217
890
- #: templates/metaboxes/types/contactform.php:405
891
- msgid "Insert an icon for more personalization."
892
- msgstr "Inserta un icono para más personalización"
893
 
894
- #: templates/metaboxes/types/contactform.php:222
895
- #: templates/metaboxes/types/contactform.php:409
896
- msgid "Width"
897
- msgstr "Ancho"
898
 
899
- #: templates/metaboxes/types/contactform.php:247
900
- #: templates/metaboxes/types/contactform.php:421
901
- msgid "Set field length."
902
- msgstr "Establecer el ancho de campo"
903
 
904
- #: templates/metaboxes/types/customtabs.php:28
905
- msgid "Close all"
906
- msgstr "Cerrar todos"
 
907
 
908
- #: templates/metaboxes/types/customtabs.php:28
909
- msgid "Expand all"
910
- msgstr "Expandir todos"
 
911
 
912
- #: templates/metaboxes/types/customtabs.php:52
913
- #: templates/metaboxes/types/customtabs.php:95
914
- msgid "Value"
915
- msgstr "Valor"
916
 
917
- #: templates/metaboxes/types/customtabs.php:53
918
- #: templates/metaboxes/types/customtabs.php:96
919
- msgid "Content of the tab. (HTML is supported)"
920
- msgstr "Contenido de la pestaña. (HTML se soporta)"
 
 
 
 
 
 
 
 
 
921
 
922
- #: templates/metaboxes/types/customtabs.php:65
923
- msgid "Add custom product tab"
924
- msgstr "Añadir etiqueta de producto personalizado"
 
 
925
 
926
- #: templates/metaboxes/types/customtabs.php:107
927
- msgid "Do you want to remove the custom tab?"
928
- msgstr "¿Quieres borrar la etiqueta personalizada?"
929
 
930
- #: templates/metaboxes/types/icon-list.php:89
931
- #, php-format
932
- msgid "(Default: %s <img src=\"%s\"/>)"
933
- msgstr "(Por defecto: %s <img src=\"%s\"/>)"
934
 
935
- #: templates/metaboxes/types/icon-list.php:91
936
- #, php-format
937
- msgid "(Default: <i %s></i> )"
938
- msgstr "(Por defecto: <i %s></i> )"
 
 
939
 
940
- #: templates/metaboxes/types/image-gallery.php:40
941
- #: templates/metaboxes/types/image-gallery.php:45
942
- #: templates/metaboxes/types/images.php:38
943
- #: templates/metaboxes/types/images.php:64
944
- msgid "Delete image"
945
- msgstr "Borrar imagen"
946
 
947
- #: templates/metaboxes/types/image-gallery.php:45
948
- msgid "Add Images to Gallery"
949
- msgstr "Añadir imágenes a la Galería"
950
 
951
- #: templates/metaboxes/types/image-gallery.php:45
952
- msgid "Add to gallery"
953
- msgstr "Añadir a la galería"
954
 
955
- #: templates/metaboxes/types/image-gallery.php:45
956
- msgid "Add images"
957
- msgstr "Añadir imágenes"
958
 
959
- #: templates/metaboxes/types/image-gallery.php:45
960
- msgid "Delete"
961
- msgstr "Borrar"
962
 
963
- #: templates/metaboxes/types/images.php:42
964
- msgid "Upload new images"
965
- msgstr "Cargar nuevas imágenes"
966
 
967
- #: templates/metaboxes/types/images.php:75
968
- msgid "Are you sure you want to remove this image?"
969
- msgstr "¿Estás seguro/a de que quieres borrar esta imagen?"
970
 
971
- #: templates/metaboxes/types/sidebar-layout.php:25
972
- #: templates/metaboxes/types/sidebars.php:36
973
- msgid "Left sidebar"
974
- msgstr "Barra lateral izquierda"
975
 
976
- #: templates/metaboxes/types/sidebar-layout.php:28
977
- #: templates/metaboxes/types/sidebars.php:42
978
- #: templates/metaboxes/types/sidebars.php:45
979
- msgid "No sidebar"
980
- msgstr "Sin barra lateral"
981
 
982
- #: templates/metaboxes/types/sidebar-layout.php:31
983
- #: templates/metaboxes/types/sidebars.php:39
984
- msgid "Right sidebar"
985
- msgstr "Barra lateral derecha"
986
 
987
- #: templates/metaboxes/types/sidebar-layout.php:34
988
- #: templates/metaboxes/types/sidebars.php:53
989
- #: templates/metaboxes/types/sidebars.php:64
990
- msgid "Choose a sidebar"
991
- msgstr "Elige una barra lateral"
992
 
993
- #: templates/metaboxes/types/sidebars.php:51
994
- msgid "Left Sidebar"
995
- msgstr "Barra lateral izquierda"
996
 
997
- #: templates/metaboxes/types/sidebars.php:62
998
- msgid "Right Sidebar"
999
- msgstr "Barra lateral derecha"
 
 
 
 
 
 
 
 
 
 
 
1000
 
1001
- #: templates/metaboxes/types/typography.php:42
1002
- msgid "px"
1003
- msgstr "px"
1004
 
1005
- #: templates/metaboxes/types/typography.php:43
1006
- msgid "em"
1007
- msgstr "em"
 
 
 
 
1008
 
1009
- #: templates/metaboxes/types/typography.php:44
1010
- msgid "pt"
1011
- msgstr "pt"
1012
 
1013
- #: templates/metaboxes/types/typography.php:45
1014
- msgid "rem"
1015
- msgstr "rem"
1016
 
1017
- #: templates/metaboxes/types/typography.php:59
1018
- #: templates/metaboxes/types/typography.php:153
1019
- #: templates/metaboxes/types/typography.php:217
1020
- msgid "Web fonts"
1021
- msgstr "Fuentes web"
1022
 
1023
- #: templates/metaboxes/types/typography.php:71
1024
- msgid "Google fonts"
1025
- msgstr "Fuentes Google"
 
1026
 
1027
- #: templates/metaboxes/types/typography.php:96
1028
- msgid "Regular"
1029
- msgstr "Normal"
1030
 
1031
- #: templates/metaboxes/types/typography.php:97
1032
- msgid "Bold"
1033
- msgstr "Negrita"
1034
 
1035
- #: templates/metaboxes/types/typography.php:98
1036
- msgid "Extra bold"
1037
- msgstr "Extra negrita"
1038
 
1039
- #: templates/metaboxes/types/typography.php:99
1040
- msgid "Italic"
1041
- msgstr "Cursiva"
1042
 
1043
- #: templates/metaboxes/types/typography.php:100
1044
- msgid "Italic bold"
1045
- msgstr "Cursiva negrita"
1046
 
1047
- #: templates/panel/sidebar/widgets/widgets.php:17
1048
- msgid "Join the club"
1049
- msgstr "Únete al club"
1050
 
1051
- #: templates/panel/sidebar/widgets/widgets.php:24
1052
- msgid "Despacho Theme - 100% FREE"
1053
- msgstr "Despacho Theme - 100% GRATIS"
1054
 
1055
- #: templates/panel/sidebar/widgets/widgets.php:28
1056
- msgid "FREE!"
1057
- msgstr "¡GRATIS!"
1058
 
1059
- #: templates/panel/sidebar/widgets/widgets.php:34
1060
- msgid "Important Links"
1061
- msgstr "Enlaces importantes"
1062
 
1063
- #: templates/panel/types/upload.php:32
1064
- msgid "Reset"
1065
- msgstr "Reinicia"
1066
 
1067
- #: templates/panel/woocommerce/woocommerce-form.php:17
1068
- msgid "Reset Defaults"
1069
- msgstr "Ajustes predeterminados"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1070
 
1071
- #~ msgid "Premium version upgrade"
1072
- #~ msgstr "Actualiza a la versión premium"
1073
 
1074
  #~ msgid "Current product is not included with your membership key"
1075
  #~ msgstr "El producto actual no está incluido en tu clave de suscripción"
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"
22
  "X-Textdomain-Support: yes\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
 
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"
32
+ msgid ""
33
+ "This sample language includes the basics around what personal data your "
34
+ "store may be collecting, storing and sharing, as well as who may have access "
35
+ "to that data. Depending on what settings are enabled and which additional "
36
+ "plugins are used, the specific information shared by your store will vary. "
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
63
  #, php-format
117
  msgid "Category"
118
  msgstr "Categoría"
119
 
120
+ #: lib/yit-cpt-unlimited.php:627 templates/fields/ajax-terms.php:56
121
  msgid "Search Categories"
122
  msgstr "Buscar Categorías"
123
 
163
  msgstr "%s Ajustes"
164
 
165
  #: lib/yit-cpt-unlimited.php:1048 lib/yit-cpt-unlimited.php:1196
166
+ #: lib/yit-cpt-unlimited.php:1202 lib/yit-plugin-panel.php:73
167
  msgid "Settings"
168
  msgstr "Ajustes"
169
 
250
  msgid "Show frontend of the %s"
251
  msgstr "Mostrar parte delantera de %s"
252
 
253
+ #: lib/yit-cpt-unlimited.php:1482 templates/fields/customtabs.php:46
254
+ #: templates/fields/customtabs.php:89
255
  msgid "Name"
256
  msgstr "Nombre"
257
 
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"
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"
392
+ " Every time one of our plugins is added, "
393
  "a new entry will be added to this menu.\n"
394
  " For example, after the update, plugin "
395
  "options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax "
396
  "Search, etc.)\n"
397
  " will be moved from previous location to "
398
+ "YITH Plugins tab."
399
  msgstr ""
400
  "De ahora en adelante, puedes encontrar todas las opciones de tus plugins en "
401
  "el menú YIT Plugin.\n"
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 "
463
+ "%4$s details</a>."
464
  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 "
478
+ "%4$s details</a>. <em>You have to activate the plugin on a single site of "
479
+ "the network to benefit from automatic updates.</em>"
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 "
497
+ "%4$s details</a>. <em>Automatic update is unavailable for this plugin, "
498
+ "please <a href=\"%5$s\" title=\"License activation\">activate</a> your copy "
499
+ "of %6s.</em>"
500
  msgstr ""
501
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
502
  "yit-changelog-button\" title=\"%3$s\">Ver detalles de la versión %4$s</a>. "
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 "
516
+ "%4$s details</a> or <a href=\"%5$s\">update now</a>."
517
  msgstr ""
518
  "Hay una nueva versión de %1$s disponible. <a href=\"%2$s\" class=\"thickbox "
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
 
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"
661
  " After 27 January 2016, instead, if you want to benefit "
662
  "from support and updates you have to buy a new license and activate it "
663
  "through the license key you will be\n"
664
+ " provided with and that you can find in your YITH "
665
  "account, in section \"My licenses\"."
666
  msgstr ""
667
  "Si has comprado uno de nuestros productos antes del 27 de enero de 2015, "
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 ""
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"
784
+ msgstr "Borrar"
785
 
786
+ #: templates/fields/customtabs.php:52 templates/fields/customtabs.php:94
787
+ msgid "Value"
788
+ 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"
796
+ msgstr "Añadir etiqueta de producto personalizado"
797
 
798
+ #: templates/fields/customtabs.php:106
799
+ 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"
810
+ 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"
818
+ msgstr "Añadir a la galería"
819
+
820
+ #: templates/fields/image-gallery.php:39
821
+ msgid "Add images"
822
+ msgstr "Añadir imágenes"
823
 
824
+ #: templates/fields/image-gallery.php:39
825
+ 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"
840
+ msgstr "Barra lateral izquierda"
841
 
842
+ #: templates/fields/sidebars.php:25
843
+ msgid "Right sidebar"
844
+ msgstr "Barra lateral derecha"
 
 
 
845
 
846
+ #: templates/fields/sidebars.php:28 templates/fields/sidebars.php:31
847
+ msgid "No sidebar"
848
+ msgstr "Sin barra lateral"
 
849
 
850
+ #: templates/fields/sidebars.php:39
851
+ msgid "Left Sidebar"
852
+ msgstr "Barra lateral izquierda"
 
853
 
854
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:54
855
+ msgid "Choose a sidebar"
856
+ msgstr "Elige una barra lateral"
 
857
 
858
+ #: templates/fields/sidebars.php:52
859
+ msgid "Right Sidebar"
860
+ msgstr "Barra lateral derecha"
 
861
 
862
+ #: templates/fields/upload.php:18 templates/metaboxes/types/icon-list.php:70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
863
  #: templates/panel/woocommerce/woocommerce-upload.php:40
864
  msgid "Upload"
865
  msgstr "Actualiza"
866
 
867
+ #: templates/fields/upload.php:19
868
+ msgid "Reset"
869
+ msgstr "Reinicia"
870
+
871
+ #: templates/metaboxes/types/icon-list.php:76
872
  msgid "Image preview"
873
  msgstr "Previsualización de imagen"
874
 
875
+ #: templates/metaboxes/types/icon-list.php:90
876
+ #, php-format
877
+ msgid "(Default: %s <img src=\"%s\"/>)"
878
+ msgstr "(Por defecto: %s <img src=\"%s\"/>)"
879
 
880
+ #: templates/metaboxes/types/icon-list.php:92
881
+ #, php-format
882
+ msgid "(Default: <i %s></i> )"
883
+ msgstr "(Por defecto: <i %s></i> )"
884
 
885
+ #: templates/panel/woocommerce/woocommerce-form.php:17
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"
 
926
 
927
+ #~ msgid "Show sidebar"
928
+ #~ msgstr "Mostrar barra lateral"
 
 
929
 
930
+ #~ msgid ""
931
+ #~ "If you continue with this action, you will reset all the options in this "
932
+ #~ "page."
933
+ #~ msgstr ""
934
+ #~ "Si continúas con esta acción, reiniciarás todas las opciones de esta "
935
+ #~ "página."
936
 
937
+ #~ msgid "Yithemes License Activation"
938
+ #~ msgstr "Licencia de Activación Yithemes"
 
 
 
 
939
 
940
+ #~ msgid "No categories."
941
+ #~ msgstr "Ninguna categoría."
 
942
 
943
+ #~ msgid "+ Add New Category"
944
+ #~ msgstr "+ Añadir Nueva Categoría"
 
945
 
946
+ #~ msgid "Add"
947
+ #~ msgstr "Añadir"
 
948
 
949
+ #~ msgid "Text Input"
950
+ #~ msgstr "Text Input"
 
951
 
952
+ #~ msgid "Checkbox"
953
+ #~ msgstr "Casilla"
 
954
 
955
+ #~ msgid "Textarea"
956
+ #~ msgstr "Área de texto"
 
957
 
958
+ #~ msgid "Radio Input"
959
+ #~ msgstr "Radio Input"
 
 
960
 
961
+ #~ msgid "Password Field"
962
+ #~ msgstr "Campo de contraseña"
 
 
 
963
 
964
+ #~ msgid "File Upload"
965
+ #~ msgstr "Carga de archivo"
 
 
966
 
967
+ #~ msgid "Theme Icon"
968
+ #~ msgstr "Icono del tema"
 
 
 
969
 
970
+ #~ msgid "Custom Icon"
971
+ #~ msgstr "Icono Personalizado"
 
972
 
973
+ #~ msgid "None"
974
+ #~ msgstr "Ninguno"
975
+
976
+ #~ msgid "Add field"
977
+ #~ msgstr "Añadir campo"
978
+
979
+ #~ msgid "Click to toggle"
980
+ #~ msgstr "Haz click para alternar"
981
+
982
+ #~ msgid "Field Title"
983
+ #~ msgstr "Campo de título"
984
+
985
+ #~ msgid "Insert the title for the field."
986
+ #~ msgstr "Inserta el título del campo."
987
 
988
+ #~ msgid "Data Name"
989
+ #~ msgstr "Nombre del dato."
 
990
 
991
+ #~ msgid ""
992
+ #~ "REQUIRED: Field identification name to be entered into email body. "
993
+ #~ "<strong>Note:</strong>Use only lowercase characters and underscores."
994
+ #~ msgstr ""
995
+ #~ "OBLIGATORIO: El nombre del campo de identificación debe introducirse en "
996
+ #~ "el cuerpo del email. <strong> Nota: </strong> Usa sólo minúsculas y "
997
+ #~ "guiones bajos."
998
 
999
+ #~ msgid "Field Type"
1000
+ #~ msgstr "Tipo de campo"
 
1001
 
1002
+ #~ msgid "Select the type for this field."
1003
+ #~ msgstr "Selecciona el tipo para este campo."
 
1004
 
1005
+ #~ msgid "Checked"
1006
+ #~ msgstr "Campo seleccionado"
 
 
 
1007
 
1008
+ #~ msgid ""
1009
+ #~ "Select this option if you want this field appears as already checked."
1010
+ #~ msgstr ""
1011
+ #~ "Selecciona esta opción si quieres que este campo aparezca como ya marcado."
1012
 
1013
+ #~ msgid "Add options "
1014
+ #~ msgstr "Añadir opciones"
 
1015
 
1016
+ #~ msgid "Add option"
1017
+ #~ msgstr "Añadir opción"
 
1018
 
1019
+ #~ msgid "Selected"
1020
+ #~ msgstr "Selecionado"
 
1021
 
1022
+ #~ msgid "Delete option"
1023
+ #~ msgstr "Borrar opción"
 
1024
 
1025
+ #~ msgid "Error Message"
1026
+ #~ msgstr "Mensaje de error"
 
1027
 
1028
+ #~ msgid "Insert the error message for validation."
1029
+ #~ msgstr "Inserta el mensaje de error para la validación."
 
1030
 
1031
+ #~ msgid "Required"
1032
+ #~ msgstr "Campo obligatorio"
 
1033
 
1034
+ #~ msgid "Select this option if it must be required."
1035
+ #~ msgstr "Selecciona esta opción si este campo debe ser obligatorio."
 
1036
 
1037
+ #~ msgid "Select this option if the email must be valid."
1038
+ #~ msgstr "Selecciona esta opción si el email debe ser válido."
 
1039
 
1040
+ #~ msgid "Reply To"
1041
+ #~ msgstr "Responder a"
 
1042
 
1043
+ #~ msgid "Select this if it is the email you can reply to."
1044
+ #~ msgstr "Selecciona si este es el email al que puedes responder."
1045
+
1046
+ #~ msgid "Class"
1047
+ #~ msgstr "Clase"
1048
+
1049
+ #~ msgid ""
1050
+ #~ "Insert additional class(es) (separated by commas) for more "
1051
+ #~ "personalization."
1052
+ #~ msgstr ""
1053
+ #~ "Inserta clase(s) adicionales (separados por comas) para más "
1054
+ #~ "personalización."
1055
+
1056
+ #~ msgid "Icon"
1057
+ #~ msgstr "Icono"
1058
+
1059
+ #~ msgid "Insert an icon for more personalization."
1060
+ #~ msgstr "Inserta un icono para más personalización"
1061
+
1062
+ #~ msgid "Width"
1063
+ #~ msgstr "Ancho"
1064
+
1065
+ #~ msgid "Set field length."
1066
+ #~ msgstr "Establecer el ancho de campo"
1067
+
1068
+ #~ msgid "Upload new images"
1069
+ #~ msgstr "Cargar nuevas imágenes"
1070
+
1071
+ #~ msgid "Are you sure you want to remove this image?"
1072
+ #~ msgstr "¿Estás seguro/a de que quieres borrar esta imagen?"
1073
+
1074
+ #~ msgid "px"
1075
+ #~ msgstr "px"
1076
+
1077
+ #~ msgid "em"
1078
+ #~ msgstr "em"
1079
+
1080
+ #~ msgid "pt"
1081
+ #~ msgstr "pt"
1082
+
1083
+ #~ msgid "rem"
1084
+ #~ msgstr "rem"
1085
+
1086
+ #~ msgid "Web fonts"
1087
+ #~ msgstr "Fuentes web"
1088
+
1089
+ #~ msgid "Google fonts"
1090
+ #~ msgstr "Fuentes Google"
1091
+
1092
+ #~ msgid "Regular"
1093
+ #~ msgstr "Normal"
1094
+
1095
+ #~ msgid "Bold"
1096
+ #~ msgstr "Negrita"
1097
+
1098
+ #~ msgid "Extra bold"
1099
+ #~ msgstr "Extra negrita"
1100
+
1101
+ #~ msgid "Italic"
1102
+ #~ msgstr "Cursiva"
1103
+
1104
+ #~ msgid "Italic bold"
1105
+ #~ msgstr "Cursiva negrita"
1106
+
1107
+ #~ msgid "Join the club"
1108
+ #~ msgstr "Únete al club"
1109
+
1110
+ #~ msgid "Despacho Theme - 100% FREE"
1111
+ #~ msgstr "Despacho Theme - 100% GRATIS"
1112
+
1113
+ #~ msgid "FREE!"
1114
+ #~ msgstr "¡GRATIS!"
1115
 
1116
+ #~ msgid "Important Links"
1117
+ #~ msgstr "Enlaces importantes"
1118
 
1119
  #~ msgid "Current product is not included with your membership key"
1120
  #~ msgstr "El producto actual no está incluido en tu clave de suscripción"
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: 2016-07-06 15:16+0200\n"
8
- "PO-Revision-Date: 2016-07-06 15:17+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 1.8.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"
@@ -22,6 +22,49 @@ msgstr ""
22
  "X-Textdomain-Support: yes\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  #: lib/yit-cpt-unlimited.php:460 lib/yit-cpt-unlimited.php:574
26
  #: lib/yit-cpt-unlimited.php:719 lib/yit-cpt-unlimited.php:1632
27
  #, php-format
@@ -81,7 +124,7 @@ msgctxt "taxonomy singular name"
81
  msgid "Category"
82
  msgstr "Categoria"
83
 
84
- #: lib/yit-cpt-unlimited.php:627
85
  msgid "Search Categories"
86
  msgstr "Cerca categorie"
87
 
@@ -127,7 +170,7 @@ msgid "%s Settings"
127
  msgstr "Impostazioni %s"
128
 
129
  #: lib/yit-cpt-unlimited.php:1048 lib/yit-cpt-unlimited.php:1196
130
- #: lib/yit-cpt-unlimited.php:1202 lib/yit-plugin-panel.php:74
131
  msgid "Settings"
132
  msgstr "Impostazioni"
133
 
@@ -212,8 +255,8 @@ msgstr "Link rapidi"
212
  msgid "Show frontend of the %s"
213
  msgstr "Mostra front end di %s"
214
 
215
- #: lib/yit-cpt-unlimited.php:1482 templates/metaboxes/types/customtabs.php:46
216
- #: templates/metaboxes/types/customtabs.php:90
217
  msgid "Name"
218
  msgstr "Nome"
219
 
@@ -226,32 +269,24 @@ msgstr "Aggiungi %s dalla immagini"
226
  msgid "Upload multiple files"
227
  msgstr "Carica file multipli"
228
 
229
- #: lib/yit-plugin-panel-sidebar.php:421 templates/panel/sidebar/sidebar.php:3
230
- msgid "Hide sidebar"
231
- msgstr "Nascondi barra laterale"
232
-
233
- #: lib/yit-plugin-panel-sidebar.php:422 templates/panel/sidebar/sidebar.php:3
234
- msgid "Show sidebar"
235
- msgstr "Mostra barra laterale"
236
-
237
- #: lib/yit-plugin-panel-wc.php:374
238
  msgid "The changes you have made will be lost if you leave this page."
239
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
240
 
241
- #: lib/yit-plugin-panel.php:73
242
  msgid "Plugin Settings"
243
  msgstr "Impostazioni plugin"
244
 
245
- #: lib/yit-plugin-panel.php:297 lib/yit-plugin-panel.php:300
246
  msgid "How to install premium version"
247
  msgstr "Come installare la versione premium"
248
 
249
- #: lib/yit-plugin-panel.php:352 lib/yit-plugin-subpanel.php:146
250
  #: templates/panel/woocommerce/woocommerce-form.php:11
251
  msgid "Save Changes"
252
  msgstr "Salva modifiche"
253
 
254
- #: lib/yit-plugin-panel.php:355
255
  #: templates/panel/woocommerce/woocommerce-form.php:14
256
  msgid ""
257
  "If you continue with this action, you will reset all options in this page."
@@ -259,78 +294,70 @@ msgstr ""
259
  "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
260
  "reimpostate."
261
 
262
- #: lib/yit-plugin-panel.php:357 lib/yit-plugin-subpanel.php:151
263
  msgid "Reset to default"
264
  msgstr "Ripristina configurazione predefinita"
265
 
266
- #: lib/yit-plugin-panel.php:357 lib/yit-plugin-subpanel.php:151
267
  #: templates/panel/woocommerce/woocommerce-form.php:18
268
  msgid "Are you sure?"
269
  msgstr "Sei sicuro?"
270
 
271
- #: lib/yit-plugin-panel.php:553
272
  msgid ""
273
  "The element you have entered already exists. Please, enter another name."
274
  msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
275
 
276
- #: lib/yit-plugin-panel.php:554
277
  msgid "Settings saved"
278
  msgstr "Impostazioni salvate"
279
 
280
- #: lib/yit-plugin-panel.php:555
281
  msgid "Settings reset"
282
  msgstr "Impostazioni azzerate"
283
 
284
- #: lib/yit-plugin-panel.php:556
285
  msgid "Element deleted correctly."
286
  msgstr "Elemento rimosso correttamente."
287
 
288
- #: lib/yit-plugin-panel.php:557 lib/yit-plugin-panel.php:558
289
  msgid "Element updated correctly."
290
  msgstr "Elemento aggiornato correttamente."
291
 
292
- #: lib/yit-plugin-panel.php:559
293
  msgid "Database imported correctly."
294
  msgstr "Database importato correttamente."
295
 
296
- #: lib/yit-plugin-panel.php:560
297
  msgid "An error has occurred during import. Please try again."
298
  msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
299
 
300
- #: lib/yit-plugin-panel.php:561
301
  msgid "The added file is not valid."
302
  msgstr "Il file aggiunto non è valido."
303
 
304
- #: lib/yit-plugin-panel.php:562
305
  msgid "Sorry, import is disabled."
306
  msgstr "Ci dispiace, l'importazione è disabilitata."
307
 
308
- #: lib/yit-plugin-panel.php:563
309
  msgid "Sorting successful."
310
  msgstr "Ordinamento effettuato con successo."
311
 
312
- #: lib/yit-plugin-subpanel.php:149
313
- msgid ""
314
- "If you continue with this action, you will reset all the options in this "
315
- "page."
316
- msgstr ""
317
- "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
318
- "reimpostate."
319
-
320
  #: lib/yit-pointers.php:70
321
  msgid "Plugins Activated"
322
  msgstr "Plugin attivati"
323
 
324
  #: lib/yit-pointers.php:71
325
  msgid ""
326
- "From now on, you can find all plugin options in YIT Plugin menu.\n"
327
- " For each plugin installed, "
328
- "customization settings will be available as a new entry in YIT Plugin menu."
329
  msgstr ""
330
- "Da ora in poi, puoi trovare tutte le opzioni dei tuoi plugin nel menu Plugin "
331
- "YIT.\n"
332
  "Troverai le impostazioni di personalizzazione sotto una nuova voce nel menu "
333
- "Plugin YIT."
334
 
335
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
336
  msgid "Discover all our plugins available on:"
@@ -346,201 +373,206 @@ msgstr "Plugin aggiornati"
346
 
347
  #: lib/yit-pointers.php:85
348
  msgid ""
349
- "From now on, you can find all options of your plugins in YIT Plugin menu.\n"
350
- " Any time one of our plugins is updated, "
 
351
  "a new entry will be added to this menu.\n"
352
  " For example, after the update, plugin "
353
  "options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax "
354
  "Search, etc.)\n"
355
  " will be moved from previous location to "
356
- "YIT Plugin tab."
357
  msgstr ""
358
- "Da ora in poi, troverai tutte le opzioni dei tuoi plugin nel menu Plugin "
359
- "YIT.\n"
360
  "Ogni volta che aggiornerai i nostri plugin, troverai una nuova voce in "
361
  "questo menu.\n"
362
  "Per esempio, dopo l'aggiornamento, le opzioni del plugin (come per esempio "
363
  "quelle di YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search etc.)\n"
364
- "saranno trasferite nella scheda Plugin YIT."
365
 
366
- #: lib/yit-upgrade.php:135
 
 
 
 
367
  msgid "There is a new version of %plugin_name% available."
368
  msgstr "Una nuova versione di %plugin_name% è disponibile."
369
 
370
- #: lib/yit-upgrade.php:136
371
  msgid "View version %latest% details."
372
  msgstr "Visualizza i dettagli della versione %latest%."
373
 
374
- #: lib/yit-upgrade.php:137
375
  msgid "Automatic update is unavailable for this plugin,"
376
  msgstr "L'aggiornamento automatico non è disponibile per questo plugin,"
377
 
378
- #: lib/yit-upgrade.php:138
379
  msgid ""
380
  "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
381
  msgstr ""
382
  "per favore, <a href=\"%activate_link%\">attiva</a> la tua copia di "
383
  "%plugin_name%."
384
 
385
- #: lib/yit-upgrade.php:139
386
  msgid "Update now."
387
  msgstr "Aggiorna adesso."
388
 
389
- #: lib/yit-upgrade.php:240
390
- msgid "YIThemes Repository"
391
- msgstr "Repository YIThemes"
392
 
393
- #: lib/yit-upgrade.php:274
394
  msgid "Invalid URL Provided."
395
  msgstr "L'URL inserito non è valido."
396
 
397
- #: lib/yit-upgrade.php:287
398
  msgid "Could not create Temporary file."
399
  msgstr "Non è stato possibile creare il file temporaneo."
400
 
401
- #: lib/yit-upgrade.php:439
402
  #, php-format
403
  msgid ""
404
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
405
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a>."
 
406
  msgstr ""
407
  "È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox "
408
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
409
  "%4$s</a>."
410
 
411
- #: lib/yit-upgrade.php:441
412
  #, php-format
413
  msgid ""
414
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
415
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a>. <em>You "
416
- "have to activate the plugin on a single site of the network to benefit from "
417
- "automatic updates.</em>"
418
  msgstr ""
419
- "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox "
420
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
421
  "%4$s</a>. <em>Per poter usufruire degli aggiornamenti automatici è "
422
  "necessario attivare il plugin su un solo sito.</em>"
423
 
424
- #: lib/yit-upgrade.php:443
425
  #, php-format
426
  msgid ""
427
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
428
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a>. "
429
- "<em>Automatic update is unavailable for this plugin, please <a href=\"%5$s\" "
430
- "title=\"License activation\">activate</a> your copy of %6s.</em>"
 
431
  msgstr ""
432
  "È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox "
433
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
434
  "%4$s</a>. <em>Gli aggiornamenti automatici non sono disponibili per questo "
435
- "plugin, per piacere <a href=\"%5$s\" title=\"License activation\">attivi</a> "
436
- "la sua copia di %6s.</em>"
437
 
438
- #: lib/yit-upgrade.php:445
439
  #, php-format
440
  msgid ""
441
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox "
442
- "yit-changelog-button\" title=\"%3$s\">View version %4$s details</a> or <a "
443
- "href=\"%5$s\">update now</a>."
444
  msgstr ""
445
  "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox "
446
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
447
  "%4$s</a> oppure <a href=\"%5$s\">aggiorna adesso</a>."
448
 
449
- #: lib/yit-upgrade.php:517
450
  msgid "You can't update the plugins for this site."
451
  msgstr "Non è possibile aggiornare i plugin per questo sito."
452
 
453
- #: lib/yit-upgrade.php:521
454
  msgid ""
455
  "You do not have sufficient permissions to update the plugins for this site."
456
  msgstr ""
457
  "Non sei in possesso delle autorizzazioni necessarie per aggiornare i plugin "
458
  "in questo sito."
459
 
460
- #: lib/yit-upgrade.php:528
461
  msgid "Update Plugin"
462
  msgstr "Aggiorna plugin"
463
 
464
- #: licence/lib/yit-licence.php:182
465
  #, php-format
466
  msgctxt "%s = field name"
467
  msgid "%s field cannot be empty"
468
  msgstr "Il campo %s non può essere vuoto"
469
 
470
- #: licence/lib/yit-licence.php:183
471
  #, php-format
472
  msgid "%s and %s fields cannot be empty"
473
  msgstr "I campi %s e %s non possono essere vuoti"
474
 
475
- #: licence/lib/yit-licence.php:184
476
  msgid "Unable to contact the remote server, please try again later. Thanks!"
477
  msgstr "Impossibile contattare il server remoto, prova più tardi. Grazie!"
478
 
479
- #: licence/lib/yit-licence.php:185
480
- #: licence/templates/panel/activation/activation-panel.php:88
481
- #: licence/templates/panel/activation/activation-panel.php:166
482
- #: licence/templates/panel/activation/activation-panel.php:197
483
- #: templates/metaboxes/types/contactform.php:148
484
- #: templates/metaboxes/types/contactform.php:340
485
  msgid "Email"
486
  msgstr "Email"
487
 
488
- #: licence/lib/yit-licence.php:186
489
- #: licence/templates/panel/activation/activation-panel.php:89
490
- #: licence/templates/panel/activation/activation-panel.php:167
491
- #: licence/templates/panel/activation/activation-panel.php:198
492
  msgid "License Key"
493
  msgstr "Chiave di licenza"
494
 
495
- #: licence/lib/yit-licence.php:187
496
  msgid "Are you sure you want to deactivate the license for current site?"
497
  msgstr "Sei sicuro di voler disattivare la licenza per questo sito?"
498
 
499
- #: licence/lib/yit-licence.php:667
500
  msgid "Invalid Request"
501
  msgstr "Richiesta non valida"
502
 
503
- #: licence/lib/yit-licence.php:668
504
  msgid "Invalid license key"
505
  msgstr "Chiave di licenza non valida"
506
 
507
- #: licence/lib/yit-licence.php:669
508
  msgid "Software has been deactivated"
509
  msgstr "Il software è stato disattivato"
510
 
511
- #: licence/lib/yit-licence.php:670
512
  msgid "Maximum number of activations exceeded"
513
  msgstr "Hai raggiunto il numero massimo di attivazioni"
514
 
515
- #: licence/lib/yit-licence.php:671
516
  msgid "Invalid instance ID"
517
  msgstr "Istanza ID non valida"
518
 
519
- #: licence/lib/yit-licence.php:672
520
  msgid "Invalid security key"
521
  msgstr "Chiave di sicurezza non valida"
522
 
523
- #: licence/lib/yit-licence.php:673
524
  msgid "License key has expired"
525
  msgstr "La chiave di licenza è scaduta"
526
 
527
- #: licence/lib/yit-licence.php:674
528
  msgid "License key has been banned"
529
  msgstr "La chiave di licenza è stata bloccata"
530
 
531
- #: licence/lib/yit-licence.php:675
532
  msgid "Current product is not included in your YITH Club Subscription key"
533
  msgstr "Questo prodotto non è incluso nella tua licenze YITH Club Subscription"
534
 
535
- #: licence/lib/yit-licence.php:676
536
  msgid "Great"
537
  msgstr "Grande!"
538
 
539
- #: licence/lib/yit-licence.php:676
540
  msgid "License successfully activated"
541
  msgstr "Licenza attivata con successo"
542
 
543
- #: licence/lib/yit-licence.php:677
544
  msgid "License key deactivated for website"
545
  msgstr "Chiave di licenza disattivata per il sito web"
546
 
@@ -573,7 +605,7 @@ msgid ""
573
  " After 27 January 2016, instead, if you want to benefit "
574
  "from support and updates you have to buy a new license and activate it "
575
  "through the license key you will be\n"
576
- " provided with and that you can find in your YIThemes "
577
  "account, in section \"My licenses\"."
578
  msgstr ""
579
  "Se hai acquistato uno dei nostri prodotti prima del 27 gennaio 2015, potrai "
@@ -584,14 +616,14 @@ msgstr ""
584
  "Dopo il 27 gennaio 2016, invece, se vorrai usufruire di supporto e "
585
  "aggiornamenti dovrai acquistare una nuova licenza e attivarla con il codice "
586
  "che ti verrà\n"
587
- "fornito e che puoi trovare nella tua area riservata su YIThemes, nella "
588
- "sezione \"My licenses\"."
589
 
590
- #: licence/templates/panel/activation/activation-panel.php:23
591
- msgid "Yithemes License Activation"
592
- msgstr "Attivazione licenza YIThemes"
593
 
594
- #: licence/templates/panel/activation/activation-panel.php:27
595
  msgid ""
596
  "Have you updated your licenses? Have you asked for an extension? Update "
597
  "information concerning your products."
@@ -599,470 +631,419 @@ msgstr ""
599
  "Hai aggiornato la tua licenza? Hai richiesto un'estensione? Aggiorna le "
600
  "informazioni dei tuoi prodotti."
601
 
602
- #: licence/templates/panel/activation/activation-panel.php:29
603
  msgid "Update license information"
604
  msgstr "Aggiorna informazioni licenza"
605
 
606
- #: licence/templates/panel/activation/activation-panel.php:42
607
  msgid "Product to activate"
608
  msgid_plural "Products to activate"
609
  msgstr[0] "Prodotto da attivare"
610
  msgstr[1] "Prodotti da attivare"
611
 
612
- #: licence/templates/panel/activation/activation-panel.php:61
613
  msgid "Activate"
614
  msgstr "Attiva"
615
 
616
- #: licence/templates/panel/activation/activation-panel.php:80
617
  msgid "Activated"
618
  msgstr "Attivato"
619
 
620
- #: licence/templates/panel/activation/activation-panel.php:86
621
- #: licence/templates/panel/activation/activation-panel.php:164
622
- #: licence/templates/panel/activation/activation-panel.php:194
623
  msgid "Product Name"
624
  msgstr "Nome prodotto"
625
 
626
- #: licence/templates/panel/activation/activation-panel.php:92
627
- #: licence/templates/panel/activation/activation-panel.php:201
628
  msgid "Expires"
629
  msgstr "Scadenza"
630
 
631
- #: licence/templates/panel/activation/activation-panel.php:95
632
  msgid "Remaining"
633
  msgstr "Tempo rimanente"
634
 
635
- #: licence/templates/panel/activation/activation-panel.php:97
636
  msgid "Club Subscription"
637
  msgstr "Club Subscription"
638
 
639
- #: licence/templates/panel/activation/activation-panel.php:101
640
  msgid "License Actions"
641
  msgstr "Azioni licenza"
642
 
643
- #: licence/templates/panel/activation/activation-panel.php:126
644
  #, php-format
645
  msgid "%1s out of %2s"
646
  msgstr "%1s di %2s"
647
 
648
- #: licence/templates/panel/activation/activation-panel.php:142
649
  msgid "Deactivate"
650
  msgstr "Disattiva"
651
 
652
- #: licence/templates/panel/activation/activation-panel.php:147
653
- #: licence/templates/panel/activation/activation-panel.php:204
654
  msgid "Renew"
655
  msgstr "Rinnova"
656
 
657
- #: licence/templates/panel/activation/activation-panel.php:160
658
  msgid "Banned"
659
  msgstr "Bloccato"
660
 
661
- #: licence/templates/panel/activation/activation-panel.php:190
662
  msgid "Expired"
663
  msgstr "Non più valido"
664
 
665
- #: licence/templates/panel/activation/activation-panel.php:226
666
  msgid "Order again"
667
  msgstr "Acquista di nuovo"
668
 
669
- #: licence/templates/panel/activation/activation-panel.php:228
670
  msgid "Renew license"
671
  msgstr "Rinnova la licenza"
672
 
673
- #: templates/metaboxes/types/ajax-products.php:23
674
- msgid "Search for a product"
 
 
 
 
675
  msgstr "Cerca un prodotto"
676
 
677
- #: templates/metaboxes/types/categories.php:36
678
- msgid "No categories."
679
- msgstr "Nessuna categoria"
680
 
681
- #: templates/metaboxes/types/categories.php:42
682
- msgid "+ Add New Category"
683
- msgstr "+ Aggiungi nuova categoria"
684
 
685
- #: templates/metaboxes/types/categories.php:46
686
- msgid "Add"
687
- msgstr "Aggiungi"
688
 
689
- #: templates/metaboxes/types/contactform.php:7
690
- msgid "Text Input"
691
- msgstr "Text input"
692
 
693
- #: templates/metaboxes/types/contactform.php:8
694
- msgid "Checkbox"
695
- msgstr "Checkbox"
696
 
697
- #: templates/metaboxes/types/contactform.php:9
698
- msgid "Select"
699
- msgstr "Select"
700
 
701
- #: templates/metaboxes/types/contactform.php:10
702
- msgid "Textarea"
703
- msgstr "Textarea"
704
 
705
- #: templates/metaboxes/types/contactform.php:11
706
- msgid "Radio Input"
707
- msgstr "Radio input"
708
 
709
- #: templates/metaboxes/types/contactform.php:12
710
- msgid "Password Field"
711
- msgstr "Campo password"
712
 
713
- #: templates/metaboxes/types/contactform.php:13
714
- msgid "File Upload"
715
- msgstr "Carica file"
716
 
717
- #: templates/metaboxes/types/contactform.php:47
718
- msgid "Theme Icon"
719
- msgstr "Icona tema"
720
 
721
- #: templates/metaboxes/types/contactform.php:48
722
- msgid "Custom Icon"
723
- msgstr "Icona personalizzata"
724
 
725
- #: templates/metaboxes/types/contactform.php:49
726
- #: templates/metaboxes/types/responsivesliders.php:24
727
- msgid "None"
728
- msgstr "Nessuno"
729
 
730
- #: templates/metaboxes/types/contactform.php:60
731
- msgid "Add field"
732
- msgstr "Aggiungi campo"
733
 
734
- #: templates/metaboxes/types/contactform.php:69
735
- #: templates/metaboxes/types/contactform.php:261
736
- #: templates/metaboxes/types/customtabs.php:37
737
- #: templates/metaboxes/types/customtabs.php:82
738
- msgid "Remove"
739
- msgstr "Rimuovi"
740
 
741
- #: templates/metaboxes/types/contactform.php:70
742
- #: templates/metaboxes/types/contactform.php:262
743
- msgid "Click to toggle"
744
- msgstr "Fai clic per aprire/chiudere"
745
 
746
- #: templates/metaboxes/types/contactform.php:77
747
- #: templates/metaboxes/types/contactform.php:269
748
- msgid "Field Title"
749
- msgstr "Titolo campo"
750
 
751
- #: templates/metaboxes/types/contactform.php:81
752
- #: templates/metaboxes/types/contactform.php:273
753
- msgid "Insert the title for the field."
754
- msgstr "Inserisci il titolo per il campo"
755
 
756
- #: templates/metaboxes/types/contactform.php:86
757
- #: templates/metaboxes/types/contactform.php:278
758
- msgid "Data Name"
759
- msgstr "Nome dati"
760
 
761
- #: templates/metaboxes/types/contactform.php:90
762
- #: templates/metaboxes/types/contactform.php:282
763
- msgid ""
764
- "REQUIRED: Field identification name to be entered into email body. "
765
- "<strong>Note:</strong>Use only lowercase characters and underscores."
766
- msgstr ""
767
- "RICHIESTO: Nome identificativo del campo da inserire nel corpo dell'email. "
768
- "<strong>Nota:</strong>Puoi utilizzare solamente caratteri minuscoli e "
769
- "underscore."
770
-
771
- #: templates/metaboxes/types/contactform.php:95
772
- #: templates/metaboxes/types/contactform.php:287
773
- msgid "Field Type"
774
- msgstr "Tipologia campo"
775
-
776
- #: templates/metaboxes/types/contactform.php:103
777
- #: templates/metaboxes/types/contactform.php:295
778
- msgid "Select the type for this field."
779
- msgstr "Seleziona il tipo di campo."
780
-
781
- #: templates/metaboxes/types/contactform.php:108
782
- #: templates/metaboxes/types/contactform.php:300
783
- msgid "Checked"
784
- msgstr "Selezionato"
785
-
786
- #: templates/metaboxes/types/contactform.php:112
787
- #: templates/metaboxes/types/contactform.php:304
788
- msgid "Select this option if you want this field appears as already checked."
789
- msgstr "Seleziona questa opzione se vuoi che il campo appaia già selezionato."
790
-
791
- #: templates/metaboxes/types/contactform.php:117
792
- #: templates/metaboxes/types/contactform.php:309
793
- msgid "Add options "
794
- msgstr "Aggiungi opzioni"
795
-
796
- #: templates/metaboxes/types/contactform.php:118
797
- #: templates/metaboxes/types/contactform.php:310
798
- msgid "Add option"
799
- msgstr "Aggiungi opzione"
800
-
801
- #: templates/metaboxes/types/contactform.php:121
802
- #: templates/metaboxes/types/contactform.php:313
803
- #: templates/metaboxes/types/contactform.php:436
804
- msgid "Selected"
805
- msgstr "Selezionato"
806
-
807
- #: templates/metaboxes/types/contactform.php:124
808
- #: templates/metaboxes/types/contactform.php:316
809
- #: templates/metaboxes/types/contactform.php:436
810
- msgid "Delete option"
811
- msgstr "Cancella opzione"
812
-
813
- #: templates/metaboxes/types/contactform.php:130
814
- #: templates/metaboxes/types/contactform.php:322
815
- msgid "Error Message"
816
- msgstr "Messaggio di errore"
817
-
818
- #: templates/metaboxes/types/contactform.php:134
819
- #: templates/metaboxes/types/contactform.php:326
820
- msgid "Insert the error message for validation."
821
- msgstr "Inserisci il messaggio di errore per la validazione"
822
-
823
- #: templates/metaboxes/types/contactform.php:139
824
- #: templates/metaboxes/types/contactform.php:331
825
- msgid "Required"
826
- msgstr "Obbligatorio"
827
-
828
- #: templates/metaboxes/types/contactform.php:143
829
- #: templates/metaboxes/types/contactform.php:335
830
- msgid "Select this option if it must be required."
831
- msgstr "Seleziona questa opzione se deve essere obbligatoria."
832
-
833
- #: templates/metaboxes/types/contactform.php:152
834
- #: templates/metaboxes/types/contactform.php:344
835
- msgid "Select this option if the email must be valid."
836
- msgstr "Seleziona questa opzione se l'email inserita deve essere esistente."
837
-
838
- #: templates/metaboxes/types/contactform.php:157
839
- #: templates/metaboxes/types/contactform.php:349
840
- msgid "Reply To"
841
- msgstr "Rispondi a"
842
-
843
- #: templates/metaboxes/types/contactform.php:161
844
- #: templates/metaboxes/types/contactform.php:353
845
- msgid "Select this if it is the email you can reply to."
846
- msgstr "Seleziona questo se è l'email a cui poter rispondere. "
847
-
848
- #: templates/metaboxes/types/contactform.php:166
849
- #: templates/metaboxes/types/contactform.php:358
850
- msgid "Class"
851
- msgstr "Classe"
852
-
853
- #: templates/metaboxes/types/contactform.php:170
854
- #: templates/metaboxes/types/contactform.php:362
855
- msgid ""
856
- "Insert additional class(es) (separated by commas) for more personalization."
857
- msgstr ""
858
- "Inserisci una o più classi (separate da virgole) per una ulteriore "
859
- "personalizzazione."
860
-
861
- #: templates/metaboxes/types/contactform.php:175
862
- #: templates/metaboxes/types/contactform.php:367
863
- msgid "Icon"
864
- msgstr "Icona"
865
-
866
- #: templates/metaboxes/types/contactform.php:203
867
- #: templates/metaboxes/types/contactform.php:391
868
- #: templates/metaboxes/types/icon-list.php:69
869
- #: templates/metaboxes/types/select-icon.php:33
870
- #: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
871
  #: templates/panel/woocommerce/woocommerce-upload.php:40
872
  msgid "Upload"
873
  msgstr "Carica"
874
 
875
- #: templates/metaboxes/types/contactform.php:209
876
- #: templates/metaboxes/types/contactform.php:397
877
- #: templates/metaboxes/types/icon-list.php:75
878
- #: templates/metaboxes/types/select-icon.php:39
 
879
  msgid "Image preview"
880
  msgstr "Anteprima immagine"
881
 
882
- #: templates/metaboxes/types/contactform.php:217
883
- #: templates/metaboxes/types/contactform.php:405
884
- msgid "Insert an icon for more personalization."
885
- msgstr "Inserisci un'icona per ulteriore personalizzazione."
886
 
887
- #: templates/metaboxes/types/contactform.php:222
888
- #: templates/metaboxes/types/contactform.php:409
889
- msgid "Width"
890
- msgstr "Larghezza"
891
 
892
- #: templates/metaboxes/types/contactform.php:247
893
- #: templates/metaboxes/types/contactform.php:421
894
- msgid "Set field length."
895
- msgstr "Seleziona lunghezza campo."
896
 
897
- #: templates/metaboxes/types/customtabs.php:28
898
- msgid "Close all"
899
- msgstr "Chiudi tutti"
 
900
 
901
- #: templates/metaboxes/types/customtabs.php:28
902
- msgid "Expand all"
903
- msgstr "Espandi tutti"
 
904
 
905
- #: templates/metaboxes/types/customtabs.php:52
906
- #: templates/metaboxes/types/customtabs.php:95
907
- msgid "Value"
908
- msgstr "Valore"
909
 
910
- #: templates/metaboxes/types/customtabs.php:53
911
- #: templates/metaboxes/types/customtabs.php:96
912
- msgid "Content of the tab. (HTML is supported)"
913
- msgstr "Contenuto della scheda (codice HTML supportato)."
914
 
915
- #: templates/metaboxes/types/customtabs.php:65
916
- msgid "Add custom product tab"
917
- msgstr "Aggiungi scheda prodotto personalizzata"
 
918
 
919
- #: templates/metaboxes/types/customtabs.php:107
920
- msgid "Do you want to remove the custom tab?"
921
- msgstr "Vuoi rimuovere la scheda personalizzata?"
922
 
923
- #: templates/metaboxes/types/icon-list.php:89
924
- #, php-format
925
- msgid "(Default: %s <img src=\"%s\"/>)"
926
- msgstr "(Default: %s <img src=\"%s\"/>)"
927
 
928
- #: templates/metaboxes/types/icon-list.php:91
929
- #, php-format
930
- msgid "(Default: <i %s></i> )"
931
- msgstr "(Default: <i %s></i> )"
932
 
933
- #: templates/metaboxes/types/image-gallery.php:40
934
- #: templates/metaboxes/types/image-gallery.php:45
935
- #: templates/metaboxes/types/images.php:38
936
- #: templates/metaboxes/types/images.php:64
937
- msgid "Delete image"
938
- msgstr "Rimuovi immagine"
939
 
940
- #: templates/metaboxes/types/image-gallery.php:45
941
- msgid "Add Images to Gallery"
942
- msgstr "Aggiungi immagini alla galleria"
943
 
944
- #: templates/metaboxes/types/image-gallery.php:45
945
- msgid "Add to gallery"
946
- msgstr "Aggiungi alla galleria"
947
 
948
- #: templates/metaboxes/types/image-gallery.php:45
949
- msgid "Add images"
950
- msgstr "Aggiungi immagini"
951
 
952
- #: templates/metaboxes/types/image-gallery.php:45
953
- msgid "Delete"
954
- msgstr "Rimuovi"
955
 
956
- #: templates/metaboxes/types/images.php:42
957
- msgid "Upload new images"
958
- msgstr "Carica nuove immagini"
959
 
960
- #: templates/metaboxes/types/images.php:75
961
- msgid "Are you sure you want to remove this image?"
962
- msgstr "Confermi di voler rimuovere questa immagine?"
963
 
964
- #: templates/metaboxes/types/sidebar-layout.php:25
965
- #: templates/metaboxes/types/sidebars.php:36
966
- msgid "Left sidebar"
967
- msgstr "Barra laterale sinistra"
968
 
969
- #: templates/metaboxes/types/sidebar-layout.php:28
970
- #: templates/metaboxes/types/sidebars.php:42
971
- #: templates/metaboxes/types/sidebars.php:45
972
- msgid "No sidebar"
973
- msgstr "Nessuna barra laterale"
974
 
975
- #: templates/metaboxes/types/sidebar-layout.php:31
976
- #: templates/metaboxes/types/sidebars.php:39
977
- msgid "Right sidebar"
978
- msgstr "Barra laterale destra"
979
 
980
- #: templates/metaboxes/types/sidebar-layout.php:34
981
- #: templates/metaboxes/types/sidebars.php:53
982
- #: templates/metaboxes/types/sidebars.php:64
983
- msgid "Choose a sidebar"
984
- msgstr "Scegli una barra laterale"
985
 
986
- #: templates/metaboxes/types/sidebars.php:51
987
- msgid "Left Sidebar"
988
- msgstr "Barra laterale sinistra"
989
 
990
- #: templates/metaboxes/types/sidebars.php:62
991
- msgid "Right Sidebar"
992
- msgstr "Barra laterale destra"
993
 
994
- #: templates/metaboxes/types/typography.php:42
995
- msgid "px"
996
- msgstr "px"
997
 
998
- #: templates/metaboxes/types/typography.php:43
999
- msgid "em"
1000
- msgstr "em"
1001
 
1002
- #: templates/metaboxes/types/typography.php:44
1003
- msgid "pt"
1004
- msgstr "pt"
1005
 
1006
- #: templates/metaboxes/types/typography.php:45
1007
- msgid "rem"
1008
- msgstr "rem"
1009
 
1010
- #: templates/metaboxes/types/typography.php:59
1011
- #: templates/metaboxes/types/typography.php:153
1012
- #: templates/metaboxes/types/typography.php:217
1013
- msgid "Web fonts"
1014
- msgstr "Web fonts"
1015
 
1016
- #: templates/metaboxes/types/typography.php:71
1017
- msgid "Google fonts"
1018
- msgstr "Google fonts"
1019
 
1020
- #: templates/metaboxes/types/typography.php:96
1021
- msgid "Regular"
1022
- msgstr "Normale"
 
 
 
 
1023
 
1024
- #: templates/metaboxes/types/typography.php:97
1025
- msgid "Bold"
1026
- msgstr "Grassetto"
1027
 
1028
- #: templates/metaboxes/types/typography.php:98
1029
- msgid "Extra bold"
1030
- msgstr "Extra bold"
1031
 
1032
- #: templates/metaboxes/types/typography.php:99
1033
- msgid "Italic"
1034
- msgstr "Corsivo"
1035
 
1036
- #: templates/metaboxes/types/typography.php:100
1037
- msgid "Italic bold"
1038
- msgstr "Grassetto corsivo"
 
1039
 
1040
- #: templates/panel/sidebar/widgets/widgets.php:17
1041
- msgid "Join the club"
1042
- msgstr "Iscriviti al Club"
1043
 
1044
- #: templates/panel/sidebar/widgets/widgets.php:24
1045
- msgid "Despacho Theme - 100% FREE"
1046
- msgstr "Despacho Theme - 100% GRATUITO"
1047
 
1048
- #: templates/panel/sidebar/widgets/widgets.php:28
1049
- msgid "FREE!"
1050
- msgstr "GRATIS!"
1051
 
1052
- #: templates/panel/sidebar/widgets/widgets.php:34
1053
- msgid "Important Links"
1054
- msgstr "Link importanti"
1055
 
1056
- #: templates/panel/types/upload.php:32
1057
- msgid "Reset"
1058
- msgstr "Ripristina"
1059
 
1060
- #: templates/panel/woocommerce/woocommerce-form.php:17
1061
- msgid "Reset Defaults"
1062
- msgstr "Ripristina impostazioni iniziali"
 
 
 
 
 
 
 
 
 
 
 
1063
 
1064
- #~ msgid "Premium version upgrade"
1065
- #~ msgstr "Aggiorna alla versione PREMIUM"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1066
 
1067
  #~ msgid ""
1068
  #~ "Have you purchased the premium version of a plugin? Don't you know how to "
@@ -1169,9 +1150,6 @@ msgstr "Ripristina impostazioni iniziali"
1169
  #~ "facilmente recuperarla dalla sezione \"My Licenses\" all'interno della "
1170
  #~ "sezione My Account del nostro sito yithemes.com."
1171
 
1172
- #~ msgid "YITH Plugins"
1173
- #~ msgstr "YITH Plugins"
1174
-
1175
  #~ msgid ""
1176
  #~ "The last step is the activation of the plugin through its license key you "
1177
  #~ "received after the purchase. Click on \"License Activation\" that you "
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-23 15:55+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 1.8.12\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"
22
  "X-Textdomain-Support: yes\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
 
25
+ #: lib/privacy/yit-privacy.php:24
26
+ msgctxt "Privacy Policy Guide Title"
27
+ msgid "YITH Plugins"
28
+ msgstr "YITH Plugins"
29
+
30
+ #: lib/privacy/yit-privacy.php:59
31
+ msgctxt "Privacy Policy Content"
32
+ msgid ""
33
+ "This sample language includes the basics around what personal data your "
34
+ "store may be collecting, storing and sharing, as well as who may have access "
35
+ "to that data. Depending on what settings are enabled and which additional "
36
+ "plugins are used, the specific information shared by your store will vary. "
37
+ "We recommend consulting with a lawyer when deciding what information to "
38
+ "disclose on your privacy policy."
39
+ msgstr ""
40
+ "Questo esempio include gli elementi di base sulla raccolta dei dati "
41
+ "personali, la memorizzazione e la condivisione, nonché su chi è autorizzato "
42
+ "ad accedere a tali dati. In base alle impostazioni abilitate e ai moduli di "
43
+ "estensione aggiuntivi utilizzati, le informazioni specifiche condivise dal "
44
+ "nostro negozio possono variare. Ti consigliamo di consultare un legale al "
45
+ "momento di decidere quali informazioni divulgare nell'informativa sulla "
46
+ "privacy."
47
+
48
+ #: lib/privacy/yit-privacy.php:63
49
+ msgctxt "Privacy Policy Content"
50
+ msgid "What we collect and store"
51
+ msgstr "Cosa raccogliamo e salviamo"
52
+
53
+ #: lib/privacy/yit-privacy.php:66
54
+ msgctxt "Privacy Policy Content"
55
+ msgid "Who on our team has access"
56
+ msgstr "Persone del nostro gruppo di lavoro che hanno accesso"
57
+
58
+ #: lib/privacy/yit-privacy.php:69
59
+ msgctxt "Privacy Policy Content"
60
+ msgid "What we share with others"
61
+ msgstr "Cosa condividiamo con gli altri"
62
+
63
+ #: lib/privacy/yit-privacy.php:72
64
+ msgctxt "Privacy Policy Content"
65
+ msgid "Payments"
66
+ msgstr "Pagamenti"
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
70
  #, php-format
124
  msgid "Category"
125
  msgstr "Categoria"
126
 
127
+ #: lib/yit-cpt-unlimited.php:627 templates/fields/ajax-terms.php:56
128
  msgid "Search Categories"
129
  msgstr "Cerca categorie"
130
 
170
  msgstr "Impostazioni %s"
171
 
172
  #: lib/yit-cpt-unlimited.php:1048 lib/yit-cpt-unlimited.php:1196
173
+ #: lib/yit-cpt-unlimited.php:1202 lib/yit-plugin-panel.php:73
174
  msgid "Settings"
175
  msgstr "Impostazioni"
176
 
255
  msgid "Show frontend of the %s"
256
  msgstr "Mostra front end di %s"
257
 
258
+ #: lib/yit-cpt-unlimited.php:1482 templates/fields/customtabs.php:46
259
+ #: templates/fields/customtabs.php:89
260
  msgid "Name"
261
  msgstr "Nome"
262
 
269
  msgid "Upload multiple files"
270
  msgstr "Carica file multipli"
271
 
272
+ #: lib/yit-plugin-panel-wc.php:384
 
 
 
 
 
 
 
 
273
  msgid "The changes you have made will be lost if you leave this page."
274
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
275
 
276
+ #: lib/yit-plugin-panel.php:72
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
  "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
 
 
 
 
 
 
 
 
 
347
  #: lib/yit-pointers.php:70
348
  msgid "Plugins Activated"
349
  msgstr "Plugin attivati"
350
 
351
  #: lib/yit-pointers.php:71
352
  msgid ""
353
+ "From now on, you can find all plugin options in YITH Plugins menu.\n"
354
+ " Plugin customization settings will be "
355
+ "available as a new entry in YITH Plugins menu."
356
  msgstr ""
357
+ "Da ora in poi, puoi trovare tutte le opzioni dei tuoi plugin nel menu YITH "
358
+ "Plugins.\n"
359
  "Troverai le impostazioni di personalizzazione sotto una nuova voce nel menu "
360
+ "YITH Plugins."
361
 
362
  #: lib/yit-pointers.php:73 lib/yit-pointers.php:89
363
  msgid "Discover all our plugins available on:"
373
 
374
  #: lib/yit-pointers.php:85
375
  msgid ""
376
+ "From now on, you can find the option panel of YITH plugins in YITH Plugins "
377
+ "menu.\n"
378
+ " Every time one of our plugins is added, "
379
  "a new entry will be added to this menu.\n"
380
  " For example, after the update, plugin "
381
  "options (such as for YITH WooCommerce Wishlist, YITH WooCommerce Ajax "
382
  "Search, etc.)\n"
383
  " will be moved from previous location to "
384
+ "YITH Plugins tab."
385
  msgstr ""
386
+ "Da ora in poi, troverai tutte le opzioni dei tuoi plugin nel menu YITH "
387
+ "Plugins.\n"
388
  "Ogni volta che aggiornerai i nostri plugin, troverai una nuova voce in "
389
  "questo menu.\n"
390
  "Per esempio, dopo l'aggiornamento, le opzioni del plugin (come per esempio "
391
  "quelle di YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search etc.)\n"
392
+ "saranno trasferite nella scheda YITH Plugins."
393
 
394
+ #: lib/yit-upgrade.php:95
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 "
437
+ "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
438
+ "%4$s details</a>."
439
  msgstr ""
440
  "È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox "
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 "
448
+ "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
449
+ "%4$s details</a>. <em>You have to activate the plugin on a single site of "
450
+ "the network to benefit from automatic updates.</em>"
451
  msgstr ""
452
+ "È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox "
453
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
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 "
461
+ "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
462
+ "%4$s details</a>. <em>Automatic update is unavailable for this plugin, "
463
+ "please <a href=\"%5$s\" title=\"License activation\">activate</a> your copy "
464
+ "of %6s.</em>"
465
  msgstr ""
466
  "È disponibile una nuova versione di %1$s. <a href=\"%2$s\" class=\"thickbox "
467
  "yit-changelog-button\" title=\"%3$s\">Visualizza i dettagli della versione "
468
  "%4$s</a>. <em>Gli aggiornamenti automatici non sono disponibili per questo "
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 "
476
+ "yit-changelog-button open-plugin-details-modal\" title=\"%3$s\">View version "
477
+ "%4$s details</a> or <a href=\"%5$s\">update now</a>."
478
  msgstr ""
479
  "È disponibile una nuova versioni di %1$s. <a href=\"%2$s\" class=\"thickbox "
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
 
605
  " After 27 January 2016, instead, if you want to benefit "
606
  "from support and updates you have to buy a new license and activate it "
607
  "through the license key you will be\n"
608
+ " provided with and that you can find in your YITH "
609
  "account, in section \"My licenses\"."
610
  msgstr ""
611
  "Se hai acquistato uno dei nostri prodotti prima del 27 gennaio 2015, potrai "
616
  "Dopo il 27 gennaio 2016, invece, se vorrai usufruire di supporto e "
617
  "aggiornamenti dovrai acquistare una nuova licenza e attivarla con il codice "
618
  "che ti verrà\n"
619
+ "fornito e che puoi trovare nella tua area riservata su YITH, nella sezione "
620
+ "\"My licenses\"."
621
 
622
+ #: licence/templates/panel/activation/activation-panel.php:24
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."
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
 
705
+ #: templates/fields/ajax-posts.php:57
706
+ msgid "Search Posts"
707
+ msgstr "Cerca articoli"
708
+
709
+ #: templates/fields/ajax-products.php:16
710
+ msgid "Search Product"
711
  msgstr "Cerca un prodotto"
712
 
713
+ #: templates/fields/customtabs.php:28
714
+ msgid "Close all"
715
+ msgstr "Chiudi tutti"
716
 
717
+ #: templates/fields/customtabs.php:28
718
+ msgid "Expand all"
719
+ msgstr "Espandi tutti"
720
 
721
+ #: templates/fields/customtabs.php:37 templates/fields/customtabs.php:81
722
+ msgid "Remove"
723
+ msgstr "Rimuovi"
724
 
725
+ #: templates/fields/customtabs.php:52 templates/fields/customtabs.php:94
726
+ msgid "Value"
727
+ msgstr "Valore"
728
 
729
+ #: templates/fields/customtabs.php:53 templates/fields/customtabs.php:95
730
+ msgid "Content of the tab. (HTML is supported)"
731
+ msgstr "Contenuto della scheda (codice HTML supportato)."
732
 
733
+ #: templates/fields/customtabs.php:65
734
+ msgid "Add custom product tab"
735
+ msgstr "Aggiungi scheda prodotto personalizzata"
736
 
737
+ #: templates/fields/customtabs.php:106
738
+ msgid "Do you want to remove the custom tab?"
739
+ msgstr "Vuoi rimuovere la scheda personalizzata?"
740
 
741
+ #: templates/fields/icons.php:58
742
+ msgid "Set Default"
743
+ msgstr "Ripristina impostazioni iniziali"
744
 
745
+ #: templates/fields/image-gallery.php:34 templates/fields/image-gallery.php:39
746
+ msgid "Delete image"
747
+ msgstr "Rimuovi immagine"
748
 
749
+ #: templates/fields/image-gallery.php:39
750
+ msgid "Add Images to Gallery"
751
+ msgstr "Aggiungi immagini alla galleria"
752
 
753
+ #: templates/fields/image-gallery.php:39
754
+ msgid "Add to gallery"
755
+ msgstr "Aggiungi alla galleria"
756
 
757
+ #: templates/fields/image-gallery.php:39
758
+ msgid "Add images"
759
+ msgstr "Aggiungi immagini"
760
 
761
+ #: templates/fields/image-gallery.php:39
762
+ msgid "Delete"
763
+ msgstr "Rimuovi"
 
764
 
765
+ #: templates/fields/select-buttons.php:26
766
+ msgid "Select All"
767
+ msgstr "Seleziona tutto"
768
 
769
+ #: templates/fields/select-buttons.php:33
770
+ msgid "Deselect All"
771
+ msgstr "Deseleziona tutto"
 
 
 
772
 
773
+ #: templates/fields/sidebars.php:22
774
+ msgid "Left sidebar"
775
+ msgstr "Barra laterale sinistra"
 
776
 
777
+ #: templates/fields/sidebars.php:25
778
+ msgid "Right sidebar"
779
+ msgstr "Barra laterale destra"
 
780
 
781
+ #: templates/fields/sidebars.php:28 templates/fields/sidebars.php:31
782
+ msgid "No sidebar"
783
+ msgstr "Nessuna barra laterale"
 
784
 
785
+ #: templates/fields/sidebars.php:39
786
+ msgid "Left Sidebar"
787
+ msgstr "Barra laterale sinistra"
 
788
 
789
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:54
790
+ msgid "Choose a sidebar"
791
+ msgstr "Scegli una barra laterale"
792
+
793
+ #: templates/fields/sidebars.php:52
794
+ msgid "Right Sidebar"
795
+ msgstr "Barra laterale destra"
796
+
797
+ #: templates/fields/upload.php:18 templates/metaboxes/types/icon-list.php:70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
798
  #: templates/panel/woocommerce/woocommerce-upload.php:40
799
  msgid "Upload"
800
  msgstr "Carica"
801
 
802
+ #: templates/fields/upload.php:19
803
+ msgid "Reset"
804
+ msgstr "Ripristina"
805
+
806
+ #: templates/metaboxes/types/icon-list.php:76
807
  msgid "Image preview"
808
  msgstr "Anteprima immagine"
809
 
810
+ #: templates/metaboxes/types/icon-list.php:90
811
+ #, php-format
812
+ msgid "(Default: %s <img src=\"%s\"/>)"
813
+ msgstr "(Default: %s <img src=\"%s\"/>)"
814
 
815
+ #: templates/metaboxes/types/icon-list.php:92
816
+ #, php-format
817
+ msgid "(Default: <i %s></i> )"
818
+ msgstr "(Default: <i %s></i> )"
819
 
820
+ #: templates/panel/woocommerce/woocommerce-form.php:17
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
 
856
+ #~ msgid "Show sidebar"
857
+ #~ msgstr "Mostra barra laterale"
 
 
858
 
859
+ #~ msgid ""
860
+ #~ "If you continue with this action, you will reset all the options in this "
861
+ #~ "page."
862
+ #~ msgstr ""
863
+ #~ "Se prosegui con questa azione, tutte le opzioni di questa pagina saranno "
864
+ #~ "reimpostate."
865
 
866
+ #~ msgid "Yithemes License Activation"
867
+ #~ msgstr "Attivazione licenza YIThemes"
 
868
 
869
+ #~ msgid "No categories."
870
+ #~ msgstr "Nessuna categoria"
 
871
 
872
+ #~ msgid "+ Add New Category"
873
+ #~ msgstr "+ Aggiungi nuova categoria"
 
874
 
875
+ #~ msgid "Add"
876
+ #~ msgstr "Aggiungi"
 
877
 
878
+ #~ msgid "Text Input"
879
+ #~ msgstr "Text input"
 
880
 
881
+ #~ msgid "Checkbox"
882
+ #~ msgstr "Checkbox"
 
883
 
884
+ #~ msgid "Textarea"
885
+ #~ msgstr "Textarea"
 
 
886
 
887
+ #~ msgid "Radio Input"
888
+ #~ msgstr "Radio input"
 
 
 
889
 
890
+ #~ msgid "Password Field"
891
+ #~ msgstr "Campo password"
 
 
892
 
893
+ #~ msgid "File Upload"
894
+ #~ msgstr "Carica file"
 
 
 
895
 
896
+ #~ msgid "Theme Icon"
897
+ #~ msgstr "Icona tema"
 
898
 
899
+ #~ msgid "Custom Icon"
900
+ #~ msgstr "Icona personalizzata"
 
901
 
902
+ #~ msgid "None"
903
+ #~ msgstr "Nessuno"
 
904
 
905
+ #~ msgid "Add field"
906
+ #~ msgstr "Aggiungi campo"
 
907
 
908
+ #~ msgid "Click to toggle"
909
+ #~ msgstr "Fai clic per aprire/chiudere"
 
910
 
911
+ #~ msgid "Field Title"
912
+ #~ msgstr "Titolo campo"
 
913
 
914
+ #~ msgid "Insert the title for the field."
915
+ #~ msgstr "Inserisci il titolo per il campo"
 
 
 
916
 
917
+ #~ msgid "Data Name"
918
+ #~ msgstr "Nome dati"
 
919
 
920
+ #~ msgid ""
921
+ #~ "REQUIRED: Field identification name to be entered into email body. "
922
+ #~ "<strong>Note:</strong>Use only lowercase characters and underscores."
923
+ #~ msgstr ""
924
+ #~ "RICHIESTO: Nome identificativo del campo da inserire nel corpo "
925
+ #~ "dell'email. <strong>Nota:</strong>Puoi utilizzare solamente caratteri "
926
+ #~ "minuscoli e underscore."
927
 
928
+ #~ msgid "Field Type"
929
+ #~ msgstr "Tipologia campo"
 
930
 
931
+ #~ msgid "Select the type for this field."
932
+ #~ msgstr "Seleziona il tipo di campo."
 
933
 
934
+ #~ msgid "Checked"
935
+ #~ msgstr "Selezionato"
 
936
 
937
+ #~ msgid ""
938
+ #~ "Select this option if you want this field appears as already checked."
939
+ #~ msgstr ""
940
+ #~ "Seleziona questa opzione se vuoi che il campo appaia già selezionato."
941
 
942
+ #~ msgid "Add options "
943
+ #~ msgstr "Aggiungi opzioni"
 
944
 
945
+ #~ msgid "Add option"
946
+ #~ msgstr "Aggiungi opzione"
 
947
 
948
+ #~ msgid "Selected"
949
+ #~ msgstr "Selezionato"
 
950
 
951
+ #~ msgid "Delete option"
952
+ #~ msgstr "Cancella opzione"
 
953
 
954
+ #~ msgid "Error Message"
955
+ #~ msgstr "Messaggio di errore"
 
956
 
957
+ #~ msgid "Insert the error message for validation."
958
+ #~ msgstr "Inserisci il messaggio di errore per la validazione"
959
+
960
+ #~ msgid "Required"
961
+ #~ msgstr "Obbligatorio"
962
+
963
+ #~ msgid "Select this option if it must be required."
964
+ #~ msgstr "Seleziona questa opzione se deve essere obbligatoria."
965
+
966
+ #~ msgid "Select this option if the email must be valid."
967
+ #~ msgstr "Seleziona questa opzione se l'email inserita deve essere esistente."
968
+
969
+ #~ msgid "Reply To"
970
+ #~ msgstr "Rispondi a"
971
 
972
+ #~ msgid "Select this if it is the email you can reply to."
973
+ #~ msgstr "Seleziona questo se è l'email a cui poter rispondere. "
974
+
975
+ #~ msgid "Class"
976
+ #~ msgstr "Classe"
977
+
978
+ #~ msgid ""
979
+ #~ "Insert additional class(es) (separated by commas) for more "
980
+ #~ "personalization."
981
+ #~ msgstr ""
982
+ #~ "Inserisci una o più classi (separate da virgole) per una ulteriore "
983
+ #~ "personalizzazione."
984
+
985
+ #~ msgid "Icon"
986
+ #~ msgstr "Icona"
987
+
988
+ #~ msgid "Insert an icon for more personalization."
989
+ #~ msgstr "Inserisci un'icona per ulteriore personalizzazione."
990
+
991
+ #~ msgid "Width"
992
+ #~ msgstr "Larghezza"
993
+
994
+ #~ msgid "Set field length."
995
+ #~ msgstr "Seleziona lunghezza campo."
996
+
997
+ #~ msgid "Upload new images"
998
+ #~ msgstr "Carica nuove immagini"
999
+
1000
+ #~ msgid "Are you sure you want to remove this image?"
1001
+ #~ msgstr "Confermi di voler rimuovere questa immagine?"
1002
+
1003
+ #~ msgid "px"
1004
+ #~ msgstr "px"
1005
+
1006
+ #~ msgid "em"
1007
+ #~ msgstr "em"
1008
+
1009
+ #~ msgid "pt"
1010
+ #~ msgstr "pt"
1011
+
1012
+ #~ msgid "rem"
1013
+ #~ msgstr "rem"
1014
+
1015
+ #~ msgid "Web fonts"
1016
+ #~ msgstr "Web fonts"
1017
+
1018
+ #~ msgid "Google fonts"
1019
+ #~ msgstr "Google fonts"
1020
+
1021
+ #~ msgid "Regular"
1022
+ #~ msgstr "Normale"
1023
+
1024
+ #~ msgid "Bold"
1025
+ #~ msgstr "Grassetto"
1026
+
1027
+ #~ msgid "Extra bold"
1028
+ #~ msgstr "Extra bold"
1029
+
1030
+ #~ msgid "Italic"
1031
+ #~ msgstr "Corsivo"
1032
+
1033
+ #~ msgid "Italic bold"
1034
+ #~ msgstr "Grassetto corsivo"
1035
+
1036
+ #~ msgid "Join the club"
1037
+ #~ msgstr "Iscriviti al Club"
1038
+
1039
+ #~ msgid "Despacho Theme - 100% FREE"
1040
+ #~ msgstr "Despacho Theme - 100% GRATUITO"
1041
+
1042
+ #~ msgid "FREE!"
1043
+ #~ msgstr "GRATIS!"
1044
+
1045
+ #~ msgid "Important Links"
1046
+ #~ msgstr "Link importanti"
1047
 
1048
  #~ msgid ""
1049
  #~ "Have you purchased the premium version of a plugin? Don't you know how to "
1150
  #~ "facilmente recuperarla dalla sezione \"My Licenses\" all'interno della "
1151
  #~ "sezione My Account del nostro sito yithemes.com."
1152
 
 
 
 
1153
  #~ msgid ""
1154
  #~ "The last step is the activation of the plugin through its license key you "
1155
  #~ "received after the purchase. Click on \"License Activation\" that you "
plugin-fw/languages/yith-plugin-fw.pot CHANGED
@@ -5,24 +5,59 @@ 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: 2017-09-27 13:39+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"
12
  "Language: en\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 1.8.9\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\n"
20
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
  "X-Poedit-SourceCharset: UTF-8\n"
22
  "X-Poedit-Basepath: ..\n"
23
  "X-Textdomain-Support: yes\n"
24
  "X-Poedit-SearchPath-0: .\n"
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  #: lib/yit-cpt-unlimited.php:460 lib/yit-cpt-unlimited.php:574
27
  #: lib/yit-cpt-unlimited.php:719 lib/yit-cpt-unlimited.php:1632
28
  #, php-format
@@ -82,7 +117,7 @@ msgctxt "taxonomy singular name"
82
  msgid "Category"
83
  msgstr ""
84
 
85
- #: lib/yit-cpt-unlimited.php:627
86
  msgid "Search Categories"
87
  msgstr ""
88
 
@@ -128,7 +163,7 @@ msgid "%s Settings"
128
  msgstr ""
129
 
130
  #: lib/yit-cpt-unlimited.php:1048 lib/yit-cpt-unlimited.php:1196
131
- #: lib/yit-cpt-unlimited.php:1202 lib/yit-plugin-panel.php:69
132
  msgid "Settings"
133
  msgstr ""
134
 
@@ -206,8 +241,8 @@ msgstr ""
206
  msgid "Show frontend of the %s"
207
  msgstr ""
208
 
209
- #: lib/yit-cpt-unlimited.php:1482 templates/metaboxes/types/customtabs.php:46
210
- #: templates/metaboxes/types/customtabs.php:90
211
  msgid "Name"
212
  msgstr ""
213
 
@@ -220,81 +255,77 @@ msgstr ""
220
  msgid "Upload multiple files"
221
  msgstr ""
222
 
223
- #: lib/yit-plugin-panel-wc.php:372
224
  msgid "The changes you have made will be lost if you leave this page."
225
  msgstr ""
226
 
227
- #: lib/yit-plugin-panel.php:68
228
  msgid "Plugin Settings"
229
  msgstr ""
230
 
231
- #: lib/yit-plugin-panel.php:291 lib/yit-plugin-panel.php:294
232
  msgid "How to install premium version"
233
  msgstr ""
234
 
235
- #: lib/yit-plugin-panel.php:345 lib/yit-plugin-subpanel.php:146
236
  #: templates/panel/woocommerce/woocommerce-form.php:11
237
  msgid "Save Changes"
238
  msgstr ""
239
 
240
- #: lib/yit-plugin-panel.php:348 templates/panel/woocommerce/woocommerce-form.php:14
 
241
  msgid "If you continue with this action, you will reset all options in this page."
242
  msgstr ""
243
 
244
- #: lib/yit-plugin-panel.php:350 lib/yit-plugin-subpanel.php:151
245
  msgid "Reset to default"
246
  msgstr ""
247
 
248
- #: lib/yit-plugin-panel.php:350 lib/yit-plugin-subpanel.php:151
249
  #: templates/panel/woocommerce/woocommerce-form.php:18
250
  msgid "Are you sure?"
251
  msgstr ""
252
 
253
- #: lib/yit-plugin-panel.php:487
254
  msgid "The element you have entered already exists. Please, enter another name."
255
  msgstr ""
256
 
257
- #: lib/yit-plugin-panel.php:488
258
  msgid "Settings saved"
259
  msgstr ""
260
 
261
- #: lib/yit-plugin-panel.php:489
262
  msgid "Settings reset"
263
  msgstr ""
264
 
265
- #: lib/yit-plugin-panel.php:490
266
  msgid "Element deleted correctly."
267
  msgstr ""
268
 
269
- #: lib/yit-plugin-panel.php:491 lib/yit-plugin-panel.php:492
270
  msgid "Element updated correctly."
271
  msgstr ""
272
 
273
- #: lib/yit-plugin-panel.php:493
274
  msgid "Database imported correctly."
275
  msgstr ""
276
 
277
- #: lib/yit-plugin-panel.php:494
278
  msgid "An error has occurred during import. Please try again."
279
  msgstr ""
280
 
281
- #: lib/yit-plugin-panel.php:495
282
  msgid "The added file is not valid."
283
  msgstr ""
284
 
285
- #: lib/yit-plugin-panel.php:496
286
  msgid "Sorry, import is disabled."
287
  msgstr ""
288
 
289
- #: lib/yit-plugin-panel.php:497
290
  msgid "Sorting successful."
291
  msgstr ""
292
 
293
- #: lib/yit-plugin-subpanel.php:149
294
- msgid ""
295
- "If you continue with this action, you will reset all the options in this page."
296
- msgstr ""
297
-
298
  #: lib/yit-pointers.php:70
299
  msgid "Plugins Activated"
300
  msgstr ""
@@ -329,39 +360,43 @@ msgid ""
329
  "Plugins tab."
330
  msgstr ""
331
 
332
- #: lib/yit-upgrade.php:135
 
 
 
 
333
  msgid "There is a new version of %plugin_name% available."
334
  msgstr ""
335
 
336
- #: lib/yit-upgrade.php:136
337
  msgid "View version %latest% details."
338
  msgstr ""
339
 
340
- #: lib/yit-upgrade.php:137
341
  msgid "Automatic update is unavailable for this plugin,"
342
  msgstr ""
343
 
344
- #: lib/yit-upgrade.php:138
345
  msgid "please <a href=\"%activate_link%\">activate</a> your copy of %plugin_name%."
346
  msgstr ""
347
 
348
- #: lib/yit-upgrade.php:139
349
  msgid "Update now."
350
  msgstr ""
351
 
352
- #: lib/yit-upgrade.php:240
353
- msgid "YIThemes Repository"
354
  msgstr ""
355
 
356
- #: lib/yit-upgrade.php:274
357
  msgid "Invalid URL Provided."
358
  msgstr ""
359
 
360
- #: lib/yit-upgrade.php:287
361
  msgid "Could not create Temporary file."
362
  msgstr ""
363
 
364
- #: lib/yit-upgrade.php:446
365
  #, php-format
366
  msgid ""
367
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -369,7 +404,7 @@ msgid ""
369
  "details</a>."
370
  msgstr ""
371
 
372
- #: lib/yit-upgrade.php:448
373
  #, php-format
374
  msgid ""
375
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -378,7 +413,7 @@ msgid ""
378
  "to benefit from automatic updates.</em>"
379
  msgstr ""
380
 
381
- #: lib/yit-upgrade.php:450
382
  #, php-format
383
  msgid ""
384
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -387,7 +422,7 @@ msgid ""
387
  "\"%5$s\" title=\"License activation\">activate</a> your copy of %6s.</em>"
388
  msgstr ""
389
 
390
- #: lib/yit-upgrade.php:452
391
  #, php-format
392
  msgid ""
393
  "There is a new version of %1$s available. <a href=\"%2$s\" class=\"thickbox yit-"
@@ -395,98 +430,96 @@ msgid ""
395
  "details</a> or <a href=\"%5$s\">update now</a>."
396
  msgstr ""
397
 
398
- #: lib/yit-upgrade.php:526
399
  msgid "You can't update the plugins for this site."
400
  msgstr ""
401
 
402
- #: lib/yit-upgrade.php:530
403
  msgid "You do not have sufficient permissions to update the plugins for this site."
404
  msgstr ""
405
 
406
- #: lib/yit-upgrade.php:537
407
  msgid "Update Plugin"
408
  msgstr ""
409
 
410
- #: licence/lib/yit-licence.php:183
411
  #, php-format
412
  msgctxt "%s = field name"
413
  msgid "%s field cannot be empty"
414
  msgstr ""
415
 
416
- #: licence/lib/yit-licence.php:184
417
  #, php-format
418
  msgid "%s and %s fields cannot be empty"
419
  msgstr ""
420
 
421
- #: licence/lib/yit-licence.php:185
422
  msgid "Unable to contact the remote server, please try again later. Thanks!"
423
  msgstr ""
424
 
425
- #: licence/lib/yit-licence.php:186
426
  #: licence/templates/panel/activation/activation-panel.php:88
427
  #: licence/templates/panel/activation/activation-panel.php:166
428
  #: licence/templates/panel/activation/activation-panel.php:197
429
- #: templates/metaboxes/types/contactform.php:148
430
- #: templates/metaboxes/types/contactform.php:340
431
  msgid "Email"
432
  msgstr ""
433
 
434
- #: licence/lib/yit-licence.php:187
435
  #: licence/templates/panel/activation/activation-panel.php:89
436
  #: licence/templates/panel/activation/activation-panel.php:167
437
  #: licence/templates/panel/activation/activation-panel.php:198
438
  msgid "License Key"
439
  msgstr ""
440
 
441
- #: licence/lib/yit-licence.php:188
442
  msgid "Are you sure you want to deactivate the license for current site?"
443
  msgstr ""
444
 
445
- #: licence/lib/yit-licence.php:668
446
  msgid "Invalid Request"
447
  msgstr ""
448
 
449
- #: licence/lib/yit-licence.php:669
450
  msgid "Invalid license key"
451
  msgstr ""
452
 
453
- #: licence/lib/yit-licence.php:670
454
  msgid "Software has been deactivated"
455
  msgstr ""
456
 
457
- #: licence/lib/yit-licence.php:671
458
  msgid "Maximum number of activations exceeded"
459
  msgstr ""
460
 
461
- #: licence/lib/yit-licence.php:672
462
  msgid "Invalid instance ID"
463
  msgstr ""
464
 
465
- #: licence/lib/yit-licence.php:673
466
  msgid "Invalid security key"
467
  msgstr ""
468
 
469
- #: licence/lib/yit-licence.php:674
470
  msgid "License key has expired"
471
  msgstr ""
472
 
473
- #: licence/lib/yit-licence.php:675
474
  msgid "License key has been banned"
475
  msgstr ""
476
 
477
- #: licence/lib/yit-licence.php:676
478
  msgid "Current product is not included in your YITH Club Subscription key"
479
  msgstr ""
480
 
481
- #: licence/lib/yit-licence.php:677
482
  msgid "Great"
483
  msgstr ""
484
 
485
- #: licence/lib/yit-licence.php:677
486
  msgid "License successfully activated"
487
  msgstr ""
488
 
489
- #: licence/lib/yit-licence.php:678
490
  msgid "License key deactivated for website"
491
  msgstr ""
492
 
@@ -517,12 +550,12 @@ msgid ""
517
  " After 27 January 2016, instead, if you want to benefit from "
518
  "support and updates you have to buy a new license and activate it through the "
519
  "license key you will be\n"
520
- " provided with and that you can find in your YIThemes account, "
521
- "in section \"My licenses\"."
522
  msgstr ""
523
 
524
  #: licence/templates/panel/activation/activation-panel.php:23
525
- msgid "Yithemes License Activation"
526
  msgstr ""
527
 
528
  #: licence/templates/panel/activation/activation-panel.php:27
@@ -602,370 +635,150 @@ msgstr ""
602
  msgid "Renew license"
603
  msgstr ""
604
 
605
- #: templates/metaboxes/types/ajax-products.php:23
606
- msgid "Search for a product"
607
- msgstr ""
608
-
609
- #: templates/metaboxes/types/categories.php:36
610
- msgid "No categories."
611
- msgstr ""
612
-
613
- #: templates/metaboxes/types/categories.php:42
614
- msgid "+ Add New Category"
615
- msgstr ""
616
-
617
- #: templates/metaboxes/types/categories.php:46
618
- msgid "Add"
619
- msgstr ""
620
-
621
- #: templates/metaboxes/types/contactform.php:7
622
- msgid "Text Input"
623
- msgstr ""
624
-
625
- #: templates/metaboxes/types/contactform.php:8
626
- msgid "Checkbox"
627
- msgstr ""
628
-
629
- #: templates/metaboxes/types/contactform.php:9
630
- msgid "Select"
631
  msgstr ""
632
 
633
- #: templates/metaboxes/types/contactform.php:10
634
- msgid "Textarea"
635
  msgstr ""
636
 
637
- #: templates/metaboxes/types/contactform.php:11
638
- msgid "Radio Input"
639
- msgstr ""
640
-
641
- #: templates/metaboxes/types/contactform.php:12
642
- msgid "Password Field"
643
- msgstr ""
644
-
645
- #: templates/metaboxes/types/contactform.php:13
646
- msgid "File Upload"
647
- msgstr ""
648
-
649
- #: templates/metaboxes/types/contactform.php:47
650
- msgid "Theme Icon"
651
- msgstr ""
652
-
653
- #: templates/metaboxes/types/contactform.php:48
654
- msgid "Custom Icon"
655
- msgstr ""
656
-
657
- #: templates/metaboxes/types/contactform.php:49
658
- #: templates/metaboxes/types/responsivesliders.php:24
659
- msgid "None"
660
  msgstr ""
661
 
662
- #: templates/metaboxes/types/contactform.php:60
663
- msgid "Add field"
664
  msgstr ""
665
 
666
- #: templates/metaboxes/types/contactform.php:69
667
- #: templates/metaboxes/types/contactform.php:261
668
- #: templates/metaboxes/types/customtabs.php:37
669
- #: templates/metaboxes/types/customtabs.php:82
670
  msgid "Remove"
671
  msgstr ""
672
 
673
- #: templates/metaboxes/types/contactform.php:70
674
- #: templates/metaboxes/types/contactform.php:262
675
- msgid "Click to toggle"
676
- msgstr ""
677
-
678
- #: templates/metaboxes/types/contactform.php:77
679
- #: templates/metaboxes/types/contactform.php:269
680
- msgid "Field Title"
681
- msgstr ""
682
-
683
- #: templates/metaboxes/types/contactform.php:81
684
- #: templates/metaboxes/types/contactform.php:273
685
- msgid "Insert the title for the field."
686
- msgstr ""
687
-
688
- #: templates/metaboxes/types/contactform.php:86
689
- #: templates/metaboxes/types/contactform.php:278
690
- msgid "Data Name"
691
- msgstr ""
692
-
693
- #: templates/metaboxes/types/contactform.php:90
694
- #: templates/metaboxes/types/contactform.php:282
695
- msgid ""
696
- "REQUIRED: Field identification name to be entered into email body. <strong>Note:</"
697
- "strong>Use only lowercase characters and underscores."
698
- msgstr ""
699
-
700
- #: templates/metaboxes/types/contactform.php:95
701
- #: templates/metaboxes/types/contactform.php:287
702
- msgid "Field Type"
703
- msgstr ""
704
-
705
- #: templates/metaboxes/types/contactform.php:103
706
- #: templates/metaboxes/types/contactform.php:295
707
- msgid "Select the type for this field."
708
- msgstr ""
709
-
710
- #: templates/metaboxes/types/contactform.php:108
711
- #: templates/metaboxes/types/contactform.php:300
712
- msgid "Checked"
713
- msgstr ""
714
-
715
- #: templates/metaboxes/types/contactform.php:112
716
- #: templates/metaboxes/types/contactform.php:304
717
- msgid "Select this option if you want this field appears as already checked."
718
- msgstr ""
719
-
720
- #: templates/metaboxes/types/contactform.php:117
721
- #: templates/metaboxes/types/contactform.php:309
722
- msgid "Add options "
723
- msgstr ""
724
-
725
- #: templates/metaboxes/types/contactform.php:118
726
- #: templates/metaboxes/types/contactform.php:310
727
- msgid "Add option"
728
- msgstr ""
729
-
730
- #: templates/metaboxes/types/contactform.php:121
731
- #: templates/metaboxes/types/contactform.php:313
732
- #: templates/metaboxes/types/contactform.php:436
733
- msgid "Selected"
734
- msgstr ""
735
-
736
- #: templates/metaboxes/types/contactform.php:124
737
- #: templates/metaboxes/types/contactform.php:316
738
- #: templates/metaboxes/types/contactform.php:436
739
- msgid "Delete option"
740
- msgstr ""
741
-
742
- #: templates/metaboxes/types/contactform.php:130
743
- #: templates/metaboxes/types/contactform.php:322
744
- msgid "Error Message"
745
- msgstr ""
746
-
747
- #: templates/metaboxes/types/contactform.php:134
748
- #: templates/metaboxes/types/contactform.php:326
749
- msgid "Insert the error message for validation."
750
- msgstr ""
751
-
752
- #: templates/metaboxes/types/contactform.php:139
753
- #: templates/metaboxes/types/contactform.php:331
754
- msgid "Required"
755
- msgstr ""
756
-
757
- #: templates/metaboxes/types/contactform.php:143
758
- #: templates/metaboxes/types/contactform.php:335
759
- msgid "Select this option if it must be required."
760
- msgstr ""
761
-
762
- #: templates/metaboxes/types/contactform.php:152
763
- #: templates/metaboxes/types/contactform.php:344
764
- msgid "Select this option if the email must be valid."
765
- msgstr ""
766
-
767
- #: templates/metaboxes/types/contactform.php:157
768
- #: templates/metaboxes/types/contactform.php:349
769
- msgid "Reply To"
770
- msgstr ""
771
-
772
- #: templates/metaboxes/types/contactform.php:161
773
- #: templates/metaboxes/types/contactform.php:353
774
- msgid "Select this if it is the email you can reply to."
775
- msgstr ""
776
-
777
- #: templates/metaboxes/types/contactform.php:166
778
- #: templates/metaboxes/types/contactform.php:358
779
- msgid "Class"
780
- msgstr ""
781
-
782
- #: templates/metaboxes/types/contactform.php:170
783
- #: templates/metaboxes/types/contactform.php:362
784
- msgid "Insert additional class(es) (separated by commas) for more personalization."
785
- msgstr ""
786
-
787
- #: templates/metaboxes/types/contactform.php:175
788
- #: templates/metaboxes/types/contactform.php:367
789
- msgid "Icon"
790
- msgstr ""
791
-
792
- #: templates/metaboxes/types/contactform.php:203
793
- #: templates/metaboxes/types/contactform.php:391
794
- #: templates/metaboxes/types/icon-list.php:69
795
- #: templates/metaboxes/types/select-icon.php:33
796
- #: templates/metaboxes/types/upload.php:21 templates/panel/types/upload.php:31
797
- #: templates/panel/woocommerce/woocommerce-upload.php:40
798
- msgid "Upload"
799
- msgstr ""
800
-
801
- #: templates/metaboxes/types/contactform.php:209
802
- #: templates/metaboxes/types/contactform.php:397
803
- #: templates/metaboxes/types/icon-list.php:75
804
- #: templates/metaboxes/types/select-icon.php:39
805
- msgid "Image preview"
806
- msgstr ""
807
-
808
- #: templates/metaboxes/types/contactform.php:217
809
- #: templates/metaboxes/types/contactform.php:405
810
- msgid "Insert an icon for more personalization."
811
- msgstr ""
812
-
813
- #: templates/metaboxes/types/contactform.php:222
814
- #: templates/metaboxes/types/contactform.php:409
815
- msgid "Width"
816
- msgstr ""
817
-
818
- #: templates/metaboxes/types/contactform.php:247
819
- #: templates/metaboxes/types/contactform.php:421
820
- msgid "Set field length."
821
- msgstr ""
822
-
823
- #: templates/metaboxes/types/customtabs.php:28
824
- msgid "Close all"
825
- msgstr ""
826
-
827
- #: templates/metaboxes/types/customtabs.php:28
828
- msgid "Expand all"
829
- msgstr ""
830
-
831
- #: templates/metaboxes/types/customtabs.php:52
832
- #: templates/metaboxes/types/customtabs.php:95
833
  msgid "Value"
834
  msgstr ""
835
 
836
- #: templates/metaboxes/types/customtabs.php:53
837
- #: templates/metaboxes/types/customtabs.php:96
838
  msgid "Content of the tab. (HTML is supported)"
839
  msgstr ""
840
 
841
- #: templates/metaboxes/types/customtabs.php:65
842
  msgid "Add custom product tab"
843
  msgstr ""
844
 
845
- #: templates/metaboxes/types/customtabs.php:107
846
  msgid "Do you want to remove the custom tab?"
847
  msgstr ""
848
 
849
- #: templates/metaboxes/types/icon-list.php:89
850
- #, php-format
851
- msgid "(Default: %s <img src=\"%s\"/>)"
852
- msgstr ""
853
-
854
- #: templates/metaboxes/types/icon-list.php:91
855
- #, php-format
856
- msgid "(Default: <i %s></i> )"
857
  msgstr ""
858
 
859
- #: templates/metaboxes/types/image-gallery.php:40
860
- #: templates/metaboxes/types/image-gallery.php:45
861
- #: templates/metaboxes/types/images.php:38 templates/metaboxes/types/images.php:64
862
  msgid "Delete image"
863
  msgstr ""
864
 
865
- #: templates/metaboxes/types/image-gallery.php:45
866
  msgid "Add Images to Gallery"
867
  msgstr ""
868
 
869
- #: templates/metaboxes/types/image-gallery.php:45
870
  msgid "Add to gallery"
871
  msgstr ""
872
 
873
- #: templates/metaboxes/types/image-gallery.php:45
874
  msgid "Add images"
875
  msgstr ""
876
 
877
- #: templates/metaboxes/types/image-gallery.php:45
878
  msgid "Delete"
879
  msgstr ""
880
 
881
- #: templates/metaboxes/types/images.php:42
882
- msgid "Upload new images"
883
  msgstr ""
884
 
885
- #: templates/metaboxes/types/images.php:75
886
- msgid "Are you sure you want to remove this image?"
887
  msgstr ""
888
 
889
- #: templates/metaboxes/types/sidebar-layout.php:25
890
- #: templates/metaboxes/types/sidebars.php:36
891
  msgid "Left sidebar"
892
  msgstr ""
893
 
894
- #: templates/metaboxes/types/sidebar-layout.php:28
895
- #: templates/metaboxes/types/sidebars.php:42
896
- #: templates/metaboxes/types/sidebars.php:45
897
- msgid "No sidebar"
898
- msgstr ""
899
-
900
- #: templates/metaboxes/types/sidebar-layout.php:31
901
- #: templates/metaboxes/types/sidebars.php:39
902
  msgid "Right sidebar"
903
  msgstr ""
904
 
905
- #: templates/metaboxes/types/sidebar-layout.php:34
906
- #: templates/metaboxes/types/sidebars.php:53
907
- #: templates/metaboxes/types/sidebars.php:64
908
- msgid "Choose a sidebar"
909
  msgstr ""
910
 
911
- #: templates/metaboxes/types/sidebars.php:51
912
  msgid "Left Sidebar"
913
  msgstr ""
914
 
915
- #: templates/metaboxes/types/sidebars.php:62
916
- msgid "Right Sidebar"
917
  msgstr ""
918
 
919
- #: templates/metaboxes/types/typography.php:42
920
- msgid "px"
921
  msgstr ""
922
 
923
- #: templates/metaboxes/types/typography.php:43
924
- msgid "em"
 
925
  msgstr ""
926
 
927
- #: templates/metaboxes/types/typography.php:44
928
- msgid "pt"
929
  msgstr ""
930
 
931
- #: templates/metaboxes/types/typography.php:45
932
- msgid "rem"
933
  msgstr ""
934
 
935
- #: templates/metaboxes/types/typography.php:59
936
- #: templates/metaboxes/types/typography.php:153
937
- #: templates/metaboxes/types/typography.php:217
938
- msgid "Web fonts"
939
  msgstr ""
940
 
941
- #: templates/metaboxes/types/typography.php:71
942
- msgid "Google fonts"
 
943
  msgstr ""
944
 
945
- #: templates/metaboxes/types/typography.php:96
946
- msgid "Regular"
947
  msgstr ""
948
 
949
- #: templates/metaboxes/types/typography.php:97
950
- msgid "Bold"
 
951
  msgstr ""
952
 
953
- #: templates/metaboxes/types/typography.php:98
954
- msgid "Extra bold"
 
955
  msgstr ""
956
 
957
- #: templates/metaboxes/types/typography.php:99
958
- msgid "Italic"
 
959
  msgstr ""
960
 
961
- #: templates/metaboxes/types/typography.php:100
962
- msgid "Italic bold"
 
963
  msgstr ""
964
 
965
- #: templates/panel/types/upload.php:32
966
- msgid "Reset"
 
967
  msgstr ""
968
 
969
- #: templates/panel/woocommerce/woocommerce-form.php:17
970
- msgid "Reset Defaults"
971
  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: 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"
12
  "Language: en\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.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"
20
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
  "X-Poedit-SourceCharset: UTF-8\n"
22
  "X-Poedit-Basepath: ..\n"
23
  "X-Textdomain-Support: yes\n"
24
  "X-Poedit-SearchPath-0: .\n"
25
 
26
+ #: lib/privacy/yit-privacy.php:24
27
+ msgctxt "Privacy Policy Guide Title"
28
+ msgid "YITH Plugins"
29
+ msgstr ""
30
+
31
+ #: lib/privacy/yit-privacy.php:59
32
+ msgctxt "Privacy Policy Content"
33
+ msgid ""
34
+ "This sample language includes the basics around what personal data your store may "
35
+ "be collecting, storing and sharing, as well as who may have access to that data. "
36
+ "Depending on what settings are enabled and which additional plugins are used, the "
37
+ "specific information shared by your store will vary. We recommend consulting with "
38
+ "a lawyer when deciding what information to 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
63
  #, php-format
117
  msgid "Category"
118
  msgstr ""
119
 
120
+ #: lib/yit-cpt-unlimited.php:627 templates/fields/ajax-terms.php:56
121
  msgid "Search Categories"
122
  msgstr ""
123
 
163
  msgstr ""
164
 
165
  #: lib/yit-cpt-unlimited.php:1048 lib/yit-cpt-unlimited.php:1196
166
+ #: lib/yit-cpt-unlimited.php:1202 lib/yit-plugin-panel.php:73
167
  msgid "Settings"
168
  msgstr ""
169
 
241
  msgid "Show frontend of the %s"
242
  msgstr ""
243
 
244
+ #: lib/yit-cpt-unlimited.php:1482 templates/fields/customtabs.php:46
245
+ #: templates/fields/customtabs.php:89
246
  msgid "Name"
247
  msgstr ""
248
 
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
 
262
+ #: lib/yit-plugin-panel.php:72
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
 
 
 
 
 
 
329
  #: lib/yit-pointers.php:70
330
  msgid "Plugins Activated"
331
  msgstr ""
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
  "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
  "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
  "\"%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
  "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
 
550
  " After 27 January 2016, instead, if you want to benefit from "
551
  "support and updates you have to buy a new license and activate it through the "
552
  "license key you will be\n"
553
+ " provided with and that you can find in your YITH account, in "
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
635
  msgid "Renew license"
636
  msgstr ""
637
 
638
+ #: templates/fields/ajax-posts.php:57
639
+ msgid "Search Posts"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
640
  msgstr ""
641
 
642
+ #: templates/fields/ajax-products.php:16
643
+ msgid "Search Product"
644
  msgstr ""
645
 
646
+ #: templates/fields/customtabs.php:28
647
+ msgid "Close all"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
648
  msgstr ""
649
 
650
+ #: templates/fields/customtabs.php:28
651
+ msgid "Expand all"
652
  msgstr ""
653
 
654
+ #: templates/fields/customtabs.php:37 templates/fields/customtabs.php:81
 
 
 
655
  msgid "Remove"
656
  msgstr ""
657
 
658
+ #: templates/fields/customtabs.php:52 templates/fields/customtabs.php:94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659
  msgid "Value"
660
  msgstr ""
661
 
662
+ #: templates/fields/customtabs.php:53 templates/fields/customtabs.php:95
 
663
  msgid "Content of the tab. (HTML is supported)"
664
  msgstr ""
665
 
666
+ #: templates/fields/customtabs.php:65
667
  msgid "Add custom product tab"
668
  msgstr ""
669
 
670
+ #: templates/fields/customtabs.php:106
671
  msgid "Do you want to remove the custom tab?"
672
  msgstr ""
673
 
674
+ #: templates/fields/icons.php:58
675
+ msgid "Set Default"
 
 
 
 
 
 
676
  msgstr ""
677
 
678
+ #: templates/fields/image-gallery.php:34 templates/fields/image-gallery.php:39
 
 
679
  msgid "Delete image"
680
  msgstr ""
681
 
682
+ #: templates/fields/image-gallery.php:39
683
  msgid "Add Images to Gallery"
684
  msgstr ""
685
 
686
+ #: templates/fields/image-gallery.php:39
687
  msgid "Add to gallery"
688
  msgstr ""
689
 
690
+ #: templates/fields/image-gallery.php:39
691
  msgid "Add images"
692
  msgstr ""
693
 
694
+ #: templates/fields/image-gallery.php:39
695
  msgid "Delete"
696
  msgstr ""
697
 
698
+ #: templates/fields/select-buttons.php:26
699
+ msgid "Select All"
700
  msgstr ""
701
 
702
+ #: templates/fields/select-buttons.php:33
703
+ msgid "Deselect All"
704
  msgstr ""
705
 
706
+ #: templates/fields/sidebars.php:22
 
707
  msgid "Left sidebar"
708
  msgstr ""
709
 
710
+ #: templates/fields/sidebars.php:25
 
 
 
 
 
 
 
711
  msgid "Right sidebar"
712
  msgstr ""
713
 
714
+ #: templates/fields/sidebars.php:28 templates/fields/sidebars.php:31
715
+ msgid "No sidebar"
 
 
716
  msgstr ""
717
 
718
+ #: templates/fields/sidebars.php:39
719
  msgid "Left Sidebar"
720
  msgstr ""
721
 
722
+ #: templates/fields/sidebars.php:41 templates/fields/sidebars.php:54
723
+ msgid "Choose a sidebar"
724
  msgstr ""
725
 
726
+ #: templates/fields/sidebars.php:52
727
+ msgid "Right Sidebar"
728
  msgstr ""
729
 
730
+ #: templates/fields/upload.php:18 templates/metaboxes/types/icon-list.php:70
731
+ #: templates/panel/woocommerce/woocommerce-upload.php:40
732
+ msgid "Upload"
733
  msgstr ""
734
 
735
+ #: templates/fields/upload.php:19
736
+ msgid "Reset"
737
  msgstr ""
738
 
739
+ #: templates/metaboxes/types/icon-list.php:76
740
+ msgid "Image preview"
741
  msgstr ""
742
 
743
+ #: templates/metaboxes/types/icon-list.php:90
744
+ #, php-format
745
+ msgid "(Default: %s <img src=\"%s\"/>)"
 
746
  msgstr ""
747
 
748
+ #: templates/metaboxes/types/icon-list.php:92
749
+ #, php-format
750
+ msgid "(Default: <i %s></i> )"
751
  msgstr ""
752
 
753
+ #: templates/panel/woocommerce/woocommerce-form.php:17
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 ""
plugin-fw/lib/promo/yith-promo.php ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin 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
+ 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
+ }
plugin-fw/lib/yit-ajax.php CHANGED
@@ -17,7 +17,7 @@ if ( !class_exists( 'YIT_Ajax' ) ) {
17
  * YIT Ajax
18
  *
19
  * @class YIT_Ajax
20
- * @package Yithemes
21
  * @since 1.0
22
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
23
  */
@@ -83,7 +83,7 @@ if ( !class_exists( 'YIT_Ajax' ) ) {
83
 
84
  $request = $request ? $request : $_REQUEST;
85
 
86
- $term = (string) wc_clean( stripslashes( $request[ 'term' ] ) );
87
  if ( empty( $term ) ) {
88
  die();
89
  }
@@ -208,7 +208,7 @@ if ( !class_exists( 'YIT_Ajax' ) ) {
208
 
209
  check_ajax_referer( 'search-terms', 'security' );
210
 
211
- $term = (string) wc_clean( stripslashes( $_REQUEST[ 'term' ] ) );
212
 
213
  if ( empty( $term ) ) {
214
  die();
17
  * YIT Ajax
18
  *
19
  * @class YIT_Ajax
20
+ * @package YITH
21
  * @since 1.0
22
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
23
  */
83
 
84
  $request = $request ? $request : $_REQUEST;
85
 
86
+ $term = (string) sanitize_text_field( stripslashes( $request[ 'term' ] ) );
87
  if ( empty( $term ) ) {
88
  die();
89
  }
208
 
209
  check_ajax_referer( 'search-terms', 'security' );
210
 
211
+ $term = (string) sanitize_text_field( stripslashes( $_REQUEST[ 'term' ] ) );
212
 
213
  if ( empty( $term ) ) {
214
  die();
plugin-fw/lib/yit-assets.php CHANGED
@@ -15,7 +15,7 @@ if ( !class_exists( 'YIT_Assets' ) ) {
15
  * YIT Assets
16
  *
17
  * @class YIT_Assets
18
- * @package Yithemes
19
  * @since 3.0.0
20
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
21
  */
@@ -69,20 +69,24 @@ if ( !class_exists( 'YIT_Assets' ) ) {
69
  wp_register_style( 'yit-plugin-metaboxes', YIT_CORE_PLUGIN_URL . '/assets/css/metaboxes.css' );
70
  wp_register_style( 'yith-plugin-fw-fields', YIT_CORE_PLUGIN_URL . '/assets/css/yith-fields.css', false, $this->version );
71
 
 
72
  if ( function_exists( 'WC' ) || !empty( $woocommerce ) ) {
73
  $woocommerce_version = function_exists( 'WC' ) ? WC()->version : $woocommerce->version;
74
  $wc_version_suffix = version_compare( $woocommerce_version, '3.0.0', '>=' ) ? '' : '-wc-2.6';
75
 
76
  wp_register_style( 'woocommerce_admin_styles', $woocommerce->plugin_url() . '/assets/css/admin.css', array(), $woocommerce_version );
77
-
78
- wp_register_script( 'yith-enhanced-select', YIT_CORE_PLUGIN_URL . '/assets/js/yith-enhanced-select' . $wc_version_suffix . $suffix . '.js', array( 'jquery', 'select2', 'woocommerce_admin' ), '1.0.0', true );
79
- wp_localize_script( 'yith-enhanced-select', 'yith_framework_enhanced_select_params', array(
80
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
81
- 'search_posts_nonce' => wp_create_nonce( 'search-posts' ),
82
- 'search_terms_nonce' => wp_create_nonce( 'search-terms' ),
83
- ) );
84
  }
85
 
 
 
 
 
 
 
 
86
  wp_enqueue_style( 'yith-plugin-fw-admin', YIT_CORE_PLUGIN_URL . '/assets/css/admin.css', array(), $this->version );
87
 
88
  }
15
  * YIT Assets
16
  *
17
  * @class YIT_Assets
18
+ * @package YITH
19
  * @since 3.0.0
20
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
21
  */
69
  wp_register_style( 'yit-plugin-metaboxes', YIT_CORE_PLUGIN_URL . '/assets/css/metaboxes.css' );
70
  wp_register_style( 'yith-plugin-fw-fields', YIT_CORE_PLUGIN_URL . '/assets/css/yith-fields.css', false, $this->version );
71
 
72
+ $wc_version_suffix = '';
73
  if ( function_exists( 'WC' ) || !empty( $woocommerce ) ) {
74
  $woocommerce_version = function_exists( 'WC' ) ? WC()->version : $woocommerce->version;
75
  $wc_version_suffix = version_compare( $woocommerce_version, '3.0.0', '>=' ) ? '' : '-wc-2.6';
76
 
77
  wp_register_style( 'woocommerce_admin_styles', $woocommerce->plugin_url() . '/assets/css/admin.css', array(), $woocommerce_version );
78
+ } else {
79
+ wp_register_script( 'select2', '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js', array( 'jquery' ), '4.0.3', true );
80
+ wp_register_style( 'yith-select2-no-wc', YIT_CORE_PLUGIN_URL . '/assets/css/yith-select2-no-wc.css', false, $this->version );
 
 
 
 
81
  }
82
 
83
+ wp_register_script( 'yith-enhanced-select', YIT_CORE_PLUGIN_URL . '/assets/js/yith-enhanced-select' . $wc_version_suffix . $suffix . '.js', array( 'jquery', 'select2' ), '1.0.0', true );
84
+ wp_localize_script( 'yith-enhanced-select', 'yith_framework_enhanced_select_params', array(
85
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
86
+ 'search_posts_nonce' => wp_create_nonce( 'search-posts' ),
87
+ 'search_terms_nonce' => wp_create_nonce( 'search-terms' ),
88
+ ) );
89
+
90
  wp_enqueue_style( 'yith-plugin-fw-admin', YIT_CORE_PLUGIN_URL . '/assets/css/admin.css', array(), $this->version );
91
 
92
  }
plugin-fw/lib/yit-cpt-unlimited.php CHANGED
@@ -14,7 +14,7 @@ if (!defined('ABSPATH')) {exit('Direct access forbidden.');
14
  * Manage the custom post types as Portfolio, Contact Forms and similar (called CPTU)
15
  *
16
  * @class YIT_CPT_Unlimited
17
- * @package Yithemes
18
  * @since 2.0.0
19
  * @author Your Inspiration Themes
20
  *
14
  * Manage the custom post types as Portfolio, Contact Forms and similar (called CPTU)
15
  *
16
  * @class YIT_CPT_Unlimited
17
+ * @package YITH
18
  * @since 2.0.0
19
  * @author Your Inspiration Themes
20
  *
plugin-fw/lib/yit-debug.php CHANGED
@@ -17,7 +17,7 @@ if ( !class_exists( 'YITH_Debug' ) ) {
17
  * manages debug
18
  *
19
  * @class YITH_Debug
20
- * @package Yithemes
21
  * @since 1.0.0
22
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
23
  *
@@ -234,8 +234,7 @@ if ( !class_exists( 'YITH_Debug' ) ) {
234
  * @return string
235
  */
236
  public function get_plugin_framework_info() {
237
- $plugin_fw_data = get_file_data( trailingslashit( YIT_CORE_PLUGIN_PATH ) . 'init.php', array( 'Version' => 'Version' ) );
238
- $plugin_fw_version = $plugin_fw_data[ 'Version' ];
239
  $plugin_fw_loaded_by = basename( dirname( YIT_CORE_PLUGIN_PATH ) );
240
 
241
  return "$plugin_fw_version (by $plugin_fw_loaded_by)";
17
  * manages debug
18
  *
19
  * @class YITH_Debug
20
+ * @package YITH
21
  * @since 1.0.0
22
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
23
  *
234
  * @return string
235
  */
236
  public function get_plugin_framework_info() {
237
+ $plugin_fw_version = yith_plugin_fw_get_version();
 
238
  $plugin_fw_loaded_by = basename( dirname( YIT_CORE_PLUGIN_PATH ) );
239
 
240
  return "$plugin_fw_version (by $plugin_fw_loaded_by)";
plugin-fw/lib/yit-icons.php CHANGED
@@ -20,7 +20,7 @@ if ( !class_exists( 'YIT_Icons' ) ) {
20
  * Class to manage icons
21
  *
22
  * @class YIT_Icons
23
- * @package Yithemes
24
  * @since 1.0.0
25
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
26
  *
20
  * Class to manage icons
21
  *
22
  * @class YIT_Icons
23
+ * @package YITH
24
  * @since 1.0.0
25
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
26
  *
plugin-fw/lib/yit-metabox.php CHANGED
@@ -43,7 +43,7 @@ if ( !class_exists( 'YIT_Metabox' ) ) {
43
  * </code>
44
  *
45
  * @class YIT_Metaboxes
46
- * @package Yithemes
47
  * @since 1.0.0
48
  * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
49
  *
43
  * </code>
44
  *
45
  * @class YIT_Metaboxes
46
+ * @package YITH
47
  * @since 1.0.0
48
  * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
49
  *
plugin-fw/lib/yit-plugin-panel-wc.php CHANGED
@@ -19,7 +19,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
19
  * Setting Page to Manage Plugins
20
  *
21
  * @class YIT_Plugin_Panel
22
- * @package Yithemes
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
@@ -59,9 +59,11 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
59
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
60
  */
61
  public function __construct( $args = array() ) {
62
-
63
  $args = apply_filters( 'yit_plugin_fw_wc_panel_option_args', $args );
64
  if ( !empty( $args ) ) {
 
 
 
65
  $this->settings = $args;
66
  $this->_tabs_path_files = $this->get_tabs_path_files();
67
 
@@ -176,7 +178,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
176
  * @param $screen_ids
177
  *
178
  * @return mixed
179
- * @since 1.0.0
180
  * @author Antonino Scarfì <antonino.scarfi@yithemes.com>
181
  */
182
  public function add_allowed_screen_id( $screen_ids ) {
@@ -323,7 +325,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
323
  do_action( 'yit_panel_wc_after_update' );
324
 
325
  } elseif ( isset( $_REQUEST[ 'yit-action' ] ) && $_REQUEST[ 'yit-action' ] == 'wc-options-reset'
326
- && isset( $_POST[ 'yith_wc_reset_options_nonce' ] ) && wp_verify_nonce( $_POST[ 'yith_wc_reset_options_nonce' ], 'yith_wc_reset_options_' . $this->settings[ 'page' ] )
327
  ) {
328
 
329
  do_action( 'yit_panel_wc_before_reset' );
@@ -404,7 +406,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
404
  *
405
  * @access public
406
  * @return void
407
- * @since 1.0.0
408
  */
409
  public function set_default_options() {
410
  // check if the default options for this panel are already set
@@ -450,7 +452,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
450
  * Add the woocommerce body class in plugin panel page
451
  *
452
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
453
- * @since 2.0
454
  *
455
  * @param $classes The body classes
456
  *
@@ -474,7 +476,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
474
  *
475
  * @return mixed Filtered return value
476
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
477
- * @since 2.0
478
  */
479
  public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
480
 
@@ -506,7 +508,7 @@ if ( !class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
506
  *
507
  * @return mixed Filtered return value
508
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
509
- * @since 3.0.0
510
  */
511
  public static function sanitize_option( $value, $option, $raw_value ) {
512
  if ( isset( $option[ 'type' ] ) && 'yith-field' === $option[ 'type' ] ) {
19
  * Setting Page to Manage Plugins
20
  *
21
  * @class YIT_Plugin_Panel
22
+ * @package YITH
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
59
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
60
  */
61
  public function __construct( $args = array() ) {
 
62
  $args = apply_filters( 'yit_plugin_fw_wc_panel_option_args', $args );
63
  if ( !empty( $args ) ) {
64
+ if ( isset( $args[ 'parent_page' ] ) && 'yit_plugin_panel' === $args[ 'parent_page' ] )
65
+ $args[ 'parent_page' ] = 'yith_plugin_panel';
66
+
67
  $this->settings = $args;
68
  $this->_tabs_path_files = $this->get_tabs_path_files();
69
 
178
  * @param $screen_ids
179
  *
180
  * @return mixed
181
+ * @since 1.0.0
182
  * @author Antonino Scarfì <antonino.scarfi@yithemes.com>
183
  */
184
  public function add_allowed_screen_id( $screen_ids ) {
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' );
406
  *
407
  * @access public
408
  * @return void
409
+ * @since 1.0.0
410
  */
411
  public function set_default_options() {
412
  // check if the default options for this panel are already set
452
  * Add the woocommerce body class in plugin panel page
453
  *
454
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
455
+ * @since 2.0
456
  *
457
  * @param $classes The body classes
458
  *
476
  *
477
  * @return mixed Filtered return value
478
  * @author Antonio La Rocca <antonio.larocca@yithemes.com>
479
+ * @since 2.0
480
  */
481
  public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
482
 
508
  *
509
  * @return mixed Filtered return value
510
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
511
+ * @since 3.0.0
512
  */
513
  public static function sanitize_option( $value, $option, $raw_value ) {
514
  if ( isset( $option[ 'type' ] ) && 'yith-field' === $option[ 'type' ] ) {
plugin-fw/lib/yit-plugin-panel.php CHANGED
@@ -18,8 +18,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
18
  *
19
  * Setting Page to Manage Plugins
20
  *
21
- * @class YIT_Plugin_Panel
22
- * @package Yithemes
23
  * @since 1.0
24
  * @author Your Inspiration Themes
25
  */
@@ -77,6 +77,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
77
  );
78
 
79
  $args = apply_filters( 'yit_plugin_fw_panel_option_args', wp_parse_args( $args, $default_args ) );
 
 
80
 
81
  $this->settings = $args;
82
  $this->_tabs_path_files = $this->get_tabs_path_files();
@@ -105,7 +107,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
105
  /**
106
  * Init actions once to prevent multiple actions
107
  *
108
- * @since 3.0.0
109
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
110
  */
111
  protected static function _init_actions() {
@@ -126,7 +128,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
126
  *
127
  * @param $admin_body_classes
128
  *
129
- * @since 3.0.0
130
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
131
  *
132
  * @return string
@@ -149,13 +151,16 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
149
  public function add_menu_page() {
150
  global $admin_page_hooks;
151
 
152
- if ( !isset( $admin_page_hooks[ 'yit_plugin_panel' ] ) ) {
153
  $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
154
  $capability = apply_filters( 'yit_plugin_panel_menu_page_capability', 'manage_options' );
155
  $show = apply_filters( 'yit_plugin_panel_menu_page_show', true );
156
 
157
- // YITH Plugins text must not be translated
158
- !!$show && add_menu_page( 'yit_plugin_panel', 'YITH Plugins', $capability, 'yit_plugin_panel', null, YIT_CORE_PLUGIN_URL . '/assets/images/yithemes-icon.png', $position );
 
 
 
159
  }
160
  }
161
 
@@ -170,7 +175,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
170
  */
171
  public function remove_duplicate_submenu_page() {
172
  /* === Duplicate Items Hack === */
173
- remove_submenu_page( 'yit_plugin_panel', 'yit_plugin_panel' );
174
  }
175
 
176
  /**
@@ -201,7 +206,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
201
  wp_enqueue_script( 'yith-plugin-fw-fields' );
202
  }
203
 
204
- if ( ( 'admin.php' == $pagenow && strpos( get_current_screen()->id, 'yith-plugins_page' ) !== false ) || apply_filters( 'yit_plugin_panel_asset_loading', false ) ) {
205
  wp_enqueue_media();
206
  wp_enqueue_style( 'yit-plugin-style' );
207
  wp_enqueue_script( 'yit-plugin-panel' );
@@ -325,8 +330,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
325
  public function add_premium_version_upgrade_to_menu() {
326
  global $submenu;
327
 
328
- if ( apply_filters( 'yit_show_upgrade_to_premium_version', isset( $submenu[ 'yit_plugin_panel' ] ) && !isset( $submenu[ 'yit_plugin_panel' ][ 'how_to' ] ) ) ) {
329
- $submenu[ 'yit_plugin_panel' ][ 'how_to' ] = array(
330
  sprintf( '%s%s%s', '<span id="yith-how-to-premium">', __( 'How to install premium version', 'yith-plugin-fw' ), '</span>' ),
331
  'install_plugins',
332
  '//support.yithemes.com/hc/en-us/articles/217840988',
@@ -889,14 +894,14 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
889
  */
890
  public static function sort_plugins() {
891
  global $submenu;
892
- if ( !empty( $submenu[ 'yit_plugin_panel' ] ) ) {
893
- $sorted_plugins = $submenu[ 'yit_plugin_panel' ];
894
 
895
  usort( $sorted_plugins, function ( $a, $b ) {
896
  return strcmp( current( $a ), current( $b ) );
897
  } );
898
 
899
- $submenu[ 'yit_plugin_panel' ] = $sorted_plugins;
900
  }
901
  }
902
 
@@ -909,8 +914,8 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
909
  public static function add_menu_class_in_yith_plugin( $menu ) {
910
  global $submenu;
911
 
912
- if ( !empty( $submenu[ 'yit_plugin_panel' ] ) ) {
913
- $item_count = count( $submenu[ 'yit_plugin_panel' ] );
914
  $columns = absint( $item_count / 20 ) + 1;
915
  $columns = max( 1, min( $columns, 3 ) );
916
  $columns = apply_filters( 'yith_plugin_fw_yith_plugins_menu_columns', $columns, $item_count );
@@ -918,7 +923,7 @@ if ( !class_exists( 'YIT_Plugin_Panel' ) ) {
918
  if ( $columns > 1 ) {
919
  $class = "yith-plugin-fw-menu-$columns-columns";
920
  foreach ( $menu as $order => $top ) {
921
- if ( 'yit_plugin_panel' === $top[ 2 ] ) {
922
  $c = $menu[ $order ][ 4 ];
923
  $menu[ $order ][ 4 ] = add_cssclass( $class, $c );
924
  break;
18
  *
19
  * Setting Page to Manage Plugins
20
  *
21
+ * @class YIT_Plugin_Panel
22
+ * @package YITH
23
  * @since 1.0
24
  * @author Your Inspiration Themes
25
  */
77
  );
78
 
79
  $args = apply_filters( 'yit_plugin_fw_panel_option_args', wp_parse_args( $args, $default_args ) );
80
+ if ( isset( $args[ 'parent_page' ] ) && 'yit_plugin_panel' === $args[ 'parent_page' ] )
81
+ $args[ 'parent_page' ] = 'yith_plugin_panel';
82
 
83
  $this->settings = $args;
84
  $this->_tabs_path_files = $this->get_tabs_path_files();
107
  /**
108
  * Init actions once to prevent multiple actions
109
  *
110
+ * @since 3.0.0
111
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
112
  */
113
  protected static function _init_actions() {
128
  *
129
  * @param $admin_body_classes
130
  *
131
+ * @since 3.0.0
132
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
133
  *
134
  * @return string
151
  public function add_menu_page() {
152
  global $admin_page_hooks;
153
 
154
+ if ( !isset( $admin_page_hooks[ 'yith_plugin_panel' ] ) ) {
155
  $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
156
  $capability = apply_filters( 'yit_plugin_panel_menu_page_capability', 'manage_options' );
157
  $show = apply_filters( 'yit_plugin_panel_menu_page_show', true );
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
  }
165
  }
166
 
175
  */
176
  public function remove_duplicate_submenu_page() {
177
  /* === Duplicate Items Hack === */
178
+ remove_submenu_page( 'yith_plugin_panel', 'yith_plugin_panel' );
179
  }
180
 
181
  /**
206
  wp_enqueue_script( 'yith-plugin-fw-fields' );
207
  }
208
 
209
+ if ( ( 'admin.php' == $pagenow && yith_plugin_fw_is_panel() ) || apply_filters( 'yit_plugin_panel_asset_loading', false ) ) {
210
  wp_enqueue_media();
211
  wp_enqueue_style( 'yit-plugin-style' );
212
  wp_enqueue_script( 'yit-plugin-panel' );
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',
337
  '//support.yithemes.com/hc/en-us/articles/217840988',
894
  */
895
  public static function sort_plugins() {
896
  global $submenu;
897
+ if ( !empty( $submenu[ 'yith_plugin_panel' ] ) ) {
898
+ $sorted_plugins = $submenu[ 'yith_plugin_panel' ];
899
 
900
  usort( $sorted_plugins, function ( $a, $b ) {
901
  return strcmp( current( $a ), current( $b ) );
902
  } );
903
 
904
+ $submenu[ 'yith_plugin_panel' ] = $sorted_plugins;
905
  }
906
  }
907
 
914
  public static function add_menu_class_in_yith_plugin( $menu ) {
915
  global $submenu;
916
 
917
+ if ( !empty( $submenu[ 'yith_plugin_panel' ] ) ) {
918
+ $item_count = count( $submenu[ 'yith_plugin_panel' ] );
919
  $columns = absint( $item_count / 20 ) + 1;
920
  $columns = max( 1, min( $columns, 3 ) );
921
  $columns = apply_filters( 'yith_plugin_fw_yith_plugins_menu_columns', $columns, $item_count );
923
  if ( $columns > 1 ) {
924
  $class = "yith-plugin-fw-menu-$columns-columns";
925
  foreach ( $menu as $order => $top ) {
926
+ if ( 'yith_plugin_panel' === $top[ 2 ] ) {
927
  $c = $menu[ $order ][ 4 ];
928
  $menu[ $order ][ 4 ] = add_cssclass( $class, $c );
929
  break;
plugin-fw/lib/yit-plugin-subpanel.php CHANGED
@@ -18,8 +18,8 @@ if ( !class_exists( 'YIT_Plugin_SubPanel' ) ) {
18
  *
19
  * Setting Page to Manage Plugins
20
  *
21
- * @class YIT_Plugin_Panel
22
- * @package Yithemes
23
  * @since 1.0
24
  * @author Your Inspiration Themes
25
  */
@@ -96,13 +96,14 @@ if ( !class_exists( 'YIT_Plugin_SubPanel' ) ) {
96
  $logo = $admin_logo;
97
  }
98
 
99
- if ( !isset( $admin_page_hooks[ 'yit_plugin_panel' ] ) ) {
100
  $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
101
- add_menu_page( 'yit_plugin_panel', 'YITH Plugins', 'nosuchcapability', 'yit_plugin_panel', null, $logo, $position );
 
102
  }
103
 
104
- add_submenu_page( 'yit_plugin_panel', $this->settings[ 'label' ], $this->settings[ 'label' ], 'manage_options', $this->settings[ 'page' ], array( $this, 'yit_panel' ) );
105
- remove_submenu_page( 'yit_plugin_panel', 'yit_plugin_panel' );
106
 
107
  }
108
 
18
  *
19
  * Setting Page to Manage Plugins
20
  *
21
+ * @class YIT_Plugin_Panel
22
+ * @package YITH
23
  * @since 1.0
24
  * @author Your Inspiration Themes
25
  */
96
  $logo = $admin_logo;
97
  }
98
 
99
+ if ( !isset( $admin_page_hooks[ 'yith_plugin_panel' ] ) ) {
100
  $position = apply_filters( 'yit_plugins_menu_item_position', '62.32' );
101
+ add_menu_page( 'yith_plugin_panel', 'YITH', 'nosuchcapability', 'yith_plugin_panel', null, $logo, $position );
102
+ $admin_page_hooks[ 'yith_plugin_panel' ] = 'yith-plugins'; // prevent issues for backward compatibility
103
  }
104
 
105
+ add_submenu_page( 'yith_plugin_panel', $this->settings[ 'label' ], $this->settings[ 'label' ], 'manage_options', $this->settings[ 'page' ], array( $this, 'yit_panel' ) );
106
+ remove_submenu_page( 'yith_plugin_panel', 'yith_plugin_panel' );
107
 
108
  }
109
 
plugin-fw/lib/yit-pointers.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  *
16
  *
17
  * @class yit-pointers
18
- * @package Yithemes
19
  * @since Version 2.0.0
20
  * @author Your Inspiration Themes
21
  *
@@ -27,7 +27,7 @@ if ( ! class_exists( 'YIT_Pointers' ) ) {
27
  * Initializes the new feature pointers.
28
  *
29
  * @class YIT_Pointers
30
- * @package Yithemes
31
  * @since 1.0
32
  * @author Your Inspiration Themes
33
  * @see WP_Internal_Pointers
@@ -65,7 +65,7 @@ if ( ! class_exists( 'YIT_Pointers' ) ) {
65
  $this->_default_pointer['plugins'] = array(
66
  'screen_id' => 'plugins',
67
  'options' => array(
68
- 'content' => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href="http://yithemes.com/product-category/plugins/" target="_blank">Yithemes.com</a> %s
69
  <a href="https://profiles.wordpress.org/yithemes/" target="_blank">Wordpress.org</a></p>',
70
  __( 'Plugins Activated', 'yith-plugin-fw' ),
71
  __( 'From now on, you can find all plugin options in YITH Plugins menu.
@@ -79,7 +79,7 @@ if ( ! class_exists( 'YIT_Pointers' ) ) {
79
  $this->_default_pointer['update'] = array(
80
  'screen_id' => 'update',
81
  'options' => array(
82
- 'content' => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href="http://yithemes.com/product-category/plugins/" target="_blank">Yithemes.com</a> %s
83
  <a href="https://profiles.wordpress.org/yithemes/" target="_blank">Wordpress.org</a></p>',
84
  __( 'Plugins Upgraded', 'yith-plugin-fw' ),
85
  __( 'From now on, you can find the option panel of YITH plugins in YITH Plugins menu.
15
  *
16
  *
17
  * @class yit-pointers
18
+ * @package YITH
19
  * @since Version 2.0.0
20
  * @author Your Inspiration Themes
21
  *
27
  * Initializes the new feature pointers.
28
  *
29
  * @class YIT_Pointers
30
+ * @package YITH
31
  * @since 1.0
32
  * @author Your Inspiration Themes
33
  * @see WP_Internal_Pointers
65
  $this->_default_pointer['plugins'] = array(
66
  'screen_id' => 'plugins',
67
  'options' => array(
68
+ 'content' => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href="http://yithemes.com/product-category/plugins/" target="_blank">yithemes.com</a> %s
69
  <a href="https://profiles.wordpress.org/yithemes/" target="_blank">Wordpress.org</a></p>',
70
  __( 'Plugins Activated', 'yith-plugin-fw' ),
71
  __( 'From now on, you can find all plugin options in YITH Plugins menu.
79
  $this->_default_pointer['update'] = array(
80
  'screen_id' => 'update',
81
  'options' => array(
82
+ 'content' => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href="http://yithemes.com/product-category/plugins/" target="_blank">yithemes.com</a> %s
83
  <a href="https://profiles.wordpress.org/yithemes/" target="_blank">Wordpress.org</a></p>',
84
  __( 'Plugins Upgraded', 'yith-plugin-fw' ),
85
  __( 'From now on, you can find the option panel of YITH plugins in YITH Plugins menu.
plugin-fw/lib/yit-upgrade.php CHANGED
@@ -7,610 +7,659 @@
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
- if ( !defined( 'ABSPATH' ) ) {
11
- exit;
12
  } // Exit if accessed directly
13
 
14
- if ( !class_exists( 'YIT_Upgrade' ) ) {
15
- /**
16
- * YIT Upgrade
17
- *
18
- * Notify and Update plugin
19
- *
20
- * @class YIT_Upgrade
21
- * @package Yithemes
22
- * @since 1.0
23
- * @author Your Inspiration Themes
24
- * @see WP_Updater Class
25
- */
26
- class YIT_Upgrade {
27
-
28
- /**
29
- * @var string XML notifier update
30
- */
31
- protected $_xml = 'http://update.yithemes.com/plugins/%plugin_slug%.xml';
32
-
33
- /**
34
- * @var string api server url
35
- */
36
- protected $_package_url = 'https://yithemes.com';
37
-
38
- /**
39
- * @var array The registered plugins
40
- */
41
- protected $_plugins = array();
42
-
43
- /**
44
- * @var YIT_Upgrade The main instance
45
- */
46
- protected static $_instance;
47
-
48
- /**
49
- * Construct
50
- *
51
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
52
- * @since 1.0
53
- */
54
- public function __construct() {
55
- add_filter( 'upgrader_pre_download', array( $this, 'upgrader_pre_download' ), 10, 3 );
56
- add_action( 'update-custom_upgrade-plugin-multisite', array( $this, 'upgrade_plugin_multisite' ) );
57
-
58
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
59
-
60
- $is_debug_enabled = defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG;
61
- if ( $is_debug_enabled ) {
62
- $this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
63
- add_filter( 'block_local_requests', '__return_false' );
64
- }
65
-
66
- add_action( 'install_plugins_pre_plugin-information', array( $this, 'show_changelog_for_premium_plugins' ) );
67
- add_action( 'wp_ajax_yith_plugin_fw_get_premium_changelog', array( $this, 'show_changelog_for_premium_plugins' ) );
68
- }
69
-
70
- /**
71
- * show changelog for premium plugins
72
- *
73
- * @since 3.0.14
74
- */
75
- public function show_changelog_for_premium_plugins() {
76
- if ( isset( $_GET[ 'plugin' ] ) && isset( $_GET[ 'section' ] ) && 'changelog' === $_GET[ 'section' ] ) {
77
- $plugin_init = $_GET[ 'plugin' ];
78
- if ( isset( $this->_plugins[ $plugin_init ] ) ) {
79
- // this is YITH Premium Plugin
80
- if ( !empty( $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ] ) ) {
81
- $plugin_name = $this->_plugins[ $plugin_init ][ 'info' ][ 'Name' ];
82
- $changelog = $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ];
83
- $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/upgrade/changelog.php';
84
- if ( file_exists( $template ) ) {
85
- include( $template );
86
- }
87
- die();
88
- }
89
- $error = __( 'An unexpected error occurred, please try again later. Thanks!', 'yith-plugin-fw' );
90
- $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/upgrade/error.php';
91
- if ( file_exists( $template ) ) {
92
- include( $template );
93
- } else {
94
- echo "<p>$error</p>";
95
- }
96
- die();
97
- }
98
- }
99
- }
100
-
101
- /**
102
- * Main plugin Instance
103
- *
104
- * @param $plugin_slug | string The plugin slug
105
- * @param $plugin_init | string The plugin init file
106
- *
107
- * @return void
108
- *
109
- * @since 1.0
110
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
111
- */
112
- public function register( $plugin_slug, $plugin_init ) {
113
-
114
- if ( !function_exists( 'get_plugins' ) ) {
115
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
116
- }
117
-
118
- $plugins = get_plugins();
119
- $plugin_info = $plugins[ $plugin_init ];
120
-
121
- $this->_plugins[ $plugin_init ] = array(
122
- 'info' => $plugin_info,
123
- 'slug' => $plugin_slug,
124
- );
125
-
126
- $transient = 'yith_register_' . md5( $plugin_slug );
127
- if ( apply_filters( 'yith_register_delete_transient', false ) ) {
128
- delete_transient( $transient );
129
- }
130
- $info = get_transient( $transient );
131
- if ( false === $info || apply_filters( 'yith_register_delete_transient', false ) ) {
132
- $xml = str_replace( '%plugin_slug%', $plugin_slug, $this->_xml );
133
- $remote_xml = wp_remote_get( $xml );
134
-
135
- $error = false;
136
- if ( !is_wp_error( $remote_xml ) && isset( $remote_xml[ 'response' ][ 'code' ] ) && '200' == $remote_xml[ 'response' ][ 'code' ] ) {
137
- $plugin_remote_info = @simplexml_load_string( $remote_xml[ 'body' ] );
138
- if ( $plugin_remote_info ) {
139
- $info[ 'Latest' ] = (string) $plugin_remote_info->latest;
140
- $info[ 'changelog' ] = (string) $plugin_remote_info->changelog;
141
- if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
142
- YIT_Plugin_Licence()->check( $plugin_slug, false );
143
- }
144
- set_transient( $transient, $info, DAY_IN_SECONDS );
145
- } else {
146
- $error = true;
147
- error_log( sprintf( 'SimpleXML error in %s:%s [plugin slug: %s]',
148
- __FILE__, __FUNCTION__, $plugin_slug ) );
149
- }
150
- } else {
151
- $error = true;
152
- }
153
-
154
- if ( $error ) {
155
- // If error, set empty value in the transient to prevent multiple requests
156
- $info = array( 'Latest' => '', 'changelog' => '' );
157
- set_transient( $transient, $info, HOUR_IN_SECONDS );
158
- }
159
- }
160
-
161
- $this->_plugins[ $plugin_init ][ 'info' ][ 'Latest' ] = $info[ 'Latest' ];
162
- $this->_plugins[ $plugin_init ][ 'info' ][ 'changelog' ] = $info[ 'changelog' ];
163
-
164
- /* === HOOKS === */
165
- if ( !is_multisite() || is_plugin_active_for_network( $plugin_init ) ) {
166
- add_action( 'load-plugins.php', array( $this, 'remove_wp_plugin_update_row' ), 25 );
167
- add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
168
- } else if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
169
- add_action( 'admin_enqueue_scripts', array( $this, 'multisite_updater_script' ) );
170
- }
171
- }
172
-
173
- /**
174
- * Add the multisite updater scripts
175
- *
176
- * @return void
177
- *
178
- * @since 1.0
179
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
180
- */
181
- public function multisite_updater_script() {
182
- $update_url = $changelogs = $details_url = array();
183
- $strings = array(
184
- 'new_version' => __( 'There is a new version of %plugin_name% available.', 'yith-plugin-fw' ),
185
- 'latest' => __( 'View version %latest% details.', 'yith-plugin-fw' ),
186
- 'unavailable' => __( 'Automatic update is unavailable for this plugin,', 'yith-plugin-fw' ),
187
- 'activate' => __( 'please <a href="%activate_link%">activate</a> your copy of %plugin_name%.', 'yith-plugin-fw' ),
188
- 'update_now' => __( 'Update now.', 'yith-plugin-fw' )
189
-
190
- );
191
-
192
- foreach ( $this->_plugins as $init => $info ) {
193
- $update_url[ $init ] = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin-multisite&plugin=' ) . $init, 'upgrade-plugin-multisite_' . $init );
194
- $details_url[ $init ] = admin_url( 'admin-ajax.php?action=yith_plugin_fw_get_premium_changelog&tab=plugin-information&plugin=' . $init . '&section=changelog&TB_iframe=true&width=640&height=662' );
195
- }
196
-
197
- $localize_script_args = array(
198
- 'registered' => $this->_plugins,
199
- 'activated' => YIT_Plugin_Licence()->get_activated_products(),
200
- 'licence_activation_url' => YIT_Plugin_Licence()->get_licence_activation_page_url(),
201
- 'update_url' => $update_url,
202
- 'details_url' => $details_url,
203
- 'strings' => $strings,
204
- );
205
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
206
- yit_enqueue_script( 'yit-multisite-updater', YIT_CORE_PLUGIN_URL . '/assets/js/multisite-updater' . $suffix . '.js', array( 'jquery' ), false, true );
207
-
208
- wp_localize_script( 'yit-multisite-updater', 'plugins', $localize_script_args );
209
- }
210
-
211
- public function admin_enqueue_scripts() {
212
- global $pagenow;
213
- if ( 'plugins.php' === $pagenow )
214
- wp_enqueue_style( 'yit-upgrader', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrader.css' );
215
- }
216
-
217
- /**
218
- * Retrive the zip package file
219
- *
220
- * @param bool $reply Whether to bail without returning the package. Default false.
221
- * @param string $package The package file name.
222
- * @param \WP_Upgrader $upgrader WP_Upgrader instance.
223
- *
224
- * @return string | The download file
225
- *
226
- * @since 1.0
227
- * @see wp-admin/includes/class-wp-upgrader.php
228
- * @access public
229
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
230
- */
231
- public function upgrader_pre_download( $reply, $package, $upgrader ) {
232
- $plugin = false;
233
- $is_bulk = $upgrader->skin instanceof Bulk_Plugin_Upgrader_Skin;
234
-
235
- if ( !$is_bulk ) {
236
- $plugin = isset( $upgrader->skin->plugin ) ? $upgrader->skin->plugin : false;
237
- } else {
238
- //Bulk action upgrade
239
- $action_url = parse_url( $upgrader->skin->options[ 'url' ] );
240
- parse_str( rawurldecode( htmlspecialchars_decode( $action_url[ 'query' ] ) ), $output );
241
- $plugins = isset( $output[ 'plugins' ] ) ? $output[ 'plugins' ] : '';
242
- $plugins = explode( ',', $plugins );
243
- foreach ( $plugins as $plugin_init ) {
244
- $to_upgrade = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_init );
245
- if ( $to_upgrade[ 'Name' ] == $upgrader->skin->plugin_info[ 'Name' ] ) {
246
- $plugin = $plugin_init;
247
- }
248
- }
249
- }
250
-
251
- /**
252
- * It isn't YITH Premium plugins, please wordpress update it for me!
253
- */
254
- if ( !$plugin ) {
255
- return $reply;
256
- }
257
-
258
- $plugin_info = YIT_Plugin_Licence()->get_product( $plugin );
259
-
260
- /**
261
- * False ? It isn't YITH Premium plugins, please wordpress update it for me!
262
- */
263
- if ( false === $plugin_info ) {
264
- return $reply;
265
- }
266
-
267
- $licence = YIT_Plugin_Licence()->get_licence();
268
- $product_id = $plugin_info[ 'product_id' ];
269
- $args = array(
270
- 'email' => $licence[ $product_id ][ 'email' ],
271
- 'licence_key' => $licence[ $product_id ][ 'licence_key' ],
272
- 'product_id' => $plugin_info[ 'product_id' ],
273
- 'secret_key' => $plugin_info[ 'secret_key' ],
274
- 'instance' => YIT_Plugin_Licence()->get_home_url(),
275
- 'wc-api' => 'download-api',
276
- 'request' => 'download'
277
- );
278
-
279
- if ( !preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) {
280
- //Local file or remote?
281
- return $package;
282
- }
283
-
284
- if ( empty( $package ) ) {
285
- return new WP_Error( 'no_package', $upgrader->strings[ 'no_package' ] );
286
- }
287
-
288
- $upgrader->skin->feedback( 'downloading_package', __( 'YIThemes Repository', 'yith-plugin-fw' ) );
289
-
290
- $download_file = $this->_download_url( $package, $args );
291
-
292
- /**
293
- * Regenerate update_plugins transient
294
- */
295
- $this->force_regenerate_update_transient();
296
-
297
- if ( is_wp_error( $download_file ) ) {
298
- return new WP_Error( 'download_failed', $upgrader->strings[ 'download_failed' ], $download_file->get_error_message() );
299
- }
300
-
301
- return $download_file;
302
- }
303
-
304
- /**
305
- * Retrive the temp filename
306
- *
307
- * @param string $url The package url
308
- * @param string $body The post data fields
309
- * @param int $timeout Execution timeout (default: 300)
310
- *
311
- * @return string | The temp filename
312
- *
313
- * @since 1.0
314
- * @see wp-admin/includes/class-wp-upgrader.php
315
- * @access protected
316
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
317
- */
318
- protected function _download_url( $url, $body, $timeout = 300 ) {
319
-
320
- //WARNING: The file is not automatically deleted, The script must unlink() the file.
321
- if ( !$url ) {
322
- return new WP_Error( 'http_no_url', __( 'Invalid URL Provided.', 'yit' ) );
323
- }
324
-
325
- $tmpfname = wp_tempnam( $url );
326
-
327
- $args = array(
328
- 'timeout' => $timeout,
329
- 'stream' => true,
330
- 'filename' => $tmpfname,
331
- 'body' => $body
332
- );
333
-
334
- if ( !$tmpfname ) {
335
- return new WP_Error( 'http_no_file', __( 'Could not create Temporary file.', 'yit' ) );
336
- }
337
-
338
- $response = wp_safe_remote_post( $url, $args );
339
-
340
- if ( is_wp_error( $response ) ) {
341
- unlink( $tmpfname );
342
-
343
- return $response;
344
- }
345
-
346
- if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
347
- unlink( $tmpfname );
348
-
349
- return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
350
- }
351
-
352
- $content_md5 = wp_remote_retrieve_header( $response, 'content-md5' );
353
-
354
- if ( $content_md5 ) {
355
- $md5_check = verify_file_md5( $tmpfname, $content_md5 );
356
- if ( is_wp_error( $md5_check ) ) {
357
- unlink( $tmpfname );
358
-
359
- return $md5_check;
360
- }
361
- }
362
-
363
- return $tmpfname;
364
- }
365
-
366
- /**
367
- * Main plugin Instance
368
- *
369
- * @static
370
- * @return object Main instance
371
- *
372
- * @since 1.0
373
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
374
- */
375
- public static function instance() {
376
- if ( is_null( self::$_instance ) ) {
377
- self::$_instance = new self();
378
- }
379
-
380
- return self::$_instance;
381
- }
382
-
383
- /**
384
- * Delete the update plugins transient
385
- *
386
- * @return void
387
- *
388
- * @since 1.0
389
- * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
390
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
391
- */
392
- public function force_regenerate_update_transient() {
393
- delete_site_transient( 'update_plugins' );
394
- }
395
-
396
- /**
397
- * Check for plugins update
398
- *
399
- * If a new plugin version is available set it in the pre_set_site_transient_update_plugins hooks
400
- *
401
- * @param mixed $transient | update_plugins transient value
402
- * @param bool $save | Default: false. Set true to regenerate the update_transient plugins
403
- *
404
- * @return mixed $transient | The new update_plugins transient value
405
- *
406
- * @since 1.0
407
- * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
408
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
409
- */
410
- public function check_update( $transient, $save = false ) {
411
-
412
- foreach ( $this->_plugins as $init => $plugin ) {
413
- $plugin_slug = $this->_plugins[ $init ][ 'slug' ];
414
- $xml = str_replace( '%plugin_slug%', $plugin_slug, $this->_xml );
415
- $remote_xml = wp_remote_get( $xml );
416
-
417
- if ( !is_wp_error( $remote_xml ) && isset( $remote_xml[ 'response' ][ 'code' ] ) && '200' == $remote_xml[ 'response' ][ 'code' ] ) {
418
-
419
- $plugin_remote_info = @simplexml_load_string( $remote_xml[ 'body' ] );
420
-
421
- if ( $plugin_remote_info ) {
422
-
423
- if ( version_compare( $plugin_remote_info->latest, $plugin[ 'info' ][ 'Version' ], '>' ) && !isset( $transient->response[ $init ] ) ) {
424
-
425
- $package = YIT_Plugin_Licence()->check( $init ) ? $this->_package_url : null;
426
-
427
- $obj = new stdClass();
428
- $obj->slug = (string) $init;
429
- $obj->new_version = (string) $plugin_remote_info->latest;
430
- $obj->changelog = (string) $plugin_remote_info->changelog;
431
- $obj->package = $package;
432
- $obj->plugin = $init;
433
- $transient->response[ $init ] = $obj;
434
- }
435
-
436
- } else {
437
- error_log( sprintf( 'SimpleXML error in %s:%s [plugin slug: %s]',
438
- __FILE__, __FUNCTION__, $plugin_slug ) );
439
-
440
- return $transient;
441
- }
442
- }
443
- }
444
-
445
- if ( $save ) {
446
- set_site_transient( 'update_plugins', $transient );
447
- }
448
-
449
- return $transient;
450
- }
451
-
452
- /**
453
- * Add the plugin update row in plugin page
454
- *
455
- * @return void
456
- * @fire "in_theme_update_message-{$init}" action
457
- *
458
- * @since 1.0
459
- * @see after_plugin_row_{$init} action
460
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
461
- */
462
- public function plugin_update_row() {
463
-
464
- $current = get_site_transient( 'update_plugins' );
465
- $init = str_replace( 'after_plugin_row_', '', current_filter() );
466
-
467
- if ( !isset( $current->response[ $init ] ) ) {
468
- return false;
469
- }
470
-
471
- /**
472
- * stdClass Object
473
- */
474
- $r = $current->response[ $init ];
475
-
476
- $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
477
- $details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $init . '&section=changelog&TB_iframe=true&width=640&height=662' );
478
-
479
- /**
480
- * @see wp_plugin_update_rows() in wp-single\wp-admin\includes\update.php
481
- */
482
- $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );
483
-
484
- if ( is_network_admin() || !is_multisite() || true ) {
485
- global $wp_version;
486
- $is_wp_4_6 = version_compare( $wp_version, '4.6', '>=' );
487
-
488
- echo '<tr class="plugin-update-tr' . ( is_plugin_active( $init ) ? ' active' : '' ) . '"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">';
489
-
490
- echo '<div class="update-message' . ( $is_wp_4_6 ? ' notice inline notice-warning notice-alt' : '' ) . '">';
491
-
492
- echo( $is_wp_4_6 ? '<p>' : '' );
493
-
494
- if ( !current_user_can( 'update_plugins' ) ) {
495
- 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 );
496
- } elseif ( is_plugin_active_for_network( $init ) ) {
497
- 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 );
498
- } elseif ( empty( $r->package ) ) {
499
- 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' ] );
500
- } else {
501
- 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 ) );
502
- }
503
-
504
- echo( $is_wp_4_6 ? '</p>' : '' );
505
-
506
- /**
507
- * Fires at the end of the update message container in each
508
- * row of the themes list table.
509
- *
510
- * The dynamic portion of the hook name, `$theme_key`, refers to
511
- * the theme slug as found in the WordPress.org themes repository.
512
- *
513
- * @since Wordpress 3.1.0
514
- * }
515
- */
516
- do_action( "in_theme_update_message-{$init}", $this->_plugins[ $init ], $r->changelog, $changelog_id );
517
-
518
- echo '</div></td></tr>';
519
- }
520
- }
521
-
522
- /**
523
- * Remove the standard plugin_update_row
524
- *
525
- * Remove the standard plugin_update_row and Add a custom plugin update row in plugin page.
526
- *
527
- * @return void
528
- * @fire "in_theme_update_message-{$init}" action
529
- *
530
- * @since 1.0
531
- * @see after_plugin_row_{$init} action
532
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
533
- */
534
- public function remove_wp_plugin_update_row() {
535
- foreach ( $this->_plugins as $init => $plugin ) {
536
- remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
537
- add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
538
- //add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
539
- }
540
- }
541
-
542
- public function in_theme_update_message( $plugin, $changelog, $changelog_id, $echo = true ) {
543
- $res = "<div id='{$changelog_id}' class='yit-plugin-changelog-wrapper'>
 
 
 
 
 
 
 
544
  <div class='yit-plugin-changelog'>
545
  <h2 class='yit-plugin-changelog-title'>{$plugin['info']['Name']} - Changelog</h2>
546
  <p>{$changelog}</p>
547
  </div>
548
  </div>";
549
 
550
- if ( $echo ) {
551
- echo $res;
552
- } else {
553
- return $res;
554
- }
555
- }
556
-
557
- /**
558
- * Auto-Update Plugin in multisite
559
- *
560
- * Manage the non standard upgrade-plugin-multisite action
561
- *
562
- * @return void
563
- *
564
- * @since 1.0
565
- * @see upgrade-plugin action
566
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
567
- */
568
- public function upgrade_plugin_multisite() {
569
-
570
- $plugin = isset( $_REQUEST[ 'plugin' ] ) ? trim( $_REQUEST[ 'plugin' ] ) : '';
571
- $action = isset( $_REQUEST[ 'action' ] ) ? $_REQUEST[ 'action' ] : '';
572
-
573
- if ( 'upgrade-plugin-multisite' != $action ) {
574
- wp_die( __( 'You can\'t update the plugins for this site.', 'yith-plugin-fw' ) );
575
- }
576
-
577
- if ( !current_user_can( 'update_plugins' ) ) {
578
- wp_die( __( 'You do not have sufficient permissions to update the plugins for this site.', 'yith-plugin-fw' ) );
579
- }
580
-
581
- $this->check_update( get_site_transient( 'update_plugins' ), true );
582
-
583
- check_admin_referer( 'upgrade-plugin-multisite_' . $plugin );
584
-
585
- $title = __( 'Update Plugin', 'yith-plugin-fw' );
586
- $parent_file = 'plugins.php';
587
- $submenu_file = 'plugins.php';
588
-
589
- wp_enqueue_script( 'updates' );
590
- require_once( ABSPATH . 'wp-admin/admin-header.php' );
591
-
592
- $nonce = 'upgrade-plugin-multisite_' . $plugin;
593
- $url = 'update.php?action=upgrade-plugin-multisite&plugin=' . urlencode( $plugin );
594
-
595
- $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact( 'title', 'nonce', 'url', 'plugin' ) ) );
596
- $upgrader->upgrade( $plugin );
597
-
598
- include( ABSPATH . 'wp-admin/admin-footer.php' );
599
- }
600
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
601
  }
602
 
603
- if ( !function_exists( 'YIT_Upgrade' ) ) {
604
- /**
605
- * Main instance of plugin
606
- *
607
- * @return YIT_Upgrade
608
- * @since 1.0
609
- * @author Andrea Grillo <andrea.grillo@yithemes.com>
610
- */
611
- function YIT_Upgrade() {
612
- return YIT_Upgrade::instance();
613
- }
614
  }
615
 
616
  /**
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
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit;
12
  } // Exit if accessed directly
13
 
14
+ if ( ! class_exists( 'YIT_Upgrade' ) ) {
15
+ /**
16
+ * YIT Upgrade
17
+ *
18
+ * Notify and Update plugin
19
+ *
20
+ * @class YIT_Upgrade
21
+ * @package YITH
22
+ * @since 1.0
23
+ * @author Your Inspiration Themes
24
+ * @see WP_Updater Class
25
+ */
26
+ class YIT_Upgrade {
27
+
28
+ /**
29
+ * @var string XML notifier update
30
+ */
31
+ protected $_remote_url = 'https://update.yithemes.com/plugin-xml.php';
32
+
33
+ /**
34
+ * @var string api server url
35
+ */
36
+ protected $_package_url = 'https://yithemes.com';
37
+
38
+ /**
39
+ * @var array The registered plugins
40
+ */
41
+ protected $_plugins = array();
42
+
43
+ /**
44
+ * @var YIT_Upgrade The main instance
45
+ */
46
+ protected static $_instance;
47
+
48
+ /**
49
+ * Construct
50
+ *
51
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
52
+ * @since 1.0
53
+ */
54
+ public function __construct() {
55
+ add_filter( 'upgrader_pre_download', array( $this, 'upgrader_pre_download' ), 10, 3 );
56
+ add_action( 'update-custom_upgrade-plugin-multisite', array( $this, 'upgrade_plugin_multisite' ) );
57
+
58
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
59
+
60
+ $is_debug_enabled = defined( 'YIT_LICENCE_DEBUG' ) && YIT_LICENCE_DEBUG;
61
+ if ( $is_debug_enabled ) {
62
+ $this->_package_url = defined( 'YIT_LICENCE_DEBUG_LOCALHOST' ) ? YIT_LICENCE_DEBUG_LOCALHOST : 'http://dev.yithemes.com';
63
+ add_filter( 'block_local_requests', '__return_false' );
64
+ }
65
+
66
+ add_action( 'install_plugins_pre_plugin-information', array(
67
+ $this,
68
+ 'show_changelog_for_premium_plugins'
69
+ ) );
70
+ add_action( 'wp_ajax_yith_plugin_fw_get_premium_changelog', array(
71
+ $this,
72
+ 'show_changelog_for_premium_plugins'
73
+ ) );
74
+ }
75
+
76
+ /**
77
+ * show changelog for premium plugins
78
+ *
79
+ * @since 3.0.14
80
+ */
81
+ public function show_changelog_for_premium_plugins() {
82
+ if ( isset( $_GET['plugin'] ) && isset( $_GET['section'] ) && 'changelog' === $_GET['section'] ) {
83
+ $plugin_init = $_GET['plugin'];
84
+ if ( isset( $this->_plugins[ $plugin_init ] ) ) {
85
+ // this is YITH Premium Plugin
86
+ if ( ! empty( $this->_plugins[ $plugin_init ]['info']['changelog'] ) ) {
87
+ $plugin_name = $this->_plugins[ $plugin_init ]['info']['Name'];
88
+ $changelog = $this->_plugins[ $plugin_init ]['info']['changelog'];
89
+ $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/upgrade/changelog.php';
90
+ if ( file_exists( $template ) ) {
91
+ include( $template );
92
+ }
93
+ die();
94
+ }
95
+ $error = __( 'An unexpected error occurred, please try again later. Thanks!', 'yith-plugin-fw' );
96
+ $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/upgrade/error.php';
97
+ if ( file_exists( $template ) ) {
98
+ include( $template );
99
+ } else {
100
+ echo "<p>$error</p>";
101
+ }
102
+ die();
103
+ }
104
+ }
105
+ }
106
+
107
+ /**
108
+ * Main plugin Instance
109
+ *
110
+ * @param $plugin_slug | string The plugin slug
111
+ * @param $plugin_init | string The plugin init file
112
+ *
113
+ * @return void
114
+ *
115
+ * @since 1.0
116
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
117
+ */
118
+ public function register( $plugin_slug, $plugin_init ) {
119
+
120
+ if ( ! function_exists( 'get_plugins' ) ) {
121
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
122
+ }
123
+
124
+ $plugins = get_plugins();
125
+ $plugin_info = $plugins[ $plugin_init ];
126
+
127
+ $plugin = $this->_plugins[ $plugin_init ] = array(
128
+ 'info' => $plugin_info,
129
+ 'slug' => $plugin_slug,
130
+ );
131
+
132
+ $transient = 'yith_register_' . md5( $plugin_slug );
133
+ if ( apply_filters( 'yith_register_delete_transient', false ) ) {
134
+ delete_transient( $transient );
135
+ }
136
+ $info = get_transient( $transient );
137
+ if ( false === $info || apply_filters( 'yith_register_delete_transient', false ) ) {
138
+ $xml = $this->get_remote_url( $plugin );
139
+ $remote_xml = wp_remote_get( $xml );
140
+
141
+ $error = false;
142
+ if ( ! is_wp_error( $remote_xml ) && isset( $remote_xml['response']['code'] ) && '200' == $remote_xml['response']['code'] ) {
143
+ $plugin_remote_info = @simplexml_load_string( $remote_xml['body'] );
144
+ if ( $plugin_remote_info ) {
145
+ $info['Latest'] = (string) $plugin_remote_info->latest;
146
+ $info['changelog'] = (string) $plugin_remote_info->changelog;
147
+ if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
148
+ YIT_Plugin_Licence()->check( $plugin_slug, false );
149
+ }
150
+ set_transient( $transient, $info, DAY_IN_SECONDS );
151
+ } else {
152
+ $error = true;
153
+ error_log( sprintf( 'SimpleXML error in %s:%s [plugin slug: %s]',
154
+ __FILE__, __FUNCTION__, $plugin_slug ) );
155
+ }
156
+ } else {
157
+ $error = true;
158
+ }
159
+
160
+ if ( $error ) {
161
+ // If error, set empty value in the transient to prevent multiple requests
162
+ $info = array( 'Latest' => '', 'changelog' => '' );
163
+ set_transient( $transient, $info, HOUR_IN_SECONDS );
164
+ }
165
+ }
166
+
167
+ $this->_plugins[ $plugin_init ]['info']['Latest'] = $info['Latest'];
168
+ $this->_plugins[ $plugin_init ]['info']['changelog'] = $info['changelog'];
169
+
170
+ /* === HOOKS === */
171
+ if ( ! is_multisite() || is_plugin_active_for_network( $plugin_init ) ) {
172
+ add_action( 'load-plugins.php', array( $this, 'remove_wp_plugin_update_row' ), 25 );
173
+ add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
174
+ } else if ( is_multisite() && current_user_can( 'update_plugins' ) ) {
175
+ add_action( 'admin_enqueue_scripts', array( $this, 'multisite_updater_script' ) );
176
+ }
177
+ }
178
+
179
+ /**
180
+ * Add the multisite updater scripts
181
+ *
182
+ * @return void
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 ) {
199
+ $update_url[ $init ] = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin-multisite&plugin=' ) . $init, 'upgrade-plugin-multisite_' . $init );
200
+ $details_url[ $init ] = admin_url( 'admin-ajax.php?action=yith_plugin_fw_get_premium_changelog&tab=plugin-information&plugin=' . $init . '&section=changelog&TB_iframe=true&width=640&height=662' );
201
+ }
202
+
203
+ $localize_script_args = array(
204
+ 'registered' => $this->_plugins,
205
+ 'activated' => YIT_Plugin_Licence()->get_activated_products(),
206
+ 'licence_activation_url' => YIT_Plugin_Licence()->get_licence_activation_page_url(),
207
+ 'update_url' => $update_url,
208
+ 'details_url' => $details_url,
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
+ }
223
+
224
+ /**
225
+ * Retrive the zip package file
226
+ *
227
+ * @param bool $reply Whether to bail without returning the package. Default false.
228
+ * @param string $package The package file name.
229
+ * @param \WP_Upgrader $upgrader WP_Upgrader instance.
230
+ *
231
+ * @return string | The download file
232
+ *
233
+ * @since 1.0
234
+ * @see wp-admin/includes/class-wp-upgrader.php
235
+ * @access public
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
+
242
+ if ( ! $is_bulk ) {
243
+ $plugin = isset( $upgrader->skin->plugin ) ? $upgrader->skin->plugin : false;
244
+ } else {
245
+ //Bulk action upgrade
246
+ $action_url = parse_url( $upgrader->skin->options['url'] );
247
+ parse_str( rawurldecode( htmlspecialchars_decode( $action_url['query'] ) ), $output );
248
+ $plugins = isset( $output['plugins'] ) ? $output['plugins'] : '';
249
+ $plugins = explode( ',', $plugins );
250
+ foreach ( $plugins as $plugin_init ) {
251
+ $to_upgrade = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_init );
252
+ if ( $to_upgrade['Name'] == $upgrader->skin->plugin_info['Name'] ) {
253
+ $plugin = $plugin_init;
254
+ }
255
+ }
256
+ }
257
+
258
+ /**
259
+ * It isn't YITH Premium plugins, please wordpress update it for me!
260
+ */
261
+ if ( ! $plugin ) {
262
+ return $reply;
263
+ }
264
+
265
+ $plugin_info = YIT_Plugin_Licence()->get_product( $plugin );
266
+
267
+ /**
268
+ * False ? It isn't YITH Premium plugins, please wordpress update it for me!
269
+ */
270
+ if ( false === $plugin_info ) {
271
+ return $reply;
272
+ }
273
+
274
+ $licence = YIT_Plugin_Licence()->get_licence();
275
+ $product_id = $plugin_info['product_id'];
276
+ $args = array(
277
+ 'email' => $licence[ $product_id ]['email'],
278
+ 'licence_key' => $licence[ $product_id ]['licence_key'],
279
+ 'product_id' => $plugin_info['product_id'],
280
+ 'secret_key' => $plugin_info['secret_key'],
281
+ 'instance' => YIT_Plugin_Licence()->get_home_url(),
282
+ 'wc-api' => 'download-api',
283
+ 'request' => 'download'
284
+ );
285
+
286
+ if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) {
287
+ //Local file or remote?
288
+ return $package;
289
+ }
290
+
291
+ if ( empty( $package ) ) {
292
+ return new WP_Error( 'no_package', $upgrader->strings['no_package'] );
293
+ }
294
+
295
+ $upgrader->skin->feedback( 'downloading_package', __( 'YITH Repository', 'yith-plugin-fw' ) );
296
+
297
+ $download_file = $this->_download_url( $package, $args );
298
+
299
+ /**
300
+ * Regenerate update_plugins transient
301
+ */
302
+ $this->force_regenerate_update_transient();
303
+
304
+ if ( is_wp_error( $download_file ) ) {
305
+ return new WP_Error( 'download_failed', $upgrader->strings['download_failed'], $download_file->get_error_message() );
306
+ }
307
+
308
+ return $download_file;
309
+ }
310
+
311
+ /**
312
+ * Retrive the temp filename
313
+ *
314
+ * @param string $url The package url
315
+ * @param string $body The post data fields
316
+ * @param int $timeout Execution timeout (default: 300)
317
+ *
318
+ * @return string | The temp filename
319
+ *
320
+ * @since 1.0
321
+ * @see wp-admin/includes/class-wp-upgrader.php
322
+ * @access protected
323
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
324
+ */
325
+ protected function _download_url( $url, $body, $timeout = 300 ) {
326
+
327
+ //WARNING: The file is not automatically deleted, The script must unlink() the file.
328
+ if ( ! $url ) {
329
+ return new WP_Error( 'http_no_url', __( 'Invalid URL Provided.', 'yit' ) );
330
+ }
331
+
332
+ $tmpfname = wp_tempnam( $url );
333
+
334
+ $args = array(
335
+ 'timeout' => $timeout,
336
+ 'stream' => true,
337
+ 'filename' => $tmpfname,
338
+ 'body' => $body
339
+ );
340
+
341
+ if ( ! $tmpfname ) {
342
+ return new WP_Error( 'http_no_file', __( 'Could not create Temporary file.', 'yit' ) );
343
+ }
344
+
345
+ $response = wp_safe_remote_post( $url, $args );
346
+
347
+ if ( is_wp_error( $response ) ) {
348
+ unlink( $tmpfname );
349
+
350
+ return $response;
351
+ }
352
+
353
+ if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
354
+ unlink( $tmpfname );
355
+
356
+ return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
357
+ }
358
+
359
+ $content_md5 = wp_remote_retrieve_header( $response, 'content-md5' );
360
+
361
+ if ( $content_md5 ) {
362
+ $md5_check = verify_file_md5( $tmpfname, $content_md5 );
363
+ if ( is_wp_error( $md5_check ) ) {
364
+ unlink( $tmpfname );
365
+
366
+ return $md5_check;
367
+ }
368
+ }
369
+
370
+ return $tmpfname;
371
+ }
372
+
373
+ /**
374
+ * Main plugin Instance
375
+ *
376
+ * @static
377
+ * @return object Main instance
378
+ *
379
+ * @since 1.0
380
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
381
+ */
382
+ public static function instance() {
383
+ if ( is_null( self::$_instance ) ) {
384
+ self::$_instance = new self();
385
+ }
386
+
387
+ return self::$_instance;
388
+ }
389
+
390
+ /**
391
+ * Delete the update plugins transient
392
+ *
393
+ * @return void
394
+ *
395
+ * @since 1.0
396
+ * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
397
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
398
+ */
399
+ public function force_regenerate_update_transient() {
400
+ delete_site_transient( 'update_plugins' );
401
+ }
402
+
403
+ /**
404
+ * Check for plugins update
405
+ *
406
+ * If a new plugin version is available set it in the pre_set_site_transient_update_plugins hooks
407
+ *
408
+ * @param mixed $transient | update_plugins transient value
409
+ * @param bool $save | Default: false. Set true to regenerate the update_transient plugins
410
+ *
411
+ * @return mixed $transient | The new update_plugins transient value
412
+ *
413
+ * @since 1.0
414
+ * @see update_plugins transient and pre_set_site_transient_update_plugins hooks
415
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
416
+ */
417
+ public function check_update( $transient, $save = false ) {
418
+
419
+ foreach ( $this->_plugins as $init => $plugin ) {
420
+ $plugin_slug = $this->_plugins[ $init ]['slug'];
421
+ $xml = $this->get_remote_url( $plugin );
422
+ $remote_xml = wp_remote_get( $xml );
423
+
424
+ if ( ! is_wp_error( $remote_xml ) && isset( $remote_xml['response']['code'] ) && '200' == $remote_xml['response']['code'] ) {
425
+
426
+ $plugin_remote_info = @simplexml_load_string( $remote_xml['body'] );
427
+
428
+ if ( $plugin_remote_info ) {
429
+
430
+ if ( version_compare( $plugin_remote_info->latest, $plugin['info']['Version'], '>' ) && ! isset( $transient->response[ $init ] ) ) {
431
+
432
+ $package = YIT_Plugin_Licence()->check( $init ) ? $this->_package_url : null;
433
+
434
+ $obj = new stdClass();
435
+ $obj->slug = (string) $init;
436
+ $obj->new_version = (string) $plugin_remote_info->latest;
437
+ $obj->changelog = (string) $plugin_remote_info->changelog;
438
+ $obj->package = $package;
439
+ $obj->plugin = $init;
440
+ $transient->response[ $init ] = $obj;
441
+ }
442
+
443
+ } else {
444
+ error_log( sprintf( 'SimpleXML error in %s:%s [plugin slug: %s]',
445
+ __FILE__, __FUNCTION__, $plugin_slug ) );
446
+
447
+ return $transient;
448
+ }
449
+ }
450
+ }
451
+
452
+ if ( $save ) {
453
+ set_site_transient( 'update_plugins', $transient );
454
+ }
455
+
456
+ return $transient;
457
+ }
458
+
459
+ /**
460
+ * Add the plugin update row in plugin page
461
+ *
462
+ * @return void
463
+ * @fire "in_theme_update_message-{$init}" action
464
+ *
465
+ * @since 1.0
466
+ * @see after_plugin_row_{$init} action
467
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
468
+ */
469
+ public function plugin_update_row() {
470
+
471
+ $current = get_site_transient( 'update_plugins' );
472
+ $init = str_replace( 'after_plugin_row_', '', current_filter() );
473
+
474
+ if ( ! isset( $current->response[ $init ] ) ) {
475
+ return false;
476
+ }
477
+
478
+ /**
479
+ * stdClass Object
480
+ */
481
+ $r = $current->response[ $init ];
482
+
483
+ $changelog_id = str_replace( array( '/', '.php', '.' ), array( '-', '', '-' ), $init );
484
+ $details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $init . '&section=changelog&TB_iframe=true&width=640&height=662' );
485
+
486
+ /**
487
+ * @see wp_plugin_update_rows() in wp-single\wp-admin\includes\update.php
488
+ */
489
+ $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );
490
+
491
+ if ( is_network_admin() || ! is_multisite() || true ) {
492
+ global $wp_version;
493
+ $is_wp_4_6 = version_compare( $wp_version, '4.6', '>=' );
494
+
495
+ echo '<tr class="plugin-update-tr' . ( is_plugin_active( $init ) ? ' active' : '' ) . '"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">';
496
+
497
+ echo '<div class="update-message' . ( $is_wp_4_6 ? ' notice inline notice-warning notice-alt' : '' ) . '">';
498
+
499
+ echo( $is_wp_4_6 ? '<p>' : '' );
500
+
501
+ if ( ! current_user_can( 'update_plugins' ) ) {
502
+ 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 );
503
+ } elseif ( is_plugin_active_for_network( $init ) ) {
504
+ 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 );
505
+ } elseif ( empty( $r->package ) ) {
506
+ 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'] );
507
+ } else {
508
+ 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 ) );
509
+ }
510
+
511
+ echo( $is_wp_4_6 ? '</p>' : '' );
512
+
513
+ /**
514
+ * Fires at the end of the update message container in each
515
+ * row of the themes list table.
516
+ *
517
+ * The dynamic portion of the hook name, `$theme_key`, refers to
518
+ * the theme slug as found in the WordPress.org themes repository.
519
+ *
520
+ * @since Wordpress 3.1.0
521
+ * }
522
+ */
523
+ do_action( "in_theme_update_message-{$init}", $this->_plugins[ $init ], $r->changelog, $changelog_id );
524
+
525
+ echo '</div></td></tr>';
526
+ }
527
+ }
528
+
529
+ /**
530
+ * Remove the standard plugin_update_row
531
+ *
532
+ * Remove the standard plugin_update_row and Add a custom plugin update row in plugin page.
533
+ *
534
+ * @return void
535
+ * @fire "in_theme_update_message-{$init}" action
536
+ *
537
+ * @since 1.0
538
+ * @see after_plugin_row_{$init} action
539
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
540
+ */
541
+ public function remove_wp_plugin_update_row() {
542
+ foreach ( $this->_plugins as $init => $plugin ) {
543
+ remove_action( "after_plugin_row_{$init}", 'wp_plugin_update_row', 10 );
544
+ add_action( "after_plugin_row_{$init}", array( $this, 'plugin_update_row' ) );
545
+ //add_action( "in_theme_update_message-{$init}", array( $this, 'in_theme_update_message' ), 10, 3 );
546
+ }
547
+ }
548
+
549
+ public function in_theme_update_message( $plugin, $changelog, $changelog_id, $echo = true ) {
550
+ $res = "<div id='{$changelog_id}' class='yit-plugin-changelog-wrapper'>
551
  <div class='yit-plugin-changelog'>
552
  <h2 class='yit-plugin-changelog-title'>{$plugin['info']['Name']} - Changelog</h2>
553
  <p>{$changelog}</p>
554
  </div>
555
  </div>";
556
 
557
+ if ( $echo ) {
558
+ echo $res;
559
+ } else {
560
+ return $res;
561
+ }
562
+ }
563
+
564
+ /**
565
+ * Auto-Update Plugin in multisite
566
+ *
567
+ * Manage the non standard upgrade-plugin-multisite action
568
+ *
569
+ * @return void
570
+ *
571
+ * @since 1.0
572
+ * @see upgrade-plugin action
573
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
574
+ */
575
+ public function upgrade_plugin_multisite() {
576
+
577
+ $plugin = isset( $_REQUEST['plugin'] ) ? trim( $_REQUEST['plugin'] ) : '';
578
+ $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : '';
579
+
580
+ if ( 'upgrade-plugin-multisite' != $action ) {
581
+ wp_die( __( 'You can\'t update the plugins for this site.', 'yith-plugin-fw' ) );
582
+ }
583
+
584
+ if ( ! current_user_can( 'update_plugins' ) ) {
585
+ wp_die( __( 'You do not have sufficient permissions to update the plugins for this site.', 'yith-plugin-fw' ) );
586
+ }
587
+
588
+ $this->check_update( get_site_transient( 'update_plugins' ), true );
589
+
590
+ check_admin_referer( 'upgrade-plugin-multisite_' . $plugin );
591
+
592
+ $title = __( 'Update Plugin', 'yith-plugin-fw' );
593
+ $parent_file = 'plugins.php';
594
+ $submenu_file = 'plugins.php';
595
+
596
+ wp_enqueue_script( 'updates' );
597
+ require_once( ABSPATH . 'wp-admin/admin-header.php' );
598
+
599
+ $nonce = 'upgrade-plugin-multisite_' . $plugin;
600
+ $url = 'update.php?action=upgrade-plugin-multisite&plugin=' . urlencode( $plugin );
601
+
602
+ $upgrader = new Plugin_Upgrader( new Plugin_Upgrader_Skin( compact( 'title', 'nonce', 'url', 'plugin' ) ) );
603
+ $upgrader->upgrade( $plugin );
604
+
605
+ include( ABSPATH . 'wp-admin/admin-footer.php' );
606
+ }
607
+
608
+ /**
609
+ * Retreive the remote url with query string args
610
+ *
611
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
612
+ * @return string the remote url
613
+ */
614
+ public function get_remote_url( $plugin_info ) {
615
+
616
+ $license = $is_membership_license = false;
617
+ $slug = isset( $plugin_info['slug'] ) ? $plugin_info['slug'] : false;
618
+
619
+ if( function_exists( 'YIT_Plugin_Licence' ) && false !== $slug ){
620
+ //Get license for YITH Plugins
621
+ $enabled_license = YIT_Plugin_Licence()->get_licence();
622
+
623
+ if( isset( $enabled_license[ $slug ]['activated'] ) && false !== $enabled_license[ $slug ]['activated'] ){
624
+ if( isset( $enabled_license[ $slug ]['licence_key'] ) ){
625
+ $license = $enabled_license[ $slug ]['licence_key'];
626
+ }
627
+
628
+ if( isset( $enabled_license[ $slug ]['is_membership'] ) ){
629
+ $is_membership_license = $enabled_license[ $slug ]['is_membership'];
630
+ }
631
+ }
632
+ }
633
+
634
+ $args = array(
635
+ 'plugin' => $slug,
636
+ 'instance' => md5( $_SERVER['SERVER_NAME'] ),
637
+ 'license' => $license,
638
+ 'is_membership_license' => $is_membership_license,
639
+ 'server_ip' => $_SERVER['SERVER_ADDR'],
640
+ 'version' => isset( $plugin_info['info']['Version'] ) ? $plugin_info['info']['Version'] : '1.0.0'
641
+ );
642
+
643
+ $args = apply_filters( 'yith_get_remove_url_args', $args );
644
+
645
+ $url = add_query_arg( $args, $this->_remote_url );
646
+
647
+ return $url;
648
+ }
649
+ }
650
  }
651
 
652
+ if ( ! function_exists( 'YIT_Upgrade' ) ) {
653
+ /**
654
+ * Main instance of plugin
655
+ *
656
+ * @return YIT_Upgrade
657
+ * @since 1.0
658
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
659
+ */
660
+ function YIT_Upgrade() {
661
+ return YIT_Upgrade::instance();
662
+ }
663
  }
664
 
665
  /**
plugin-fw/lib/yit-video.php CHANGED
@@ -20,7 +20,7 @@ if ( ! class_exists( 'YIT_Video' ) ) {
20
  * Class to manage the video from youtube and vimeo or other services
21
  *
22
  * @class YIT_Video
23
- * @package Yithemes
24
  * @since 1.0.0
25
  * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
26
  *
20
  * Class to manage the video from youtube and vimeo or other services
21
  *
22
  * @class YIT_Video
23
+ * @package YITH
24
  * @since 1.0.0
25
  * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
26
  *
plugin-fw/licence/assets/js/yit-licence.js CHANGED
@@ -8,189 +8,193 @@
8
  */
9
 
10
 
11
- (function ($) {
12
 
13
  /* === Licence API === */
14
 
15
- var licence_activation = function (button) {
16
- button.on('click', function (e, button) {
17
  e.preventDefault();
18
 
19
- var t = $(this),
20
- form_id = t.data('formid'),
21
- form = $('#' + form_id),
22
- data = form.serialize(),
23
- message = $(form).find('.message'),
24
- message_wrapper = $(form).find('.message-wrapper'),
25
- email = form.find('.user-email'),
26
- licence_key = form.find('.licence-key'),
27
- email_val = form.find('.user-email').val(),
28
- licence_key_val = form.find('.licence-key').val(),
29
- error = false,
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();
37
- message_wrapper.removeClass('visible')
38
- email.removeClass('require');
39
- licence_key.removeClass('require');
40
- product_row.removeClass('error');
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) {
51
  error = true;
52
  error_fields[ error_fields.length ] = licence_message.license_key;
53
- licence_key.addClass('require');
54
  }
55
 
56
- if (false == error) {
57
- jQuery.ajax({
58
- type : 'POST',
59
- url : ajaxurl,
60
- data : data,
61
- success: function (response) {
62
-
63
- spinner.removeClass('show');
64
- t.add(licence_activation).prop("disabled", false).removeClass('clicked');
65
-
66
- if (true == response.activated) {
67
- $('.product-licence-activation').empty().replaceWith(response.template);
68
- licence_api();
69
- } else if (false != response) {
70
- message.text(response.error);
71
- message_wrapper.addClass('visible');
72
- product_row.addClass('error');
73
- } else {
74
- message.text(licence_message.server);
75
- message_wrapper.addClass('visible');
76
- product_row.addClass('error');
77
- }
78
- }
79
- });
 
 
 
 
80
  } else {
81
- if (error_fields.length == 1) {
82
- message.text(licence_message.error.replace('%field%', error_fields[0]));
83
- message_wrapper.addClass('visible');
84
- product_row.addClass('error');
85
  } else {
86
  var message_text = licence_message.errors;
87
- for (var i = 0; i < error_fields.length; i++) {
88
- message_text = message_text.replace('%field_' + ( i + 1) + '%', error_fields[i]);
89
- message_wrapper.addClass('visible');
90
  }
91
- message.text(message_text);
92
- message_wrapper.addClass('visible');
93
- product_row.addClass('error');
94
  }
95
 
96
- spinner.removeClass('show');
97
- t.add(licence_activation).prop("disabled", false).removeClass('clicked');
98
  }
99
- });
100
  };
101
 
102
- var licence_update = function (button) {
103
- button.on('click', function (e) {
104
  e.preventDefault();
105
 
106
- var t = $(this),
107
- form = $('#licence-check-update'),
108
  data = form.serialize();
109
 
110
- t.prop("disabled", true).addClass('clicked');
111
- form.find('div.spinner').addClass('show');
112
-
113
- jQuery.ajax({
114
- type : 'POST',
115
- url : ajaxurl,
116
- data : data,
117
- success: function (response) {
118
- $('.product-licence-activation').empty().replaceWith(response.template);
119
- licence_api();
120
- }
121
- });
122
- });
123
  };
124
 
125
- var licence_deactivate = function (button) {
126
- button.on('click', function (e) {
127
  e.preventDefault();
128
 
129
  var check = script_info.is_debug == true ? true : confirm( licence_message.are_you_sure );
130
 
131
- if( check == true ){
132
- var t = $(this),
133
- licence_key = t.data('licence-key'),
134
- licence_email = t.data('licence-email'),
135
- product_init = t.data('product-init'),
136
- action = t.data('action'),
137
- renew = $('.licence-renew'),
138
- deactive = $('.licence-deactive'),
139
- message = $('#yith-licence-notice'),
140
- activated_table = $('.activated-table');
141
-
142
- t.add(renew).add(deactive).prop("disabled", true).addClass('clicked');
143
- $('#activated-products').find('.spinner').addClass('show');
144
-
145
- jQuery.ajax({
146
- type : 'POST',
147
- url : ajaxurl,
148
- data : {
149
- action: action,
150
- licence_key: licence_key,
151
- email: licence_email,
152
- product_init: product_init
153
- },
154
- success: function (response) {
155
- message.css( 'maxWidth', activated_table.width() );
156
- if (false == response.activated && typeof response.error == 'undefined') {
157
- $('.product-licence-activation').empty().replaceWith(response.template);
158
- licence_api();
159
- }
160
-
161
- if (false == response.activated && typeof response.error != 'undefined') {
162
- message.find('p.yith-licence-notice-message').html(response.error);
163
- message.removeClass('notice-success').addClass('notice-error visible');
164
- t.add(renew).add(deactive).add(renew).prop("disabled", false).removeClass('clicked');
165
- $('#activated-products').find('.spinner').removeClass('show');
166
- }
167
-
168
- else if (false == response) {
169
- message.find('p.yith-licence-notice-message').html(licence_message.server);
170
- message.removeClass('notice-success').addClass('notice-error visible');
171
- t.add(renew).add(deactive).add(renew).prop("disabled", false).removeClass('clicked');
172
- $('#activated-products').find('.spinner').removeClass('show');
173
- }
174
- }
175
- });
176
  }
177
- });
178
  };
179
 
180
  var licence_api = function () {
181
- var button = $('.licence-activation'),
182
- check = $('.licence-check'),
183
- deactivated = $('.licence-deactive');
184
 
185
- licence_activation(button);
186
- licence_update(check);
187
- licence_deactivate(deactivated);
188
  };
189
 
190
  licence_api();
191
 
192
- $('body').on('click', '.yit-changelog-button', function (e) {
193
- $('#TB_window').remove();
194
- });
195
 
196
- })(jQuery);
8
  */
9
 
10
 
11
+ ( function ( $ ) {
12
 
13
  /* === Licence API === */
14
 
15
+ var licence_activation = function ( button ) {
16
+ button.on( 'click', function ( e, button ) {
17
  e.preventDefault();
18
 
19
+ var t = $( this ),
20
+ form_id = t.data( 'formid' ),
21
+ form = $( '#' + form_id ),
22
+ data = form.serialize(),
23
+ message = $( form ).find( '.message' ),
24
+ message_wrapper = $( form ).find( '.message-wrapper' ),
25
+ email = form.find( '.user-email' ),
26
+ licence_key = form.find( '.licence-key' ),
27
+ email_val = form.find( '.user-email' ).val(),
28
+ licence_key_val = form.find( '.licence-key' ).val(),
29
+ error = false,
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();
37
+ message_wrapper.removeClass( 'visible' );
38
+ email.removeClass( 'require' );
39
+ licence_key.removeClass( 'require' );
40
+ product_row.removeClass( 'error' );
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 ) {
51
  error = true;
52
  error_fields[ error_fields.length ] = licence_message.license_key;
53
+ licence_key.addClass( 'require' );
54
  }
55
 
56
+ if ( false === error ) {
57
+ jQuery.ajax( {
58
+ type : 'POST',
59
+ url : ajaxurl,
60
+ data : data,
61
+ success: function ( response ) {
62
+
63
+ spinner.removeClass( 'show' );
64
+ t.add( licence_activation ).prop( "disabled", false ).removeClass( 'clicked' );
65
+
66
+ if ( true === response.activated ) {
67
+ $( '.product-licence-activation' ).empty().replaceWith( response.template );
68
+ licence_api();
69
+ } else if ( false !== response && typeof response.error !== 'undefined' ) {
70
+ message.text( response.error );
71
+ message_wrapper.addClass( 'visible' );
72
+ product_row.addClass( 'error' );
73
+ } else {
74
+ message.text( licence_message.server );
75
+ message_wrapper.addClass( 'visible' );
76
+ product_row.addClass( 'error' );
77
+ }
78
+
79
+ if ( typeof response.debug !== 'undefined' ) {
80
+ console.log( response.debug );
81
+ }
82
+ }
83
+ } );
84
  } else {
85
+ if ( error_fields.length == 1 ) {
86
+ message.text( licence_message.error.replace( '%field%', error_fields[ 0 ] ) );
87
+ message_wrapper.addClass( 'visible' );
88
+ product_row.addClass( 'error' );
89
  } else {
90
  var message_text = licence_message.errors;
91
+ for ( var i = 0; i < error_fields.length; i++ ) {
92
+ message_text = message_text.replace( '%field_' + ( i + 1 ) + '%', error_fields[ i ] );
93
+ message_wrapper.addClass( 'visible' );
94
  }
95
+ message.text( message_text );
96
+ message_wrapper.addClass( 'visible' );
97
+ product_row.addClass( 'error' );
98
  }
99
 
100
+ spinner.removeClass( 'show' );
101
+ t.add( licence_activation ).prop( "disabled", false ).removeClass( 'clicked' );
102
  }
103
+ } );
104
  };
105
 
106
+ var licence_update = function ( button ) {
107
+ button.on( 'click', function ( e ) {
108
  e.preventDefault();
109
 
110
+ var t = $( this ),
111
+ form = $( '#licence-check-update' ),
112
  data = form.serialize();
113
 
114
+ t.prop( "disabled", true ).addClass( 'clicked' );
115
+ form.find( 'div.spinner' ).addClass( 'show' );
116
+
117
+ jQuery.ajax( {
118
+ type : 'POST',
119
+ url : ajaxurl,
120
+ data : data,
121
+ success: function ( response ) {
122
+ $( '.product-licence-activation' ).empty().replaceWith( response.template );
123
+ licence_api();
124
+ }
125
+ } );
126
+ } );
127
  };
128
 
129
+ var licence_deactivate = function ( button ) {
130
+ button.on( 'click', function ( e ) {
131
  e.preventDefault();
132
 
133
  var check = script_info.is_debug == true ? true : confirm( licence_message.are_you_sure );
134
 
135
+ if ( check == true ) {
136
+ var t = $( this ),
137
+ licence_key = t.data( 'licence-key' ),
138
+ licence_email = t.data( 'licence-email' ),
139
+ product_init = t.data( 'product-init' ),
140
+ action = t.data( 'action' ),
141
+ renew = $( '.licence-renew' ),
142
+ deactive = $( '.licence-deactive' ),
143
+ message = $( '#yith-licence-notice' ),
144
+ activated_table = $( '.activated-table' );
145
+
146
+ t.add( renew ).add( deactive ).prop( "disabled", true ).addClass( 'clicked' );
147
+ $( '#activated-products' ).find( '.spinner' ).addClass( 'show' );
148
+
149
+ jQuery.ajax( {
150
+ type : 'POST',
151
+ url : ajaxurl,
152
+ data : {
153
+ action : action,
154
+ licence_key : licence_key,
155
+ email : licence_email,
156
+ product_init: product_init
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
+ } );
180
  }
181
+ } );
182
  };
183
 
184
  var licence_api = function () {
185
+ var button = $( '.licence-activation' ),
186
+ check = $( '.licence-check' ),
187
+ deactivated = $( '.licence-deactive' );
188
 
189
+ licence_activation( button );
190
+ licence_update( check );
191
+ licence_deactivate( deactivated );
192
  };
193
 
194
  licence_api();
195
 
196
+ $( 'body' ).on( 'click', '.yit-changelog-button', function ( e ) {
197
+ $( '#TB_window' ).remove();
198
+ } );
199
 
200
+ } )( jQuery );
plugin-fw/licence/assets/js/yit-licence.min.js CHANGED
@@ -1,7 +1,10 @@
1
- (function(b){var k=function(a){a.on("click",function(v,e){v.preventDefault();var a=b(this),c=a.data("formid"),d=b("#"+c),f=d.serialize(),h=b(d).find(".message"),g=b(d).find(".message-wrapper"),m=d.find(".user-email"),u=d.find(".licence-key"),k=d.find(".user-email").val(),t=d.find(".licence-key").val(),n=!1,c=[],p=d.find(".product-row"),q=b(".licence-activation"),r=b("#products-to-active").find(".spinner");h.empty();g.removeClass("visible");m.removeClass("require");u.removeClass("require");p.removeClass("error");
2
- r.addClass("show");a.add(q).prop("disabled",!0).addClass("clicked");""==k&&(n=!0,c[c.length]=licence_message.email,m.addClass("require"));""==t&&(n=!0,c[c.length]=licence_message.license_key,u.addClass("require"));if(0==n)jQuery.ajax({type:"POST",url:ajaxurl,data:f,success:function(c){r.removeClass("show");a.add(q).prop("disabled",!1).removeClass("clicked");1==c.activated?(b(".product-licence-activation").empty().replaceWith(c.template),l()):(0!=c?h.text(c.error):h.text(licence_message.server),g.addClass("visible"),
3
- p.addClass("error"))}});else{if(1==c.length)h.text(licence_message.error.replace("%field%",c[0]));else{d=licence_message.errors;for(f=0;f<c.length;f++)d=d.replace("%field_"+(f+1)+"%",c[f]),g.addClass("visible");h.text(d)}g.addClass("visible");p.addClass("error");r.removeClass("show");a.add(q).prop("disabled",!1).removeClass("clicked")}})},t=function(a){a.on("click",function(a){a.preventDefault();a=b(this);var e=b("#licence-check-update"),k=e.serialize();a.prop("disabled",!0).addClass("clicked");e.find("div.spinner").addClass("show");
4
- jQuery.ajax({type:"POST",url:ajaxurl,data:k,success:function(c){b(".product-licence-activation").empty().replaceWith(c.template);l()}})})},w=function(a){a.on("click",function(a){a.preventDefault();if(1==(1==script_info.is_debug?!0:confirm(licence_message.are_you_sure))){var e=b(this);a=e.data("licence-key");var k=e.data("licence-email"),c=e.data("product-init"),d=e.data("action"),f=b(".licence-renew"),h=b(".licence-deactive"),g=b("#yith-licence-notice"),m=b(".activated-table");e.add(f).add(h).prop("disabled",
5
- !0).addClass("clicked");b("#activated-products").find(".spinner").addClass("show");jQuery.ajax({type:"POST",url:ajaxurl,data:{action:d,licence_key:a,email:k,product_init:c},success:function(a){g.css("maxWidth",m.width());0==a.activated&&"undefined"==typeof a.error&&(b(".product-licence-activation").empty().replaceWith(a.template),l());0==a.activated&&"undefined"!=typeof a.error?(g.find("p.yith-licence-notice-message").html(a.error),g.removeClass("notice-success").addClass("notice-error visible"),
6
- e.add(f).add(h).add(f).prop("disabled",!1).removeClass("clicked"),b("#activated-products").find(".spinner").removeClass("show")):0==a&&(g.find("p.yith-licence-notice-message").html(licence_message.server),g.removeClass("notice-success").addClass("notice-error visible"),e.add(f).add(h).add(f).prop("disabled",!1).removeClass("clicked"),b("#activated-products").find(".spinner").removeClass("show"))}})}})},l=function(){var a=b(".licence-activation"),l=b(".licence-check"),e=b(".licence-deactive");k(a);
7
- t(l);w(e)};l();b("body").on("click",".yit-changelog-button",function(a){b("#TB_window").remove()})})(jQuery);
 
 
 
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);
plugin-fw/licence/lib/yit-licence.php CHANGED
@@ -19,7 +19,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
19
  * Setting Page to Manage Products
20
  *
21
  * @class YIT_Licence
22
- * @package Yithemes
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  */
@@ -171,15 +171,14 @@ if ( !class_exists( 'YIT_Licence' ) ) {
171
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
172
  */
173
  public function admin_enqueue_scripts() {
174
-
175
  /**
176
  * Support to YIT Framework < 2.0
177
  */
178
- $filename = function_exists( 'yit_load_js_file' ) ? yit_load_js_file( 'yit-licence.js' ) : 'yit-licence.js';
179
  $script_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
180
  $style_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
181
 
182
- wp_register_script( 'yit-licence', $script_path . '/licence/assets/js/' . $filename, array( 'jquery' ), '1.0.0', true );
183
  wp_register_style( 'yit-theme-licence', $style_path . '/licence/assets/css/yit-licence.css' );
184
 
185
  /* Localize Scripts */
@@ -211,7 +210,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
211
  * Send a request to API server to activate plugins
212
  *
213
  * @return void
214
- * @use wp_send_json
215
  *
216
  * @since 1.0
217
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
@@ -265,6 +264,14 @@ if ( !class_exists( 'YIT_Licence' ) ) {
265
  $body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
266
  }
267
 
 
 
 
 
 
 
 
 
268
  wp_send_json( $body );
269
  }
270
 
@@ -274,7 +281,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
274
  * Send a request to API server to activate plugins
275
  *
276
  * @return void
277
- * @use wp_send_json
278
  *
279
  * @since 1.0
280
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
@@ -446,9 +453,9 @@ if ( !class_exists( 'YIT_Licence' ) ) {
446
  * Check for licence update
447
  *
448
  * @return void
449
- * @since 2.5
450
  *
451
- * @use YIT_Theme_Licence->check()
452
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
453
  */
454
  public function check_all() {
@@ -463,7 +470,7 @@ if ( !class_exists( 'YIT_Licence' ) ) {
463
  * Send a request to API server to check activate plugins and update the informations
464
  *
465
  * @return void
466
- * @use YIT_Theme_Licence->check()
467
  *
468
  * @since 1.0
469
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
19
  * Setting Page to Manage Products
20
  *
21
  * @class YIT_Licence
22
+ * @package YITH
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  */
171
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
172
  */
173
  public function admin_enqueue_scripts() {
174
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
175
  /**
176
  * Support to YIT Framework < 2.0
177
  */
 
178
  $script_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
179
  $style_path = defined( 'YIT_CORE_PLUGIN_URL' ) ? YIT_CORE_PLUGIN_URL : get_template_directory_uri() . '/core/plugin-fw';
180
 
181
+ wp_register_script( 'yit-licence', $script_path . '/licence/assets/js/yit-licence' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
182
  wp_register_style( 'yit-theme-licence', $style_path . '/licence/assets/css/yit-licence.css' );
183
 
184
  /* Localize Scripts */
210
  * Send a request to API server to activate plugins
211
  *
212
  * @return void
213
+ * @use wp_send_json
214
  *
215
  * @since 1.0
216
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
264
  $body[ 'template' ] = $this->show_activation_panel( $this->get_response_code_message( 200 ) );
265
  }
266
 
267
+ if ( !empty( $_REQUEST[ 'debug' ] ) ) {
268
+ $body = is_array( $body ) ? $body : array();
269
+ $body[ 'debug' ] = array( 'response' => $response );
270
+ if ( 'print_r' === $_REQUEST[ 'debug' ] ) {
271
+ $body[ 'debug' ] = print_r( $body[ 'debug' ], true );
272
+ }
273
+ }
274
+
275
  wp_send_json( $body );
276
  }
277
 
281
  * Send a request to API server to activate plugins
282
  *
283
  * @return void
284
+ * @use wp_send_json
285
  *
286
  * @since 1.0
287
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
453
  * Check for licence update
454
  *
455
  * @return void
456
+ * @since 2.5
457
  *
458
+ * @use YIT_Theme_Licence->check()
459
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
460
  */
461
  public function check_all() {
470
  * Send a request to API server to check activate plugins and update the informations
471
  *
472
  * @return void
473
+ * @use YIT_Theme_Licence->check()
474
  *
475
  * @since 1.0
476
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
plugin-fw/licence/lib/yit-plugin-licence.php CHANGED
@@ -19,7 +19,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
19
  * Setting Page to Manage Plugins
20
  *
21
  * @class YIT_Plugin_Licence
22
- * @package Yithemes
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  */
@@ -63,7 +63,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
63
  }
64
 
65
  $this->_settings = array(
66
- 'parent_page' => 'yit_plugin_panel',
67
  'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
68
  'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
69
  'capability' => 'manage_options',
@@ -77,7 +77,34 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
77
  add_action( 'yit_licence_after_check', array( $this, 'licence_after_check' ) );
78
 
79
  /** @since 3.0.0 */
80
- add_action( 'admin_notices', array( $this, 'activate_license_notice' ), 15 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
 
83
  /**
@@ -86,8 +113,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
86
  * @since 3.0.0
87
  */
88
  public function activate_license_notice() {
89
- $show_license_notice = current_user_can( 'update_plugins' ) && ( !isset( $_GET[ 'page' ] ) || 'yith_plugins_activation' !== $_GET[ 'page' ] );
90
- if ( apply_filters( 'yith_plugin_fw_show_activate_license_notice', $show_license_notice ) ) {
91
  $products_to_activate = $this->get_to_active_products();
92
  if ( !!$products_to_activate ) {
93
  $product_names = array();
@@ -100,7 +126,7 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
100
  $start = '<span style="display:inline-block; padding:3px 10px; margin: 0 10px 10px 0; background: #f1f1f1; border-radius: 4px;">';
101
  $end = '</span>';
102
  $product_list = '<div>' . $start . implode( $end . $start, $product_names ) . $end . '</div>';
103
- $activation_url = add_query_arg( array( 'page' => 'yith_plugins_activation' ), admin_url( 'admin.php' ) );
104
  ?>
105
  <div class="notice notice-error">
106
  <p><strong>Warning!</strong> You didn't set license key for the following products:
@@ -113,7 +139,6 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
113
  }
114
  }
115
 
116
-
117
  public function licence_after_check() {
118
  /* === Regenerate Update Plugins Transient === */
119
  YIT_Upgrade()->force_regenerate_update_transient();
@@ -158,8 +183,8 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
158
  * Premium plugin registration
159
  *
160
  * @param $plugin_init | string | The plugin init file
161
- * @param $secret_key | string | The product secret key
162
- * @param $product_id | string | The plugin slug (product_id)
163
  *
164
  * @return void
165
  *
@@ -180,6 +205,16 @@ if ( !class_exists( 'YIT_Plugin_Licence' ) ) {
180
  public function get_product_type() {
181
  return $this->_product_type;
182
  }
 
 
 
 
 
 
 
 
 
 
183
  }
184
  }
185
 
19
  * Setting Page to Manage Plugins
20
  *
21
  * @class YIT_Plugin_Licence
22
+ * @package YITH
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  */
63
  }
64
 
65
  $this->_settings = array(
66
+ 'parent_page' => 'yith_plugin_panel',
67
  'page_title' => __( 'License Activation', 'yith-plugin-fw' ),
68
  'menu_title' => __( 'License Activation', 'yith-plugin-fw' ),
69
  'capability' => 'manage_options',
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' ] ) ) {
90
+ $filter = $wp_filter[ 'yith_plugin_fw_show_activate_license_notice' ];
91
+ $v = yith_plugin_fw_get_version();
92
+ $a = explode( '.', $v );
93
+ $l = end( $a );
94
+ $p = absint( $l );
95
+ $allowed_hook = isset( $filter[ $p ] ) ? $filter[ $p ] : false;
96
+ remove_all_filters( 'yith_plugin_fw_show_activate_license_notice' );
97
+
98
+ if ( $allowed_hook && is_array( $allowed_hook ) ) {
99
+ $cb = current( $allowed_hook );
100
+ if ( isset( $cb[ 'function' ] ) && isset( $cb[ 'accepted_args' ] ) ) {
101
+ add_filter( 'yith_plugin_fw_show_activate_license_notice', $cb[ 'function' ], 10, $cb[ 'accepted_args' ] );
102
+ }
103
+ }
104
+
105
+ }
106
+
107
+ return apply_filters( 'yith_plugin_fw_show_activate_license_notice', $show_license_notice );
108
  }
109
 
110
  /**
113
  * @since 3.0.0
114
  */
115
  public function activate_license_notice() {
116
+ if ( $this->_show_activate_license_notice() ) {
 
117
  $products_to_activate = $this->get_to_active_products();
118
  if ( !!$products_to_activate ) {
119
  $product_names = array();
126
  $start = '<span style="display:inline-block; padding:3px 10px; margin: 0 10px 10px 0; background: #f1f1f1; border-radius: 4px;">';
127
  $end = '</span>';
128
  $product_list = '<div>' . $start . implode( $end . $start, $product_names ) . $end . '</div>';
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:
139
  }
140
  }
141
 
 
142
  public function licence_after_check() {
143
  /* === Regenerate Update Plugins Transient === */
144
  YIT_Upgrade()->force_regenerate_update_transient();
183
  * Premium plugin registration
184
  *
185
  * @param $plugin_init | string | The plugin init file
186
+ * @param $secret_key | string | The product secret key
187
+ * @param $product_id | string | The plugin slug (product_id)
188
  *
189
  * @return void
190
  *
205
  public function get_product_type() {
206
  return $this->_product_type;
207
  }
208
+
209
+ /**
210
+ * Get license activation URL
211
+ *
212
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
213
+ * @since 3.0.17
214
+ */
215
+ public static function get_license_activation_url(){
216
+ return add_query_arg( array( 'page' => 'yith_plugins_activation' ), admin_url( 'admin.php' ) );
217
+ }
218
  }
219
  }
220
 
plugin-fw/licence/lib/yit-theme-licence.php CHANGED
@@ -19,7 +19,7 @@ if ( !class_exists( 'YIT_Theme_Licence' ) ) {
19
  * Setting Page to Manage Plugins
20
  *
21
  * @class YIT_Theme_Licence
22
- * @package Yithemes
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  */
@@ -163,7 +163,7 @@ if ( !class_exists( 'YIT_Theme_Licence' ) ) {
163
  _e( 'If you have purchased one of our products before 27 January 2015, you can benefit from support and updates (the services offered with the license)
164
  until 27 January 2016 and you do not have to purchase it again to get a new license key, because, before this date, your license used to be activated automatically by our system.
165
  After 27 January 2016, instead, if you want to benefit from support and updates you have to buy a new license and activate it through the license key you will be
166
- provided with and that you can find in your YIThemes account, in section "My licenses".', 'yith-plugin-fw' )
167
  ?>
168
  </p>
169
  </div>
19
  * Setting Page to Manage Plugins
20
  *
21
  * @class YIT_Theme_Licence
22
+ * @package YITH
23
  * @since 1.0
24
  * @author Andrea Grillo <andrea.grillo@yithemes.com>
25
  */
163
  _e( 'If you have purchased one of our products before 27 January 2015, you can benefit from support and updates (the services offered with the license)
164
  until 27 January 2016 and you do not have to purchase it again to get a new license key, because, before this date, your license used to be activated automatically by our system.
165
  After 27 January 2016, instead, if you want to benefit from support and updates you have to buy a new license and activate it through the license key you will be
166
+ provided with and that you can find in your YITH account, in section "My licenses".', 'yith-plugin-fw' )
167
  ?>
168
  </p>
169
  </div>
plugin-fw/licence/templates/panel/activation/activation-panel.php CHANGED
@@ -8,25 +8,26 @@
8
  * http://www.gnu.org/licenses/gpl-3.0.txt
9
  */
10
 
11
- $to_active_products = $this->get_to_active_products();
12
- $activated_products = $this->get_activated_products();
13
- $no_active_products = $this->get_no_active_licence_key();
14
- $expired_products = isset( $no_active_products[ '106' ] ) ? $no_active_products[ '106' ] : array();
15
- $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_products[ '107' ] : array();
16
- $notice = isset( $notice ) ? $notice : '';
17
- $notice_class = ! empty( $notice ) ? 'notice notice-success visible' : 'notice notice-success';
18
- $to_activate_check = $this instanceof YIT_Theme_Licence ? 1 : 2;
19
- $num_members_products_activate = $this->get_number_of_membership_products();
 
20
  ?>
21
 
22
  <div class="yit-container product-licence-activation">
23
- <h2><?php _e( 'Yithemes License Activation', 'yith-plugin-fw' ) ?></h2>
24
 
25
  <div class="licence-check-section">
26
  <form method="post" id="licence-check-update" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
27
  <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>
28
- <input type="hidden" name="action" value="yith_update_licence_information-<?php echo $this->get_product_type(); ?>" />
29
- <input type="submit" name="submit" value="<?php _e( 'Update license information', 'yith-plugin-fw' ) ?>" class="button-licence licence-check" />
30
  <div class="spinner"></div>
31
  </form>
32
  </div>
@@ -37,32 +38,35 @@ $num_members_products_activate = $this->get_number_of_membership_products();
37
 
38
  <!-- To Active Products -->
39
 
40
- <?php if( ! empty( $to_active_products ) ) : ?>
41
  <h3 id="products-to-active" class="to-active">
42
  <?php echo _n( 'Product to activate', 'Products to activate', $to_activate_check, 'yith-plugin-fw' ) ?>
43
  <span class="spinner"></span>
44
  </h3>
45
  <div class="to-active-wrapper">
46
- <?php foreach( $to_active_products as $init => $info ) : ?>
47
- <form class="to-active-form" method="post" id="<?php echo $info['product_id'] ?>" action="<?php echo admin_url( 'admin-ajax.php' ) ?>">
 
 
 
48
  <table class="to-active-table">
49
  <tbody>
50
- <tr class="product-row">
51
- <td class="product-name">
52
- <?php echo $this->display_product_name( $info['Name'] ) ?>
53
- </td>
54
- <td>
55
- <input type="email" name="email" placeholder="Your email on Yithemes.com" value="" class="user-email" />
56
- </td>
57
- <td>
58
- <input type="text" name="licence_key" placeholder="License Key" value="" class="licence-key" />
59
- </td>
60
- <td class="activate-button">
61
- <input type="submit" name="submit" value="<?php _e( 'Activate', 'yith-plugin-fw' )?>" class="button-licence licence-activation" data-formid="<?php echo $info['product_id'] ?>"/>
62
- </td>
63
- </tr>
64
- <input type="hidden" name="action" value="yith_activate-<?php echo $this->get_product_type(); ?>" />
65
- <input type="hidden" name="product_init" value="<?php echo $init ?>" />
66
  </tbody>
67
  </table>
68
  <div class="message-wrapper">
@@ -75,164 +79,164 @@ $num_members_products_activate = $this->get_number_of_membership_products();
75
 
76
  <!-- Activated Products -->
77
 
78
- <?php if( ! empty( $activated_products ) ) : ?>
79
  <h3 id="activated-products">
80
  <?php _e( 'Activated', 'yith-plugin-fw' ) ?>
81
  <span class="spinner"></span>
82
  </h3>
83
  <table class="activated-table">
84
  <thead>
85
- <tr>
86
- <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
87
- <?php if( $this->show_extra_info ) : ?>
88
- <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
89
- <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
 
 
 
 
 
 
 
 
90
  <?php endif; ?>
 
91
 
92
- <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
93
-
94
- <?php if( $this->show_extra_info ) : ?>
95
- <th><?php _e( 'Remaining', 'yith-plugin-fw' ) ?></th>
96
- <?php if( $num_members_products_activate ) : ?>
97
- <th><?php _e( 'Club Subscription', 'yith-plugin-fw' ) ?></th>
98
- <?php endif; ?>
99
- <?php endif; ?>
100
-
101
- <th><?php _e( 'License Actions', 'yith-plugin-fw' ) ?></th>
102
- </tr>
103
  </thead>
104
  <tbody>
105
- <?php foreach( $activated_products as $init => $info ) : ?>
106
- <tr>
107
- <td class="product-name">
108
- <?php echo $this->display_product_name( $info['Name'] ) ?>
 
 
 
 
 
109
  </td>
 
 
 
 
110
 
111
- <?php if( $this->show_extra_info ) : ?>
112
- <td class="product-licence-email">
113
- <?php echo $info['licence']['email'] ?>
114
- </td>
115
- <td class="product-licence-key">
116
- <?php echo $info['licence']['licence_key'] ?>
117
- </td>
118
- <?php endif; ?>
119
 
120
- <td class="product-licence-expires">
121
- <?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?>
 
122
  </td>
123
-
124
- <?php if( $this->show_extra_info ) : ?>
125
- <td class="product-licence-remaining">
126
- <?php printf( __( '%1s out of %2s', 'yith-plugin-fw' ), $info['licence']['activation_remaining'], $info['licence']['activation_limit'] ); ?>
127
  </td>
128
- <?php if( $num_members_products_activate ) : ?>
129
- <td class="product-licence-membership">
130
- <span class="dashicons dashicons-<?php echo $info['licence']['is_membership'] ? 'yes' : 'no-alt' ?>"></span>
131
- </td>
132
- <?php endif; ?>
133
  <?php endif; ?>
 
134
 
135
- <td>
136
- <a class="button-licence licence-deactive"
137
- href="#"
138
- data-licence-email="<?php echo $info['licence']['email'] ?>"
139
- data-licence-key="<?php echo $info['licence']['licence_key'] ?>"
140
- data-product-init="<?php echo $init ?>"
141
- data-action="yith_deactivate-<?php echo $this->get_product_type(); ?>">
142
- <?php _e( 'Deactivate', 'yith-plugin-fw' ) ?>
 
 
 
 
 
143
  </a>
144
-
145
- <?php if( ! $info['licence']['is_membership'] && $this->show_renew_button ) : ?>
146
- <a class="button-licence licence-renew" href="<?php echo esc_url( $this->get_renewing_uri( $info['licence']['licence_key'] ) ) ?>" target="_blank">
147
- <?php _e( 'Renew', 'yith-plugin-fw' ) ?>
148
- </a>
149
- <?php endif; ?>
150
- </td>
151
- </tr>
152
- <?php endforeach; ?>
153
  </tbody>
154
  </table>
155
- <?php endif;?>
156
 
157
- <!-- Banned Products -->
158
 
159
- <?php if( ! empty( $banned_products ) ) : ?>
160
  <h3><?php _e( 'Banned', 'yith-plugin-fw' ) ?></h3>
161
  <table class="expired-table">
162
  <thead>
 
 
 
 
 
 
 
 
 
 
163
  <tr>
164
- <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
165
- <?php if( $this->show_extra_info ) : ?>
166
- <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
167
- <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
 
 
168
  <?php endif; ?>
169
  </tr>
170
- </thead>
171
- <tbody>
172
- <?php foreach( $banned_products as $init => $info ) : ?>
173
- <tr>
174
- <td class="product-name">
175
- <?php echo $this->display_product_name( $info['Name'] ) ?>
176
- </td>
177
- <?php if( $this->show_extra_info ) : ?>
178
- <td class="product-licence-email"><?php echo $info['licence']['email'] ?></td>
179
- <td class="product-licence-key"><?php echo $info['licence']['licence_key'] ?></td>
180
- <?php endif; ?>
181
- </tr>
182
- <?php endforeach; ?>
183
  </tbody>
184
  </table>
185
- <?php endif;?>
186
 
187
  <!-- Expired Products -->
188
 
189
- <?php if( ! empty( $expired_products ) ) : ?>
190
  <h3><?php _e( 'Expired', 'yith-plugin-fw' ) ?></h3>
191
  <table class="expired-table">
192
  <thead>
193
- <tr>
194
- <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
195
 
196
- <?php if( $this->show_extra_info ) : ?>
197
- <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
198
- <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
199
- <?php endif; ?>
200
 
201
- <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
202
 
203
- <?php if( $this->show_renew_button ) : ?>
204
- <th><?php _e( 'Renew', 'yith-plugin-fw' ) ?></th>
205
- <?php endif; ?>
206
- </tr>
207
  </thead>
208
  <tbody>
209
- <?php foreach( $expired_products as $init => $info ) : ?>
210
- <tr>
211
- <td class="product-name">
212
- <?php echo $this->display_product_name( $info['Name'] ) ?>
213
- </td>
214
 
215
- <?php if( $this->show_extra_info ) : ?>
216
- <td class="product-licence-email"><?php echo $info['licence']['email'] ?></td>
217
- <td class="product-licence-key"><?php echo $info['licence']['licence_key'] ?></td>
218
- <?php endif; ?>
219
 
220
- <td class="product-licence-expires"><?php echo date("F j, Y", $info['licence']['licence_expires'] ); ?></td>
221
 
222
- <?php if( $this->show_renew_button ) : ?>
223
- <td>
224
- <a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info['licence']['licence_key'] ) ?>" target="_blank">
225
- <?php if( $info['licence']['is_membership'] ) : ?>
226
- <?php _e( 'Order again', 'yith-plugin-fw' ) ?>
227
- <?php else : ?>
228
- <?php __( 'Renew license', 'yith-plugin-fw' ) ?>
229
- <?php endif; ?>
230
- </a>
231
- </td>
232
- <?php endif; ?>
233
- </tr>
234
- <?php endforeach; ?>
235
  </tbody>
236
  </table>
237
- <?php endif;?>
238
  </div>
8
  * http://www.gnu.org/licenses/gpl-3.0.txt
9
  */
10
 
11
+ $to_active_products = $this->get_to_active_products();
12
+ $activated_products = $this->get_activated_products();
13
+ $no_active_products = $this->get_no_active_licence_key();
14
+ $expired_products = isset( $no_active_products[ '106' ] ) ? $no_active_products[ '106' ] : array();
15
+ $banned_products = isset( $no_active_products[ '107' ] ) ? $no_active_products[ '107' ] : array();
16
+ $notice = isset( $notice ) ? $notice : '';
17
+ $notice_class = !empty( $notice ) ? 'notice notice-success visible' : 'notice notice-success';
18
+ $to_activate_check = $this instanceof YIT_Theme_Licence ? 1 : 2;
19
+ $num_members_products_activate = $this->get_number_of_membership_products();
20
+ $debug = isset( $_REQUEST[ 'yith-license-debug' ] ) ? $_REQUEST[ 'yith-license-debug' ] : false;
21
  ?>
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>
38
 
39
  <!-- To Active Products -->
40
 
41
+ <?php if ( !empty( $to_active_products ) ) : ?>
42
  <h3 id="products-to-active" class="to-active">
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' ) ?>">
49
+ <?php if ( $debug ): ?>
50
+ <input type="hidden" name="debug" value="<?php echo $debug ?>"/>
51
+ <?php endif ?>
52
  <table class="to-active-table">
53
  <tbody>
54
+ <tr class="product-row">
55
+ <td class="product-name">
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"/>
63
+ </td>
64
+ <td class="activate-button">
65
+ <input type="submit" name="submit" value="<?php _e( 'Activate', 'yith-plugin-fw' ) ?>" class="button-licence licence-activation" data-formid="<?php echo $info[ 'product_id' ] ?>"/>
66
+ </td>
67
+ </tr>
68
+ <input type="hidden" name="action" value="yith_activate-<?php echo $this->get_product_type(); ?>"/>
69
+ <input type="hidden" name="product_init" value="<?php echo $init ?>"/>
70
  </tbody>
71
  </table>
72
  <div class="message-wrapper">
79
 
80
  <!-- Activated Products -->
81
 
82
+ <?php if ( !empty( $activated_products ) ) : ?>
83
  <h3 id="activated-products">
84
  <?php _e( 'Activated', 'yith-plugin-fw' ) ?>
85
  <span class="spinner"></span>
86
  </h3>
87
  <table class="activated-table">
88
  <thead>
89
+ <tr>
90
+ <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
91
+ <?php if ( $this->show_extra_info ) : ?>
92
+ <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
93
+ <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
94
+ <?php endif; ?>
95
+
96
+ <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
97
+
98
+ <?php if ( $this->show_extra_info ) : ?>
99
+ <th><?php _e( 'Remaining', 'yith-plugin-fw' ) ?></th>
100
+ <?php if ( $num_members_products_activate ) : ?>
101
+ <th><?php _e( 'Club Subscription', 'yith-plugin-fw' ) ?></th>
102
  <?php endif; ?>
103
+ <?php endif; ?>
104
 
105
+ <th><?php _e( 'License Actions', 'yith-plugin-fw' ) ?></th>
106
+ </tr>
 
 
 
 
 
 
 
 
 
107
  </thead>
108
  <tbody>
109
+ <?php foreach ( $activated_products as $init => $info ) : ?>
110
+ <tr>
111
+ <td class="product-name">
112
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
113
+ </td>
114
+
115
+ <?php if ( $this->show_extra_info ) : ?>
116
+ <td class="product-licence-email">
117
+ <?php echo $info[ 'licence' ][ 'email' ] ?>
118
  </td>
119
+ <td class="product-licence-key">
120
+ <?php echo $info[ 'licence' ][ 'licence_key' ] ?>
121
+ </td>
122
+ <?php endif; ?>
123
 
124
+ <td class="product-licence-expires">
125
+ <?php echo date( "F j, Y", $info[ 'licence' ][ 'licence_expires' ] ); ?>
126
+ </td>
 
 
 
 
 
127
 
128
+ <?php if ( $this->show_extra_info ) : ?>
129
+ <td class="product-licence-remaining">
130
+ <?php printf( __( '%1s out of %2s', 'yith-plugin-fw' ), $info[ 'licence' ][ 'activation_remaining' ], $info[ 'licence' ][ 'activation_limit' ] ); ?>
131
  </td>
132
+ <?php if ( $num_members_products_activate ) : ?>
133
+ <td class="product-licence-membership">
134
+ <span class="dashicons dashicons-<?php echo $info[ 'licence' ][ 'is_membership' ] ? 'yes' : 'no-alt' ?>"></span>
 
135
  </td>
 
 
 
 
 
136
  <?php endif; ?>
137
+ <?php endif; ?>
138
 
139
+ <td>
140
+ <a class="button-licence licence-deactive"
141
+ href="#"
142
+ data-licence-email="<?php echo $info[ 'licence' ][ 'email' ] ?>"
143
+ data-licence-key="<?php echo $info[ 'licence' ][ 'licence_key' ] ?>"
144
+ data-product-init="<?php echo $init ?>"
145
+ data-action="yith_deactivate-<?php echo $this->get_product_type(); ?>">
146
+ <?php _e( 'Deactivate', 'yith-plugin-fw' ) ?>
147
+ </a>
148
+
149
+ <?php if ( !$info[ 'licence' ][ 'is_membership' ] && $this->show_renew_button ) : ?>
150
+ <a class="button-licence licence-renew" href="<?php echo esc_url( $this->get_renewing_uri( $info[ 'licence' ][ 'licence_key' ] ) ) ?>" target="_blank">
151
+ <?php _e( 'Renew', 'yith-plugin-fw' ) ?>
152
  </a>
153
+ <?php endif; ?>
154
+ </td>
155
+ </tr>
156
+ <?php endforeach; ?>
 
 
 
 
 
157
  </tbody>
158
  </table>
159
+ <?php endif; ?>
160
 
161
+ <!-- Banned Products -->
162
 
163
+ <?php if ( !empty( $banned_products ) ) : ?>
164
  <h3><?php _e( 'Banned', 'yith-plugin-fw' ) ?></h3>
165
  <table class="expired-table">
166
  <thead>
167
+ <tr>
168
+ <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
169
+ <?php if ( $this->show_extra_info ) : ?>
170
+ <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
171
+ <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
172
+ <?php endif; ?>
173
+ </tr>
174
+ </thead>
175
+ <tbody>
176
+ <?php foreach ( $banned_products as $init => $info ) : ?>
177
  <tr>
178
+ <td class="product-name">
179
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
180
+ </td>
181
+ <?php if ( $this->show_extra_info ) : ?>
182
+ <td class="product-licence-email"><?php echo $info[ 'licence' ][ 'email' ] ?></td>
183
+ <td class="product-licence-key"><?php echo $info[ 'licence' ][ 'licence_key' ] ?></td>
184
  <?php endif; ?>
185
  </tr>
186
+ <?php endforeach; ?>
 
 
 
 
 
 
 
 
 
 
 
 
187
  </tbody>
188
  </table>
189
+ <?php endif; ?>
190
 
191
  <!-- Expired Products -->
192
 
193
+ <?php if ( !empty( $expired_products ) ) : ?>
194
  <h3><?php _e( 'Expired', 'yith-plugin-fw' ) ?></h3>
195
  <table class="expired-table">
196
  <thead>
197
+ <tr>
198
+ <th><?php _e( 'Product Name', 'yith-plugin-fw' ) ?></th>
199
 
200
+ <?php if ( $this->show_extra_info ) : ?>
201
+ <th><?php _e( 'Email', 'yith-plugin-fw' ) ?></th>
202
+ <th><?php _e( 'License Key', 'yith-plugin-fw' ) ?></th>
203
+ <?php endif; ?>
204
 
205
+ <th><?php _e( 'Expires', 'yith-plugin-fw' ) ?></th>
206
 
207
+ <?php if ( $this->show_renew_button ) : ?>
208
+ <th><?php _e( 'Renew', 'yith-plugin-fw' ) ?></th>
209
+ <?php endif; ?>
210
+ </tr>
211
  </thead>
212
  <tbody>
213
+ <?php foreach ( $expired_products as $init => $info ) : ?>
214
+ <tr>
215
+ <td class="product-name">
216
+ <?php echo $this->display_product_name( $info[ 'Name' ] ) ?>
217
+ </td>
218
 
219
+ <?php if ( $this->show_extra_info ) : ?>
220
+ <td class="product-licence-email"><?php echo $info[ 'licence' ][ 'email' ] ?></td>
221
+ <td class="product-licence-key"><?php echo $info[ 'licence' ][ 'licence_key' ] ?></td>
222
+ <?php endif; ?>
223
 
224
+ <td class="product-licence-expires"><?php echo date( "F j, Y", $info[ 'licence' ][ 'licence_expires' ] ); ?></td>
225
 
226
+ <?php if ( $this->show_renew_button ) : ?>
227
+ <td>
228
+ <a class="button-licence licence-renew" href="<?php echo $this->get_renewing_uri( $info[ 'licence' ][ 'licence_key' ] ) ?>" target="_blank">
229
+ <?php if ( $info[ 'licence' ][ 'is_membership' ] ) : ?>
230
+ <?php _e( 'Order again', 'yith-plugin-fw' ) ?>
231
+ <?php else : ?>
232
+ <?php __( 'Renew license', 'yith-plugin-fw' ) ?>
233
+ <?php endif; ?>
234
+ </a>
235
+ </td>
236
+ <?php endif; ?>
237
+ </tr>
238
+ <?php endforeach; ?>
239
  </tbody>
240
  </table>
241
+ <?php endif; ?>
242
  </div>
plugin-fw/templates/fields/ajax-posts.php CHANGED
@@ -16,8 +16,7 @@
16
 
17
  !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
18
 
19
- wp_enqueue_script( 'yith-enhanced-select' );
20
- wp_enqueue_style( 'woocommerce_admin_styles' );
21
 
22
  $default_field = array(
23
  'id' => '',
16
 
17
  !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
18
 
19
+ yith_plugin_fw_enqueue_enhanced_select();
 
20
 
21
  $default_field = array(
22
  'id' => '',
plugin-fw/templates/fields/ajax-terms.php CHANGED
@@ -16,8 +16,7 @@
16
 
17
  !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
18
 
19
- wp_enqueue_script( 'yith-enhanced-select' );
20
- wp_enqueue_style( 'woocommerce_admin_styles' );
21
 
22
  $default_field = array(
23
  'id' => '',
16
 
17
  !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
18
 
19
+ yith_plugin_fw_enqueue_enhanced_select();
 
20
 
21
  $default_field = array(
22
  'id' => '',
plugin-fw/templates/fields/resources/select2-wc-2.6.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin 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
+ * @var array $args
11
+ * @var string $custom_attributes
12
+ *
13
+ */
14
+
15
+ !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
16
+ ?>
17
+
18
+ <input
19
+ type="hidden"
20
+ id="<?php echo $args[ 'id' ] ?>"
21
+ class="<?php echo $args[ 'class' ] ?>"
22
+ name="<?php echo $args[ 'name' ] ?>"
23
+ data-placeholder="<?php echo $args[ 'data-placeholder' ] ?>"
24
+ data-allow_clear="<?php echo $args[ 'data-allow_clear' ] ?>"
25
+ data-selected="<?php echo is_array( $args[ 'data-selected' ] ) ? esc_attr( json_encode( $args[ 'data-selected' ] ) ) : esc_attr( $args[ 'data-selected' ] ) ?>"
26
+ data-multiple="<?php echo $args[ 'data-multiple' ] === true ? 'true' : 'false' ?>"
27
+ <?php echo( !empty( $args[ 'data-action' ] ) ? 'data-action="' . $args[ 'data-action' ] . '"' : '' ) ?>
28
+ value="<?php echo $args[ 'value' ] ?>"
29
+ style="<?php echo $args[ 'style' ] ?>"
30
+ <?php echo $custom_attributes ?>
31
+ />
plugin-fw/templates/fields/resources/select2.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin 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
+ * @var array $args
11
+ * @var string $custom_attributes
12
+ */
13
+
14
+ !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
15
+ ?>
16
+
17
+ <select
18
+ id="<?php echo $args[ 'id' ] ?>"
19
+ class="<?php echo $args[ 'class' ] ?>"
20
+ name="<?php echo $args[ 'name' ] ?>"
21
+ data-placeholder="<?php echo $args[ 'data-placeholder' ] ?>"
22
+ data-allow_clear="<?php echo $args[ 'data-allow_clear' ] ?>"
23
+ <?php echo !empty( $args[ 'data-action' ] ) ? 'data-action="' . $args[ 'data-action' ] . '"' : ''; ?>
24
+ <?php echo !empty( $args[ 'data-multiple' ] ) ? 'multiple="multiple"' : ''; ?>
25
+ style="<?php echo $args[ 'style' ] ?>"
26
+ <?php echo $custom_attributes ?>
27
+ >
28
+
29
+ <?php if ( !empty( $args[ 'value' ] ) ) {
30
+ $values = $args[ 'value' ];
31
+
32
+ if ( !is_array( $values ) ) {
33
+ $values = explode( ',', $values );
34
+ }
35
+
36
+ foreach ( $values as $value ): ?>
37
+ <option value="<?php echo $value; ?>" <?php selected( true, true, true ) ?> >
38
+ <?php echo $args[ 'data-selected' ][ $value ]; ?>
39
+ </option>
40
+ <?php endforeach;
41
+ }
42
+ ?>
43
+ </select>
plugin-fw/templates/fields/select-images.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file belongs to the YIT Plugin 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
+ * @var array $field
11
+ */
12
+
13
+ !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
14
+
15
+ extract( $field );
16
+
17
+ $class = isset( $class ) ? $class : 'yith-plugin-fw-select-images';
18
+ $wrapper_id = $id . '-wrapper';
19
+ ?>
20
+ <div id="<?php echo $wrapper_id ?>" class="yith-plugin-fw-select-images__wrapper">
21
+
22
+ <select id="<?php echo $id ?>"
23
+ name="<?php echo $name ?>"
24
+ class="<?php echo $class ?>"
25
+ style="display: none"
26
+ <?php echo $custom_attributes ?>
27
+ <?php if ( isset( $data ) ) echo yith_plugin_fw_html_data_to_string( $data ); ?>>
28
+ <?php foreach ( $options as $key => $item ) :
29
+ $label = !empty( $item[ 'label' ] ) ? $item[ 'label' ] : $key;
30
+ ?>
31
+ <option value="<?php echo esc_attr( $key ) ?>" <?php selected( $key, $value ); ?> ><?php echo $label ?></option>
32
+ <?php endforeach; ?>
33
+ </select>
34
+
35
+ <ul class="yith-plugin-fw-select-images__list">
36
+ <?php foreach ( $options as $key => $item ) :
37
+ $label = !empty( $item[ 'label' ] ) ? $item[ 'label' ] : $key;
38
+ $image = !empty( $item[ 'image' ] ) ? $item[ 'image' ] : '';
39
+ if ( $image ) :
40
+ $selected_class = 'yith-plugin-fw-select-images__item--selected';
41
+ $current_class = $key === $value ? $selected_class : '';
42
+ ?>
43
+ <li class="yith-plugin-fw-select-images__item <?php echo $current_class ?>" data-key="<?php echo $key ?>">
44
+ <?php if ( $label ) : ?>
45
+ <div class="yith-plugin-fw-select-images__item__label"><?php echo $label ?></div>
46
+ <?php endif; ?>
47
+ <img src="<?php echo $image ?>">
48
+ </li>
49
+ <?php endif; ?>
50
+ <?php endforeach; ?>
51
+ </ul>
52
+ </div>
plugin-fw/templates/metaboxes/types/icon-list.php CHANGED
@@ -11,7 +11,7 @@
11
  /**
12
  * Awesome Icon Admin View
13
  *
14
- * @package Yithemes
15
  * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
16
  * @since 1.0.0
17
  */
11
  /**
12
  * Awesome Icon Admin View
13
  *
14
+ * @package YITH
15
  * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
16
  * @since 1.0.0
17
  */
plugin-fw/templates/panel/panel-field-container.php CHANGED
@@ -11,7 +11,7 @@
11
  /**
12
  * Field Container for YIT Panel
13
  *
14
- * @package Yithemes
15
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
16
  * @since 3.0.0
17
  */
11
  /**
12
  * Field Container for YIT Panel
13
  *
14
+ * @package YITH
15
  * @author Leanza Francesco <leanzafrancesco@gmail.com>
16
  * @since 3.0.0
17
  */
plugin-fw/templates/panel/woocommerce/woocommerce-upload.php CHANGED
@@ -11,7 +11,7 @@
11
  /**
12
  * Upload Plugin Admin View
13
  *
14
- * @package Yithemes
15
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
16
  * @since 1.0.0
17
  */
11
  /**
12
  * Upload Plugin Admin View
13
  *
14
+ * @package YITH
15
  * @author Emanuela Castorina <emanuela.castorina@yithemes.it>
16
  * @since 1.0.0
17
  */
plugin-fw/yit-functions.php CHANGED
@@ -187,8 +187,8 @@ if ( !function_exists( 'yit_plugin_string' ) ) {
187
  *
188
  * @param string $before What there is before the main string
189
  * @param string $string The main string. If it is empty or null, the functions return null.
190
- * @param string $after What there is after the main string
191
- * @param bool $echo If echo or only return it
192
  *
193
  * @return string The complete string, if the main string is not empty or null
194
  * @since 2.0.0
@@ -349,7 +349,7 @@ if ( !function_exists( 'yit_get_post_meta' ) ) {
349
  *
350
  * This function retrieve the value of a metabox attached to a post. It return either a single value or an array.
351
  *
352
- * @param int $id Post ID.
353
  * @param string $meta The meta key to retrieve.
354
  *
355
  * @return mixed Single value or array
@@ -380,8 +380,8 @@ if ( !function_exists( 'yit_string' ) ) {
380
  *
381
  * @param string $before What there is before the main string
382
  * @param string $string The main string. If it is empty or null, the functions return null.
383
- * @param string $after What there is after the main string
384
- * @param bool $echo If echo or only return it
385
  *
386
  * @return string The complete string, if the main string is not empty or null
387
  * @since 2.0.0
@@ -450,7 +450,7 @@ if ( !function_exists( 'yit_pagination' ) ) {
450
  for ( $i = 1; $i <= $pages; $i++ ) {
451
  if ( 1 != $pages && ( !( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) {
452
  $class = ( $paged == $i ) ? " class='selected'" : '';
453
- $html .= "<a href='" . get_pagenum_link( $i ) . "'$class >$i</a>";
454
  }
455
  }
456
 
@@ -1051,7 +1051,7 @@ if ( !function_exists( 'yith_plugin_fw_html_data_to_string' ) ) {
1051
  if ( is_array( $data ) ) {
1052
  foreach ( $data as $key => $value ) {
1053
  $current_value = !is_array( $value ) ? $value : implode( ',', $value );
1054
- $html_data .= " data-$key='$current_value'";
1055
  }
1056
  $html_data .= ' ';
1057
  }
@@ -1073,3 +1073,91 @@ if ( !function_exists( 'yith_plugin_fw_is_true' ) ) {
1073
  return true === $value || 1 === $value || '1' === $value || 'yes' === $value;
1074
  }
1075
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  *
188
  * @param string $before What there is before the main string
189
  * @param string $string The main string. If it is empty or null, the functions return null.
190
+ * @param string $after What there is after the main string
191
+ * @param bool $echo If echo or only return it
192
  *
193
  * @return string The complete string, if the main string is not empty or null
194
  * @since 2.0.0
349
  *
350
  * This function retrieve the value of a metabox attached to a post. It return either a single value or an array.
351
  *
352
+ * @param int $id Post ID.
353
  * @param string $meta The meta key to retrieve.
354
  *
355
  * @return mixed Single value or array
380
  *
381
  * @param string $before What there is before the main string
382
  * @param string $string The main string. If it is empty or null, the functions return null.
383
+ * @param string $after What there is after the main string
384
+ * @param bool $echo If echo or only return it
385
  *
386
  * @return string The complete string, if the main string is not empty or null
387
  * @since 2.0.0
450
  for ( $i = 1; $i <= $pages; $i++ ) {
451
  if ( 1 != $pages && ( !( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) {
452
  $class = ( $paged == $i ) ? " class='selected'" : '';
453
+ $html .= "<a href='" . get_pagenum_link( $i ) . "'$class >$i</a>";
454
  }
455
  }
456
 
1051
  if ( is_array( $data ) ) {
1052
  foreach ( $data as $key => $value ) {
1053
  $current_value = !is_array( $value ) ? $value : implode( ',', $value );
1054
+ $html_data .= " data-$key='$current_value'";
1055
  }
1056
  $html_data .= ' ';
1057
  }
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' );
1081
+ $select2_style_to_enqueue = function_exists( 'WC' ) ? 'woocommerce_admin_styles' : 'yith-select2-no-wc';
1082
+ wp_enqueue_style( $select2_style_to_enqueue );
1083
+ }
1084
+ }
1085
+
1086
+ if ( !function_exists( 'yit_add_select2_fields' ) ) {
1087
+ /**
1088
+ * Add select 2
1089
+ *
1090
+ * @param array $args
1091
+ */
1092
+ function yit_add_select2_fields( $args = array() ) {
1093
+ $default = array(
1094
+ 'type' => 'hidden',
1095
+ 'class' => '',
1096
+ 'id' => '',
1097
+ 'name' => '',
1098
+ 'data-placeholder' => '',
1099
+ 'data-allow_clear' => false,
1100
+ 'data-selected' => '',
1101
+ 'data-multiple' => false,
1102
+ 'data-action' => '',
1103
+ 'value' => '',
1104
+ 'style' => '',
1105
+ 'custom-attributes' => array()
1106
+ );
1107
+
1108
+ $args = wp_parse_args( $args, $default );
1109
+
1110
+ $custom_attributes = array();
1111
+ foreach ( $args[ 'custom-attributes' ] as $attribute => $attribute_value ) {
1112
+ $custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
1113
+ }
1114
+ $custom_attributes = implode( ' ', $custom_attributes );
1115
+
1116
+ if ( !function_exists( 'WC' ) || version_compare( WC()->version, '2.7.0', '>=' ) ) {
1117
+ if ( $args[ 'data-multiple' ] === true && substr( $args[ 'name' ], -2 ) != '[]' ) {
1118
+ $args[ 'name' ] = $args[ 'name' ] . '[]';
1119
+ }
1120
+ $select2_template_name = 'select2.php';
1121
+
1122
+ } else {
1123
+ if ( $args[ 'data-multiple' ] === false && is_array( $args[ 'data-selected' ] ) ) {
1124
+ $args[ 'data-selected' ] = current( $args[ 'data-selected' ] );
1125
+ }
1126
+ $select2_template_name = 'select2-wc-2.6.php';
1127
+ }
1128
+
1129
+ $template = YIT_CORE_PLUGIN_TEMPLATE_PATH . '/fields/resources/' . $select2_template_name;
1130
+ if ( file_exists( $template ) ) {
1131
+ include $template;
1132
+ }
1133
+ }
1134
+ }
1135
+
1136
+ if ( !function_exists( 'yith_plugin_fw_get_version' ) ) {
1137
+ function yith_plugin_fw_get_version() {
1138
+ $plugin_fw_data = get_file_data( trailingslashit( YIT_CORE_PLUGIN_PATH ) . 'init.php', array( 'Version' => 'Version' ) );
1139
+ return $plugin_fw_data[ 'Version' ];
1140
+ }
1141
+ }
1142
+
1143
+ if ( !function_exists( 'yith_get_premium_support_url' ) ) {
1144
+ //@TODO: To Remove
1145
+ /**
1146
+ * Return the url for My Account > Support dashboard
1147
+ *
1148
+ * @return string The complete string, if the main string is not empty or null
1149
+ * @since 2.0.0
1150
+ */
1151
+ function yith_get_premium_support_url() {
1152
+ return 'https://yithemes.com/my-account/support/dashboard/';
1153
+ }
1154
+ }
1155
+
1156
+ if ( !function_exists( 'yith_plugin_fw_is_panel' ) ) {
1157
+ function yith_plugin_fw_is_panel() {
1158
+ $panel_screen_id = 'yith-plugins_page';
1159
+ $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : null;
1160
+
1161
+ return $screen instanceof WP_Screen && strpos( $screen->id, $panel_screen_id ) !== false;
1162
+ }
1163
+ }
plugin-fw/yit-plugin.php CHANGED
@@ -39,6 +39,7 @@ 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
 
43
  // load from theme folder...
44
  load_textdomain( 'yith-plugin-fw', get_template_directory() . '/core/plugin-fw/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' )
@@ -46,6 +47,154 @@ load_textdomain( 'yith-plugin-fw', get_template_directory() . '/core/plugin-fw/y
46
  // ...or from plugin folder
47
  || load_textdomain( 'yith-plugin-fw', dirname(__FILE__) . '/languages/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' );
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  /* === WooCommerce Update Message === */
50
 
51
  /*if( apply_filters( 'yit_fw_wc_update_message_hook', true )
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' )
47
  // ...or from plugin folder
48
  || load_textdomain( 'yith-plugin-fw', dirname(__FILE__) . '/languages/yith-plugin-fw-' . apply_filters( 'plugin_locale', get_locale(), 'yith-plugin-fw' ) . '.mo' );
49
 
50
+ add_filter( 'plugin_row_meta', 'yit_plugin_fw_row_meta', 20, 4 );
51
+
52
+ if( ! function_exists( 'yit_plugin_fw_row_meta' ) ){
53
+ /**
54
+ * Hack the plugin author name from YITHEMES to YITH
55
+ *
56
+ * @param $plugin_meta
57
+ * @param $plugin_file
58
+ * @param $plugin_data
59
+ * @param $status
60
+ *
61
+ * @since 3.0.17
62
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
63
+ *
64
+ * @return null|string|string[] $plugin row meta array
65
+ */
66
+ function yit_plugin_fw_row_meta( $plugin_meta, $plugin_file, $plugin_data, $status ){
67
+ $base_uri = array(
68
+ 'live_demo' => 'https://plugins.yithemes.com/',
69
+ 'documentation' => 'https://docs.yithemes.com/',
70
+ 'premium_support' => 'https://yithemes.com/my-account/support/dashboard/',
71
+ 'free_support' => 'https://wordpress.org/support/plugin/',
72
+ 'premium_version' => 'https://yithemes.com/themes/plugins/'
73
+ );
74
+
75
+ $default = array(
76
+ 'live_demo' => array(
77
+ 'label' => _x( 'Live Demo', 'Plugin Row Meta', 'yith-plugin-fw' ),
78
+ 'icon' => 'dashicons dashicons-laptop',
79
+ ),
80
+
81
+ 'documentation' => array(
82
+ 'label' => _x( 'Documentation', 'Plugin Row Meta', 'yith-plugin-fw' ),
83
+ 'icon' => 'dashicons dashicons-search',
84
+ ),
85
+
86
+ 'support' => array(
87
+ 'label' => _x( 'Support', 'Plugin Row Meta', 'yith-plugin-fw' ),
88
+ 'icon' => 'dashicons dashicons-admin-users',
89
+ ),
90
+
91
+ 'premium_version' => array(
92
+ 'label' => _x( 'Premium version', 'Plugin Row Meta', 'yith-plugin-fw' ),
93
+ 'icon' => 'dashicons dashicons-cart',
94
+ )
95
+ );
96
+
97
+ $to_show = array( 'live_demo', 'documentation', 'support', 'premium_version' );
98
+ $new_row_meta_args = apply_filters( 'yith_show_plugin_row_meta', array(
99
+ 'to_show' => $to_show,
100
+ 'slug' => ''
101
+ ), $plugin_meta, $plugin_file, $plugin_data, $status );
102
+ $fields = isset( $new_row_meta_args['to_show'] ) ? $new_row_meta_args['to_show'] : array();
103
+ $slug = isset( $new_row_meta_args['slug'] ) ? $new_row_meta_args['slug'] : '';
104
+ $is_premium = isset( $new_row_meta_args['is_premium'] ) ? $new_row_meta_args['is_premium'] : '';
105
+
106
+ if( true == $is_premium ){
107
+ $to_remove = array_search( 'premium_version', $fields );
108
+
109
+ if( $to_remove !== false ){
110
+ unset( $fields[ $to_remove ] );
111
+ }
112
+ }
113
+
114
+ foreach( $fields as $field ){
115
+ $row_meta = isset( $new_row_meta_args[ $field ] ) ? wp_parse_args( $new_row_meta_args[ $field ], $default[ $field ] ) : $default[ $field ];
116
+ $url = $icon = $label = '';
117
+
118
+ // Check for Label
119
+ if( isset( $row_meta['label'] ) ){
120
+ $label = $row_meta['label'];
121
+ }
122
+
123
+ // Check for Icon
124
+ if( isset( $row_meta['icon'] ) ){
125
+ $icon = $row_meta['icon'];
126
+ }
127
+
128
+ // Check for URL
129
+ if( isset( $row_meta['url'] ) ){
130
+ $url = $row_meta['url'];
131
+ }
132
+
133
+ else{
134
+ if( ! empty( $slug ) ){
135
+ if( 'support' == $field ){
136
+ $support_field = $is_premium === true ? 'premium_support': 'free_support';
137
+ if( ! empty( $base_uri[ $support_field ] ) ){
138
+ $url = $base_uri[ $support_field ];
139
+ }
140
+
141
+ if( 'free_support' == $support_field ){
142
+ $url = $url . $slug;
143
+ }
144
+ }
145
+
146
+ else{
147
+ if( isset( $base_uri[ $field ] ) ) {
148
+ $url = apply_filters( "yith_plugin_row_meta_{$field}_url", $base_uri[ $field ] . $slug, $field, $slug, $base_uri );
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ //Add YITH Refer ID
155
+ if( ! empty( $url ) && defined( 'YITH_REFER_ID' ) ){
156
+ $url = add_query_arg( array( 'refer_id', YITH_REFER_ID ), $url );
157
+ }
158
+
159
+ if( ! empty( $url ) && ! empty( $label ) ){
160
+ $plugin_meta[] = sprintf( '<a href="%s" target="_blank"><span class="%s"></span>%s</a>', $url, $icon, $label );
161
+ }
162
+ }
163
+
164
+ //Author Name Hack
165
+ $plugin_meta = preg_replace('/>YITHEMES</', '>YITH<', $plugin_meta);
166
+
167
+ return $plugin_meta;
168
+ }
169
+ }
170
+
171
+ if( ! function_exists( 'yith_add_action_links' ) ){
172
+ /**
173
+ * Action Links
174
+ *
175
+ * add the action links to plugin admin page
176
+ *
177
+ * @param $links | links plugin array
178
+ *
179
+ * @return mixed Array
180
+ * @since 1.6.5
181
+ * @author Andrea Grillo <andrea.grillo@yithemes.com>
182
+ * @return mixed
183
+ * @use plugin_action_links_{$plugin_file_name}
184
+ */
185
+ function yith_add_action_links( $links, $panel_page = '', $is_premium = false ) {
186
+ if( ! empty( $panel_page ) ){
187
+ $links[] = sprintf( '<a href="%s">%s</a>', admin_url( "admin.php?page={$panel_page}" ), _x( 'Settings', 'Action links', 'yith-plugin-fw' ) );
188
+ }
189
+
190
+ if( $is_premium && class_exists( 'YIT_Plugin_Licence' ) ){
191
+ $links[] = sprintf( '<a href="%s">%s</a>', YIT_Plugin_Licence::get_license_activation_url(),__( 'License', 'yith-plugin-fw' ) );
192
+ }
193
+
194
+ return $links;
195
+ }
196
+ }
197
+
198
  /* === WooCommerce Update Message === */
199
 
200
  /*if( apply_filters( 'yit_fw_wc_update_message_hook', true )
templates/single-product/product-thumbnails-magnifier.php CHANGED
@@ -40,6 +40,10 @@ if ( $attachment_ids ) {
40
  $classes[] = 'last';
41
  }
42
 
 
 
 
 
43
  $image = wp_get_attachment_image( $attachment_id, apply_filters( 'single_product_small_thumbnail_size', 'shop_thumbnail' ) );
44
  $image_class = esc_attr( implode( ' ', $classes ) );
45
  $image_title = esc_attr( get_the_title( $attachment_id ) );
40
  $classes[] = 'last';
41
  }
42
 
43
+ if( $loop == 0 && defined( 'YWCFAV_PREMIUM') ){
44
+ $classes[] = 'ywfav_magnifier_thumbnail';
45
+ }
46
+
47
  $image = wp_get_attachment_image( $attachment_id, apply_filters( 'single_product_small_thumbnail_size', 'shop_thumbnail' ) );
48
  $image_class = esc_attr( implode( ' ', $classes ) );
49
  $image_title = esc_attr( get_the_title( $attachment_id ) );